From b7199d2a17e27d2d8a18b2a8e29259c59e2eb490 Mon Sep 17 00:00:00 2001 From: Bart Riemens Date: Fri, 18 Apr 2025 21:39:46 +0200 Subject: [PATCH] Allergies --- .pnp.cjs | 7522 ++++++++ .prettierrc.cjs | 2 +- typescript/allergies/.exercism/config.json | 31 + typescript/allergies/.exercism/metadata.json | 1 + typescript/allergies/.pnp.cjs | 16683 +++++++++++++++++ typescript/allergies/.pnp.loader.mjs | 2126 +++ typescript/allergies/.vscode/extensions.json | 7 + typescript/allergies/.vscode/settings.json | 7 + typescript/allergies/.yarn/install-state.gz | Bin 0 -> 640778 bytes typescript/allergies/.yarnrc.yml | 3 + typescript/allergies/HELP.md | 50 + typescript/allergies/README.md | 47 + typescript/allergies/allergies.test.ts | 115 + typescript/allergies/allergies.ts | 26 + typescript/allergies/babel.config.cjs | 5 + typescript/allergies/eslint.config.mjs | 26 + typescript/allergies/jest.config.cjs | 22 + typescript/allergies/package.json | 38 + typescript/allergies/test-runner.mjs | 111 + typescript/allergies/tsconfig.json | 38 + typescript/allergies/yarn.lock | 6625 +++++++ 21 files changed, 33484 insertions(+), 1 deletion(-) create mode 100755 .pnp.cjs create mode 100644 typescript/allergies/.exercism/config.json create mode 100644 typescript/allergies/.exercism/metadata.json create mode 100755 typescript/allergies/.pnp.cjs create mode 100644 typescript/allergies/.pnp.loader.mjs create mode 100644 typescript/allergies/.vscode/extensions.json create mode 100644 typescript/allergies/.vscode/settings.json create mode 100644 typescript/allergies/.yarn/install-state.gz create mode 100644 typescript/allergies/.yarnrc.yml create mode 100644 typescript/allergies/HELP.md create mode 100644 typescript/allergies/README.md create mode 100644 typescript/allergies/allergies.test.ts create mode 100644 typescript/allergies/allergies.ts create mode 100644 typescript/allergies/babel.config.cjs create mode 100644 typescript/allergies/eslint.config.mjs create mode 100644 typescript/allergies/jest.config.cjs create mode 100644 typescript/allergies/package.json create mode 100644 typescript/allergies/test-runner.mjs create mode 100644 typescript/allergies/tsconfig.json create mode 100644 typescript/allergies/yarn.lock diff --git a/.pnp.cjs b/.pnp.cjs new file mode 100755 index 0000000..33db864 --- /dev/null +++ b/.pnp.cjs @@ -0,0 +1,7522 @@ +#!/usr/bin/env node +/* eslint-disable */ +// @ts-nocheck +"use strict"; + +const RAW_RUNTIME_STATE = +'{\ + "__info": [\ + "This file is automatically generated. Do not touch it, or risk",\ + "your modifications being lost."\ + ],\ + "dependencyTreeRoots": [\ + {\ + "name": "root-workspace-0b6124",\ + "reference": "workspace:."\ + }\ + ],\ + "enableTopLevelFallback": true,\ + "ignorePatternData": "(^(?:\\\\.yarn\\\\/sdks(?:\\\\/(?!\\\\.{1,2}(?:\\\\/|$))(?:(?:(?!(?:^|\\\\/)\\\\.{1,2}(?:\\\\/|$)).)*?)|$))$)",\ + "fallbackExclusionList": [\ + ["root-workspace-0b6124", ["workspace:."]]\ + ],\ + "fallbackPool": [\ + ],\ + "packageRegistryData": [\ + [null, [\ + [null, {\ + "packageLocation": "./",\ + "packageDependencies": [\ + ["prettier", "npm:3.5.3"]\ + ],\ + "linkType": "SOFT"\ + }]\ + ]],\ + ["prettier", [\ + ["npm:3.5.3", {\ + "packageLocation": "./.yarn/unplugged/prettier-npm-3.5.3-787132ce04/node_modules/prettier/",\ + "packageDependencies": [\ + ["prettier", "npm:3.5.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["root-workspace-0b6124", [\ + ["workspace:.", {\ + "packageLocation": "./",\ + "packageDependencies": [\ + ["root-workspace-0b6124", "workspace:."],\ + ["prettier", "npm:3.5.3"]\ + ],\ + "linkType": "SOFT"\ + }]\ + ]]\ + ]\ +}'; + +function $$SETUP_STATE(hydrateRuntimeState, basePath) { + return hydrateRuntimeState(JSON.parse(RAW_RUNTIME_STATE), {basePath: basePath || __dirname}); +} + +const fs = require('fs'); +const path = require('path'); +const crypto = require('crypto'); +const os = require('os'); +const events = require('events'); +const nodeUtils = require('util'); +const stream = require('stream'); +const zlib = require('zlib'); +const require$$0 = require('module'); +const StringDecoder = require('string_decoder'); +const url = require('url'); +const buffer = require('buffer'); +const readline = require('readline'); +const assert = require('assert'); + +const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e }; + +function _interopNamespace(e) { + if (e && e.__esModule) return e; + const n = Object.create(null); + if (e) { + for (const k in e) { + if (k !== 'default') { + const d = Object.getOwnPropertyDescriptor(e, k); + Object.defineProperty(n, k, d.get ? d : { + enumerable: true, + get: () => e[k] + }); + } + } + } + n.default = e; + return Object.freeze(n); +} + +const fs__default = /*#__PURE__*/_interopDefaultLegacy(fs); +const path__default = /*#__PURE__*/_interopDefaultLegacy(path); +const nodeUtils__namespace = /*#__PURE__*/_interopNamespace(nodeUtils); +const zlib__default = /*#__PURE__*/_interopDefaultLegacy(zlib); +const require$$0__default = /*#__PURE__*/_interopDefaultLegacy(require$$0); +const StringDecoder__default = /*#__PURE__*/_interopDefaultLegacy(StringDecoder); +const buffer__default = /*#__PURE__*/_interopDefaultLegacy(buffer); +const assert__default = /*#__PURE__*/_interopDefaultLegacy(assert); + +const S_IFMT = 61440; +const S_IFDIR = 16384; +const S_IFREG = 32768; +const S_IFLNK = 40960; +const SAFE_TIME = 456789e3; + +function makeError$1(code, message) { + return Object.assign(new Error(`${code}: ${message}`), { code }); +} +function EBUSY(message) { + return makeError$1(`EBUSY`, message); +} +function ENOSYS(message, reason) { + return makeError$1(`ENOSYS`, `${message}, ${reason}`); +} +function EINVAL(reason) { + return makeError$1(`EINVAL`, `invalid argument, ${reason}`); +} +function EBADF(reason) { + return makeError$1(`EBADF`, `bad file descriptor, ${reason}`); +} +function ENOENT(reason) { + return makeError$1(`ENOENT`, `no such file or directory, ${reason}`); +} +function ENOTDIR(reason) { + return makeError$1(`ENOTDIR`, `not a directory, ${reason}`); +} +function EISDIR(reason) { + return makeError$1(`EISDIR`, `illegal operation on a directory, ${reason}`); +} +function EEXIST(reason) { + return makeError$1(`EEXIST`, `file already exists, ${reason}`); +} +function EROFS(reason) { + return makeError$1(`EROFS`, `read-only filesystem, ${reason}`); +} +function ENOTEMPTY(reason) { + return makeError$1(`ENOTEMPTY`, `directory not empty, ${reason}`); +} +function EOPNOTSUPP(reason) { + return makeError$1(`EOPNOTSUPP`, `operation not supported, ${reason}`); +} +function ERR_DIR_CLOSED() { + return makeError$1(`ERR_DIR_CLOSED`, `Directory handle was closed`); +} + +const DEFAULT_MODE = S_IFREG | 420; +class StatEntry { + uid = 0; + gid = 0; + size = 0; + blksize = 0; + atimeMs = 0; + mtimeMs = 0; + ctimeMs = 0; + birthtimeMs = 0; + atime = /* @__PURE__ */ new Date(0); + mtime = /* @__PURE__ */ new Date(0); + ctime = /* @__PURE__ */ new Date(0); + birthtime = /* @__PURE__ */ new Date(0); + dev = 0; + ino = 0; + mode = DEFAULT_MODE; + nlink = 1; + rdev = 0; + blocks = 1; + isBlockDevice() { + return false; + } + isCharacterDevice() { + return false; + } + isDirectory() { + return (this.mode & S_IFMT) === S_IFDIR; + } + isFIFO() { + return false; + } + isFile() { + return (this.mode & S_IFMT) === S_IFREG; + } + isSocket() { + return false; + } + isSymbolicLink() { + return (this.mode & S_IFMT) === S_IFLNK; + } +} +class BigIntStatsEntry { + uid = BigInt(0); + gid = BigInt(0); + size = BigInt(0); + blksize = BigInt(0); + atimeMs = BigInt(0); + mtimeMs = BigInt(0); + ctimeMs = BigInt(0); + birthtimeMs = BigInt(0); + atimeNs = BigInt(0); + mtimeNs = BigInt(0); + ctimeNs = BigInt(0); + birthtimeNs = BigInt(0); + atime = /* @__PURE__ */ new Date(0); + mtime = /* @__PURE__ */ new Date(0); + ctime = /* @__PURE__ */ new Date(0); + birthtime = /* @__PURE__ */ new Date(0); + dev = BigInt(0); + ino = BigInt(0); + mode = BigInt(DEFAULT_MODE); + nlink = BigInt(1); + rdev = BigInt(0); + blocks = BigInt(1); + isBlockDevice() { + return false; + } + isCharacterDevice() { + return false; + } + isDirectory() { + return (this.mode & BigInt(S_IFMT)) === BigInt(S_IFDIR); + } + isFIFO() { + return false; + } + isFile() { + return (this.mode & BigInt(S_IFMT)) === BigInt(S_IFREG); + } + isSocket() { + return false; + } + isSymbolicLink() { + return (this.mode & BigInt(S_IFMT)) === BigInt(S_IFLNK); + } +} +function makeDefaultStats() { + return new StatEntry(); +} +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__namespace.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__namespace.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; +} + +const PortablePath = { + root: `/`, + dot: `.`, + parent: `..` +}; +const 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` +}; +const npath = Object.create(path__default.default); +const 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); + } + }; +} +const 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); +const WINDOWS_PATH_REGEXP = /^([a-zA-Z]:.*)$/; +const UNC_WINDOWS_PATH_REGEXP = /^\/\/(\.\/)?(.*)$/; +const PORTABLE_PATH_REGEXP = /^\/([a-zA-Z]:.*)$/; +const 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; +} +const toPortablePath = process.platform === `win32` ? toPortablePathWin32 : (p) => p; +const fromPortablePath = process.platform === `win32` ? fromPortablePathWin32 : (p) => p; +npath.fromPortablePath = fromPortablePath; +npath.toPortablePath = toPortablePath; +function convertPath(targetPathUtils, sourcePath) { + return targetPathUtils === npath ? fromPortablePath(sourcePath) : toPortablePath(sourcePath); +} + +const defaultTime = new Date(SAFE_TIME * 1e3); +const 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 /* 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 = 0 /* Lock */; + indexStat = null; + } + } + if (!isDestinationHardlinkedFromIndex) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + } + const tempPath = !indexStat && atomicBehavior === 1 /* Rename */ ? `${indexPath}.${Math.floor(Math.random() * 4294967296).toString(16).padStart(8, `0`)}` : null; + let tempPathCleaned = false; + prelayout.push(async () => { + if (!indexStat) { + if (atomicBehavior === 0 /* Lock */) { + await destinationFs.lockPromise(indexPath, async () => { + const content = await sourceFs.readFilePromise(source); + await destinationFs.writeFilePromise(indexPath, content); + }); + } + if (atomicBehavior === 1 /* 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(convertPath(destinationFs.pathUtils, await sourceFs.readlinkPromise(source)), destination); + }); + return true; +} + +class CustomDir { + constructor(path, nextDirent, opts = {}) { + this.path = path; + this.nextDirent = nextDirent; + this.opts = opts; + } + closed = false; + throwIfClosed() { + if (this.closed) { + throw 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; + } +} +function opendir(fakeFs, path, entries, opts) { + const nextDirent = () => { + const filename = entries.shift(); + if (typeof filename === `undefined`) + return null; + const entryPath = fakeFs.pathUtils.join(path, filename); + return Object.assign(fakeFs.statSync(entryPath), { + name: filename, + path: void 0 + }); + }; + return new CustomDir(path, nextDirent, opts); +} + +function assertStatus(current, expected) { + if (current !== expected) { + throw new Error(`Invalid StatWatcher status: expected '${expected}', got '${current}'`); + } +} +class CustomStatWatcher extends events.EventEmitter { + fakeFs; + path; + bigint; + status = "ready" /* Ready */; + changeListeners = /* @__PURE__ */ new Map(); + lastStats; + startTimeout = null; + static create(fakeFs, path, opts) { + const statWatcher = new CustomStatWatcher(fakeFs, path, opts); + statWatcher.start(); + return statWatcher; + } + constructor(fakeFs, path, { bigint = false } = {}) { + super(); + this.fakeFs = fakeFs; + this.path = path; + this.bigint = bigint; + this.lastStats = this.stat(); + } + start() { + assertStatus(this.status, "ready" /* Ready */); + this.status = "running" /* Running */; + this.startTimeout = setTimeout(() => { + this.startTimeout = null; + if (!this.fakeFs.existsSync(this.path)) { + this.emit("change" /* Change */, this.lastStats, this.lastStats); + } + }, 3); + } + stop() { + assertStatus(this.status, "running" /* Running */); + this.status = "stopped" /* Stopped */; + if (this.startTimeout !== null) { + clearTimeout(this.startTimeout); + this.startTimeout = null; + } + this.emit("stop" /* Stop */); + } + stat() { + try { + return this.fakeFs.statSync(this.path, { bigint: this.bigint }); + } catch (error) { + const statInstance = this.bigint ? new BigIntStatsEntry() : new StatEntry(); + return 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 (areStatsEqual(currentStats, previousStats)) + return; + this.lastStats = currentStats; + this.emit("change" /* Change */, currentStats, previousStats); + }, opts.interval); + return opts.persistent ? interval : interval.unref(); + } + /** + * Registers a listener and assigns it an interval. + */ + registerChangeListener(listener, opts) { + this.addListener("change" /* Change */, listener); + this.changeListeners.set(listener, this.makeInterval(opts)); + } + /** + * Unregisters the listener and clears the assigned interval. + */ + unregisterChangeListener(listener) { + this.removeListener("change" /* 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; + } +} + +const statWatchersByFakeFS = /* @__PURE__ */ new WeakMap(); +function watchFile(fakeFs, path, 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(path); + if (typeof statWatcher === `undefined`) { + statWatcher = CustomStatWatcher.create(fakeFs, path, { bigint }); + statWatchers.set(path, statWatcher); + } + statWatcher.registerChangeListener(listener, { persistent, interval }); + return statWatcher; +} +function unwatchFile(fakeFs, path, cb) { + const statWatchers = statWatchersByFakeFS.get(fakeFs); + if (typeof statWatchers === `undefined`) + return; + const statWatcher = statWatchers.get(path); + if (typeof statWatcher === `undefined`) + return; + if (typeof cb === `undefined`) + statWatcher.unregisterAllChangeListeners(); + else + statWatcher.unregisterChangeListener(cb); + if (!statWatcher.hasChangeListeners()) { + statWatcher.stop(); + statWatchers.delete(path); + } +} +function unwatchAllFiles(fakeFs) { + const statWatchers = statWatchersByFakeFS.get(fakeFs); + if (typeof statWatchers === `undefined`) + return; + for (const path of statWatchers.keys()) { + unwatchFile(fakeFs, path); + } +} + +class FakeFS { + 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(path, { algorithm = `sha512` } = {}) { + const fd = await this.openPromise(path, `r`); + try { + const CHUNK_SIZE = 65536; + const chunk = Buffer.allocUnsafeSlow(CHUNK_SIZE); + const hash = crypto.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 result = await cb(); + if (typeof result !== `undefined`) + p = result; + await this.lutimesPromise(p, stat.atime, stat.mtime); + } + async preserveTimeSync(p, cb) { + const stat = this.lstatSync(p); + const result = cb(); + if (typeof result !== `undefined`) + p = result; + this.lutimesSync(p, stat.atime, stat.mtime); + } +} +class BasePortableFakeFS 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)); +} + +class ProxiedFS extends FakeFS { + getExtractHint(hints) { + return this.baseFs.getExtractHint(hints); + } + resolve(path) { + return this.mapFromBase(this.baseFs.resolve(this.mapToBase(path))); + } + 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; +} +class NodeFS 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((path) => { + return npath.toPortablePath(path); + }); + } + 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((path) => { + return npath.toPortablePath(path); + }); + } + 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, result) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }; + } +} + +const MOUNT_MASK = 4278190080; +class MountFS extends BasePortableFakeFS { + baseFs; + mountInstances; + fdMap = /* @__PURE__ */ new Map(); + nextFd = 3; + factoryPromise; + factorySync; + filter; + getMountPoint; + magic; + maxAge; + maxOpenFiles; + typeCheck; + isMount = /* @__PURE__ */ new Set(); + notMount = /* @__PURE__ */ new Set(); + realPaths = /* @__PURE__ */ new Map(); + constructor({ baseFs = new NodeFS(), filter = null, magicByte = 42, maxOpenFiles = Infinity, useCache = true, maxAge = 5e3, typeCheck = fs.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.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() { + unwatchAllFiles(this); + if (this.mountInstances) { + for (const [path, { childFs }] of this.mountInstances.entries()) { + childFs.saveAndClose?.(); + this.mountInstances.delete(path); + } + } + } + discardAndClose() { + unwatchAllFiles(this); + if (this.mountInstances) { + for (const [path, { childFs }] of this.mountInstances.entries()) { + childFs.discardAndClose?.(); + this.mountInstances.delete(path); + } + } + } + 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 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 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 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 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 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 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 = 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(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(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 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 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 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 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 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 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.constants.COPYFILE_FICLONE_FORCE) !== 0) + throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP2}' -> ${destP2}'`), { code: `EXDEV` }); + if (flags & fs.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 (error) { + 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.constants.COPYFILE_FICLONE_FORCE) !== 0) + throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP2}' -> ${destP2}'`), { code: `EXDEV` }); + if (flags & fs.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 (error) { + 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 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 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 watchFile(this, p, a, b); + }); + } + unwatchFile(p, cb) { + return this.makeCallSync(p, () => { + return this.baseFs.unwatchFile(p, cb); + }, () => { + return 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.constants.S_IFMT) !== this.typeCheck) { + this.notMount.add(filePath); + continue; + } + } catch { + return null; + } + this.isMount.add(filePath); + } + return { + archivePath: filePath, + subPath: this.pathUtils.join(PortablePath.root, p.substring(filePath.length)) + }; + } + } + limitOpenFilesTimeout = null; + 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 [path, { childFs, expiresAt, refCount }] of this.mountInstances.entries()) { + if (refCount !== 0 || childFs.hasOpenFileHandles?.()) { + continue; + } else if (now >= expiresAt) { + childFs.saveAndClose?.(); + this.mountInstances.delete(path); + closeCount -= 1; + continue; + } else if (max === null || closeCount <= 0) { + nextExpiresAt = expiresAt; + break; + } + childFs.saveAndClose?.(); + this.mountInstances.delete(path); + 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?.(); + } + } + } +} + +class PosixFS extends ProxiedFS { + baseFs; + constructor(baseFs) { + super(npath); + this.baseFs = baseFs; + } + mapFromBase(path) { + return npath.fromPortablePath(path); + } + mapToBase(path) { + return npath.toPortablePath(path); + } +} + +const NUMBER_REGEXP = /^[0-9]+$/; +const VIRTUAL_REGEXP = /^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/; +const VALID_COMPONENT = /^([^/]+-)?[a-f0-9]+$/; +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; + } +} + +const URL = Number(process.versions.node.split('.', 1)[0]) < 20 ? url.URL : globalThis.URL; + +class NodePathFS extends ProxiedFS { + baseFs; + constructor(baseFs) { + super(npath); + this.baseFs = baseFs; + } + mapFromBase(path) { + return path; + } + mapToBase(path) { + if (typeof path === `string`) + return path; + if (path instanceof URL) + return url.fileURLToPath(path); + if (Buffer.isBuffer(path)) { + const str = path.toString(); + if (!isUtf8(path, 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: ${nodeUtils.inspect(path)}`); + } +} +function isUtf8(buf, str) { + if (typeof buffer__default.default.isUtf8 !== `undefined`) + return buffer__default.default.isUtf8(buf); + return Buffer.byteLength(str) === buf.byteLength; +} + +const kBaseFs = Symbol(`kBaseFs`); +const kFd = Symbol(`kFd`); +const kClosePromise = Symbol(`kClosePromise`); +const kCloseResolve = Symbol(`kCloseResolve`); +const kCloseReject = Symbol(`kCloseReject`); +const kRefs = Symbol(`kRefs`); +const kRef = Symbol(`kRef`); +const kUnref = Symbol(`kUnref`); +class FileHandle { + [kBaseFs]; + [kFd]; + [kRefs] = 1; + [kClosePromise] = void 0; + [kCloseResolve] = void 0; + [kCloseReject] = void 0; + constructor(fd, baseFs) { + 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 readline.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]; + } + [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]); + } + } +} + +const 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` +]); +const 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(fakeFs); + const setupFn = (target, name, replacement) => { + const orig = target[name]; + target[name] = replacement; + if (typeof orig?.[nodeUtils.promisify.custom] !== `undefined`) { + replacement[nodeUtils.promisify.custom] = orig[nodeUtils.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((result) => { + callback(null, result); + }, (error) => { + callback(error); + }); + }); + }; + setupFn(patchedFs, origName, wrapper); + } + patchedFs.realpath.native = patchedFs.realpath; + } + { + setupFn(patchedFs, `existsSync`, (p) => { + try { + return fakeFs.existsSync(p); + } catch (error) { + 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) { + 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(fd, fakeFs); + }); + } + { + patchedFs.read[nodeUtils.promisify.custom] = async (fd, buffer, ...args) => { + const res = fakeFs.readPromise(fd, buffer, ...args); + return { bytesRead: await res, buffer }; + }; + patchedFs.write[nodeUtils.promisify.custom] = async (fd, buffer, ...args) => { + const res = fakeFs.writePromise(fd, buffer, ...args); + return { bytesWritten: await res, buffer }; + }; + } +} + +let cachedInstance; +let 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 cachedInstance === `undefined`) + cachedInstance = registeredFactory(); + return cachedInstance; +} + +var libzipSync = {exports: {}}; + +(function (module, exports) { +var frozenFs = Object.assign({}, fs__default.default); +var createModule = function() { + var _scriptDir = void 0; + if (typeof __filename !== "undefined") _scriptDir = _scriptDir || __filename; + return function(createModule2) { + createModule2 = createModule2 || {}; + 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 scriptDirectory = ""; + function locateFile(path) { + if (Module["locateFile"]) { + return Module["locateFile"](path, scriptDirectory); + } + return scriptDirectory + path; + } + var read_, readBinary; + var nodeFS; + var nodePath; + { + { + scriptDirectory = __dirname + "/"; + } + read_ = function shell_read(filename, binary) { + var ret = tryParseAsDataURI(filename); + if (ret) { + return binary ? ret : ret.toString(); + } + if (!nodeFS) nodeFS = frozenFs; + if (!nodePath) nodePath = path__default.default; + filename = nodePath["normalize"](filename); + return nodeFS["readFileSync"](filename, binary ? null : "utf8"); + }; + readBinary = function readBinary2(filename) { + var ret = read_(filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret); + } + assert(ret.buffer); + return ret; + }; + if (process["argv"].length > 1) { + process["argv"][1].replace(/\\/g, "/"); + } + process["argv"].slice(2); + Module["inspect"] = function() { + return "[Emscripten Module object]"; + }; + } + 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"]) ; + if (Module["thisProgram"]) ; + if (Module["quit"]) ; + var wasmBinary; + if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"]; + 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; + 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 ret2 = 0; + if (str !== null && str !== void 0 && str !== 0) { + var len = (str.length << 2) + 1; + ret2 = stackAlloc(len); + stringToUTF8(str, ret2, len); + } + return ret2; + }, + array: function(arr) { + var ret2 = stackAlloc(arr.length); + writeArrayToMemory(arr, ret2); + return ret2; + } + }; + function convertReturnValue(ret2) { + if (returnType === "string") return UTF8ToString(ret2); + if (returnType === "boolean") return Boolean(ret2); + return ret2; + } + 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 ret = func.apply(null, cArgs); + ret = convertReturnValue(ret); + if (stack !== 0) stackRestore(stack); + return ret; + } + 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); + }; + } + 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 ret = _malloc(size); + if (ret) stringToUTF8Array(str, HEAP8, ret, size); + return ret; + } + 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; + 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"] = new Int16Array(buf); + Module["HEAP32"] = new Int32Array(buf); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf); + Module["HEAPU16"] = new Uint16Array(buf); + Module["HEAPU32"] = new Uint32Array(buf); + Module["HEAPF32"] = new Float32Array(buf); + Module["HEAPF64"] = new Float64Array(buf); + } + Module["INITIAL_MEMORY"] || 16777216; + var wasmTable; + var __ATPRERUN__ = []; + var __ATINIT__ = []; + var __ATPOSTRUN__ = []; + 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() { + 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 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 (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; + 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,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QCAAKAJIIgEgASADaiADEAcaAkAgAyAAKAJsIgFNBEAgACABIANrNgJsDAELIABCADcCbAsgACAAKAJoIANrIgE2AmggACAAKAJYIANrNgJYIAEgACgChC5JBEAgACABNgKELgsgAEH8gAEoAgARAwAgAiADaiECCwJAIAAoAgAiASgCBCIERQ0AIAAoAjwhBSAAIAIgBCACIARJGyICBH8gACgCSCAAKAJoaiAFaiEFIAEgBCACazYCBAJAAkACQAJAIAEoAhwiBCgCFEEBaw4CAQACCyAEQaABaiAFIAEoAgAgAkHcgAEoAgARCAAMAgsgASABKAIwIAUgASgCACACQcSAASgCABEEADYCMAwBCyAFIAEoAgAgAhAHGgsgASABKAIAIAJqNgIAIAEgASgCCCACajYCCCAAKAI8BSAFCyACaiICNgI8AkAgACgChC4iASACakEDSQ0AIAAoAmggAWshAQJAIAAoAnRBgQhPBEAgACAAIAAoAkggAWoiAi0AACACLQABIAAoAnwRAAA2AlQMAQsgAUUNACAAIAFBAWsgACgChAERAgAaCyAAKAKELiAAKAI8IgJBAUZrIgRFDQAgACABIAQgACgCgAERBQAgACAAKAKELiAEazYChC4gACgCPCECCyACQYUCSw0AIAAoAgAoAgRFDQAgACgCMCEBDAELCwJAIAAoAkQiAiAAKAJAIgNNDQAgAAJ/IAAoAjwgACgCaGoiASADSwRAIAAoAkggAWpBACACIAFrIgNBggIgA0GCAkkbIgMQGSABIANqDAELIAFBggJqIgEgA00NASAAKAJIIANqQQAgAiADayICIAEgA2siAyACIANJGyIDEBkgACgCQCADags2AkALC50CAQF/AkAgAAJ/IAAoAqAuIgFBwABGBEAgACgCBCAAKAIQaiAAKQOYLjcAACAAQgA3A5guIAAgACgCEEEIajYCEEEADAELIAFBIE4EQCAAKAIEIAAoAhBqIAApA5guPgAAIAAgAEGcLmo1AgA3A5guIAAgACgCEEEEajYCECAAIAAoAqAuQSBrIgE2AqAuCyABQRBOBEAgACgCBCAAKAIQaiAAKQOYLj0AACAAIAAoAhBBAmo2AhAgACAAKQOYLkIQiDcDmC4gACAAKAKgLkEQayIBNgKgLgsgAUEISA0BIAAgACgCECIBQQFqNgIQ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KAJUIgEEfyABQQAgARAiEBkgACgCVAVBAAsQBiAAQQA2AlQLC9wMAgl/AX4jAEFAaiIGJAACQAJAAkACQAJAIAEoAjBBABAjIgVBAkZBACABKAI4QQAQIyIEQQFGGw0AIAVBAUZBACAEQQJGGw0AIAVBAkciAw0BIARBAkcNAQsgASABLwEMQYAQcjsBDEEAIQMMAQsgASABLwEMQf/vA3E7AQxBACEFIANFBEBB9eABIAEoAjAgAEEIahBpIgVFDQILIAJBgAJxBEAgBSEDDAELIARBAkcEQCAFIQMMAQtB9cYBIAEoAjggAEEIahBpIgNFBEAgBRAcDAILIAMgBTYCAAsgASABLwEMQf7/A3EgAS8BUiIFQQBHcjsBDAJAAkACQAJAAn8CQAJAIAEpAyhC/v///w9WDQAgASkDIEL+////D1YNACACQYAEcUUNASABKQNIQv////8PVA0BCyAFQYECa0H//wNxQQNJIQdBAQwBCyAFQYECa0H//wNxIQQgAkGACnFBgApHDQEgBEEDSSEHQQALIQkgBkIcEBciBEUEQCAAQQhqIgAEQCAAQQA2AgQgAEEONgIACyADEBwMBQsgAkGACHEhBQJAAkAgAkGAAnEEQAJAIAUNACABKQMgQv////8PVg0AIAEpAyhCgICAgBBUDQMLIAQgASkDKBAYIAEpAyAhDAwBCwJAAkACQCAFDQAgASkDIEL/////D1YNACABKQMoIgxC/////w9WDQEgASkDSEKAgICAEFQNBAsgASkDKCIMQv////8PVA0BCyAEIAwQGAsgASkDICIMQv////8PWgRAIAQgDBAYCyABKQNIIgxC/////w9UDQELIAQgDBAYCyAELQAARQRAIABBCGoiAARAIABBADYCBCAAQRQ2AgALIAQQCCADEBwMBQtBASEKQQEgBC0AAAR+IAQpAxAFQgALp0H//wNxIAYQRyEFIAQQCCAFIAM2AgAgBw0BDAILIAMhBSAEQQJLDQELIAZCBxAXIgRFBEAgAEEIaiIABEAgAEEANgIEIABBDjYCAAsgBRAcDAMLIARBAhANIARBhxJBAhAsIAQgAS0AUhBwIAQgAS8BEBANIAQtAABFBEAgAEEIaiIABEAgAEEANgIEIABBFDYCAAsgBBAIDAILQYGyAkEHIAYQRyEDIAQQCCADIAU2AgBBASEL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NgIEIABB7A42AhggGiEdDAMLIARB/wFxIgJBwABxRQRAIAggDSADLwECQQJ0aiAdp0F/IAJ0QX9zcUECdGoiAy0AASICayEIIB0gAq2IIR0gAy0AACIERQ0HDAELCyAEQSBxBEAgB0G//gA2AgQgASECDAgLIAdB0f4ANgIEIABB0A42AhggASECDAcLIB1BfyAGdEF/c62DIBt8IhunIQUgCCAEQQ9xIgNrIQggGiAErUIPg4ghHSABIBdrIgYgAjMBAiAaQX8gA3RBf3Otg3ynIgRPDQIgBCAGayIGIBlNDQEgBygCjEdFDQEgB0HR/gA2AgQgAEG5DDYCGAsgASECIAshBQwFCwJAIA5FBEAgDCARIAZraiEDDAELIAYgDk0EQCAMIA4gBmtqIQMMAQsgDCARIAYgDmsiBmtqIQMgBSAGTQ0AIAUgBmshBQJAAkAgASADTSABIA8gAWusIhogBq0iGyAaIBtUGyIapyIGaiICIANLcQ0AIAMgBmogAUsgASADT3ENACABIAMgBhAHGiACIQEMAQsgASADIAMgAWsiASABQR91IgFqIAFzIgIQByACaiEBIBogAq0iHn0iHFANACACIANqIQIDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgASACKQAANwAAIAEgAikAGDcAGCABIAIpABA3ABAgASACKQAINwAIIBpCIH0hGiACQSBqIQIgAUEgaiEBIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAEgAikAADcAACABIAIpABg3ABggASACKQAQNwAQIAEgAikACDcACCABIAIpADg3ADggASACKQAwNwAwIAEgAikAKDcAKCABIAIpACA3ACAgASACKQBYNwBYIAEgAikAUDcAUCABIAIpAEg3AEggASACKQBANwBAIAEgAikAYDcAYCABIAIpAGg3AGggASACKQBwNwBwIAEgAikAeDcAeCACQYABaiECIAFBgAFqIQEgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAEgAikAADcAACABIAIpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCABIAIpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCABIAIoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCABIAIvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCABIAItAAA6AAAgAkEBaiECIAFBAWohAQsgHEIAUg0ACwsgDiEGIAwhAwsgBSAGSwRAAkACQCABIANNIAEgDyABa6wiGiAGrSIbIBogG1QbIhqnIglqIgIgA0txDQAgAyAJaiABSyABIANPcQ0AIAEgAyAJEAcaDAELIAEgAyADIAFrIgEgAUEfdSIBaiABcyIBEAcgAWohAiAaIAGtIh59IhxQDQAgASADaiEBA0ACQCAcIB4gHCAeVBsiG0IgVARAIBshGgwBCyAbIhpCIH0iIEIFiEIBfEIDgyIfUEUEQANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCAaQiB9IRogAUEgaiEBIAJBIGohAiAfQgF9Ih9CAFINAAsLICBC4ABUDQADQCACIAEpAAA3AAAgAiABKQAYNwAYIAIgASkAEDcAECACIAEpAAg3AAggAiABKQA4NwA4IAIgASkAMDcAMCACIAEpACg3ACggAiABKQAgNwAgIAIgASkAWDcAWCACIAEpAFA3AFAgAiABKQBINwBIIAIgASkAQDcAQCACIAEpAGA3AGAgAiABKQBoNwBoIAIgASkAcDcAcCACIAEpAHg3AHggAUGAAWohASACQYABaiECIBpCgAF9IhpCH1YNAAsLIBpCEFoEQCACIAEpAAA3AAAgAiABKQAINwAIIBpCEH0hGiACQRBqIQIgAUEQaiEBCyAaQghaBEAgAiABKQAANwAAIBpCCH0hGiACQQhqIQIgAUEIaiEBCyAaQgRaBEAgAiABKAAANgAAIBpCBH0hGiACQQRqIQIgAUEEaiEBCyAaQgJaBEAgAiABLwAAOwAAIBpCAn0hGiACQQJqIQIgAUECaiEBCyAcIBt9IRwgGlBFBEAgAiABLQAAOgAAIAJBAWohAiABQQFqIQELIBxCAFINAAsLIAUgBmshAUEAIARrIQUCQCAEQQdLBEAgBCEDDAELIAEgBE0EQCAEIQMMAQsgAiAEayEFA0ACQCACIAUpAAA3AAAgBEEBdCEDIAEgBGshASACIARqIQIgBEEDSw0AIAMhBCABIANLDQELC0EAIANrIQULIAIgBWohBAJAIAUgDyACa6wiGiABrSIbIBogG1QbIhqnIgFIIAVBf0pxDQAgBUEBSCABIARqIAJLcQ0AIAIgBCABEAcgAWohAgwDCyACIAQgAyADQR91IgFqIAFzIgEQByABaiECIBogAa0iHn0iHFANAiABIARqIQEDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIBpCIH0hGiABQSBqIQEgAkEgaiECIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCACIAEpADg3ADggAiABKQAwNwAwIAIgASkAKDcAKCACIAEpACA3ACAgAiABKQBYNwBYIAIgASkAUDcAUCACIAEpAEg3AEggAiABKQBANwBAIAIgASkAYDcAYCACIAEpAGg3AGggAiABKQBwNwBwIAIgASkAeDcAeCABQYABaiEBIAJBgAFqIQIgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAIgASkAADcAACACIAEpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCACIAEpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCACIAEoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCACIAEvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCACIAEtAAA6AAAgAkEBaiECIAFBAWohAQsgHFBFDQALDAILAkAgASADTSABIA8gAWusIhogBa0iGyAaIBtUGyIapyIEaiICIANLcQ0AIAMgBGogAUsgASADT3ENACABIAMgBBAHGgwCCyABIAMgAyABayIBIAFBH3UiAWogAXMiARAHIAFqIQIgGiABrSIefSIcUA0BIAEgA2ohAQNAAkAgHCAeIBwgHlQbIhtCIFQEQCAbIRoMAQsgGyIaQiB9IiBCBYhCAXxCA4MiH1BFBEADQCACIAEpAAA3AAAgAiABKQAYNwAYIAIgASkAEDcAECACIAEpAAg3AAggGkIgfSEaIAFBIGohASACQSBqIQIgH0IBfSIfQgBSDQALCyAgQuAAVA0AA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIAIgASkAODcAOCACIAEpADA3ADAgAiABKQAoNwAoIAIgASkAIDcAICACIAEpAFg3AFggAiABKQBQNwBQIAIgASkASDcASCACIAEpAEA3AEAgAiABKQBgNwBgIAIgASkAaDcAaCACIAEpAHA3AHAgAiABKQB4NwB4IAFBgAFqIQEgAkGAAWohAiAaQoABfSIaQh9WDQALCyAaQhBaBEAgAiABKQAANwAAIAIgASkACDcACCAaQhB9IRogAkEQaiECIAFBEGohAQsgGkIIWgRAIAIgASkAADcAACAaQgh9IRogAkEIaiECIAFBCGohAQsgGkIEWgRAIAIgASgAADYAACAaQgR9IRogAkEEaiECIAFBBGohAQsgGkICWgRAIAIgAS8AADsAACAaQgJ9IRogAkECaiECIAFBAmohAQsgHCAbfSEcIBpQRQRAIAIgAS0AADoAACACQQFqIQIgAUEBaiEBCyAcUEUNAAsMAQsCQAJAIBYEQAJAIAQgBUkEQCAHKAKYRyAESw0BCyABIARrIQMCQEEAIARrIgVBf0ogDyABa6wiGiAbIBogG1QbIhqnIgIgBUpxDQAgBUEBSCACIANqIAFLcQ0AIAEgAyACEAcgAmohAgwFCyABIAMgBCAEQR91IgFqIAFzIgEQByABaiECIBogAa0iHn0iHFANBCABIANqIQEDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIBpCIH0hGiABQSBqIQEgAkEgaiECIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCACIAEpADg3ADggAiABKQAwNwAwIAIgASkAKDcAKCACIAEpACA3ACAgAiABKQBYNwBYIAIgASkAUDcAUCACIAEpAEg3AEggAiABKQBANwBAIAIgASkAYDcAYCACIAEpAGg3AGggAiABKQBwNwBwIAIgASkAeDcAeCABQYABaiEBIAJBgAFqIQIgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAIgASkAADcAACACIAEpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCACIAEpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCACIAEoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCACIAEvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCACIAEtAAA6AAAgAkEBaiECIAFBAWohAQsgHFBFDQALDAQLIBAgAWsiCUEBaiIGIAUgBSAGSxshAyABIARrIQIgAUEHcUUNAiADRQ0CIAEgAi0AADoAACACQQFqIQIgAUEBaiIGQQdxQQAgA0EBayIFGw0BIAYhASAFIQMgCSEGDAILAkAgBCAFSQRAIAcoAphHIARLDQELIAEgASAEayIGKQAANwAAIAEgBUEBa0EHcUEBaiIDaiECIAUgA2siBEUNAyADIAZqIQEDQCACIAEpAAA3AAAgAUEIaiEBIAJBCGohAiAEQQhrIgQNAAsMAwsgASAEIAUQPyECDAILIAEgAi0AADoAASAJQQFrIQYgA0ECayEFIAJBAWohAgJAIAFBAmoiCkEHcUUNACAFRQ0AIAEgAi0AADoAAiAJQQJrIQYgA0EDayEFIAJBAWohAgJAIAFBA2oiCkEHcUUNACAFRQ0AIAEgAi0AADoAAyAJQQNrIQYgA0EEayEFIAJBAWohAgJAIAFBBGoiCkEHcUUNACAFRQ0AIAEgAi0AADoABCAJQQRrIQYgA0EFayEFIAJBAWohAgJAIAFBBWoiCkEHcUUNACAFRQ0AIAEgAi0AADoABSAJQQVrIQYgA0EGayEFIAJBAWohAgJAIAFBBmoiCkEHcUUNACAFRQ0AIAEgAi0AADoABiAJQQZrIQYgA0EHayEFIAJBAWohAgJAIAFBB2oiCkEHcUUNACAFRQ0AIAEgAi0AADoAByAJQQdrIQYgA0EIayEDIAFBCGohASACQQFqIQIMBgsgCiEBIAUhAwwFCyAKIQEgBSEDDAQLIAohASAFIQMMAwsgCiEBIAUhAwwCCyAKIQEgBSEDDAELIAohASAFIQMLAkACQCAGQRdNBEAgA0UNASADQQFrIQUgA0EHcSIEBEADQCABIAItAAA6AAAgA0EBayEDIAFBAWohASACQQFqIQIgBEEBayIEDQALCyAFQQdJDQEDQCABIAItAAA6AAAgASACLQABOgABIAEgAi0AAjoAAiABIAItAAM6AAMgASACLQAEOgAEIAEgAi0ABToABSABIAItAAY6AAYgASACLQAHOgAHIAFBCGohASACQQhqIQIgA0EIayIDDQALDAELIAMNAQsgASECDAELIAEgBCADED8hAgsgCyEFDAELIAEgAy0AAjoAACABQQFqIQILIAUgFE8NACACIBNJDQELCyAAIAI2AgwgACAFIAhBA3ZrIgE2AgAgACATIAJrQYMCajYCECAAIBQgAWtBDmo2AgQgByAIQQdxIgA2AogBIAcgHUJ/IACthkJ/hYM+AoQBC+cFAQR/IAMgAiACIANLGyEEIAAgAWshAgJAIABBB3FFDQAgBEUNACAAIAItAAA6AAAgA0EBayEGIAJBAWohAiAAQQFqIgdBB3FBACAEQQFrIgUbRQRAIAchACAFIQQgBiEDDAELIAAgAi0AADoAASADQQJrIQYgBEECayEFIAJBAWohAgJAIABBAmoiB0EHcUUNACAFRQ0AIAAgAi0AADoAAiADQQNrIQYgBEEDayEFIAJBAWohAgJAIABBA2oiB0EHcUUNACAFRQ0AIAAgAi0AADoAAyADQQRrIQYgBEEEayEFIAJBAWohAgJAIABBBGoiB0EHcUUNACAFRQ0AIAAgAi0AADoABCADQQVrIQYgBEEFayEFIAJBAWohAgJAIABBBWoiB0EHcUUNACAFRQ0AIAAgAi0AADoABSADQQZrIQYgBEEGayEFIAJBAWohAgJAIABBBmoiB0EHcUUNACAFRQ0AIAAgAi0AADoABiADQQdrIQYgBEEHayEFIAJBAWohAgJAIABBB2oiB0EHcUUNACAFRQ0AIAAgAi0AADoAByADQQhrIQMgBEEIayEEIABBCGohACACQQFqIQIMBgsgByEAIAUhBCAGIQMMBQsgByEAIAUhBCAGIQMMBAsgByEAIAUhBCAGIQMMAwsgByEAIAUhBCAGIQMMAgsgByEAIAUhBCAGIQMMAQsgByEAIAUhBCAGIQMLAkAgA0EXTQRAIARFDQEgBEEBayEBIARBB3EiAwRAA0AgACACLQAAOgAAIARBAWshBCAAQQFqIQAgAkEBaiECIANBAWsi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CyAAIAMtAAAEfiADKQMQBUIAC6dB//8DcSADKAIEEEcLIQUgAxAICyAEQRBqJAAgBQvgAQICfwF+QTAQCSICRQRAIAEEQCABQQA2AgQgAUEONgIAC0EADwsgAkIANwMIIAJBADYCACACQgA3AxAgAkIANwMYIAJCADcDICACQgA3ACUgAFAEQCACDwsCQCAAQv////8AVg0AIACnQQR0EAkiA0UNACACIAM2AgBBACEBQgEhBANAIAMgAUEEdGoiAUIANwIAIAFCADcABSAAIARSBEAgBKchASAEQgF8IQQMAQsLIAIgADcDCCACIAA3AxAgAg8LIAEEQCABQQA2AgQgAUEONgIAC0EAEBAgAhAGQQAL7gECA38BfiMAQRBrIgQkAAJAIARBDGpCBBAXIgNFBEBBfyECDAELAkAgAQRAIAJBgAZxIQUDQAJAIAUgASgCBHFFDQACQCADKQMIQgBUBEAgA0EAOgAADAELIANCADcDECADQQE6AAALIAMgAS8BCBANIAMgAS8BChANIAMtAABFBEAgAEEIaiIABEAgAEEANgIEIABBFDYCAAtBfyECDAQLQX8hAiAAIARBDGpCBBAbQQBIDQMgATMBCiIGUA0AIAAgASgCDCAGEBtBAEgNAwsgASgCACIBDQALC0EAIQILIAMQCAsgBEEQaiQAIAILPAEBfyAABEAgAUGABnEhAQNAIAEgACgCBHEEQCACIAAvAQpqQQRqIQILIAAoAgAiAA0ACwsgAkH//wNxC5wBAQN/IABFBEBBAA8LIAAhAwNAAn8CQAJAIAAvAQgiAUH04AFNBEAgAUEBRg0BIAFB9cYBRg0BDAILIAFBgbICRg0AIAFB9eABRw0BCyAAKAIAIQEgAEEANgIAIAAoAgwQBiAAEAYgASADIAAgA0YbIQMCQCACRQRAQQAhAgwBCyACIAE2AgALIAEMAQsgACICKAIACyIADQALIAMLsgQCBX8BfgJAAkACQCAAIAGtEBciAQRAIAEtAAANAUEAIQAMAgsgBARAIARBADYCBCAEQQ42AgALQQAPC0EAIQADQCABLQAABH4gASkDCCABKQMQfQVCAAtCBFQNASABEAwhByABIAEQDCIGrRATIghFBEBBACECIAQEQCAEQQA2AgQgBEEVNgIACyABEAggAEUNAwNAIAAoAgAhASAAKAIMEAYg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DCAAQRg2AggLDAMLIAAgBiAFLwFqQQAgBCABEQYAIQEgBhALIAFFDQILAkAgDUUEQCABIQMMAQsgACABIAUvAWgQgQEhAyABEAsgA0UNAQsCQCAJRSAMckUEQCADIQEMAQsgACADQQEQgAEhASADEAsgAUUNAQsgASEDDAELQQAhAwsgBUHwAGokACADC4UBAQF/IAFFBEAgAEEIaiIABEAgAEEANgIEIABBEjYCAAtBAA8LQTgQCSIDRQRAIABBCGoiAARAIABBADYCBCAAQQ42AgALQQAPCyADQQA2AhAgA0IANwIIIANCADcDKCADQQA2AgQgAyACNgIAIANCADcDGCADQQA2AjAgACABQTsgAxBCCw8AIAAgASACQQBBABCCAQusAgECfyABRQRAIABBCGoiAARAIABBADYCBCAAQRI2AgALQQAPCwJAIAJBfUsNACACQf//A3FBCEYNACAAQQhqIgAEQCAAQQA2AgQgAEEQNgIAC0EADwsCQEGwwAAQCSIFBEAgBUEANgIIIAVCADcCACAFQYiBAUGogQEgAxs2AqhAIAUgAjYCFCAFIAM6ABAgBUEAOgAPIAVBADsBDCAFIAMgAkF9SyIGcToADiAFQQggAiAGG0H//wNxIAQgBUGIgQFBqIEBIAMbKAIAEQAAIgI2AqxAIAINASAFEDEgBRAGCyAAQQhqIgAEQCAAQQA2AgQgAEEONgIAC0EADwsgACABQTogBRBCIgAEfyAABSAFKAKsQCAFKAKoQCgCBBEDACAFEDEgBRAGQQALC6ABAQF/IAIgACgCBCIDIAIgA0kbIgIEQCAAIAMgAms2AgQCQAJAAkACQCAAKAIcIgMoAhRBAWsOAgEAAgsgA0GgAWogASAAKAIAIAJB3IABKAIAEQgADAILIAAgACgCMCABIAAoAgAgAkHEgAEoAgARBAA2AjAMAQsgASAAKAIAIAIQBxoLIAAgACgCACACajYCACAAIAAoAgggAmo2AggLC7cCAQR/QX4hAgJAIABFDQAgACgCIEUNACAAKAIkIgRFDQAgACgCHCIBRQ0AIAEoAgAgAEcNAAJAAkAgASgCICIDQTlrDjkBAgICAgICAgICAgIBAgICAQICAgICAgICAgICAgICAgICAQICAgICAgICAgICAQICAgICAgICAgEACyADQZoFRg0AIANBKkcN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DCABajYCDCAGIAYoAgggAWo2AgggBSAFKAIUIAFqNgIUIAUgBSgCECABazYCECAGIAYoAhAgAWsiATYCECABDQAgBiAGKAIENgIIC0EAIQRBACEJIAMoAhBFDQAMCgsgAygCHCgCJCEGIAMgAygCGCIBQQFqNgIYIAEgBmotAAAhASADIARBAWo2AhAgAygCBCAEaiABOgAAIAEEQCADKAIQIQQMAQsLIAMoAhwoAixFDQAgAygCECIGIAlNDQAgBQJ/IAUoAjAhBEEAIAMoAgQgCWoiAUUNABogBCABIAYgCWtB1IABKAIAEQAACzYCMAsgA0HnADYCIAsCQCADKAIcKAIsBEAgAygCDCADKAIQIgFBAmpJBH8gBRAKIAMoAhANAkEABSABCyADKAIEaiAFKAIwOwAAIAMgAygCEEECajYCECADQaABakHkgAEoAgARAQAaCyADQfEANgIgIAUQCiADKAIQRQ0BDAcLDAYLIAUoAgQNAQsgAygCPA0AIApFDQEgAygCIEGaBUYNAQsCfyADKAKIASIBRQRAIAMgChCFAQwBCwJAAkACQCADKAKMAUECaw4CAAECCwJ/AkADQAJAAkAgAygCPA0AIAMQLyADKAI8DQAgCg0BQQAMBAsgAygCSCADKAJoai0AACEEIAMgAygC8C0iAUEBajYC8C0gASADKALsLWpBADoAACADIAMoAvAtIgFBAWo2AvAtIAEgAygC7C1qQQA6AAAgAyADKALwLSIBQQFqNgLwLSABIAMoAuwtaiAEOgAAIAMgBEECdGoiASABLwHkAUEBajsB5AEgAyADKAI8QQFrNgI8IAMgAygCaEEBaiIBNgJoIAMoAvAtIAMoAvQtRw0BQQAhBCADIAMoAlgiBkEATgR/IAMoAkggBmoFQQALIAEgBmtBABAPIAMgAygCaDYCWCADKAIAEAogAygCACgCEA0BDAILCyADQQA2AoQuIApBBEYEQCADIAMoAlgiAUEATgR/IAMoAkggAWoFQQALIAMoAmggAWtBARAPIAMgAygCaDYCWCADKAIAEApBA0ECIAMoAgAoAhAbDAILIAMoAvAtBEBBACEEIAMgAygCWCIBQQBOBH8gAygCSCABagVBAAsgAygCaCABa0EAEA8gAyADKAJoNgJYIAMoAgAQCiADKAIAKAIQRQ0BC0EBIQQLIAQL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bGl0ZXJhbC9sZW5ndGhzIHNldABpbnZhbGlkIGNvZGUgbGVuZ3RocyBzZXQAdW5rbm93biBoZWFkZXIgZmxhZ3Mgc2V0AGludmFsaWQgZGlzdGFuY2VzIHNldABpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0AEZpbGUgYWxyZWFkeSBleGlzdHMAdG9vIG1hbnkgbGVuZ3RoIG9yIGRpc3RhbmNlIHN5bWJvbHMAaW52YWxpZCBzdG9yZWQgYmxvY2sgbGVuZ3RocwAlcyVzJXMAYnVmZmVyIGVycm9yAE5vIGVycm9yAHN0cmVhbSBlcnJvcgBUZWxsIGVycm9yAEludGVybmFsIGVycm9yAFNlZWsgZXJyb3IAV3JpdGUgZXJyb3IAZmlsZSBlcnJvcgBSZWFkIGVycm9yAFpsaWIgZXJyb3IAZGF0YSBlcnJvcgBDUkMgZXJyb3IAaW5jb21wYXRpYmxlIHZlcnNpb24AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGNoADEuMi4xMy56bGliLW5nAGludmFsaWQgd2luZG93IHNpemUAUmVhZC1vbmx5IGFyY2hpdmUATm90IGEgemlwIGFyY2hpdmUAUmVzb3VyY2Ugc3RpbGwgaW4gdXNlAE1hbGxvYyBmYWlsdXJlAGludmFsaWQgYmxvY2sgdHlwZQBGYWlsdXJlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZQBDYW4ndCBvcGVuIGZpbGUATm8gc3VjaCBmaWxlAFByZW1hdHVyZSBlbmQgb2YgZmlsZQBDYW4ndCByZW1vdmUgZmlsZQBpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUAaW52YWxpZCBkaXN0YW5jZSBjb2RlAHVua25vd24gY29tcHJlc3Npb24gbWV0aG9kAHN0cmVhbSBlbmQAQ29tcHJlc3NlZCBkYXRhIGludmFsaWQATXVsdGktZGlzayB6aXAgYXJjaGl2ZXMgbm90IHN1cHBvcnRl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UgAIANIACAAyAAgAsgAIAHIACADyAAgACgAIAIoACABKAAgAygAIACoACACqAAgAagAIAOoACAAaAAgAmgAIAFoACADaAAgAOgAIALoACAB6AAgA+gAIAAYACACGAAgARgAIAMYACAAmAAgApgAIAGYACADmAAgAFgAIAJYACABWAAgA1gAIADYACAC2AAgAdgAIAPYACAAOAAgAjgAIAE4ACADOAAgALgAIAK4ACABuAAgA7gAIAB4ACACeAAgAXgAIAN4ACAA+AAgAvgAIAH4ACAD+AAgAAQAIAIEACABBAAgAwQAIACEACAChAAgAYQAIAOEACAARAAgAkQAIAFEACADRAAgAMQAIALEACABxAAgA8QAIAAkACACJAAgASQAIAMkACAApAAgAqQAIAGkACADpAAgAGQAIAJkACABZAAgA2QAIADkACAC5AAgAeQAIAPkACAAFAAgAhQAIAEUACADFAAgAJQAIAKUACABlAAgA5QAIABUACACVAAgAVQAIANUACAA1AAgAtQAIAHUACAD1AAgADQAIAI0ACABNAAgAzQAIAC0ACACtAAgAbQAIAO0ACAAdAAgAnQAIAF0ACADdAAgAPQAIAL0ACAB9AAgA/QAIABMACQATAQkAkwAJAJMBCQBTAAkAUwEJANMACQDTAQkAMwAJADMBCQCzAAkAswEJAHMACQBzAQkA8wAJAPMBCQALAAkACwEJAIsACQCLAQkASwAJAEsBCQDLAAkAywEJACsACQArAQkAqwAJAKsBCQBrAAkAawEJAOsACQDrAQkAGwAJABsBCQCbAAkAmwEJAFsACQBbAQkA2wAJANsBCQA7AAkAOwEJALsACQC7AQkAewAJAHsBCQD7AAkA+wEJAAcACQAHAQkAhwAJAIcBCQBHAAkARwEJAMcACQDHAQkAJwAJACcBCQCnAAkApwEJAGcACQBnAQkA5wAJAOcBCQAXAAkAFwEJAJcACQCXAQkAVwAJAFcBCQDXAAkA1wEJADcACQA3AQkAtwAJALcBCQB3AAkAdwEJAPcACQD3AQkADwAJAA8BCQCPAAkAjwEJAE8ACQBPAQkAzwAJAM8BCQAvAAkALwEJAK8ACQCvAQkAbwAJAG8BCQDvAAkA7wEJAB8ACQAfAQkAnwAJAJ8BCQBfAAkAXwEJAN8ACQDfAQkAPwAJAD8BCQC/AAkA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SXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AQcCAAQuFARMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAgERQADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAQfSCAQsCXEQAQbCDAQsQ/////////////////////w=="; + 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 module2; + var binary; + try { + binary = getBinary(file); + module2 = new WebAssembly.Module(binary); + instance = new WebAssembly.Instance(module2, 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, module2]; + } + function createWasm() { + var info = { a: asmLibraryArg }; + function receiveInstance(instance, module2) { + var exports3 = instance.exports; + Module["asm"] = exports3; + wasmMemory = Module["asm"]["g"]; + updateGlobalBufferAndViews(wasmMemory.buffer); + wasmTable = Module["asm"]["W"]; + addOnInit(Module["asm"]["h"]); + removeRunDependency(); + } + addRunDependency(); + if (Module["instantiateWasm"]) { + try { + var exports2 = Module["instantiateWasm"](info, receiveInstance); + return exports2; + } catch (e) { + err("Module.instantiateWasm callback failed with error: " + e); + return false; + } + } + var result = instantiateSync(wasmBinaryFile, info); + receiveInstance(result[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) { + } + function _time(ptr) { + var ret = Date.now() / 1e3 | 0; + if (ptr) { + LE_HEAP_STORE_I32((ptr >> 2) * 4, ret); + } + return ret; + } + 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; + } + function intArrayFromBase64(s) { + { + var buf; + try { + buf = Buffer.from(s, "base64"); + } catch (_) { + buf = new Buffer(s, "base64"); + } + return new Uint8Array( + buf["buffer"], + buf["byteOffset"], + buf["byteLength"] + ); + } + } + 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(); + Module["___wasm_call_ctors"] = asm["h"]; + Module["_zip_ext_count_symlinks"] = asm["i"]; + Module["_zip_file_get_external_attributes"] = asm["j"]; + Module["_zipstruct_statS"] = asm["k"]; + Module["_zipstruct_stat_size"] = asm["l"]; + Module["_zipstruct_stat_mtime"] = asm["m"]; + Module["_zipstruct_stat_crc"] = asm["n"]; + Module["_zipstruct_errorS"] = asm["o"]; + Module["_zipstruct_error_code_zip"] = asm["p"]; + Module["_zipstruct_stat_comp_size"] = asm["q"]; + Module["_zipstruct_stat_comp_method"] = asm["r"]; + Module["_zip_close"] = asm["s"]; + Module["_zip_delete"] = asm["t"]; + Module["_zip_dir_add"] = asm["u"]; + Module["_zip_discard"] = asm["v"]; + Module["_zip_error_init_with_code"] = asm["w"]; + Module["_zip_get_error"] = asm["x"]; + Module["_zip_file_get_error"] = asm["y"]; + Module["_zip_error_strerror"] = asm["z"]; + Module["_zip_fclose"] = asm["A"]; + Module["_zip_file_add"] = asm["B"]; + Module["_free"] = asm["C"]; + var _malloc = Module["_malloc"] = asm["D"]; + Module["_zip_source_error"] = asm["E"]; + Module["_zip_source_seek"] = asm["F"]; + Module["_zip_file_set_external_attributes"] = asm["G"]; + Module["_zip_file_set_mtime"] = asm["H"]; + Module["_zip_fopen_index"] = asm["I"]; + Module["_zip_fread"] = asm["J"]; + Module["_zip_get_name"] = asm["K"]; + Module["_zip_get_num_entries"] = asm["L"]; + Module["_zip_source_read"] = asm["M"]; + Module["_zip_name_locate"] = asm["N"]; + Module["_zip_open_from_source"] = asm["O"]; + Module["_zip_set_file_compression"] = asm["P"]; + Module["_zip_source_buffer"] = asm["Q"]; + Module["_zip_source_buffer_create"] = asm["R"]; + Module["_zip_source_close"] = asm["S"]; + Module["_zip_source_free"] = asm["T"]; + Module["_zip_source_keep"] = asm["U"]; + Module["_zip_source_open"] = asm["V"]; + Module["_zip_source_tell"] = asm["X"]; + 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) { + 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; + }; +}(); +module.exports = createModule; +}(libzipSync)); + +const createModule = libzipSync.exports; + +const number64 = [ + `number`, + // low + `number` + // high +]; +var Errors = /* @__PURE__ */ ((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"; + return Errors2; +})(Errors || {}); +const 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`]) + } +}); + +function getArchivePart(path, extension) { + let idx = path.indexOf(extension); + if (idx <= 0) + return null; + let nextCharIdx = idx; + while (idx >= 0) { + nextCharIdx = idx + extension.length; + if (path[nextCharIdx] === ppath.sep) + break; + if (path[idx - 1] === ppath.sep) + return null; + idx = path.indexOf(extension, nextCharIdx); + } + if (path.length > nextCharIdx && path[nextCharIdx] !== ppath.sep) + return null; + return path.slice(0, nextCharIdx); +} +class ZipOpenFS extends 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` ? (path) => getArchivePart(path, `.zip`) : (path) => { + for (const extension of fileExtensions) { + const result = getArchivePart(path, extension); + if (result) { + return result; + } + } + return null; + }; + const factorySync = (baseFs, p) => { + return new 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 ZipFS(p, zipOptions); + }; + }; + super({ + ...opts, + factorySync, + factoryPromise, + getMountPoint + }); + } +} + +const 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 (nodeUtils.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 + ]); +} +class LibzipError extends Error { + code; + constructor(message, code) { + super(message); + this.name = `Libzip Error`; + this.code = code; + } +} +class ZipFS extends BasePortableFakeFS { + libzip; + baseFs; + path; + stats; + zip; + lzSource; + level; + listings = /* @__PURE__ */ new Map(); + entries = /* @__PURE__ */ new Map(); + /** + * A cache of indices mapped to file sources. + * Populated by `setFileSource` calls. + * Required for supporting read after write. + */ + fileSources = /* @__PURE__ */ new Map(); + symlinkCount; + fds = /* @__PURE__ */ new Map(); + nextFd = 0; + ready = false; + readOnly = false; + constructor(source, opts = {}) { + super(); + const pathOptions = opts; + this.level = typeof pathOptions.level !== `undefined` ? pathOptions.level : DEFAULT_COMPRESSION_LEVEL; + source ??= makeEmptyArchive(); + if (typeof source === `string`) { + const { baseFs = new 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 = makeDefaultStats(); + } else { + throw error; + } + } + } else { + this.stats = makeDefaultStats(); + } + } + this.libzip = 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(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 (ppath.isAbsolute(raw)) + continue; + const p = ppath.resolve(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 EBUSY(`archive closed, close`); + 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 result = Buffer.from(this.libzip.HEAPU8.subarray(buffer, buffer + size)); + if (process.env.YARN_IS_TEST_ENV && process.env.YARN_ZIP_DATA_EPILOGUE) + result = Buffer.concat([result, Buffer.from(process.env.YARN_ZIP_DATA_EPILOGUE)]); + return result; + } 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 === DEFAULT_MODE ? void 0 : this.stats.mode; + this.baseFs.writeFileSync(this.path, this.getBufferAndClose(), { mode: newMode }); + this.ready = false; + } + resolve(p) { + return ppath.resolve(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 ENOENT(`opendir '${p}'`); + const directoryListing = this.listings.get(resolvedP); + if (!directoryListing) + throw ENOTDIR(`opendir '${p}'`); + const entries = [...directoryListing]; + const fd = this.openSync(resolvedP, `r`); + const onClose = () => { + this.closeSync(fd); + }; + return 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 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 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 EBADF(`read`); + this.fds.delete(fd); + } + createReadStream(p, { encoding } = {}) { + if (p === null) + throw new Error(`Unimplemented`); + const fd = this.openSync(p, `r`); + const stream$1 = Object.assign( + new stream.PassThrough({ + emitClose: true, + autoDestroy: true, + destroy: (error, callback) => { + clearImmediate(immediate); + this.closeSync(fd); + callback(error); + } + }), + { + close() { + stream$1.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$1.bytesRead = data.length; + stream$1.end(data); + } catch (error) { + stream$1.destroy(error); + } + }); + return stream$1; + } + createWriteStream(p, { encoding } = {}) { + if (this.readOnly) + throw EROFS(`open '${p}'`); + if (p === null) + throw new Error(`Unimplemented`); + const chunks = []; + const fd = this.openSync(p, `w`); + const stream$1 = Object.assign( + new stream.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$1.destroy(); + }, + bytesWritten: 0, + path: p, + // "This property is `true` if the underlying file has not been opened yet" + pending: false + } + ); + stream$1.on(`data`, (chunk) => { + const chunkBuffer = Buffer.from(chunk); + stream$1.bytesWritten += chunkBuffer.length; + chunks.push(chunkBuffer); + }); + return stream$1; + } + 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 ENOENT(`lstat '${p}'`); + return resolvedP; + } + async existsPromise(p) { + return this.existsSync(p); + } + existsSync(p) { + if (!this.ready) + throw EBUSY(`archive closed, existsSync '${p}'`); + if (this.symlinkCount === 0) { + const resolvedP2 = ppath.resolve(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 (error) { + 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.constants.F_OK) { + const resolvedP = this.resolveFilename(`access '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`access '${p}'`); + if (this.readOnly && mode & fs.constants.W_OK) { + throw 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 ENOENT(`stat '${p}'`); + } + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) + throw 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 EBADF(`fstatSync`); + const { p } = entry; + const resolvedP = this.resolveFilename(`stat '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`stat '${p}'`); + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) + throw 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 ENOENT(`lstat '${p}'`); + } + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) + throw 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.constants.S_IFDIR : this.isSymbolicLink(entry) ? fs.constants.S_IFLNK : fs.constants.S_IFREG; + const defaultMode = type === fs.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 StatEntry(), { uid, gid, size, blksize, blocks, atime, birthtime, ctime, mtime, atimeMs, birthtimeMs, ctimeMs, mtimeMs, mode, crc }); + return opts.bigint === true ? 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.constants.S_IFDIR | 493; + const crc = 0; + const statInstance = Object.assign(new StatEntry(), { uid, gid, size, blksize, blocks, atime, birthtime, ctime, mtime, atimeMs, birthtimeMs, ctimeMs, mtimeMs, mode, crc }); + return opts.bigint === true ? 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(ppath.dirname(p)); + parentListing.add(ppath.basename(p)); + const newListing = /* @__PURE__ */ new Set(); + this.listings.set(p, newListing); + return newListing; + } + registerEntry(p, index) { + const parentListing = this.registerListing(ppath.dirname(p)); + parentListing.add(ppath.basename(p)); + this.entries.set(p, index); + } + unregisterListing(p) { + this.listings.delete(p); + const parentListing = this.listings.get(ppath.dirname(p)); + parentListing?.delete(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 EBUSY(`archive closed, ${reason}`); + let resolvedP = ppath.resolve(PortablePath.root, p); + if (resolvedP === `/`) + return 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, ppath.resolve(ppath.dirname(resolvedP), target), true, throwIfNoEntry); + } else { + return resolvedP; + } + } + while (true) { + const parentP = this.resolveFilename(reason, 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 ENOENT(reason); + } + if (!isDir) + throw ENOTDIR(reason); + resolvedP = ppath.resolve(parentP, 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 = ppath.resolve(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 = ppath.relative(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.constants.S_IFMT) === fs.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__default.default.inflateRaw(data, (error, result) => { + if (error) { + reject(error); + } else { + this.fileSources.set(index, result); + resolve(result); + } + }); + }); + } else { + const decompressedData = zlib__default.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 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.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 EROFS(`copyfile '${sourceP} -> '${destP}'`); + if ((flags & fs.constants.COPYFILE_FICLONE_FORCE) !== 0) + throw 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 EINVAL(`copyfile '${sourceP}' -> '${destP}'`); + const resolvedDestP = this.resolveFilename(`copyfile '${sourceP}' -> ${destP}'`, destP); + const indexDest = this.entries.get(resolvedDestP); + if ((flags & (fs.constants.COPYFILE_EXCL | fs.constants.COPYFILE_FICLONE_FORCE)) !== 0 && typeof indexDest !== `undefined`) + throw EEXIST(`copyfile '${sourceP}' -> '${destP}'`); + return { + indexSource, + resolvedDestP, + indexDest + }; + } + async appendFilePromise(p, content, opts) { + if (this.readOnly) + throw 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 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 path = this.fds.get(fd)?.p; + if (typeof path === `undefined`) + throw EBADF(reason); + return path; + } + 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 EROFS(`open '${p}'`); + const resolvedP = this.resolveFilename(`open '${p}'`, p); + if (this.listings.has(resolvedP)) + throw 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 EROFS(`unlink '${p}'`); + const resolvedP = this.resolveFilename(`unlink '${p}'`, p); + if (this.listings.has(resolvedP)) + throw EISDIR(`unlink '${p}'`); + const index = this.entries.get(resolvedP); + if (typeof index === `undefined`) + throw 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 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 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 EROFS(`mkdir '${p}'`); + const resolvedP = this.resolveFilename(`mkdir '${p}'`, p); + if (this.entries.has(resolvedP) || this.listings.has(resolvedP)) + throw 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 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 ENOTDIR(`rmdir '${p}'`); + if (directoryListing.size > 0) + throw ENOTEMPTY(`rmdir '${p}'`); + const index = this.entries.get(resolvedP); + if (typeof index === `undefined`) + throw EINVAL(`rmdir '${p}'`); + this.deleteEntry(p, index); + } + async rmPromise(p, opts) { + return this.rmSync(p, opts); + } + rmSync(p, { recursive = false } = {}) { + if (this.readOnly) + throw 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 ENOTDIR(`rm '${p}'`); + if (directoryListing.size > 0) + throw ENOTEMPTY(`rm '${p}'`); + const index = this.entries.get(resolvedP); + if (typeof index === `undefined`) + throw EINVAL(`rm '${p}'`); + this.deleteEntry(p, index); + } + hydrateDirectory(resolvedP) { + const index = this.libzip.dir.add(this.zip, ppath.relative(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 EOPNOTSUPP(`link '${existingP}' -> '${newP}'`); + } + async symlinkPromise(target, p) { + return this.symlinkSync(target, p); + } + symlinkSync(target, p) { + if (this.readOnly) + throw EROFS(`symlink '${target}' -> '${p}'`); + const resolvedP = this.resolveFilename(`symlink '${target}' -> '${p}'`, p); + if (this.listings.has(resolvedP)) + throw EISDIR(`symlink '${target}' -> '${p}'`); + if (this.entries.has(resolvedP)) + throw 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.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 ENOENT(`open '${p}'`); + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) + throw ENOTDIR(`open '${p}'`); + if (this.listings.has(resolvedP)) + throw 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 ENOENT(`scandir '${p}'`); + const directoryListing = this.listings.get(resolvedP); + if (!directoryListing) + throw ENOTDIR(`scandir '${p}'`); + if (opts?.recursive) { + if (opts?.withFileTypes) { + const entries = Array.from(directoryListing, (name) => { + return Object.assign(this.statImpl(`lstat`, ppath.join(p, name)), { + name, + path: PortablePath.dot + }); + }); + for (const entry of entries) { + if (!entry.isDirectory()) + continue; + const subPath = ppath.join(entry.path, entry.name); + const subListing = this.listings.get(ppath.join(resolvedP, subPath)); + for (const child of subListing) { + entries.push(Object.assign(this.statImpl(`lstat`, 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(ppath.join(resolvedP, subPath)); + if (typeof subListing === `undefined`) + continue; + for (const child of subListing) { + entries.push(ppath.join(subPath, child)); + } + } + return entries; + } + } else if (opts?.withFileTypes) { + return Array.from(directoryListing, (name) => { + return Object.assign(this.statImpl(`lstat`, 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 ENOENT(`readlink '${p}'`); + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) + throw ENOTDIR(`open '${p}'`); + if (this.listings.has(resolvedP)) + throw EINVAL(`readlink '${p}'`); + const entry = this.entries.get(resolvedP); + if (entry === void 0) + throw new Error(`Unreachable`); + if (!this.isSymbolicLink(entry)) + throw 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 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 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 = ppath.resolve(PortablePath.root, p); + return watchFile(this, resolvedP, a, b); + } + unwatchFile(p, cb) { + const resolvedP = ppath.resolve(PortablePath.root, p); + return unwatchFile(this, resolvedP, cb); + } +} + +setFactory(() => { + const emZip = createModule(); + return makeInterface(emZip); +}); + +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 || {}); +const MODULE_NOT_FOUND_ERRORS = /* @__PURE__ */ new Set([ + "BUILTIN_NODE_RESOLUTION_FAILED" /* BUILTIN_NODE_RESOLUTION_FAILED */, + "MISSING_DEPENDENCY" /* MISSING_DEPENDENCY */, + "MISSING_PEER_DEPENDENCY" /* MISSING_PEER_DEPENDENCY */, + "QUALIFIED_PATH_RESOLUTION_FAILED" /* 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 getIssuerModule(parent) { + let issuer = parent; + while (issuer && (issuer.id === `[eval]` || issuer.id === `` || !issuer.filename)) + issuer = issuer.parent; + return issuer || null; +} +function getPathForDisplay(p) { + return npath.normalize(npath.fromPortablePath(p)); +} + +const [major, minor] = process.versions.node.split(`.`).map((value) => parseInt(value, 10)); +const WATCH_MODE_MESSAGE_USES_ARRAYS = major > 19 || major === 19 && minor >= 2 || major === 18 && minor >= 13; + +function readPackageScope(checkPath) { + const rootSeparatorIndex = checkPath.indexOf(npath.sep); + let separatorIndex; + do { + separatorIndex = checkPath.lastIndexOf(npath.sep); + checkPath = checkPath.slice(0, separatorIndex); + if (checkPath.endsWith(`${npath.sep}node_modules`)) + return false; + const pjson = readPackage(checkPath + npath.sep); + if (pjson) { + return { + data: pjson, + path: checkPath + }; + } + } while (separatorIndex > rootSeparatorIndex); + return false; +} +function readPackage(requestPath) { + const jsonPath = npath.resolve(requestPath, `package.json`); + if (!fs__default.default.existsSync(jsonPath)) + return null; + return JSON.parse(fs__default.default.readFileSync(jsonPath, `utf8`)); +} +function ERR_REQUIRE_ESM(filename, parentPath = null) { + const basename = parentPath && path__default.default.basename(filename) === path__default.default.basename(parentPath) ? filename : path__default.default.basename(filename); + const msg = `require() of ES Module ${filename}${parentPath ? ` from ${parentPath}` : ``} not supported. +Instead change the require of ${basename} in ${parentPath} to a dynamic import() which is available in all CommonJS modules.`; + const err = new Error(msg); + err.code = `ERR_REQUIRE_ESM`; + return err; +} +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 applyPatch(pnpapi, opts) { + let enableNativeHooks = true; + process.versions.pnp = String(pnpapi.VERSIONS.std); + const moduleExports = require$$0__default.default; + moduleExports.findPnpApi = (lookupSource) => { + const lookupPath = lookupSource instanceof URL ? url.fileURLToPath(lookupSource) : lookupSource; + const apiPath = opts.manager.findApiPathFor(lookupPath); + if (apiPath === null) + return null; + const apiEntry = opts.manager.getApiEntry(apiPath, true); + return apiEntry.instance.findPackageLocator(lookupPath) ? apiEntry.instance : null; + }; + function getRequireStack(parent) { + const requireStack = []; + for (let cursor = parent; cursor; cursor = cursor.parent) + requireStack.push(cursor.filename || cursor.id); + return requireStack; + } + const originalModuleLoad = require$$0.Module._load; + require$$0.Module._load = function(request, parent, isMain) { + if (request === `pnpapi`) { + const parentApiPath = opts.manager.getApiPathFromParent(parent); + if (parentApiPath) { + return opts.manager.getApiEntry(parentApiPath, true).instance; + } + } + return originalModuleLoad.call(require$$0.Module, request, parent, isMain); + }; + function getIssuerSpecsFromPaths(paths) { + return paths.map((path) => ({ + apiPath: opts.manager.findApiPathFor(path), + path, + module: null + })); + } + function getIssuerSpecsFromModule(module) { + if (module && module.id !== `` && module.id !== `internal/preload` && !module.parent && !module.filename && module.paths.length > 0) { + return [{ + apiPath: opts.manager.findApiPathFor(module.paths[0]), + path: module.paths[0], + module + }]; + } + const issuer = getIssuerModule(module); + if (issuer !== null) { + const path = npath.dirname(issuer.filename); + const apiPath = opts.manager.getApiPathFromParent(issuer); + return [{ apiPath, path, module }]; + } else { + const path = process.cwd(); + const apiPath = opts.manager.findApiPathFor(npath.join(path, `[file]`)) ?? opts.manager.getApiPathFromParent(null); + return [{ apiPath, path, module }]; + } + } + function makeFakeParent(path) { + const fakeParent = new require$$0.Module(``); + const fakeFilePath = npath.join(path, `[file]`); + fakeParent.paths = require$$0.Module._nodeModulePaths(fakeFilePath); + return fakeParent; + } + const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:@[^/]+\/)?[^/]+)\/*(.*|)$/; + const originalModuleResolveFilename = require$$0.Module._resolveFilename; + require$$0.Module._resolveFilename = function(request, parent, isMain, options) { + if (require$$0.isBuiltin(request)) + return request; + if (!enableNativeHooks) + return originalModuleResolveFilename.call(require$$0.Module, request, parent, isMain, options); + if (options && options.plugnplay === false) { + const { plugnplay, ...forwardedOptions } = options; + try { + enableNativeHooks = false; + return originalModuleResolveFilename.call(require$$0.Module, request, parent, isMain, forwardedOptions); + } finally { + enableNativeHooks = true; + } + } + if (options) { + const optionNames = new Set(Object.keys(options)); + optionNames.delete(`paths`); + optionNames.delete(`plugnplay`); + if (optionNames.size > 0) { + throw makeError( + ErrorCode.UNSUPPORTED, + `Some options passed to require() aren't supported by PnP yet (${Array.from(optionNames).join(`, `)})` + ); + } + } + const issuerSpecs = options && options.paths ? getIssuerSpecsFromPaths(options.paths) : getIssuerSpecsFromModule(parent); + if (request.match(pathRegExp) === null) { + const parentDirectory = parent?.filename != null ? npath.dirname(parent.filename) : null; + const absoluteRequest = npath.isAbsolute(request) ? request : parentDirectory !== null ? npath.resolve(parentDirectory, request) : null; + if (absoluteRequest !== null) { + const apiPath = parent && parentDirectory === npath.dirname(absoluteRequest) ? opts.manager.getApiPathFromParent(parent) : opts.manager.findApiPathFor(absoluteRequest); + if (apiPath !== null) { + issuerSpecs.unshift({ + apiPath, + path: parentDirectory, + module: null + }); + } + } + } + let firstError; + for (const { apiPath, path, module } of issuerSpecs) { + let resolution; + const issuerApi = apiPath !== null ? opts.manager.getApiEntry(apiPath, true).instance : null; + try { + if (issuerApi !== null) { + resolution = issuerApi.resolveRequest(request, path !== null ? `${path}/` : null); + } else { + if (path === null) + throw new Error(`Assertion failed: Expected the path to be set`); + resolution = originalModuleResolveFilename.call(require$$0.Module, request, module || makeFakeParent(path), isMain); + } + } catch (error) { + firstError = firstError || error; + continue; + } + if (resolution !== null) { + return resolution; + } + } + const requireStack = getRequireStack(parent); + Object.defineProperty(firstError, `requireStack`, { + configurable: true, + writable: true, + enumerable: false, + value: requireStack + }); + if (requireStack.length > 0) + firstError.message += ` +Require stack: +- ${requireStack.join(` +- `)}`; + if (typeof firstError.pnpCode === `string`) + Error.captureStackTrace(firstError); + throw firstError; + }; + const originalFindPath = require$$0.Module._findPath; + require$$0.Module._findPath = function(request, paths, isMain) { + if (request === `pnpapi`) + return false; + if (!enableNativeHooks) + return originalFindPath.call(require$$0.Module, request, paths, isMain); + const isAbsolute = npath.isAbsolute(request); + if (isAbsolute) + paths = [``]; + else if (!paths || paths.length === 0) + return false; + for (const path of paths) { + let resolution; + try { + const pnpApiPath = opts.manager.findApiPathFor(isAbsolute ? request : path); + if (pnpApiPath !== null) { + const api = opts.manager.getApiEntry(pnpApiPath, true).instance; + resolution = api.resolveRequest(request, path) || false; + } else { + resolution = originalFindPath.call(require$$0.Module, request, [path], isMain); + } + } catch (error) { + continue; + } + if (resolution) { + return resolution; + } + } + return false; + }; + const originalExtensionJSFunction = require$$0.Module._extensions[`.js`]; + require$$0.Module._extensions[`.js`] = function(module, filename) { + if (filename.endsWith(`.js`)) { + const pkg = readPackageScope(filename); + if (pkg && pkg.data?.type === `module`) { + const err = ERR_REQUIRE_ESM(filename, module.parent?.filename); + Error.captureStackTrace(err); + throw err; + } + } + originalExtensionJSFunction.call(this, module, filename); + }; + const originalDlopen = process.dlopen; + process.dlopen = function(...args) { + const [module, filename, ...rest] = args; + return originalDlopen.call( + this, + module, + npath.fromPortablePath(VirtualFS.resolveVirtual(npath.toPortablePath(filename))), + ...rest + ); + }; + const originalEmit = process.emit; + process.emit = function(name, data, ...args) { + if (name === `warning` && typeof data === `object` && data.name === `ExperimentalWarning` && (data.message.includes(`--experimental-loader`) || data.message.includes(`Custom ESM Loaders is an experimental feature`))) + return false; + return originalEmit.apply(process, arguments); + }; + patchFs(fs__default.default, new PosixFS(opts.fakeFs)); +} + +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 + }; +} + +const ArrayIsArray = Array.isArray; +const JSONStringify = JSON.stringify; +const ObjectGetOwnPropertyNames = Object.getOwnPropertyNames; +const ObjectPrototypeHasOwnProperty = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop); +const RegExpPrototypeExec = (obj, string) => RegExp.prototype.exec.call(obj, string); +const RegExpPrototypeSymbolReplace = (obj, ...rest) => RegExp.prototype[Symbol.replace].apply(obj, rest); +const StringPrototypeEndsWith = (str, ...rest) => String.prototype.endsWith.apply(str, rest); +const StringPrototypeIncludes = (str, ...rest) => String.prototype.includes.apply(str, rest); +const StringPrototypeLastIndexOf = (str, ...rest) => String.prototype.lastIndexOf.apply(str, rest); +const StringPrototypeIndexOf = (str, ...rest) => String.prototype.indexOf.apply(str, rest); +const StringPrototypeReplace = (str, ...rest) => String.prototype.replace.apply(str, rest); +const StringPrototypeSlice = (str, ...rest) => String.prototype.slice.apply(str, rest); +const StringPrototypeStartsWith = (str, ...rest) => String.prototype.startsWith.apply(str, rest); +const SafeMap = Map; +const 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}]`; + } + }; +} +const 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 +); +const ERR_INVALID_MODULE_SPECIFIER = createErrorType( + `ERR_INVALID_MODULE_SPECIFIER`, + (request, reason, base = void 0) => { + return `Invalid module "${request}" ${reason}${base ? ` imported from ${base}` : ``}`; + }, + TypeError +); +const 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 +); +const ERR_INVALID_PACKAGE_CONFIG = createErrorType( + `ERR_INVALID_PACKAGE_CONFIG`, + (path, base, message) => { + return `Invalid package config ${path}${base ? ` while importing ${base}` : ``}${message ? `. ${message}` : ``}`; + }, + Error +); +const 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; +} + +const packageJSONCache = new SafeMap(); +function getPackageConfig(path, specifier, base, readFileSyncFn) { + const existing = packageJSONCache.get(path); + if (existing !== void 0) { + return existing; + } + const source = readFileSyncFn(path); + if (source === void 0) { + const packageConfig2 = { + pjsonPath: path, + exists: false, + main: void 0, + name: void 0, + type: "none", + exports: void 0, + imports: void 0 + }; + packageJSONCache.set(path, packageConfig2); + return packageConfig2; + } + let packageJSON; + try { + packageJSON = JSONParse(source); + } catch (error) { + throw new ERR_INVALID_PACKAGE_CONFIG( + path, + (base ? `"${specifier}" from ` : "") + url.fileURLToPath(base || specifier), + error.message + ); + } + let { imports, main, name, type } = filterOwnProperties(packageJSON, [ + "imports", + "main", + "name", + "type" + ]); + const exports = 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: path, + exists: true, + main, + name, + type, + exports, + imports + }; + packageJSONCache.set(path, 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) + ); +} +const 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; +const 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(exports, packageJSONUrl, base) { + if (typeof exports === "string" || ArrayIsArray(exports)) return true; + if (typeof exports !== "object" || exports === null) return false; + const keys = ObjectGetOwnPropertyNames(exports); + 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) + ); +} +const 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, + base, + conditions +}) { + if (isConditionalExportsMainSugar(exports, packageJSONUrl, base)) + exports = { ".": exports }; + if (ObjectPrototypeHasOwnProperty(exports, packageSubpath) && !StringPrototypeIncludes(packageSubpath, "*") && !StringPrototypeEndsWith(packageSubpath, "/")) { + const target = exports[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(exports); + 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 = exports[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); +} + +const flagSymbol = Symbol('arg flag'); + +class ArgError extends Error { + constructor(msg, code) { + super(msg); + this.name = 'ArgError'; + this.code = code; + + Object.setPrototypeOf(this, ArgError.prototype); + } +} + +function arg( + opts, + { + argv = process.argv.slice(2), + permissive = false, + stopAtPositional = false + } = {} +) { + if (!opts) { + throw new ArgError( + 'argument specification object is required', + 'ARG_CONFIG_NO_SPEC' + ); + } + + const result = { _: [] }; + + 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 = argv.length; i < len; i++) { + const wholeArg = argv[i]; + + if (stopAtPositional && result._.length > 0) { + result._ = result._.concat(argv.slice(i)); + break; + } + + if (wholeArg === '--') { + result._ = result._.concat(argv.slice(i + 1)); + break; + } + + if (wholeArg.length > 1 && wholeArg[0] === '-') { + /* eslint-disable operator-linebreak */ + const separatedArguments = + wholeArg[1] === '-' || wholeArg.length === 2 + ? [wholeArg] + : wholeArg + .slice(1) + .split('') + .map((a) => `-${a}`); + /* eslint-enable operator-linebreak */ + + for (let j = 0; j < separatedArguments.length; j++) { + const arg = separatedArguments[j]; + const [originalArgName, argStr] = + arg[1] === '-' ? arg.split(/=(.*)/, 2) : [arg, undefined]; + + let argName = originalArgName; + while (argName in aliases) { + argName = aliases[argName]; + } + + if (!(argName in handlers)) { + if (permissive) { + result._.push(arg); + 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) { + result[argName] = type(true, argName, result[argName]); + } else if (argStr === undefined) { + if ( + argv.length < i + 2 || + (argv[i + 1].length > 1 && + argv[i + 1][0] === '-' && + !( + argv[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' + ); + } + + result[argName] = type(argv[i + 1], argName, result[argName]); + ++i; + } else { + result[argName] = type(argStr, argName, result[argName]); + } + } + } else { + result._.push(wholeArg); + } + } + + return result; +} + +arg.flag = (fn) => { + fn[flagSymbol] = true; + return fn; +}; + +// Utility types +arg.COUNT = arg.flag((v, name, existingCount) => (existingCount || 0) + 1); + +// Expose error class +arg.ArgError = ArgError; + +var arg_1 = arg; + +/** + @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. +*/ +function getOptionValue(opt) { + parseOptions(); + return options[opt]; +} +let options; +function parseOptions() { + if (!options) { + options = { + "--conditions": [], + ...parseArgv(getNodeOptionsEnvArgv()), + ...parseArgv(process.execArgv) + }; + } +} +function parseArgv(argv) { + return arg_1( + { + "--conditions": [String], + "-C": "--conditions" + }, + { + argv, + 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; +} + +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 arg of entry.args) + console.error(` ${c(`37;1`, `In \u2190`)} ${nodeUtils.inspect(arg, { 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(path) { + const fakeModule = new require$$0.Module(path, null); + fakeModule.filename = path; + fakeModule.paths = require$$0.Module._nodeModulePaths(path); + return fakeModule; + } + function callNativeResolution(request, issuer) { + if (issuer.endsWith(`/`)) + issuer = ppath.join(issuer, `internal.js`); + return require$$0.Module._resolveFilename(npath.fromPortablePath(request), makeFakeModule(npath.fromPortablePath(issuer)), false, { plugnplay: false }); + } + function isPathIgnored(path) { + if (ignorePattern === null) + return false; + const subPath = ppath.contains(runtimeState.basePath, path); + 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 && require$$0.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 result = callNativeResolution(request, issuer); + if (result === 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(result); + } + } + 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 result = callNativeResolution(request, issuer); + if (result === 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(result); + } + 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 && require$$0.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(require$$0.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 || !require$$0.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: (path) => { + return findPackageLocator(npath.toPortablePath(path)); + }, + 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`, (path) => { + const result = resolveVirtual(npath.toPortablePath(path)); + if (result !== null) { + return npath.fromPortablePath(result); + } else { + return null; + } + }) + }; +} + +function makeManager(pnpapi, opts) { + const initialApiPath = npath.toPortablePath(pnpapi.resolveToUnqualified(`pnpapi`, null)); + const initialApiStats = opts.fakeFs.statSync(npath.toPortablePath(initialApiPath)); + const apiMetadata = /* @__PURE__ */ new Map([ + [initialApiPath, { + instance: pnpapi, + stats: initialApiStats, + lastRefreshCheck: Date.now() + }] + ]); + function loadApiInstance(pnpApiPath) { + const nativePath = npath.fromPortablePath(pnpApiPath); + const module = new require$$0.Module(nativePath, null); + module.load(nativePath); + return module.exports; + } + function refreshApiEntry(pnpApiPath, apiEntry) { + const timeNow = Date.now(); + if (timeNow - apiEntry.lastRefreshCheck < 500) + return; + apiEntry.lastRefreshCheck = timeNow; + const stats = opts.fakeFs.statSync(pnpApiPath); + if (stats.mtime > apiEntry.stats.mtime) { + process.emitWarning(`[Warning] The runtime detected new information in a PnP file; reloading the API instance (${npath.fromPortablePath(pnpApiPath)})`); + apiEntry.stats = stats; + apiEntry.instance = loadApiInstance(pnpApiPath); + } + } + function getApiEntry(pnpApiPath, refresh = false) { + let apiEntry = apiMetadata.get(pnpApiPath); + if (typeof apiEntry !== `undefined`) { + if (refresh) { + refreshApiEntry(pnpApiPath, apiEntry); + } + } else { + apiMetadata.set(pnpApiPath, apiEntry = { + instance: loadApiInstance(pnpApiPath), + stats: opts.fakeFs.statSync(pnpApiPath), + lastRefreshCheck: Date.now() + }); + } + return apiEntry; + } + const findApiPathCache = /* @__PURE__ */ new Map(); + function addToCacheAndReturn(start, end, target) { + if (target !== null) { + target = VirtualFS.resolveVirtual(target); + target = opts.fakeFs.realpathSync(target); + } + let curr; + let next = start; + do { + curr = next; + findApiPathCache.set(curr, target); + next = ppath.dirname(curr); + } while (curr !== end); + return target; + } + function findApiPathFor(modulePath) { + let bestCandidate = null; + for (const [apiPath, apiEntry] of apiMetadata) { + const locator = apiEntry.instance.findPackageLocator(modulePath); + if (!locator) + continue; + if (apiMetadata.size === 1) + return apiPath; + const packageInformation = apiEntry.instance.getPackageInformation(locator); + if (!packageInformation) + throw new Error(`Assertion failed: Couldn't get package information for '${modulePath}'`); + if (!bestCandidate) + bestCandidate = { packageLocation: packageInformation.packageLocation, apiPaths: [] }; + if (packageInformation.packageLocation === bestCandidate.packageLocation) { + bestCandidate.apiPaths.push(apiPath); + } else if (packageInformation.packageLocation.length > bestCandidate.packageLocation.length) { + bestCandidate = { packageLocation: packageInformation.packageLocation, apiPaths: [apiPath] }; + } + } + if (bestCandidate) { + if (bestCandidate.apiPaths.length === 1) + return bestCandidate.apiPaths[0]; + const controlSegment = bestCandidate.apiPaths.map((apiPath) => ` ${npath.fromPortablePath(apiPath)}`).join(` +`); + throw new Error(`Unable to locate pnpapi, the module '${modulePath}' is controlled by multiple pnpapi instances. +This is usually caused by using the global cache (enableGlobalCache: true) + +Controlled by: +${controlSegment} +`); + } + const start = ppath.resolve(npath.toPortablePath(modulePath)); + let curr; + let next = start; + do { + curr = next; + const cached = findApiPathCache.get(curr); + if (cached !== void 0) + return addToCacheAndReturn(start, curr, cached); + const cjsCandidate = ppath.join(curr, Filename.pnpCjs); + if (opts.fakeFs.existsSync(cjsCandidate) && opts.fakeFs.statSync(cjsCandidate).isFile()) + return addToCacheAndReturn(start, curr, cjsCandidate); + const legacyCjsCandidate = ppath.join(curr, Filename.pnpJs); + if (opts.fakeFs.existsSync(legacyCjsCandidate) && opts.fakeFs.statSync(legacyCjsCandidate).isFile()) + return addToCacheAndReturn(start, curr, legacyCjsCandidate); + next = ppath.dirname(curr); + } while (curr !== PortablePath.root); + return addToCacheAndReturn(start, curr, null); + } + const moduleToApiPathCache = /* @__PURE__ */ new WeakMap(); + function getApiPathFromParent(parent) { + if (parent == null) + return initialApiPath; + let apiPath = moduleToApiPathCache.get(parent); + if (typeof apiPath !== `undefined`) + return apiPath; + apiPath = parent.filename ? findApiPathFor(parent.filename) : null; + moduleToApiPathCache.set(parent, apiPath); + return apiPath; + } + return { + getApiPathFromParent, + findApiPathFor, + getApiEntry + }; +} + +const localFs = { ...fs__default.default }; +const nodeFs = new NodeFS(localFs); +const defaultRuntimeState = $$SETUP_STATE(hydrateRuntimeState); +const defaultPnpapiResolution = __filename; +const defaultFsLayer = new VirtualFS({ + baseFs: new ZipOpenFS({ + baseFs: nodeFs, + maxOpenFiles: 80, + readOnlyArchives: true + }) +}); +class DynamicFS extends ProxiedFS { + baseFs = defaultFsLayer; + constructor() { + super(ppath); + } + mapToBase(p) { + return p; + } + mapFromBase(p) { + return p; + } +} +const dynamicFsLayer = new DynamicFS(); +let manager; +const defaultApi = Object.assign(makeApi(defaultRuntimeState, { + fakeFs: dynamicFsLayer, + pnpapiResolution: defaultPnpapiResolution +}), { + /** + * Can be used to generate a different API than the default one (for example + * to map it on `/` rather than the local directory path, or to use a + * different FS layer than the default one). + */ + makeApi: ({ + basePath = void 0, + fakeFs = dynamicFsLayer, + pnpapiResolution = defaultPnpapiResolution, + ...rest + }) => { + const apiRuntimeState = typeof basePath !== `undefined` ? $$SETUP_STATE(hydrateRuntimeState, basePath) : defaultRuntimeState; + return makeApi(apiRuntimeState, { + fakeFs, + pnpapiResolution, + ...rest + }); + }, + /** + * Will inject the specified API into the environment, monkey-patching FS. Is + * automatically called when the hook is loaded through `--require`. + */ + setup: (api) => { + applyPatch(api || defaultApi, { + fakeFs: defaultFsLayer, + manager + }); + dynamicFsLayer.baseFs = new NodeFS(fs__default.default); + } +}); +manager = makeManager(defaultApi, { + fakeFs: dynamicFsLayer +}); +if (module.parent && module.parent.id === `internal/preload`) { + defaultApi.setup(); + if (module.filename) { + delete require$$0__default.default._cache[module.filename]; + } +} +if (process.mainModule === module) { + const reportError = (code, message, data) => { + process.stdout.write(`${JSON.stringify([{ code, message, data }, null])} +`); + }; + const reportSuccess = (resolution) => { + process.stdout.write(`${JSON.stringify([null, resolution])} +`); + }; + const processResolution = (request, issuer) => { + try { + reportSuccess(defaultApi.resolveRequest(request, issuer)); + } catch (error) { + reportError(error.code, error.message, error.data); + } + }; + const processRequest = (data) => { + try { + const [request, issuer] = JSON.parse(data); + processResolution(request, issuer); + } catch (error) { + reportError(`INVALID_JSON`, error.message, error.data); + } + }; + if (process.argv.length > 2) { + if (process.argv.length !== 4) { + process.stderr.write(`Usage: ${process.argv[0]} ${process.argv[1]} +`); + process.exitCode = 64; + } else { + processResolution(process.argv[2], process.argv[3]); + } + } else { + let buffer = ``; + const decoder = new StringDecoder__default.default.StringDecoder(); + process.stdin.on(`data`, (chunk) => { + buffer += decoder.write(chunk); + do { + const index = buffer.indexOf(` +`); + if (index === -1) + break; + const line = buffer.slice(0, index); + buffer = buffer.slice(index + 1); + processRequest(line); + } while (true); + }); + } +} + +module.exports = defaultApi; diff --git a/.prettierrc.cjs b/.prettierrc.cjs index c3524cc..a410b65 100644 --- a/.prettierrc.cjs +++ b/.prettierrc.cjs @@ -1,5 +1,5 @@ module.exports = { - printWidth: 800, + printWidth: 80, tabWidth: 2, useTabs: false, semi: false, diff --git a/typescript/allergies/.exercism/config.json b/typescript/allergies/.exercism/config.json new file mode 100644 index 0000000..b03477a --- /dev/null +++ b/typescript/allergies/.exercism/config.json @@ -0,0 +1,31 @@ +{ + "authors": [ + "CRivasGomez" + ], + "contributors": [ + "masters3d", + "SleeplessByte" + ], + "files": { + "solution": [ + "allergies.ts" + ], + "test": [ + "allergies.test.ts" + ], + "example": [ + ".meta/proof.ci.ts" + ] + }, + "blurb": "Given a person's allergy score, determine whether or not they're allergic to a given item, and their full list of allergies.", + "custom": { + "version.tests.compatibility": "jest-29", + "flag.tests.task-per-describe": false, + "flag.tests.may-run-long": false, + "flag.tests.includes-optional": false, + "flag.tests.jest": true, + "flag.tests.tstyche": false + }, + "source": "Exercise by the JumpstartLab team for students at The Turing School of Software and Design.", + "source_url": "https://turing.edu" +} diff --git a/typescript/allergies/.exercism/metadata.json b/typescript/allergies/.exercism/metadata.json new file mode 100644 index 0000000..e1a671e --- /dev/null +++ b/typescript/allergies/.exercism/metadata.json @@ -0,0 +1 @@ +{"track":"typescript","exercise":"allergies","id":"80d100683eac450eb62499c4eb734797","url":"https://exercism.org/tracks/typescript/exercises/allergies","handle":"briemens","is_requester":true,"auto_approve":false} \ No newline at end of file diff --git a/typescript/allergies/.pnp.cjs b/typescript/allergies/.pnp.cjs new file mode 100755 index 0000000..d7ba23f --- /dev/null +++ b/typescript/allergies/.pnp.cjs @@ -0,0 +1,16683 @@ +#!/usr/bin/env node +/* eslint-disable */ +// @ts-nocheck +"use strict"; + +const RAW_RUNTIME_STATE = +'{\ + "__info": [\ + "This file is automatically generated. Do not touch it, or risk",\ + "your modifications being lost."\ + ],\ + "dependencyTreeRoots": [\ + {\ + "name": "@exercism/typescript-allergies",\ + "reference": "workspace:."\ + }\ + ],\ + "enableTopLevelFallback": true,\ + "ignorePatternData": "(^(?:\\\\.yarn\\\\/sdks(?:\\\\/(?!\\\\.{1,2}(?:\\\\/|$))(?:(?:(?!(?:^|\\\\/)\\\\.{1,2}(?:\\\\/|$)).)*?)|$))$)",\ + "fallbackExclusionList": [\ + ["@exercism/typescript-allergies", ["workspace:."]]\ + ],\ + "fallbackPool": [\ + ],\ + "packageRegistryData": [\ + [null, [\ + [null, {\ + "packageLocation": "./",\ + "packageDependencies": [\ + ["@exercism/babel-preset-typescript", "npm:0.6.0"],\ + ["@exercism/eslint-config-typescript", "virtual:eae072fb4ec4cfb10278b9618e1f0b9223a7f2d1b68a48363782e8e07b712e5912c908ad7164155868a6baaf03178af3c3bd1ec89c72366e2aba013fc9a80a32#npm:0.8.0"],\ + ["@jest/globals", "npm:29.7.0"],\ + ["@types/node", "npm:22.7.9"],\ + ["babel-jest", "virtual:eae072fb4ec4cfb10278b9618e1f0b9223a7f2d1b68a48363782e8e07b712e5912c908ad7164155868a6baaf03178af3c3bd1ec89c72366e2aba013fc9a80a32#npm:29.7.0"],\ + ["core-js", "npm:3.38.1"],\ + ["eslint", "virtual:eae072fb4ec4cfb10278b9618e1f0b9223a7f2d1b68a48363782e8e07b712e5912c908ad7164155868a6baaf03178af3c3bd1ec89c72366e2aba013fc9a80a32#npm:9.25.0"],\ + ["expect", "npm:29.7.0"],\ + ["jest", "virtual:eae072fb4ec4cfb10278b9618e1f0b9223a7f2d1b68a48363782e8e07b712e5912c908ad7164155868a6baaf03178af3c3bd1ec89c72366e2aba013fc9a80a32#npm:29.7.0"],\ + ["prettier", "npm:3.5.3"],\ + ["tstyche", "virtual:eae072fb4ec4cfb10278b9618e1f0b9223a7f2d1b68a48363782e8e07b712e5912c908ad7164155868a6baaf03178af3c3bd1ec89c72366e2aba013fc9a80a32#npm:2.1.1"],\ + ["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40"],\ + ["typescript-eslint", "virtual:eae072fb4ec4cfb10278b9618e1f0b9223a7f2d1b68a48363782e8e07b712e5912c908ad7164155868a6baaf03178af3c3bd1ec89c72366e2aba013fc9a80a32#npm:8.30.1"]\ + ],\ + "linkType": "SOFT"\ + }]\ + ]],\ + ["@ampproject/remapping", [\ + ["npm:2.3.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@ampproject-remapping-npm-2.3.0-559c14eee4-10.zip/node_modules/@ampproject/remapping/",\ + "packageDependencies": [\ + ["@ampproject/remapping", "npm:2.3.0"],\ + ["@jridgewell/gen-mapping", "npm:0.3.8"],\ + ["@jridgewell/trace-mapping", "npm:0.3.25"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/code-frame", [\ + ["npm:7.26.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-code-frame-npm-7.26.2-4902b56813-10.zip/node_modules/@babel/code-frame/",\ + "packageDependencies": [\ + ["@babel/code-frame", "npm:7.26.2"],\ + ["@babel/helper-validator-identifier", "npm:7.25.9"],\ + ["js-tokens", "npm:4.0.0"],\ + ["picocolors", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/compat-data", [\ + ["npm:7.26.8", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-compat-data-npm-7.26.8-fb802c4940-10.zip/node_modules/@babel/compat-data/",\ + "packageDependencies": [\ + ["@babel/compat-data", "npm:7.26.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/core", [\ + ["npm:7.26.10", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-core-npm-7.26.10-0b29e369b5-10.zip/node_modules/@babel/core/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.26.10"],\ + ["@ampproject/remapping", "npm:2.3.0"],\ + ["@babel/code-frame", "npm:7.26.2"],\ + ["@babel/generator", "npm:7.27.0"],\ + ["@babel/helper-compilation-targets", "npm:7.27.0"],\ + ["@babel/helper-module-transforms", "virtual:0b29e369b5cabceb66f4f9f7eb2bfea5004820a7141f28569a8c55dbecef082f3ef9191fa4288e8f13bbcfed9896b6f90431a16a9ce18c31d8a25782f02d5f09#npm:7.26.0"],\ + ["@babel/helpers", "npm:7.27.0"],\ + ["@babel/parser", "npm:7.27.0"],\ + ["@babel/template", "npm:7.27.0"],\ + ["@babel/traverse", "npm:7.27.0"],\ + ["@babel/types", "npm:7.27.0"],\ + ["convert-source-map", "npm:2.0.0"],\ + ["debug", "virtual:e376c6d25689d1413f13b759a5649fe969efab30320e886cab81ece2b6daf8c4c74f642faff7228a9a286b4b82bc7bac5773e45f1085910307cd111b19a8cd17#npm:4.4.0"],\ + ["gensync", "npm:1.0.0-beta.2"],\ + ["json5", "npm:2.2.3"],\ + ["semver", "npm:6.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/generator", [\ + ["npm:7.27.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-generator-npm-7.27.0-47f3db45ce-10.zip/node_modules/@babel/generator/",\ + "packageDependencies": [\ + ["@babel/generator", "npm:7.27.0"],\ + ["@babel/parser", "npm:7.27.0"],\ + ["@babel/types", "npm:7.27.0"],\ + ["@jridgewell/gen-mapping", "npm:0.3.8"],\ + ["@jridgewell/trace-mapping", "npm:0.3.25"],\ + ["jsesc", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-annotate-as-pure", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-helper-annotate-as-pure-npm-7.25.9-a0f89e14a0-10.zip/node_modules/@babel/helper-annotate-as-pure/",\ + "packageDependencies": [\ + ["@babel/helper-annotate-as-pure", "npm:7.25.9"],\ + ["@babel/types", "npm:7.27.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-compilation-targets", [\ + ["npm:7.27.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-helper-compilation-targets-npm-7.27.0-a682051943-10.zip/node_modules/@babel/helper-compilation-targets/",\ + "packageDependencies": [\ + ["@babel/helper-compilation-targets", "npm:7.27.0"],\ + ["@babel/compat-data", "npm:7.26.8"],\ + ["@babel/helper-validator-option", "npm:7.25.9"],\ + ["browserslist", "npm:4.24.4"],\ + ["lru-cache", "npm:5.1.1"],\ + ["semver", "npm:6.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-create-class-features-plugin", [\ + ["npm:7.27.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-helper-create-class-features-plugin-npm-7.27.0-a8d4461e5d-10.zip/node_modules/@babel/helper-create-class-features-plugin/",\ + "packageDependencies": [\ + ["@babel/helper-create-class-features-plugin", "npm:7.27.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:4f7249d48f94b9895883f0d1ad8af43f77e669a411024f49f67ee218668ef4f4eacce71747f211f9d7363926173e7f77b5443aaae4676b1ed82922b1fc47bbc4#npm:7.27.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-create-class-features-plugin-virtual-d6415219f4/5/.yarn/berry/cache/@babel-helper-create-class-features-plugin-npm-7.27.0-a8d4461e5d-10.zip/node_modules/@babel/helper-create-class-features-plugin/",\ + "packageDependencies": [\ + ["@babel/helper-create-class-features-plugin", "virtual:4f7249d48f94b9895883f0d1ad8af43f77e669a411024f49f67ee218668ef4f4eacce71747f211f9d7363926173e7f77b5443aaae4676b1ed82922b1fc47bbc4#npm:7.27.0"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-annotate-as-pure", "npm:7.25.9"],\ + ["@babel/helper-member-expression-to-functions", "npm:7.25.9"],\ + ["@babel/helper-optimise-call-expression", "npm:7.25.9"],\ + ["@babel/helper-replace-supers", "virtual:d6415219f4a0844612fdb83b8fbfc416f141be8e9e8c2d17e57dc979adb20b7c57bc38c5f6c28624b934d76eb74422566be3957e8fbdefd64acd4c63b1ee8cb3#npm:7.26.5"],\ + ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.25.9"],\ + ["@babel/traverse", "npm:7.27.0"],\ + ["@types/babel__core", null],\ + ["semver", "npm:6.3.1"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-create-regexp-features-plugin", [\ + ["npm:7.27.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-helper-create-regexp-features-plugin-npm-7.27.0-a1e8c75585-10.zip/node_modules/@babel/helper-create-regexp-features-plugin/",\ + "packageDependencies": [\ + ["@babel/helper-create-regexp-features-plugin", "npm:7.27.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ea3fc3e512ed7f44e2e8d78c5a4f9facccab46b674bb1bcc30c27797d404edfb59c524c995258645880d23a216fcd1c9fe4a708c4c58bf3c2f44d90561e2179#npm:7.27.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-create-regexp-features-plugin-virtual-1af08341a0/5/.yarn/berry/cache/@babel-helper-create-regexp-features-plugin-npm-7.27.0-a1e8c75585-10.zip/node_modules/@babel/helper-create-regexp-features-plugin/",\ + "packageDependencies": [\ + ["@babel/helper-create-regexp-features-plugin", "virtual:9ea3fc3e512ed7f44e2e8d78c5a4f9facccab46b674bb1bcc30c27797d404edfb59c524c995258645880d23a216fcd1c9fe4a708c4c58bf3c2f44d90561e2179#npm:7.27.0"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-annotate-as-pure", "npm:7.25.9"],\ + ["@types/babel__core", null],\ + ["regexpu-core", "npm:6.2.0"],\ + ["semver", "npm:6.3.1"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-define-polyfill-provider", [\ + ["npm:0.6.4", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-helper-define-polyfill-provider-npm-0.6.4-7b754cd2d1-10.zip/node_modules/@babel/helper-define-polyfill-provider/",\ + "packageDependencies": [\ + ["@babel/helper-define-polyfill-provider", "npm:0.6.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:d61d89c60c0d0836519b15a1b43f86ac883875f856a00cb9f92d52e493b4a805058d003d57fed2a68bfea5738cddb2e2ad1fdd6f1b8a802cdd0c63ab44fbcc2d#npm:0.6.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-define-polyfill-provider-virtual-e0cc9c867d/5/.yarn/berry/cache/@babel-helper-define-polyfill-provider-npm-0.6.4-7b754cd2d1-10.zip/node_modules/@babel/helper-define-polyfill-provider/",\ + "packageDependencies": [\ + ["@babel/helper-define-polyfill-provider", "virtual:d61d89c60c0d0836519b15a1b43f86ac883875f856a00cb9f92d52e493b4a805058d003d57fed2a68bfea5738cddb2e2ad1fdd6f1b8a802cdd0c63ab44fbcc2d#npm:0.6.4"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-compilation-targets", "npm:7.27.0"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null],\ + ["debug", "virtual:e376c6d25689d1413f13b759a5649fe969efab30320e886cab81ece2b6daf8c4c74f642faff7228a9a286b4b82bc7bac5773e45f1085910307cd111b19a8cd17#npm:4.4.0"],\ + ["lodash.debounce", "npm:4.0.8"],\ + ["resolve", "patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-member-expression-to-functions", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-helper-member-expression-to-functions-npm-7.25.9-761e6fec27-10.zip/node_modules/@babel/helper-member-expression-to-functions/",\ + "packageDependencies": [\ + ["@babel/helper-member-expression-to-functions", "npm:7.25.9"],\ + ["@babel/traverse", "npm:7.27.0"],\ + ["@babel/types", "npm:7.27.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-module-imports", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-helper-module-imports-npm-7.25.9-b86e31bde9-10.zip/node_modules/@babel/helper-module-imports/",\ + "packageDependencies": [\ + ["@babel/helper-module-imports", "npm:7.25.9"],\ + ["@babel/traverse", "npm:7.27.0"],\ + ["@babel/types", "npm:7.27.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-module-transforms", [\ + ["npm:7.26.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-helper-module-transforms-npm-7.26.0-7557a3558f-10.zip/node_modules/@babel/helper-module-transforms/",\ + "packageDependencies": [\ + ["@babel/helper-module-transforms", "npm:7.26.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0b29e369b5cabceb66f4f9f7eb2bfea5004820a7141f28569a8c55dbecef082f3ef9191fa4288e8f13bbcfed9896b6f90431a16a9ce18c31d8a25782f02d5f09#npm:7.26.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-module-transforms-virtual-60af4713da/5/.yarn/berry/cache/@babel-helper-module-transforms-npm-7.26.0-7557a3558f-10.zip/node_modules/@babel/helper-module-transforms/",\ + "packageDependencies": [\ + ["@babel/helper-module-transforms", "virtual:0b29e369b5cabceb66f4f9f7eb2bfea5004820a7141f28569a8c55dbecef082f3ef9191fa4288e8f13bbcfed9896b6f90431a16a9ce18c31d8a25782f02d5f09#npm:7.26.0"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-module-imports", "npm:7.25.9"],\ + ["@babel/helper-validator-identifier", "npm:7.25.9"],\ + ["@babel/traverse", "npm:7.27.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-optimise-call-expression", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-helper-optimise-call-expression-npm-7.25.9-d8006fbada-10.zip/node_modules/@babel/helper-optimise-call-expression/",\ + "packageDependencies": [\ + ["@babel/helper-optimise-call-expression", "npm:7.25.9"],\ + ["@babel/types", "npm:7.27.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-plugin-utils", [\ + ["npm:7.26.5", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-helper-plugin-utils-npm-7.26.5-f9c17c9880-10.zip/node_modules/@babel/helper-plugin-utils/",\ + "packageDependencies": [\ + ["@babel/helper-plugin-utils", "npm:7.26.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-remap-async-to-generator", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-helper-remap-async-to-generator-npm-7.25.9-80702863ff-10.zip/node_modules/@babel/helper-remap-async-to-generator/",\ + "packageDependencies": [\ + ["@babel/helper-remap-async-to-generator", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:25e284168b6e240789ae7cb212b229f5e73cb9d4b1387af78744fff485b8e06b12fe8e4cd00c658d36811574c27ade5c692dd47001ca346e2c3bbd9204e1bf15#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-remap-async-to-generator-virtual-c756531711/5/.yarn/berry/cache/@babel-helper-remap-async-to-generator-npm-7.25.9-80702863ff-10.zip/node_modules/@babel/helper-remap-async-to-generator/",\ + "packageDependencies": [\ + ["@babel/helper-remap-async-to-generator", "virtual:25e284168b6e240789ae7cb212b229f5e73cb9d4b1387af78744fff485b8e06b12fe8e4cd00c658d36811574c27ade5c692dd47001ca346e2c3bbd9204e1bf15#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-annotate-as-pure", "npm:7.25.9"],\ + ["@babel/helper-wrap-function", "npm:7.25.9"],\ + ["@babel/traverse", "npm:7.27.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-replace-supers", [\ + ["npm:7.26.5", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-helper-replace-supers-npm-7.26.5-4b002f04c0-10.zip/node_modules/@babel/helper-replace-supers/",\ + "packageDependencies": [\ + ["@babel/helper-replace-supers", "npm:7.26.5"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:d6415219f4a0844612fdb83b8fbfc416f141be8e9e8c2d17e57dc979adb20b7c57bc38c5f6c28624b934d76eb74422566be3957e8fbdefd64acd4c63b1ee8cb3#npm:7.26.5", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-replace-supers-virtual-01ebb14f23/5/.yarn/berry/cache/@babel-helper-replace-supers-npm-7.26.5-4b002f04c0-10.zip/node_modules/@babel/helper-replace-supers/",\ + "packageDependencies": [\ + ["@babel/helper-replace-supers", "virtual:d6415219f4a0844612fdb83b8fbfc416f141be8e9e8c2d17e57dc979adb20b7c57bc38c5f6c28624b934d76eb74422566be3957e8fbdefd64acd4c63b1ee8cb3#npm:7.26.5"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-member-expression-to-functions", "npm:7.25.9"],\ + ["@babel/helper-optimise-call-expression", "npm:7.25.9"],\ + ["@babel/traverse", "npm:7.27.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-skip-transparent-expression-wrappers", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-helper-skip-transparent-expression-wrappers-npm-7.25.9-215072fae0-10.zip/node_modules/@babel/helper-skip-transparent-expression-wrappers/",\ + "packageDependencies": [\ + ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.25.9"],\ + ["@babel/traverse", "npm:7.27.0"],\ + ["@babel/types", "npm:7.27.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-string-parser", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-helper-string-parser-npm-7.25.9-eade578078-10.zip/node_modules/@babel/helper-string-parser/",\ + "packageDependencies": [\ + ["@babel/helper-string-parser", "npm:7.25.9"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-validator-identifier", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-helper-validator-identifier-npm-7.25.9-2634b947a4-10.zip/node_modules/@babel/helper-validator-identifier/",\ + "packageDependencies": [\ + ["@babel/helper-validator-identifier", "npm:7.25.9"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-validator-option", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-helper-validator-option-npm-7.25.9-6450027d5d-10.zip/node_modules/@babel/helper-validator-option/",\ + "packageDependencies": [\ + ["@babel/helper-validator-option", "npm:7.25.9"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-wrap-function", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-helper-wrap-function-npm-7.25.9-bbd361fe46-10.zip/node_modules/@babel/helper-wrap-function/",\ + "packageDependencies": [\ + ["@babel/helper-wrap-function", "npm:7.25.9"],\ + ["@babel/template", "npm:7.27.0"],\ + ["@babel/traverse", "npm:7.27.0"],\ + ["@babel/types", "npm:7.27.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helpers", [\ + ["npm:7.27.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-helpers-npm-7.27.0-661e2983d3-10.zip/node_modules/@babel/helpers/",\ + "packageDependencies": [\ + ["@babel/helpers", "npm:7.27.0"],\ + ["@babel/template", "npm:7.27.0"],\ + ["@babel/types", "npm:7.27.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/node", [\ + ["npm:7.26.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-node-npm-7.26.0-a7332a2fdc-10.zip/node_modules/@babel/node/",\ + "packageDependencies": [\ + ["@babel/node", "npm:7.26.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:ff2b4a191f94578cb36488d60a1a365f50538534ab3ab35bc022c36c065c88e88a0ed7ba8f88b8eda3d94947090449e78e9bd3e598500c58af20daa98a8673d6#npm:7.26.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-node-virtual-495d1fe58a/5/.yarn/berry/cache/@babel-node-npm-7.26.0-a7332a2fdc-10.zip/node_modules/@babel/node/",\ + "packageDependencies": [\ + ["@babel/node", "virtual:ff2b4a191f94578cb36488d60a1a365f50538534ab3ab35bc022c36c065c88e88a0ed7ba8f88b8eda3d94947090449e78e9bd3e598500c58af20daa98a8673d6#npm:7.26.0"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/register", "virtual:495d1fe58a5940bbe6ad23c1da3ac225f191a10151292e2a512b89a882156dc81abe56f2b01722e6495421b7baa2b8c7f6e0182b3e50a07d7b825013dbb11cf9#npm:7.25.9"],\ + ["@types/babel__core", null],\ + ["commander", "npm:6.2.1"],\ + ["core-js", "npm:3.41.0"],\ + ["node-environment-flags", "npm:1.0.6"],\ + ["regenerator-runtime", "npm:0.14.1"],\ + ["v8flags", "npm:3.2.0"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/parser", [\ + ["npm:7.27.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-parser-npm-7.27.0-ab7dea7b75-10.zip/node_modules/@babel/parser/",\ + "packageDependencies": [\ + ["@babel/parser", "npm:7.27.0"],\ + ["@babel/types", "npm:7.27.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-bugfix-firefox-class-in-computed-class-key", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-bugfix-firefox-class-in-computed-class-key-npm-7.25.9-8b41c5edab-10.zip/node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key/",\ + "packageDependencies": [\ + ["@babel/plugin-bugfix-firefox-class-in-computed-class-key", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-bugfix-firefox-class-in-computed-class-key-virtual-f0ee4ee644/5/.yarn/berry/cache/@babel-plugin-bugfix-firefox-class-in-computed-class-key-npm-7.25.9-8b41c5edab-10.zip/node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key/",\ + "packageDependencies": [\ + ["@babel/plugin-bugfix-firefox-class-in-computed-class-key", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/traverse", "npm:7.27.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-bugfix-safari-class-field-initializer-scope", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-bugfix-safari-class-field-initializer-scope-npm-7.25.9-0004436a46-10.zip/node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope/",\ + "packageDependencies": [\ + ["@babel/plugin-bugfix-safari-class-field-initializer-scope", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-bugfix-safari-class-field-initializer-scope-virtual-63c7bdf75e/5/.yarn/berry/cache/@babel-plugin-bugfix-safari-class-field-initializer-scope-npm-7.25.9-0004436a46-10.zip/node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope/",\ + "packageDependencies": [\ + ["@babel/plugin-bugfix-safari-class-field-initializer-scope", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression-npm-7.25.9-06267b0121-10.zip/node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/",\ + "packageDependencies": [\ + ["@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression-virtual-afc99de068/5/.yarn/berry/cache/@babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression-npm-7.25.9-06267b0121-10.zip/node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/",\ + "packageDependencies": [\ + ["@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining-npm-7.25.9-ae4964ca70-10.zip/node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/",\ + "packageDependencies": [\ + ["@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining-virtual-d2a2f36d0c/5/.yarn/berry/cache/@babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining-npm-7.25.9-ae4964ca70-10.zip/node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/",\ + "packageDependencies": [\ + ["@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.25.9"],\ + ["@babel/plugin-transform-optional-chaining", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-bugfix-v8-static-class-fields-redefine-readonly-npm-7.25.9-dce7f49c0f-10.zip/node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/",\ + "packageDependencies": [\ + ["@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-bugfix-v8-static-class-fields-redefine-readonly-virtual-09b40c7a1d/5/.yarn/berry/cache/@babel-plugin-bugfix-v8-static-class-fields-redefine-readonly-npm-7.25.9-dce7f49c0f-10.zip/node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/",\ + "packageDependencies": [\ + ["@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/traverse", "npm:7.27.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-proposal-private-property-in-object", [\ + ["npm:7.21.0-placeholder-for-preset-env.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-proposal-private-property-in-object-npm-7.21.0-placeholder-for-preset-env.2-eb70026c88-10.zip/node_modules/@babel/plugin-proposal-private-property-in-object/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-private-property-in-object", "npm:7.21.0-placeholder-for-preset-env.2"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.21.0-placeholder-for-preset-env.2", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-proposal-private-property-in-object-virtual-673dd50eea/5/.yarn/berry/cache/@babel-plugin-proposal-private-property-in-object-npm-7.21.0-placeholder-for-preset-env.2-eb70026c88-10.zip/node_modules/@babel/plugin-proposal-private-property-in-object/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-private-property-in-object", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.21.0-placeholder-for-preset-env.2"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-async-generators", [\ + ["npm:7.8.4", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-syntax-async-generators-npm-7.8.4-d10cf993c9-10.zip/node_modules/@babel/plugin-syntax-async-generators/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-async-generators", "npm:7.8.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.8.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-async-generators-virtual-a8d1258f81/5/.yarn/berry/cache/@babel-plugin-syntax-async-generators-npm-7.8.4-d10cf993c9-10.zip/node_modules/@babel/plugin-syntax-async-generators/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-async-generators", "virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.8.4"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.8.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-async-generators-virtual-0bf8fea89a/5/.yarn/berry/cache/@babel-plugin-syntax-async-generators-npm-7.8.4-d10cf993c9-10.zip/node_modules/@babel/plugin-syntax-async-generators/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-async-generators", "virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.8.4"],\ + ["@babel/core", null],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-async-generators-virtual-993f7fd03e/5/.yarn/berry/cache/@babel-plugin-syntax-async-generators-npm-7.8.4-d10cf993c9-10.zip/node_modules/@babel/plugin-syntax-async-generators/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-async-generators", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.4"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-bigint", [\ + ["npm:7.8.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-syntax-bigint-npm-7.8.3-b05d971e6c-10.zip/node_modules/@babel/plugin-syntax-bigint/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-bigint", "npm:7.8.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-bigint-virtual-ee275fc794/5/.yarn/berry/cache/@babel-plugin-syntax-bigint-npm-7.8.3-b05d971e6c-10.zip/node_modules/@babel/plugin-syntax-bigint/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-bigint", "virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.8.3"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-bigint-virtual-2c290d28b4/5/.yarn/berry/cache/@babel-plugin-syntax-bigint-npm-7.8.3-b05d971e6c-10.zip/node_modules/@babel/plugin-syntax-bigint/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-bigint", "virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.8.3"],\ + ["@babel/core", null],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-bigint-virtual-58d7bec2f4/5/.yarn/berry/cache/@babel-plugin-syntax-bigint-npm-7.8.3-b05d971e6c-10.zip/node_modules/@babel/plugin-syntax-bigint/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-bigint", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-class-properties", [\ + ["npm:7.12.13", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-syntax-class-properties-npm-7.12.13-002ee9d930-10.zip/node_modules/@babel/plugin-syntax-class-properties/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-class-properties", "npm:7.12.13"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.12.13", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-class-properties-virtual-f98cc38153/5/.yarn/berry/cache/@babel-plugin-syntax-class-properties-npm-7.12.13-002ee9d930-10.zip/node_modules/@babel/plugin-syntax-class-properties/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-class-properties", "virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.12.13"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.12.13", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-class-properties-virtual-795de832fd/5/.yarn/berry/cache/@babel-plugin-syntax-class-properties-npm-7.12.13-002ee9d930-10.zip/node_modules/@babel/plugin-syntax-class-properties/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-class-properties", "virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.12.13"],\ + ["@babel/core", null],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.12.13", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-class-properties-virtual-7c6db10d10/5/.yarn/berry/cache/@babel-plugin-syntax-class-properties-npm-7.12.13-002ee9d930-10.zip/node_modules/@babel/plugin-syntax-class-properties/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-class-properties", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.12.13"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-class-static-block", [\ + ["npm:7.14.5", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-syntax-class-static-block-npm-7.14.5-7bdd0ff1b3-10.zip/node_modules/@babel/plugin-syntax-class-static-block/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-class-static-block", "npm:7.14.5"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.14.5", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-class-static-block-virtual-3c25b148f7/5/.yarn/berry/cache/@babel-plugin-syntax-class-static-block-npm-7.14.5-7bdd0ff1b3-10.zip/node_modules/@babel/plugin-syntax-class-static-block/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-class-static-block", "virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.14.5"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.14.5", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-class-static-block-virtual-07d9daec95/5/.yarn/berry/cache/@babel-plugin-syntax-class-static-block-npm-7.14.5-7bdd0ff1b3-10.zip/node_modules/@babel/plugin-syntax-class-static-block/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-class-static-block", "virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.14.5"],\ + ["@babel/core", null],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.14.5", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-class-static-block-virtual-bde8a43daf/5/.yarn/berry/cache/@babel-plugin-syntax-class-static-block-npm-7.14.5-7bdd0ff1b3-10.zip/node_modules/@babel/plugin-syntax-class-static-block/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-class-static-block", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.14.5"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-import-assertions", [\ + ["npm:7.26.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-syntax-import-assertions-npm-7.26.0-6c9b84570c-10.zip/node_modules/@babel/plugin-syntax-import-assertions/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-import-assertions", "npm:7.26.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.26.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-assertions-virtual-9db5a420c3/5/.yarn/berry/cache/@babel-plugin-syntax-import-assertions-npm-7.26.0-6c9b84570c-10.zip/node_modules/@babel/plugin-syntax-import-assertions/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-import-assertions", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.26.0"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-import-attributes", [\ + ["npm:7.26.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-syntax-import-attributes-npm-7.26.0-7a281ed168-10.zip/node_modules/@babel/plugin-syntax-import-attributes/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-import-attributes", "npm:7.26.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.26.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-attributes-virtual-992e6f3ca0/5/.yarn/berry/cache/@babel-plugin-syntax-import-attributes-npm-7.26.0-7a281ed168-10.zip/node_modules/@babel/plugin-syntax-import-attributes/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-import-attributes", "virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.26.0"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.26.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-attributes-virtual-961c57ee3b/5/.yarn/berry/cache/@babel-plugin-syntax-import-attributes-npm-7.26.0-7a281ed168-10.zip/node_modules/@babel/plugin-syntax-import-attributes/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-import-attributes", "virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.26.0"],\ + ["@babel/core", null],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.26.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-attributes-virtual-39f10b6270/5/.yarn/berry/cache/@babel-plugin-syntax-import-attributes-npm-7.26.0-7a281ed168-10.zip/node_modules/@babel/plugin-syntax-import-attributes/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-import-attributes", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.26.0"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-import-meta", [\ + ["npm:7.10.4", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-syntax-import-meta-npm-7.10.4-4a0a0158bc-10.zip/node_modules/@babel/plugin-syntax-import-meta/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-import-meta", "npm:7.10.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.10.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-meta-virtual-80089823aa/5/.yarn/berry/cache/@babel-plugin-syntax-import-meta-npm-7.10.4-4a0a0158bc-10.zip/node_modules/@babel/plugin-syntax-import-meta/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-import-meta", "virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.10.4"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.10.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-meta-virtual-913b1665ad/5/.yarn/berry/cache/@babel-plugin-syntax-import-meta-npm-7.10.4-4a0a0158bc-10.zip/node_modules/@babel/plugin-syntax-import-meta/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-import-meta", "virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.10.4"],\ + ["@babel/core", null],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.10.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-meta-virtual-0f69c506d3/5/.yarn/berry/cache/@babel-plugin-syntax-import-meta-npm-7.10.4-4a0a0158bc-10.zip/node_modules/@babel/plugin-syntax-import-meta/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-import-meta", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.10.4"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-json-strings", [\ + ["npm:7.8.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-syntax-json-strings-npm-7.8.3-6dc7848179-10.zip/node_modules/@babel/plugin-syntax-json-strings/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-json-strings", "npm:7.8.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-json-strings-virtual-11dd34e235/5/.yarn/berry/cache/@babel-plugin-syntax-json-strings-npm-7.8.3-6dc7848179-10.zip/node_modules/@babel/plugin-syntax-json-strings/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-json-strings", "virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.8.3"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-json-strings-virtual-91d9165100/5/.yarn/berry/cache/@babel-plugin-syntax-json-strings-npm-7.8.3-6dc7848179-10.zip/node_modules/@babel/plugin-syntax-json-strings/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-json-strings", "virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.8.3"],\ + ["@babel/core", null],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-json-strings-virtual-070ad1091b/5/.yarn/berry/cache/@babel-plugin-syntax-json-strings-npm-7.8.3-6dc7848179-10.zip/node_modules/@babel/plugin-syntax-json-strings/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-json-strings", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-jsx", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-syntax-jsx-npm-7.25.9-3df022f433-10.zip/node_modules/@babel/plugin-syntax-jsx/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-jsx", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1965e24e69cbfd1c07de4037e9cd0ad366d62ee46da5352e000ee7eba2d96b2eb62be2179b6e98241bbf4237678e9ce7fbf6e066dd9ba041e3b4914511d0caa3#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-jsx-virtual-5092a10d15/5/.yarn/berry/cache/@babel-plugin-syntax-jsx-npm-7.25.9-3df022f433-10.zip/node_modules/@babel/plugin-syntax-jsx/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-jsx", "virtual:1965e24e69cbfd1c07de4037e9cd0ad366d62ee46da5352e000ee7eba2d96b2eb62be2179b6e98241bbf4237678e9ce7fbf6e066dd9ba041e3b4914511d0caa3#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-logical-assignment-operators", [\ + ["npm:7.10.4", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-syntax-logical-assignment-operators-npm-7.10.4-72ae00fdf6-10.zip/node_modules/@babel/plugin-syntax-logical-assignment-operators/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-logical-assignment-operators", "npm:7.10.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.10.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-logical-assignment-operators-virtual-d814502433/5/.yarn/berry/cache/@babel-plugin-syntax-logical-assignment-operators-npm-7.10.4-72ae00fdf6-10.zip/node_modules/@babel/plugin-syntax-logical-assignment-operators/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-logical-assignment-operators", "virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.10.4"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.10.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-logical-assignment-operators-virtual-02e00061bd/5/.yarn/berry/cache/@babel-plugin-syntax-logical-assignment-operators-npm-7.10.4-72ae00fdf6-10.zip/node_modules/@babel/plugin-syntax-logical-assignment-operators/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-logical-assignment-operators", "virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.10.4"],\ + ["@babel/core", null],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.10.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-logical-assignment-operators-virtual-ff68e11bd5/5/.yarn/berry/cache/@babel-plugin-syntax-logical-assignment-operators-npm-7.10.4-72ae00fdf6-10.zip/node_modules/@babel/plugin-syntax-logical-assignment-operators/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-logical-assignment-operators", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.10.4"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-nullish-coalescing-operator", [\ + ["npm:7.8.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-syntax-nullish-coalescing-operator-npm-7.8.3-8a723173b5-10.zip/node_modules/@babel/plugin-syntax-nullish-coalescing-operator/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-nullish-coalescing-operator", "npm:7.8.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-nullish-coalescing-operator-virtual-1cc18523f4/5/.yarn/berry/cache/@babel-plugin-syntax-nullish-coalescing-operator-npm-7.8.3-8a723173b5-10.zip/node_modules/@babel/plugin-syntax-nullish-coalescing-operator/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-nullish-coalescing-operator", "virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.8.3"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-nullish-coalescing-operator-virtual-548a2a8e49/5/.yarn/berry/cache/@babel-plugin-syntax-nullish-coalescing-operator-npm-7.8.3-8a723173b5-10.zip/node_modules/@babel/plugin-syntax-nullish-coalescing-operator/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-nullish-coalescing-operator", "virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.8.3"],\ + ["@babel/core", null],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-nullish-coalescing-operator-virtual-383b231c23/5/.yarn/berry/cache/@babel-plugin-syntax-nullish-coalescing-operator-npm-7.8.3-8a723173b5-10.zip/node_modules/@babel/plugin-syntax-nullish-coalescing-operator/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-nullish-coalescing-operator", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-numeric-separator", [\ + ["npm:7.10.4", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-syntax-numeric-separator-npm-7.10.4-81444be605-10.zip/node_modules/@babel/plugin-syntax-numeric-separator/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-numeric-separator", "npm:7.10.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.10.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-numeric-separator-virtual-b398362428/5/.yarn/berry/cache/@babel-plugin-syntax-numeric-separator-npm-7.10.4-81444be605-10.zip/node_modules/@babel/plugin-syntax-numeric-separator/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-numeric-separator", "virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.10.4"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.10.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-numeric-separator-virtual-5ab57920fa/5/.yarn/berry/cache/@babel-plugin-syntax-numeric-separator-npm-7.10.4-81444be605-10.zip/node_modules/@babel/plugin-syntax-numeric-separator/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-numeric-separator", "virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.10.4"],\ + ["@babel/core", null],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.10.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-numeric-separator-virtual-a60ecf78fb/5/.yarn/berry/cache/@babel-plugin-syntax-numeric-separator-npm-7.10.4-81444be605-10.zip/node_modules/@babel/plugin-syntax-numeric-separator/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-numeric-separator", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.10.4"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-object-rest-spread", [\ + ["npm:7.8.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-syntax-object-rest-spread-npm-7.8.3-60bd05b6ae-10.zip/node_modules/@babel/plugin-syntax-object-rest-spread/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-object-rest-spread", "npm:7.8.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-object-rest-spread-virtual-fb4cf79e8f/5/.yarn/berry/cache/@babel-plugin-syntax-object-rest-spread-npm-7.8.3-60bd05b6ae-10.zip/node_modules/@babel/plugin-syntax-object-rest-spread/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-object-rest-spread", "virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.8.3"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-object-rest-spread-virtual-2b0a7fcca4/5/.yarn/berry/cache/@babel-plugin-syntax-object-rest-spread-npm-7.8.3-60bd05b6ae-10.zip/node_modules/@babel/plugin-syntax-object-rest-spread/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-object-rest-spread", "virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.8.3"],\ + ["@babel/core", null],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-object-rest-spread-virtual-0311abb51d/5/.yarn/berry/cache/@babel-plugin-syntax-object-rest-spread-npm-7.8.3-60bd05b6ae-10.zip/node_modules/@babel/plugin-syntax-object-rest-spread/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-object-rest-spread", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-optional-catch-binding", [\ + ["npm:7.8.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-syntax-optional-catch-binding-npm-7.8.3-ce337427d8-10.zip/node_modules/@babel/plugin-syntax-optional-catch-binding/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-optional-catch-binding", "npm:7.8.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-optional-catch-binding-virtual-41393aa9bd/5/.yarn/berry/cache/@babel-plugin-syntax-optional-catch-binding-npm-7.8.3-ce337427d8-10.zip/node_modules/@babel/plugin-syntax-optional-catch-binding/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-optional-catch-binding", "virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.8.3"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-optional-catch-binding-virtual-a4fd5691ed/5/.yarn/berry/cache/@babel-plugin-syntax-optional-catch-binding-npm-7.8.3-ce337427d8-10.zip/node_modules/@babel/plugin-syntax-optional-catch-binding/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-optional-catch-binding", "virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.8.3"],\ + ["@babel/core", null],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-optional-catch-binding-virtual-d5627250c6/5/.yarn/berry/cache/@babel-plugin-syntax-optional-catch-binding-npm-7.8.3-ce337427d8-10.zip/node_modules/@babel/plugin-syntax-optional-catch-binding/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-optional-catch-binding", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-optional-chaining", [\ + ["npm:7.8.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-syntax-optional-chaining-npm-7.8.3-f3f3c79579-10.zip/node_modules/@babel/plugin-syntax-optional-chaining/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-optional-chaining", "npm:7.8.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-optional-chaining-virtual-357920b164/5/.yarn/berry/cache/@babel-plugin-syntax-optional-chaining-npm-7.8.3-f3f3c79579-10.zip/node_modules/@babel/plugin-syntax-optional-chaining/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-optional-chaining", "virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.8.3"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-optional-chaining-virtual-af9ef0098a/5/.yarn/berry/cache/@babel-plugin-syntax-optional-chaining-npm-7.8.3-f3f3c79579-10.zip/node_modules/@babel/plugin-syntax-optional-chaining/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-optional-chaining", "virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.8.3"],\ + ["@babel/core", null],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-optional-chaining-virtual-a53e18a8d9/5/.yarn/berry/cache/@babel-plugin-syntax-optional-chaining-npm-7.8.3-f3f3c79579-10.zip/node_modules/@babel/plugin-syntax-optional-chaining/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-optional-chaining", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-private-property-in-object", [\ + ["npm:7.14.5", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-syntax-private-property-in-object-npm-7.14.5-ee837fdbb2-10.zip/node_modules/@babel/plugin-syntax-private-property-in-object/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-private-property-in-object", "npm:7.14.5"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.14.5", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-private-property-in-object-virtual-2585ea182f/5/.yarn/berry/cache/@babel-plugin-syntax-private-property-in-object-npm-7.14.5-ee837fdbb2-10.zip/node_modules/@babel/plugin-syntax-private-property-in-object/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-private-property-in-object", "virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.14.5"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.14.5", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-private-property-in-object-virtual-44f316cff4/5/.yarn/berry/cache/@babel-plugin-syntax-private-property-in-object-npm-7.14.5-ee837fdbb2-10.zip/node_modules/@babel/plugin-syntax-private-property-in-object/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-private-property-in-object", "virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.14.5"],\ + ["@babel/core", null],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.14.5", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-private-property-in-object-virtual-9c5d44fe2f/5/.yarn/berry/cache/@babel-plugin-syntax-private-property-in-object-npm-7.14.5-ee837fdbb2-10.zip/node_modules/@babel/plugin-syntax-private-property-in-object/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-private-property-in-object", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.14.5"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-top-level-await", [\ + ["npm:7.14.5", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-syntax-top-level-await-npm-7.14.5-60a0a2e83b-10.zip/node_modules/@babel/plugin-syntax-top-level-await/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-top-level-await", "npm:7.14.5"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.14.5", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-top-level-await-virtual-bd34855197/5/.yarn/berry/cache/@babel-plugin-syntax-top-level-await-npm-7.14.5-60a0a2e83b-10.zip/node_modules/@babel/plugin-syntax-top-level-await/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-top-level-await", "virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.14.5"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.14.5", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-top-level-await-virtual-1c0e41fb7f/5/.yarn/berry/cache/@babel-plugin-syntax-top-level-await-npm-7.14.5-60a0a2e83b-10.zip/node_modules/@babel/plugin-syntax-top-level-await/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-top-level-await", "virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.14.5"],\ + ["@babel/core", null],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.14.5", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-top-level-await-virtual-245beac28c/5/.yarn/berry/cache/@babel-plugin-syntax-top-level-await-npm-7.14.5-60a0a2e83b-10.zip/node_modules/@babel/plugin-syntax-top-level-await/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-top-level-await", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.14.5"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-typescript", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-syntax-typescript-npm-7.25.9-5201e4ba77-10.zip/node_modules/@babel/plugin-syntax-typescript/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-typescript", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0b8e42783ac75754e625deb69a3aa0f3ada1d864ed7298cf842bb3b113e6a3c7b0eb3eba020342d9a13010601560cfe264eefd71210bc2ed4235898cf977b489#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-typescript-virtual-5ec91bf23d/5/.yarn/berry/cache/@babel-plugin-syntax-typescript-npm-7.25.9-5201e4ba77-10.zip/node_modules/@babel/plugin-syntax-typescript/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-typescript", "virtual:0b8e42783ac75754e625deb69a3aa0f3ada1d864ed7298cf842bb3b113e6a3c7b0eb3eba020342d9a13010601560cfe264eefd71210bc2ed4235898cf977b489#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-unicode-sets-regex", [\ + ["npm:7.18.6", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-syntax-unicode-sets-regex-npm-7.18.6-b618a36bfd-10.zip/node_modules/@babel/plugin-syntax-unicode-sets-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-unicode-sets-regex", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-unicode-sets-regex-virtual-9ea3fc3e51/5/.yarn/berry/cache/@babel-plugin-syntax-unicode-sets-regex-npm-7.18.6-b618a36bfd-10.zip/node_modules/@babel/plugin-syntax-unicode-sets-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-unicode-sets-regex", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.18.6"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:9ea3fc3e512ed7f44e2e8d78c5a4f9facccab46b674bb1bcc30c27797d404edfb59c524c995258645880d23a216fcd1c9fe4a708c4c58bf3c2f44d90561e2179#npm:7.27.0"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-arrow-functions", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-arrow-functions-npm-7.25.9-ececb64a8c-10.zip/node_modules/@babel/plugin-transform-arrow-functions/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-arrow-functions", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-arrow-functions-virtual-14dfb23a78/5/.yarn/berry/cache/@babel-plugin-transform-arrow-functions-npm-7.25.9-ececb64a8c-10.zip/node_modules/@babel/plugin-transform-arrow-functions/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-arrow-functions", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-async-generator-functions", [\ + ["npm:7.26.8", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-async-generator-functions-npm-7.26.8-f03543b358-10.zip/node_modules/@babel/plugin-transform-async-generator-functions/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-async-generator-functions", "npm:7.26.8"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.26.8", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-async-generator-functions-virtual-25e284168b/5/.yarn/berry/cache/@babel-plugin-transform-async-generator-functions-npm-7.26.8-f03543b358-10.zip/node_modules/@babel/plugin-transform-async-generator-functions/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-async-generator-functions", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.26.8"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/helper-remap-async-to-generator", "virtual:25e284168b6e240789ae7cb212b229f5e73cb9d4b1387af78744fff485b8e06b12fe8e4cd00c658d36811574c27ade5c692dd47001ca346e2c3bbd9204e1bf15#npm:7.25.9"],\ + ["@babel/traverse", "npm:7.27.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-async-to-generator", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-async-to-generator-npm-7.25.9-ebececf71e-10.zip/node_modules/@babel/plugin-transform-async-to-generator/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-async-to-generator", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-async-to-generator-virtual-62b5338c7b/5/.yarn/berry/cache/@babel-plugin-transform-async-to-generator-npm-7.25.9-ebececf71e-10.zip/node_modules/@babel/plugin-transform-async-to-generator/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-async-to-generator", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-module-imports", "npm:7.25.9"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/helper-remap-async-to-generator", "virtual:25e284168b6e240789ae7cb212b229f5e73cb9d4b1387af78744fff485b8e06b12fe8e4cd00c658d36811574c27ade5c692dd47001ca346e2c3bbd9204e1bf15#npm:7.25.9"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-block-scoped-functions", [\ + ["npm:7.26.5", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-block-scoped-functions-npm-7.26.5-279e722607-10.zip/node_modules/@babel/plugin-transform-block-scoped-functions/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-block-scoped-functions", "npm:7.26.5"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.26.5", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-block-scoped-functions-virtual-84087ea629/5/.yarn/berry/cache/@babel-plugin-transform-block-scoped-functions-npm-7.26.5-279e722607-10.zip/node_modules/@babel/plugin-transform-block-scoped-functions/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-block-scoped-functions", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.26.5"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-block-scoping", [\ + ["npm:7.27.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-block-scoping-npm-7.27.0-cfe105501d-10.zip/node_modules/@babel/plugin-transform-block-scoping/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-block-scoping", "npm:7.27.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.27.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-block-scoping-virtual-282b6c3f2f/5/.yarn/berry/cache/@babel-plugin-transform-block-scoping-npm-7.27.0-cfe105501d-10.zip/node_modules/@babel/plugin-transform-block-scoping/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-block-scoping", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.27.0"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-class-properties", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-class-properties-npm-7.25.9-ec8d0fa5bb-10.zip/node_modules/@babel/plugin-transform-class-properties/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-class-properties", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-class-properties-virtual-4f7249d48f/5/.yarn/berry/cache/@babel-plugin-transform-class-properties-npm-7.25.9-ec8d0fa5bb-10.zip/node_modules/@babel/plugin-transform-class-properties/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-class-properties", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-create-class-features-plugin", "virtual:4f7249d48f94b9895883f0d1ad8af43f77e669a411024f49f67ee218668ef4f4eacce71747f211f9d7363926173e7f77b5443aaae4676b1ed82922b1fc47bbc4#npm:7.27.0"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-class-static-block", [\ + ["npm:7.26.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-class-static-block-npm-7.26.0-b277b54abb-10.zip/node_modules/@babel/plugin-transform-class-static-block/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-class-static-block", "npm:7.26.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.26.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-class-static-block-virtual-d952e8eae4/5/.yarn/berry/cache/@babel-plugin-transform-class-static-block-npm-7.26.0-b277b54abb-10.zip/node_modules/@babel/plugin-transform-class-static-block/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-class-static-block", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.26.0"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-create-class-features-plugin", "virtual:4f7249d48f94b9895883f0d1ad8af43f77e669a411024f49f67ee218668ef4f4eacce71747f211f9d7363926173e7f77b5443aaae4676b1ed82922b1fc47bbc4#npm:7.27.0"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-classes", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-classes-npm-7.25.9-2d606dd6e7-10.zip/node_modules/@babel/plugin-transform-classes/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-classes", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-classes-virtual-1022155464/5/.yarn/berry/cache/@babel-plugin-transform-classes-npm-7.25.9-2d606dd6e7-10.zip/node_modules/@babel/plugin-transform-classes/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-classes", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-annotate-as-pure", "npm:7.25.9"],\ + ["@babel/helper-compilation-targets", "npm:7.27.0"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/helper-replace-supers", "virtual:d6415219f4a0844612fdb83b8fbfc416f141be8e9e8c2d17e57dc979adb20b7c57bc38c5f6c28624b934d76eb74422566be3957e8fbdefd64acd4c63b1ee8cb3#npm:7.26.5"],\ + ["@babel/traverse", "npm:7.27.0"],\ + ["@types/babel__core", null],\ + ["globals", "npm:11.12.0"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-computed-properties", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-computed-properties-npm-7.25.9-4f0be3122f-10.zip/node_modules/@babel/plugin-transform-computed-properties/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-computed-properties", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-computed-properties-virtual-7a9d8b1701/5/.yarn/berry/cache/@babel-plugin-transform-computed-properties-npm-7.25.9-4f0be3122f-10.zip/node_modules/@babel/plugin-transform-computed-properties/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-computed-properties", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/template", "npm:7.27.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-destructuring", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-destructuring-npm-7.25.9-4d0defa886-10.zip/node_modules/@babel/plugin-transform-destructuring/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-destructuring", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-destructuring-virtual-94afcaeafc/5/.yarn/berry/cache/@babel-plugin-transform-destructuring-npm-7.25.9-4d0defa886-10.zip/node_modules/@babel/plugin-transform-destructuring/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-destructuring", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-dotall-regex", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-dotall-regex-npm-7.25.9-1035da7e11-10.zip/node_modules/@babel/plugin-transform-dotall-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-dotall-regex", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-dotall-regex-virtual-3efeb6c256/5/.yarn/berry/cache/@babel-plugin-transform-dotall-regex-npm-7.25.9-1035da7e11-10.zip/node_modules/@babel/plugin-transform-dotall-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-dotall-regex", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:9ea3fc3e512ed7f44e2e8d78c5a4f9facccab46b674bb1bcc30c27797d404edfb59c524c995258645880d23a216fcd1c9fe4a708c4c58bf3c2f44d90561e2179#npm:7.27.0"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-duplicate-keys", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-duplicate-keys-npm-7.25.9-1c76576f8f-10.zip/node_modules/@babel/plugin-transform-duplicate-keys/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-duplicate-keys", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-duplicate-keys-virtual-d72baf42a9/5/.yarn/berry/cache/@babel-plugin-transform-duplicate-keys-npm-7.25.9-1c76576f8f-10.zip/node_modules/@babel/plugin-transform-duplicate-keys/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-duplicate-keys", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-duplicate-named-capturing-groups-regex", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-duplicate-named-capturing-groups-regex-npm-7.25.9-dbeaa1108e-10.zip/node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-duplicate-named-capturing-groups-regex", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-duplicate-named-capturing-groups-regex-virtual-725c6af216/5/.yarn/berry/cache/@babel-plugin-transform-duplicate-named-capturing-groups-regex-npm-7.25.9-dbeaa1108e-10.zip/node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-duplicate-named-capturing-groups-regex", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:9ea3fc3e512ed7f44e2e8d78c5a4f9facccab46b674bb1bcc30c27797d404edfb59c524c995258645880d23a216fcd1c9fe4a708c4c58bf3c2f44d90561e2179#npm:7.27.0"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-dynamic-import", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-dynamic-import-npm-7.25.9-a71ccfa36a-10.zip/node_modules/@babel/plugin-transform-dynamic-import/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-dynamic-import", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-dynamic-import-virtual-fb34dec86a/5/.yarn/berry/cache/@babel-plugin-transform-dynamic-import-npm-7.25.9-a71ccfa36a-10.zip/node_modules/@babel/plugin-transform-dynamic-import/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-dynamic-import", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-exponentiation-operator", [\ + ["npm:7.26.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-exponentiation-operator-npm-7.26.3-20f97fba79-10.zip/node_modules/@babel/plugin-transform-exponentiation-operator/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-exponentiation-operator", "npm:7.26.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.26.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-exponentiation-operator-virtual-5485e64eb6/5/.yarn/berry/cache/@babel-plugin-transform-exponentiation-operator-npm-7.26.3-20f97fba79-10.zip/node_modules/@babel/plugin-transform-exponentiation-operator/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-exponentiation-operator", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.26.3"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-export-namespace-from", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-export-namespace-from-npm-7.25.9-135e9e5e1b-10.zip/node_modules/@babel/plugin-transform-export-namespace-from/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-export-namespace-from", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-export-namespace-from-virtual-5eb2a2ab59/5/.yarn/berry/cache/@babel-plugin-transform-export-namespace-from-npm-7.25.9-135e9e5e1b-10.zip/node_modules/@babel/plugin-transform-export-namespace-from/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-export-namespace-from", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-for-of", [\ + ["npm:7.26.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-for-of-npm-7.26.9-d57529b62a-10.zip/node_modules/@babel/plugin-transform-for-of/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-for-of", "npm:7.26.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.26.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-for-of-virtual-8195853273/5/.yarn/berry/cache/@babel-plugin-transform-for-of-npm-7.26.9-d57529b62a-10.zip/node_modules/@babel/plugin-transform-for-of/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-for-of", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.26.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.25.9"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-function-name", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-function-name-npm-7.25.9-d5752b7a23-10.zip/node_modules/@babel/plugin-transform-function-name/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-function-name", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-function-name-virtual-79f002cef4/5/.yarn/berry/cache/@babel-plugin-transform-function-name-npm-7.25.9-d5752b7a23-10.zip/node_modules/@babel/plugin-transform-function-name/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-function-name", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-compilation-targets", "npm:7.27.0"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/traverse", "npm:7.27.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-json-strings", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-json-strings-npm-7.25.9-98c5638edb-10.zip/node_modules/@babel/plugin-transform-json-strings/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-json-strings", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-json-strings-virtual-7fc2db3bdd/5/.yarn/berry/cache/@babel-plugin-transform-json-strings-npm-7.25.9-98c5638edb-10.zip/node_modules/@babel/plugin-transform-json-strings/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-json-strings", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-literals", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-literals-npm-7.25.9-3214d73572-10.zip/node_modules/@babel/plugin-transform-literals/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-literals", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-literals-virtual-c97e9a5d52/5/.yarn/berry/cache/@babel-plugin-transform-literals-npm-7.25.9-3214d73572-10.zip/node_modules/@babel/plugin-transform-literals/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-literals", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-logical-assignment-operators", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-logical-assignment-operators-npm-7.25.9-c5b454492f-10.zip/node_modules/@babel/plugin-transform-logical-assignment-operators/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-logical-assignment-operators", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-logical-assignment-operators-virtual-8521cdaf3a/5/.yarn/berry/cache/@babel-plugin-transform-logical-assignment-operators-npm-7.25.9-c5b454492f-10.zip/node_modules/@babel/plugin-transform-logical-assignment-operators/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-logical-assignment-operators", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-member-expression-literals", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-member-expression-literals-npm-7.25.9-124803ce6b-10.zip/node_modules/@babel/plugin-transform-member-expression-literals/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-member-expression-literals", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-member-expression-literals-virtual-a5c9085e78/5/.yarn/berry/cache/@babel-plugin-transform-member-expression-literals-npm-7.25.9-124803ce6b-10.zip/node_modules/@babel/plugin-transform-member-expression-literals/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-member-expression-literals", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-modules-amd", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-modules-amd-npm-7.25.9-6adc3ea0c6-10.zip/node_modules/@babel/plugin-transform-modules-amd/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-modules-amd", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-modules-amd-virtual-56dbc83916/5/.yarn/berry/cache/@babel-plugin-transform-modules-amd-npm-7.25.9-6adc3ea0c6-10.zip/node_modules/@babel/plugin-transform-modules-amd/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-modules-amd", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-module-transforms", "virtual:0b29e369b5cabceb66f4f9f7eb2bfea5004820a7141f28569a8c55dbecef082f3ef9191fa4288e8f13bbcfed9896b6f90431a16a9ce18c31d8a25782f02d5f09#npm:7.26.0"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-modules-commonjs", [\ + ["npm:7.26.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-modules-commonjs-npm-7.26.3-7c9b991fc5-10.zip/node_modules/@babel/plugin-transform-modules-commonjs/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-modules-commonjs", "npm:7.26.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.26.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-modules-commonjs-virtual-53f84de60e/5/.yarn/berry/cache/@babel-plugin-transform-modules-commonjs-npm-7.26.3-7c9b991fc5-10.zip/node_modules/@babel/plugin-transform-modules-commonjs/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-modules-commonjs", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.26.3"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-module-transforms", "virtual:0b29e369b5cabceb66f4f9f7eb2bfea5004820a7141f28569a8c55dbecef082f3ef9191fa4288e8f13bbcfed9896b6f90431a16a9ce18c31d8a25782f02d5f09#npm:7.26.0"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-modules-systemjs", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-modules-systemjs-npm-7.25.9-977795f4fd-10.zip/node_modules/@babel/plugin-transform-modules-systemjs/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-modules-systemjs", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-modules-systemjs-virtual-4bee6291cf/5/.yarn/berry/cache/@babel-plugin-transform-modules-systemjs-npm-7.25.9-977795f4fd-10.zip/node_modules/@babel/plugin-transform-modules-systemjs/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-modules-systemjs", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-module-transforms", "virtual:0b29e369b5cabceb66f4f9f7eb2bfea5004820a7141f28569a8c55dbecef082f3ef9191fa4288e8f13bbcfed9896b6f90431a16a9ce18c31d8a25782f02d5f09#npm:7.26.0"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/helper-validator-identifier", "npm:7.25.9"],\ + ["@babel/traverse", "npm:7.27.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-modules-umd", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-modules-umd-npm-7.25.9-268c5b6ad5-10.zip/node_modules/@babel/plugin-transform-modules-umd/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-modules-umd", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-modules-umd-virtual-3ad2c77811/5/.yarn/berry/cache/@babel-plugin-transform-modules-umd-npm-7.25.9-268c5b6ad5-10.zip/node_modules/@babel/plugin-transform-modules-umd/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-modules-umd", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-module-transforms", "virtual:0b29e369b5cabceb66f4f9f7eb2bfea5004820a7141f28569a8c55dbecef082f3ef9191fa4288e8f13bbcfed9896b6f90431a16a9ce18c31d8a25782f02d5f09#npm:7.26.0"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-named-capturing-groups-regex", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-named-capturing-groups-regex-npm-7.25.9-4eede36dba-10.zip/node_modules/@babel/plugin-transform-named-capturing-groups-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-named-capturing-groups-regex", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-named-capturing-groups-regex-virtual-13905ca00d/5/.yarn/berry/cache/@babel-plugin-transform-named-capturing-groups-regex-npm-7.25.9-4eede36dba-10.zip/node_modules/@babel/plugin-transform-named-capturing-groups-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-named-capturing-groups-regex", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:9ea3fc3e512ed7f44e2e8d78c5a4f9facccab46b674bb1bcc30c27797d404edfb59c524c995258645880d23a216fcd1c9fe4a708c4c58bf3c2f44d90561e2179#npm:7.27.0"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-new-target", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-new-target-npm-7.25.9-6eccc3dc16-10.zip/node_modules/@babel/plugin-transform-new-target/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-new-target", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-new-target-virtual-0a8f073ac5/5/.yarn/berry/cache/@babel-plugin-transform-new-target-npm-7.25.9-6eccc3dc16-10.zip/node_modules/@babel/plugin-transform-new-target/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-new-target", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-nullish-coalescing-operator", [\ + ["npm:7.26.6", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-nullish-coalescing-operator-npm-7.26.6-0fe7973c08-10.zip/node_modules/@babel/plugin-transform-nullish-coalescing-operator/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-nullish-coalescing-operator", "npm:7.26.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.26.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-nullish-coalescing-operator-virtual-13dcedd53b/5/.yarn/berry/cache/@babel-plugin-transform-nullish-coalescing-operator-npm-7.26.6-0fe7973c08-10.zip/node_modules/@babel/plugin-transform-nullish-coalescing-operator/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-nullish-coalescing-operator", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.26.6"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-numeric-separator", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-numeric-separator-npm-7.25.9-bb79ada147-10.zip/node_modules/@babel/plugin-transform-numeric-separator/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-numeric-separator", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-numeric-separator-virtual-5a05ed7c04/5/.yarn/berry/cache/@babel-plugin-transform-numeric-separator-npm-7.25.9-bb79ada147-10.zip/node_modules/@babel/plugin-transform-numeric-separator/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-numeric-separator", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-object-rest-spread", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-object-rest-spread-npm-7.25.9-3f0cb70408-10.zip/node_modules/@babel/plugin-transform-object-rest-spread/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-object-rest-spread", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-object-rest-spread-virtual-da33378a3f/5/.yarn/berry/cache/@babel-plugin-transform-object-rest-spread-npm-7.25.9-3f0cb70408-10.zip/node_modules/@babel/plugin-transform-object-rest-spread/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-object-rest-spread", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-compilation-targets", "npm:7.27.0"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/plugin-transform-parameters", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-object-super", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-object-super-npm-7.25.9-6d5aaaf3d3-10.zip/node_modules/@babel/plugin-transform-object-super/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-object-super", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-object-super-virtual-7929e91da7/5/.yarn/berry/cache/@babel-plugin-transform-object-super-npm-7.25.9-6d5aaaf3d3-10.zip/node_modules/@babel/plugin-transform-object-super/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-object-super", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/helper-replace-supers", "virtual:d6415219f4a0844612fdb83b8fbfc416f141be8e9e8c2d17e57dc979adb20b7c57bc38c5f6c28624b934d76eb74422566be3957e8fbdefd64acd4c63b1ee8cb3#npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-optional-catch-binding", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-optional-catch-binding-npm-7.25.9-333a1823d0-10.zip/node_modules/@babel/plugin-transform-optional-catch-binding/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-optional-catch-binding", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-optional-catch-binding-virtual-cffc09e6c2/5/.yarn/berry/cache/@babel-plugin-transform-optional-catch-binding-npm-7.25.9-333a1823d0-10.zip/node_modules/@babel/plugin-transform-optional-catch-binding/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-optional-catch-binding", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-optional-chaining", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-optional-chaining-npm-7.25.9-9d837ee40b-10.zip/node_modules/@babel/plugin-transform-optional-chaining/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-optional-chaining", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-optional-chaining-virtual-95dbb1afb3/5/.yarn/berry/cache/@babel-plugin-transform-optional-chaining-npm-7.25.9-9d837ee40b-10.zip/node_modules/@babel/plugin-transform-optional-chaining/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-optional-chaining", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.25.9"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-parameters", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-parameters-npm-7.25.9-29a857a3d8-10.zip/node_modules/@babel/plugin-transform-parameters/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-parameters", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-parameters-virtual-7ff10d54ab/5/.yarn/berry/cache/@babel-plugin-transform-parameters-npm-7.25.9-29a857a3d8-10.zip/node_modules/@babel/plugin-transform-parameters/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-parameters", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-private-methods", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-private-methods-npm-7.25.9-7cc0e44aa5-10.zip/node_modules/@babel/plugin-transform-private-methods/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-private-methods", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-private-methods-virtual-135a7bbd80/5/.yarn/berry/cache/@babel-plugin-transform-private-methods-npm-7.25.9-7cc0e44aa5-10.zip/node_modules/@babel/plugin-transform-private-methods/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-private-methods", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-create-class-features-plugin", "virtual:4f7249d48f94b9895883f0d1ad8af43f77e669a411024f49f67ee218668ef4f4eacce71747f211f9d7363926173e7f77b5443aaae4676b1ed82922b1fc47bbc4#npm:7.27.0"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-private-property-in-object", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-private-property-in-object-npm-7.25.9-a9cd661d35-10.zip/node_modules/@babel/plugin-transform-private-property-in-object/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-private-property-in-object", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-private-property-in-object-virtual-9cad9aab5a/5/.yarn/berry/cache/@babel-plugin-transform-private-property-in-object-npm-7.25.9-a9cd661d35-10.zip/node_modules/@babel/plugin-transform-private-property-in-object/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-private-property-in-object", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-annotate-as-pure", "npm:7.25.9"],\ + ["@babel/helper-create-class-features-plugin", "virtual:4f7249d48f94b9895883f0d1ad8af43f77e669a411024f49f67ee218668ef4f4eacce71747f211f9d7363926173e7f77b5443aaae4676b1ed82922b1fc47bbc4#npm:7.27.0"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-property-literals", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-property-literals-npm-7.25.9-144c769b17-10.zip/node_modules/@babel/plugin-transform-property-literals/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-property-literals", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-property-literals-virtual-70b26b227e/5/.yarn/berry/cache/@babel-plugin-transform-property-literals-npm-7.25.9-144c769b17-10.zip/node_modules/@babel/plugin-transform-property-literals/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-property-literals", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-regenerator", [\ + ["npm:7.27.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-regenerator-npm-7.27.0-c3299a3fe6-10.zip/node_modules/@babel/plugin-transform-regenerator/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-regenerator", "npm:7.27.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.27.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-regenerator-virtual-2b2619dc2d/5/.yarn/berry/cache/@babel-plugin-transform-regenerator-npm-7.27.0-c3299a3fe6-10.zip/node_modules/@babel/plugin-transform-regenerator/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-regenerator", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.27.0"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null],\ + ["regenerator-transform", "npm:0.15.2"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-regexp-modifiers", [\ + ["npm:7.26.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-regexp-modifiers-npm-7.26.0-6c405fb13f-10.zip/node_modules/@babel/plugin-transform-regexp-modifiers/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-regexp-modifiers", "npm:7.26.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.26.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-regexp-modifiers-virtual-7d6e935e1e/5/.yarn/berry/cache/@babel-plugin-transform-regexp-modifiers-npm-7.26.0-6c405fb13f-10.zip/node_modules/@babel/plugin-transform-regexp-modifiers/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-regexp-modifiers", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.26.0"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:9ea3fc3e512ed7f44e2e8d78c5a4f9facccab46b674bb1bcc30c27797d404edfb59c524c995258645880d23a216fcd1c9fe4a708c4c58bf3c2f44d90561e2179#npm:7.27.0"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-reserved-words", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-reserved-words-npm-7.25.9-1e24d80df4-10.zip/node_modules/@babel/plugin-transform-reserved-words/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-reserved-words", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-reserved-words-virtual-d6c4bb1acb/5/.yarn/berry/cache/@babel-plugin-transform-reserved-words-npm-7.25.9-1e24d80df4-10.zip/node_modules/@babel/plugin-transform-reserved-words/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-reserved-words", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-shorthand-properties", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-shorthand-properties-npm-7.25.9-7ddce2fc87-10.zip/node_modules/@babel/plugin-transform-shorthand-properties/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-shorthand-properties", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-shorthand-properties-virtual-ce4e4b5378/5/.yarn/berry/cache/@babel-plugin-transform-shorthand-properties-npm-7.25.9-7ddce2fc87-10.zip/node_modules/@babel/plugin-transform-shorthand-properties/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-shorthand-properties", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-spread", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-spread-npm-7.25.9-e34887ef9d-10.zip/node_modules/@babel/plugin-transform-spread/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-spread", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-spread-virtual-12313e0b99/5/.yarn/berry/cache/@babel-plugin-transform-spread-npm-7.25.9-e34887ef9d-10.zip/node_modules/@babel/plugin-transform-spread/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-spread", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.25.9"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-sticky-regex", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-sticky-regex-npm-7.25.9-9945ceff11-10.zip/node_modules/@babel/plugin-transform-sticky-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-sticky-regex", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-sticky-regex-virtual-7ffc9f1b3c/5/.yarn/berry/cache/@babel-plugin-transform-sticky-regex-npm-7.25.9-9945ceff11-10.zip/node_modules/@babel/plugin-transform-sticky-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-sticky-regex", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-template-literals", [\ + ["npm:7.26.8", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-template-literals-npm-7.26.8-70e8885568-10.zip/node_modules/@babel/plugin-transform-template-literals/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-template-literals", "npm:7.26.8"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.26.8", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-template-literals-virtual-3a08a23b89/5/.yarn/berry/cache/@babel-plugin-transform-template-literals-npm-7.26.8-70e8885568-10.zip/node_modules/@babel/plugin-transform-template-literals/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-template-literals", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.26.8"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-typeof-symbol", [\ + ["npm:7.27.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-typeof-symbol-npm-7.27.0-011def2090-10.zip/node_modules/@babel/plugin-transform-typeof-symbol/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-typeof-symbol", "npm:7.27.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.27.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-typeof-symbol-virtual-664c67e97f/5/.yarn/berry/cache/@babel-plugin-transform-typeof-symbol-npm-7.27.0-011def2090-10.zip/node_modules/@babel/plugin-transform-typeof-symbol/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-typeof-symbol", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.27.0"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-typescript", [\ + ["npm:7.27.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-typescript-npm-7.27.0-c22c778815-10.zip/node_modules/@babel/plugin-transform-typescript/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-typescript", "npm:7.27.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1965e24e69cbfd1c07de4037e9cd0ad366d62ee46da5352e000ee7eba2d96b2eb62be2179b6e98241bbf4237678e9ce7fbf6e066dd9ba041e3b4914511d0caa3#npm:7.27.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-typescript-virtual-0b8e42783a/5/.yarn/berry/cache/@babel-plugin-transform-typescript-npm-7.27.0-c22c778815-10.zip/node_modules/@babel/plugin-transform-typescript/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-typescript", "virtual:1965e24e69cbfd1c07de4037e9cd0ad366d62ee46da5352e000ee7eba2d96b2eb62be2179b6e98241bbf4237678e9ce7fbf6e066dd9ba041e3b4914511d0caa3#npm:7.27.0"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-annotate-as-pure", "npm:7.25.9"],\ + ["@babel/helper-create-class-features-plugin", "virtual:4f7249d48f94b9895883f0d1ad8af43f77e669a411024f49f67ee218668ef4f4eacce71747f211f9d7363926173e7f77b5443aaae4676b1ed82922b1fc47bbc4#npm:7.27.0"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.25.9"],\ + ["@babel/plugin-syntax-typescript", "virtual:0b8e42783ac75754e625deb69a3aa0f3ada1d864ed7298cf842bb3b113e6a3c7b0eb3eba020342d9a13010601560cfe264eefd71210bc2ed4235898cf977b489#npm:7.25.9"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-unicode-escapes", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-unicode-escapes-npm-7.25.9-242953211b-10.zip/node_modules/@babel/plugin-transform-unicode-escapes/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-unicode-escapes", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-unicode-escapes-virtual-c1f4faf268/5/.yarn/berry/cache/@babel-plugin-transform-unicode-escapes-npm-7.25.9-242953211b-10.zip/node_modules/@babel/plugin-transform-unicode-escapes/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-unicode-escapes", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-unicode-property-regex", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-unicode-property-regex-npm-7.25.9-f8b1b41e32-10.zip/node_modules/@babel/plugin-transform-unicode-property-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-unicode-property-regex", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-unicode-property-regex-virtual-b7943b1b4f/5/.yarn/berry/cache/@babel-plugin-transform-unicode-property-regex-npm-7.25.9-f8b1b41e32-10.zip/node_modules/@babel/plugin-transform-unicode-property-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-unicode-property-regex", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:9ea3fc3e512ed7f44e2e8d78c5a4f9facccab46b674bb1bcc30c27797d404edfb59c524c995258645880d23a216fcd1c9fe4a708c4c58bf3c2f44d90561e2179#npm:7.27.0"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-unicode-regex", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-unicode-regex-npm-7.25.9-de9ae4f8a6-10.zip/node_modules/@babel/plugin-transform-unicode-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-unicode-regex", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-unicode-regex-virtual-ce76b57c17/5/.yarn/berry/cache/@babel-plugin-transform-unicode-regex-npm-7.25.9-de9ae4f8a6-10.zip/node_modules/@babel/plugin-transform-unicode-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-unicode-regex", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:9ea3fc3e512ed7f44e2e8d78c5a4f9facccab46b674bb1bcc30c27797d404edfb59c524c995258645880d23a216fcd1c9fe4a708c4c58bf3c2f44d90561e2179#npm:7.27.0"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-unicode-sets-regex", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-plugin-transform-unicode-sets-regex-npm-7.25.9-34b28bcb6c-10.zip/node_modules/@babel/plugin-transform-unicode-sets-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-unicode-sets-regex", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-unicode-sets-regex-virtual-984f6a5e40/5/.yarn/berry/cache/@babel-plugin-transform-unicode-sets-regex-npm-7.25.9-34b28bcb6c-10.zip/node_modules/@babel/plugin-transform-unicode-sets-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-unicode-sets-regex", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:9ea3fc3e512ed7f44e2e8d78c5a4f9facccab46b674bb1bcc30c27797d404edfb59c524c995258645880d23a216fcd1c9fe4a708c4c58bf3c2f44d90561e2179#npm:7.27.0"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/preset-env", [\ + ["npm:7.26.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-preset-env-npm-7.26.9-71d435f5cc-10.zip/node_modules/@babel/preset-env/",\ + "packageDependencies": [\ + ["@babel/preset-env", "npm:7.26.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:ff2b4a191f94578cb36488d60a1a365f50538534ab3ab35bc022c36c065c88e88a0ed7ba8f88b8eda3d94947090449e78e9bd3e598500c58af20daa98a8673d6#npm:7.26.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-preset-env-virtual-9ca0edc373/5/.yarn/berry/cache/@babel-preset-env-npm-7.26.9-71d435f5cc-10.zip/node_modules/@babel/preset-env/",\ + "packageDependencies": [\ + ["@babel/preset-env", "virtual:ff2b4a191f94578cb36488d60a1a365f50538534ab3ab35bc022c36c065c88e88a0ed7ba8f88b8eda3d94947090449e78e9bd3e598500c58af20daa98a8673d6#npm:7.26.9"],\ + ["@babel/compat-data", "npm:7.26.8"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-compilation-targets", "npm:7.27.0"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/helper-validator-option", "npm:7.25.9"],\ + ["@babel/plugin-bugfix-firefox-class-in-computed-class-key", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-bugfix-safari-class-field-initializer-scope", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-proposal-private-property-in-object", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.21.0-placeholder-for-preset-env.2"],\ + ["@babel/plugin-syntax-import-assertions", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.26.0"],\ + ["@babel/plugin-syntax-import-attributes", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.26.0"],\ + ["@babel/plugin-syntax-unicode-sets-regex", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.18.6"],\ + ["@babel/plugin-transform-arrow-functions", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-async-generator-functions", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.26.8"],\ + ["@babel/plugin-transform-async-to-generator", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-block-scoped-functions", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.26.5"],\ + ["@babel/plugin-transform-block-scoping", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.27.0"],\ + ["@babel/plugin-transform-class-properties", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-class-static-block", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.26.0"],\ + ["@babel/plugin-transform-classes", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-computed-properties", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-destructuring", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-dotall-regex", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-duplicate-keys", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-duplicate-named-capturing-groups-regex", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-dynamic-import", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-exponentiation-operator", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.26.3"],\ + ["@babel/plugin-transform-export-namespace-from", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-for-of", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.26.9"],\ + ["@babel/plugin-transform-function-name", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-json-strings", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-literals", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-logical-assignment-operators", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-member-expression-literals", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-modules-amd", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-modules-commonjs", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.26.3"],\ + ["@babel/plugin-transform-modules-systemjs", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-modules-umd", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-named-capturing-groups-regex", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-new-target", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-nullish-coalescing-operator", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.26.6"],\ + ["@babel/plugin-transform-numeric-separator", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-object-rest-spread", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-object-super", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-optional-catch-binding", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-optional-chaining", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-parameters", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-private-methods", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-private-property-in-object", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-property-literals", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-regenerator", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.27.0"],\ + ["@babel/plugin-transform-regexp-modifiers", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.26.0"],\ + ["@babel/plugin-transform-reserved-words", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-shorthand-properties", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-spread", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-sticky-regex", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-template-literals", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.26.8"],\ + ["@babel/plugin-transform-typeof-symbol", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.27.0"],\ + ["@babel/plugin-transform-unicode-escapes", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-unicode-property-regex", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-unicode-regex", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/plugin-transform-unicode-sets-regex", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.25.9"],\ + ["@babel/preset-modules", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:0.1.6-no-external-plugins"],\ + ["@types/babel__core", null],\ + ["babel-plugin-polyfill-corejs2", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:0.4.13"],\ + ["babel-plugin-polyfill-corejs3", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:0.11.1"],\ + ["babel-plugin-polyfill-regenerator", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:0.6.4"],\ + ["core-js-compat", "npm:3.41.0"],\ + ["semver", "npm:6.3.1"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/preset-modules", [\ + ["npm:0.1.6-no-external-plugins", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-preset-modules-npm-0.1.6-no-external-plugins-0ae0b52ff3-10.zip/node_modules/@babel/preset-modules/",\ + "packageDependencies": [\ + ["@babel/preset-modules", "npm:0.1.6-no-external-plugins"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:0.1.6-no-external-plugins", {\ + "packageLocation": "./.yarn/__virtual__/@babel-preset-modules-virtual-79d1563dad/5/.yarn/berry/cache/@babel-preset-modules-npm-0.1.6-no-external-plugins-0ae0b52ff3-10.zip/node_modules/@babel/preset-modules/",\ + "packageDependencies": [\ + ["@babel/preset-modules", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:0.1.6-no-external-plugins"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/types", "npm:7.27.0"],\ + ["@types/babel__core", null],\ + ["esutils", "npm:2.0.3"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/preset-typescript", [\ + ["npm:7.27.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-preset-typescript-npm-7.27.0-f074ecb72b-10.zip/node_modules/@babel/preset-typescript/",\ + "packageDependencies": [\ + ["@babel/preset-typescript", "npm:7.27.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:ff2b4a191f94578cb36488d60a1a365f50538534ab3ab35bc022c36c065c88e88a0ed7ba8f88b8eda3d94947090449e78e9bd3e598500c58af20daa98a8673d6#npm:7.27.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-preset-typescript-virtual-1965e24e69/5/.yarn/berry/cache/@babel-preset-typescript-npm-7.27.0-f074ecb72b-10.zip/node_modules/@babel/preset-typescript/",\ + "packageDependencies": [\ + ["@babel/preset-typescript", "virtual:ff2b4a191f94578cb36488d60a1a365f50538534ab3ab35bc022c36c065c88e88a0ed7ba8f88b8eda3d94947090449e78e9bd3e598500c58af20daa98a8673d6#npm:7.27.0"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/helper-validator-option", "npm:7.25.9"],\ + ["@babel/plugin-syntax-jsx", "virtual:1965e24e69cbfd1c07de4037e9cd0ad366d62ee46da5352e000ee7eba2d96b2eb62be2179b6e98241bbf4237678e9ce7fbf6e066dd9ba041e3b4914511d0caa3#npm:7.25.9"],\ + ["@babel/plugin-transform-modules-commonjs", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.26.3"],\ + ["@babel/plugin-transform-typescript", "virtual:1965e24e69cbfd1c07de4037e9cd0ad366d62ee46da5352e000ee7eba2d96b2eb62be2179b6e98241bbf4237678e9ce7fbf6e066dd9ba041e3b4914511d0caa3#npm:7.27.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/register", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-register-npm-7.25.9-0fdfb6c1cb-10.zip/node_modules/@babel/register/",\ + "packageDependencies": [\ + ["@babel/register", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:495d1fe58a5940bbe6ad23c1da3ac225f191a10151292e2a512b89a882156dc81abe56f2b01722e6495421b7baa2b8c7f6e0182b3e50a07d7b825013dbb11cf9#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-register-virtual-517dfced52/5/.yarn/berry/cache/@babel-register-npm-7.25.9-0fdfb6c1cb-10.zip/node_modules/@babel/register/",\ + "packageDependencies": [\ + ["@babel/register", "virtual:495d1fe58a5940bbe6ad23c1da3ac225f191a10151292e2a512b89a882156dc81abe56f2b01722e6495421b7baa2b8c7f6e0182b3e50a07d7b825013dbb11cf9#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@types/babel__core", null],\ + ["clone-deep", "npm:4.0.1"],\ + ["find-cache-dir", "npm:2.1.0"],\ + ["make-dir", "npm:2.1.0"],\ + ["pirates", "npm:4.0.7"],\ + ["source-map-support", "npm:0.5.21"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/runtime", [\ + ["npm:7.27.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-runtime-npm-7.27.0-67ce9cb54f-10.zip/node_modules/@babel/runtime/",\ + "packageDependencies": [\ + ["@babel/runtime", "npm:7.27.0"],\ + ["regenerator-runtime", "npm:0.14.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/template", [\ + ["npm:7.27.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-template-npm-7.27.0-941c698259-10.zip/node_modules/@babel/template/",\ + "packageDependencies": [\ + ["@babel/template", "npm:7.27.0"],\ + ["@babel/code-frame", "npm:7.26.2"],\ + ["@babel/parser", "npm:7.27.0"],\ + ["@babel/types", "npm:7.27.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/traverse", [\ + ["npm:7.27.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-traverse-npm-7.27.0-e376c6d256-10.zip/node_modules/@babel/traverse/",\ + "packageDependencies": [\ + ["@babel/traverse", "npm:7.27.0"],\ + ["@babel/code-frame", "npm:7.26.2"],\ + ["@babel/generator", "npm:7.27.0"],\ + ["@babel/parser", "npm:7.27.0"],\ + ["@babel/template", "npm:7.27.0"],\ + ["@babel/types", "npm:7.27.0"],\ + ["debug", "virtual:e376c6d25689d1413f13b759a5649fe969efab30320e886cab81ece2b6daf8c4c74f642faff7228a9a286b4b82bc7bac5773e45f1085910307cd111b19a8cd17#npm:4.4.0"],\ + ["globals", "npm:11.12.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/types", [\ + ["npm:7.27.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@babel-types-npm-7.27.0-4fc27759e5-10.zip/node_modules/@babel/types/",\ + "packageDependencies": [\ + ["@babel/types", "npm:7.27.0"],\ + ["@babel/helper-string-parser", "npm:7.25.9"],\ + ["@babel/helper-validator-identifier", "npm:7.25.9"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@bcoe/v8-coverage", [\ + ["npm:0.2.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/@bcoe-v8-coverage-npm-0.2.3-9e27b3c57e-10.zip/node_modules/@bcoe/v8-coverage/",\ + "packageDependencies": [\ + ["@bcoe/v8-coverage", "npm:0.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@eslint-community/eslint-utils", [\ + ["npm:4.6.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/@eslint-community-eslint-utils-npm-4.6.1-c213980841-10.zip/node_modules/@eslint-community/eslint-utils/",\ + "packageDependencies": [\ + ["@eslint-community/eslint-utils", "npm:4.6.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:3c600cfad0f51db3032b0e5ed34f49b6455fe95a9514460f8932025330be54fbe765474a92d0068bc5593289212998061bae07030308603b39395e9e6b8b164d#npm:4.6.1", {\ + "packageLocation": "./.yarn/__virtual__/@eslint-community-eslint-utils-virtual-6de47eca03/5/.yarn/berry/cache/@eslint-community-eslint-utils-npm-4.6.1-c213980841-10.zip/node_modules/@eslint-community/eslint-utils/",\ + "packageDependencies": [\ + ["@eslint-community/eslint-utils", "virtual:3c600cfad0f51db3032b0e5ed34f49b6455fe95a9514460f8932025330be54fbe765474a92d0068bc5593289212998061bae07030308603b39395e9e6b8b164d#npm:4.6.1"],\ + ["@types/eslint", null],\ + ["eslint", "virtual:eae072fb4ec4cfb10278b9618e1f0b9223a7f2d1b68a48363782e8e07b712e5912c908ad7164155868a6baaf03178af3c3bd1ec89c72366e2aba013fc9a80a32#npm:9.25.0"],\ + ["eslint-visitor-keys", "npm:3.4.3"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "eslint"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@eslint-community/regexpp", [\ + ["npm:4.12.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/@eslint-community-regexpp-npm-4.12.1-ef4ab5217e-10.zip/node_modules/@eslint-community/regexpp/",\ + "packageDependencies": [\ + ["@eslint-community/regexpp", "npm:4.12.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@eslint/config-array", [\ + ["npm:0.20.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@eslint-config-array-npm-0.20.0-f71b19056c-10.zip/node_modules/@eslint/config-array/",\ + "packageDependencies": [\ + ["@eslint/config-array", "npm:0.20.0"],\ + ["@eslint/object-schema", "npm:2.1.6"],\ + ["debug", "virtual:e376c6d25689d1413f13b759a5649fe969efab30320e886cab81ece2b6daf8c4c74f642faff7228a9a286b4b82bc7bac5773e45f1085910307cd111b19a8cd17#npm:4.4.0"],\ + ["minimatch", "npm:3.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@eslint/config-helpers", [\ + ["npm:0.2.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/@eslint-config-helpers-npm-0.2.1-fb7508162a-10.zip/node_modules/@eslint/config-helpers/",\ + "packageDependencies": [\ + ["@eslint/config-helpers", "npm:0.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@eslint/core", [\ + ["npm:0.13.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@eslint-core-npm-0.13.0-53447b33b9-10.zip/node_modules/@eslint/core/",\ + "packageDependencies": [\ + ["@eslint/core", "npm:0.13.0"],\ + ["@types/json-schema", "npm:7.0.15"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@eslint/eslintrc", [\ + ["npm:3.3.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/@eslint-eslintrc-npm-3.3.1-c3967fc0c3-10.zip/node_modules/@eslint/eslintrc/",\ + "packageDependencies": [\ + ["@eslint/eslintrc", "npm:3.3.1"],\ + ["ajv", "npm:6.12.6"],\ + ["debug", "virtual:e376c6d25689d1413f13b759a5649fe969efab30320e886cab81ece2b6daf8c4c74f642faff7228a9a286b4b82bc7bac5773e45f1085910307cd111b19a8cd17#npm:4.4.0"],\ + ["espree", "npm:10.3.0"],\ + ["globals", "npm:14.0.0"],\ + ["ignore", "npm:5.3.2"],\ + ["import-fresh", "npm:3.3.1"],\ + ["js-yaml", "npm:4.1.0"],\ + ["minimatch", "npm:3.1.2"],\ + ["strip-json-comments", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@eslint/js", [\ + ["npm:9.25.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@eslint-js-npm-9.25.0-8d252d12cf-10.zip/node_modules/@eslint/js/",\ + "packageDependencies": [\ + ["@eslint/js", "npm:9.25.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@eslint/object-schema", [\ + ["npm:2.1.6", {\ + "packageLocation": "../../../../.yarn/berry/cache/@eslint-object-schema-npm-2.1.6-a777ee59e8-10.zip/node_modules/@eslint/object-schema/",\ + "packageDependencies": [\ + ["@eslint/object-schema", "npm:2.1.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@eslint/plugin-kit", [\ + ["npm:0.2.8", {\ + "packageLocation": "../../../../.yarn/berry/cache/@eslint-plugin-kit-npm-0.2.8-b9d7e2ad65-10.zip/node_modules/@eslint/plugin-kit/",\ + "packageDependencies": [\ + ["@eslint/plugin-kit", "npm:0.2.8"],\ + ["@eslint/core", "npm:0.13.0"],\ + ["levn", "npm:0.4.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@exercism/babel-preset-typescript", [\ + ["npm:0.6.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@exercism-babel-preset-typescript-npm-0.6.0-ff2b4a191f-10.zip/node_modules/@exercism/babel-preset-typescript/",\ + "packageDependencies": [\ + ["@exercism/babel-preset-typescript", "npm:0.6.0"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/node", "virtual:ff2b4a191f94578cb36488d60a1a365f50538534ab3ab35bc022c36c065c88e88a0ed7ba8f88b8eda3d94947090449e78e9bd3e598500c58af20daa98a8673d6#npm:7.26.0"],\ + ["@babel/preset-env", "virtual:ff2b4a191f94578cb36488d60a1a365f50538534ab3ab35bc022c36c065c88e88a0ed7ba8f88b8eda3d94947090449e78e9bd3e598500c58af20daa98a8673d6#npm:7.26.9"],\ + ["@babel/preset-typescript", "virtual:ff2b4a191f94578cb36488d60a1a365f50538534ab3ab35bc022c36c065c88e88a0ed7ba8f88b8eda3d94947090449e78e9bd3e598500c58af20daa98a8673d6#npm:7.27.0"],\ + ["core-js", "npm:3.38.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@exercism/eslint-config-typescript", [\ + ["npm:0.8.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@exercism-eslint-config-typescript-npm-0.8.0-daf1290d14-10.zip/node_modules/@exercism/eslint-config-typescript/",\ + "packageDependencies": [\ + ["@exercism/eslint-config-typescript", "npm:0.8.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:eae072fb4ec4cfb10278b9618e1f0b9223a7f2d1b68a48363782e8e07b712e5912c908ad7164155868a6baaf03178af3c3bd1ec89c72366e2aba013fc9a80a32#npm:0.8.0", {\ + "packageLocation": "./.yarn/__virtual__/@exercism-eslint-config-typescript-virtual-440ea2d106/5/.yarn/berry/cache/@exercism-eslint-config-typescript-npm-0.8.0-daf1290d14-10.zip/node_modules/@exercism/eslint-config-typescript/",\ + "packageDependencies": [\ + ["@exercism/eslint-config-typescript", "virtual:eae072fb4ec4cfb10278b9618e1f0b9223a7f2d1b68a48363782e8e07b712e5912c908ad7164155868a6baaf03178af3c3bd1ec89c72366e2aba013fc9a80a32#npm:0.8.0"],\ + ["@eslint/js", "npm:9.25.0"],\ + ["@stylistic/eslint-plugin-ts", "virtual:440ea2d10661ec0e9c8278aae24b911169750d80300253bfc6cecc08f8f81de62eca08912ef9602fde8b64500946ddbbc91f4594a236aad532637bba2f112aa9#npm:2.13.0"],\ + ["@types/eslint", null],\ + ["@types/typescript", null],\ + ["eslint", "virtual:eae072fb4ec4cfb10278b9618e1f0b9223a7f2d1b68a48363782e8e07b712e5912c908ad7164155868a6baaf03178af3c3bd1ec89c72366e2aba013fc9a80a32#npm:9.25.0"],\ + ["eslint-config-prettier", "virtual:440ea2d10661ec0e9c8278aae24b911169750d80300253bfc6cecc08f8f81de62eca08912ef9602fde8b64500946ddbbc91f4594a236aad532637bba2f112aa9#npm:9.1.0"],\ + ["eslint-plugin-jest", "virtual:440ea2d10661ec0e9c8278aae24b911169750d80300253bfc6cecc08f8f81de62eca08912ef9602fde8b64500946ddbbc91f4594a236aad532637bba2f112aa9#npm:28.11.0"],\ + ["globals", "npm:15.15.0"],\ + ["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40"],\ + ["typescript-eslint", "virtual:eae072fb4ec4cfb10278b9618e1f0b9223a7f2d1b68a48363782e8e07b712e5912c908ad7164155868a6baaf03178af3c3bd1ec89c72366e2aba013fc9a80a32#npm:8.30.1"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "@types/typescript",\ + "eslint",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@exercism/typescript-allergies", [\ + ["workspace:.", {\ + "packageLocation": "./",\ + "packageDependencies": [\ + ["@exercism/typescript-allergies", "workspace:."],\ + ["@exercism/babel-preset-typescript", "npm:0.6.0"],\ + ["@exercism/eslint-config-typescript", "virtual:eae072fb4ec4cfb10278b9618e1f0b9223a7f2d1b68a48363782e8e07b712e5912c908ad7164155868a6baaf03178af3c3bd1ec89c72366e2aba013fc9a80a32#npm:0.8.0"],\ + ["@jest/globals", "npm:29.7.0"],\ + ["@types/node", "npm:22.7.9"],\ + ["babel-jest", "virtual:eae072fb4ec4cfb10278b9618e1f0b9223a7f2d1b68a48363782e8e07b712e5912c908ad7164155868a6baaf03178af3c3bd1ec89c72366e2aba013fc9a80a32#npm:29.7.0"],\ + ["core-js", "npm:3.38.1"],\ + ["eslint", "virtual:eae072fb4ec4cfb10278b9618e1f0b9223a7f2d1b68a48363782e8e07b712e5912c908ad7164155868a6baaf03178af3c3bd1ec89c72366e2aba013fc9a80a32#npm:9.25.0"],\ + ["expect", "npm:29.7.0"],\ + ["jest", "virtual:eae072fb4ec4cfb10278b9618e1f0b9223a7f2d1b68a48363782e8e07b712e5912c908ad7164155868a6baaf03178af3c3bd1ec89c72366e2aba013fc9a80a32#npm:29.7.0"],\ + ["prettier", "npm:3.5.3"],\ + ["tstyche", "virtual:eae072fb4ec4cfb10278b9618e1f0b9223a7f2d1b68a48363782e8e07b712e5912c908ad7164155868a6baaf03178af3c3bd1ec89c72366e2aba013fc9a80a32#npm:2.1.1"],\ + ["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40"],\ + ["typescript-eslint", "virtual:eae072fb4ec4cfb10278b9618e1f0b9223a7f2d1b68a48363782e8e07b712e5912c908ad7164155868a6baaf03178af3c3bd1ec89c72366e2aba013fc9a80a32#npm:8.30.1"]\ + ],\ + "linkType": "SOFT"\ + }]\ + ]],\ + ["@humanfs/core", [\ + ["npm:0.19.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/@humanfs-core-npm-0.19.1-e2e7aaeb6e-10.zip/node_modules/@humanfs/core/",\ + "packageDependencies": [\ + ["@humanfs/core", "npm:0.19.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@humanfs/node", [\ + ["npm:0.16.6", {\ + "packageLocation": "../../../../.yarn/berry/cache/@humanfs-node-npm-0.16.6-6ee2cad587-10.zip/node_modules/@humanfs/node/",\ + "packageDependencies": [\ + ["@humanfs/node", "npm:0.16.6"],\ + ["@humanfs/core", "npm:0.19.1"],\ + ["@humanwhocodes/retry", "npm:0.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@humanwhocodes/module-importer", [\ + ["npm:1.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/@humanwhocodes-module-importer-npm-1.0.1-9d07ed2e4a-10.zip/node_modules/@humanwhocodes/module-importer/",\ + "packageDependencies": [\ + ["@humanwhocodes/module-importer", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@humanwhocodes/retry", [\ + ["npm:0.3.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/@humanwhocodes-retry-npm-0.3.1-9d87bf92c6-10.zip/node_modules/@humanwhocodes/retry/",\ + "packageDependencies": [\ + ["@humanwhocodes/retry", "npm:0.3.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:0.4.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/@humanwhocodes-retry-npm-0.4.2-78a05c1b69-10.zip/node_modules/@humanwhocodes/retry/",\ + "packageDependencies": [\ + ["@humanwhocodes/retry", "npm:0.4.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@isaacs/cliui", [\ + ["npm:8.0.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/@isaacs-cliui-npm-8.0.2-f4364666d5-10.zip/node_modules/@isaacs/cliui/",\ + "packageDependencies": [\ + ["@isaacs/cliui", "npm:8.0.2"],\ + ["string-width", "npm:5.1.2"],\ + ["string-width-cjs", [\ + "string-width",\ + "npm:4.2.3"\ + ]],\ + ["strip-ansi", "npm:7.1.0"],\ + ["strip-ansi-cjs", [\ + "strip-ansi",\ + "npm:6.0.1"\ + ]],\ + ["wrap-ansi", "npm:8.1.0"],\ + ["wrap-ansi-cjs", [\ + "wrap-ansi",\ + "npm:7.0.0"\ + ]]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@isaacs/fs-minipass", [\ + ["npm:4.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/@isaacs-fs-minipass-npm-4.0.1-677026e841-10.zip/node_modules/@isaacs/fs-minipass/",\ + "packageDependencies": [\ + ["@isaacs/fs-minipass", "npm:4.0.1"],\ + ["minipass", "npm:7.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@istanbuljs/load-nyc-config", [\ + ["npm:1.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@istanbuljs-load-nyc-config-npm-1.1.0-42d17c9cb1-10.zip/node_modules/@istanbuljs/load-nyc-config/",\ + "packageDependencies": [\ + ["@istanbuljs/load-nyc-config", "npm:1.1.0"],\ + ["camelcase", "npm:5.3.1"],\ + ["find-up", "npm:4.1.0"],\ + ["get-package-type", "npm:0.1.0"],\ + ["js-yaml", "npm:3.14.1"],\ + ["resolve-from", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@istanbuljs/schema", [\ + ["npm:0.1.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/@istanbuljs-schema-npm-0.1.3-466bd3eaaa-10.zip/node_modules/@istanbuljs/schema/",\ + "packageDependencies": [\ + ["@istanbuljs/schema", "npm:0.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jest/console", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@jest-console-npm-29.7.0-77689f186f-10.zip/node_modules/@jest/console/",\ + "packageDependencies": [\ + ["@jest/console", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/node", "npm:22.14.1"],\ + ["chalk", "npm:4.1.2"],\ + ["jest-message-util", "npm:29.7.0"],\ + ["jest-util", "npm:29.7.0"],\ + ["slash", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jest/core", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@jest-core-npm-29.7.0-cef60d74c4-10.zip/node_modules/@jest/core/",\ + "packageDependencies": [\ + ["@jest/core", "npm:29.7.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:41bc549f4dd92c0a605231e8bde487a091ebfe34d6bd97f9f1b249b906bcb03a5c7cce9ce6cfb18531fb79bd51895a1553d0f7d3cdd3c58d03cb407259f454ab#npm:29.7.0", {\ + "packageLocation": "./.yarn/__virtual__/@jest-core-virtual-0e7c5d90ea/5/.yarn/berry/cache/@jest-core-npm-29.7.0-cef60d74c4-10.zip/node_modules/@jest/core/",\ + "packageDependencies": [\ + ["@jest/core", "virtual:41bc549f4dd92c0a605231e8bde487a091ebfe34d6bd97f9f1b249b906bcb03a5c7cce9ce6cfb18531fb79bd51895a1553d0f7d3cdd3c58d03cb407259f454ab#npm:29.7.0"],\ + ["@jest/console", "npm:29.7.0"],\ + ["@jest/reporters", "virtual:0e7c5d90ea80df942e8515b4c5a4ccd63cc5b83e525e3f3e09e9fa7ec29db23a94c87ea7aa31c55c698127461beed6fdbde498f563dd3dced6b1e9b3e6b6ac0b#npm:29.7.0"],\ + ["@jest/test-result", "npm:29.7.0"],\ + ["@jest/transform", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/node", "npm:22.14.1"],\ + ["@types/node-notifier", null],\ + ["ansi-escapes", "npm:4.3.2"],\ + ["chalk", "npm:4.1.2"],\ + ["ci-info", "npm:3.9.0"],\ + ["exit", "npm:0.1.2"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["jest-changed-files", "npm:29.7.0"],\ + ["jest-config", "virtual:0e7c5d90ea80df942e8515b4c5a4ccd63cc5b83e525e3f3e09e9fa7ec29db23a94c87ea7aa31c55c698127461beed6fdbde498f563dd3dced6b1e9b3e6b6ac0b#npm:29.7.0"],\ + ["jest-haste-map", "npm:29.7.0"],\ + ["jest-message-util", "npm:29.7.0"],\ + ["jest-regex-util", "npm:29.6.3"],\ + ["jest-resolve", "npm:29.7.0"],\ + ["jest-resolve-dependencies", "npm:29.7.0"],\ + ["jest-runner", "npm:29.7.0"],\ + ["jest-runtime", "npm:29.7.0"],\ + ["jest-snapshot", "npm:29.7.0"],\ + ["jest-util", "npm:29.7.0"],\ + ["jest-validate", "npm:29.7.0"],\ + ["jest-watcher", "npm:29.7.0"],\ + ["micromatch", "npm:4.0.8"],\ + ["node-notifier", null],\ + ["pretty-format", "npm:29.7.0"],\ + ["slash", "npm:3.0.0"],\ + ["strip-ansi", "npm:6.0.1"]\ + ],\ + "packagePeers": [\ + "@types/node-notifier",\ + "node-notifier"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jest/environment", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@jest-environment-npm-29.7.0-97705658d0-10.zip/node_modules/@jest/environment/",\ + "packageDependencies": [\ + ["@jest/environment", "npm:29.7.0"],\ + ["@jest/fake-timers", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/node", "npm:22.14.1"],\ + ["jest-mock", "npm:29.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jest/expect", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@jest-expect-npm-29.7.0-9dfe9cebaa-10.zip/node_modules/@jest/expect/",\ + "packageDependencies": [\ + ["@jest/expect", "npm:29.7.0"],\ + ["expect", "npm:29.7.0"],\ + ["jest-snapshot", "npm:29.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jest/expect-utils", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@jest-expect-utils-npm-29.7.0-14740cc487-10.zip/node_modules/@jest/expect-utils/",\ + "packageDependencies": [\ + ["@jest/expect-utils", "npm:29.7.0"],\ + ["jest-get-type", "npm:29.6.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jest/fake-timers", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@jest-fake-timers-npm-29.7.0-e4174d1b56-10.zip/node_modules/@jest/fake-timers/",\ + "packageDependencies": [\ + ["@jest/fake-timers", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@sinonjs/fake-timers", "npm:10.3.0"],\ + ["@types/node", "npm:22.14.1"],\ + ["jest-message-util", "npm:29.7.0"],\ + ["jest-mock", "npm:29.7.0"],\ + ["jest-util", "npm:29.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jest/globals", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@jest-globals-npm-29.7.0-06f2bd411e-10.zip/node_modules/@jest/globals/",\ + "packageDependencies": [\ + ["@jest/globals", "npm:29.7.0"],\ + ["@jest/environment", "npm:29.7.0"],\ + ["@jest/expect", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["jest-mock", "npm:29.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jest/reporters", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@jest-reporters-npm-29.7.0-2561cd7a09-10.zip/node_modules/@jest/reporters/",\ + "packageDependencies": [\ + ["@jest/reporters", "npm:29.7.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0e7c5d90ea80df942e8515b4c5a4ccd63cc5b83e525e3f3e09e9fa7ec29db23a94c87ea7aa31c55c698127461beed6fdbde498f563dd3dced6b1e9b3e6b6ac0b#npm:29.7.0", {\ + "packageLocation": "./.yarn/__virtual__/@jest-reporters-virtual-5af4e9b0e6/5/.yarn/berry/cache/@jest-reporters-npm-29.7.0-2561cd7a09-10.zip/node_modules/@jest/reporters/",\ + "packageDependencies": [\ + ["@jest/reporters", "virtual:0e7c5d90ea80df942e8515b4c5a4ccd63cc5b83e525e3f3e09e9fa7ec29db23a94c87ea7aa31c55c698127461beed6fdbde498f563dd3dced6b1e9b3e6b6ac0b#npm:29.7.0"],\ + ["@bcoe/v8-coverage", "npm:0.2.3"],\ + ["@jest/console", "npm:29.7.0"],\ + ["@jest/test-result", "npm:29.7.0"],\ + ["@jest/transform", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@jridgewell/trace-mapping", "npm:0.3.25"],\ + ["@types/node", "npm:22.14.1"],\ + ["@types/node-notifier", null],\ + ["chalk", "npm:4.1.2"],\ + ["collect-v8-coverage", "npm:1.0.2"],\ + ["exit", "npm:0.1.2"],\ + ["glob", "npm:7.2.3"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["istanbul-lib-coverage", "npm:3.2.2"],\ + ["istanbul-lib-instrument", "npm:6.0.3"],\ + ["istanbul-lib-report", "npm:3.0.1"],\ + ["istanbul-lib-source-maps", "npm:4.0.1"],\ + ["istanbul-reports", "npm:3.1.7"],\ + ["jest-message-util", "npm:29.7.0"],\ + ["jest-util", "npm:29.7.0"],\ + ["jest-worker", "npm:29.7.0"],\ + ["node-notifier", null],\ + ["slash", "npm:3.0.0"],\ + ["string-length", "npm:4.0.2"],\ + ["strip-ansi", "npm:6.0.1"],\ + ["v8-to-istanbul", "npm:9.3.0"]\ + ],\ + "packagePeers": [\ + "@types/node-notifier",\ + "node-notifier"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jest/schemas", [\ + ["npm:29.6.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/@jest-schemas-npm-29.6.3-292730e442-10.zip/node_modules/@jest/schemas/",\ + "packageDependencies": [\ + ["@jest/schemas", "npm:29.6.3"],\ + ["@sinclair/typebox", "npm:0.27.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jest/source-map", [\ + ["npm:29.6.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/@jest-source-map-npm-29.6.3-8bb8289263-10.zip/node_modules/@jest/source-map/",\ + "packageDependencies": [\ + ["@jest/source-map", "npm:29.6.3"],\ + ["@jridgewell/trace-mapping", "npm:0.3.25"],\ + ["callsites", "npm:3.1.0"],\ + ["graceful-fs", "npm:4.2.11"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jest/test-result", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@jest-test-result-npm-29.7.0-4bb532101b-10.zip/node_modules/@jest/test-result/",\ + "packageDependencies": [\ + ["@jest/test-result", "npm:29.7.0"],\ + ["@jest/console", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/istanbul-lib-coverage", "npm:2.0.6"],\ + ["collect-v8-coverage", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jest/test-sequencer", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@jest-test-sequencer-npm-29.7.0-291f23a495-10.zip/node_modules/@jest/test-sequencer/",\ + "packageDependencies": [\ + ["@jest/test-sequencer", "npm:29.7.0"],\ + ["@jest/test-result", "npm:29.7.0"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["jest-haste-map", "npm:29.7.0"],\ + ["slash", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jest/transform", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@jest-transform-npm-29.7.0-af20d68b57-10.zip/node_modules/@jest/transform/",\ + "packageDependencies": [\ + ["@jest/transform", "npm:29.7.0"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@jridgewell/trace-mapping", "npm:0.3.25"],\ + ["babel-plugin-istanbul", "npm:6.1.1"],\ + ["chalk", "npm:4.1.2"],\ + ["convert-source-map", "npm:2.0.0"],\ + ["fast-json-stable-stringify", "npm:2.1.0"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["jest-haste-map", "npm:29.7.0"],\ + ["jest-regex-util", "npm:29.6.3"],\ + ["jest-util", "npm:29.7.0"],\ + ["micromatch", "npm:4.0.8"],\ + ["pirates", "npm:4.0.7"],\ + ["slash", "npm:3.0.0"],\ + ["write-file-atomic", "npm:4.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jest/types", [\ + ["npm:29.6.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/@jest-types-npm-29.6.3-a584ca999d-10.zip/node_modules/@jest/types/",\ + "packageDependencies": [\ + ["@jest/types", "npm:29.6.3"],\ + ["@jest/schemas", "npm:29.6.3"],\ + ["@types/istanbul-lib-coverage", "npm:2.0.6"],\ + ["@types/istanbul-reports", "npm:3.0.4"],\ + ["@types/node", "npm:22.14.1"],\ + ["@types/yargs", "npm:17.0.33"],\ + ["chalk", "npm:4.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jridgewell/gen-mapping", [\ + ["npm:0.3.8", {\ + "packageLocation": "../../../../.yarn/berry/cache/@jridgewell-gen-mapping-npm-0.3.8-647be6e286-10.zip/node_modules/@jridgewell/gen-mapping/",\ + "packageDependencies": [\ + ["@jridgewell/gen-mapping", "npm:0.3.8"],\ + ["@jridgewell/set-array", "npm:1.2.1"],\ + ["@jridgewell/sourcemap-codec", "npm:1.5.0"],\ + ["@jridgewell/trace-mapping", "npm:0.3.25"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jridgewell/resolve-uri", [\ + ["npm:3.1.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/@jridgewell-resolve-uri-npm-3.1.2-5bc4245992-10.zip/node_modules/@jridgewell/resolve-uri/",\ + "packageDependencies": [\ + ["@jridgewell/resolve-uri", "npm:3.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jridgewell/set-array", [\ + ["npm:1.2.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/@jridgewell-set-array-npm-1.2.1-2312928209-10.zip/node_modules/@jridgewell/set-array/",\ + "packageDependencies": [\ + ["@jridgewell/set-array", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jridgewell/sourcemap-codec", [\ + ["npm:1.5.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@jridgewell-sourcemap-codec-npm-1.5.0-dfd9126d71-10.zip/node_modules/@jridgewell/sourcemap-codec/",\ + "packageDependencies": [\ + ["@jridgewell/sourcemap-codec", "npm:1.5.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jridgewell/trace-mapping", [\ + ["npm:0.3.25", {\ + "packageLocation": "../../../../.yarn/berry/cache/@jridgewell-trace-mapping-npm-0.3.25-c076fd2279-10.zip/node_modules/@jridgewell/trace-mapping/",\ + "packageDependencies": [\ + ["@jridgewell/trace-mapping", "npm:0.3.25"],\ + ["@jridgewell/resolve-uri", "npm:3.1.2"],\ + ["@jridgewell/sourcemap-codec", "npm:1.5.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@nodelib/fs.scandir", [\ + ["npm:2.1.5", {\ + "packageLocation": "../../../../.yarn/berry/cache/@nodelib-fs.scandir-npm-2.1.5-89c67370dd-10.zip/node_modules/@nodelib/fs.scandir/",\ + "packageDependencies": [\ + ["@nodelib/fs.scandir", "npm:2.1.5"],\ + ["@nodelib/fs.stat", "npm:2.0.5"],\ + ["run-parallel", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@nodelib/fs.stat", [\ + ["npm:2.0.5", {\ + "packageLocation": "../../../../.yarn/berry/cache/@nodelib-fs.stat-npm-2.0.5-01f4dd3030-10.zip/node_modules/@nodelib/fs.stat/",\ + "packageDependencies": [\ + ["@nodelib/fs.stat", "npm:2.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@nodelib/fs.walk", [\ + ["npm:1.2.8", {\ + "packageLocation": "../../../../.yarn/berry/cache/@nodelib-fs.walk-npm-1.2.8-b4a89da548-10.zip/node_modules/@nodelib/fs.walk/",\ + "packageDependencies": [\ + ["@nodelib/fs.walk", "npm:1.2.8"],\ + ["@nodelib/fs.scandir", "npm:2.1.5"],\ + ["fastq", "npm:1.19.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@npmcli/agent", [\ + ["npm:3.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@npmcli-agent-npm-3.0.0-169e79294f-10.zip/node_modules/@npmcli/agent/",\ + "packageDependencies": [\ + ["@npmcli/agent", "npm:3.0.0"],\ + ["agent-base", "npm:7.1.3"],\ + ["http-proxy-agent", "npm:7.0.2"],\ + ["https-proxy-agent", "npm:7.0.6"],\ + ["lru-cache", "npm:10.4.3"],\ + ["socks-proxy-agent", "npm:8.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@npmcli/fs", [\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@npmcli-fs-npm-4.0.0-1d9cc8a27b-10.zip/node_modules/@npmcli/fs/",\ + "packageDependencies": [\ + ["@npmcli/fs", "npm:4.0.0"],\ + ["semver", "npm:7.7.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@pkgjs/parseargs", [\ + ["npm:0.11.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@pkgjs-parseargs-npm-0.11.0-cd2a3fe948-10.zip/node_modules/@pkgjs/parseargs/",\ + "packageDependencies": [\ + ["@pkgjs/parseargs", "npm:0.11.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@sinclair/typebox", [\ + ["npm:0.27.8", {\ + "packageLocation": "../../../../.yarn/berry/cache/@sinclair-typebox-npm-0.27.8-23e206d653-10.zip/node_modules/@sinclair/typebox/",\ + "packageDependencies": [\ + ["@sinclair/typebox", "npm:0.27.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@sinonjs/commons", [\ + ["npm:3.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/@sinonjs-commons-npm-3.0.1-bffb9f5a53-10.zip/node_modules/@sinonjs/commons/",\ + "packageDependencies": [\ + ["@sinonjs/commons", "npm:3.0.1"],\ + ["type-detect", "npm:4.0.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@sinonjs/fake-timers", [\ + ["npm:10.3.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@sinonjs-fake-timers-npm-10.3.0-7417f876b4-10.zip/node_modules/@sinonjs/fake-timers/",\ + "packageDependencies": [\ + ["@sinonjs/fake-timers", "npm:10.3.0"],\ + ["@sinonjs/commons", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@stylistic/eslint-plugin-ts", [\ + ["npm:2.13.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@stylistic-eslint-plugin-ts-npm-2.13.0-63d148f2b7-10.zip/node_modules/@stylistic/eslint-plugin-ts/",\ + "packageDependencies": [\ + ["@stylistic/eslint-plugin-ts", "npm:2.13.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:440ea2d10661ec0e9c8278aae24b911169750d80300253bfc6cecc08f8f81de62eca08912ef9602fde8b64500946ddbbc91f4594a236aad532637bba2f112aa9#npm:2.13.0", {\ + "packageLocation": "./.yarn/__virtual__/@stylistic-eslint-plugin-ts-virtual-85e4764c88/5/.yarn/berry/cache/@stylistic-eslint-plugin-ts-npm-2.13.0-63d148f2b7-10.zip/node_modules/@stylistic/eslint-plugin-ts/",\ + "packageDependencies": [\ + ["@stylistic/eslint-plugin-ts", "virtual:440ea2d10661ec0e9c8278aae24b911169750d80300253bfc6cecc08f8f81de62eca08912ef9602fde8b64500946ddbbc91f4594a236aad532637bba2f112aa9#npm:2.13.0"],\ + ["@types/eslint", null],\ + ["@typescript-eslint/utils", "virtual:85e4764c88ba85008bb299bbf265a471a02f35ab5613f746f96741955c5ef8000df9901efc5e4b8b88b7c422245259f11089531bd6be1dc165dbdfc585173784#npm:8.30.1"],\ + ["eslint", "virtual:eae072fb4ec4cfb10278b9618e1f0b9223a7f2d1b68a48363782e8e07b712e5912c908ad7164155868a6baaf03178af3c3bd1ec89c72366e2aba013fc9a80a32#npm:9.25.0"],\ + ["eslint-visitor-keys", "npm:4.2.0"],\ + ["espree", "npm:10.3.0"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "eslint"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/babel__core", [\ + ["npm:7.20.5", {\ + "packageLocation": "../../../../.yarn/berry/cache/@types-babel__core-npm-7.20.5-4d95f75eab-10.zip/node_modules/@types/babel__core/",\ + "packageDependencies": [\ + ["@types/babel__core", "npm:7.20.5"],\ + ["@babel/parser", "npm:7.27.0"],\ + ["@babel/types", "npm:7.27.0"],\ + ["@types/babel__generator", "npm:7.27.0"],\ + ["@types/babel__template", "npm:7.4.4"],\ + ["@types/babel__traverse", "npm:7.20.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/babel__generator", [\ + ["npm:7.27.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/@types-babel__generator-npm-7.27.0-a5af33547a-10.zip/node_modules/@types/babel__generator/",\ + "packageDependencies": [\ + ["@types/babel__generator", "npm:7.27.0"],\ + ["@babel/types", "npm:7.27.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/babel__template", [\ + ["npm:7.4.4", {\ + "packageLocation": "../../../../.yarn/berry/cache/@types-babel__template-npm-7.4.4-f34eba762c-10.zip/node_modules/@types/babel__template/",\ + "packageDependencies": [\ + ["@types/babel__template", "npm:7.4.4"],\ + ["@babel/parser", "npm:7.27.0"],\ + ["@babel/types", "npm:7.27.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/babel__traverse", [\ + ["npm:7.20.7", {\ + "packageLocation": "../../../../.yarn/berry/cache/@types-babel__traverse-npm-7.20.7-06119f1d53-10.zip/node_modules/@types/babel__traverse/",\ + "packageDependencies": [\ + ["@types/babel__traverse", "npm:7.20.7"],\ + ["@babel/types", "npm:7.27.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/estree", [\ + ["npm:1.0.7", {\ + "packageLocation": "../../../../.yarn/berry/cache/@types-estree-npm-1.0.7-692605611f-10.zip/node_modules/@types/estree/",\ + "packageDependencies": [\ + ["@types/estree", "npm:1.0.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/graceful-fs", [\ + ["npm:4.1.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@types-graceful-fs-npm-4.1.9-ebd697fe83-10.zip/node_modules/@types/graceful-fs/",\ + "packageDependencies": [\ + ["@types/graceful-fs", "npm:4.1.9"],\ + ["@types/node", "npm:22.14.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/istanbul-lib-coverage", [\ + ["npm:2.0.6", {\ + "packageLocation": "../../../../.yarn/berry/cache/@types-istanbul-lib-coverage-npm-2.0.6-2ea31fda9c-10.zip/node_modules/@types/istanbul-lib-coverage/",\ + "packageDependencies": [\ + ["@types/istanbul-lib-coverage", "npm:2.0.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/istanbul-lib-report", [\ + ["npm:3.0.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/@types-istanbul-lib-report-npm-3.0.3-a5c0ef4b88-10.zip/node_modules/@types/istanbul-lib-report/",\ + "packageDependencies": [\ + ["@types/istanbul-lib-report", "npm:3.0.3"],\ + ["@types/istanbul-lib-coverage", "npm:2.0.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/istanbul-reports", [\ + ["npm:3.0.4", {\ + "packageLocation": "../../../../.yarn/berry/cache/@types-istanbul-reports-npm-3.0.4-1afa69db29-10.zip/node_modules/@types/istanbul-reports/",\ + "packageDependencies": [\ + ["@types/istanbul-reports", "npm:3.0.4"],\ + ["@types/istanbul-lib-report", "npm:3.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/json-schema", [\ + ["npm:7.0.15", {\ + "packageLocation": "../../../../.yarn/berry/cache/@types-json-schema-npm-7.0.15-fd16381786-10.zip/node_modules/@types/json-schema/",\ + "packageDependencies": [\ + ["@types/json-schema", "npm:7.0.15"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/node", [\ + ["npm:22.14.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/@types-node-npm-22.14.1-ff7e0a29d7-10.zip/node_modules/@types/node/",\ + "packageDependencies": [\ + ["@types/node", "npm:22.14.1"],\ + ["undici-types", "npm:6.21.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:22.7.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/@types-node-npm-22.7.9-03392d8185-10.zip/node_modules/@types/node/",\ + "packageDependencies": [\ + ["@types/node", "npm:22.7.9"],\ + ["undici-types", "npm:6.19.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/stack-utils", [\ + ["npm:2.0.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/@types-stack-utils-npm-2.0.3-48a0a03262-10.zip/node_modules/@types/stack-utils/",\ + "packageDependencies": [\ + ["@types/stack-utils", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/yargs", [\ + ["npm:17.0.33", {\ + "packageLocation": "../../../../.yarn/berry/cache/@types-yargs-npm-17.0.33-1d6cca6a2e-10.zip/node_modules/@types/yargs/",\ + "packageDependencies": [\ + ["@types/yargs", "npm:17.0.33"],\ + ["@types/yargs-parser", "npm:21.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/yargs-parser", [\ + ["npm:21.0.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/@types-yargs-parser-npm-21.0.3-1d265246a1-10.zip/node_modules/@types/yargs-parser/",\ + "packageDependencies": [\ + ["@types/yargs-parser", "npm:21.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/eslint-plugin", [\ + ["npm:8.30.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/@typescript-eslint-eslint-plugin-npm-8.30.1-f4da10f397-10.zip/node_modules/@typescript-eslint/eslint-plugin/",\ + "packageDependencies": [\ + ["@typescript-eslint/eslint-plugin", "npm:8.30.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:689e4e26025d6bd3c46721922456acbf6182123b8db0d1ab08b922ca5dc18ce6a69517c7e4099400cc175bee331cab60ca181528cde90aecb6e424ad8a72bca2#npm:8.30.1", {\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-eslint-plugin-virtual-78addb782c/5/.yarn/berry/cache/@typescript-eslint-eslint-plugin-npm-8.30.1-f4da10f397-10.zip/node_modules/@typescript-eslint/eslint-plugin/",\ + "packageDependencies": [\ + ["@typescript-eslint/eslint-plugin", "virtual:689e4e26025d6bd3c46721922456acbf6182123b8db0d1ab08b922ca5dc18ce6a69517c7e4099400cc175bee331cab60ca181528cde90aecb6e424ad8a72bca2#npm:8.30.1"],\ + ["@eslint-community/regexpp", "npm:4.12.1"],\ + ["@types/eslint", null],\ + ["@types/typescript", null],\ + ["@types/typescript-eslint__parser", null],\ + ["@typescript-eslint/parser", "virtual:689e4e26025d6bd3c46721922456acbf6182123b8db0d1ab08b922ca5dc18ce6a69517c7e4099400cc175bee331cab60ca181528cde90aecb6e424ad8a72bca2#npm:8.30.1"],\ + ["@typescript-eslint/scope-manager", "npm:8.30.1"],\ + ["@typescript-eslint/type-utils", "virtual:78addb782c7a983e0a30264db5dc673284d3767a3046727400190481bf3fb2da16ffdd702f17ab7bc42b76c0268398ffd80b8967aa6b4449a475d8545e1b5960#npm:8.30.1"],\ + ["@typescript-eslint/utils", "virtual:689e4e26025d6bd3c46721922456acbf6182123b8db0d1ab08b922ca5dc18ce6a69517c7e4099400cc175bee331cab60ca181528cde90aecb6e424ad8a72bca2#npm:8.30.1"],\ + ["@typescript-eslint/visitor-keys", "npm:8.30.1"],\ + ["eslint", "virtual:eae072fb4ec4cfb10278b9618e1f0b9223a7f2d1b68a48363782e8e07b712e5912c908ad7164155868a6baaf03178af3c3bd1ec89c72366e2aba013fc9a80a32#npm:9.25.0"],\ + ["graphemer", "npm:1.4.0"],\ + ["ignore", "npm:5.3.2"],\ + ["natural-compare", "npm:1.4.0"],\ + ["ts-api-utils", "virtual:78addb782c7a983e0a30264db5dc673284d3767a3046727400190481bf3fb2da16ffdd702f17ab7bc42b76c0268398ffd80b8967aa6b4449a475d8545e1b5960#npm:2.1.0"],\ + ["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "@types/typescript-eslint__parser",\ + "@types/typescript",\ + "@typescript-eslint/parser",\ + "eslint",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/parser", [\ + ["npm:8.30.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/@typescript-eslint-parser-npm-8.30.1-bcee4d456e-10.zip/node_modules/@typescript-eslint/parser/",\ + "packageDependencies": [\ + ["@typescript-eslint/parser", "npm:8.30.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:689e4e26025d6bd3c46721922456acbf6182123b8db0d1ab08b922ca5dc18ce6a69517c7e4099400cc175bee331cab60ca181528cde90aecb6e424ad8a72bca2#npm:8.30.1", {\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-parser-virtual-39b4bc2d23/5/.yarn/berry/cache/@typescript-eslint-parser-npm-8.30.1-bcee4d456e-10.zip/node_modules/@typescript-eslint/parser/",\ + "packageDependencies": [\ + ["@typescript-eslint/parser", "virtual:689e4e26025d6bd3c46721922456acbf6182123b8db0d1ab08b922ca5dc18ce6a69517c7e4099400cc175bee331cab60ca181528cde90aecb6e424ad8a72bca2#npm:8.30.1"],\ + ["@types/eslint", null],\ + ["@types/typescript", null],\ + ["@typescript-eslint/scope-manager", "npm:8.30.1"],\ + ["@typescript-eslint/types", "npm:8.30.1"],\ + ["@typescript-eslint/typescript-estree", "virtual:0fb72f58e58336b38d2aa85421190b49e098b034fa459fb3ca051f86da29ad2e6428d934f561be3baf29d2425a14cfe3c01403eacf8bef58431c5bc06961ac20#npm:8.30.1"],\ + ["@typescript-eslint/visitor-keys", "npm:8.30.1"],\ + ["debug", "virtual:e376c6d25689d1413f13b759a5649fe969efab30320e886cab81ece2b6daf8c4c74f642faff7228a9a286b4b82bc7bac5773e45f1085910307cd111b19a8cd17#npm:4.4.0"],\ + ["eslint", "virtual:eae072fb4ec4cfb10278b9618e1f0b9223a7f2d1b68a48363782e8e07b712e5912c908ad7164155868a6baaf03178af3c3bd1ec89c72366e2aba013fc9a80a32#npm:9.25.0"],\ + ["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "@types/typescript",\ + "eslint",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/scope-manager", [\ + ["npm:8.30.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/@typescript-eslint-scope-manager-npm-8.30.1-4b479f2d73-10.zip/node_modules/@typescript-eslint/scope-manager/",\ + "packageDependencies": [\ + ["@typescript-eslint/scope-manager", "npm:8.30.1"],\ + ["@typescript-eslint/types", "npm:8.30.1"],\ + ["@typescript-eslint/visitor-keys", "npm:8.30.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/type-utils", [\ + ["npm:8.30.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/@typescript-eslint-type-utils-npm-8.30.1-0e1c22c03c-10.zip/node_modules/@typescript-eslint/type-utils/",\ + "packageDependencies": [\ + ["@typescript-eslint/type-utils", "npm:8.30.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:78addb782c7a983e0a30264db5dc673284d3767a3046727400190481bf3fb2da16ffdd702f17ab7bc42b76c0268398ffd80b8967aa6b4449a475d8545e1b5960#npm:8.30.1", {\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-type-utils-virtual-0fb72f58e5/5/.yarn/berry/cache/@typescript-eslint-type-utils-npm-8.30.1-0e1c22c03c-10.zip/node_modules/@typescript-eslint/type-utils/",\ + "packageDependencies": [\ + ["@typescript-eslint/type-utils", "virtual:78addb782c7a983e0a30264db5dc673284d3767a3046727400190481bf3fb2da16ffdd702f17ab7bc42b76c0268398ffd80b8967aa6b4449a475d8545e1b5960#npm:8.30.1"],\ + ["@types/eslint", null],\ + ["@types/typescript", null],\ + ["@typescript-eslint/typescript-estree", "virtual:0fb72f58e58336b38d2aa85421190b49e098b034fa459fb3ca051f86da29ad2e6428d934f561be3baf29d2425a14cfe3c01403eacf8bef58431c5bc06961ac20#npm:8.30.1"],\ + ["@typescript-eslint/utils", "virtual:689e4e26025d6bd3c46721922456acbf6182123b8db0d1ab08b922ca5dc18ce6a69517c7e4099400cc175bee331cab60ca181528cde90aecb6e424ad8a72bca2#npm:8.30.1"],\ + ["debug", "virtual:e376c6d25689d1413f13b759a5649fe969efab30320e886cab81ece2b6daf8c4c74f642faff7228a9a286b4b82bc7bac5773e45f1085910307cd111b19a8cd17#npm:4.4.0"],\ + ["eslint", "virtual:eae072fb4ec4cfb10278b9618e1f0b9223a7f2d1b68a48363782e8e07b712e5912c908ad7164155868a6baaf03178af3c3bd1ec89c72366e2aba013fc9a80a32#npm:9.25.0"],\ + ["ts-api-utils", "virtual:78addb782c7a983e0a30264db5dc673284d3767a3046727400190481bf3fb2da16ffdd702f17ab7bc42b76c0268398ffd80b8967aa6b4449a475d8545e1b5960#npm:2.1.0"],\ + ["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "@types/typescript",\ + "eslint",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/types", [\ + ["npm:8.30.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/@typescript-eslint-types-npm-8.30.1-8bfe1eac21-10.zip/node_modules/@typescript-eslint/types/",\ + "packageDependencies": [\ + ["@typescript-eslint/types", "npm:8.30.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/typescript-estree", [\ + ["npm:8.30.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/@typescript-eslint-typescript-estree-npm-8.30.1-185919bfaf-10.zip/node_modules/@typescript-eslint/typescript-estree/",\ + "packageDependencies": [\ + ["@typescript-eslint/typescript-estree", "npm:8.30.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0fb72f58e58336b38d2aa85421190b49e098b034fa459fb3ca051f86da29ad2e6428d934f561be3baf29d2425a14cfe3c01403eacf8bef58431c5bc06961ac20#npm:8.30.1", {\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-typescript-estree-virtual-c6df5d5ecb/5/.yarn/berry/cache/@typescript-eslint-typescript-estree-npm-8.30.1-185919bfaf-10.zip/node_modules/@typescript-eslint/typescript-estree/",\ + "packageDependencies": [\ + ["@typescript-eslint/typescript-estree", "virtual:0fb72f58e58336b38d2aa85421190b49e098b034fa459fb3ca051f86da29ad2e6428d934f561be3baf29d2425a14cfe3c01403eacf8bef58431c5bc06961ac20#npm:8.30.1"],\ + ["@types/typescript", null],\ + ["@typescript-eslint/types", "npm:8.30.1"],\ + ["@typescript-eslint/visitor-keys", "npm:8.30.1"],\ + ["debug", "virtual:e376c6d25689d1413f13b759a5649fe969efab30320e886cab81ece2b6daf8c4c74f642faff7228a9a286b4b82bc7bac5773e45f1085910307cd111b19a8cd17#npm:4.4.0"],\ + ["fast-glob", "npm:3.3.3"],\ + ["is-glob", "npm:4.0.3"],\ + ["minimatch", "npm:9.0.5"],\ + ["semver", "npm:7.7.1"],\ + ["ts-api-utils", "virtual:78addb782c7a983e0a30264db5dc673284d3767a3046727400190481bf3fb2da16ffdd702f17ab7bc42b76c0268398ffd80b8967aa6b4449a475d8545e1b5960#npm:2.1.0"],\ + ["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40"]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:3c600cfad0f51db3032b0e5ed34f49b6455fe95a9514460f8932025330be54fbe765474a92d0068bc5593289212998061bae07030308603b39395e9e6b8b164d#npm:8.30.1", {\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-typescript-estree-virtual-0a3405692c/5/.yarn/berry/cache/@typescript-eslint-typescript-estree-npm-8.30.1-185919bfaf-10.zip/node_modules/@typescript-eslint/typescript-estree/",\ + "packageDependencies": [\ + ["@typescript-eslint/typescript-estree", "virtual:3c600cfad0f51db3032b0e5ed34f49b6455fe95a9514460f8932025330be54fbe765474a92d0068bc5593289212998061bae07030308603b39395e9e6b8b164d#npm:8.30.1"],\ + ["@types/typescript", null],\ + ["@typescript-eslint/types", "npm:8.30.1"],\ + ["@typescript-eslint/visitor-keys", "npm:8.30.1"],\ + ["debug", "virtual:e376c6d25689d1413f13b759a5649fe969efab30320e886cab81ece2b6daf8c4c74f642faff7228a9a286b4b82bc7bac5773e45f1085910307cd111b19a8cd17#npm:4.4.0"],\ + ["fast-glob", "npm:3.3.3"],\ + ["is-glob", "npm:4.0.3"],\ + ["minimatch", "npm:9.0.5"],\ + ["semver", "npm:7.7.1"],\ + ["ts-api-utils", "virtual:0a3405692c9fa2a32378bc29326d9c41e7c84d39d028bd6b5792eb652f7816531168baf971a8a03a71faffca3e9174f18065309f54f429110a92f5225cbdc3cb#npm:2.1.0"],\ + ["typescript", null]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/utils", [\ + ["npm:8.30.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/@typescript-eslint-utils-npm-8.30.1-e8c9d86e99-10.zip/node_modules/@typescript-eslint/utils/",\ + "packageDependencies": [\ + ["@typescript-eslint/utils", "npm:8.30.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:689e4e26025d6bd3c46721922456acbf6182123b8db0d1ab08b922ca5dc18ce6a69517c7e4099400cc175bee331cab60ca181528cde90aecb6e424ad8a72bca2#npm:8.30.1", {\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-utils-virtual-49e5b41b9c/5/.yarn/berry/cache/@typescript-eslint-utils-npm-8.30.1-e8c9d86e99-10.zip/node_modules/@typescript-eslint/utils/",\ + "packageDependencies": [\ + ["@typescript-eslint/utils", "virtual:689e4e26025d6bd3c46721922456acbf6182123b8db0d1ab08b922ca5dc18ce6a69517c7e4099400cc175bee331cab60ca181528cde90aecb6e424ad8a72bca2#npm:8.30.1"],\ + ["@eslint-community/eslint-utils", "virtual:3c600cfad0f51db3032b0e5ed34f49b6455fe95a9514460f8932025330be54fbe765474a92d0068bc5593289212998061bae07030308603b39395e9e6b8b164d#npm:4.6.1"],\ + ["@types/eslint", null],\ + ["@types/typescript", null],\ + ["@typescript-eslint/scope-manager", "npm:8.30.1"],\ + ["@typescript-eslint/types", "npm:8.30.1"],\ + ["@typescript-eslint/typescript-estree", "virtual:0fb72f58e58336b38d2aa85421190b49e098b034fa459fb3ca051f86da29ad2e6428d934f561be3baf29d2425a14cfe3c01403eacf8bef58431c5bc06961ac20#npm:8.30.1"],\ + ["eslint", "virtual:eae072fb4ec4cfb10278b9618e1f0b9223a7f2d1b68a48363782e8e07b712e5912c908ad7164155868a6baaf03178af3c3bd1ec89c72366e2aba013fc9a80a32#npm:9.25.0"],\ + ["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "@types/typescript",\ + "eslint",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:85e4764c88ba85008bb299bbf265a471a02f35ab5613f746f96741955c5ef8000df9901efc5e4b8b88b7c422245259f11089531bd6be1dc165dbdfc585173784#npm:8.30.1", {\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-utils-virtual-3c600cfad0/5/.yarn/berry/cache/@typescript-eslint-utils-npm-8.30.1-e8c9d86e99-10.zip/node_modules/@typescript-eslint/utils/",\ + "packageDependencies": [\ + ["@typescript-eslint/utils", "virtual:85e4764c88ba85008bb299bbf265a471a02f35ab5613f746f96741955c5ef8000df9901efc5e4b8b88b7c422245259f11089531bd6be1dc165dbdfc585173784#npm:8.30.1"],\ + ["@eslint-community/eslint-utils", "virtual:3c600cfad0f51db3032b0e5ed34f49b6455fe95a9514460f8932025330be54fbe765474a92d0068bc5593289212998061bae07030308603b39395e9e6b8b164d#npm:4.6.1"],\ + ["@types/eslint", null],\ + ["@types/typescript", null],\ + ["@typescript-eslint/scope-manager", "npm:8.30.1"],\ + ["@typescript-eslint/types", "npm:8.30.1"],\ + ["@typescript-eslint/typescript-estree", "virtual:3c600cfad0f51db3032b0e5ed34f49b6455fe95a9514460f8932025330be54fbe765474a92d0068bc5593289212998061bae07030308603b39395e9e6b8b164d#npm:8.30.1"],\ + ["eslint", "virtual:eae072fb4ec4cfb10278b9618e1f0b9223a7f2d1b68a48363782e8e07b712e5912c908ad7164155868a6baaf03178af3c3bd1ec89c72366e2aba013fc9a80a32#npm:9.25.0"],\ + ["typescript", null]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "@types/typescript",\ + "eslint",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/visitor-keys", [\ + ["npm:8.30.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/@typescript-eslint-visitor-keys-npm-8.30.1-e4b2f0ebba-10.zip/node_modules/@typescript-eslint/visitor-keys/",\ + "packageDependencies": [\ + ["@typescript-eslint/visitor-keys", "npm:8.30.1"],\ + ["@typescript-eslint/types", "npm:8.30.1"],\ + ["eslint-visitor-keys", "npm:4.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["abbrev", [\ + ["npm:3.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/abbrev-npm-3.0.1-a34d600e50-10.zip/node_modules/abbrev/",\ + "packageDependencies": [\ + ["abbrev", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["acorn", [\ + ["npm:8.14.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/acorn-npm-8.14.1-aee76ee752-10.zip/node_modules/acorn/",\ + "packageDependencies": [\ + ["acorn", "npm:8.14.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["acorn-jsx", [\ + ["npm:5.3.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/acorn-jsx-npm-5.3.2-d7594599ea-10.zip/node_modules/acorn-jsx/",\ + "packageDependencies": [\ + ["acorn-jsx", "npm:5.3.2"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:e5b10052f5b961a2f38f3edbfbbcd7baf074e555f688eaf63695fed94838b848c6291487952754e262c19f60bf34d659b71e3d5260e2ea073949e1b6269dc165#npm:5.3.2", {\ + "packageLocation": "./.yarn/__virtual__/acorn-jsx-virtual-64331c13be/5/.yarn/berry/cache/acorn-jsx-npm-5.3.2-d7594599ea-10.zip/node_modules/acorn-jsx/",\ + "packageDependencies": [\ + ["acorn-jsx", "virtual:e5b10052f5b961a2f38f3edbfbbcd7baf074e555f688eaf63695fed94838b848c6291487952754e262c19f60bf34d659b71e3d5260e2ea073949e1b6269dc165#npm:5.3.2"],\ + ["@types/acorn", null],\ + ["acorn", "npm:8.14.1"]\ + ],\ + "packagePeers": [\ + "@types/acorn",\ + "acorn"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["agent-base", [\ + ["npm:7.1.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/agent-base-npm-7.1.3-b2c16e72fb-10.zip/node_modules/agent-base/",\ + "packageDependencies": [\ + ["agent-base", "npm:7.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ajv", [\ + ["npm:6.12.6", {\ + "packageLocation": "../../../../.yarn/berry/cache/ajv-npm-6.12.6-4b5105e2b2-10.zip/node_modules/ajv/",\ + "packageDependencies": [\ + ["ajv", "npm:6.12.6"],\ + ["fast-deep-equal", "npm:3.1.3"],\ + ["fast-json-stable-stringify", "npm:2.1.0"],\ + ["json-schema-traverse", "npm:0.4.1"],\ + ["uri-js", "npm:4.4.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ansi-escapes", [\ + ["npm:4.3.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/ansi-escapes-npm-4.3.2-3ad173702f-10.zip/node_modules/ansi-escapes/",\ + "packageDependencies": [\ + ["ansi-escapes", "npm:4.3.2"],\ + ["type-fest", "npm:0.21.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ansi-regex", [\ + ["npm:5.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/ansi-regex-npm-5.0.1-c963a48615-10.zip/node_modules/ansi-regex/",\ + "packageDependencies": [\ + ["ansi-regex", "npm:5.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/ansi-regex-npm-6.1.0-abe011aae4-10.zip/node_modules/ansi-regex/",\ + "packageDependencies": [\ + ["ansi-regex", "npm:6.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ansi-styles", [\ + ["npm:4.3.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/ansi-styles-npm-4.3.0-245c7d42c7-10.zip/node_modules/ansi-styles/",\ + "packageDependencies": [\ + ["ansi-styles", "npm:4.3.0"],\ + ["color-convert", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.2.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/ansi-styles-npm-5.2.0-72fc7003e3-10.zip/node_modules/ansi-styles/",\ + "packageDependencies": [\ + ["ansi-styles", "npm:5.2.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.2.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/ansi-styles-npm-6.2.1-d43647018c-10.zip/node_modules/ansi-styles/",\ + "packageDependencies": [\ + ["ansi-styles", "npm:6.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["anymatch", [\ + ["npm:3.1.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/anymatch-npm-3.1.3-bc81d103b1-10.zip/node_modules/anymatch/",\ + "packageDependencies": [\ + ["anymatch", "npm:3.1.3"],\ + ["normalize-path", "npm:3.0.0"],\ + ["picomatch", "npm:2.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["argparse", [\ + ["npm:1.0.10", {\ + "packageLocation": "../../../../.yarn/berry/cache/argparse-npm-1.0.10-528934e59d-10.zip/node_modules/argparse/",\ + "packageDependencies": [\ + ["argparse", "npm:1.0.10"],\ + ["sprintf-js", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/argparse-npm-2.0.1-faff7999e6-10.zip/node_modules/argparse/",\ + "packageDependencies": [\ + ["argparse", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["array-buffer-byte-length", [\ + ["npm:1.0.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/array-buffer-byte-length-npm-1.0.2-c2be1e97e0-10.zip/node_modules/array-buffer-byte-length/",\ + "packageDependencies": [\ + ["array-buffer-byte-length", "npm:1.0.2"],\ + ["call-bound", "npm:1.0.4"],\ + ["is-array-buffer", "npm:3.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["array.prototype.reduce", [\ + ["npm:1.0.8", {\ + "packageLocation": "../../../../.yarn/berry/cache/array.prototype.reduce-npm-1.0.8-bb9aec5043-10.zip/node_modules/array.prototype.reduce/",\ + "packageDependencies": [\ + ["array.prototype.reduce", "npm:1.0.8"],\ + ["call-bind", "npm:1.0.8"],\ + ["call-bound", "npm:1.0.4"],\ + ["define-properties", "npm:1.2.1"],\ + ["es-abstract", "npm:1.23.9"],\ + ["es-array-method-boxes-properly", "npm:1.0.0"],\ + ["es-errors", "npm:1.3.0"],\ + ["es-object-atoms", "npm:1.1.1"],\ + ["is-string", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["arraybuffer.prototype.slice", [\ + ["npm:1.0.4", {\ + "packageLocation": "../../../../.yarn/berry/cache/arraybuffer.prototype.slice-npm-1.0.4-01f62a9713-10.zip/node_modules/arraybuffer.prototype.slice/",\ + "packageDependencies": [\ + ["arraybuffer.prototype.slice", "npm:1.0.4"],\ + ["array-buffer-byte-length", "npm:1.0.2"],\ + ["call-bind", "npm:1.0.8"],\ + ["define-properties", "npm:1.2.1"],\ + ["es-abstract", "npm:1.23.9"],\ + ["es-errors", "npm:1.3.0"],\ + ["get-intrinsic", "npm:1.3.0"],\ + ["is-array-buffer", "npm:3.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["async-function", [\ + ["npm:1.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/async-function-npm-1.0.0-a81667ebcd-10.zip/node_modules/async-function/",\ + "packageDependencies": [\ + ["async-function", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["available-typed-arrays", [\ + ["npm:1.0.7", {\ + "packageLocation": "../../../../.yarn/berry/cache/available-typed-arrays-npm-1.0.7-e5e5d79687-10.zip/node_modules/available-typed-arrays/",\ + "packageDependencies": [\ + ["available-typed-arrays", "npm:1.0.7"],\ + ["possible-typed-array-names", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["babel-jest", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/babel-jest-npm-29.7.0-273152fbe9-10.zip/node_modules/babel-jest/",\ + "packageDependencies": [\ + ["babel-jest", "npm:29.7.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:e14b1fd0383b6c6654739fd3d660a9f40e2048a8354ca8b98c749c32b744254f6d2c7002d4edff150567b2924987af53d153bccdadd91f37cea08dea0e181486#npm:29.7.0", {\ + "packageLocation": "./.yarn/__virtual__/babel-jest-virtual-f2f819fae1/5/.yarn/berry/cache/babel-jest-npm-29.7.0-273152fbe9-10.zip/node_modules/babel-jest/",\ + "packageDependencies": [\ + ["babel-jest", "virtual:e14b1fd0383b6c6654739fd3d660a9f40e2048a8354ca8b98c749c32b744254f6d2c7002d4edff150567b2924987af53d153bccdadd91f37cea08dea0e181486#npm:29.7.0"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@jest/transform", "npm:29.7.0"],\ + ["@types/babel__core", "npm:7.20.5"],\ + ["babel-plugin-istanbul", "npm:6.1.1"],\ + ["babel-preset-jest", "virtual:f2f819fae1c4886a3ef1556a1d45d7256bb2722fac0a3b77d8a806123120a4337383b7bbc9556e367469344ed51c8e1fcb64e89fe3ea503399e64393906e3197#npm:29.6.3"],\ + ["chalk", "npm:4.1.2"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["slash", "npm:3.0.0"]\ + ],\ + "packagePeers": [\ + "@babel/core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:eae072fb4ec4cfb10278b9618e1f0b9223a7f2d1b68a48363782e8e07b712e5912c908ad7164155868a6baaf03178af3c3bd1ec89c72366e2aba013fc9a80a32#npm:29.7.0", {\ + "packageLocation": "./.yarn/__virtual__/babel-jest-virtual-bf44ab1d98/5/.yarn/berry/cache/babel-jest-npm-29.7.0-273152fbe9-10.zip/node_modules/babel-jest/",\ + "packageDependencies": [\ + ["babel-jest", "virtual:eae072fb4ec4cfb10278b9618e1f0b9223a7f2d1b68a48363782e8e07b712e5912c908ad7164155868a6baaf03178af3c3bd1ec89c72366e2aba013fc9a80a32#npm:29.7.0"],\ + ["@babel/core", null],\ + ["@jest/transform", "npm:29.7.0"],\ + ["@types/babel__core", "npm:7.20.5"],\ + ["babel-plugin-istanbul", "npm:6.1.1"],\ + ["babel-preset-jest", "virtual:bf44ab1d98d06e1c42a13b52f7fb1bbf29da66fd21b9d8a2ab20d4bd093a89b7c40f8efbd2048bf9c9a4b997406f2ba6bfc953076b571f9574f2bdd5dd036eac#npm:29.6.3"],\ + ["chalk", "npm:4.1.2"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["slash", "npm:3.0.0"]\ + ],\ + "packagePeers": [\ + "@babel/core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["babel-plugin-istanbul", [\ + ["npm:6.1.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/babel-plugin-istanbul-npm-6.1.1-df824055e4-10.zip/node_modules/babel-plugin-istanbul/",\ + "packageDependencies": [\ + ["babel-plugin-istanbul", "npm:6.1.1"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@istanbuljs/load-nyc-config", "npm:1.1.0"],\ + ["@istanbuljs/schema", "npm:0.1.3"],\ + ["istanbul-lib-instrument", "npm:5.2.1"],\ + ["test-exclude", "npm:6.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["babel-plugin-jest-hoist", [\ + ["npm:29.6.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/babel-plugin-jest-hoist-npm-29.6.3-46120a3297-10.zip/node_modules/babel-plugin-jest-hoist/",\ + "packageDependencies": [\ + ["babel-plugin-jest-hoist", "npm:29.6.3"],\ + ["@babel/template", "npm:7.27.0"],\ + ["@babel/types", "npm:7.27.0"],\ + ["@types/babel__core", "npm:7.20.5"],\ + ["@types/babel__traverse", "npm:7.20.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["babel-plugin-polyfill-corejs2", [\ + ["npm:0.4.13", {\ + "packageLocation": "../../../../.yarn/berry/cache/babel-plugin-polyfill-corejs2-npm-0.4.13-07c1139679-10.zip/node_modules/babel-plugin-polyfill-corejs2/",\ + "packageDependencies": [\ + ["babel-plugin-polyfill-corejs2", "npm:0.4.13"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:0.4.13", {\ + "packageLocation": "./.yarn/__virtual__/babel-plugin-polyfill-corejs2-virtual-d61d89c60c/5/.yarn/berry/cache/babel-plugin-polyfill-corejs2-npm-0.4.13-07c1139679-10.zip/node_modules/babel-plugin-polyfill-corejs2/",\ + "packageDependencies": [\ + ["babel-plugin-polyfill-corejs2", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:0.4.13"],\ + ["@babel/compat-data", "npm:7.26.8"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-define-polyfill-provider", "virtual:d61d89c60c0d0836519b15a1b43f86ac883875f856a00cb9f92d52e493b4a805058d003d57fed2a68bfea5738cddb2e2ad1fdd6f1b8a802cdd0c63ab44fbcc2d#npm:0.6.4"],\ + ["@types/babel__core", null],\ + ["semver", "npm:6.3.1"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["babel-plugin-polyfill-corejs3", [\ + ["npm:0.11.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/babel-plugin-polyfill-corejs3-npm-0.11.1-89f3309381-10.zip/node_modules/babel-plugin-polyfill-corejs3/",\ + "packageDependencies": [\ + ["babel-plugin-polyfill-corejs3", "npm:0.11.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:0.11.1", {\ + "packageLocation": "./.yarn/__virtual__/babel-plugin-polyfill-corejs3-virtual-8352a9d7c6/5/.yarn/berry/cache/babel-plugin-polyfill-corejs3-npm-0.11.1-89f3309381-10.zip/node_modules/babel-plugin-polyfill-corejs3/",\ + "packageDependencies": [\ + ["babel-plugin-polyfill-corejs3", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:0.11.1"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-define-polyfill-provider", "virtual:d61d89c60c0d0836519b15a1b43f86ac883875f856a00cb9f92d52e493b4a805058d003d57fed2a68bfea5738cddb2e2ad1fdd6f1b8a802cdd0c63ab44fbcc2d#npm:0.6.4"],\ + ["@types/babel__core", null],\ + ["core-js-compat", "npm:3.41.0"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["babel-plugin-polyfill-regenerator", [\ + ["npm:0.6.4", {\ + "packageLocation": "../../../../.yarn/berry/cache/babel-plugin-polyfill-regenerator-npm-0.6.4-13b35e5f00-10.zip/node_modules/babel-plugin-polyfill-regenerator/",\ + "packageDependencies": [\ + ["babel-plugin-polyfill-regenerator", "npm:0.6.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:0.6.4", {\ + "packageLocation": "./.yarn/__virtual__/babel-plugin-polyfill-regenerator-virtual-028bc6c30b/5/.yarn/berry/cache/babel-plugin-polyfill-regenerator-npm-0.6.4-13b35e5f00-10.zip/node_modules/babel-plugin-polyfill-regenerator/",\ + "packageDependencies": [\ + ["babel-plugin-polyfill-regenerator", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:0.6.4"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-define-polyfill-provider", "virtual:d61d89c60c0d0836519b15a1b43f86ac883875f856a00cb9f92d52e493b4a805058d003d57fed2a68bfea5738cddb2e2ad1fdd6f1b8a802cdd0c63ab44fbcc2d#npm:0.6.4"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["babel-preset-current-node-syntax", [\ + ["npm:1.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/babel-preset-current-node-syntax-npm-1.1.0-a3b84fe89f-10.zip/node_modules/babel-preset-current-node-syntax/",\ + "packageDependencies": [\ + ["babel-preset-current-node-syntax", "npm:1.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:15ef0a4ad61c166598c4d195dc64a0b7270b186e9a584ea25871b4181189fa5a61a49aa37f6bcda6ffed25499ff900f1a33224b0c22868c8eb1eaf1dd4f0dc11#npm:1.1.0", {\ + "packageLocation": "./.yarn/__virtual__/babel-preset-current-node-syntax-virtual-56983eadc3/5/.yarn/berry/cache/babel-preset-current-node-syntax-npm-1.1.0-a3b84fe89f-10.zip/node_modules/babel-preset-current-node-syntax/",\ + "packageDependencies": [\ + ["babel-preset-current-node-syntax", "virtual:15ef0a4ad61c166598c4d195dc64a0b7270b186e9a584ea25871b4181189fa5a61a49aa37f6bcda6ffed25499ff900f1a33224b0c22868c8eb1eaf1dd4f0dc11#npm:1.1.0"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/plugin-syntax-async-generators", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.4"],\ + ["@babel/plugin-syntax-bigint", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3"],\ + ["@babel/plugin-syntax-class-properties", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.12.13"],\ + ["@babel/plugin-syntax-class-static-block", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.14.5"],\ + ["@babel/plugin-syntax-import-attributes", "virtual:9ca0edc373e40d05397acb6253e0b8bc62f08c565db0cbe6d1bebff3bfe887531374131d2bda506f119c4a431433f0d276a0e4dbd899837014a45fa36aec9585#npm:7.26.0"],\ + ["@babel/plugin-syntax-import-meta", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.10.4"],\ + ["@babel/plugin-syntax-json-strings", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3"],\ + ["@babel/plugin-syntax-logical-assignment-operators", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.10.4"],\ + ["@babel/plugin-syntax-nullish-coalescing-operator", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3"],\ + ["@babel/plugin-syntax-numeric-separator", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.10.4"],\ + ["@babel/plugin-syntax-object-rest-spread", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3"],\ + ["@babel/plugin-syntax-optional-catch-binding", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3"],\ + ["@babel/plugin-syntax-optional-chaining", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.8.3"],\ + ["@babel/plugin-syntax-private-property-in-object", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.14.5"],\ + ["@babel/plugin-syntax-top-level-await", "virtual:56983eadc3c47b8ff78947bf83bf74beaf98595aa1663469b8284ac81b75ed2a46043c0f61e9ddb974a8fecf3bb0c5cce07c960d63c698b865f157e5cd64d225#npm:7.14.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:7286e6a3b75bc9eb8618cf9596bb335d8211ad786841ad768bd064596354ed84a29a53e6a0f5a45c7bf464932d354278a59c505eb66a7b7b02d5d8b074869bf1#npm:1.1.0", {\ + "packageLocation": "./.yarn/__virtual__/babel-preset-current-node-syntax-virtual-00a1319faa/5/.yarn/berry/cache/babel-preset-current-node-syntax-npm-1.1.0-a3b84fe89f-10.zip/node_modules/babel-preset-current-node-syntax/",\ + "packageDependencies": [\ + ["babel-preset-current-node-syntax", "virtual:7286e6a3b75bc9eb8618cf9596bb335d8211ad786841ad768bd064596354ed84a29a53e6a0f5a45c7bf464932d354278a59c505eb66a7b7b02d5d8b074869bf1#npm:1.1.0"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/plugin-syntax-async-generators", "virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.8.4"],\ + ["@babel/plugin-syntax-bigint", "virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.8.3"],\ + ["@babel/plugin-syntax-class-properties", "virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.12.13"],\ + ["@babel/plugin-syntax-class-static-block", "virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.14.5"],\ + ["@babel/plugin-syntax-import-attributes", "virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.26.0"],\ + ["@babel/plugin-syntax-import-meta", "virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.10.4"],\ + ["@babel/plugin-syntax-json-strings", "virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.8.3"],\ + ["@babel/plugin-syntax-logical-assignment-operators", "virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.10.4"],\ + ["@babel/plugin-syntax-nullish-coalescing-operator", "virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.8.3"],\ + ["@babel/plugin-syntax-numeric-separator", "virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.10.4"],\ + ["@babel/plugin-syntax-object-rest-spread", "virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.8.3"],\ + ["@babel/plugin-syntax-optional-catch-binding", "virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.8.3"],\ + ["@babel/plugin-syntax-optional-chaining", "virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.8.3"],\ + ["@babel/plugin-syntax-private-property-in-object", "virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.14.5"],\ + ["@babel/plugin-syntax-top-level-await", "virtual:00a1319faac8cc21f9cca8aaf8bf3e8661d622d4c88088941d7d5fd35eb766e8d934d2102c3ee1fa186f9c9af541cf4e2cd4e7b43ecb4b191d3db163bbba9e43#npm:7.14.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:8fb874228f735bea91c3f6f2924f5b69b7ebacdf227c9dfb6ecda2fcf39f1f02dc125e51a350680e543314850ec9a9448a0cdb696e46a51b3b79a8f9b3984cbd#npm:1.1.0", {\ + "packageLocation": "./.yarn/__virtual__/babel-preset-current-node-syntax-virtual-47f3a76b44/5/.yarn/berry/cache/babel-preset-current-node-syntax-npm-1.1.0-a3b84fe89f-10.zip/node_modules/babel-preset-current-node-syntax/",\ + "packageDependencies": [\ + ["babel-preset-current-node-syntax", "virtual:8fb874228f735bea91c3f6f2924f5b69b7ebacdf227c9dfb6ecda2fcf39f1f02dc125e51a350680e543314850ec9a9448a0cdb696e46a51b3b79a8f9b3984cbd#npm:1.1.0"],\ + ["@babel/core", null],\ + ["@babel/plugin-syntax-async-generators", "virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.8.4"],\ + ["@babel/plugin-syntax-bigint", "virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.8.3"],\ + ["@babel/plugin-syntax-class-properties", "virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.12.13"],\ + ["@babel/plugin-syntax-class-static-block", "virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.14.5"],\ + ["@babel/plugin-syntax-import-attributes", "virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.26.0"],\ + ["@babel/plugin-syntax-import-meta", "virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.10.4"],\ + ["@babel/plugin-syntax-json-strings", "virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.8.3"],\ + ["@babel/plugin-syntax-logical-assignment-operators", "virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.10.4"],\ + ["@babel/plugin-syntax-nullish-coalescing-operator", "virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.8.3"],\ + ["@babel/plugin-syntax-numeric-separator", "virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.10.4"],\ + ["@babel/plugin-syntax-object-rest-spread", "virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.8.3"],\ + ["@babel/plugin-syntax-optional-catch-binding", "virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.8.3"],\ + ["@babel/plugin-syntax-optional-chaining", "virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.8.3"],\ + ["@babel/plugin-syntax-private-property-in-object", "virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.14.5"],\ + ["@babel/plugin-syntax-top-level-await", "virtual:47f3a76b4410614161530453be91610ca7e3cf2b176fb22fc348b4c6a5d681b1437cf948f1d148b8420b172edd392c9b9578b0b496d82ea013737e9cec5bbe24#npm:7.14.5"],\ + ["@types/babel__core", "npm:7.20.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["babel-preset-jest", [\ + ["npm:29.6.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/babel-preset-jest-npm-29.6.3-44bf6eeda9-10.zip/node_modules/babel-preset-jest/",\ + "packageDependencies": [\ + ["babel-preset-jest", "npm:29.6.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:bf44ab1d98d06e1c42a13b52f7fb1bbf29da66fd21b9d8a2ab20d4bd093a89b7c40f8efbd2048bf9c9a4b997406f2ba6bfc953076b571f9574f2bdd5dd036eac#npm:29.6.3", {\ + "packageLocation": "./.yarn/__virtual__/babel-preset-jest-virtual-8fb874228f/5/.yarn/berry/cache/babel-preset-jest-npm-29.6.3-44bf6eeda9-10.zip/node_modules/babel-preset-jest/",\ + "packageDependencies": [\ + ["babel-preset-jest", "virtual:bf44ab1d98d06e1c42a13b52f7fb1bbf29da66fd21b9d8a2ab20d4bd093a89b7c40f8efbd2048bf9c9a4b997406f2ba6bfc953076b571f9574f2bdd5dd036eac#npm:29.6.3"],\ + ["@babel/core", null],\ + ["@types/babel__core", "npm:7.20.5"],\ + ["babel-plugin-jest-hoist", "npm:29.6.3"],\ + ["babel-preset-current-node-syntax", "virtual:8fb874228f735bea91c3f6f2924f5b69b7ebacdf227c9dfb6ecda2fcf39f1f02dc125e51a350680e543314850ec9a9448a0cdb696e46a51b3b79a8f9b3984cbd#npm:1.1.0"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:f2f819fae1c4886a3ef1556a1d45d7256bb2722fac0a3b77d8a806123120a4337383b7bbc9556e367469344ed51c8e1fcb64e89fe3ea503399e64393906e3197#npm:29.6.3", {\ + "packageLocation": "./.yarn/__virtual__/babel-preset-jest-virtual-7286e6a3b7/5/.yarn/berry/cache/babel-preset-jest-npm-29.6.3-44bf6eeda9-10.zip/node_modules/babel-preset-jest/",\ + "packageDependencies": [\ + ["babel-preset-jest", "virtual:f2f819fae1c4886a3ef1556a1d45d7256bb2722fac0a3b77d8a806123120a4337383b7bbc9556e367469344ed51c8e1fcb64e89fe3ea503399e64393906e3197#npm:29.6.3"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@types/babel__core", "npm:7.20.5"],\ + ["babel-plugin-jest-hoist", "npm:29.6.3"],\ + ["babel-preset-current-node-syntax", "virtual:7286e6a3b75bc9eb8618cf9596bb335d8211ad786841ad768bd064596354ed84a29a53e6a0f5a45c7bf464932d354278a59c505eb66a7b7b02d5d8b074869bf1#npm:1.1.0"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["balanced-match", [\ + ["npm:1.0.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/balanced-match-npm-1.0.2-a53c126459-10.zip/node_modules/balanced-match/",\ + "packageDependencies": [\ + ["balanced-match", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["brace-expansion", [\ + ["npm:1.1.11", {\ + "packageLocation": "../../../../.yarn/berry/cache/brace-expansion-npm-1.1.11-fb95eb05ad-10.zip/node_modules/brace-expansion/",\ + "packageDependencies": [\ + ["brace-expansion", "npm:1.1.11"],\ + ["balanced-match", "npm:1.0.2"],\ + ["concat-map", "npm:0.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/brace-expansion-npm-2.0.1-17aa2616f9-10.zip/node_modules/brace-expansion/",\ + "packageDependencies": [\ + ["brace-expansion", "npm:2.0.1"],\ + ["balanced-match", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["braces", [\ + ["npm:3.0.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/braces-npm-3.0.3-582c14023c-10.zip/node_modules/braces/",\ + "packageDependencies": [\ + ["braces", "npm:3.0.3"],\ + ["fill-range", "npm:7.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["browserslist", [\ + ["npm:4.24.4", {\ + "packageLocation": "../../../../.yarn/berry/cache/browserslist-npm-4.24.4-2fdeb5face-10.zip/node_modules/browserslist/",\ + "packageDependencies": [\ + ["browserslist", "npm:4.24.4"],\ + ["caniuse-lite", "npm:1.0.30001714"],\ + ["electron-to-chromium", "npm:1.5.138"],\ + ["node-releases", "npm:2.0.19"],\ + ["update-browserslist-db", "virtual:2fdeb5face9914bb5fd94c70f084d153c80d2f09e5aabee010e4220b248dc23fca8f73c7beed0195e45ae6e2b1cb25388f709d7bfc4f00e473d573887faf4e5c#npm:1.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["bser", [\ + ["npm:2.1.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/bser-npm-2.1.1-cc902055ce-10.zip/node_modules/bser/",\ + "packageDependencies": [\ + ["bser", "npm:2.1.1"],\ + ["node-int64", "npm:0.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["buffer-from", [\ + ["npm:1.1.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/buffer-from-npm-1.1.2-03d2f20d7e-10.zip/node_modules/buffer-from/",\ + "packageDependencies": [\ + ["buffer-from", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cacache", [\ + ["npm:19.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/cacache-npm-19.0.1-395cba1936-10.zip/node_modules/cacache/",\ + "packageDependencies": [\ + ["cacache", "npm:19.0.1"],\ + ["@npmcli/fs", "npm:4.0.0"],\ + ["fs-minipass", "npm:3.0.3"],\ + ["glob", "npm:10.4.5"],\ + ["lru-cache", "npm:10.4.3"],\ + ["minipass", "npm:7.1.2"],\ + ["minipass-collect", "npm:2.0.1"],\ + ["minipass-flush", "npm:1.0.5"],\ + ["minipass-pipeline", "npm:1.2.4"],\ + ["p-map", "npm:7.0.3"],\ + ["ssri", "npm:12.0.0"],\ + ["tar", "npm:7.4.3"],\ + ["unique-filename", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["call-bind", [\ + ["npm:1.0.8", {\ + "packageLocation": "../../../../.yarn/berry/cache/call-bind-npm-1.0.8-4145a20621-10.zip/node_modules/call-bind/",\ + "packageDependencies": [\ + ["call-bind", "npm:1.0.8"],\ + ["call-bind-apply-helpers", "npm:1.0.2"],\ + ["es-define-property", "npm:1.0.1"],\ + ["get-intrinsic", "npm:1.3.0"],\ + ["set-function-length", "npm:1.2.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["call-bind-apply-helpers", [\ + ["npm:1.0.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/call-bind-apply-helpers-npm-1.0.2-3eedbea3bb-10.zip/node_modules/call-bind-apply-helpers/",\ + "packageDependencies": [\ + ["call-bind-apply-helpers", "npm:1.0.2"],\ + ["es-errors", "npm:1.3.0"],\ + ["function-bind", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["call-bound", [\ + ["npm:1.0.4", {\ + "packageLocation": "../../../../.yarn/berry/cache/call-bound-npm-1.0.4-359cfa32c7-10.zip/node_modules/call-bound/",\ + "packageDependencies": [\ + ["call-bound", "npm:1.0.4"],\ + ["call-bind-apply-helpers", "npm:1.0.2"],\ + ["get-intrinsic", "npm:1.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["callsites", [\ + ["npm:3.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/callsites-npm-3.1.0-268f989910-10.zip/node_modules/callsites/",\ + "packageDependencies": [\ + ["callsites", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["camelcase", [\ + ["npm:5.3.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/camelcase-npm-5.3.1-5db8af62c5-10.zip/node_modules/camelcase/",\ + "packageDependencies": [\ + ["camelcase", "npm:5.3.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.3.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/camelcase-npm-6.3.0-e5e42a0d15-10.zip/node_modules/camelcase/",\ + "packageDependencies": [\ + ["camelcase", "npm:6.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["caniuse-lite", [\ + ["npm:1.0.30001714", {\ + "packageLocation": "../../../../.yarn/berry/cache/caniuse-lite-npm-1.0.30001714-c8999c91f0-10.zip/node_modules/caniuse-lite/",\ + "packageDependencies": [\ + ["caniuse-lite", "npm:1.0.30001714"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["chalk", [\ + ["npm:4.1.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/chalk-npm-4.1.2-ba8b67ab80-10.zip/node_modules/chalk/",\ + "packageDependencies": [\ + ["chalk", "npm:4.1.2"],\ + ["ansi-styles", "npm:4.3.0"],\ + ["supports-color", "npm:7.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["char-regex", [\ + ["npm:1.0.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/char-regex-npm-1.0.2-ecade5f97f-10.zip/node_modules/char-regex/",\ + "packageDependencies": [\ + ["char-regex", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["chownr", [\ + ["npm:3.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/chownr-npm-3.0.0-5275e85d25-10.zip/node_modules/chownr/",\ + "packageDependencies": [\ + ["chownr", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ci-info", [\ + ["npm:3.9.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/ci-info-npm-3.9.0-646784ca0e-10.zip/node_modules/ci-info/",\ + "packageDependencies": [\ + ["ci-info", "npm:3.9.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cjs-module-lexer", [\ + ["npm:1.4.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/cjs-module-lexer-npm-1.4.3-4a46e7bf6c-10.zip/node_modules/cjs-module-lexer/",\ + "packageDependencies": [\ + ["cjs-module-lexer", "npm:1.4.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cliui", [\ + ["npm:8.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/cliui-npm-8.0.1-3b029092cf-10.zip/node_modules/cliui/",\ + "packageDependencies": [\ + ["cliui", "npm:8.0.1"],\ + ["string-width", "npm:4.2.3"],\ + ["strip-ansi", "npm:6.0.1"],\ + ["wrap-ansi", "npm:7.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["clone-deep", [\ + ["npm:4.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/clone-deep-npm-4.0.1-70adab92c8-10.zip/node_modules/clone-deep/",\ + "packageDependencies": [\ + ["clone-deep", "npm:4.0.1"],\ + ["is-plain-object", "npm:2.0.4"],\ + ["kind-of", "npm:6.0.3"],\ + ["shallow-clone", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["co", [\ + ["npm:4.6.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/co-npm-4.6.0-03f2d1feb6-10.zip/node_modules/co/",\ + "packageDependencies": [\ + ["co", "npm:4.6.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["collect-v8-coverage", [\ + ["npm:1.0.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/collect-v8-coverage-npm-1.0.2-bd20d0c572-10.zip/node_modules/collect-v8-coverage/",\ + "packageDependencies": [\ + ["collect-v8-coverage", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["color-convert", [\ + ["npm:2.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/color-convert-npm-2.0.1-79730e935b-10.zip/node_modules/color-convert/",\ + "packageDependencies": [\ + ["color-convert", "npm:2.0.1"],\ + ["color-name", "npm:1.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["color-name", [\ + ["npm:1.1.4", {\ + "packageLocation": "../../../../.yarn/berry/cache/color-name-npm-1.1.4-025792b0ea-10.zip/node_modules/color-name/",\ + "packageDependencies": [\ + ["color-name", "npm:1.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["commander", [\ + ["npm:6.2.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/commander-npm-6.2.1-d5b635f237-10.zip/node_modules/commander/",\ + "packageDependencies": [\ + ["commander", "npm:6.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["commondir", [\ + ["npm:1.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/commondir-npm-1.0.1-291b790340-10.zip/node_modules/commondir/",\ + "packageDependencies": [\ + ["commondir", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["concat-map", [\ + ["npm:0.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/concat-map-npm-0.0.1-85a921b7ee-10.zip/node_modules/concat-map/",\ + "packageDependencies": [\ + ["concat-map", "npm:0.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["convert-source-map", [\ + ["npm:2.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/convert-source-map-npm-2.0.0-7ab664dc4e-10.zip/node_modules/convert-source-map/",\ + "packageDependencies": [\ + ["convert-source-map", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["core-js", [\ + ["npm:3.38.1", {\ + "packageLocation": "./.yarn/unplugged/core-js-npm-3.38.1-5a2a3b88ee/node_modules/core-js/",\ + "packageDependencies": [\ + ["core-js", "npm:3.38.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.41.0", {\ + "packageLocation": "./.yarn/unplugged/core-js-npm-3.41.0-c58970ae3d/node_modules/core-js/",\ + "packageDependencies": [\ + ["core-js", "npm:3.41.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["core-js-compat", [\ + ["npm:3.41.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/core-js-compat-npm-3.41.0-3a60c76839-10.zip/node_modules/core-js-compat/",\ + "packageDependencies": [\ + ["core-js-compat", "npm:3.41.0"],\ + ["browserslist", "npm:4.24.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["create-jest", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/create-jest-npm-29.7.0-3a6a7b993b-10.zip/node_modules/create-jest/",\ + "packageDependencies": [\ + ["create-jest", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["chalk", "npm:4.1.2"],\ + ["exit", "npm:0.1.2"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["jest-config", "virtual:3a6a7b993b4c5b60edc037a265ed4617431cf4c75aee76d6fbd0f2ca65ea68cee61c092e9bd306baebd90cc377234b4a525791e6755ee4d2193076de2c2bdfed#npm:29.7.0"],\ + ["jest-util", "npm:29.7.0"],\ + ["prompts", "npm:2.4.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cross-spawn", [\ + ["npm:7.0.6", {\ + "packageLocation": "../../../../.yarn/berry/cache/cross-spawn-npm-7.0.6-264bddf921-10.zip/node_modules/cross-spawn/",\ + "packageDependencies": [\ + ["cross-spawn", "npm:7.0.6"],\ + ["path-key", "npm:3.1.1"],\ + ["shebang-command", "npm:2.0.0"],\ + ["which", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["data-view-buffer", [\ + ["npm:1.0.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/data-view-buffer-npm-1.0.2-93c9247e37-10.zip/node_modules/data-view-buffer/",\ + "packageDependencies": [\ + ["data-view-buffer", "npm:1.0.2"],\ + ["call-bound", "npm:1.0.4"],\ + ["es-errors", "npm:1.3.0"],\ + ["is-data-view", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["data-view-byte-length", [\ + ["npm:1.0.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/data-view-byte-length-npm-1.0.2-96d312fb9c-10.zip/node_modules/data-view-byte-length/",\ + "packageDependencies": [\ + ["data-view-byte-length", "npm:1.0.2"],\ + ["call-bound", "npm:1.0.4"],\ + ["es-errors", "npm:1.3.0"],\ + ["is-data-view", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["data-view-byte-offset", [\ + ["npm:1.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/data-view-byte-offset-npm-1.0.1-315a12a556-10.zip/node_modules/data-view-byte-offset/",\ + "packageDependencies": [\ + ["data-view-byte-offset", "npm:1.0.1"],\ + ["call-bound", "npm:1.0.4"],\ + ["es-errors", "npm:1.3.0"],\ + ["is-data-view", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["debug", [\ + ["npm:4.4.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/debug-npm-4.4.0-f6efe76023-10.zip/node_modules/debug/",\ + "packageDependencies": [\ + ["debug", "npm:4.4.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:e376c6d25689d1413f13b759a5649fe969efab30320e886cab81ece2b6daf8c4c74f642faff7228a9a286b4b82bc7bac5773e45f1085910307cd111b19a8cd17#npm:4.4.0", {\ + "packageLocation": "./.yarn/__virtual__/debug-virtual-ede0ef6c92/5/.yarn/berry/cache/debug-npm-4.4.0-f6efe76023-10.zip/node_modules/debug/",\ + "packageDependencies": [\ + ["debug", "virtual:e376c6d25689d1413f13b759a5649fe969efab30320e886cab81ece2b6daf8c4c74f642faff7228a9a286b4b82bc7bac5773e45f1085910307cd111b19a8cd17#npm:4.4.0"],\ + ["@types/supports-color", null],\ + ["ms", "npm:2.1.3"],\ + ["supports-color", null]\ + ],\ + "packagePeers": [\ + "@types/supports-color",\ + "supports-color"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["dedent", [\ + ["npm:1.5.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/dedent-npm-1.5.3-123726df15-10.zip/node_modules/dedent/",\ + "packageDependencies": [\ + ["dedent", "npm:1.5.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:f7679858c638e2e5ade31901dd2b1e5007918fdc7d84fefb11f4200f46ba2e43b9d662fb793507b517bb1e725144e51f6d68f60f9f6100fd52144f042f58f0bc#npm:1.5.3", {\ + "packageLocation": "./.yarn/__virtual__/dedent-virtual-5106190c75/5/.yarn/berry/cache/dedent-npm-1.5.3-123726df15-10.zip/node_modules/dedent/",\ + "packageDependencies": [\ + ["dedent", "virtual:f7679858c638e2e5ade31901dd2b1e5007918fdc7d84fefb11f4200f46ba2e43b9d662fb793507b517bb1e725144e51f6d68f60f9f6100fd52144f042f58f0bc#npm:1.5.3"],\ + ["@types/babel-plugin-macros", null],\ + ["babel-plugin-macros", null]\ + ],\ + "packagePeers": [\ + "@types/babel-plugin-macros",\ + "babel-plugin-macros"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["deep-is", [\ + ["npm:0.1.4", {\ + "packageLocation": "../../../../.yarn/berry/cache/deep-is-npm-0.1.4-88938b5a67-10.zip/node_modules/deep-is/",\ + "packageDependencies": [\ + ["deep-is", "npm:0.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["deepmerge", [\ + ["npm:4.3.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/deepmerge-npm-4.3.1-4f751a0844-10.zip/node_modules/deepmerge/",\ + "packageDependencies": [\ + ["deepmerge", "npm:4.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["define-data-property", [\ + ["npm:1.1.4", {\ + "packageLocation": "../../../../.yarn/berry/cache/define-data-property-npm-1.1.4-4cbd8efc51-10.zip/node_modules/define-data-property/",\ + "packageDependencies": [\ + ["define-data-property", "npm:1.1.4"],\ + ["es-define-property", "npm:1.0.1"],\ + ["es-errors", "npm:1.3.0"],\ + ["gopd", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["define-properties", [\ + ["npm:1.2.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/define-properties-npm-1.2.1-8a4d42413b-10.zip/node_modules/define-properties/",\ + "packageDependencies": [\ + ["define-properties", "npm:1.2.1"],\ + ["define-data-property", "npm:1.1.4"],\ + ["has-property-descriptors", "npm:1.0.2"],\ + ["object-keys", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["detect-newline", [\ + ["npm:3.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/detect-newline-npm-3.1.0-6d33fa8d37-10.zip/node_modules/detect-newline/",\ + "packageDependencies": [\ + ["detect-newline", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["diff-sequences", [\ + ["npm:29.6.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/diff-sequences-npm-29.6.3-18ab2c9949-10.zip/node_modules/diff-sequences/",\ + "packageDependencies": [\ + ["diff-sequences", "npm:29.6.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["dunder-proto", [\ + ["npm:1.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/dunder-proto-npm-1.0.1-90eb6829db-10.zip/node_modules/dunder-proto/",\ + "packageDependencies": [\ + ["dunder-proto", "npm:1.0.1"],\ + ["call-bind-apply-helpers", "npm:1.0.2"],\ + ["es-errors", "npm:1.3.0"],\ + ["gopd", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eastasianwidth", [\ + ["npm:0.2.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/eastasianwidth-npm-0.2.0-c37eb16bd1-10.zip/node_modules/eastasianwidth/",\ + "packageDependencies": [\ + ["eastasianwidth", "npm:0.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["electron-to-chromium", [\ + ["npm:1.5.138", {\ + "packageLocation": "../../../../.yarn/berry/cache/electron-to-chromium-npm-1.5.138-dfe1fd1d12-10.zip/node_modules/electron-to-chromium/",\ + "packageDependencies": [\ + ["electron-to-chromium", "npm:1.5.138"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["emittery", [\ + ["npm:0.13.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/emittery-npm-0.13.1-cb6cd1bb03-10.zip/node_modules/emittery/",\ + "packageDependencies": [\ + ["emittery", "npm:0.13.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["emoji-regex", [\ + ["npm:8.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/emoji-regex-npm-8.0.0-213764015c-10.zip/node_modules/emoji-regex/",\ + "packageDependencies": [\ + ["emoji-regex", "npm:8.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:9.2.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/emoji-regex-npm-9.2.2-e6fac8d058-10.zip/node_modules/emoji-regex/",\ + "packageDependencies": [\ + ["emoji-regex", "npm:9.2.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["encoding", [\ + ["npm:0.1.13", {\ + "packageLocation": "../../../../.yarn/berry/cache/encoding-npm-0.1.13-82a1837d30-10.zip/node_modules/encoding/",\ + "packageDependencies": [\ + ["encoding", "npm:0.1.13"],\ + ["iconv-lite", "npm:0.6.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["env-paths", [\ + ["npm:2.2.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/env-paths-npm-2.2.1-7c7577428c-10.zip/node_modules/env-paths/",\ + "packageDependencies": [\ + ["env-paths", "npm:2.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["err-code", [\ + ["npm:2.0.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/err-code-npm-2.0.3-082e0ff9a7-10.zip/node_modules/err-code/",\ + "packageDependencies": [\ + ["err-code", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["error-ex", [\ + ["npm:1.3.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/error-ex-npm-1.3.2-5654f80c0f-10.zip/node_modules/error-ex/",\ + "packageDependencies": [\ + ["error-ex", "npm:1.3.2"],\ + ["is-arrayish", "npm:0.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["es-abstract", [\ + ["npm:1.23.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/es-abstract-npm-1.23.9-65d488dcce-10.zip/node_modules/es-abstract/",\ + "packageDependencies": [\ + ["es-abstract", "npm:1.23.9"],\ + ["array-buffer-byte-length", "npm:1.0.2"],\ + ["arraybuffer.prototype.slice", "npm:1.0.4"],\ + ["available-typed-arrays", "npm:1.0.7"],\ + ["call-bind", "npm:1.0.8"],\ + ["call-bound", "npm:1.0.4"],\ + ["data-view-buffer", "npm:1.0.2"],\ + ["data-view-byte-length", "npm:1.0.2"],\ + ["data-view-byte-offset", "npm:1.0.1"],\ + ["es-define-property", "npm:1.0.1"],\ + ["es-errors", "npm:1.3.0"],\ + ["es-object-atoms", "npm:1.1.1"],\ + ["es-set-tostringtag", "npm:2.1.0"],\ + ["es-to-primitive", "npm:1.3.0"],\ + ["function.prototype.name", "npm:1.1.8"],\ + ["get-intrinsic", "npm:1.3.0"],\ + ["get-proto", "npm:1.0.1"],\ + ["get-symbol-description", "npm:1.1.0"],\ + ["globalthis", "npm:1.0.4"],\ + ["gopd", "npm:1.2.0"],\ + ["has-property-descriptors", "npm:1.0.2"],\ + ["has-proto", "npm:1.2.0"],\ + ["has-symbols", "npm:1.1.0"],\ + ["hasown", "npm:2.0.2"],\ + ["internal-slot", "npm:1.1.0"],\ + ["is-array-buffer", "npm:3.0.5"],\ + ["is-callable", "npm:1.2.7"],\ + ["is-data-view", "npm:1.0.2"],\ + ["is-regex", "npm:1.2.1"],\ + ["is-shared-array-buffer", "npm:1.0.4"],\ + ["is-string", "npm:1.1.1"],\ + ["is-typed-array", "npm:1.1.15"],\ + ["is-weakref", "npm:1.1.1"],\ + ["math-intrinsics", "npm:1.1.0"],\ + ["object-inspect", "npm:1.13.4"],\ + ["object-keys", "npm:1.1.1"],\ + ["object.assign", "npm:4.1.7"],\ + ["own-keys", "npm:1.0.1"],\ + ["regexp.prototype.flags", "npm:1.5.4"],\ + ["safe-array-concat", "npm:1.1.3"],\ + ["safe-push-apply", "npm:1.0.0"],\ + ["safe-regex-test", "npm:1.1.0"],\ + ["set-proto", "npm:1.0.0"],\ + ["string.prototype.trim", "npm:1.2.10"],\ + ["string.prototype.trimend", "npm:1.0.9"],\ + ["string.prototype.trimstart", "npm:1.0.8"],\ + ["typed-array-buffer", "npm:1.0.3"],\ + ["typed-array-byte-length", "npm:1.0.3"],\ + ["typed-array-byte-offset", "npm:1.0.4"],\ + ["typed-array-length", "npm:1.0.7"],\ + ["unbox-primitive", "npm:1.1.0"],\ + ["which-typed-array", "npm:1.1.19"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["es-array-method-boxes-properly", [\ + ["npm:1.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/es-array-method-boxes-properly-npm-1.0.0-d4bc728109-10.zip/node_modules/es-array-method-boxes-properly/",\ + "packageDependencies": [\ + ["es-array-method-boxes-properly", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["es-define-property", [\ + ["npm:1.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/es-define-property-npm-1.0.1-3fc6324f1c-10.zip/node_modules/es-define-property/",\ + "packageDependencies": [\ + ["es-define-property", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["es-errors", [\ + ["npm:1.3.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/es-errors-npm-1.3.0-fda0c9b8a8-10.zip/node_modules/es-errors/",\ + "packageDependencies": [\ + ["es-errors", "npm:1.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["es-object-atoms", [\ + ["npm:1.1.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/es-object-atoms-npm-1.1.1-362d8043c2-10.zip/node_modules/es-object-atoms/",\ + "packageDependencies": [\ + ["es-object-atoms", "npm:1.1.1"],\ + ["es-errors", "npm:1.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["es-set-tostringtag", [\ + ["npm:2.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/es-set-tostringtag-npm-2.1.0-4e55705d3f-10.zip/node_modules/es-set-tostringtag/",\ + "packageDependencies": [\ + ["es-set-tostringtag", "npm:2.1.0"],\ + ["es-errors", "npm:1.3.0"],\ + ["get-intrinsic", "npm:1.3.0"],\ + ["has-tostringtag", "npm:1.0.2"],\ + ["hasown", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["es-to-primitive", [\ + ["npm:1.3.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/es-to-primitive-npm-1.3.0-470b6d51b6-10.zip/node_modules/es-to-primitive/",\ + "packageDependencies": [\ + ["es-to-primitive", "npm:1.3.0"],\ + ["is-callable", "npm:1.2.7"],\ + ["is-date-object", "npm:1.1.0"],\ + ["is-symbol", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["escalade", [\ + ["npm:3.2.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/escalade-npm-3.2.0-19b50dd48f-10.zip/node_modules/escalade/",\ + "packageDependencies": [\ + ["escalade", "npm:3.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["escape-string-regexp", [\ + ["npm:2.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/escape-string-regexp-npm-2.0.0-aef69d2a25-10.zip/node_modules/escape-string-regexp/",\ + "packageDependencies": [\ + ["escape-string-regexp", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/escape-string-regexp-npm-4.0.0-4b531d8d59-10.zip/node_modules/escape-string-regexp/",\ + "packageDependencies": [\ + ["escape-string-regexp", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eslint", [\ + ["npm:9.25.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/eslint-npm-9.25.0-f3404614f6-10.zip/node_modules/eslint/",\ + "packageDependencies": [\ + ["eslint", "npm:9.25.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:eae072fb4ec4cfb10278b9618e1f0b9223a7f2d1b68a48363782e8e07b712e5912c908ad7164155868a6baaf03178af3c3bd1ec89c72366e2aba013fc9a80a32#npm:9.25.0", {\ + "packageLocation": "./.yarn/__virtual__/eslint-virtual-ec759bd3c1/5/.yarn/berry/cache/eslint-npm-9.25.0-f3404614f6-10.zip/node_modules/eslint/",\ + "packageDependencies": [\ + ["eslint", "virtual:eae072fb4ec4cfb10278b9618e1f0b9223a7f2d1b68a48363782e8e07b712e5912c908ad7164155868a6baaf03178af3c3bd1ec89c72366e2aba013fc9a80a32#npm:9.25.0"],\ + ["@eslint-community/eslint-utils", "virtual:3c600cfad0f51db3032b0e5ed34f49b6455fe95a9514460f8932025330be54fbe765474a92d0068bc5593289212998061bae07030308603b39395e9e6b8b164d#npm:4.6.1"],\ + ["@eslint-community/regexpp", "npm:4.12.1"],\ + ["@eslint/config-array", "npm:0.20.0"],\ + ["@eslint/config-helpers", "npm:0.2.1"],\ + ["@eslint/core", "npm:0.13.0"],\ + ["@eslint/eslintrc", "npm:3.3.1"],\ + ["@eslint/js", "npm:9.25.0"],\ + ["@eslint/plugin-kit", "npm:0.2.8"],\ + ["@humanfs/node", "npm:0.16.6"],\ + ["@humanwhocodes/module-importer", "npm:1.0.1"],\ + ["@humanwhocodes/retry", "npm:0.4.2"],\ + ["@types/estree", "npm:1.0.7"],\ + ["@types/jiti", null],\ + ["@types/json-schema", "npm:7.0.15"],\ + ["ajv", "npm:6.12.6"],\ + ["chalk", "npm:4.1.2"],\ + ["cross-spawn", "npm:7.0.6"],\ + ["debug", "virtual:e376c6d25689d1413f13b759a5649fe969efab30320e886cab81ece2b6daf8c4c74f642faff7228a9a286b4b82bc7bac5773e45f1085910307cd111b19a8cd17#npm:4.4.0"],\ + ["escape-string-regexp", "npm:4.0.0"],\ + ["eslint-scope", "npm:8.3.0"],\ + ["eslint-visitor-keys", "npm:4.2.0"],\ + ["espree", "npm:10.3.0"],\ + ["esquery", "npm:1.6.0"],\ + ["esutils", "npm:2.0.3"],\ + ["fast-deep-equal", "npm:3.1.3"],\ + ["file-entry-cache", "npm:8.0.0"],\ + ["find-up", "npm:5.0.0"],\ + ["glob-parent", "npm:6.0.2"],\ + ["ignore", "npm:5.3.2"],\ + ["imurmurhash", "npm:0.1.4"],\ + ["is-glob", "npm:4.0.3"],\ + ["jiti", null],\ + ["json-stable-stringify-without-jsonify", "npm:1.0.1"],\ + ["lodash.merge", "npm:4.6.2"],\ + ["minimatch", "npm:3.1.2"],\ + ["natural-compare", "npm:1.4.0"],\ + ["optionator", "npm:0.9.4"]\ + ],\ + "packagePeers": [\ + "@types/jiti",\ + "jiti"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eslint-config-prettier", [\ + ["npm:9.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/eslint-config-prettier-npm-9.1.0-0e1fd42d7d-10.zip/node_modules/eslint-config-prettier/",\ + "packageDependencies": [\ + ["eslint-config-prettier", "npm:9.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:440ea2d10661ec0e9c8278aae24b911169750d80300253bfc6cecc08f8f81de62eca08912ef9602fde8b64500946ddbbc91f4594a236aad532637bba2f112aa9#npm:9.1.0", {\ + "packageLocation": "./.yarn/__virtual__/eslint-config-prettier-virtual-4d05635a6c/5/.yarn/berry/cache/eslint-config-prettier-npm-9.1.0-0e1fd42d7d-10.zip/node_modules/eslint-config-prettier/",\ + "packageDependencies": [\ + ["eslint-config-prettier", "virtual:440ea2d10661ec0e9c8278aae24b911169750d80300253bfc6cecc08f8f81de62eca08912ef9602fde8b64500946ddbbc91f4594a236aad532637bba2f112aa9#npm:9.1.0"],\ + ["@types/eslint", null],\ + ["eslint", "virtual:eae072fb4ec4cfb10278b9618e1f0b9223a7f2d1b68a48363782e8e07b712e5912c908ad7164155868a6baaf03178af3c3bd1ec89c72366e2aba013fc9a80a32#npm:9.25.0"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "eslint"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eslint-plugin-jest", [\ + ["npm:28.11.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/eslint-plugin-jest-npm-28.11.0-a208fceab5-10.zip/node_modules/eslint-plugin-jest/",\ + "packageDependencies": [\ + ["eslint-plugin-jest", "npm:28.11.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:440ea2d10661ec0e9c8278aae24b911169750d80300253bfc6cecc08f8f81de62eca08912ef9602fde8b64500946ddbbc91f4594a236aad532637bba2f112aa9#npm:28.11.0", {\ + "packageLocation": "./.yarn/__virtual__/eslint-plugin-jest-virtual-d9d0ca7a67/5/.yarn/berry/cache/eslint-plugin-jest-npm-28.11.0-a208fceab5-10.zip/node_modules/eslint-plugin-jest/",\ + "packageDependencies": [\ + ["eslint-plugin-jest", "virtual:440ea2d10661ec0e9c8278aae24b911169750d80300253bfc6cecc08f8f81de62eca08912ef9602fde8b64500946ddbbc91f4594a236aad532637bba2f112aa9#npm:28.11.0"],\ + ["@types/eslint", null],\ + ["@types/jest", null],\ + ["@types/typescript-eslint__eslint-plugin", null],\ + ["@typescript-eslint/eslint-plugin", null],\ + ["@typescript-eslint/utils", "virtual:85e4764c88ba85008bb299bbf265a471a02f35ab5613f746f96741955c5ef8000df9901efc5e4b8b88b7c422245259f11089531bd6be1dc165dbdfc585173784#npm:8.30.1"],\ + ["eslint", "virtual:eae072fb4ec4cfb10278b9618e1f0b9223a7f2d1b68a48363782e8e07b712e5912c908ad7164155868a6baaf03178af3c3bd1ec89c72366e2aba013fc9a80a32#npm:9.25.0"],\ + ["jest", null]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "@types/jest",\ + "@types/typescript-eslint__eslint-plugin",\ + "@typescript-eslint/eslint-plugin",\ + "eslint",\ + "jest"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eslint-scope", [\ + ["npm:8.3.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/eslint-scope-npm-8.3.0-2f4303c4f9-10.zip/node_modules/eslint-scope/",\ + "packageDependencies": [\ + ["eslint-scope", "npm:8.3.0"],\ + ["esrecurse", "npm:4.3.0"],\ + ["estraverse", "npm:5.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eslint-visitor-keys", [\ + ["npm:3.4.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/eslint-visitor-keys-npm-3.4.3-a356ac7e46-10.zip/node_modules/eslint-visitor-keys/",\ + "packageDependencies": [\ + ["eslint-visitor-keys", "npm:3.4.3"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.2.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/eslint-visitor-keys-npm-4.2.0-a591434af3-10.zip/node_modules/eslint-visitor-keys/",\ + "packageDependencies": [\ + ["eslint-visitor-keys", "npm:4.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["espree", [\ + ["npm:10.3.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/espree-npm-10.3.0-e5b10052f5-10.zip/node_modules/espree/",\ + "packageDependencies": [\ + ["espree", "npm:10.3.0"],\ + ["acorn", "npm:8.14.1"],\ + ["acorn-jsx", "virtual:e5b10052f5b961a2f38f3edbfbbcd7baf074e555f688eaf63695fed94838b848c6291487952754e262c19f60bf34d659b71e3d5260e2ea073949e1b6269dc165#npm:5.3.2"],\ + ["eslint-visitor-keys", "npm:4.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["esprima", [\ + ["npm:4.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/esprima-npm-4.0.1-1084e98778-10.zip/node_modules/esprima/",\ + "packageDependencies": [\ + ["esprima", "npm:4.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["esquery", [\ + ["npm:1.6.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/esquery-npm-1.6.0-16fee31531-10.zip/node_modules/esquery/",\ + "packageDependencies": [\ + ["esquery", "npm:1.6.0"],\ + ["estraverse", "npm:5.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["esrecurse", [\ + ["npm:4.3.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/esrecurse-npm-4.3.0-10b86a887a-10.zip/node_modules/esrecurse/",\ + "packageDependencies": [\ + ["esrecurse", "npm:4.3.0"],\ + ["estraverse", "npm:5.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["estraverse", [\ + ["npm:5.3.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/estraverse-npm-5.3.0-03284f8f63-10.zip/node_modules/estraverse/",\ + "packageDependencies": [\ + ["estraverse", "npm:5.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["esutils", [\ + ["npm:2.0.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/esutils-npm-2.0.3-f865beafd5-10.zip/node_modules/esutils/",\ + "packageDependencies": [\ + ["esutils", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["execa", [\ + ["npm:5.1.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/execa-npm-5.1.1-191347acf5-10.zip/node_modules/execa/",\ + "packageDependencies": [\ + ["execa", "npm:5.1.1"],\ + ["cross-spawn", "npm:7.0.6"],\ + ["get-stream", "npm:6.0.1"],\ + ["human-signals", "npm:2.1.0"],\ + ["is-stream", "npm:2.0.1"],\ + ["merge-stream", "npm:2.0.0"],\ + ["npm-run-path", "npm:4.0.1"],\ + ["onetime", "npm:5.1.2"],\ + ["signal-exit", "npm:3.0.7"],\ + ["strip-final-newline", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["exit", [\ + ["npm:0.1.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/exit-npm-0.1.2-ef3761a67d-10.zip/node_modules/exit/",\ + "packageDependencies": [\ + ["exit", "npm:0.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["expect", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/expect-npm-29.7.0-62e9f7979e-10.zip/node_modules/expect/",\ + "packageDependencies": [\ + ["expect", "npm:29.7.0"],\ + ["@jest/expect-utils", "npm:29.7.0"],\ + ["jest-get-type", "npm:29.6.3"],\ + ["jest-matcher-utils", "npm:29.7.0"],\ + ["jest-message-util", "npm:29.7.0"],\ + ["jest-util", "npm:29.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["exponential-backoff", [\ + ["npm:3.1.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/exponential-backoff-npm-3.1.2-e030c582de-10.zip/node_modules/exponential-backoff/",\ + "packageDependencies": [\ + ["exponential-backoff", "npm:3.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fast-deep-equal", [\ + ["npm:3.1.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/fast-deep-equal-npm-3.1.3-790edcfcf5-10.zip/node_modules/fast-deep-equal/",\ + "packageDependencies": [\ + ["fast-deep-equal", "npm:3.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fast-glob", [\ + ["npm:3.3.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/fast-glob-npm-3.3.3-2a653be532-10.zip/node_modules/fast-glob/",\ + "packageDependencies": [\ + ["fast-glob", "npm:3.3.3"],\ + ["@nodelib/fs.stat", "npm:2.0.5"],\ + ["@nodelib/fs.walk", "npm:1.2.8"],\ + ["glob-parent", "npm:5.1.2"],\ + ["merge2", "npm:1.4.1"],\ + ["micromatch", "npm:4.0.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fast-json-stable-stringify", [\ + ["npm:2.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/fast-json-stable-stringify-npm-2.1.0-02e8905fda-10.zip/node_modules/fast-json-stable-stringify/",\ + "packageDependencies": [\ + ["fast-json-stable-stringify", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fast-levenshtein", [\ + ["npm:2.0.6", {\ + "packageLocation": "../../../../.yarn/berry/cache/fast-levenshtein-npm-2.0.6-fcd74b8df5-10.zip/node_modules/fast-levenshtein/",\ + "packageDependencies": [\ + ["fast-levenshtein", "npm:2.0.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fastq", [\ + ["npm:1.19.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/fastq-npm-1.19.1-ca0a13ec3f-10.zip/node_modules/fastq/",\ + "packageDependencies": [\ + ["fastq", "npm:1.19.1"],\ + ["reusify", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fb-watchman", [\ + ["npm:2.0.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/fb-watchman-npm-2.0.2-bcb6f8f831-10.zip/node_modules/fb-watchman/",\ + "packageDependencies": [\ + ["fb-watchman", "npm:2.0.2"],\ + ["bser", "npm:2.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fdir", [\ + ["npm:6.4.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/fdir-npm-6.4.3-938f734d57-10.zip/node_modules/fdir/",\ + "packageDependencies": [\ + ["fdir", "npm:6.4.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:c8807de691826868d9a774dfe20fb184997709c19896ccda6c1d382d679c7c2453bf893d9e0510372bd84566a8523db06ec721126eb95bb24e97992998e8a625#npm:6.4.3", {\ + "packageLocation": "./.yarn/__virtual__/fdir-virtual-4be5a9f550/5/.yarn/berry/cache/fdir-npm-6.4.3-938f734d57-10.zip/node_modules/fdir/",\ + "packageDependencies": [\ + ["fdir", "virtual:c8807de691826868d9a774dfe20fb184997709c19896ccda6c1d382d679c7c2453bf893d9e0510372bd84566a8523db06ec721126eb95bb24e97992998e8a625#npm:6.4.3"],\ + ["@types/picomatch", null],\ + ["picomatch", "npm:4.0.2"]\ + ],\ + "packagePeers": [\ + "@types/picomatch",\ + "picomatch"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["file-entry-cache", [\ + ["npm:8.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/file-entry-cache-npm-8.0.0-5b09d19a83-10.zip/node_modules/file-entry-cache/",\ + "packageDependencies": [\ + ["file-entry-cache", "npm:8.0.0"],\ + ["flat-cache", "npm:4.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fill-range", [\ + ["npm:7.1.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/fill-range-npm-7.1.1-bf491486db-10.zip/node_modules/fill-range/",\ + "packageDependencies": [\ + ["fill-range", "npm:7.1.1"],\ + ["to-regex-range", "npm:5.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["find-cache-dir", [\ + ["npm:2.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/find-cache-dir-npm-2.1.0-772aa82638-10.zip/node_modules/find-cache-dir/",\ + "packageDependencies": [\ + ["find-cache-dir", "npm:2.1.0"],\ + ["commondir", "npm:1.0.1"],\ + ["make-dir", "npm:2.1.0"],\ + ["pkg-dir", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["find-up", [\ + ["npm:3.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/find-up-npm-3.0.0-a2d4b1b317-10.zip/node_modules/find-up/",\ + "packageDependencies": [\ + ["find-up", "npm:3.0.0"],\ + ["locate-path", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/find-up-npm-4.1.0-c3ccf8d855-10.zip/node_modules/find-up/",\ + "packageDependencies": [\ + ["find-up", "npm:4.1.0"],\ + ["locate-path", "npm:5.0.0"],\ + ["path-exists", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/find-up-npm-5.0.0-e03e9b796d-10.zip/node_modules/find-up/",\ + "packageDependencies": [\ + ["find-up", "npm:5.0.0"],\ + ["locate-path", "npm:6.0.0"],\ + ["path-exists", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["flat-cache", [\ + ["npm:4.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/flat-cache-npm-4.0.1-12bf2455f7-10.zip/node_modules/flat-cache/",\ + "packageDependencies": [\ + ["flat-cache", "npm:4.0.1"],\ + ["flatted", "npm:3.3.3"],\ + ["keyv", "npm:4.5.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["flatted", [\ + ["npm:3.3.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/flatted-npm-3.3.3-ca455563b2-10.zip/node_modules/flatted/",\ + "packageDependencies": [\ + ["flatted", "npm:3.3.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["for-each", [\ + ["npm:0.3.5", {\ + "packageLocation": "../../../../.yarn/berry/cache/for-each-npm-0.3.5-b74c5c5ba7-10.zip/node_modules/for-each/",\ + "packageDependencies": [\ + ["for-each", "npm:0.3.5"],\ + ["is-callable", "npm:1.2.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["foreground-child", [\ + ["npm:3.3.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/foreground-child-npm-3.3.1-b7775fda04-10.zip/node_modules/foreground-child/",\ + "packageDependencies": [\ + ["foreground-child", "npm:3.3.1"],\ + ["cross-spawn", "npm:7.0.6"],\ + ["signal-exit", "npm:4.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fs-minipass", [\ + ["npm:3.0.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/fs-minipass-npm-3.0.3-d148d6ac19-10.zip/node_modules/fs-minipass/",\ + "packageDependencies": [\ + ["fs-minipass", "npm:3.0.3"],\ + ["minipass", "npm:7.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fs.realpath", [\ + ["npm:1.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/fs.realpath-npm-1.0.0-c8f05d8126-10.zip/node_modules/fs.realpath/",\ + "packageDependencies": [\ + ["fs.realpath", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fsevents", [\ + ["patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1", {\ + "packageLocation": "./.yarn/unplugged/fsevents-patch-6b67494872/node_modules/fsevents/",\ + "packageDependencies": [\ + ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"],\ + ["node-gyp", "npm:11.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["function-bind", [\ + ["npm:1.1.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/function-bind-npm-1.1.2-7a55be9b03-10.zip/node_modules/function-bind/",\ + "packageDependencies": [\ + ["function-bind", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["function.prototype.name", [\ + ["npm:1.1.8", {\ + "packageLocation": "../../../../.yarn/berry/cache/function.prototype.name-npm-1.1.8-2cf198aac8-10.zip/node_modules/function.prototype.name/",\ + "packageDependencies": [\ + ["function.prototype.name", "npm:1.1.8"],\ + ["call-bind", "npm:1.0.8"],\ + ["call-bound", "npm:1.0.4"],\ + ["define-properties", "npm:1.2.1"],\ + ["functions-have-names", "npm:1.2.3"],\ + ["hasown", "npm:2.0.2"],\ + ["is-callable", "npm:1.2.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["functions-have-names", [\ + ["npm:1.2.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/functions-have-names-npm-1.2.3-e5cf1e2208-10.zip/node_modules/functions-have-names/",\ + "packageDependencies": [\ + ["functions-have-names", "npm:1.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["gensync", [\ + ["npm:1.0.0-beta.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/gensync-npm-1.0.0-beta.2-224666d72f-10.zip/node_modules/gensync/",\ + "packageDependencies": [\ + ["gensync", "npm:1.0.0-beta.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["get-caller-file", [\ + ["npm:2.0.5", {\ + "packageLocation": "../../../../.yarn/berry/cache/get-caller-file-npm-2.0.5-80e8a86305-10.zip/node_modules/get-caller-file/",\ + "packageDependencies": [\ + ["get-caller-file", "npm:2.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["get-intrinsic", [\ + ["npm:1.3.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/get-intrinsic-npm-1.3.0-35558f27b6-10.zip/node_modules/get-intrinsic/",\ + "packageDependencies": [\ + ["get-intrinsic", "npm:1.3.0"],\ + ["call-bind-apply-helpers", "npm:1.0.2"],\ + ["es-define-property", "npm:1.0.1"],\ + ["es-errors", "npm:1.3.0"],\ + ["es-object-atoms", "npm:1.1.1"],\ + ["function-bind", "npm:1.1.2"],\ + ["get-proto", "npm:1.0.1"],\ + ["gopd", "npm:1.2.0"],\ + ["has-symbols", "npm:1.1.0"],\ + ["hasown", "npm:2.0.2"],\ + ["math-intrinsics", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["get-package-type", [\ + ["npm:0.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/get-package-type-npm-0.1.0-6c70cdc8ab-10.zip/node_modules/get-package-type/",\ + "packageDependencies": [\ + ["get-package-type", "npm:0.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["get-proto", [\ + ["npm:1.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/get-proto-npm-1.0.1-4d30bac614-10.zip/node_modules/get-proto/",\ + "packageDependencies": [\ + ["get-proto", "npm:1.0.1"],\ + ["dunder-proto", "npm:1.0.1"],\ + ["es-object-atoms", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["get-stream", [\ + ["npm:6.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/get-stream-npm-6.0.1-83e51a4642-10.zip/node_modules/get-stream/",\ + "packageDependencies": [\ + ["get-stream", "npm:6.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["get-symbol-description", [\ + ["npm:1.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/get-symbol-description-npm-1.1.0-7a9e0b1c24-10.zip/node_modules/get-symbol-description/",\ + "packageDependencies": [\ + ["get-symbol-description", "npm:1.1.0"],\ + ["call-bound", "npm:1.0.4"],\ + ["es-errors", "npm:1.3.0"],\ + ["get-intrinsic", "npm:1.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["glob", [\ + ["npm:10.4.5", {\ + "packageLocation": "../../../../.yarn/berry/cache/glob-npm-10.4.5-8c63175f05-10.zip/node_modules/glob/",\ + "packageDependencies": [\ + ["glob", "npm:10.4.5"],\ + ["foreground-child", "npm:3.3.1"],\ + ["jackspeak", "npm:3.4.3"],\ + ["minimatch", "npm:9.0.5"],\ + ["minipass", "npm:7.1.2"],\ + ["package-json-from-dist", "npm:1.0.1"],\ + ["path-scurry", "npm:1.11.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.2.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/glob-npm-7.2.3-2d866d17a5-10.zip/node_modules/glob/",\ + "packageDependencies": [\ + ["glob", "npm:7.2.3"],\ + ["fs.realpath", "npm:1.0.0"],\ + ["inflight", "npm:1.0.6"],\ + ["inherits", "npm:2.0.4"],\ + ["minimatch", "npm:3.1.2"],\ + ["once", "npm:1.4.0"],\ + ["path-is-absolute", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["glob-parent", [\ + ["npm:5.1.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/glob-parent-npm-5.1.2-021ab32634-10.zip/node_modules/glob-parent/",\ + "packageDependencies": [\ + ["glob-parent", "npm:5.1.2"],\ + ["is-glob", "npm:4.0.3"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.0.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/glob-parent-npm-6.0.2-2cbef12738-10.zip/node_modules/glob-parent/",\ + "packageDependencies": [\ + ["glob-parent", "npm:6.0.2"],\ + ["is-glob", "npm:4.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["globals", [\ + ["npm:11.12.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/globals-npm-11.12.0-1fa7f41a6c-10.zip/node_modules/globals/",\ + "packageDependencies": [\ + ["globals", "npm:11.12.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:14.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/globals-npm-14.0.0-5fc3d8d5da-10.zip/node_modules/globals/",\ + "packageDependencies": [\ + ["globals", "npm:14.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:15.15.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/globals-npm-15.15.0-5ddcb6c553-10.zip/node_modules/globals/",\ + "packageDependencies": [\ + ["globals", "npm:15.15.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["globalthis", [\ + ["npm:1.0.4", {\ + "packageLocation": "../../../../.yarn/berry/cache/globalthis-npm-1.0.4-de22ac6193-10.zip/node_modules/globalthis/",\ + "packageDependencies": [\ + ["globalthis", "npm:1.0.4"],\ + ["define-properties", "npm:1.2.1"],\ + ["gopd", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["gopd", [\ + ["npm:1.2.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/gopd-npm-1.2.0-df89ffa78e-10.zip/node_modules/gopd/",\ + "packageDependencies": [\ + ["gopd", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["graceful-fs", [\ + ["npm:4.2.11", {\ + "packageLocation": "../../../../.yarn/berry/cache/graceful-fs-npm-4.2.11-24bb648a68-10.zip/node_modules/graceful-fs/",\ + "packageDependencies": [\ + ["graceful-fs", "npm:4.2.11"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["graphemer", [\ + ["npm:1.4.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/graphemer-npm-1.4.0-0627732d35-10.zip/node_modules/graphemer/",\ + "packageDependencies": [\ + ["graphemer", "npm:1.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["has-bigints", [\ + ["npm:1.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/has-bigints-npm-1.1.0-d481f8ed50-10.zip/node_modules/has-bigints/",\ + "packageDependencies": [\ + ["has-bigints", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["has-flag", [\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/has-flag-npm-4.0.0-32af9f0536-10.zip/node_modules/has-flag/",\ + "packageDependencies": [\ + ["has-flag", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["has-property-descriptors", [\ + ["npm:1.0.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/has-property-descriptors-npm-1.0.2-d7077d09f1-10.zip/node_modules/has-property-descriptors/",\ + "packageDependencies": [\ + ["has-property-descriptors", "npm:1.0.2"],\ + ["es-define-property", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["has-proto", [\ + ["npm:1.2.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/has-proto-npm-1.2.0-0108d177d3-10.zip/node_modules/has-proto/",\ + "packageDependencies": [\ + ["has-proto", "npm:1.2.0"],\ + ["dunder-proto", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["has-symbols", [\ + ["npm:1.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/has-symbols-npm-1.1.0-9aa7dc2ac1-10.zip/node_modules/has-symbols/",\ + "packageDependencies": [\ + ["has-symbols", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["has-tostringtag", [\ + ["npm:1.0.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/has-tostringtag-npm-1.0.2-74a4800369-10.zip/node_modules/has-tostringtag/",\ + "packageDependencies": [\ + ["has-tostringtag", "npm:1.0.2"],\ + ["has-symbols", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["hasown", [\ + ["npm:2.0.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/hasown-npm-2.0.2-80fe6c9901-10.zip/node_modules/hasown/",\ + "packageDependencies": [\ + ["hasown", "npm:2.0.2"],\ + ["function-bind", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["homedir-polyfill", [\ + ["npm:1.0.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/homedir-polyfill-npm-1.0.3-da1a29ce00-10.zip/node_modules/homedir-polyfill/",\ + "packageDependencies": [\ + ["homedir-polyfill", "npm:1.0.3"],\ + ["parse-passwd", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["html-escaper", [\ + ["npm:2.0.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/html-escaper-npm-2.0.2-38e51ef294-10.zip/node_modules/html-escaper/",\ + "packageDependencies": [\ + ["html-escaper", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["http-cache-semantics", [\ + ["npm:4.1.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/http-cache-semantics-npm-4.1.1-1120131375-10.zip/node_modules/http-cache-semantics/",\ + "packageDependencies": [\ + ["http-cache-semantics", "npm:4.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["http-proxy-agent", [\ + ["npm:7.0.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/http-proxy-agent-npm-7.0.2-643ed7cc33-10.zip/node_modules/http-proxy-agent/",\ + "packageDependencies": [\ + ["http-proxy-agent", "npm:7.0.2"],\ + ["agent-base", "npm:7.1.3"],\ + ["debug", "virtual:e376c6d25689d1413f13b759a5649fe969efab30320e886cab81ece2b6daf8c4c74f642faff7228a9a286b4b82bc7bac5773e45f1085910307cd111b19a8cd17#npm:4.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["https-proxy-agent", [\ + ["npm:7.0.6", {\ + "packageLocation": "../../../../.yarn/berry/cache/https-proxy-agent-npm-7.0.6-27a95c2690-10.zip/node_modules/https-proxy-agent/",\ + "packageDependencies": [\ + ["https-proxy-agent", "npm:7.0.6"],\ + ["agent-base", "npm:7.1.3"],\ + ["debug", "virtual:e376c6d25689d1413f13b759a5649fe969efab30320e886cab81ece2b6daf8c4c74f642faff7228a9a286b4b82bc7bac5773e45f1085910307cd111b19a8cd17#npm:4.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["human-signals", [\ + ["npm:2.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/human-signals-npm-2.1.0-f75815481d-10.zip/node_modules/human-signals/",\ + "packageDependencies": [\ + ["human-signals", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["iconv-lite", [\ + ["npm:0.6.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/iconv-lite-npm-0.6.3-24b8aae27e-10.zip/node_modules/iconv-lite/",\ + "packageDependencies": [\ + ["iconv-lite", "npm:0.6.3"],\ + ["safer-buffer", "npm:2.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ignore", [\ + ["npm:5.3.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/ignore-npm-5.3.2-346d3ba017-10.zip/node_modules/ignore/",\ + "packageDependencies": [\ + ["ignore", "npm:5.3.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["import-fresh", [\ + ["npm:3.3.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/import-fresh-npm-3.3.1-1916794950-10.zip/node_modules/import-fresh/",\ + "packageDependencies": [\ + ["import-fresh", "npm:3.3.1"],\ + ["parent-module", "npm:1.0.1"],\ + ["resolve-from", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["import-local", [\ + ["npm:3.2.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/import-local-npm-3.2.0-bf54ec7842-10.zip/node_modules/import-local/",\ + "packageDependencies": [\ + ["import-local", "npm:3.2.0"],\ + ["pkg-dir", "npm:4.2.0"],\ + ["resolve-cwd", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["imurmurhash", [\ + ["npm:0.1.4", {\ + "packageLocation": "../../../../.yarn/berry/cache/imurmurhash-npm-0.1.4-610c5068a0-10.zip/node_modules/imurmurhash/",\ + "packageDependencies": [\ + ["imurmurhash", "npm:0.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["inflight", [\ + ["npm:1.0.6", {\ + "packageLocation": "../../../../.yarn/berry/cache/inflight-npm-1.0.6-ccedb4b908-10.zip/node_modules/inflight/",\ + "packageDependencies": [\ + ["inflight", "npm:1.0.6"],\ + ["once", "npm:1.4.0"],\ + ["wrappy", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["inherits", [\ + ["npm:2.0.4", {\ + "packageLocation": "../../../../.yarn/berry/cache/inherits-npm-2.0.4-c66b3957a0-10.zip/node_modules/inherits/",\ + "packageDependencies": [\ + ["inherits", "npm:2.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["internal-slot", [\ + ["npm:1.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/internal-slot-npm-1.1.0-269ac0e8be-10.zip/node_modules/internal-slot/",\ + "packageDependencies": [\ + ["internal-slot", "npm:1.1.0"],\ + ["es-errors", "npm:1.3.0"],\ + ["hasown", "npm:2.0.2"],\ + ["side-channel", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ip-address", [\ + ["npm:9.0.5", {\ + "packageLocation": "../../../../.yarn/berry/cache/ip-address-npm-9.0.5-9fa024d42a-10.zip/node_modules/ip-address/",\ + "packageDependencies": [\ + ["ip-address", "npm:9.0.5"],\ + ["jsbn", "npm:1.1.0"],\ + ["sprintf-js", "npm:1.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-array-buffer", [\ + ["npm:3.0.5", {\ + "packageLocation": "../../../../.yarn/berry/cache/is-array-buffer-npm-3.0.5-8f0828e156-10.zip/node_modules/is-array-buffer/",\ + "packageDependencies": [\ + ["is-array-buffer", "npm:3.0.5"],\ + ["call-bind", "npm:1.0.8"],\ + ["call-bound", "npm:1.0.4"],\ + ["get-intrinsic", "npm:1.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-arrayish", [\ + ["npm:0.2.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/is-arrayish-npm-0.2.1-23927dfb15-10.zip/node_modules/is-arrayish/",\ + "packageDependencies": [\ + ["is-arrayish", "npm:0.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-async-function", [\ + ["npm:2.1.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/is-async-function-npm-2.1.1-547309fbf2-10.zip/node_modules/is-async-function/",\ + "packageDependencies": [\ + ["is-async-function", "npm:2.1.1"],\ + ["async-function", "npm:1.0.0"],\ + ["call-bound", "npm:1.0.4"],\ + ["get-proto", "npm:1.0.1"],\ + ["has-tostringtag", "npm:1.0.2"],\ + ["safe-regex-test", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-bigint", [\ + ["npm:1.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/is-bigint-npm-1.1.0-963b4e89e1-10.zip/node_modules/is-bigint/",\ + "packageDependencies": [\ + ["is-bigint", "npm:1.1.0"],\ + ["has-bigints", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-boolean-object", [\ + ["npm:1.2.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/is-boolean-object-npm-1.2.2-ceb8c82b17-10.zip/node_modules/is-boolean-object/",\ + "packageDependencies": [\ + ["is-boolean-object", "npm:1.2.2"],\ + ["call-bound", "npm:1.0.4"],\ + ["has-tostringtag", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-callable", [\ + ["npm:1.2.7", {\ + "packageLocation": "../../../../.yarn/berry/cache/is-callable-npm-1.2.7-808a303e61-10.zip/node_modules/is-callable/",\ + "packageDependencies": [\ + ["is-callable", "npm:1.2.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-core-module", [\ + ["npm:2.16.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/is-core-module-npm-2.16.1-a54837229e-10.zip/node_modules/is-core-module/",\ + "packageDependencies": [\ + ["is-core-module", "npm:2.16.1"],\ + ["hasown", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-data-view", [\ + ["npm:1.0.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/is-data-view-npm-1.0.2-8a9e34c5e6-10.zip/node_modules/is-data-view/",\ + "packageDependencies": [\ + ["is-data-view", "npm:1.0.2"],\ + ["call-bound", "npm:1.0.4"],\ + ["get-intrinsic", "npm:1.3.0"],\ + ["is-typed-array", "npm:1.1.15"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-date-object", [\ + ["npm:1.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/is-date-object-npm-1.1.0-c444eba828-10.zip/node_modules/is-date-object/",\ + "packageDependencies": [\ + ["is-date-object", "npm:1.1.0"],\ + ["call-bound", "npm:1.0.4"],\ + ["has-tostringtag", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-extglob", [\ + ["npm:2.1.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/is-extglob-npm-2.1.1-0870ea68b5-10.zip/node_modules/is-extglob/",\ + "packageDependencies": [\ + ["is-extglob", "npm:2.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-finalizationregistry", [\ + ["npm:1.1.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/is-finalizationregistry-npm-1.1.1-f9cad6c9aa-10.zip/node_modules/is-finalizationregistry/",\ + "packageDependencies": [\ + ["is-finalizationregistry", "npm:1.1.1"],\ + ["call-bound", "npm:1.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-fullwidth-code-point", [\ + ["npm:3.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/is-fullwidth-code-point-npm-3.0.0-1ecf4ebee5-10.zip/node_modules/is-fullwidth-code-point/",\ + "packageDependencies": [\ + ["is-fullwidth-code-point", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-generator-fn", [\ + ["npm:2.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/is-generator-fn-npm-2.1.0-37895c2d2b-10.zip/node_modules/is-generator-fn/",\ + "packageDependencies": [\ + ["is-generator-fn", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-generator-function", [\ + ["npm:1.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/is-generator-function-npm-1.1.0-e96e2ba973-10.zip/node_modules/is-generator-function/",\ + "packageDependencies": [\ + ["is-generator-function", "npm:1.1.0"],\ + ["call-bound", "npm:1.0.4"],\ + ["get-proto", "npm:1.0.1"],\ + ["has-tostringtag", "npm:1.0.2"],\ + ["safe-regex-test", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-glob", [\ + ["npm:4.0.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/is-glob-npm-4.0.3-cb87bf1bdb-10.zip/node_modules/is-glob/",\ + "packageDependencies": [\ + ["is-glob", "npm:4.0.3"],\ + ["is-extglob", "npm:2.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-map", [\ + ["npm:2.0.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/is-map-npm-2.0.3-9e061e76e3-10.zip/node_modules/is-map/",\ + "packageDependencies": [\ + ["is-map", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-number", [\ + ["npm:7.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/is-number-npm-7.0.0-060086935c-10.zip/node_modules/is-number/",\ + "packageDependencies": [\ + ["is-number", "npm:7.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-number-object", [\ + ["npm:1.1.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/is-number-object-npm-1.1.1-010c417fc6-10.zip/node_modules/is-number-object/",\ + "packageDependencies": [\ + ["is-number-object", "npm:1.1.1"],\ + ["call-bound", "npm:1.0.4"],\ + ["has-tostringtag", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-plain-object", [\ + ["npm:2.0.4", {\ + "packageLocation": "../../../../.yarn/berry/cache/is-plain-object-npm-2.0.4-da3265d804-10.zip/node_modules/is-plain-object/",\ + "packageDependencies": [\ + ["is-plain-object", "npm:2.0.4"],\ + ["isobject", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-regex", [\ + ["npm:1.2.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/is-regex-npm-1.2.1-70a484f2c8-10.zip/node_modules/is-regex/",\ + "packageDependencies": [\ + ["is-regex", "npm:1.2.1"],\ + ["call-bound", "npm:1.0.4"],\ + ["gopd", "npm:1.2.0"],\ + ["has-tostringtag", "npm:1.0.2"],\ + ["hasown", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-set", [\ + ["npm:2.0.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/is-set-npm-2.0.3-1b72c9a855-10.zip/node_modules/is-set/",\ + "packageDependencies": [\ + ["is-set", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-shared-array-buffer", [\ + ["npm:1.0.4", {\ + "packageLocation": "../../../../.yarn/berry/cache/is-shared-array-buffer-npm-1.0.4-70c977585b-10.zip/node_modules/is-shared-array-buffer/",\ + "packageDependencies": [\ + ["is-shared-array-buffer", "npm:1.0.4"],\ + ["call-bound", "npm:1.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-stream", [\ + ["npm:2.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/is-stream-npm-2.0.1-c802db55e7-10.zip/node_modules/is-stream/",\ + "packageDependencies": [\ + ["is-stream", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-string", [\ + ["npm:1.1.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/is-string-npm-1.1.1-d2c4f9f448-10.zip/node_modules/is-string/",\ + "packageDependencies": [\ + ["is-string", "npm:1.1.1"],\ + ["call-bound", "npm:1.0.4"],\ + ["has-tostringtag", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-symbol", [\ + ["npm:1.1.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/is-symbol-npm-1.1.1-f17b666ca9-10.zip/node_modules/is-symbol/",\ + "packageDependencies": [\ + ["is-symbol", "npm:1.1.1"],\ + ["call-bound", "npm:1.0.4"],\ + ["has-symbols", "npm:1.1.0"],\ + ["safe-regex-test", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-typed-array", [\ + ["npm:1.1.15", {\ + "packageLocation": "../../../../.yarn/berry/cache/is-typed-array-npm-1.1.15-33aa18e28f-10.zip/node_modules/is-typed-array/",\ + "packageDependencies": [\ + ["is-typed-array", "npm:1.1.15"],\ + ["which-typed-array", "npm:1.1.19"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-weakmap", [\ + ["npm:2.0.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/is-weakmap-npm-2.0.2-ced3cab2dc-10.zip/node_modules/is-weakmap/",\ + "packageDependencies": [\ + ["is-weakmap", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-weakref", [\ + ["npm:1.1.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/is-weakref-npm-1.1.1-e6458807f4-10.zip/node_modules/is-weakref/",\ + "packageDependencies": [\ + ["is-weakref", "npm:1.1.1"],\ + ["call-bound", "npm:1.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-weakset", [\ + ["npm:2.0.4", {\ + "packageLocation": "../../../../.yarn/berry/cache/is-weakset-npm-2.0.4-155b83e84b-10.zip/node_modules/is-weakset/",\ + "packageDependencies": [\ + ["is-weakset", "npm:2.0.4"],\ + ["call-bound", "npm:1.0.4"],\ + ["get-intrinsic", "npm:1.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["isarray", [\ + ["npm:2.0.5", {\ + "packageLocation": "../../../../.yarn/berry/cache/isarray-npm-2.0.5-4ba522212d-10.zip/node_modules/isarray/",\ + "packageDependencies": [\ + ["isarray", "npm:2.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["isexe", [\ + ["npm:2.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/isexe-npm-2.0.0-b58870bd2e-10.zip/node_modules/isexe/",\ + "packageDependencies": [\ + ["isexe", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.1.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/isexe-npm-3.1.1-9c0061eead-10.zip/node_modules/isexe/",\ + "packageDependencies": [\ + ["isexe", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["isobject", [\ + ["npm:3.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/isobject-npm-3.0.1-8145901fd2-10.zip/node_modules/isobject/",\ + "packageDependencies": [\ + ["isobject", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["istanbul-lib-coverage", [\ + ["npm:3.2.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/istanbul-lib-coverage-npm-3.2.2-5c0526e059-10.zip/node_modules/istanbul-lib-coverage/",\ + "packageDependencies": [\ + ["istanbul-lib-coverage", "npm:3.2.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["istanbul-lib-instrument", [\ + ["npm:5.2.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/istanbul-lib-instrument-npm-5.2.1-1b3ad719a9-10.zip/node_modules/istanbul-lib-instrument/",\ + "packageDependencies": [\ + ["istanbul-lib-instrument", "npm:5.2.1"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/parser", "npm:7.27.0"],\ + ["@istanbuljs/schema", "npm:0.1.3"],\ + ["istanbul-lib-coverage", "npm:3.2.2"],\ + ["semver", "npm:6.3.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.0.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/istanbul-lib-instrument-npm-6.0.3-959dca7404-10.zip/node_modules/istanbul-lib-instrument/",\ + "packageDependencies": [\ + ["istanbul-lib-instrument", "npm:6.0.3"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/parser", "npm:7.27.0"],\ + ["@istanbuljs/schema", "npm:0.1.3"],\ + ["istanbul-lib-coverage", "npm:3.2.2"],\ + ["semver", "npm:7.7.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["istanbul-lib-report", [\ + ["npm:3.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/istanbul-lib-report-npm-3.0.1-b17446ab24-10.zip/node_modules/istanbul-lib-report/",\ + "packageDependencies": [\ + ["istanbul-lib-report", "npm:3.0.1"],\ + ["istanbul-lib-coverage", "npm:3.2.2"],\ + ["make-dir", "npm:4.0.0"],\ + ["supports-color", "npm:7.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["istanbul-lib-source-maps", [\ + ["npm:4.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/istanbul-lib-source-maps-npm-4.0.1-af0f859df7-10.zip/node_modules/istanbul-lib-source-maps/",\ + "packageDependencies": [\ + ["istanbul-lib-source-maps", "npm:4.0.1"],\ + ["debug", "virtual:e376c6d25689d1413f13b759a5649fe969efab30320e886cab81ece2b6daf8c4c74f642faff7228a9a286b4b82bc7bac5773e45f1085910307cd111b19a8cd17#npm:4.4.0"],\ + ["istanbul-lib-coverage", "npm:3.2.2"],\ + ["source-map", "npm:0.6.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["istanbul-reports", [\ + ["npm:3.1.7", {\ + "packageLocation": "../../../../.yarn/berry/cache/istanbul-reports-npm-3.1.7-356486c0f4-10.zip/node_modules/istanbul-reports/",\ + "packageDependencies": [\ + ["istanbul-reports", "npm:3.1.7"],\ + ["html-escaper", "npm:2.0.2"],\ + ["istanbul-lib-report", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jackspeak", [\ + ["npm:3.4.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/jackspeak-npm-3.4.3-546bfad080-10.zip/node_modules/jackspeak/",\ + "packageDependencies": [\ + ["jackspeak", "npm:3.4.3"],\ + ["@isaacs/cliui", "npm:8.0.2"],\ + ["@pkgjs/parseargs", "npm:0.11.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/jest-npm-29.7.0-d8dd095b81-10.zip/node_modules/jest/",\ + "packageDependencies": [\ + ["jest", "npm:29.7.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:eae072fb4ec4cfb10278b9618e1f0b9223a7f2d1b68a48363782e8e07b712e5912c908ad7164155868a6baaf03178af3c3bd1ec89c72366e2aba013fc9a80a32#npm:29.7.0", {\ + "packageLocation": "./.yarn/__virtual__/jest-virtual-41bc549f4d/5/.yarn/berry/cache/jest-npm-29.7.0-d8dd095b81-10.zip/node_modules/jest/",\ + "packageDependencies": [\ + ["jest", "virtual:eae072fb4ec4cfb10278b9618e1f0b9223a7f2d1b68a48363782e8e07b712e5912c908ad7164155868a6baaf03178af3c3bd1ec89c72366e2aba013fc9a80a32#npm:29.7.0"],\ + ["@jest/core", "virtual:41bc549f4dd92c0a605231e8bde487a091ebfe34d6bd97f9f1b249b906bcb03a5c7cce9ce6cfb18531fb79bd51895a1553d0f7d3cdd3c58d03cb407259f454ab#npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/node-notifier", null],\ + ["import-local", "npm:3.2.0"],\ + ["jest-cli", "virtual:41bc549f4dd92c0a605231e8bde487a091ebfe34d6bd97f9f1b249b906bcb03a5c7cce9ce6cfb18531fb79bd51895a1553d0f7d3cdd3c58d03cb407259f454ab#npm:29.7.0"],\ + ["node-notifier", null]\ + ],\ + "packagePeers": [\ + "@types/node-notifier",\ + "node-notifier"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-changed-files", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/jest-changed-files-npm-29.7.0-c2dcd10525-10.zip/node_modules/jest-changed-files/",\ + "packageDependencies": [\ + ["jest-changed-files", "npm:29.7.0"],\ + ["execa", "npm:5.1.1"],\ + ["jest-util", "npm:29.7.0"],\ + ["p-limit", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-circus", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/jest-circus-npm-29.7.0-f7679858c6-10.zip/node_modules/jest-circus/",\ + "packageDependencies": [\ + ["jest-circus", "npm:29.7.0"],\ + ["@jest/environment", "npm:29.7.0"],\ + ["@jest/expect", "npm:29.7.0"],\ + ["@jest/test-result", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/node", "npm:22.14.1"],\ + ["chalk", "npm:4.1.2"],\ + ["co", "npm:4.6.0"],\ + ["dedent", "virtual:f7679858c638e2e5ade31901dd2b1e5007918fdc7d84fefb11f4200f46ba2e43b9d662fb793507b517bb1e725144e51f6d68f60f9f6100fd52144f042f58f0bc#npm:1.5.3"],\ + ["is-generator-fn", "npm:2.1.0"],\ + ["jest-each", "npm:29.7.0"],\ + ["jest-matcher-utils", "npm:29.7.0"],\ + ["jest-message-util", "npm:29.7.0"],\ + ["jest-runtime", "npm:29.7.0"],\ + ["jest-snapshot", "npm:29.7.0"],\ + ["jest-util", "npm:29.7.0"],\ + ["p-limit", "npm:3.1.0"],\ + ["pretty-format", "npm:29.7.0"],\ + ["pure-rand", "npm:6.1.0"],\ + ["slash", "npm:3.0.0"],\ + ["stack-utils", "npm:2.0.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-cli", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/jest-cli-npm-29.7.0-9adb356180-10.zip/node_modules/jest-cli/",\ + "packageDependencies": [\ + ["jest-cli", "npm:29.7.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:41bc549f4dd92c0a605231e8bde487a091ebfe34d6bd97f9f1b249b906bcb03a5c7cce9ce6cfb18531fb79bd51895a1553d0f7d3cdd3c58d03cb407259f454ab#npm:29.7.0", {\ + "packageLocation": "./.yarn/__virtual__/jest-cli-virtual-77afd37d0b/5/.yarn/berry/cache/jest-cli-npm-29.7.0-9adb356180-10.zip/node_modules/jest-cli/",\ + "packageDependencies": [\ + ["jest-cli", "virtual:41bc549f4dd92c0a605231e8bde487a091ebfe34d6bd97f9f1b249b906bcb03a5c7cce9ce6cfb18531fb79bd51895a1553d0f7d3cdd3c58d03cb407259f454ab#npm:29.7.0"],\ + ["@jest/core", "virtual:41bc549f4dd92c0a605231e8bde487a091ebfe34d6bd97f9f1b249b906bcb03a5c7cce9ce6cfb18531fb79bd51895a1553d0f7d3cdd3c58d03cb407259f454ab#npm:29.7.0"],\ + ["@jest/test-result", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/node-notifier", null],\ + ["chalk", "npm:4.1.2"],\ + ["create-jest", "npm:29.7.0"],\ + ["exit", "npm:0.1.2"],\ + ["import-local", "npm:3.2.0"],\ + ["jest-config", "virtual:3a6a7b993b4c5b60edc037a265ed4617431cf4c75aee76d6fbd0f2ca65ea68cee61c092e9bd306baebd90cc377234b4a525791e6755ee4d2193076de2c2bdfed#npm:29.7.0"],\ + ["jest-util", "npm:29.7.0"],\ + ["jest-validate", "npm:29.7.0"],\ + ["node-notifier", null],\ + ["yargs", "npm:17.7.2"]\ + ],\ + "packagePeers": [\ + "@types/node-notifier",\ + "node-notifier"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-config", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/jest-config-npm-29.7.0-97d8544d74-10.zip/node_modules/jest-config/",\ + "packageDependencies": [\ + ["jest-config", "npm:29.7.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0e7c5d90ea80df942e8515b4c5a4ccd63cc5b83e525e3f3e09e9fa7ec29db23a94c87ea7aa31c55c698127461beed6fdbde498f563dd3dced6b1e9b3e6b6ac0b#npm:29.7.0", {\ + "packageLocation": "./.yarn/__virtual__/jest-config-virtual-e14b1fd038/5/.yarn/berry/cache/jest-config-npm-29.7.0-97d8544d74-10.zip/node_modules/jest-config/",\ + "packageDependencies": [\ + ["jest-config", "virtual:0e7c5d90ea80df942e8515b4c5a4ccd63cc5b83e525e3f3e09e9fa7ec29db23a94c87ea7aa31c55c698127461beed6fdbde498f563dd3dced6b1e9b3e6b6ac0b#npm:29.7.0"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@jest/test-sequencer", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/node", "npm:22.14.1"],\ + ["@types/ts-node", null],\ + ["babel-jest", "virtual:e14b1fd0383b6c6654739fd3d660a9f40e2048a8354ca8b98c749c32b744254f6d2c7002d4edff150567b2924987af53d153bccdadd91f37cea08dea0e181486#npm:29.7.0"],\ + ["chalk", "npm:4.1.2"],\ + ["ci-info", "npm:3.9.0"],\ + ["deepmerge", "npm:4.3.1"],\ + ["glob", "npm:7.2.3"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["jest-circus", "npm:29.7.0"],\ + ["jest-environment-node", "npm:29.7.0"],\ + ["jest-get-type", "npm:29.6.3"],\ + ["jest-regex-util", "npm:29.6.3"],\ + ["jest-resolve", "npm:29.7.0"],\ + ["jest-runner", "npm:29.7.0"],\ + ["jest-util", "npm:29.7.0"],\ + ["jest-validate", "npm:29.7.0"],\ + ["micromatch", "npm:4.0.8"],\ + ["parse-json", "npm:5.2.0"],\ + ["pretty-format", "npm:29.7.0"],\ + ["slash", "npm:3.0.0"],\ + ["strip-json-comments", "npm:3.1.1"],\ + ["ts-node", null]\ + ],\ + "packagePeers": [\ + "@types/node",\ + "@types/ts-node",\ + "ts-node"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:3a6a7b993b4c5b60edc037a265ed4617431cf4c75aee76d6fbd0f2ca65ea68cee61c092e9bd306baebd90cc377234b4a525791e6755ee4d2193076de2c2bdfed#npm:29.7.0", {\ + "packageLocation": "./.yarn/__virtual__/jest-config-virtual-50f60b8422/5/.yarn/berry/cache/jest-config-npm-29.7.0-97d8544d74-10.zip/node_modules/jest-config/",\ + "packageDependencies": [\ + ["jest-config", "virtual:3a6a7b993b4c5b60edc037a265ed4617431cf4c75aee76d6fbd0f2ca65ea68cee61c092e9bd306baebd90cc377234b4a525791e6755ee4d2193076de2c2bdfed#npm:29.7.0"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@jest/test-sequencer", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/node", null],\ + ["@types/ts-node", null],\ + ["babel-jest", "virtual:e14b1fd0383b6c6654739fd3d660a9f40e2048a8354ca8b98c749c32b744254f6d2c7002d4edff150567b2924987af53d153bccdadd91f37cea08dea0e181486#npm:29.7.0"],\ + ["chalk", "npm:4.1.2"],\ + ["ci-info", "npm:3.9.0"],\ + ["deepmerge", "npm:4.3.1"],\ + ["glob", "npm:7.2.3"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["jest-circus", "npm:29.7.0"],\ + ["jest-environment-node", "npm:29.7.0"],\ + ["jest-get-type", "npm:29.6.3"],\ + ["jest-regex-util", "npm:29.6.3"],\ + ["jest-resolve", "npm:29.7.0"],\ + ["jest-runner", "npm:29.7.0"],\ + ["jest-util", "npm:29.7.0"],\ + ["jest-validate", "npm:29.7.0"],\ + ["micromatch", "npm:4.0.8"],\ + ["parse-json", "npm:5.2.0"],\ + ["pretty-format", "npm:29.7.0"],\ + ["slash", "npm:3.0.0"],\ + ["strip-json-comments", "npm:3.1.1"],\ + ["ts-node", null]\ + ],\ + "packagePeers": [\ + "@types/node",\ + "@types/ts-node",\ + "ts-node"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-diff", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/jest-diff-npm-29.7.0-0149e01930-10.zip/node_modules/jest-diff/",\ + "packageDependencies": [\ + ["jest-diff", "npm:29.7.0"],\ + ["chalk", "npm:4.1.2"],\ + ["diff-sequences", "npm:29.6.3"],\ + ["jest-get-type", "npm:29.6.3"],\ + ["pretty-format", "npm:29.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-docblock", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/jest-docblock-npm-29.7.0-ec59f449dd-10.zip/node_modules/jest-docblock/",\ + "packageDependencies": [\ + ["jest-docblock", "npm:29.7.0"],\ + ["detect-newline", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-each", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/jest-each-npm-29.7.0-93476f5ba0-10.zip/node_modules/jest-each/",\ + "packageDependencies": [\ + ["jest-each", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["chalk", "npm:4.1.2"],\ + ["jest-get-type", "npm:29.6.3"],\ + ["jest-util", "npm:29.7.0"],\ + ["pretty-format", "npm:29.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-environment-node", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/jest-environment-node-npm-29.7.0-860b5e25ec-10.zip/node_modules/jest-environment-node/",\ + "packageDependencies": [\ + ["jest-environment-node", "npm:29.7.0"],\ + ["@jest/environment", "npm:29.7.0"],\ + ["@jest/fake-timers", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/node", "npm:22.14.1"],\ + ["jest-mock", "npm:29.7.0"],\ + ["jest-util", "npm:29.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-get-type", [\ + ["npm:29.6.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/jest-get-type-npm-29.6.3-500477292e-10.zip/node_modules/jest-get-type/",\ + "packageDependencies": [\ + ["jest-get-type", "npm:29.6.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-haste-map", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/jest-haste-map-npm-29.7.0-e3be419eff-10.zip/node_modules/jest-haste-map/",\ + "packageDependencies": [\ + ["jest-haste-map", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/graceful-fs", "npm:4.1.9"],\ + ["@types/node", "npm:22.14.1"],\ + ["anymatch", "npm:3.1.3"],\ + ["fb-watchman", "npm:2.0.2"],\ + ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["jest-regex-util", "npm:29.6.3"],\ + ["jest-util", "npm:29.7.0"],\ + ["jest-worker", "npm:29.7.0"],\ + ["micromatch", "npm:4.0.8"],\ + ["walker", "npm:1.0.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-leak-detector", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/jest-leak-detector-npm-29.7.0-915d82553f-10.zip/node_modules/jest-leak-detector/",\ + "packageDependencies": [\ + ["jest-leak-detector", "npm:29.7.0"],\ + ["jest-get-type", "npm:29.6.3"],\ + ["pretty-format", "npm:29.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-matcher-utils", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/jest-matcher-utils-npm-29.7.0-dfc74b630e-10.zip/node_modules/jest-matcher-utils/",\ + "packageDependencies": [\ + ["jest-matcher-utils", "npm:29.7.0"],\ + ["chalk", "npm:4.1.2"],\ + ["jest-diff", "npm:29.7.0"],\ + ["jest-get-type", "npm:29.6.3"],\ + ["pretty-format", "npm:29.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-message-util", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/jest-message-util-npm-29.7.0-7f88b6e8d1-10.zip/node_modules/jest-message-util/",\ + "packageDependencies": [\ + ["jest-message-util", "npm:29.7.0"],\ + ["@babel/code-frame", "npm:7.26.2"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/stack-utils", "npm:2.0.3"],\ + ["chalk", "npm:4.1.2"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["micromatch", "npm:4.0.8"],\ + ["pretty-format", "npm:29.7.0"],\ + ["slash", "npm:3.0.0"],\ + ["stack-utils", "npm:2.0.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-mock", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/jest-mock-npm-29.7.0-22c4769d06-10.zip/node_modules/jest-mock/",\ + "packageDependencies": [\ + ["jest-mock", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/node", "npm:22.14.1"],\ + ["jest-util", "npm:29.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-pnp-resolver", [\ + ["npm:1.2.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/jest-pnp-resolver-npm-1.2.3-70e06bf27c-10.zip/node_modules/jest-pnp-resolver/",\ + "packageDependencies": [\ + ["jest-pnp-resolver", "npm:1.2.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:5c36f0eefbce78ee308fab92b5dcd29e2b0b70713b50365f0168be5bb1facc6582106f851a083d72bbb13e26d984e8612da5ed4b2bae83649e73e7b1ce19525b#npm:1.2.3", {\ + "packageLocation": "./.yarn/__virtual__/jest-pnp-resolver-virtual-4a109cd39c/5/.yarn/berry/cache/jest-pnp-resolver-npm-1.2.3-70e06bf27c-10.zip/node_modules/jest-pnp-resolver/",\ + "packageDependencies": [\ + ["jest-pnp-resolver", "virtual:5c36f0eefbce78ee308fab92b5dcd29e2b0b70713b50365f0168be5bb1facc6582106f851a083d72bbb13e26d984e8612da5ed4b2bae83649e73e7b1ce19525b#npm:1.2.3"],\ + ["@types/jest-resolve", null],\ + ["jest-resolve", "npm:29.7.0"]\ + ],\ + "packagePeers": [\ + "@types/jest-resolve",\ + "jest-resolve"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-regex-util", [\ + ["npm:29.6.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/jest-regex-util-npm-29.6.3-568e0094e2-10.zip/node_modules/jest-regex-util/",\ + "packageDependencies": [\ + ["jest-regex-util", "npm:29.6.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-resolve", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/jest-resolve-npm-29.7.0-5c36f0eefb-10.zip/node_modules/jest-resolve/",\ + "packageDependencies": [\ + ["jest-resolve", "npm:29.7.0"],\ + ["chalk", "npm:4.1.2"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["jest-haste-map", "npm:29.7.0"],\ + ["jest-pnp-resolver", "virtual:5c36f0eefbce78ee308fab92b5dcd29e2b0b70713b50365f0168be5bb1facc6582106f851a083d72bbb13e26d984e8612da5ed4b2bae83649e73e7b1ce19525b#npm:1.2.3"],\ + ["jest-util", "npm:29.7.0"],\ + ["jest-validate", "npm:29.7.0"],\ + ["resolve", "patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d"],\ + ["resolve.exports", "npm:2.0.3"],\ + ["slash", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-resolve-dependencies", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/jest-resolve-dependencies-npm-29.7.0-06ec582f1e-10.zip/node_modules/jest-resolve-dependencies/",\ + "packageDependencies": [\ + ["jest-resolve-dependencies", "npm:29.7.0"],\ + ["jest-regex-util", "npm:29.6.3"],\ + ["jest-snapshot", "npm:29.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-runner", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/jest-runner-npm-29.7.0-3bc9f82b58-10.zip/node_modules/jest-runner/",\ + "packageDependencies": [\ + ["jest-runner", "npm:29.7.0"],\ + ["@jest/console", "npm:29.7.0"],\ + ["@jest/environment", "npm:29.7.0"],\ + ["@jest/test-result", "npm:29.7.0"],\ + ["@jest/transform", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/node", "npm:22.14.1"],\ + ["chalk", "npm:4.1.2"],\ + ["emittery", "npm:0.13.1"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["jest-docblock", "npm:29.7.0"],\ + ["jest-environment-node", "npm:29.7.0"],\ + ["jest-haste-map", "npm:29.7.0"],\ + ["jest-leak-detector", "npm:29.7.0"],\ + ["jest-message-util", "npm:29.7.0"],\ + ["jest-resolve", "npm:29.7.0"],\ + ["jest-runtime", "npm:29.7.0"],\ + ["jest-util", "npm:29.7.0"],\ + ["jest-watcher", "npm:29.7.0"],\ + ["jest-worker", "npm:29.7.0"],\ + ["p-limit", "npm:3.1.0"],\ + ["source-map-support", "npm:0.5.13"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-runtime", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/jest-runtime-npm-29.7.0-120fa64128-10.zip/node_modules/jest-runtime/",\ + "packageDependencies": [\ + ["jest-runtime", "npm:29.7.0"],\ + ["@jest/environment", "npm:29.7.0"],\ + ["@jest/fake-timers", "npm:29.7.0"],\ + ["@jest/globals", "npm:29.7.0"],\ + ["@jest/source-map", "npm:29.6.3"],\ + ["@jest/test-result", "npm:29.7.0"],\ + ["@jest/transform", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/node", "npm:22.14.1"],\ + ["chalk", "npm:4.1.2"],\ + ["cjs-module-lexer", "npm:1.4.3"],\ + ["collect-v8-coverage", "npm:1.0.2"],\ + ["glob", "npm:7.2.3"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["jest-haste-map", "npm:29.7.0"],\ + ["jest-message-util", "npm:29.7.0"],\ + ["jest-mock", "npm:29.7.0"],\ + ["jest-regex-util", "npm:29.6.3"],\ + ["jest-resolve", "npm:29.7.0"],\ + ["jest-snapshot", "npm:29.7.0"],\ + ["jest-util", "npm:29.7.0"],\ + ["slash", "npm:3.0.0"],\ + ["strip-bom", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-snapshot", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/jest-snapshot-npm-29.7.0-15ef0a4ad6-10.zip/node_modules/jest-snapshot/",\ + "packageDependencies": [\ + ["jest-snapshot", "npm:29.7.0"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/generator", "npm:7.27.0"],\ + ["@babel/plugin-syntax-jsx", "virtual:1965e24e69cbfd1c07de4037e9cd0ad366d62ee46da5352e000ee7eba2d96b2eb62be2179b6e98241bbf4237678e9ce7fbf6e066dd9ba041e3b4914511d0caa3#npm:7.25.9"],\ + ["@babel/plugin-syntax-typescript", "virtual:0b8e42783ac75754e625deb69a3aa0f3ada1d864ed7298cf842bb3b113e6a3c7b0eb3eba020342d9a13010601560cfe264eefd71210bc2ed4235898cf977b489#npm:7.25.9"],\ + ["@babel/types", "npm:7.27.0"],\ + ["@jest/expect-utils", "npm:29.7.0"],\ + ["@jest/transform", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["babel-preset-current-node-syntax", "virtual:15ef0a4ad61c166598c4d195dc64a0b7270b186e9a584ea25871b4181189fa5a61a49aa37f6bcda6ffed25499ff900f1a33224b0c22868c8eb1eaf1dd4f0dc11#npm:1.1.0"],\ + ["chalk", "npm:4.1.2"],\ + ["expect", "npm:29.7.0"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["jest-diff", "npm:29.7.0"],\ + ["jest-get-type", "npm:29.6.3"],\ + ["jest-matcher-utils", "npm:29.7.0"],\ + ["jest-message-util", "npm:29.7.0"],\ + ["jest-util", "npm:29.7.0"],\ + ["natural-compare", "npm:1.4.0"],\ + ["pretty-format", "npm:29.7.0"],\ + ["semver", "npm:7.7.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-util", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/jest-util-npm-29.7.0-ff1d59714b-10.zip/node_modules/jest-util/",\ + "packageDependencies": [\ + ["jest-util", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/node", "npm:22.14.1"],\ + ["chalk", "npm:4.1.2"],\ + ["ci-info", "npm:3.9.0"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["picomatch", "npm:2.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-validate", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/jest-validate-npm-29.7.0-795ac5ede8-10.zip/node_modules/jest-validate/",\ + "packageDependencies": [\ + ["jest-validate", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["camelcase", "npm:6.3.0"],\ + ["chalk", "npm:4.1.2"],\ + ["jest-get-type", "npm:29.6.3"],\ + ["leven", "npm:3.1.0"],\ + ["pretty-format", "npm:29.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-watcher", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/jest-watcher-npm-29.7.0-e5372f1629-10.zip/node_modules/jest-watcher/",\ + "packageDependencies": [\ + ["jest-watcher", "npm:29.7.0"],\ + ["@jest/test-result", "npm:29.7.0"],\ + ["@jest/types", "npm:29.6.3"],\ + ["@types/node", "npm:22.14.1"],\ + ["ansi-escapes", "npm:4.3.2"],\ + ["chalk", "npm:4.1.2"],\ + ["emittery", "npm:0.13.1"],\ + ["jest-util", "npm:29.7.0"],\ + ["string-length", "npm:4.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-worker", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/jest-worker-npm-29.7.0-4d3567fed6-10.zip/node_modules/jest-worker/",\ + "packageDependencies": [\ + ["jest-worker", "npm:29.7.0"],\ + ["@types/node", "npm:22.14.1"],\ + ["jest-util", "npm:29.7.0"],\ + ["merge-stream", "npm:2.0.0"],\ + ["supports-color", "npm:8.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["js-tokens", [\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/js-tokens-npm-4.0.0-0ac852e9e2-10.zip/node_modules/js-tokens/",\ + "packageDependencies": [\ + ["js-tokens", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["js-yaml", [\ + ["npm:3.14.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/js-yaml-npm-3.14.1-b968c6095e-10.zip/node_modules/js-yaml/",\ + "packageDependencies": [\ + ["js-yaml", "npm:3.14.1"],\ + ["argparse", "npm:1.0.10"],\ + ["esprima", "npm:4.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/js-yaml-npm-4.1.0-3606f32312-10.zip/node_modules/js-yaml/",\ + "packageDependencies": [\ + ["js-yaml", "npm:4.1.0"],\ + ["argparse", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jsbn", [\ + ["npm:1.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/jsbn-npm-1.1.0-1da0181838-10.zip/node_modules/jsbn/",\ + "packageDependencies": [\ + ["jsbn", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jsesc", [\ + ["npm:3.0.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/jsesc-npm-3.0.2-3b3b74ec0d-10.zip/node_modules/jsesc/",\ + "packageDependencies": [\ + ["jsesc", "npm:3.0.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/jsesc-npm-3.1.0-2f4f998cd7-10.zip/node_modules/jsesc/",\ + "packageDependencies": [\ + ["jsesc", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["json-buffer", [\ + ["npm:3.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/json-buffer-npm-3.0.1-f8f6d20603-10.zip/node_modules/json-buffer/",\ + "packageDependencies": [\ + ["json-buffer", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["json-parse-even-better-errors", [\ + ["npm:2.3.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/json-parse-even-better-errors-npm-2.3.1-144d62256e-10.zip/node_modules/json-parse-even-better-errors/",\ + "packageDependencies": [\ + ["json-parse-even-better-errors", "npm:2.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["json-schema-traverse", [\ + ["npm:0.4.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/json-schema-traverse-npm-0.4.1-4759091693-10.zip/node_modules/json-schema-traverse/",\ + "packageDependencies": [\ + ["json-schema-traverse", "npm:0.4.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["json-stable-stringify-without-jsonify", [\ + ["npm:1.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/json-stable-stringify-without-jsonify-npm-1.0.1-b65772b28b-10.zip/node_modules/json-stable-stringify-without-jsonify/",\ + "packageDependencies": [\ + ["json-stable-stringify-without-jsonify", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["json5", [\ + ["npm:2.2.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/json5-npm-2.2.3-9962c55073-10.zip/node_modules/json5/",\ + "packageDependencies": [\ + ["json5", "npm:2.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["keyv", [\ + ["npm:4.5.4", {\ + "packageLocation": "../../../../.yarn/berry/cache/keyv-npm-4.5.4-4c8e2cf7f7-10.zip/node_modules/keyv/",\ + "packageDependencies": [\ + ["keyv", "npm:4.5.4"],\ + ["json-buffer", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["kind-of", [\ + ["npm:6.0.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/kind-of-npm-6.0.3-ab15f36220-10.zip/node_modules/kind-of/",\ + "packageDependencies": [\ + ["kind-of", "npm:6.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["kleur", [\ + ["npm:3.0.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/kleur-npm-3.0.3-f6f53649a4-10.zip/node_modules/kleur/",\ + "packageDependencies": [\ + ["kleur", "npm:3.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["leven", [\ + ["npm:3.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/leven-npm-3.1.0-b7697736a3-10.zip/node_modules/leven/",\ + "packageDependencies": [\ + ["leven", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["levn", [\ + ["npm:0.4.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/levn-npm-0.4.1-d183b2d7bb-10.zip/node_modules/levn/",\ + "packageDependencies": [\ + ["levn", "npm:0.4.1"],\ + ["prelude-ls", "npm:1.2.1"],\ + ["type-check", "npm:0.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["lines-and-columns", [\ + ["npm:1.2.4", {\ + "packageLocation": "../../../../.yarn/berry/cache/lines-and-columns-npm-1.2.4-d6c7cc5799-10.zip/node_modules/lines-and-columns/",\ + "packageDependencies": [\ + ["lines-and-columns", "npm:1.2.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["locate-path", [\ + ["npm:3.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/locate-path-npm-3.0.0-991671ae9f-10.zip/node_modules/locate-path/",\ + "packageDependencies": [\ + ["locate-path", "npm:3.0.0"],\ + ["p-locate", "npm:3.0.0"],\ + ["path-exists", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/locate-path-npm-5.0.0-46580c43e4-10.zip/node_modules/locate-path/",\ + "packageDependencies": [\ + ["locate-path", "npm:5.0.0"],\ + ["p-locate", "npm:4.1.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/locate-path-npm-6.0.0-06a1e4c528-10.zip/node_modules/locate-path/",\ + "packageDependencies": [\ + ["locate-path", "npm:6.0.0"],\ + ["p-locate", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["lodash.debounce", [\ + ["npm:4.0.8", {\ + "packageLocation": "../../../../.yarn/berry/cache/lodash.debounce-npm-4.0.8-f1d6e09799-10.zip/node_modules/lodash.debounce/",\ + "packageDependencies": [\ + ["lodash.debounce", "npm:4.0.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["lodash.merge", [\ + ["npm:4.6.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/lodash.merge-npm-4.6.2-77cb4416bf-10.zip/node_modules/lodash.merge/",\ + "packageDependencies": [\ + ["lodash.merge", "npm:4.6.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["lru-cache", [\ + ["npm:10.4.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/lru-cache-npm-10.4.3-30c10b861a-10.zip/node_modules/lru-cache/",\ + "packageDependencies": [\ + ["lru-cache", "npm:10.4.3"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.1.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/lru-cache-npm-5.1.1-f475882a51-10.zip/node_modules/lru-cache/",\ + "packageDependencies": [\ + ["lru-cache", "npm:5.1.1"],\ + ["yallist", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["make-dir", [\ + ["npm:2.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/make-dir-npm-2.1.0-1ddaf205e7-10.zip/node_modules/make-dir/",\ + "packageDependencies": [\ + ["make-dir", "npm:2.1.0"],\ + ["pify", "npm:4.0.1"],\ + ["semver", "npm:5.7.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/make-dir-npm-4.0.0-ec3cd921cc-10.zip/node_modules/make-dir/",\ + "packageDependencies": [\ + ["make-dir", "npm:4.0.0"],\ + ["semver", "npm:7.7.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["make-fetch-happen", [\ + ["npm:14.0.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/make-fetch-happen-npm-14.0.3-23b30e8691-10.zip/node_modules/make-fetch-happen/",\ + "packageDependencies": [\ + ["make-fetch-happen", "npm:14.0.3"],\ + ["@npmcli/agent", "npm:3.0.0"],\ + ["cacache", "npm:19.0.1"],\ + ["http-cache-semantics", "npm:4.1.1"],\ + ["minipass", "npm:7.1.2"],\ + ["minipass-fetch", "npm:4.0.1"],\ + ["minipass-flush", "npm:1.0.5"],\ + ["minipass-pipeline", "npm:1.2.4"],\ + ["negotiator", "npm:1.0.0"],\ + ["proc-log", "npm:5.0.0"],\ + ["promise-retry", "npm:2.0.1"],\ + ["ssri", "npm:12.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["makeerror", [\ + ["npm:1.0.12", {\ + "packageLocation": "../../../../.yarn/berry/cache/makeerror-npm-1.0.12-69abf085d7-10.zip/node_modules/makeerror/",\ + "packageDependencies": [\ + ["makeerror", "npm:1.0.12"],\ + ["tmpl", "npm:1.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["math-intrinsics", [\ + ["npm:1.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/math-intrinsics-npm-1.1.0-9204d80e7d-10.zip/node_modules/math-intrinsics/",\ + "packageDependencies": [\ + ["math-intrinsics", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["merge-stream", [\ + ["npm:2.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/merge-stream-npm-2.0.0-2ac83efea5-10.zip/node_modules/merge-stream/",\ + "packageDependencies": [\ + ["merge-stream", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["merge2", [\ + ["npm:1.4.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/merge2-npm-1.4.1-a2507bd06c-10.zip/node_modules/merge2/",\ + "packageDependencies": [\ + ["merge2", "npm:1.4.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["micromatch", [\ + ["npm:4.0.8", {\ + "packageLocation": "../../../../.yarn/berry/cache/micromatch-npm-4.0.8-c9570e4aca-10.zip/node_modules/micromatch/",\ + "packageDependencies": [\ + ["micromatch", "npm:4.0.8"],\ + ["braces", "npm:3.0.3"],\ + ["picomatch", "npm:2.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mimic-fn", [\ + ["npm:2.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/mimic-fn-npm-2.1.0-4fbeb3abb4-10.zip/node_modules/mimic-fn/",\ + "packageDependencies": [\ + ["mimic-fn", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minimatch", [\ + ["npm:3.1.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/minimatch-npm-3.1.2-9405269906-10.zip/node_modules/minimatch/",\ + "packageDependencies": [\ + ["minimatch", "npm:3.1.2"],\ + ["brace-expansion", "npm:1.1.11"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:9.0.5", {\ + "packageLocation": "../../../../.yarn/berry/cache/minimatch-npm-9.0.5-9aa93d97fa-10.zip/node_modules/minimatch/",\ + "packageDependencies": [\ + ["minimatch", "npm:9.0.5"],\ + ["brace-expansion", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass", [\ + ["npm:3.3.6", {\ + "packageLocation": "../../../../.yarn/berry/cache/minipass-npm-3.3.6-b8d93a945b-10.zip/node_modules/minipass/",\ + "packageDependencies": [\ + ["minipass", "npm:3.3.6"],\ + ["yallist", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.1.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/minipass-npm-7.1.2-3a5327d36d-10.zip/node_modules/minipass/",\ + "packageDependencies": [\ + ["minipass", "npm:7.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass-collect", [\ + ["npm:2.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/minipass-collect-npm-2.0.1-73d3907e40-10.zip/node_modules/minipass-collect/",\ + "packageDependencies": [\ + ["minipass-collect", "npm:2.0.1"],\ + ["minipass", "npm:7.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass-fetch", [\ + ["npm:4.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/minipass-fetch-npm-4.0.1-ce1d15e957-10.zip/node_modules/minipass-fetch/",\ + "packageDependencies": [\ + ["minipass-fetch", "npm:4.0.1"],\ + ["encoding", "npm:0.1.13"],\ + ["minipass", "npm:7.1.2"],\ + ["minipass-sized", "npm:1.0.3"],\ + ["minizlib", "npm:3.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass-flush", [\ + ["npm:1.0.5", {\ + "packageLocation": "../../../../.yarn/berry/cache/minipass-flush-npm-1.0.5-efe79d9826-10.zip/node_modules/minipass-flush/",\ + "packageDependencies": [\ + ["minipass-flush", "npm:1.0.5"],\ + ["minipass", "npm:3.3.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass-pipeline", [\ + ["npm:1.2.4", {\ + "packageLocation": "../../../../.yarn/berry/cache/minipass-pipeline-npm-1.2.4-5924cb077f-10.zip/node_modules/minipass-pipeline/",\ + "packageDependencies": [\ + ["minipass-pipeline", "npm:1.2.4"],\ + ["minipass", "npm:3.3.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass-sized", [\ + ["npm:1.0.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/minipass-sized-npm-1.0.3-306d86f432-10.zip/node_modules/minipass-sized/",\ + "packageDependencies": [\ + ["minipass-sized", "npm:1.0.3"],\ + ["minipass", "npm:3.3.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minizlib", [\ + ["npm:3.0.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/minizlib-npm-3.0.2-f56e815013-10.zip/node_modules/minizlib/",\ + "packageDependencies": [\ + ["minizlib", "npm:3.0.2"],\ + ["minipass", "npm:7.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mkdirp", [\ + ["npm:3.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/mkdirp-npm-3.0.1-f94bfa769e-10.zip/node_modules/mkdirp/",\ + "packageDependencies": [\ + ["mkdirp", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ms", [\ + ["npm:2.1.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/ms-npm-2.1.3-81ff3cfac1-10.zip/node_modules/ms/",\ + "packageDependencies": [\ + ["ms", "npm:2.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["natural-compare", [\ + ["npm:1.4.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/natural-compare-npm-1.4.0-97b75b362d-10.zip/node_modules/natural-compare/",\ + "packageDependencies": [\ + ["natural-compare", "npm:1.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["negotiator", [\ + ["npm:1.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/negotiator-npm-1.0.0-47d727e27e-10.zip/node_modules/negotiator/",\ + "packageDependencies": [\ + ["negotiator", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["node-environment-flags", [\ + ["npm:1.0.6", {\ + "packageLocation": "../../../../.yarn/berry/cache/node-environment-flags-npm-1.0.6-019b553a56-10.zip/node_modules/node-environment-flags/",\ + "packageDependencies": [\ + ["node-environment-flags", "npm:1.0.6"],\ + ["object.getownpropertydescriptors", "npm:2.1.8"],\ + ["semver", "npm:5.7.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["node-gyp", [\ + ["npm:11.2.0", {\ + "packageLocation": "./.yarn/unplugged/node-gyp-npm-11.2.0-36aeb0fa50/node_modules/node-gyp/",\ + "packageDependencies": [\ + ["node-gyp", "npm:11.2.0"],\ + ["env-paths", "npm:2.2.1"],\ + ["exponential-backoff", "npm:3.1.2"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["make-fetch-happen", "npm:14.0.3"],\ + ["nopt", "npm:8.1.0"],\ + ["proc-log", "npm:5.0.0"],\ + ["semver", "npm:7.7.1"],\ + ["tar", "npm:7.4.3"],\ + ["tinyglobby", "npm:0.2.12"],\ + ["which", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["node-int64", [\ + ["npm:0.4.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/node-int64-npm-0.4.0-0dc04ec3b2-10.zip/node_modules/node-int64/",\ + "packageDependencies": [\ + ["node-int64", "npm:0.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["node-releases", [\ + ["npm:2.0.19", {\ + "packageLocation": "../../../../.yarn/berry/cache/node-releases-npm-2.0.19-b123ed6240-10.zip/node_modules/node-releases/",\ + "packageDependencies": [\ + ["node-releases", "npm:2.0.19"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["nopt", [\ + ["npm:8.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/nopt-npm-8.1.0-5570ef63cd-10.zip/node_modules/nopt/",\ + "packageDependencies": [\ + ["nopt", "npm:8.1.0"],\ + ["abbrev", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["normalize-path", [\ + ["npm:3.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/normalize-path-npm-3.0.0-658ba7d77f-10.zip/node_modules/normalize-path/",\ + "packageDependencies": [\ + ["normalize-path", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["npm-run-path", [\ + ["npm:4.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/npm-run-path-npm-4.0.1-7aebd8bab3-10.zip/node_modules/npm-run-path/",\ + "packageDependencies": [\ + ["npm-run-path", "npm:4.0.1"],\ + ["path-key", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["object-inspect", [\ + ["npm:1.13.4", {\ + "packageLocation": "../../../../.yarn/berry/cache/object-inspect-npm-1.13.4-4e741f9806-10.zip/node_modules/object-inspect/",\ + "packageDependencies": [\ + ["object-inspect", "npm:1.13.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["object-keys", [\ + ["npm:1.1.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/object-keys-npm-1.1.1-1bf2f1be93-10.zip/node_modules/object-keys/",\ + "packageDependencies": [\ + ["object-keys", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["object.assign", [\ + ["npm:4.1.7", {\ + "packageLocation": "../../../../.yarn/berry/cache/object.assign-npm-4.1.7-a3464be41b-10.zip/node_modules/object.assign/",\ + "packageDependencies": [\ + ["object.assign", "npm:4.1.7"],\ + ["call-bind", "npm:1.0.8"],\ + ["call-bound", "npm:1.0.4"],\ + ["define-properties", "npm:1.2.1"],\ + ["es-object-atoms", "npm:1.1.1"],\ + ["has-symbols", "npm:1.1.0"],\ + ["object-keys", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["object.getownpropertydescriptors", [\ + ["npm:2.1.8", {\ + "packageLocation": "../../../../.yarn/berry/cache/object.getownpropertydescriptors-npm-2.1.8-f52ebbf149-10.zip/node_modules/object.getownpropertydescriptors/",\ + "packageDependencies": [\ + ["object.getownpropertydescriptors", "npm:2.1.8"],\ + ["array.prototype.reduce", "npm:1.0.8"],\ + ["call-bind", "npm:1.0.8"],\ + ["define-properties", "npm:1.2.1"],\ + ["es-abstract", "npm:1.23.9"],\ + ["es-object-atoms", "npm:1.1.1"],\ + ["gopd", "npm:1.2.0"],\ + ["safe-array-concat", "npm:1.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["once", [\ + ["npm:1.4.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/once-npm-1.4.0-ccf03ef07a-10.zip/node_modules/once/",\ + "packageDependencies": [\ + ["once", "npm:1.4.0"],\ + ["wrappy", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["onetime", [\ + ["npm:5.1.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/onetime-npm-5.1.2-3ed148fa42-10.zip/node_modules/onetime/",\ + "packageDependencies": [\ + ["onetime", "npm:5.1.2"],\ + ["mimic-fn", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["optionator", [\ + ["npm:0.9.4", {\ + "packageLocation": "../../../../.yarn/berry/cache/optionator-npm-0.9.4-1f114b00e8-10.zip/node_modules/optionator/",\ + "packageDependencies": [\ + ["optionator", "npm:0.9.4"],\ + ["deep-is", "npm:0.1.4"],\ + ["fast-levenshtein", "npm:2.0.6"],\ + ["levn", "npm:0.4.1"],\ + ["prelude-ls", "npm:1.2.1"],\ + ["type-check", "npm:0.4.0"],\ + ["word-wrap", "npm:1.2.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["own-keys", [\ + ["npm:1.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/own-keys-npm-1.0.1-1253f9b344-10.zip/node_modules/own-keys/",\ + "packageDependencies": [\ + ["own-keys", "npm:1.0.1"],\ + ["get-intrinsic", "npm:1.3.0"],\ + ["object-keys", "npm:1.1.1"],\ + ["safe-push-apply", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["p-limit", [\ + ["npm:2.3.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/p-limit-npm-2.3.0-94a0310039-10.zip/node_modules/p-limit/",\ + "packageDependencies": [\ + ["p-limit", "npm:2.3.0"],\ + ["p-try", "npm:2.2.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/p-limit-npm-3.1.0-05d2ede37f-10.zip/node_modules/p-limit/",\ + "packageDependencies": [\ + ["p-limit", "npm:3.1.0"],\ + ["yocto-queue", "npm:0.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["p-locate", [\ + ["npm:3.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/p-locate-npm-3.0.0-74de74f952-10.zip/node_modules/p-locate/",\ + "packageDependencies": [\ + ["p-locate", "npm:3.0.0"],\ + ["p-limit", "npm:2.3.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/p-locate-npm-4.1.0-eec6872537-10.zip/node_modules/p-locate/",\ + "packageDependencies": [\ + ["p-locate", "npm:4.1.0"],\ + ["p-limit", "npm:2.3.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/p-locate-npm-5.0.0-92cc7c7a3e-10.zip/node_modules/p-locate/",\ + "packageDependencies": [\ + ["p-locate", "npm:5.0.0"],\ + ["p-limit", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["p-map", [\ + ["npm:7.0.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/p-map-npm-7.0.3-93bbec0d8c-10.zip/node_modules/p-map/",\ + "packageDependencies": [\ + ["p-map", "npm:7.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["p-try", [\ + ["npm:2.2.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/p-try-npm-2.2.0-e0390dbaf8-10.zip/node_modules/p-try/",\ + "packageDependencies": [\ + ["p-try", "npm:2.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["package-json-from-dist", [\ + ["npm:1.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/package-json-from-dist-npm-1.0.1-4631a88465-10.zip/node_modules/package-json-from-dist/",\ + "packageDependencies": [\ + ["package-json-from-dist", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["parent-module", [\ + ["npm:1.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/parent-module-npm-1.0.1-1fae11b095-10.zip/node_modules/parent-module/",\ + "packageDependencies": [\ + ["parent-module", "npm:1.0.1"],\ + ["callsites", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["parse-json", [\ + ["npm:5.2.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/parse-json-npm-5.2.0-00a63b1199-10.zip/node_modules/parse-json/",\ + "packageDependencies": [\ + ["parse-json", "npm:5.2.0"],\ + ["@babel/code-frame", "npm:7.26.2"],\ + ["error-ex", "npm:1.3.2"],\ + ["json-parse-even-better-errors", "npm:2.3.1"],\ + ["lines-and-columns", "npm:1.2.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["parse-passwd", [\ + ["npm:1.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/parse-passwd-npm-1.0.0-ace6effa1d-10.zip/node_modules/parse-passwd/",\ + "packageDependencies": [\ + ["parse-passwd", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["path-exists", [\ + ["npm:3.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/path-exists-npm-3.0.0-e80371aa68-10.zip/node_modules/path-exists/",\ + "packageDependencies": [\ + ["path-exists", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/path-exists-npm-4.0.0-e9e4f63eb0-10.zip/node_modules/path-exists/",\ + "packageDependencies": [\ + ["path-exists", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["path-is-absolute", [\ + ["npm:1.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/path-is-absolute-npm-1.0.1-31bc695ffd-10.zip/node_modules/path-is-absolute/",\ + "packageDependencies": [\ + ["path-is-absolute", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["path-key", [\ + ["npm:3.1.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/path-key-npm-3.1.1-0e66ea8321-10.zip/node_modules/path-key/",\ + "packageDependencies": [\ + ["path-key", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["path-parse", [\ + ["npm:1.0.7", {\ + "packageLocation": "../../../../.yarn/berry/cache/path-parse-npm-1.0.7-09564527b7-10.zip/node_modules/path-parse/",\ + "packageDependencies": [\ + ["path-parse", "npm:1.0.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["path-scurry", [\ + ["npm:1.11.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/path-scurry-npm-1.11.1-aaf8c339af-10.zip/node_modules/path-scurry/",\ + "packageDependencies": [\ + ["path-scurry", "npm:1.11.1"],\ + ["lru-cache", "npm:10.4.3"],\ + ["minipass", "npm:7.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["picocolors", [\ + ["npm:1.1.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/picocolors-npm-1.1.1-4fede47cf1-10.zip/node_modules/picocolors/",\ + "packageDependencies": [\ + ["picocolors", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["picomatch", [\ + ["npm:2.3.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/picomatch-npm-2.3.1-c782cfd986-10.zip/node_modules/picomatch/",\ + "packageDependencies": [\ + ["picomatch", "npm:2.3.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.0.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/picomatch-npm-4.0.2-e93516ddf2-10.zip/node_modules/picomatch/",\ + "packageDependencies": [\ + ["picomatch", "npm:4.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pify", [\ + ["npm:4.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/pify-npm-4.0.1-062756097b-10.zip/node_modules/pify/",\ + "packageDependencies": [\ + ["pify", "npm:4.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pirates", [\ + ["npm:4.0.7", {\ + "packageLocation": "../../../../.yarn/berry/cache/pirates-npm-4.0.7-5e4ee2f078-10.zip/node_modules/pirates/",\ + "packageDependencies": [\ + ["pirates", "npm:4.0.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pkg-dir", [\ + ["npm:3.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/pkg-dir-npm-3.0.0-16d8d93783-10.zip/node_modules/pkg-dir/",\ + "packageDependencies": [\ + ["pkg-dir", "npm:3.0.0"],\ + ["find-up", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.2.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/pkg-dir-npm-4.2.0-2b5d0a8d32-10.zip/node_modules/pkg-dir/",\ + "packageDependencies": [\ + ["pkg-dir", "npm:4.2.0"],\ + ["find-up", "npm:4.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["possible-typed-array-names", [\ + ["npm:1.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/possible-typed-array-names-npm-1.1.0-ce60ca4401-10.zip/node_modules/possible-typed-array-names/",\ + "packageDependencies": [\ + ["possible-typed-array-names", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["prelude-ls", [\ + ["npm:1.2.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/prelude-ls-npm-1.2.1-3e4d272a55-10.zip/node_modules/prelude-ls/",\ + "packageDependencies": [\ + ["prelude-ls", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["prettier", [\ + ["npm:3.5.3", {\ + "packageLocation": "./.yarn/unplugged/prettier-npm-3.5.3-787132ce04/node_modules/prettier/",\ + "packageDependencies": [\ + ["prettier", "npm:3.5.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pretty-format", [\ + ["npm:29.7.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/pretty-format-npm-29.7.0-7d330b2ea2-10.zip/node_modules/pretty-format/",\ + "packageDependencies": [\ + ["pretty-format", "npm:29.7.0"],\ + ["@jest/schemas", "npm:29.6.3"],\ + ["ansi-styles", "npm:5.2.0"],\ + ["react-is", "npm:18.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["proc-log", [\ + ["npm:5.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/proc-log-npm-5.0.0-405173f9b4-10.zip/node_modules/proc-log/",\ + "packageDependencies": [\ + ["proc-log", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["promise-retry", [\ + ["npm:2.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/promise-retry-npm-2.0.1-871f0b01b7-10.zip/node_modules/promise-retry/",\ + "packageDependencies": [\ + ["promise-retry", "npm:2.0.1"],\ + ["err-code", "npm:2.0.3"],\ + ["retry", "npm:0.12.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["prompts", [\ + ["npm:2.4.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/prompts-npm-2.4.2-f5d25d5eea-10.zip/node_modules/prompts/",\ + "packageDependencies": [\ + ["prompts", "npm:2.4.2"],\ + ["kleur", "npm:3.0.3"],\ + ["sisteransi", "npm:1.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["punycode", [\ + ["npm:2.3.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/punycode-npm-2.3.1-97543c420d-10.zip/node_modules/punycode/",\ + "packageDependencies": [\ + ["punycode", "npm:2.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pure-rand", [\ + ["npm:6.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/pure-rand-npm-6.1.0-497ea3fc37-10.zip/node_modules/pure-rand/",\ + "packageDependencies": [\ + ["pure-rand", "npm:6.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["queue-microtask", [\ + ["npm:1.2.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/queue-microtask-npm-1.2.3-fcc98e4e2d-10.zip/node_modules/queue-microtask/",\ + "packageDependencies": [\ + ["queue-microtask", "npm:1.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["react-is", [\ + ["npm:18.3.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/react-is-npm-18.3.1-370a81e1e9-10.zip/node_modules/react-is/",\ + "packageDependencies": [\ + ["react-is", "npm:18.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["reflect.getprototypeof", [\ + ["npm:1.0.10", {\ + "packageLocation": "../../../../.yarn/berry/cache/reflect.getprototypeof-npm-1.0.10-8c3ce862a2-10.zip/node_modules/reflect.getprototypeof/",\ + "packageDependencies": [\ + ["reflect.getprototypeof", "npm:1.0.10"],\ + ["call-bind", "npm:1.0.8"],\ + ["define-properties", "npm:1.2.1"],\ + ["es-abstract", "npm:1.23.9"],\ + ["es-errors", "npm:1.3.0"],\ + ["es-object-atoms", "npm:1.1.1"],\ + ["get-intrinsic", "npm:1.3.0"],\ + ["get-proto", "npm:1.0.1"],\ + ["which-builtin-type", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["regenerate", [\ + ["npm:1.4.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/regenerate-npm-1.4.2-b296c5b63a-10.zip/node_modules/regenerate/",\ + "packageDependencies": [\ + ["regenerate", "npm:1.4.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["regenerate-unicode-properties", [\ + ["npm:10.2.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/regenerate-unicode-properties-npm-10.2.0-3d662e6e17-10.zip/node_modules/regenerate-unicode-properties/",\ + "packageDependencies": [\ + ["regenerate-unicode-properties", "npm:10.2.0"],\ + ["regenerate", "npm:1.4.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["regenerator-runtime", [\ + ["npm:0.14.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/regenerator-runtime-npm-0.14.1-a6c97c609a-10.zip/node_modules/regenerator-runtime/",\ + "packageDependencies": [\ + ["regenerator-runtime", "npm:0.14.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["regenerator-transform", [\ + ["npm:0.15.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/regenerator-transform-npm-0.15.2-109e57a69f-10.zip/node_modules/regenerator-transform/",\ + "packageDependencies": [\ + ["regenerator-transform", "npm:0.15.2"],\ + ["@babel/runtime", "npm:7.27.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["regexp.prototype.flags", [\ + ["npm:1.5.4", {\ + "packageLocation": "../../../../.yarn/berry/cache/regexp.prototype.flags-npm-1.5.4-39008ab64c-10.zip/node_modules/regexp.prototype.flags/",\ + "packageDependencies": [\ + ["regexp.prototype.flags", "npm:1.5.4"],\ + ["call-bind", "npm:1.0.8"],\ + ["define-properties", "npm:1.2.1"],\ + ["es-errors", "npm:1.3.0"],\ + ["get-proto", "npm:1.0.1"],\ + ["gopd", "npm:1.2.0"],\ + ["set-function-name", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["regexpu-core", [\ + ["npm:6.2.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/regexpu-core-npm-6.2.0-56e98c3a61-10.zip/node_modules/regexpu-core/",\ + "packageDependencies": [\ + ["regexpu-core", "npm:6.2.0"],\ + ["regenerate", "npm:1.4.2"],\ + ["regenerate-unicode-properties", "npm:10.2.0"],\ + ["regjsgen", "npm:0.8.0"],\ + ["regjsparser", "npm:0.12.0"],\ + ["unicode-match-property-ecmascript", "npm:2.0.0"],\ + ["unicode-match-property-value-ecmascript", "npm:2.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["regjsgen", [\ + ["npm:0.8.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/regjsgen-npm-0.8.0-146d7cf052-10.zip/node_modules/regjsgen/",\ + "packageDependencies": [\ + ["regjsgen", "npm:0.8.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["regjsparser", [\ + ["npm:0.12.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/regjsparser-npm-0.12.0-9d000fca30-10.zip/node_modules/regjsparser/",\ + "packageDependencies": [\ + ["regjsparser", "npm:0.12.0"],\ + ["jsesc", "npm:3.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["require-directory", [\ + ["npm:2.1.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/require-directory-npm-2.1.1-8608aee50b-10.zip/node_modules/require-directory/",\ + "packageDependencies": [\ + ["require-directory", "npm:2.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["resolve", [\ + ["patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d", {\ + "packageLocation": "../../../../.yarn/berry/cache/resolve-patch-b5982cfa8c-10.zip/node_modules/resolve/",\ + "packageDependencies": [\ + ["resolve", "patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d"],\ + ["is-core-module", "npm:2.16.1"],\ + ["path-parse", "npm:1.0.7"],\ + ["supports-preserve-symlinks-flag", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["resolve-cwd", [\ + ["npm:3.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/resolve-cwd-npm-3.0.0-e6f4e296bf-10.zip/node_modules/resolve-cwd/",\ + "packageDependencies": [\ + ["resolve-cwd", "npm:3.0.0"],\ + ["resolve-from", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["resolve-from", [\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/resolve-from-npm-4.0.0-f758ec21bf-10.zip/node_modules/resolve-from/",\ + "packageDependencies": [\ + ["resolve-from", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/resolve-from-npm-5.0.0-15c9db4d33-10.zip/node_modules/resolve-from/",\ + "packageDependencies": [\ + ["resolve-from", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["resolve.exports", [\ + ["npm:2.0.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/resolve.exports-npm-2.0.3-eb33ea72e9-10.zip/node_modules/resolve.exports/",\ + "packageDependencies": [\ + ["resolve.exports", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["retry", [\ + ["npm:0.12.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/retry-npm-0.12.0-72ac7fb4cc-10.zip/node_modules/retry/",\ + "packageDependencies": [\ + ["retry", "npm:0.12.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["reusify", [\ + ["npm:1.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/reusify-npm-1.1.0-96242be57f-10.zip/node_modules/reusify/",\ + "packageDependencies": [\ + ["reusify", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["run-parallel", [\ + ["npm:1.2.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/run-parallel-npm-1.2.0-3f47ff2034-10.zip/node_modules/run-parallel/",\ + "packageDependencies": [\ + ["run-parallel", "npm:1.2.0"],\ + ["queue-microtask", "npm:1.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["safe-array-concat", [\ + ["npm:1.1.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/safe-array-concat-npm-1.1.3-dab0384e54-10.zip/node_modules/safe-array-concat/",\ + "packageDependencies": [\ + ["safe-array-concat", "npm:1.1.3"],\ + ["call-bind", "npm:1.0.8"],\ + ["call-bound", "npm:1.0.4"],\ + ["get-intrinsic", "npm:1.3.0"],\ + ["has-symbols", "npm:1.1.0"],\ + ["isarray", "npm:2.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["safe-push-apply", [\ + ["npm:1.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/safe-push-apply-npm-1.0.0-51a0a42944-10.zip/node_modules/safe-push-apply/",\ + "packageDependencies": [\ + ["safe-push-apply", "npm:1.0.0"],\ + ["es-errors", "npm:1.3.0"],\ + ["isarray", "npm:2.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["safe-regex-test", [\ + ["npm:1.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/safe-regex-test-npm-1.1.0-453eb81b83-10.zip/node_modules/safe-regex-test/",\ + "packageDependencies": [\ + ["safe-regex-test", "npm:1.1.0"],\ + ["call-bound", "npm:1.0.4"],\ + ["es-errors", "npm:1.3.0"],\ + ["is-regex", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["safer-buffer", [\ + ["npm:2.1.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/safer-buffer-npm-2.1.2-8d5c0b705e-10.zip/node_modules/safer-buffer/",\ + "packageDependencies": [\ + ["safer-buffer", "npm:2.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["semver", [\ + ["npm:5.7.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/semver-npm-5.7.2-938ee91eaa-10.zip/node_modules/semver/",\ + "packageDependencies": [\ + ["semver", "npm:5.7.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.3.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/semver-npm-6.3.1-bcba31fdbe-10.zip/node_modules/semver/",\ + "packageDependencies": [\ + ["semver", "npm:6.3.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.7.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/semver-npm-7.7.1-4572475307-10.zip/node_modules/semver/",\ + "packageDependencies": [\ + ["semver", "npm:7.7.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["set-function-length", [\ + ["npm:1.2.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/set-function-length-npm-1.2.2-243073748b-10.zip/node_modules/set-function-length/",\ + "packageDependencies": [\ + ["set-function-length", "npm:1.2.2"],\ + ["define-data-property", "npm:1.1.4"],\ + ["es-errors", "npm:1.3.0"],\ + ["function-bind", "npm:1.1.2"],\ + ["get-intrinsic", "npm:1.3.0"],\ + ["gopd", "npm:1.2.0"],\ + ["has-property-descriptors", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["set-function-name", [\ + ["npm:2.0.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/set-function-name-npm-2.0.2-3d9a2d8899-10.zip/node_modules/set-function-name/",\ + "packageDependencies": [\ + ["set-function-name", "npm:2.0.2"],\ + ["define-data-property", "npm:1.1.4"],\ + ["es-errors", "npm:1.3.0"],\ + ["functions-have-names", "npm:1.2.3"],\ + ["has-property-descriptors", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["set-proto", [\ + ["npm:1.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/set-proto-npm-1.0.0-68d7485485-10.zip/node_modules/set-proto/",\ + "packageDependencies": [\ + ["set-proto", "npm:1.0.0"],\ + ["dunder-proto", "npm:1.0.1"],\ + ["es-errors", "npm:1.3.0"],\ + ["es-object-atoms", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["shallow-clone", [\ + ["npm:3.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/shallow-clone-npm-3.0.1-dab5873d0d-10.zip/node_modules/shallow-clone/",\ + "packageDependencies": [\ + ["shallow-clone", "npm:3.0.1"],\ + ["kind-of", "npm:6.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["shebang-command", [\ + ["npm:2.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/shebang-command-npm-2.0.0-eb2b01921d-10.zip/node_modules/shebang-command/",\ + "packageDependencies": [\ + ["shebang-command", "npm:2.0.0"],\ + ["shebang-regex", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["shebang-regex", [\ + ["npm:3.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/shebang-regex-npm-3.0.0-899a0cd65e-10.zip/node_modules/shebang-regex/",\ + "packageDependencies": [\ + ["shebang-regex", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["side-channel", [\ + ["npm:1.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/side-channel-npm-1.1.0-4993930974-10.zip/node_modules/side-channel/",\ + "packageDependencies": [\ + ["side-channel", "npm:1.1.0"],\ + ["es-errors", "npm:1.3.0"],\ + ["object-inspect", "npm:1.13.4"],\ + ["side-channel-list", "npm:1.0.0"],\ + ["side-channel-map", "npm:1.0.1"],\ + ["side-channel-weakmap", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["side-channel-list", [\ + ["npm:1.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/side-channel-list-npm-1.0.0-14f74146d1-10.zip/node_modules/side-channel-list/",\ + "packageDependencies": [\ + ["side-channel-list", "npm:1.0.0"],\ + ["es-errors", "npm:1.3.0"],\ + ["object-inspect", "npm:1.13.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["side-channel-map", [\ + ["npm:1.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/side-channel-map-npm-1.0.1-5903573b3c-10.zip/node_modules/side-channel-map/",\ + "packageDependencies": [\ + ["side-channel-map", "npm:1.0.1"],\ + ["call-bound", "npm:1.0.4"],\ + ["es-errors", "npm:1.3.0"],\ + ["get-intrinsic", "npm:1.3.0"],\ + ["object-inspect", "npm:1.13.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["side-channel-weakmap", [\ + ["npm:1.0.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/side-channel-weakmap-npm-1.0.2-027acaf499-10.zip/node_modules/side-channel-weakmap/",\ + "packageDependencies": [\ + ["side-channel-weakmap", "npm:1.0.2"],\ + ["call-bound", "npm:1.0.4"],\ + ["es-errors", "npm:1.3.0"],\ + ["get-intrinsic", "npm:1.3.0"],\ + ["object-inspect", "npm:1.13.4"],\ + ["side-channel-map", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["signal-exit", [\ + ["npm:3.0.7", {\ + "packageLocation": "../../../../.yarn/berry/cache/signal-exit-npm-3.0.7-bd270458a3-10.zip/node_modules/signal-exit/",\ + "packageDependencies": [\ + ["signal-exit", "npm:3.0.7"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/signal-exit-npm-4.1.0-61fb957687-10.zip/node_modules/signal-exit/",\ + "packageDependencies": [\ + ["signal-exit", "npm:4.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["sisteransi", [\ + ["npm:1.0.5", {\ + "packageLocation": "../../../../.yarn/berry/cache/sisteransi-npm-1.0.5-af60cc0cfa-10.zip/node_modules/sisteransi/",\ + "packageDependencies": [\ + ["sisteransi", "npm:1.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["slash", [\ + ["npm:3.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/slash-npm-3.0.0-b87de2279a-10.zip/node_modules/slash/",\ + "packageDependencies": [\ + ["slash", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["smart-buffer", [\ + ["npm:4.2.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/smart-buffer-npm-4.2.0-5ac3f668bb-10.zip/node_modules/smart-buffer/",\ + "packageDependencies": [\ + ["smart-buffer", "npm:4.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["socks", [\ + ["npm:2.8.4", {\ + "packageLocation": "../../../../.yarn/berry/cache/socks-npm-2.8.4-8194b86bd0-10.zip/node_modules/socks/",\ + "packageDependencies": [\ + ["socks", "npm:2.8.4"],\ + ["ip-address", "npm:9.0.5"],\ + ["smart-buffer", "npm:4.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["socks-proxy-agent", [\ + ["npm:8.0.5", {\ + "packageLocation": "../../../../.yarn/berry/cache/socks-proxy-agent-npm-8.0.5-24d77a90dc-10.zip/node_modules/socks-proxy-agent/",\ + "packageDependencies": [\ + ["socks-proxy-agent", "npm:8.0.5"],\ + ["agent-base", "npm:7.1.3"],\ + ["debug", "virtual:e376c6d25689d1413f13b759a5649fe969efab30320e886cab81ece2b6daf8c4c74f642faff7228a9a286b4b82bc7bac5773e45f1085910307cd111b19a8cd17#npm:4.4.0"],\ + ["socks", "npm:2.8.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["source-map", [\ + ["npm:0.6.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/source-map-npm-0.6.1-1a3621db16-10.zip/node_modules/source-map/",\ + "packageDependencies": [\ + ["source-map", "npm:0.6.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["source-map-support", [\ + ["npm:0.5.13", {\ + "packageLocation": "../../../../.yarn/berry/cache/source-map-support-npm-0.5.13-377dfd7321-10.zip/node_modules/source-map-support/",\ + "packageDependencies": [\ + ["source-map-support", "npm:0.5.13"],\ + ["buffer-from", "npm:1.1.2"],\ + ["source-map", "npm:0.6.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:0.5.21", {\ + "packageLocation": "../../../../.yarn/berry/cache/source-map-support-npm-0.5.21-09ca99e250-10.zip/node_modules/source-map-support/",\ + "packageDependencies": [\ + ["source-map-support", "npm:0.5.21"],\ + ["buffer-from", "npm:1.1.2"],\ + ["source-map", "npm:0.6.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["sprintf-js", [\ + ["npm:1.0.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/sprintf-js-npm-1.0.3-73f0a322fa-10.zip/node_modules/sprintf-js/",\ + "packageDependencies": [\ + ["sprintf-js", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:1.1.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/sprintf-js-npm-1.1.3-b99efd75b2-10.zip/node_modules/sprintf-js/",\ + "packageDependencies": [\ + ["sprintf-js", "npm:1.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ssri", [\ + ["npm:12.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/ssri-npm-12.0.0-97c0e53d2e-10.zip/node_modules/ssri/",\ + "packageDependencies": [\ + ["ssri", "npm:12.0.0"],\ + ["minipass", "npm:7.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["stack-utils", [\ + ["npm:2.0.6", {\ + "packageLocation": "../../../../.yarn/berry/cache/stack-utils-npm-2.0.6-2be1099696-10.zip/node_modules/stack-utils/",\ + "packageDependencies": [\ + ["stack-utils", "npm:2.0.6"],\ + ["escape-string-regexp", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["string-length", [\ + ["npm:4.0.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/string-length-npm-4.0.2-675173c7a2-10.zip/node_modules/string-length/",\ + "packageDependencies": [\ + ["string-length", "npm:4.0.2"],\ + ["char-regex", "npm:1.0.2"],\ + ["strip-ansi", "npm:6.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["string-width", [\ + ["npm:4.2.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/string-width-npm-4.2.3-2c27177bae-10.zip/node_modules/string-width/",\ + "packageDependencies": [\ + ["string-width", "npm:4.2.3"],\ + ["emoji-regex", "npm:8.0.0"],\ + ["is-fullwidth-code-point", "npm:3.0.0"],\ + ["strip-ansi", "npm:6.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.1.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/string-width-npm-5.1.2-bf60531341-10.zip/node_modules/string-width/",\ + "packageDependencies": [\ + ["string-width", "npm:5.1.2"],\ + ["eastasianwidth", "npm:0.2.0"],\ + ["emoji-regex", "npm:9.2.2"],\ + ["strip-ansi", "npm:7.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["string.prototype.trim", [\ + ["npm:1.2.10", {\ + "packageLocation": "../../../../.yarn/berry/cache/string.prototype.trim-npm-1.2.10-40a44bc719-10.zip/node_modules/string.prototype.trim/",\ + "packageDependencies": [\ + ["string.prototype.trim", "npm:1.2.10"],\ + ["call-bind", "npm:1.0.8"],\ + ["call-bound", "npm:1.0.4"],\ + ["define-data-property", "npm:1.1.4"],\ + ["define-properties", "npm:1.2.1"],\ + ["es-abstract", "npm:1.23.9"],\ + ["es-object-atoms", "npm:1.1.1"],\ + ["has-property-descriptors", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["string.prototype.trimend", [\ + ["npm:1.0.9", {\ + "packageLocation": "../../../../.yarn/berry/cache/string.prototype.trimend-npm-1.0.9-e8729528fb-10.zip/node_modules/string.prototype.trimend/",\ + "packageDependencies": [\ + ["string.prototype.trimend", "npm:1.0.9"],\ + ["call-bind", "npm:1.0.8"],\ + ["call-bound", "npm:1.0.4"],\ + ["define-properties", "npm:1.2.1"],\ + ["es-object-atoms", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["string.prototype.trimstart", [\ + ["npm:1.0.8", {\ + "packageLocation": "../../../../.yarn/berry/cache/string.prototype.trimstart-npm-1.0.8-8c6b16ba6e-10.zip/node_modules/string.prototype.trimstart/",\ + "packageDependencies": [\ + ["string.prototype.trimstart", "npm:1.0.8"],\ + ["call-bind", "npm:1.0.8"],\ + ["define-properties", "npm:1.2.1"],\ + ["es-object-atoms", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["strip-ansi", [\ + ["npm:6.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/strip-ansi-npm-6.0.1-caddc7cb40-10.zip/node_modules/strip-ansi/",\ + "packageDependencies": [\ + ["strip-ansi", "npm:6.0.1"],\ + ["ansi-regex", "npm:5.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/strip-ansi-npm-7.1.0-7453b80b79-10.zip/node_modules/strip-ansi/",\ + "packageDependencies": [\ + ["strip-ansi", "npm:7.1.0"],\ + ["ansi-regex", "npm:6.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["strip-bom", [\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/strip-bom-npm-4.0.0-97d367a64d-10.zip/node_modules/strip-bom/",\ + "packageDependencies": [\ + ["strip-bom", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["strip-final-newline", [\ + ["npm:2.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/strip-final-newline-npm-2.0.0-340c4f7c66-10.zip/node_modules/strip-final-newline/",\ + "packageDependencies": [\ + ["strip-final-newline", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["strip-json-comments", [\ + ["npm:3.1.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/strip-json-comments-npm-3.1.1-dcb2324823-10.zip/node_modules/strip-json-comments/",\ + "packageDependencies": [\ + ["strip-json-comments", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["supports-color", [\ + ["npm:7.2.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/supports-color-npm-7.2.0-606bfcf7da-10.zip/node_modules/supports-color/",\ + "packageDependencies": [\ + ["supports-color", "npm:7.2.0"],\ + ["has-flag", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:8.1.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/supports-color-npm-8.1.1-289e937149-10.zip/node_modules/supports-color/",\ + "packageDependencies": [\ + ["supports-color", "npm:8.1.1"],\ + ["has-flag", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["supports-preserve-symlinks-flag", [\ + ["npm:1.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/supports-preserve-symlinks-flag-npm-1.0.0-f17c4d0028-10.zip/node_modules/supports-preserve-symlinks-flag/",\ + "packageDependencies": [\ + ["supports-preserve-symlinks-flag", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tar", [\ + ["npm:7.4.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/tar-npm-7.4.3-1dbbd1ffc3-10.zip/node_modules/tar/",\ + "packageDependencies": [\ + ["tar", "npm:7.4.3"],\ + ["@isaacs/fs-minipass", "npm:4.0.1"],\ + ["chownr", "npm:3.0.0"],\ + ["minipass", "npm:7.1.2"],\ + ["minizlib", "npm:3.0.2"],\ + ["mkdirp", "npm:3.0.1"],\ + ["yallist", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["test-exclude", [\ + ["npm:6.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/test-exclude-npm-6.0.0-3fb03d69df-10.zip/node_modules/test-exclude/",\ + "packageDependencies": [\ + ["test-exclude", "npm:6.0.0"],\ + ["@istanbuljs/schema", "npm:0.1.3"],\ + ["glob", "npm:7.2.3"],\ + ["minimatch", "npm:3.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tinyglobby", [\ + ["npm:0.2.12", {\ + "packageLocation": "../../../../.yarn/berry/cache/tinyglobby-npm-0.2.12-c8807de691-10.zip/node_modules/tinyglobby/",\ + "packageDependencies": [\ + ["tinyglobby", "npm:0.2.12"],\ + ["fdir", "virtual:c8807de691826868d9a774dfe20fb184997709c19896ccda6c1d382d679c7c2453bf893d9e0510372bd84566a8523db06ec721126eb95bb24e97992998e8a625#npm:6.4.3"],\ + ["picomatch", "npm:4.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tmpl", [\ + ["npm:1.0.5", {\ + "packageLocation": "../../../../.yarn/berry/cache/tmpl-npm-1.0.5-d399ba37e2-10.zip/node_modules/tmpl/",\ + "packageDependencies": [\ + ["tmpl", "npm:1.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["to-regex-range", [\ + ["npm:5.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/to-regex-range-npm-5.0.1-f1e8263b00-10.zip/node_modules/to-regex-range/",\ + "packageDependencies": [\ + ["to-regex-range", "npm:5.0.1"],\ + ["is-number", "npm:7.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ts-api-utils", [\ + ["npm:2.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/ts-api-utils-npm-2.1.0-2549dfd29f-10.zip/node_modules/ts-api-utils/",\ + "packageDependencies": [\ + ["ts-api-utils", "npm:2.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0a3405692c9fa2a32378bc29326d9c41e7c84d39d028bd6b5792eb652f7816531168baf971a8a03a71faffca3e9174f18065309f54f429110a92f5225cbdc3cb#npm:2.1.0", {\ + "packageLocation": "./.yarn/__virtual__/ts-api-utils-virtual-59bb05d7f0/5/.yarn/berry/cache/ts-api-utils-npm-2.1.0-2549dfd29f-10.zip/node_modules/ts-api-utils/",\ + "packageDependencies": [\ + ["ts-api-utils", "virtual:0a3405692c9fa2a32378bc29326d9c41e7c84d39d028bd6b5792eb652f7816531168baf971a8a03a71faffca3e9174f18065309f54f429110a92f5225cbdc3cb#npm:2.1.0"],\ + ["@types/typescript", null],\ + ["typescript", null]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:78addb782c7a983e0a30264db5dc673284d3767a3046727400190481bf3fb2da16ffdd702f17ab7bc42b76c0268398ffd80b8967aa6b4449a475d8545e1b5960#npm:2.1.0", {\ + "packageLocation": "./.yarn/__virtual__/ts-api-utils-virtual-a420457f44/5/.yarn/berry/cache/ts-api-utils-npm-2.1.0-2549dfd29f-10.zip/node_modules/ts-api-utils/",\ + "packageDependencies": [\ + ["ts-api-utils", "virtual:78addb782c7a983e0a30264db5dc673284d3767a3046727400190481bf3fb2da16ffdd702f17ab7bc42b76c0268398ffd80b8967aa6b4449a475d8545e1b5960#npm:2.1.0"],\ + ["@types/typescript", null],\ + ["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40"]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tstyche", [\ + ["npm:2.1.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/tstyche-npm-2.1.1-5d85a48d5c-10.zip/node_modules/tstyche/",\ + "packageDependencies": [\ + ["tstyche", "npm:2.1.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:eae072fb4ec4cfb10278b9618e1f0b9223a7f2d1b68a48363782e8e07b712e5912c908ad7164155868a6baaf03178af3c3bd1ec89c72366e2aba013fc9a80a32#npm:2.1.1", {\ + "packageLocation": "./.yarn/__virtual__/tstyche-virtual-e8ed28d25b/5/.yarn/berry/cache/tstyche-npm-2.1.1-5d85a48d5c-10.zip/node_modules/tstyche/",\ + "packageDependencies": [\ + ["tstyche", "virtual:eae072fb4ec4cfb10278b9618e1f0b9223a7f2d1b68a48363782e8e07b712e5912c908ad7164155868a6baaf03178af3c3bd1ec89c72366e2aba013fc9a80a32#npm:2.1.1"],\ + ["@types/typescript", null],\ + ["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40"]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["type-check", [\ + ["npm:0.4.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/type-check-npm-0.4.0-60565800ce-10.zip/node_modules/type-check/",\ + "packageDependencies": [\ + ["type-check", "npm:0.4.0"],\ + ["prelude-ls", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["type-detect", [\ + ["npm:4.0.8", {\ + "packageLocation": "../../../../.yarn/berry/cache/type-detect-npm-4.0.8-8d8127b901-10.zip/node_modules/type-detect/",\ + "packageDependencies": [\ + ["type-detect", "npm:4.0.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["type-fest", [\ + ["npm:0.21.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/type-fest-npm-0.21.3-5ff2a9c6fd-10.zip/node_modules/type-fest/",\ + "packageDependencies": [\ + ["type-fest", "npm:0.21.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["typed-array-buffer", [\ + ["npm:1.0.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/typed-array-buffer-npm-1.0.3-bddcba0c25-10.zip/node_modules/typed-array-buffer/",\ + "packageDependencies": [\ + ["typed-array-buffer", "npm:1.0.3"],\ + ["call-bound", "npm:1.0.4"],\ + ["es-errors", "npm:1.3.0"],\ + ["is-typed-array", "npm:1.1.15"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["typed-array-byte-length", [\ + ["npm:1.0.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/typed-array-byte-length-npm-1.0.3-0769937080-10.zip/node_modules/typed-array-byte-length/",\ + "packageDependencies": [\ + ["typed-array-byte-length", "npm:1.0.3"],\ + ["call-bind", "npm:1.0.8"],\ + ["for-each", "npm:0.3.5"],\ + ["gopd", "npm:1.2.0"],\ + ["has-proto", "npm:1.2.0"],\ + ["is-typed-array", "npm:1.1.15"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["typed-array-byte-offset", [\ + ["npm:1.0.4", {\ + "packageLocation": "../../../../.yarn/berry/cache/typed-array-byte-offset-npm-1.0.4-12f60e4553-10.zip/node_modules/typed-array-byte-offset/",\ + "packageDependencies": [\ + ["typed-array-byte-offset", "npm:1.0.4"],\ + ["available-typed-arrays", "npm:1.0.7"],\ + ["call-bind", "npm:1.0.8"],\ + ["for-each", "npm:0.3.5"],\ + ["gopd", "npm:1.2.0"],\ + ["has-proto", "npm:1.2.0"],\ + ["is-typed-array", "npm:1.1.15"],\ + ["reflect.getprototypeof", "npm:1.0.10"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["typed-array-length", [\ + ["npm:1.0.7", {\ + "packageLocation": "../../../../.yarn/berry/cache/typed-array-length-npm-1.0.7-ac6ef772a7-10.zip/node_modules/typed-array-length/",\ + "packageDependencies": [\ + ["typed-array-length", "npm:1.0.7"],\ + ["call-bind", "npm:1.0.8"],\ + ["for-each", "npm:0.3.5"],\ + ["gopd", "npm:1.2.0"],\ + ["is-typed-array", "npm:1.1.15"],\ + ["possible-typed-array-names", "npm:1.1.0"],\ + ["reflect.getprototypeof", "npm:1.0.10"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["typescript", [\ + ["patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40", {\ + "packageLocation": "../../../../.yarn/berry/cache/typescript-patch-8964a48ba3-10.zip/node_modules/typescript/",\ + "packageDependencies": [\ + ["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["typescript-eslint", [\ + ["npm:8.30.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/typescript-eslint-npm-8.30.1-4295e8ac25-10.zip/node_modules/typescript-eslint/",\ + "packageDependencies": [\ + ["typescript-eslint", "npm:8.30.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:eae072fb4ec4cfb10278b9618e1f0b9223a7f2d1b68a48363782e8e07b712e5912c908ad7164155868a6baaf03178af3c3bd1ec89c72366e2aba013fc9a80a32#npm:8.30.1", {\ + "packageLocation": "./.yarn/__virtual__/typescript-eslint-virtual-689e4e2602/5/.yarn/berry/cache/typescript-eslint-npm-8.30.1-4295e8ac25-10.zip/node_modules/typescript-eslint/",\ + "packageDependencies": [\ + ["typescript-eslint", "virtual:eae072fb4ec4cfb10278b9618e1f0b9223a7f2d1b68a48363782e8e07b712e5912c908ad7164155868a6baaf03178af3c3bd1ec89c72366e2aba013fc9a80a32#npm:8.30.1"],\ + ["@types/eslint", null],\ + ["@types/typescript", null],\ + ["@typescript-eslint/eslint-plugin", "virtual:689e4e26025d6bd3c46721922456acbf6182123b8db0d1ab08b922ca5dc18ce6a69517c7e4099400cc175bee331cab60ca181528cde90aecb6e424ad8a72bca2#npm:8.30.1"],\ + ["@typescript-eslint/parser", "virtual:689e4e26025d6bd3c46721922456acbf6182123b8db0d1ab08b922ca5dc18ce6a69517c7e4099400cc175bee331cab60ca181528cde90aecb6e424ad8a72bca2#npm:8.30.1"],\ + ["@typescript-eslint/utils", "virtual:689e4e26025d6bd3c46721922456acbf6182123b8db0d1ab08b922ca5dc18ce6a69517c7e4099400cc175bee331cab60ca181528cde90aecb6e424ad8a72bca2#npm:8.30.1"],\ + ["eslint", "virtual:eae072fb4ec4cfb10278b9618e1f0b9223a7f2d1b68a48363782e8e07b712e5912c908ad7164155868a6baaf03178af3c3bd1ec89c72366e2aba013fc9a80a32#npm:9.25.0"],\ + ["typescript", "patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "@types/typescript",\ + "eslint",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unbox-primitive", [\ + ["npm:1.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/unbox-primitive-npm-1.1.0-269638c590-10.zip/node_modules/unbox-primitive/",\ + "packageDependencies": [\ + ["unbox-primitive", "npm:1.1.0"],\ + ["call-bound", "npm:1.0.4"],\ + ["has-bigints", "npm:1.1.0"],\ + ["has-symbols", "npm:1.1.0"],\ + ["which-boxed-primitive", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["undici-types", [\ + ["npm:6.19.8", {\ + "packageLocation": "../../../../.yarn/berry/cache/undici-types-npm-6.19.8-9f12285b7a-10.zip/node_modules/undici-types/",\ + "packageDependencies": [\ + ["undici-types", "npm:6.19.8"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.21.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/undici-types-npm-6.21.0-eb2b0ed56a-10.zip/node_modules/undici-types/",\ + "packageDependencies": [\ + ["undici-types", "npm:6.21.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unicode-canonical-property-names-ecmascript", [\ + ["npm:2.0.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/unicode-canonical-property-names-ecmascript-npm-2.0.1-80cef17f3b-10.zip/node_modules/unicode-canonical-property-names-ecmascript/",\ + "packageDependencies": [\ + ["unicode-canonical-property-names-ecmascript", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unicode-match-property-ecmascript", [\ + ["npm:2.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/unicode-match-property-ecmascript-npm-2.0.0-97a00fd52c-10.zip/node_modules/unicode-match-property-ecmascript/",\ + "packageDependencies": [\ + ["unicode-match-property-ecmascript", "npm:2.0.0"],\ + ["unicode-canonical-property-names-ecmascript", "npm:2.0.1"],\ + ["unicode-property-aliases-ecmascript", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unicode-match-property-value-ecmascript", [\ + ["npm:2.2.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/unicode-match-property-value-ecmascript-npm-2.2.0-011b10a684-10.zip/node_modules/unicode-match-property-value-ecmascript/",\ + "packageDependencies": [\ + ["unicode-match-property-value-ecmascript", "npm:2.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unicode-property-aliases-ecmascript", [\ + ["npm:2.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/unicode-property-aliases-ecmascript-npm-2.1.0-46779595f4-10.zip/node_modules/unicode-property-aliases-ecmascript/",\ + "packageDependencies": [\ + ["unicode-property-aliases-ecmascript", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unique-filename", [\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/unique-filename-npm-4.0.0-bfc100c4e3-10.zip/node_modules/unique-filename/",\ + "packageDependencies": [\ + ["unique-filename", "npm:4.0.0"],\ + ["unique-slug", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unique-slug", [\ + ["npm:5.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/unique-slug-npm-5.0.0-11508c0469-10.zip/node_modules/unique-slug/",\ + "packageDependencies": [\ + ["unique-slug", "npm:5.0.0"],\ + ["imurmurhash", "npm:0.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["update-browserslist-db", [\ + ["npm:1.1.3", {\ + "packageLocation": "../../../../.yarn/berry/cache/update-browserslist-db-npm-1.1.3-569a9be54b-10.zip/node_modules/update-browserslist-db/",\ + "packageDependencies": [\ + ["update-browserslist-db", "npm:1.1.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:2fdeb5face9914bb5fd94c70f084d153c80d2f09e5aabee010e4220b248dc23fca8f73c7beed0195e45ae6e2b1cb25388f709d7bfc4f00e473d573887faf4e5c#npm:1.1.3", {\ + "packageLocation": "./.yarn/__virtual__/update-browserslist-db-virtual-d61a3b9678/5/.yarn/berry/cache/update-browserslist-db-npm-1.1.3-569a9be54b-10.zip/node_modules/update-browserslist-db/",\ + "packageDependencies": [\ + ["update-browserslist-db", "virtual:2fdeb5face9914bb5fd94c70f084d153c80d2f09e5aabee010e4220b248dc23fca8f73c7beed0195e45ae6e2b1cb25388f709d7bfc4f00e473d573887faf4e5c#npm:1.1.3"],\ + ["@types/browserslist", null],\ + ["browserslist", "npm:4.24.4"],\ + ["escalade", "npm:3.2.0"],\ + ["picocolors", "npm:1.1.1"]\ + ],\ + "packagePeers": [\ + "@types/browserslist",\ + "browserslist"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["uri-js", [\ + ["npm:4.4.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/uri-js-npm-4.4.1-66d11cbcaf-10.zip/node_modules/uri-js/",\ + "packageDependencies": [\ + ["uri-js", "npm:4.4.1"],\ + ["punycode", "npm:2.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["v8-to-istanbul", [\ + ["npm:9.3.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/v8-to-istanbul-npm-9.3.0-35fef658c9-10.zip/node_modules/v8-to-istanbul/",\ + "packageDependencies": [\ + ["v8-to-istanbul", "npm:9.3.0"],\ + ["@jridgewell/trace-mapping", "npm:0.3.25"],\ + ["@types/istanbul-lib-coverage", "npm:2.0.6"],\ + ["convert-source-map", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["v8flags", [\ + ["npm:3.2.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/v8flags-npm-3.2.0-28770d6a95-10.zip/node_modules/v8flags/",\ + "packageDependencies": [\ + ["v8flags", "npm:3.2.0"],\ + ["homedir-polyfill", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["walker", [\ + ["npm:1.0.8", {\ + "packageLocation": "../../../../.yarn/berry/cache/walker-npm-1.0.8-b0a05b9478-10.zip/node_modules/walker/",\ + "packageDependencies": [\ + ["walker", "npm:1.0.8"],\ + ["makeerror", "npm:1.0.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["which", [\ + ["npm:2.0.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/which-npm-2.0.2-320ddf72f7-10.zip/node_modules/which/",\ + "packageDependencies": [\ + ["which", "npm:2.0.2"],\ + ["isexe", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/which-npm-5.0.0-15aa39eb60-10.zip/node_modules/which/",\ + "packageDependencies": [\ + ["which", "npm:5.0.0"],\ + ["isexe", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["which-boxed-primitive", [\ + ["npm:1.1.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/which-boxed-primitive-npm-1.1.1-80ca20c912-10.zip/node_modules/which-boxed-primitive/",\ + "packageDependencies": [\ + ["which-boxed-primitive", "npm:1.1.1"],\ + ["is-bigint", "npm:1.1.0"],\ + ["is-boolean-object", "npm:1.2.2"],\ + ["is-number-object", "npm:1.1.1"],\ + ["is-string", "npm:1.1.1"],\ + ["is-symbol", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["which-builtin-type", [\ + ["npm:1.2.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/which-builtin-type-npm-1.2.1-bbbdf9137f-10.zip/node_modules/which-builtin-type/",\ + "packageDependencies": [\ + ["which-builtin-type", "npm:1.2.1"],\ + ["call-bound", "npm:1.0.4"],\ + ["function.prototype.name", "npm:1.1.8"],\ + ["has-tostringtag", "npm:1.0.2"],\ + ["is-async-function", "npm:2.1.1"],\ + ["is-date-object", "npm:1.1.0"],\ + ["is-finalizationregistry", "npm:1.1.1"],\ + ["is-generator-function", "npm:1.1.0"],\ + ["is-regex", "npm:1.2.1"],\ + ["is-weakref", "npm:1.1.1"],\ + ["isarray", "npm:2.0.5"],\ + ["which-boxed-primitive", "npm:1.1.1"],\ + ["which-collection", "npm:1.0.2"],\ + ["which-typed-array", "npm:1.1.19"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["which-collection", [\ + ["npm:1.0.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/which-collection-npm-1.0.2-0d6277e921-10.zip/node_modules/which-collection/",\ + "packageDependencies": [\ + ["which-collection", "npm:1.0.2"],\ + ["is-map", "npm:2.0.3"],\ + ["is-set", "npm:2.0.3"],\ + ["is-weakmap", "npm:2.0.2"],\ + ["is-weakset", "npm:2.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["which-typed-array", [\ + ["npm:1.1.19", {\ + "packageLocation": "../../../../.yarn/berry/cache/which-typed-array-npm-1.1.19-e664d1e89c-10.zip/node_modules/which-typed-array/",\ + "packageDependencies": [\ + ["which-typed-array", "npm:1.1.19"],\ + ["available-typed-arrays", "npm:1.0.7"],\ + ["call-bind", "npm:1.0.8"],\ + ["call-bound", "npm:1.0.4"],\ + ["for-each", "npm:0.3.5"],\ + ["get-proto", "npm:1.0.1"],\ + ["gopd", "npm:1.2.0"],\ + ["has-tostringtag", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["word-wrap", [\ + ["npm:1.2.5", {\ + "packageLocation": "../../../../.yarn/berry/cache/word-wrap-npm-1.2.5-42d00c4b09-10.zip/node_modules/word-wrap/",\ + "packageDependencies": [\ + ["word-wrap", "npm:1.2.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["wrap-ansi", [\ + ["npm:7.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/wrap-ansi-npm-7.0.0-ad6e1a0554-10.zip/node_modules/wrap-ansi/",\ + "packageDependencies": [\ + ["wrap-ansi", "npm:7.0.0"],\ + ["ansi-styles", "npm:4.3.0"],\ + ["string-width", "npm:4.2.3"],\ + ["strip-ansi", "npm:6.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:8.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/wrap-ansi-npm-8.1.0-26a4e6ae28-10.zip/node_modules/wrap-ansi/",\ + "packageDependencies": [\ + ["wrap-ansi", "npm:8.1.0"],\ + ["ansi-styles", "npm:6.2.1"],\ + ["string-width", "npm:5.1.2"],\ + ["strip-ansi", "npm:7.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["wrappy", [\ + ["npm:1.0.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/wrappy-npm-1.0.2-916de4d4b3-10.zip/node_modules/wrappy/",\ + "packageDependencies": [\ + ["wrappy", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["write-file-atomic", [\ + ["npm:4.0.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/write-file-atomic-npm-4.0.2-661baae4aa-10.zip/node_modules/write-file-atomic/",\ + "packageDependencies": [\ + ["write-file-atomic", "npm:4.0.2"],\ + ["imurmurhash", "npm:0.1.4"],\ + ["signal-exit", "npm:3.0.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["y18n", [\ + ["npm:5.0.8", {\ + "packageLocation": "../../../../.yarn/berry/cache/y18n-npm-5.0.8-5f3a0a7e62-10.zip/node_modules/y18n/",\ + "packageDependencies": [\ + ["y18n", "npm:5.0.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["yallist", [\ + ["npm:3.1.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/yallist-npm-3.1.1-a568a556b4-10.zip/node_modules/yallist/",\ + "packageDependencies": [\ + ["yallist", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/yallist-npm-4.0.0-b493d9e907-10.zip/node_modules/yallist/",\ + "packageDependencies": [\ + ["yallist", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.0.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/yallist-npm-5.0.0-8732dd9f1c-10.zip/node_modules/yallist/",\ + "packageDependencies": [\ + ["yallist", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["yargs", [\ + ["npm:17.7.2", {\ + "packageLocation": "../../../../.yarn/berry/cache/yargs-npm-17.7.2-80b62638e1-10.zip/node_modules/yargs/",\ + "packageDependencies": [\ + ["yargs", "npm:17.7.2"],\ + ["cliui", "npm:8.0.1"],\ + ["escalade", "npm:3.2.0"],\ + ["get-caller-file", "npm:2.0.5"],\ + ["require-directory", "npm:2.1.1"],\ + ["string-width", "npm:4.2.3"],\ + ["y18n", "npm:5.0.8"],\ + ["yargs-parser", "npm:21.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["yargs-parser", [\ + ["npm:21.1.1", {\ + "packageLocation": "../../../../.yarn/berry/cache/yargs-parser-npm-21.1.1-8fdc003314-10.zip/node_modules/yargs-parser/",\ + "packageDependencies": [\ + ["yargs-parser", "npm:21.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["yocto-queue", [\ + ["npm:0.1.0", {\ + "packageLocation": "../../../../.yarn/berry/cache/yocto-queue-npm-0.1.0-c6c9a7db29-10.zip/node_modules/yocto-queue/",\ + "packageDependencies": [\ + ["yocto-queue", "npm:0.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]]\ + ]\ +}'; + +function $$SETUP_STATE(hydrateRuntimeState, basePath) { + return hydrateRuntimeState(JSON.parse(RAW_RUNTIME_STATE), {basePath: basePath || __dirname}); +} + +const fs = require('fs'); +const path = require('path'); +const crypto = require('crypto'); +const os = require('os'); +const events = require('events'); +const nodeUtils = require('util'); +const stream = require('stream'); +const zlib = require('zlib'); +const require$$0 = require('module'); +const StringDecoder = require('string_decoder'); +const url = require('url'); +const buffer = require('buffer'); +const readline = require('readline'); +const assert = require('assert'); + +const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e }; + +function _interopNamespace(e) { + if (e && e.__esModule) return e; + const n = Object.create(null); + if (e) { + for (const k in e) { + if (k !== 'default') { + const d = Object.getOwnPropertyDescriptor(e, k); + Object.defineProperty(n, k, d.get ? d : { + enumerable: true, + get: () => e[k] + }); + } + } + } + n.default = e; + return Object.freeze(n); +} + +const fs__default = /*#__PURE__*/_interopDefaultLegacy(fs); +const path__default = /*#__PURE__*/_interopDefaultLegacy(path); +const nodeUtils__namespace = /*#__PURE__*/_interopNamespace(nodeUtils); +const zlib__default = /*#__PURE__*/_interopDefaultLegacy(zlib); +const require$$0__default = /*#__PURE__*/_interopDefaultLegacy(require$$0); +const StringDecoder__default = /*#__PURE__*/_interopDefaultLegacy(StringDecoder); +const buffer__default = /*#__PURE__*/_interopDefaultLegacy(buffer); +const assert__default = /*#__PURE__*/_interopDefaultLegacy(assert); + +const S_IFMT = 61440; +const S_IFDIR = 16384; +const S_IFREG = 32768; +const S_IFLNK = 40960; +const SAFE_TIME = 456789e3; + +function makeError$1(code, message) { + return Object.assign(new Error(`${code}: ${message}`), { code }); +} +function EBUSY(message) { + return makeError$1(`EBUSY`, message); +} +function ENOSYS(message, reason) { + return makeError$1(`ENOSYS`, `${message}, ${reason}`); +} +function EINVAL(reason) { + return makeError$1(`EINVAL`, `invalid argument, ${reason}`); +} +function EBADF(reason) { + return makeError$1(`EBADF`, `bad file descriptor, ${reason}`); +} +function ENOENT(reason) { + return makeError$1(`ENOENT`, `no such file or directory, ${reason}`); +} +function ENOTDIR(reason) { + return makeError$1(`ENOTDIR`, `not a directory, ${reason}`); +} +function EISDIR(reason) { + return makeError$1(`EISDIR`, `illegal operation on a directory, ${reason}`); +} +function EEXIST(reason) { + return makeError$1(`EEXIST`, `file already exists, ${reason}`); +} +function EROFS(reason) { + return makeError$1(`EROFS`, `read-only filesystem, ${reason}`); +} +function ENOTEMPTY(reason) { + return makeError$1(`ENOTEMPTY`, `directory not empty, ${reason}`); +} +function EOPNOTSUPP(reason) { + return makeError$1(`EOPNOTSUPP`, `operation not supported, ${reason}`); +} +function ERR_DIR_CLOSED() { + return makeError$1(`ERR_DIR_CLOSED`, `Directory handle was closed`); +} + +const DEFAULT_MODE = S_IFREG | 420; +class StatEntry { + uid = 0; + gid = 0; + size = 0; + blksize = 0; + atimeMs = 0; + mtimeMs = 0; + ctimeMs = 0; + birthtimeMs = 0; + atime = /* @__PURE__ */ new Date(0); + mtime = /* @__PURE__ */ new Date(0); + ctime = /* @__PURE__ */ new Date(0); + birthtime = /* @__PURE__ */ new Date(0); + dev = 0; + ino = 0; + mode = DEFAULT_MODE; + nlink = 1; + rdev = 0; + blocks = 1; + isBlockDevice() { + return false; + } + isCharacterDevice() { + return false; + } + isDirectory() { + return (this.mode & S_IFMT) === S_IFDIR; + } + isFIFO() { + return false; + } + isFile() { + return (this.mode & S_IFMT) === S_IFREG; + } + isSocket() { + return false; + } + isSymbolicLink() { + return (this.mode & S_IFMT) === S_IFLNK; + } +} +class BigIntStatsEntry { + uid = BigInt(0); + gid = BigInt(0); + size = BigInt(0); + blksize = BigInt(0); + atimeMs = BigInt(0); + mtimeMs = BigInt(0); + ctimeMs = BigInt(0); + birthtimeMs = BigInt(0); + atimeNs = BigInt(0); + mtimeNs = BigInt(0); + ctimeNs = BigInt(0); + birthtimeNs = BigInt(0); + atime = /* @__PURE__ */ new Date(0); + mtime = /* @__PURE__ */ new Date(0); + ctime = /* @__PURE__ */ new Date(0); + birthtime = /* @__PURE__ */ new Date(0); + dev = BigInt(0); + ino = BigInt(0); + mode = BigInt(DEFAULT_MODE); + nlink = BigInt(1); + rdev = BigInt(0); + blocks = BigInt(1); + isBlockDevice() { + return false; + } + isCharacterDevice() { + return false; + } + isDirectory() { + return (this.mode & BigInt(S_IFMT)) === BigInt(S_IFDIR); + } + isFIFO() { + return false; + } + isFile() { + return (this.mode & BigInt(S_IFMT)) === BigInt(S_IFREG); + } + isSocket() { + return false; + } + isSymbolicLink() { + return (this.mode & BigInt(S_IFMT)) === BigInt(S_IFLNK); + } +} +function makeDefaultStats() { + return new StatEntry(); +} +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__namespace.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__namespace.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; +} + +const PortablePath = { + root: `/`, + dot: `.`, + parent: `..` +}; +const 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` +}; +const npath = Object.create(path__default.default); +const 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); + } + }; +} +const 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); +const WINDOWS_PATH_REGEXP = /^([a-zA-Z]:.*)$/; +const UNC_WINDOWS_PATH_REGEXP = /^\/\/(\.\/)?(.*)$/; +const PORTABLE_PATH_REGEXP = /^\/([a-zA-Z]:.*)$/; +const 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; +} +const toPortablePath = process.platform === `win32` ? toPortablePathWin32 : (p) => p; +const fromPortablePath = process.platform === `win32` ? fromPortablePathWin32 : (p) => p; +npath.fromPortablePath = fromPortablePath; +npath.toPortablePath = toPortablePath; +function convertPath(targetPathUtils, sourcePath) { + return targetPathUtils === npath ? fromPortablePath(sourcePath) : toPortablePath(sourcePath); +} + +const defaultTime = new Date(SAFE_TIME * 1e3); +const 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 /* 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 = 0 /* Lock */; + indexStat = null; + } + } + if (!isDestinationHardlinkedFromIndex) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + } + const tempPath = !indexStat && atomicBehavior === 1 /* Rename */ ? `${indexPath}.${Math.floor(Math.random() * 4294967296).toString(16).padStart(8, `0`)}` : null; + let tempPathCleaned = false; + prelayout.push(async () => { + if (!indexStat) { + if (atomicBehavior === 0 /* Lock */) { + await destinationFs.lockPromise(indexPath, async () => { + const content = await sourceFs.readFilePromise(source); + await destinationFs.writeFilePromise(indexPath, content); + }); + } + if (atomicBehavior === 1 /* 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(convertPath(destinationFs.pathUtils, await sourceFs.readlinkPromise(source)), destination); + }); + return true; +} + +class CustomDir { + constructor(path, nextDirent, opts = {}) { + this.path = path; + this.nextDirent = nextDirent; + this.opts = opts; + } + closed = false; + throwIfClosed() { + if (this.closed) { + throw 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; + } +} +function opendir(fakeFs, path, entries, opts) { + const nextDirent = () => { + const filename = entries.shift(); + if (typeof filename === `undefined`) + return null; + const entryPath = fakeFs.pathUtils.join(path, filename); + return Object.assign(fakeFs.statSync(entryPath), { + name: filename, + path: void 0 + }); + }; + return new CustomDir(path, nextDirent, opts); +} + +function assertStatus(current, expected) { + if (current !== expected) { + throw new Error(`Invalid StatWatcher status: expected '${expected}', got '${current}'`); + } +} +class CustomStatWatcher extends events.EventEmitter { + fakeFs; + path; + bigint; + status = "ready" /* Ready */; + changeListeners = /* @__PURE__ */ new Map(); + lastStats; + startTimeout = null; + static create(fakeFs, path, opts) { + const statWatcher = new CustomStatWatcher(fakeFs, path, opts); + statWatcher.start(); + return statWatcher; + } + constructor(fakeFs, path, { bigint = false } = {}) { + super(); + this.fakeFs = fakeFs; + this.path = path; + this.bigint = bigint; + this.lastStats = this.stat(); + } + start() { + assertStatus(this.status, "ready" /* Ready */); + this.status = "running" /* Running */; + this.startTimeout = setTimeout(() => { + this.startTimeout = null; + if (!this.fakeFs.existsSync(this.path)) { + this.emit("change" /* Change */, this.lastStats, this.lastStats); + } + }, 3); + } + stop() { + assertStatus(this.status, "running" /* Running */); + this.status = "stopped" /* Stopped */; + if (this.startTimeout !== null) { + clearTimeout(this.startTimeout); + this.startTimeout = null; + } + this.emit("stop" /* Stop */); + } + stat() { + try { + return this.fakeFs.statSync(this.path, { bigint: this.bigint }); + } catch (error) { + const statInstance = this.bigint ? new BigIntStatsEntry() : new StatEntry(); + return 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 (areStatsEqual(currentStats, previousStats)) + return; + this.lastStats = currentStats; + this.emit("change" /* Change */, currentStats, previousStats); + }, opts.interval); + return opts.persistent ? interval : interval.unref(); + } + /** + * Registers a listener and assigns it an interval. + */ + registerChangeListener(listener, opts) { + this.addListener("change" /* Change */, listener); + this.changeListeners.set(listener, this.makeInterval(opts)); + } + /** + * Unregisters the listener and clears the assigned interval. + */ + unregisterChangeListener(listener) { + this.removeListener("change" /* 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; + } +} + +const statWatchersByFakeFS = /* @__PURE__ */ new WeakMap(); +function watchFile(fakeFs, path, 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(path); + if (typeof statWatcher === `undefined`) { + statWatcher = CustomStatWatcher.create(fakeFs, path, { bigint }); + statWatchers.set(path, statWatcher); + } + statWatcher.registerChangeListener(listener, { persistent, interval }); + return statWatcher; +} +function unwatchFile(fakeFs, path, cb) { + const statWatchers = statWatchersByFakeFS.get(fakeFs); + if (typeof statWatchers === `undefined`) + return; + const statWatcher = statWatchers.get(path); + if (typeof statWatcher === `undefined`) + return; + if (typeof cb === `undefined`) + statWatcher.unregisterAllChangeListeners(); + else + statWatcher.unregisterChangeListener(cb); + if (!statWatcher.hasChangeListeners()) { + statWatcher.stop(); + statWatchers.delete(path); + } +} +function unwatchAllFiles(fakeFs) { + const statWatchers = statWatchersByFakeFS.get(fakeFs); + if (typeof statWatchers === `undefined`) + return; + for (const path of statWatchers.keys()) { + unwatchFile(fakeFs, path); + } +} + +class FakeFS { + 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(path, { algorithm = `sha512` } = {}) { + const fd = await this.openPromise(path, `r`); + try { + const CHUNK_SIZE = 65536; + const chunk = Buffer.allocUnsafeSlow(CHUNK_SIZE); + const hash = crypto.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 result = await cb(); + if (typeof result !== `undefined`) + p = result; + await this.lutimesPromise(p, stat.atime, stat.mtime); + } + async preserveTimeSync(p, cb) { + const stat = this.lstatSync(p); + const result = cb(); + if (typeof result !== `undefined`) + p = result; + this.lutimesSync(p, stat.atime, stat.mtime); + } +} +class BasePortableFakeFS 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)); +} + +class ProxiedFS extends FakeFS { + getExtractHint(hints) { + return this.baseFs.getExtractHint(hints); + } + resolve(path) { + return this.mapFromBase(this.baseFs.resolve(this.mapToBase(path))); + } + 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; +} +class NodeFS 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((path) => { + return npath.toPortablePath(path); + }); + } + 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((path) => { + return npath.toPortablePath(path); + }); + } + 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, result) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }; + } +} + +const MOUNT_MASK = 4278190080; +class MountFS extends BasePortableFakeFS { + baseFs; + mountInstances; + fdMap = /* @__PURE__ */ new Map(); + nextFd = 3; + factoryPromise; + factorySync; + filter; + getMountPoint; + magic; + maxAge; + maxOpenFiles; + typeCheck; + isMount = /* @__PURE__ */ new Set(); + notMount = /* @__PURE__ */ new Set(); + realPaths = /* @__PURE__ */ new Map(); + constructor({ baseFs = new NodeFS(), filter = null, magicByte = 42, maxOpenFiles = Infinity, useCache = true, maxAge = 5e3, typeCheck = fs.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.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() { + unwatchAllFiles(this); + if (this.mountInstances) { + for (const [path, { childFs }] of this.mountInstances.entries()) { + childFs.saveAndClose?.(); + this.mountInstances.delete(path); + } + } + } + discardAndClose() { + unwatchAllFiles(this); + if (this.mountInstances) { + for (const [path, { childFs }] of this.mountInstances.entries()) { + childFs.discardAndClose?.(); + this.mountInstances.delete(path); + } + } + } + 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 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 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 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 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 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 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 = 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(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(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 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 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 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 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 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 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.constants.COPYFILE_FICLONE_FORCE) !== 0) + throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP2}' -> ${destP2}'`), { code: `EXDEV` }); + if (flags & fs.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 (error) { + 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.constants.COPYFILE_FICLONE_FORCE) !== 0) + throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP2}' -> ${destP2}'`), { code: `EXDEV` }); + if (flags & fs.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 (error) { + 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 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 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 watchFile(this, p, a, b); + }); + } + unwatchFile(p, cb) { + return this.makeCallSync(p, () => { + return this.baseFs.unwatchFile(p, cb); + }, () => { + return 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.lstatSync(filePath).mode & fs.constants.S_IFMT) !== this.typeCheck) { + this.notMount.add(filePath); + continue; + } + } catch { + return null; + } + this.isMount.add(filePath); + } + return { + archivePath: filePath, + subPath: this.pathUtils.join(PortablePath.root, p.substring(filePath.length)) + }; + } + } + limitOpenFilesTimeout = null; + 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 [path, { childFs, expiresAt, refCount }] of this.mountInstances.entries()) { + if (refCount !== 0 || childFs.hasOpenFileHandles?.()) { + continue; + } else if (now >= expiresAt) { + childFs.saveAndClose?.(); + this.mountInstances.delete(path); + closeCount -= 1; + continue; + } else if (max === null || closeCount <= 0) { + nextExpiresAt = expiresAt; + break; + } + childFs.saveAndClose?.(); + this.mountInstances.delete(path); + 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?.(); + } + } + } +} + +class PosixFS extends ProxiedFS { + baseFs; + constructor(baseFs) { + super(npath); + this.baseFs = baseFs; + } + mapFromBase(path) { + return npath.fromPortablePath(path); + } + mapToBase(path) { + return npath.toPortablePath(path); + } +} + +const NUMBER_REGEXP = /^[0-9]+$/; +const VIRTUAL_REGEXP = /^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/; +const VALID_COMPONENT = /^([^/]+-)?[a-f0-9]+$/; +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; + } +} + +const URL = Number(process.versions.node.split('.', 1)[0]) < 20 ? url.URL : globalThis.URL; + +class NodePathFS extends ProxiedFS { + baseFs; + constructor(baseFs) { + super(npath); + this.baseFs = baseFs; + } + mapFromBase(path) { + return path; + } + mapToBase(path) { + if (typeof path === `string`) + return path; + if (path instanceof URL) + return url.fileURLToPath(path); + if (Buffer.isBuffer(path)) { + const str = path.toString(); + if (!isUtf8(path, 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: ${nodeUtils.inspect(path)}`); + } +} +function isUtf8(buf, str) { + if (typeof buffer__default.default.isUtf8 !== `undefined`) + return buffer__default.default.isUtf8(buf); + return Buffer.byteLength(str) === buf.byteLength; +} + +const kBaseFs = Symbol(`kBaseFs`); +const kFd = Symbol(`kFd`); +const kClosePromise = Symbol(`kClosePromise`); +const kCloseResolve = Symbol(`kCloseResolve`); +const kCloseReject = Symbol(`kCloseReject`); +const kRefs = Symbol(`kRefs`); +const kRef = Symbol(`kRef`); +const kUnref = Symbol(`kUnref`); +class FileHandle { + [kBaseFs]; + [kFd]; + [kRefs] = 1; + [kClosePromise] = void 0; + [kCloseResolve] = void 0; + [kCloseReject] = void 0; + constructor(fd, baseFs) { + 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 readline.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]; + } + [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]); + } + } +} + +const 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` +]); +const 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(fakeFs); + const setupFn = (target, name, replacement) => { + const orig = target[name]; + target[name] = replacement; + if (typeof orig?.[nodeUtils.promisify.custom] !== `undefined`) { + replacement[nodeUtils.promisify.custom] = orig[nodeUtils.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((result) => { + callback(null, result); + }, (error) => { + callback(error); + }); + }); + }; + setupFn(patchedFs, origName, wrapper); + } + patchedFs.realpath.native = patchedFs.realpath; + } + { + setupFn(patchedFs, `existsSync`, (p) => { + try { + return fakeFs.existsSync(p); + } catch (error) { + 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) { + 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(fd, fakeFs); + }); + } + { + patchedFs.read[nodeUtils.promisify.custom] = async (fd, buffer, ...args) => { + const res = fakeFs.readPromise(fd, buffer, ...args); + return { bytesRead: await res, buffer }; + }; + patchedFs.write[nodeUtils.promisify.custom] = async (fd, buffer, ...args) => { + const res = fakeFs.writePromise(fd, buffer, ...args); + return { bytesWritten: await res, buffer }; + }; + } +} + +let cachedInstance; +let 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 cachedInstance === `undefined`) + cachedInstance = registeredFactory(); + return cachedInstance; +} + +var libzipSync = {exports: {}}; + +(function (module, exports) { +var frozenFs = Object.assign({}, fs__default.default); +var createModule = function() { + var _scriptDir = void 0; + if (typeof __filename !== "undefined") _scriptDir = _scriptDir || __filename; + return function(createModule2) { + createModule2 = createModule2 || {}; + 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 scriptDirectory = ""; + function locateFile(path) { + if (Module["locateFile"]) { + return Module["locateFile"](path, scriptDirectory); + } + return scriptDirectory + path; + } + var read_, readBinary; + var nodeFS; + var nodePath; + { + { + scriptDirectory = __dirname + "/"; + } + read_ = function shell_read(filename, binary) { + var ret = tryParseAsDataURI(filename); + if (ret) { + return binary ? ret : ret.toString(); + } + if (!nodeFS) nodeFS = frozenFs; + if (!nodePath) nodePath = path__default.default; + filename = nodePath["normalize"](filename); + return nodeFS["readFileSync"](filename, binary ? null : "utf8"); + }; + readBinary = function readBinary2(filename) { + var ret = read_(filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret); + } + assert(ret.buffer); + return ret; + }; + if (process["argv"].length > 1) { + process["argv"][1].replace(/\\/g, "/"); + } + process["argv"].slice(2); + Module["inspect"] = function() { + return "[Emscripten Module object]"; + }; + } + 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"]) ; + if (Module["thisProgram"]) ; + if (Module["quit"]) ; + var wasmBinary; + if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"]; + 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; + 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 ret2 = 0; + if (str !== null && str !== void 0 && str !== 0) { + var len = (str.length << 2) + 1; + ret2 = stackAlloc(len); + stringToUTF8(str, ret2, len); + } + return ret2; + }, + array: function(arr) { + var ret2 = stackAlloc(arr.length); + writeArrayToMemory(arr, ret2); + return ret2; + } + }; + function convertReturnValue(ret2) { + if (returnType === "string") return UTF8ToString(ret2); + if (returnType === "boolean") return Boolean(ret2); + return ret2; + } + 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 ret = func.apply(null, cArgs); + ret = convertReturnValue(ret); + if (stack !== 0) stackRestore(stack); + return ret; + } + 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); + }; + } + 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 ret = _malloc(size); + if (ret) stringToUTF8Array(str, HEAP8, ret, size); + return ret; + } + 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; + 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"] = new Int16Array(buf); + Module["HEAP32"] = new Int32Array(buf); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf); + Module["HEAPU16"] = new Uint16Array(buf); + Module["HEAPU32"] = new Uint32Array(buf); + Module["HEAPF32"] = new Float32Array(buf); + Module["HEAPF64"] = new Float64Array(buf); + } + Module["INITIAL_MEMORY"] || 16777216; + var wasmTable; + var __ATPRERUN__ = []; + var __ATINIT__ = []; + var __ATPOSTRUN__ = []; + 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() { + 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 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 (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; + 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,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QCAAKAJIIgEgASADaiADEAcaAkAgAyAAKAJsIgFNBEAgACABIANrNgJsDAELIABCADcCbAsgACAAKAJoIANrIgE2AmggACAAKAJYIANrNgJYIAEgACgChC5JBEAgACABNgKELgsgAEH8gAEoAgARAwAgAiADaiECCwJAIAAoAgAiASgCBCIERQ0AIAAoAjwhBSAAIAIgBCACIARJGyICBH8gACgCSCAAKAJoaiAFaiEFIAEgBCACazYCBAJAAkACQAJAIAEoAhwiBCgCFEEBaw4CAQACCyAEQaABaiAFIAEoAgAgAkHcgAEoAgARCAAMAgsgASABKAIwIAUgASgCACACQcSAASgCABEEADYCMAwBCyAFIAEoAgAgAhAHGgsgASABKAIAIAJqNgIAIAEgASgCCCACajYCCCAAKAI8BSAFCyACaiICNgI8AkAgACgChC4iASACakEDSQ0AIAAoAmggAWshAQJAIAAoAnRBgQhPBEAgACAAIAAoAkggAWoiAi0AACACLQABIAAoAnwRAAA2AlQMAQsgAUUNACAAIAFBAWsgACgChAERAgAaCyAAKAKELiAAKAI8IgJBAUZrIgRFDQAgACABIAQgACgCgAERBQAgACAAKAKELiAEazYChC4gACgCPCECCyACQYUCSw0AIAAoAgAoAgRFDQAgACgCMCEBDAELCwJAIAAoAkQiAiAAKAJAIgNNDQAgAAJ/IAAoAjwgACgCaGoiASADSwRAIAAoAkggAWpBACACIAFrIgNBggIgA0GCAkkbIgMQGSABIANqDAELIAFBggJqIgEgA00NASAAKAJIIANqQQAgAiADayICIAEgA2siAyACIANJGyIDEBkgACgCQCADags2AkALC50CAQF/AkAgAAJ/IAAoAqAuIgFBwABGBEAgACgCBCAAKAIQaiAAKQOYLjcAACAAQgA3A5guIAAgACgCEEEIajYCEEEADAELIAFBIE4EQCAAKAIEIAAoAhBqIAApA5guPgAAIAAgAEGcLmo1AgA3A5guIAAgACgCEEEEajYCECAAIAAoAqAuQSBrIgE2AqAuCyABQRBOBEAgACgCBCAAKAIQaiAAKQOYLj0AACAAIAAoAhBBAmo2AhAgACAAKQOYLkIQiDcDmC4gACAAKAKgLkEQayIBNgKgLgsgAUEISA0BIAAgACgCECIBQQFqNgIQ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KAJUIgEEfyABQQAgARAiEBkgACgCVAVBAAsQBiAAQQA2AlQLC9wMAgl/AX4jAEFAaiIGJAACQAJAAkACQAJAIAEoAjBBABAjIgVBAkZBACABKAI4QQAQIyIEQQFGGw0AIAVBAUZBACAEQQJGGw0AIAVBAkciAw0BIARBAkcNAQsgASABLwEMQYAQcjsBDEEAIQMMAQsgASABLwEMQf/vA3E7AQxBACEFIANFBEBB9eABIAEoAjAgAEEIahBpIgVFDQILIAJBgAJxBEAgBSEDDAELIARBAkcEQCAFIQMMAQtB9cYBIAEoAjggAEEIahBpIgNFBEAgBRAcDAILIAMgBTYCAAsgASABLwEMQf7/A3EgAS8BUiIFQQBHcjsBDAJAAkACQAJAAn8CQAJAIAEpAyhC/v///w9WDQAgASkDIEL+////D1YNACACQYAEcUUNASABKQNIQv////8PVA0BCyAFQYECa0H//wNxQQNJIQdBAQwBCyAFQYECa0H//wNxIQQgAkGACnFBgApHDQEgBEEDSSEHQQALIQkgBkIcEBciBEUEQCAAQQhqIgAEQCAAQQA2AgQgAEEONgIACyADEBwMBQsgAkGACHEhBQJAAkAgAkGAAnEEQAJAIAUNACABKQMgQv////8PVg0AIAEpAyhCgICAgBBUDQMLIAQgASkDKBAYIAEpAyAhDAwBCwJAAkACQCAFDQAgASkDIEL/////D1YNACABKQMoIgxC/////w9WDQEgASkDSEKAgICAEFQNBAsgASkDKCIMQv////8PVA0BCyAEIAwQGAsgASkDICIMQv////8PWgRAIAQgDBAYCyABKQNIIgxC/////w9UDQELIAQgDBAYCyAELQAARQRAIABBCGoiAARAIABBADYCBCAAQRQ2AgALIAQQCCADEBwMBQtBASEKQQEgBC0AAAR+IAQpAxAFQgALp0H//wNxIAYQRyEFIAQQCCAFIAM2AgAgBw0BDAILIAMhBSAEQQJLDQELIAZCBxAXIgRFBEAgAEEIaiIABEAgAEEANgIEIABBDjYCAAsgBRAcDAMLIARBAhANIARBhxJBAhAsIAQgAS0AUhBwIAQgAS8BEBANIAQtAABFBEAgAEEIaiIABEAgAEEANgIEIABBFDYCAAsgBBAIDAILQYGyAkEHIAYQRyEDIAQQCCADIAU2AgBBASEL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NgIEIABB7A42AhggGiEdDAMLIARB/wFxIgJBwABxRQRAIAggDSADLwECQQJ0aiAdp0F/IAJ0QX9zcUECdGoiAy0AASICayEIIB0gAq2IIR0gAy0AACIERQ0HDAELCyAEQSBxBEAgB0G//gA2AgQgASECDAgLIAdB0f4ANgIEIABB0A42AhggASECDAcLIB1BfyAGdEF/c62DIBt8IhunIQUgCCAEQQ9xIgNrIQggGiAErUIPg4ghHSABIBdrIgYgAjMBAiAaQX8gA3RBf3Otg3ynIgRPDQIgBCAGayIGIBlNDQEgBygCjEdFDQEgB0HR/gA2AgQgAEG5DDYCGAsgASECIAshBQwFCwJAIA5FBEAgDCARIAZraiEDDAELIAYgDk0EQCAMIA4gBmtqIQMMAQsgDCARIAYgDmsiBmtqIQMgBSAGTQ0AIAUgBmshBQJAAkAgASADTSABIA8gAWusIhogBq0iGyAaIBtUGyIapyIGaiICIANLcQ0AIAMgBmogAUsgASADT3ENACABIAMgBhAHGiACIQEMAQsgASADIAMgAWsiASABQR91IgFqIAFzIgIQByACaiEBIBogAq0iHn0iHFANACACIANqIQIDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgASACKQAANwAAIAEgAikAGDcAGCABIAIpABA3ABAgASACKQAINwAIIBpCIH0hGiACQSBqIQIgAUEgaiEBIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAEgAikAADcAACABIAIpABg3ABggASACKQAQNwAQIAEgAikACDcACCABIAIpADg3ADggASACKQAwNwAwIAEgAikAKDcAKCABIAIpACA3ACAgASACKQBYNwBYIAEgAikAUDcAUCABIAIpAEg3AEggASACKQBANwBAIAEgAikAYDcAYCABIAIpAGg3AGggASACKQBwNwBwIAEgAikAeDcAeCACQYABaiECIAFBgAFqIQEgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAEgAikAADcAACABIAIpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCABIAIpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCABIAIoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCABIAIvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCABIAItAAA6AAAgAkEBaiECIAFBAWohAQsgHEIAUg0ACwsgDiEGIAwhAwsgBSAGSwRAAkACQCABIANNIAEgDyABa6wiGiAGrSIbIBogG1QbIhqnIglqIgIgA0txDQAgAyAJaiABSyABIANPcQ0AIAEgAyAJEAcaDAELIAEgAyADIAFrIgEgAUEfdSIBaiABcyIBEAcgAWohAiAaIAGtIh59IhxQDQAgASADaiEBA0ACQCAcIB4gHCAeVBsiG0IgVARAIBshGgwBCyAbIhpCIH0iIEIFiEIBfEIDgyIfUEUEQANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCAaQiB9IRogAUEgaiEBIAJBIGohAiAfQgF9Ih9CAFINAAsLICBC4ABUDQADQCACIAEpAAA3AAAgAiABKQAYNwAYIAIgASkAEDcAECACIAEpAAg3AAggAiABKQA4NwA4IAIgASkAMDcAMCACIAEpACg3ACggAiABKQAgNwAgIAIgASkAWDcAWCACIAEpAFA3AFAgAiABKQBINwBIIAIgASkAQDcAQCACIAEpAGA3AGAgAiABKQBoNwBoIAIgASkAcDcAcCACIAEpAHg3AHggAUGAAWohASACQYABaiECIBpCgAF9IhpCH1YNAAsLIBpCEFoEQCACIAEpAAA3AAAgAiABKQAINwAIIBpCEH0hGiACQRBqIQIgAUEQaiEBCyAaQghaBEAgAiABKQAANwAAIBpCCH0hGiACQQhqIQIgAUEIaiEBCyAaQgRaBEAgAiABKAAANgAAIBpCBH0hGiACQQRqIQIgAUEEaiEBCyAaQgJaBEAgAiABLwAAOwAAIBpCAn0hGiACQQJqIQIgAUECaiEBCyAcIBt9IRwgGlBFBEAgAiABLQAAOgAAIAJBAWohAiABQQFqIQELIBxCAFINAAsLIAUgBmshAUEAIARrIQUCQCAEQQdLBEAgBCEDDAELIAEgBE0EQCAEIQMMAQsgAiAEayEFA0ACQCACIAUpAAA3AAAgBEEBdCEDIAEgBGshASACIARqIQIgBEEDSw0AIAMhBCABIANLDQELC0EAIANrIQULIAIgBWohBAJAIAUgDyACa6wiGiABrSIbIBogG1QbIhqnIgFIIAVBf0pxDQAgBUEBSCABIARqIAJLcQ0AIAIgBCABEAcgAWohAgwDCyACIAQgAyADQR91IgFqIAFzIgEQByABaiECIBogAa0iHn0iHFANAiABIARqIQEDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIBpCIH0hGiABQSBqIQEgAkEgaiECIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCACIAEpADg3ADggAiABKQAwNwAwIAIgASkAKDcAKCACIAEpACA3ACAgAiABKQBYNwBYIAIgASkAUDcAUCACIAEpAEg3AEggAiABKQBANwBAIAIgASkAYDcAYCACIAEpAGg3AGggAiABKQBwNwBwIAIgASkAeDcAeCABQYABaiEBIAJBgAFqIQIgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAIgASkAADcAACACIAEpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCACIAEpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCACIAEoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCACIAEvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCACIAEtAAA6AAAgAkEBaiECIAFBAWohAQsgHFBFDQALDAILAkAgASADTSABIA8gAWusIhogBa0iGyAaIBtUGyIapyIEaiICIANLcQ0AIAMgBGogAUsgASADT3ENACABIAMgBBAHGgwCCyABIAMgAyABayIBIAFBH3UiAWogAXMiARAHIAFqIQIgGiABrSIefSIcUA0BIAEgA2ohAQNAAkAgHCAeIBwgHlQbIhtCIFQEQCAbIRoMAQsgGyIaQiB9IiBCBYhCAXxCA4MiH1BFBEADQCACIAEpAAA3AAAgAiABKQAYNwAYIAIgASkAEDcAECACIAEpAAg3AAggGkIgfSEaIAFBIGohASACQSBqIQIgH0IBfSIfQgBSDQALCyAgQuAAVA0AA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIAIgASkAODcAOCACIAEpADA3ADAgAiABKQAoNwAoIAIgASkAIDcAICACIAEpAFg3AFggAiABKQBQNwBQIAIgASkASDcASCACIAEpAEA3AEAgAiABKQBgNwBgIAIgASkAaDcAaCACIAEpAHA3AHAgAiABKQB4NwB4IAFBgAFqIQEgAkGAAWohAiAaQoABfSIaQh9WDQALCyAaQhBaBEAgAiABKQAANwAAIAIgASkACDcACCAaQhB9IRogAkEQaiECIAFBEGohAQsgGkIIWgRAIAIgASkAADcAACAaQgh9IRogAkEIaiECIAFBCGohAQsgGkIEWgRAIAIgASgAADYAACAaQgR9IRogAkEEaiECIAFBBGohAQsgGkICWgRAIAIgAS8AADsAACAaQgJ9IRogAkECaiECIAFBAmohAQsgHCAbfSEcIBpQRQRAIAIgAS0AADoAACACQQFqIQIgAUEBaiEBCyAcUEUNAAsMAQsCQAJAIBYEQAJAIAQgBUkEQCAHKAKYRyAESw0BCyABIARrIQMCQEEAIARrIgVBf0ogDyABa6wiGiAbIBogG1QbIhqnIgIgBUpxDQAgBUEBSCACIANqIAFLcQ0AIAEgAyACEAcgAmohAgwFCyABIAMgBCAEQR91IgFqIAFzIgEQByABaiECIBogAa0iHn0iHFANBCABIANqIQEDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIBpCIH0hGiABQSBqIQEgAkEgaiECIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCACIAEpADg3ADggAiABKQAwNwAwIAIgASkAKDcAKCACIAEpACA3ACAgAiABKQBYNwBYIAIgASkAUDcAUCACIAEpAEg3AEggAiABKQBANwBAIAIgASkAYDcAYCACIAEpAGg3AGggAiABKQBwNwBwIAIgASkAeDcAeCABQYABaiEBIAJBgAFqIQIgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAIgASkAADcAACACIAEpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCACIAEpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCACIAEoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCACIAEvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCACIAEtAAA6AAAgAkEBaiECIAFBAWohAQsgHFBFDQALDAQLIBAgAWsiCUEBaiIGIAUgBSAGSxshAyABIARrIQIgAUEHcUUNAiADRQ0CIAEgAi0AADoAACACQQFqIQIgAUEBaiIGQQdxQQAgA0EBayIFGw0BIAYhASAFIQMgCSEGDAILAkAgBCAFSQRAIAcoAphHIARLDQELIAEgASAEayIGKQAANwAAIAEgBUEBa0EHcUEBaiIDaiECIAUgA2siBEUNAyADIAZqIQEDQCACIAEpAAA3AAAgAUEIaiEBIAJBCGohAiAEQQhrIgQNAAsMAwsgASAEIAUQPyECDAILIAEgAi0AADoAASAJQQFrIQYgA0ECayEFIAJBAWohAgJAIAFBAmoiCkEHcUUNACAFRQ0AIAEgAi0AADoAAiAJQQJrIQYgA0EDayEFIAJBAWohAgJAIAFBA2oiCkEHcUUNACAFRQ0AIAEgAi0AADoAAyAJQQNrIQYgA0EEayEFIAJBAWohAgJAIAFBBGoiCkEHcUUNACAFRQ0AIAEgAi0AADoABCAJQQRrIQYgA0EFayEFIAJBAWohAgJAIAFBBWoiCkEHcUUNACAFRQ0AIAEgAi0AADoABSAJQQVrIQYgA0EGayEFIAJBAWohAgJAIAFBBmoiCkEHcUUNACAFRQ0AIAEgAi0AADoABiAJQQZrIQYgA0EHayEFIAJBAWohAgJAIAFBB2oiCkEHcUUNACAFRQ0AIAEgAi0AADoAByAJQQdrIQYgA0EIayEDIAFBCGohASACQQFqIQIMBgsgCiEBIAUhAwwFCyAKIQEgBSEDDAQLIAohASAFIQMMAwsgCiEBIAUhAwwCCyAKIQEgBSEDDAELIAohASAFIQMLAkACQCAGQRdNBEAgA0UNASADQQFrIQUgA0EHcSIEBEADQCABIAItAAA6AAAgA0EBayEDIAFBAWohASACQQFqIQIgBEEBayIEDQALCyAFQQdJDQEDQCABIAItAAA6AAAgASACLQABOgABIAEgAi0AAjoAAiABIAItAAM6AAMgASACLQAEOgAEIAEgAi0ABToABSABIAItAAY6AAYgASACLQAHOgAHIAFBCGohASACQQhqIQIgA0EIayIDDQALDAELIAMNAQsgASECDAELIAEgBCADED8hAgsgCyEFDAELIAEgAy0AAjoAACABQQFqIQILIAUgFE8NACACIBNJDQELCyAAIAI2AgwgACAFIAhBA3ZrIgE2AgAgACATIAJrQYMCajYCECAAIBQgAWtBDmo2AgQgByAIQQdxIgA2AogBIAcgHUJ/IACthkJ/hYM+AoQBC+cFAQR/IAMgAiACIANLGyEEIAAgAWshAgJAIABBB3FFDQAgBEUNACAAIAItAAA6AAAgA0EBayEGIAJBAWohAiAAQQFqIgdBB3FBACAEQQFrIgUbRQRAIAchACAFIQQgBiEDDAELIAAgAi0AADoAASADQQJrIQYgBEECayEFIAJBAWohAgJAIABBAmoiB0EHcUUNACAFRQ0AIAAgAi0AADoAAiADQQNrIQYgBEEDayEFIAJBAWohAgJAIABBA2oiB0EHcUUNACAFRQ0AIAAgAi0AADoAAyADQQRrIQYgBEEEayEFIAJBAWohAgJAIABBBGoiB0EHcUUNACAFRQ0AIAAgAi0AADoABCADQQVrIQYgBEEFayEFIAJBAWohAgJAIABBBWoiB0EHcUUNACAFRQ0AIAAgAi0AADoABSADQQZrIQYgBEEGayEFIAJBAWohAgJAIABBBmoiB0EHcUUNACAFRQ0AIAAgAi0AADoABiADQQdrIQYgBEEHayEFIAJBAWohAgJAIABBB2oiB0EHcUUNACAFRQ0AIAAgAi0AADoAByADQQhrIQMgBEEIayEEIABBCGohACACQQFqIQIMBgsgByEAIAUhBCAGIQMMBQsgByEAIAUhBCAGIQMMBAsgByEAIAUhBCAGIQMMAwsgByEAIAUhBCAGIQMMAgsgByEAIAUhBCAGIQMMAQsgByEAIAUhBCAGIQMLAkAgA0EXTQRAIARFDQEgBEEBayEBIARBB3EiAwRAA0AgACACLQAAOgAAIARBAWshBCAAQQFqIQAgAkEBaiECIANBAWsi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CyAAIAMtAAAEfiADKQMQBUIAC6dB//8DcSADKAIEEEcLIQUgAxAICyAEQRBqJAAgBQvgAQICfwF+QTAQCSICRQRAIAEEQCABQQA2AgQgAUEONgIAC0EADwsgAkIANwMIIAJBADYCACACQgA3AxAgAkIANwMYIAJCADcDICACQgA3ACUgAFAEQCACDwsCQCAAQv////8AVg0AIACnQQR0EAkiA0UNACACIAM2AgBBACEBQgEhBANAIAMgAUEEdGoiAUIANwIAIAFCADcABSAAIARSBEAgBKchASAEQgF8IQQMAQsLIAIgADcDCCACIAA3AxAgAg8LIAEEQCABQQA2AgQgAUEONgIAC0EAEBAgAhAGQQAL7gECA38BfiMAQRBrIgQkAAJAIARBDGpCBBAXIgNFBEBBfyECDAELAkAgAQRAIAJBgAZxIQUDQAJAIAUgASgCBHFFDQACQCADKQMIQgBUBEAgA0EAOgAADAELIANCADcDECADQQE6AAALIAMgAS8BCBANIAMgAS8BChANIAMtAABFBEAgAEEIaiIABEAgAEEANgIEIABBFDYCAAtBfyECDAQLQX8hAiAAIARBDGpCBBAbQQBIDQMgATMBCiIGUA0AIAAgASgCDCAGEBtBAEgNAwsgASgCACIBDQALC0EAIQILIAMQCAsgBEEQaiQAIAILPAEBfyAABEAgAUGABnEhAQNAIAEgACgCBHEEQCACIAAvAQpqQQRqIQILIAAoAgAiAA0ACwsgAkH//wNxC5wBAQN/IABFBEBBAA8LIAAhAwNAAn8CQAJAIAAvAQgiAUH04AFNBEAgAUEBRg0BIAFB9cYBRg0BDAILIAFBgbICRg0AIAFB9eABRw0BCyAAKAIAIQEgAEEANgIAIAAoAgwQBiAAEAYgASADIAAgA0YbIQMCQCACRQRAQQAhAgwBCyACIAE2AgALIAEMAQsgACICKAIACyIADQALIAMLsgQCBX8BfgJAAkACQCAAIAGtEBciAQRAIAEtAAANAUEAIQAMAgsgBARAIARBADYCBCAEQQ42AgALQQAPC0EAIQADQCABLQAABH4gASkDCCABKQMQfQVCAAtCBFQNASABEAwhByABIAEQDCIGrRATIghFBEBBACECIAQEQCAEQQA2AgQgBEEVNgIACyABEAggAEUNAwNAIAAoAgAhASAAKAIMEAYg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DCAAQRg2AggLDAMLIAAgBiAFLwFqQQAgBCABEQYAIQEgBhALIAFFDQILAkAgDUUEQCABIQMMAQsgACABIAUvAWgQgQEhAyABEAsgA0UNAQsCQCAJRSAMckUEQCADIQEMAQsgACADQQEQgAEhASADEAsgAUUNAQsgASEDDAELQQAhAwsgBUHwAGokACADC4UBAQF/IAFFBEAgAEEIaiIABEAgAEEANgIEIABBEjYCAAtBAA8LQTgQCSIDRQRAIABBCGoiAARAIABBADYCBCAAQQ42AgALQQAPCyADQQA2AhAgA0IANwIIIANCADcDKCADQQA2AgQgAyACNgIAIANCADcDGCADQQA2AjAgACABQTsgAxBCCw8AIAAgASACQQBBABCCAQusAgECfyABRQRAIABBCGoiAARAIABBADYCBCAAQRI2AgALQQAPCwJAIAJBfUsNACACQf//A3FBCEYNACAAQQhqIgAEQCAAQQA2AgQgAEEQNgIAC0EADwsCQEGwwAAQCSIFBEAgBUEANgIIIAVCADcCACAFQYiBAUGogQEgAxs2AqhAIAUgAjYCFCAFIAM6ABAgBUEAOgAPIAVBADsBDCAFIAMgAkF9SyIGcToADiAFQQggAiAGG0H//wNxIAQgBUGIgQFBqIEBIAMbKAIAEQAAIgI2AqxAIAINASAFEDEgBRAGCyAAQQhqIgAEQCAAQQA2AgQgAEEONgIAC0EADwsgACABQTogBRBCIgAEfyAABSAFKAKsQCAFKAKoQCgCBBEDACAFEDEgBRAGQQALC6ABAQF/IAIgACgCBCIDIAIgA0kbIgIEQCAAIAMgAms2AgQCQAJAAkACQCAAKAIcIgMoAhRBAWsOAgEAAgsgA0GgAWogASAAKAIAIAJB3IABKAIAEQgADAILIAAgACgCMCABIAAoAgAgAkHEgAEoAgARBAA2AjAMAQsgASAAKAIAIAIQBxoLIAAgACgCACACajYCACAAIAAoAgggAmo2AggLC7cCAQR/QX4hAgJAIABFDQAgACgCIEUNACAAKAIkIgRFDQAgACgCHCIBRQ0AIAEoAgAgAEcNAAJAAkAgASgCICIDQTlrDjkBAgICAgICAgICAgIBAgICAQICAgICAgICAgICAgICAgICAQICAgICAgICAgICAQICAgICAgICAgEACyADQZoFRg0AIANBKkcN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DCABajYCDCAGIAYoAgggAWo2AgggBSAFKAIUIAFqNgIUIAUgBSgCECABazYCECAGIAYoAhAgAWsiATYCECABDQAgBiAGKAIENgIIC0EAIQRBACEJIAMoAhBFDQAMCgsgAygCHCgCJCEGIAMgAygCGCIBQQFqNgIYIAEgBmotAAAhASADIARBAWo2AhAgAygCBCAEaiABOgAAIAEEQCADKAIQIQQMAQsLIAMoAhwoAixFDQAgAygCECIGIAlNDQAgBQJ/IAUoAjAhBEEAIAMoAgQgCWoiAUUNABogBCABIAYgCWtB1IABKAIAEQAACzYCMAsgA0HnADYCIAsCQCADKAIcKAIsBEAgAygCDCADKAIQIgFBAmpJBH8gBRAKIAMoAhANAkEABSABCyADKAIEaiAFKAIwOwAAIAMgAygCEEECajYCECADQaABakHkgAEoAgARAQAaCyADQfEANgIgIAUQCiADKAIQRQ0BDAcLDAYLIAUoAgQNAQsgAygCPA0AIApFDQEgAygCIEGaBUYNAQsCfyADKAKIASIBRQRAIAMgChCFAQwBCwJAAkACQCADKAKMAUECaw4CAAECCwJ/AkADQAJAAkAgAygCPA0AIAMQLyADKAI8DQAgCg0BQQAMBAsgAygCSCADKAJoai0AACEEIAMgAygC8C0iAUEBajYC8C0gASADKALsLWpBADoAACADIAMoAvAtIgFBAWo2AvAtIAEgAygC7C1qQQA6AAAgAyADKALwLSIBQQFqNgLwLSABIAMoAuwtaiAEOgAAIAMgBEECdGoiASABLwHkAUEBajsB5AEgAyADKAI8QQFrNgI8IAMgAygCaEEBaiIBNgJoIAMoAvAtIAMoAvQtRw0BQQAhBCADIAMoAlgiBkEATgR/IAMoAkggBmoFQQALIAEgBmtBABAPIAMgAygCaDYCWCADKAIAEAogAygCACgCEA0BDAILCyADQQA2AoQuIApBBEYEQCADIAMoAlgiAUEATgR/IAMoAkggAWoFQQALIAMoAmggAWtBARAPIAMgAygCaDYCWCADKAIAEApBA0ECIAMoAgAoAhAbDAILIAMoAvAtBEBBACEEIAMgAygCWCIBQQBOBH8gAygCSCABagVBAAsgAygCaCABa0EAEA8gAyADKAJoNgJYIAMoAgAQCiADKAIAKAIQRQ0BC0EBIQQLIAQL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bGl0ZXJhbC9sZW5ndGhzIHNldABpbnZhbGlkIGNvZGUgbGVuZ3RocyBzZXQAdW5rbm93biBoZWFkZXIgZmxhZ3Mgc2V0AGludmFsaWQgZGlzdGFuY2VzIHNldABpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0AEZpbGUgYWxyZWFkeSBleGlzdHMAdG9vIG1hbnkgbGVuZ3RoIG9yIGRpc3RhbmNlIHN5bWJvbHMAaW52YWxpZCBzdG9yZWQgYmxvY2sgbGVuZ3RocwAlcyVzJXMAYnVmZmVyIGVycm9yAE5vIGVycm9yAHN0cmVhbSBlcnJvcgBUZWxsIGVycm9yAEludGVybmFsIGVycm9yAFNlZWsgZXJyb3IAV3JpdGUgZXJyb3IAZmlsZSBlcnJvcgBSZWFkIGVycm9yAFpsaWIgZXJyb3IAZGF0YSBlcnJvcgBDUkMgZXJyb3IAaW5jb21wYXRpYmxlIHZlcnNpb24AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGNoADEuMi4xMy56bGliLW5nAGludmFsaWQgd2luZG93IHNpemUAUmVhZC1vbmx5IGFyY2hpdmUATm90IGEgemlwIGFyY2hpdmUAUmVzb3VyY2Ugc3RpbGwgaW4gdXNlAE1hbGxvYyBmYWlsdXJlAGludmFsaWQgYmxvY2sgdHlwZQBGYWlsdXJlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZQBDYW4ndCBvcGVuIGZpbGUATm8gc3VjaCBmaWxlAFByZW1hdHVyZSBlbmQgb2YgZmlsZQBDYW4ndCByZW1vdmUgZmlsZQBpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUAaW52YWxpZCBkaXN0YW5jZSBjb2RlAHVua25vd24gY29tcHJlc3Npb24gbWV0aG9kAHN0cmVhbSBlbmQAQ29tcHJlc3NlZCBkYXRhIGludmFsaWQATXVsdGktZGlzayB6aXAgYXJjaGl2ZXMgbm90IHN1cHBvcnRl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UgAIANIACAAyAAgAsgAIAHIACADyAAgACgAIAIoACABKAAgAygAIACoACACqAAgAagAIAOoACAAaAAgAmgAIAFoACADaAAgAOgAIALoACAB6AAgA+gAIAAYACACGAAgARgAIAMYACAAmAAgApgAIAGYACADmAAgAFgAIAJYACABWAAgA1gAIADYACAC2AAgAdgAIAPYACAAOAAgAjgAIAE4ACADOAAgALgAIAK4ACABuAAgA7gAIAB4ACACeAAgAXgAIAN4ACAA+AAgAvgAIAH4ACAD+AAgAAQAIAIEACABBAAgAwQAIACEACAChAAgAYQAIAOEACAARAAgAkQAIAFEACADRAAgAMQAIALEACABxAAgA8QAIAAkACACJAAgASQAIAMkACAApAAgAqQAIAGkACADpAAgAGQAIAJkACABZAAgA2QAIADkACAC5AAgAeQAIAPkACAAFAAgAhQAIAEUACADFAAgAJQAIAKUACABlAAgA5QAIABUACACVAAgAVQAIANUACAA1AAgAtQAIAHUACAD1AAgADQAIAI0ACABNAAgAzQAIAC0ACACtAAgAbQAIAO0ACAAdAAgAnQAIAF0ACADdAAgAPQAIAL0ACAB9AAgA/QAIABMACQATAQkAkwAJAJMBCQBTAAkAUwEJANMACQDTAQkAMwAJADMBCQCzAAkAswEJAHMACQBzAQkA8wAJAPMBCQALAAkACwEJAIsACQCLAQkASwAJAEsBCQDLAAkAywEJACsACQArAQkAqwAJAKsBCQBrAAkAawEJAOsACQDrAQkAGwAJABsBCQCbAAkAmwEJAFsACQBbAQkA2wAJANsBCQA7AAkAOwEJALsACQC7AQkAewAJAHsBCQD7AAkA+wEJAAcACQAHAQkAhwAJAIcBCQBHAAkARwEJAMcACQDHAQkAJwAJACcBCQCnAAkApwEJAGcACQBnAQkA5wAJAOcBCQAXAAkAFwEJAJcACQCXAQkAVwAJAFcBCQDXAAkA1wEJADcACQA3AQkAtwAJALcBCQB3AAkAdwEJAPcACQD3AQkADwAJAA8BCQCPAAkAjwEJAE8ACQBPAQkAzwAJAM8BCQAvAAkALwEJAK8ACQCvAQkAbwAJAG8BCQDvAAkA7wEJAB8ACQAfAQkAnwAJAJ8BCQBfAAkAXwEJAN8ACQDfAQkAPwAJAD8BCQC/AAkA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SXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AQcCAAQuFARMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAgERQADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAQfSCAQsCXEQAQbCDAQsQ/////////////////////w=="; + 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 module2; + var binary; + try { + binary = getBinary(file); + module2 = new WebAssembly.Module(binary); + instance = new WebAssembly.Instance(module2, 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, module2]; + } + function createWasm() { + var info = { a: asmLibraryArg }; + function receiveInstance(instance, module2) { + var exports3 = instance.exports; + Module["asm"] = exports3; + wasmMemory = Module["asm"]["g"]; + updateGlobalBufferAndViews(wasmMemory.buffer); + wasmTable = Module["asm"]["W"]; + addOnInit(Module["asm"]["h"]); + removeRunDependency(); + } + addRunDependency(); + if (Module["instantiateWasm"]) { + try { + var exports2 = Module["instantiateWasm"](info, receiveInstance); + return exports2; + } catch (e) { + err("Module.instantiateWasm callback failed with error: " + e); + return false; + } + } + var result = instantiateSync(wasmBinaryFile, info); + receiveInstance(result[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) { + } + function _time(ptr) { + var ret = Date.now() / 1e3 | 0; + if (ptr) { + LE_HEAP_STORE_I32((ptr >> 2) * 4, ret); + } + return ret; + } + 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; + } + function intArrayFromBase64(s) { + { + var buf; + try { + buf = Buffer.from(s, "base64"); + } catch (_) { + buf = new Buffer(s, "base64"); + } + return new Uint8Array( + buf["buffer"], + buf["byteOffset"], + buf["byteLength"] + ); + } + } + 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(); + Module["___wasm_call_ctors"] = asm["h"]; + Module["_zip_ext_count_symlinks"] = asm["i"]; + Module["_zip_file_get_external_attributes"] = asm["j"]; + Module["_zipstruct_statS"] = asm["k"]; + Module["_zipstruct_stat_size"] = asm["l"]; + Module["_zipstruct_stat_mtime"] = asm["m"]; + Module["_zipstruct_stat_crc"] = asm["n"]; + Module["_zipstruct_errorS"] = asm["o"]; + Module["_zipstruct_error_code_zip"] = asm["p"]; + Module["_zipstruct_stat_comp_size"] = asm["q"]; + Module["_zipstruct_stat_comp_method"] = asm["r"]; + Module["_zip_close"] = asm["s"]; + Module["_zip_delete"] = asm["t"]; + Module["_zip_dir_add"] = asm["u"]; + Module["_zip_discard"] = asm["v"]; + Module["_zip_error_init_with_code"] = asm["w"]; + Module["_zip_get_error"] = asm["x"]; + Module["_zip_file_get_error"] = asm["y"]; + Module["_zip_error_strerror"] = asm["z"]; + Module["_zip_fclose"] = asm["A"]; + Module["_zip_file_add"] = asm["B"]; + Module["_free"] = asm["C"]; + var _malloc = Module["_malloc"] = asm["D"]; + Module["_zip_source_error"] = asm["E"]; + Module["_zip_source_seek"] = asm["F"]; + Module["_zip_file_set_external_attributes"] = asm["G"]; + Module["_zip_file_set_mtime"] = asm["H"]; + Module["_zip_fopen_index"] = asm["I"]; + Module["_zip_fread"] = asm["J"]; + Module["_zip_get_name"] = asm["K"]; + Module["_zip_get_num_entries"] = asm["L"]; + Module["_zip_source_read"] = asm["M"]; + Module["_zip_name_locate"] = asm["N"]; + Module["_zip_open_from_source"] = asm["O"]; + Module["_zip_set_file_compression"] = asm["P"]; + Module["_zip_source_buffer"] = asm["Q"]; + Module["_zip_source_buffer_create"] = asm["R"]; + Module["_zip_source_close"] = asm["S"]; + Module["_zip_source_free"] = asm["T"]; + Module["_zip_source_keep"] = asm["U"]; + Module["_zip_source_open"] = asm["V"]; + Module["_zip_source_tell"] = asm["X"]; + 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) { + 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; + }; +}(); +module.exports = createModule; +}(libzipSync)); + +const createModule = libzipSync.exports; + +const number64 = [ + `number`, + // low + `number` + // high +]; +var Errors = /* @__PURE__ */ ((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"; + return Errors2; +})(Errors || {}); +const 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`]) + } +}); + +function getArchivePart(path, extension) { + let idx = path.indexOf(extension); + if (idx <= 0) + return null; + let nextCharIdx = idx; + while (idx >= 0) { + nextCharIdx = idx + extension.length; + if (path[nextCharIdx] === ppath.sep) + break; + if (path[idx - 1] === ppath.sep) + return null; + idx = path.indexOf(extension, nextCharIdx); + } + if (path.length > nextCharIdx && path[nextCharIdx] !== ppath.sep) + return null; + return path.slice(0, nextCharIdx); +} +class ZipOpenFS extends 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` ? (path) => getArchivePart(path, `.zip`) : (path) => { + for (const extension of fileExtensions) { + const result = getArchivePart(path, extension); + if (result) { + return result; + } + } + return null; + }; + const factorySync = (baseFs, p) => { + return new 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 ZipFS(p, zipOptions); + }; + }; + super({ + ...opts, + factorySync, + factoryPromise, + getMountPoint + }); + } +} + +const 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 (nodeUtils.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 + ]); +} +class LibzipError extends Error { + code; + constructor(message, code) { + super(message); + this.name = `Libzip Error`; + this.code = code; + } +} +class ZipFS extends BasePortableFakeFS { + libzip; + baseFs; + path; + stats; + zip; + lzSource; + level; + listings = /* @__PURE__ */ new Map(); + entries = /* @__PURE__ */ new Map(); + /** + * A cache of indices mapped to file sources. + * Populated by `setFileSource` calls. + * Required for supporting read after write. + */ + fileSources = /* @__PURE__ */ new Map(); + symlinkCount; + fds = /* @__PURE__ */ new Map(); + nextFd = 0; + ready = false; + readOnly = false; + constructor(source, opts = {}) { + super(); + const pathOptions = opts; + this.level = typeof pathOptions.level !== `undefined` ? pathOptions.level : DEFAULT_COMPRESSION_LEVEL; + source ??= makeEmptyArchive(); + if (typeof source === `string`) { + const { baseFs = new 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 = makeDefaultStats(); + } else { + throw error; + } + } + } else { + this.stats = makeDefaultStats(); + } + } + this.libzip = 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(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 (ppath.isAbsolute(raw)) + continue; + const p = ppath.resolve(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 EBUSY(`archive closed, close`); + 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 result = Buffer.from(this.libzip.HEAPU8.subarray(buffer, buffer + size)); + if (process.env.YARN_IS_TEST_ENV && process.env.YARN_ZIP_DATA_EPILOGUE) + result = Buffer.concat([result, Buffer.from(process.env.YARN_ZIP_DATA_EPILOGUE)]); + return result; + } 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 === DEFAULT_MODE ? void 0 : this.stats.mode; + this.baseFs.writeFileSync(this.path, this.getBufferAndClose(), { mode: newMode }); + this.ready = false; + } + resolve(p) { + return ppath.resolve(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 ENOENT(`opendir '${p}'`); + const directoryListing = this.listings.get(resolvedP); + if (!directoryListing) + throw ENOTDIR(`opendir '${p}'`); + const entries = [...directoryListing]; + const fd = this.openSync(resolvedP, `r`); + const onClose = () => { + this.closeSync(fd); + }; + return 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 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 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 EBADF(`read`); + this.fds.delete(fd); + } + createReadStream(p, { encoding } = {}) { + if (p === null) + throw new Error(`Unimplemented`); + const fd = this.openSync(p, `r`); + const stream$1 = Object.assign( + new stream.PassThrough({ + emitClose: true, + autoDestroy: true, + destroy: (error, callback) => { + clearImmediate(immediate); + this.closeSync(fd); + callback(error); + } + }), + { + close() { + stream$1.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$1.bytesRead = data.length; + stream$1.end(data); + } catch (error) { + stream$1.destroy(error); + } + }); + return stream$1; + } + createWriteStream(p, { encoding } = {}) { + if (this.readOnly) + throw EROFS(`open '${p}'`); + if (p === null) + throw new Error(`Unimplemented`); + const chunks = []; + const fd = this.openSync(p, `w`); + const stream$1 = Object.assign( + new stream.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$1.destroy(); + }, + bytesWritten: 0, + path: p, + // "This property is `true` if the underlying file has not been opened yet" + pending: false + } + ); + stream$1.on(`data`, (chunk) => { + const chunkBuffer = Buffer.from(chunk); + stream$1.bytesWritten += chunkBuffer.length; + chunks.push(chunkBuffer); + }); + return stream$1; + } + 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 ENOENT(`lstat '${p}'`); + return resolvedP; + } + async existsPromise(p) { + return this.existsSync(p); + } + existsSync(p) { + if (!this.ready) + throw EBUSY(`archive closed, existsSync '${p}'`); + if (this.symlinkCount === 0) { + const resolvedP2 = ppath.resolve(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 (error) { + 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.constants.F_OK) { + const resolvedP = this.resolveFilename(`access '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`access '${p}'`); + if (this.readOnly && mode & fs.constants.W_OK) { + throw 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 ENOENT(`stat '${p}'`); + } + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) + throw 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 EBADF(`fstatSync`); + const { p } = entry; + const resolvedP = this.resolveFilename(`stat '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`stat '${p}'`); + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) + throw 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 ENOENT(`lstat '${p}'`); + } + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) + throw 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.constants.S_IFDIR : this.isSymbolicLink(entry) ? fs.constants.S_IFLNK : fs.constants.S_IFREG; + const defaultMode = type === fs.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 StatEntry(), { uid, gid, size, blksize, blocks, atime, birthtime, ctime, mtime, atimeMs, birthtimeMs, ctimeMs, mtimeMs, mode, crc }); + return opts.bigint === true ? 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.constants.S_IFDIR | 493; + const crc = 0; + const statInstance = Object.assign(new StatEntry(), { uid, gid, size, blksize, blocks, atime, birthtime, ctime, mtime, atimeMs, birthtimeMs, ctimeMs, mtimeMs, mode, crc }); + return opts.bigint === true ? 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(ppath.dirname(p)); + parentListing.add(ppath.basename(p)); + const newListing = /* @__PURE__ */ new Set(); + this.listings.set(p, newListing); + return newListing; + } + registerEntry(p, index) { + const parentListing = this.registerListing(ppath.dirname(p)); + parentListing.add(ppath.basename(p)); + this.entries.set(p, index); + } + unregisterListing(p) { + this.listings.delete(p); + const parentListing = this.listings.get(ppath.dirname(p)); + parentListing?.delete(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 EBUSY(`archive closed, ${reason}`); + let resolvedP = ppath.resolve(PortablePath.root, p); + if (resolvedP === `/`) + return 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, ppath.resolve(ppath.dirname(resolvedP), target), true, throwIfNoEntry); + } else { + return resolvedP; + } + } + while (true) { + const parentP = this.resolveFilename(reason, 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 ENOENT(reason); + } + if (!isDir) + throw ENOTDIR(reason); + resolvedP = ppath.resolve(parentP, 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 = ppath.resolve(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 = ppath.relative(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.constants.S_IFMT) === fs.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__default.default.inflateRaw(data, (error, result) => { + if (error) { + reject(error); + } else { + this.fileSources.set(index, result); + resolve(result); + } + }); + }); + } else { + const decompressedData = zlib__default.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 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.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 EROFS(`copyfile '${sourceP} -> '${destP}'`); + if ((flags & fs.constants.COPYFILE_FICLONE_FORCE) !== 0) + throw 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 EINVAL(`copyfile '${sourceP}' -> '${destP}'`); + const resolvedDestP = this.resolveFilename(`copyfile '${sourceP}' -> ${destP}'`, destP); + const indexDest = this.entries.get(resolvedDestP); + if ((flags & (fs.constants.COPYFILE_EXCL | fs.constants.COPYFILE_FICLONE_FORCE)) !== 0 && typeof indexDest !== `undefined`) + throw EEXIST(`copyfile '${sourceP}' -> '${destP}'`); + return { + indexSource, + resolvedDestP, + indexDest + }; + } + async appendFilePromise(p, content, opts) { + if (this.readOnly) + throw 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 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 path = this.fds.get(fd)?.p; + if (typeof path === `undefined`) + throw EBADF(reason); + return path; + } + 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 EROFS(`open '${p}'`); + const resolvedP = this.resolveFilename(`open '${p}'`, p); + if (this.listings.has(resolvedP)) + throw 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 EROFS(`unlink '${p}'`); + const resolvedP = this.resolveFilename(`unlink '${p}'`, p); + if (this.listings.has(resolvedP)) + throw EISDIR(`unlink '${p}'`); + const index = this.entries.get(resolvedP); + if (typeof index === `undefined`) + throw 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 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 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 EROFS(`mkdir '${p}'`); + const resolvedP = this.resolveFilename(`mkdir '${p}'`, p); + if (this.entries.has(resolvedP) || this.listings.has(resolvedP)) + throw 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 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 ENOTDIR(`rmdir '${p}'`); + if (directoryListing.size > 0) + throw ENOTEMPTY(`rmdir '${p}'`); + const index = this.entries.get(resolvedP); + if (typeof index === `undefined`) + throw EINVAL(`rmdir '${p}'`); + this.deleteEntry(p, index); + } + async rmPromise(p, opts) { + return this.rmSync(p, opts); + } + rmSync(p, { recursive = false } = {}) { + if (this.readOnly) + throw 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 ENOTDIR(`rm '${p}'`); + if (directoryListing.size > 0) + throw ENOTEMPTY(`rm '${p}'`); + const index = this.entries.get(resolvedP); + if (typeof index === `undefined`) + throw EINVAL(`rm '${p}'`); + this.deleteEntry(p, index); + } + hydrateDirectory(resolvedP) { + const index = this.libzip.dir.add(this.zip, ppath.relative(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 EOPNOTSUPP(`link '${existingP}' -> '${newP}'`); + } + async symlinkPromise(target, p) { + return this.symlinkSync(target, p); + } + symlinkSync(target, p) { + if (this.readOnly) + throw EROFS(`symlink '${target}' -> '${p}'`); + const resolvedP = this.resolveFilename(`symlink '${target}' -> '${p}'`, p); + if (this.listings.has(resolvedP)) + throw EISDIR(`symlink '${target}' -> '${p}'`); + if (this.entries.has(resolvedP)) + throw 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.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 ENOENT(`open '${p}'`); + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) + throw ENOTDIR(`open '${p}'`); + if (this.listings.has(resolvedP)) + throw 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 ENOENT(`scandir '${p}'`); + const directoryListing = this.listings.get(resolvedP); + if (!directoryListing) + throw ENOTDIR(`scandir '${p}'`); + if (opts?.recursive) { + if (opts?.withFileTypes) { + const entries = Array.from(directoryListing, (name) => { + return Object.assign(this.statImpl(`lstat`, ppath.join(p, name)), { + name, + path: PortablePath.dot + }); + }); + for (const entry of entries) { + if (!entry.isDirectory()) + continue; + const subPath = ppath.join(entry.path, entry.name); + const subListing = this.listings.get(ppath.join(resolvedP, subPath)); + for (const child of subListing) { + entries.push(Object.assign(this.statImpl(`lstat`, 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(ppath.join(resolvedP, subPath)); + if (typeof subListing === `undefined`) + continue; + for (const child of subListing) { + entries.push(ppath.join(subPath, child)); + } + } + return entries; + } + } else if (opts?.withFileTypes) { + return Array.from(directoryListing, (name) => { + return Object.assign(this.statImpl(`lstat`, 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 ENOENT(`readlink '${p}'`); + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) + throw ENOTDIR(`open '${p}'`); + if (this.listings.has(resolvedP)) + throw EINVAL(`readlink '${p}'`); + const entry = this.entries.get(resolvedP); + if (entry === void 0) + throw new Error(`Unreachable`); + if (!this.isSymbolicLink(entry)) + throw 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 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 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 = ppath.resolve(PortablePath.root, p); + return watchFile(this, resolvedP, a, b); + } + unwatchFile(p, cb) { + const resolvedP = ppath.resolve(PortablePath.root, p); + return unwatchFile(this, resolvedP, cb); + } +} + +setFactory(() => { + const emZip = createModule(); + return makeInterface(emZip); +}); + +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 || {}); +const MODULE_NOT_FOUND_ERRORS = /* @__PURE__ */ new Set([ + "BUILTIN_NODE_RESOLUTION_FAILED" /* BUILTIN_NODE_RESOLUTION_FAILED */, + "MISSING_DEPENDENCY" /* MISSING_DEPENDENCY */, + "MISSING_PEER_DEPENDENCY" /* MISSING_PEER_DEPENDENCY */, + "QUALIFIED_PATH_RESOLUTION_FAILED" /* 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 getIssuerModule(parent) { + let issuer = parent; + while (issuer && (issuer.id === `[eval]` || issuer.id === `` || !issuer.filename)) + issuer = issuer.parent; + return issuer || null; +} +function getPathForDisplay(p) { + return npath.normalize(npath.fromPortablePath(p)); +} + +const [major, minor] = process.versions.node.split(`.`).map((value) => parseInt(value, 10)); +const WATCH_MODE_MESSAGE_USES_ARRAYS = major > 19 || major === 19 && minor >= 2 || major === 18 && minor >= 13; + +function readPackageScope(checkPath) { + const rootSeparatorIndex = checkPath.indexOf(npath.sep); + let separatorIndex; + do { + separatorIndex = checkPath.lastIndexOf(npath.sep); + checkPath = checkPath.slice(0, separatorIndex); + if (checkPath.endsWith(`${npath.sep}node_modules`)) + return false; + const pjson = readPackage(checkPath + npath.sep); + if (pjson) { + return { + data: pjson, + path: checkPath + }; + } + } while (separatorIndex > rootSeparatorIndex); + return false; +} +function readPackage(requestPath) { + const jsonPath = npath.resolve(requestPath, `package.json`); + if (!fs__default.default.existsSync(jsonPath)) + return null; + return JSON.parse(fs__default.default.readFileSync(jsonPath, `utf8`)); +} +function ERR_REQUIRE_ESM(filename, parentPath = null) { + const basename = parentPath && path__default.default.basename(filename) === path__default.default.basename(parentPath) ? filename : path__default.default.basename(filename); + const msg = `require() of ES Module ${filename}${parentPath ? ` from ${parentPath}` : ``} not supported. +Instead change the require of ${basename} in ${parentPath} to a dynamic import() which is available in all CommonJS modules.`; + const err = new Error(msg); + err.code = `ERR_REQUIRE_ESM`; + return err; +} +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 applyPatch(pnpapi, opts) { + let enableNativeHooks = true; + process.versions.pnp = String(pnpapi.VERSIONS.std); + const moduleExports = require$$0__default.default; + moduleExports.findPnpApi = (lookupSource) => { + const lookupPath = lookupSource instanceof URL ? url.fileURLToPath(lookupSource) : lookupSource; + const apiPath = opts.manager.findApiPathFor(lookupPath); + if (apiPath === null) + return null; + const apiEntry = opts.manager.getApiEntry(apiPath, true); + return apiEntry.instance.findPackageLocator(lookupPath) ? apiEntry.instance : null; + }; + function getRequireStack(parent) { + const requireStack = []; + for (let cursor = parent; cursor; cursor = cursor.parent) + requireStack.push(cursor.filename || cursor.id); + return requireStack; + } + const originalModuleLoad = require$$0.Module._load; + require$$0.Module._load = function(request, parent, isMain) { + if (request === `pnpapi`) { + const parentApiPath = opts.manager.getApiPathFromParent(parent); + if (parentApiPath) { + return opts.manager.getApiEntry(parentApiPath, true).instance; + } + } + return originalModuleLoad.call(require$$0.Module, request, parent, isMain); + }; + function getIssuerSpecsFromPaths(paths) { + return paths.map((path) => ({ + apiPath: opts.manager.findApiPathFor(path), + path, + module: null + })); + } + function getIssuerSpecsFromModule(module) { + if (module && module.id !== `` && module.id !== `internal/preload` && !module.parent && !module.filename && module.paths.length > 0) { + return [{ + apiPath: opts.manager.findApiPathFor(module.paths[0]), + path: module.paths[0], + module + }]; + } + const issuer = getIssuerModule(module); + if (issuer !== null) { + const path = npath.dirname(issuer.filename); + const apiPath = opts.manager.getApiPathFromParent(issuer); + return [{ apiPath, path, module }]; + } else { + const path = process.cwd(); + const apiPath = opts.manager.findApiPathFor(npath.join(path, `[file]`)) ?? opts.manager.getApiPathFromParent(null); + return [{ apiPath, path, module }]; + } + } + function makeFakeParent(path) { + const fakeParent = new require$$0.Module(``); + const fakeFilePath = npath.join(path, `[file]`); + fakeParent.paths = require$$0.Module._nodeModulePaths(fakeFilePath); + return fakeParent; + } + const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:@[^/]+\/)?[^/]+)\/*(.*|)$/; + const originalModuleResolveFilename = require$$0.Module._resolveFilename; + require$$0.Module._resolveFilename = function(request, parent, isMain, options) { + if (require$$0.isBuiltin(request)) + return request; + if (!enableNativeHooks) + return originalModuleResolveFilename.call(require$$0.Module, request, parent, isMain, options); + if (options && options.plugnplay === false) { + const { plugnplay, ...forwardedOptions } = options; + try { + enableNativeHooks = false; + return originalModuleResolveFilename.call(require$$0.Module, request, parent, isMain, forwardedOptions); + } finally { + enableNativeHooks = true; + } + } + if (options) { + const optionNames = new Set(Object.keys(options)); + optionNames.delete(`paths`); + optionNames.delete(`plugnplay`); + if (optionNames.size > 0) { + throw makeError( + ErrorCode.UNSUPPORTED, + `Some options passed to require() aren't supported by PnP yet (${Array.from(optionNames).join(`, `)})` + ); + } + } + const issuerSpecs = options && options.paths ? getIssuerSpecsFromPaths(options.paths) : getIssuerSpecsFromModule(parent); + if (request.match(pathRegExp) === null) { + const parentDirectory = parent?.filename != null ? npath.dirname(parent.filename) : null; + const absoluteRequest = npath.isAbsolute(request) ? request : parentDirectory !== null ? npath.resolve(parentDirectory, request) : null; + if (absoluteRequest !== null) { + const apiPath = parent && parentDirectory === npath.dirname(absoluteRequest) ? opts.manager.getApiPathFromParent(parent) : opts.manager.findApiPathFor(absoluteRequest); + if (apiPath !== null) { + issuerSpecs.unshift({ + apiPath, + path: parentDirectory, + module: null + }); + } + } + } + let firstError; + for (const { apiPath, path, module } of issuerSpecs) { + let resolution; + const issuerApi = apiPath !== null ? opts.manager.getApiEntry(apiPath, true).instance : null; + try { + if (issuerApi !== null) { + resolution = issuerApi.resolveRequest(request, path !== null ? `${path}/` : null); + } else { + if (path === null) + throw new Error(`Assertion failed: Expected the path to be set`); + resolution = originalModuleResolveFilename.call(require$$0.Module, request, module || makeFakeParent(path), isMain); + } + } catch (error) { + firstError = firstError || error; + continue; + } + if (resolution !== null) { + return resolution; + } + } + const requireStack = getRequireStack(parent); + Object.defineProperty(firstError, `requireStack`, { + configurable: true, + writable: true, + enumerable: false, + value: requireStack + }); + if (requireStack.length > 0) + firstError.message += ` +Require stack: +- ${requireStack.join(` +- `)}`; + if (typeof firstError.pnpCode === `string`) + Error.captureStackTrace(firstError); + throw firstError; + }; + const originalFindPath = require$$0.Module._findPath; + require$$0.Module._findPath = function(request, paths, isMain) { + if (request === `pnpapi`) + return false; + if (!enableNativeHooks) + return originalFindPath.call(require$$0.Module, request, paths, isMain); + const isAbsolute = npath.isAbsolute(request); + if (isAbsolute) + paths = [``]; + else if (!paths || paths.length === 0) + return false; + for (const path of paths) { + let resolution; + try { + const pnpApiPath = opts.manager.findApiPathFor(isAbsolute ? request : path); + if (pnpApiPath !== null) { + const api = opts.manager.getApiEntry(pnpApiPath, true).instance; + resolution = api.resolveRequest(request, path) || false; + } else { + resolution = originalFindPath.call(require$$0.Module, request, [path], isMain); + } + } catch (error) { + continue; + } + if (resolution) { + return resolution; + } + } + return false; + }; + const originalExtensionJSFunction = require$$0.Module._extensions[`.js`]; + require$$0.Module._extensions[`.js`] = function(module, filename) { + if (filename.endsWith(`.js`)) { + const pkg = readPackageScope(filename); + if (pkg && pkg.data?.type === `module`) { + const err = ERR_REQUIRE_ESM(filename, module.parent?.filename); + Error.captureStackTrace(err); + throw err; + } + } + originalExtensionJSFunction.call(this, module, filename); + }; + const originalDlopen = process.dlopen; + process.dlopen = function(...args) { + const [module, filename, ...rest] = args; + return originalDlopen.call( + this, + module, + npath.fromPortablePath(VirtualFS.resolveVirtual(npath.toPortablePath(filename))), + ...rest + ); + }; + const originalEmit = process.emit; + process.emit = function(name, data, ...args) { + if (name === `warning` && typeof data === `object` && data.name === `ExperimentalWarning` && (data.message.includes(`--experimental-loader`) || data.message.includes(`Custom ESM Loaders is an experimental feature`))) + return false; + return originalEmit.apply(process, arguments); + }; + patchFs(fs__default.default, new PosixFS(opts.fakeFs)); +} + +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 + }; +} + +const ArrayIsArray = Array.isArray; +const JSONStringify = JSON.stringify; +const ObjectGetOwnPropertyNames = Object.getOwnPropertyNames; +const ObjectPrototypeHasOwnProperty = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop); +const RegExpPrototypeExec = (obj, string) => RegExp.prototype.exec.call(obj, string); +const RegExpPrototypeSymbolReplace = (obj, ...rest) => RegExp.prototype[Symbol.replace].apply(obj, rest); +const StringPrototypeEndsWith = (str, ...rest) => String.prototype.endsWith.apply(str, rest); +const StringPrototypeIncludes = (str, ...rest) => String.prototype.includes.apply(str, rest); +const StringPrototypeLastIndexOf = (str, ...rest) => String.prototype.lastIndexOf.apply(str, rest); +const StringPrototypeIndexOf = (str, ...rest) => String.prototype.indexOf.apply(str, rest); +const StringPrototypeReplace = (str, ...rest) => String.prototype.replace.apply(str, rest); +const StringPrototypeSlice = (str, ...rest) => String.prototype.slice.apply(str, rest); +const StringPrototypeStartsWith = (str, ...rest) => String.prototype.startsWith.apply(str, rest); +const SafeMap = Map; +const 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}]`; + } + }; +} +const 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 +); +const ERR_INVALID_MODULE_SPECIFIER = createErrorType( + `ERR_INVALID_MODULE_SPECIFIER`, + (request, reason, base = void 0) => { + return `Invalid module "${request}" ${reason}${base ? ` imported from ${base}` : ``}`; + }, + TypeError +); +const 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 +); +const ERR_INVALID_PACKAGE_CONFIG = createErrorType( + `ERR_INVALID_PACKAGE_CONFIG`, + (path, base, message) => { + return `Invalid package config ${path}${base ? ` while importing ${base}` : ``}${message ? `. ${message}` : ``}`; + }, + Error +); +const 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; +} + +const packageJSONCache = new SafeMap(); +function getPackageConfig(path, specifier, base, readFileSyncFn) { + const existing = packageJSONCache.get(path); + if (existing !== void 0) { + return existing; + } + const source = readFileSyncFn(path); + if (source === void 0) { + const packageConfig2 = { + pjsonPath: path, + exists: false, + main: void 0, + name: void 0, + type: "none", + exports: void 0, + imports: void 0 + }; + packageJSONCache.set(path, packageConfig2); + return packageConfig2; + } + let packageJSON; + try { + packageJSON = JSONParse(source); + } catch (error) { + throw new ERR_INVALID_PACKAGE_CONFIG( + path, + (base ? `"${specifier}" from ` : "") + url.fileURLToPath(base || specifier), + error.message + ); + } + let { imports, main, name, type } = filterOwnProperties(packageJSON, [ + "imports", + "main", + "name", + "type" + ]); + const exports = 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: path, + exists: true, + main, + name, + type, + exports, + imports + }; + packageJSONCache.set(path, 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) + ); +} +const 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; +const 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(exports, packageJSONUrl, base) { + if (typeof exports === "string" || ArrayIsArray(exports)) return true; + if (typeof exports !== "object" || exports === null) return false; + const keys = ObjectGetOwnPropertyNames(exports); + 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) + ); +} +const 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, + base, + conditions +}) { + if (isConditionalExportsMainSugar(exports, packageJSONUrl, base)) + exports = { ".": exports }; + if (ObjectPrototypeHasOwnProperty(exports, packageSubpath) && !StringPrototypeIncludes(packageSubpath, "*") && !StringPrototypeEndsWith(packageSubpath, "/")) { + const target = exports[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(exports); + 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 = exports[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); +} + +const flagSymbol = Symbol('arg flag'); + +class ArgError extends Error { + constructor(msg, code) { + super(msg); + this.name = 'ArgError'; + this.code = code; + + Object.setPrototypeOf(this, ArgError.prototype); + } +} + +function arg( + opts, + { + argv = process.argv.slice(2), + permissive = false, + stopAtPositional = false + } = {} +) { + if (!opts) { + throw new ArgError( + 'argument specification object is required', + 'ARG_CONFIG_NO_SPEC' + ); + } + + const result = { _: [] }; + + 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 = argv.length; i < len; i++) { + const wholeArg = argv[i]; + + if (stopAtPositional && result._.length > 0) { + result._ = result._.concat(argv.slice(i)); + break; + } + + if (wholeArg === '--') { + result._ = result._.concat(argv.slice(i + 1)); + break; + } + + if (wholeArg.length > 1 && wholeArg[0] === '-') { + /* eslint-disable operator-linebreak */ + const separatedArguments = + wholeArg[1] === '-' || wholeArg.length === 2 + ? [wholeArg] + : wholeArg + .slice(1) + .split('') + .map((a) => `-${a}`); + /* eslint-enable operator-linebreak */ + + for (let j = 0; j < separatedArguments.length; j++) { + const arg = separatedArguments[j]; + const [originalArgName, argStr] = + arg[1] === '-' ? arg.split(/=(.*)/, 2) : [arg, undefined]; + + let argName = originalArgName; + while (argName in aliases) { + argName = aliases[argName]; + } + + if (!(argName in handlers)) { + if (permissive) { + result._.push(arg); + 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) { + result[argName] = type(true, argName, result[argName]); + } else if (argStr === undefined) { + if ( + argv.length < i + 2 || + (argv[i + 1].length > 1 && + argv[i + 1][0] === '-' && + !( + argv[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' + ); + } + + result[argName] = type(argv[i + 1], argName, result[argName]); + ++i; + } else { + result[argName] = type(argStr, argName, result[argName]); + } + } + } else { + result._.push(wholeArg); + } + } + + return result; +} + +arg.flag = (fn) => { + fn[flagSymbol] = true; + return fn; +}; + +// Utility types +arg.COUNT = arg.flag((v, name, existingCount) => (existingCount || 0) + 1); + +// Expose error class +arg.ArgError = ArgError; + +var arg_1 = arg; + +/** + @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. +*/ +function getOptionValue(opt) { + parseOptions(); + return options[opt]; +} +let options; +function parseOptions() { + if (!options) { + options = { + "--conditions": [], + ...parseArgv(getNodeOptionsEnvArgv()), + ...parseArgv(process.execArgv) + }; + } +} +function parseArgv(argv) { + return arg_1( + { + "--conditions": [String], + "-C": "--conditions" + }, + { + argv, + 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; +} + +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 arg of entry.args) + console.error(` ${c(`37;1`, `In \u2190`)} ${nodeUtils.inspect(arg, { 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(path) { + const fakeModule = new require$$0.Module(path, null); + fakeModule.filename = path; + fakeModule.paths = require$$0.Module._nodeModulePaths(path); + return fakeModule; + } + function callNativeResolution(request, issuer) { + if (issuer.endsWith(`/`)) + issuer = ppath.join(issuer, `internal.js`); + return require$$0.Module._resolveFilename(npath.fromPortablePath(request), makeFakeModule(npath.fromPortablePath(issuer)), false, { plugnplay: false }); + } + function isPathIgnored(path) { + if (ignorePattern === null) + return false; + const subPath = ppath.contains(runtimeState.basePath, path); + 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 && require$$0.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 result = callNativeResolution(request, issuer); + if (result === 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(result); + } + } + 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 result = callNativeResolution(request, issuer); + if (result === 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(result); + } + 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 && require$$0.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(require$$0.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 || !require$$0.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: (path) => { + return findPackageLocator(npath.toPortablePath(path)); + }, + 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`, (path) => { + const result = resolveVirtual(npath.toPortablePath(path)); + if (result !== null) { + return npath.fromPortablePath(result); + } else { + return null; + } + }) + }; +} + +function makeManager(pnpapi, opts) { + const initialApiPath = npath.toPortablePath(pnpapi.resolveToUnqualified(`pnpapi`, null)); + const initialApiStats = opts.fakeFs.statSync(npath.toPortablePath(initialApiPath)); + const apiMetadata = /* @__PURE__ */ new Map([ + [initialApiPath, { + instance: pnpapi, + stats: initialApiStats, + lastRefreshCheck: Date.now() + }] + ]); + function loadApiInstance(pnpApiPath) { + const nativePath = npath.fromPortablePath(pnpApiPath); + const module = new require$$0.Module(nativePath, null); + module.load(nativePath); + return module.exports; + } + function refreshApiEntry(pnpApiPath, apiEntry) { + const timeNow = Date.now(); + if (timeNow - apiEntry.lastRefreshCheck < 500) + return; + apiEntry.lastRefreshCheck = timeNow; + const stats = opts.fakeFs.statSync(pnpApiPath); + if (stats.mtime > apiEntry.stats.mtime) { + process.emitWarning(`[Warning] The runtime detected new information in a PnP file; reloading the API instance (${npath.fromPortablePath(pnpApiPath)})`); + apiEntry.stats = stats; + apiEntry.instance = loadApiInstance(pnpApiPath); + } + } + function getApiEntry(pnpApiPath, refresh = false) { + let apiEntry = apiMetadata.get(pnpApiPath); + if (typeof apiEntry !== `undefined`) { + if (refresh) { + refreshApiEntry(pnpApiPath, apiEntry); + } + } else { + apiMetadata.set(pnpApiPath, apiEntry = { + instance: loadApiInstance(pnpApiPath), + stats: opts.fakeFs.statSync(pnpApiPath), + lastRefreshCheck: Date.now() + }); + } + return apiEntry; + } + const findApiPathCache = /* @__PURE__ */ new Map(); + function addToCacheAndReturn(start, end, target) { + if (target !== null) { + target = VirtualFS.resolveVirtual(target); + target = opts.fakeFs.realpathSync(target); + } + let curr; + let next = start; + do { + curr = next; + findApiPathCache.set(curr, target); + next = ppath.dirname(curr); + } while (curr !== end); + return target; + } + function findApiPathFor(modulePath) { + let bestCandidate = null; + for (const [apiPath, apiEntry] of apiMetadata) { + const locator = apiEntry.instance.findPackageLocator(modulePath); + if (!locator) + continue; + if (apiMetadata.size === 1) + return apiPath; + const packageInformation = apiEntry.instance.getPackageInformation(locator); + if (!packageInformation) + throw new Error(`Assertion failed: Couldn't get package information for '${modulePath}'`); + if (!bestCandidate) + bestCandidate = { packageLocation: packageInformation.packageLocation, apiPaths: [] }; + if (packageInformation.packageLocation === bestCandidate.packageLocation) { + bestCandidate.apiPaths.push(apiPath); + } else if (packageInformation.packageLocation.length > bestCandidate.packageLocation.length) { + bestCandidate = { packageLocation: packageInformation.packageLocation, apiPaths: [apiPath] }; + } + } + if (bestCandidate) { + if (bestCandidate.apiPaths.length === 1) + return bestCandidate.apiPaths[0]; + const controlSegment = bestCandidate.apiPaths.map((apiPath) => ` ${npath.fromPortablePath(apiPath)}`).join(` +`); + throw new Error(`Unable to locate pnpapi, the module '${modulePath}' is controlled by multiple pnpapi instances. +This is usually caused by using the global cache (enableGlobalCache: true) + +Controlled by: +${controlSegment} +`); + } + const start = ppath.resolve(npath.toPortablePath(modulePath)); + let curr; + let next = start; + do { + curr = next; + const cached = findApiPathCache.get(curr); + if (cached !== void 0) + return addToCacheAndReturn(start, curr, cached); + const cjsCandidate = ppath.join(curr, Filename.pnpCjs); + if (opts.fakeFs.existsSync(cjsCandidate) && opts.fakeFs.statSync(cjsCandidate).isFile()) + return addToCacheAndReturn(start, curr, cjsCandidate); + const legacyCjsCandidate = ppath.join(curr, Filename.pnpJs); + if (opts.fakeFs.existsSync(legacyCjsCandidate) && opts.fakeFs.statSync(legacyCjsCandidate).isFile()) + return addToCacheAndReturn(start, curr, legacyCjsCandidate); + next = ppath.dirname(curr); + } while (curr !== PortablePath.root); + return addToCacheAndReturn(start, curr, null); + } + const moduleToApiPathCache = /* @__PURE__ */ new WeakMap(); + function getApiPathFromParent(parent) { + if (parent == null) + return initialApiPath; + let apiPath = moduleToApiPathCache.get(parent); + if (typeof apiPath !== `undefined`) + return apiPath; + apiPath = parent.filename ? findApiPathFor(parent.filename) : null; + moduleToApiPathCache.set(parent, apiPath); + return apiPath; + } + return { + getApiPathFromParent, + findApiPathFor, + getApiEntry + }; +} + +const localFs = { ...fs__default.default }; +const nodeFs = new NodeFS(localFs); +const defaultRuntimeState = $$SETUP_STATE(hydrateRuntimeState); +const defaultPnpapiResolution = __filename; +const defaultFsLayer = new VirtualFS({ + baseFs: new ZipOpenFS({ + baseFs: nodeFs, + maxOpenFiles: 80, + readOnlyArchives: true + }) +}); +class DynamicFS extends ProxiedFS { + baseFs = defaultFsLayer; + constructor() { + super(ppath); + } + mapToBase(p) { + return p; + } + mapFromBase(p) { + return p; + } +} +const dynamicFsLayer = new DynamicFS(); +let manager; +const defaultApi = Object.assign(makeApi(defaultRuntimeState, { + fakeFs: dynamicFsLayer, + pnpapiResolution: defaultPnpapiResolution +}), { + /** + * Can be used to generate a different API than the default one (for example + * to map it on `/` rather than the local directory path, or to use a + * different FS layer than the default one). + */ + makeApi: ({ + basePath = void 0, + fakeFs = dynamicFsLayer, + pnpapiResolution = defaultPnpapiResolution, + ...rest + }) => { + const apiRuntimeState = typeof basePath !== `undefined` ? $$SETUP_STATE(hydrateRuntimeState, basePath) : defaultRuntimeState; + return makeApi(apiRuntimeState, { + fakeFs, + pnpapiResolution, + ...rest + }); + }, + /** + * Will inject the specified API into the environment, monkey-patching FS. Is + * automatically called when the hook is loaded through `--require`. + */ + setup: (api) => { + applyPatch(api || defaultApi, { + fakeFs: defaultFsLayer, + manager + }); + dynamicFsLayer.baseFs = new NodeFS(fs__default.default); + } +}); +manager = makeManager(defaultApi, { + fakeFs: dynamicFsLayer +}); +if (module.parent && module.parent.id === `internal/preload`) { + defaultApi.setup(); + if (module.filename) { + delete require$$0__default.default._cache[module.filename]; + } +} +if (process.mainModule === module) { + const reportError = (code, message, data) => { + process.stdout.write(`${JSON.stringify([{ code, message, data }, null])} +`); + }; + const reportSuccess = (resolution) => { + process.stdout.write(`${JSON.stringify([null, resolution])} +`); + }; + const processResolution = (request, issuer) => { + try { + reportSuccess(defaultApi.resolveRequest(request, issuer)); + } catch (error) { + reportError(error.code, error.message, error.data); + } + }; + const processRequest = (data) => { + try { + const [request, issuer] = JSON.parse(data); + processResolution(request, issuer); + } catch (error) { + reportError(`INVALID_JSON`, error.message, error.data); + } + }; + if (process.argv.length > 2) { + if (process.argv.length !== 4) { + process.stderr.write(`Usage: ${process.argv[0]} ${process.argv[1]} +`); + process.exitCode = 64; + } else { + processResolution(process.argv[2], process.argv[3]); + } + } else { + let buffer = ``; + const decoder = new StringDecoder__default.default.StringDecoder(); + process.stdin.on(`data`, (chunk) => { + buffer += decoder.write(chunk); + do { + const index = buffer.indexOf(` +`); + if (index === -1) + break; + const line = buffer.slice(0, index); + buffer = buffer.slice(index + 1); + processRequest(line); + } while (true); + }); + } +} + +module.exports = defaultApi; diff --git a/typescript/allergies/.pnp.loader.mjs b/typescript/allergies/.pnp.loader.mjs new file mode 100644 index 0000000..e5a5429 --- /dev/null +++ b/typescript/allergies/.pnp.loader.mjs @@ -0,0 +1,2126 @@ +/* eslint-disable */ +// @ts-nocheck + +import fs from 'fs'; +import { URL as URL$1, fileURLToPath, pathToFileURL } from 'url'; +import path from 'path'; +import { createHash } from 'crypto'; +import { EOL } from 'os'; +import esmModule, { createRequire, isBuiltin } from 'module'; +import assert from 'assert'; + +const SAFE_TIME = 456789e3; + +const PortablePath = { + root: `/`, + dot: `.`, + parent: `..` +}; +const npath = Object.create(path); +const ppath = Object.create(path.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.posix.resolve(...segments); + } else { + return path.posix.resolve(ppath.cwd(), ...segments); + } + }; +} +const 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); +const WINDOWS_PATH_REGEXP = /^([a-zA-Z]:.*)$/; +const UNC_WINDOWS_PATH_REGEXP = /^\/\/(\.\/)?(.*)$/; +const PORTABLE_PATH_REGEXP = /^\/([a-zA-Z]:.*)$/; +const 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; +} +const toPortablePath = process.platform === `win32` ? toPortablePathWin32 : (p) => p; +const fromPortablePath = process.platform === `win32` ? fromPortablePathWin32 : (p) => p; +npath.fromPortablePath = fromPortablePath; +npath.toPortablePath = toPortablePath; +function convertPath(targetPathUtils, sourcePath) { + return targetPathUtils === npath ? fromPortablePath(sourcePath) : toPortablePath(sourcePath); +} + +const defaultTime = new Date(SAFE_TIME * 1e3); +const 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 /* 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 = 0 /* Lock */; + indexStat = null; + } + } + if (!isDestinationHardlinkedFromIndex) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + } + const tempPath = !indexStat && atomicBehavior === 1 /* Rename */ ? `${indexPath}.${Math.floor(Math.random() * 4294967296).toString(16).padStart(8, `0`)}` : null; + let tempPathCleaned = false; + prelayout.push(async () => { + if (!indexStat) { + if (atomicBehavior === 0 /* Lock */) { + await destinationFs.lockPromise(indexPath, async () => { + const content = await sourceFs.readFilePromise(source); + await destinationFs.writeFilePromise(indexPath, content); + }); + } + if (atomicBehavior === 1 /* 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(convertPath(destinationFs.pathUtils, await sourceFs.readlinkPromise(source)), destination); + }); + return true; +} + +class FakeFS { + 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(path, { algorithm = `sha512` } = {}) { + const fd = await this.openPromise(path, `r`); + try { + const CHUNK_SIZE = 65536; + const chunk = Buffer.allocUnsafeSlow(CHUNK_SIZE); + const hash = 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 result = await cb(); + if (typeof result !== `undefined`) + p = result; + await this.lutimesPromise(p, stat.atime, stat.mtime); + } + async preserveTimeSync(p, cb) { + const stat = this.lstatSync(p); + const result = cb(); + if (typeof result !== `undefined`) + p = result; + this.lutimesSync(p, stat.atime, stat.mtime); + } +} +class BasePortableFakeFS extends FakeFS { + constructor() { + super(ppath); + } +} +function getEndOfLine(content) { + const matches = content.match(/\r?\n/g); + if (matches === null) + return 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)); +} + +class ProxiedFS extends FakeFS { + getExtractHint(hints) { + return this.baseFs.getExtractHint(hints); + } + resolve(path) { + return this.mapFromBase(this.baseFs.resolve(this.mapToBase(path))); + } + 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; +} +class NodeFS extends BasePortableFakeFS { + realFs; + constructor(realFs = fs) { + 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((path) => { + return npath.toPortablePath(path); + }); + } + 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((path) => { + return npath.toPortablePath(path); + }); + } + 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, result) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }; + } +} + +const NUMBER_REGEXP = /^[0-9]+$/; +const VIRTUAL_REGEXP = /^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/; +const VALID_COMPONENT = /^([^/]+-)?[a-f0-9]+$/; +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; + } +} + +const URL = Number(process.versions.node.split('.', 1)[0]) < 20 ? URL$1 : globalThis.URL; + +const [major, minor] = process.versions.node.split(`.`).map((value) => parseInt(value, 10)); +const WATCH_MODE_MESSAGE_USES_ARRAYS = major > 19 || major === 19 && minor >= 2 || major === 18 && minor >= 13; +const HAS_LAZY_LOADED_TRANSLATORS = major === 20 && minor < 6 || major === 19 && minor >= 3; +const SUPPORTS_IMPORT_ATTRIBUTES = major >= 21 || major === 20 && minor >= 10 || major === 18 && minor >= 20; +const SUPPORTS_IMPORT_ATTRIBUTES_ONLY = major >= 22; + +function readPackageScope(checkPath) { + const rootSeparatorIndex = checkPath.indexOf(npath.sep); + let separatorIndex; + do { + separatorIndex = checkPath.lastIndexOf(npath.sep); + checkPath = checkPath.slice(0, separatorIndex); + if (checkPath.endsWith(`${npath.sep}node_modules`)) + return false; + const pjson = readPackage(checkPath + npath.sep); + if (pjson) { + return { + data: pjson, + path: checkPath + }; + } + } while (separatorIndex > rootSeparatorIndex); + return false; +} +function readPackage(requestPath) { + const jsonPath = npath.resolve(requestPath, `package.json`); + if (!fs.existsSync(jsonPath)) + return null; + return JSON.parse(fs.readFileSync(jsonPath, `utf8`)); +} + +async function tryReadFile$1(path2) { + try { + return await fs.promises.readFile(path2, `utf8`); + } catch (error) { + if (error.code === `ENOENT`) + return null; + throw error; + } +} +function tryParseURL(str, base) { + try { + return new URL(str, base); + } catch { + return null; + } +} +let entrypointPath = null; +function setEntrypointPath(file) { + entrypointPath = file; +} +function getFileFormat(filepath) { + const ext = path.extname(filepath); + switch (ext) { + case `.mjs`: { + return `module`; + } + case `.cjs`: { + return `commonjs`; + } + case `.wasm`: { + throw new Error( + `Unknown file extension ".wasm" for ${filepath}` + ); + } + case `.json`: { + return `json`; + } + case `.js`: { + const pkg = readPackageScope(filepath); + if (!pkg) + return `commonjs`; + return pkg.data.type ?? `commonjs`; + } + default: { + if (entrypointPath !== filepath) + return null; + const pkg = readPackageScope(filepath); + if (!pkg) + return `commonjs`; + if (pkg.data.type === `module`) + return null; + return pkg.data.type ?? `commonjs`; + } + } +} + +async function load$1(urlString, context, nextLoad) { + const url = tryParseURL(urlString); + if (url?.protocol !== `file:`) + return nextLoad(urlString, context, nextLoad); + const filePath = fileURLToPath(url); + const format = getFileFormat(filePath); + if (!format) + return nextLoad(urlString, context, nextLoad); + if (format === `json`) { + if (SUPPORTS_IMPORT_ATTRIBUTES_ONLY) { + if (context.importAttributes?.type !== `json`) { + const err = new TypeError(`[ERR_IMPORT_ATTRIBUTE_MISSING]: Module "${urlString}" needs an import attribute of "type: json"`); + err.code = `ERR_IMPORT_ATTRIBUTE_MISSING`; + throw err; + } + } else { + const type = `importAttributes` in context ? context.importAttributes?.type : context.importAssertions?.type; + if (type !== `json`) { + const err = new TypeError(`[ERR_IMPORT_ASSERTION_TYPE_MISSING]: Module "${urlString}" needs an import ${SUPPORTS_IMPORT_ATTRIBUTES ? `attribute` : `assertion`} of type "json"`); + err.code = `ERR_IMPORT_ASSERTION_TYPE_MISSING`; + throw err; + } + } + } + if (process.env.WATCH_REPORT_DEPENDENCIES && process.send) { + const pathToSend = pathToFileURL( + npath.fromPortablePath( + VirtualFS.resolveVirtual(npath.toPortablePath(filePath)) + ) + ).href; + process.send({ + "watch:import": WATCH_MODE_MESSAGE_USES_ARRAYS ? [pathToSend] : pathToSend + }); + } + return { + format, + source: format === `commonjs` ? void 0 : await fs.promises.readFile(filePath, `utf8`), + shortCircuit: true + }; +} + +const ArrayIsArray = Array.isArray; +const JSONStringify = JSON.stringify; +const ObjectGetOwnPropertyNames = Object.getOwnPropertyNames; +const ObjectPrototypeHasOwnProperty = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop); +const RegExpPrototypeExec = (obj, string) => RegExp.prototype.exec.call(obj, string); +const RegExpPrototypeSymbolReplace = (obj, ...rest) => RegExp.prototype[Symbol.replace].apply(obj, rest); +const StringPrototypeEndsWith = (str, ...rest) => String.prototype.endsWith.apply(str, rest); +const StringPrototypeIncludes = (str, ...rest) => String.prototype.includes.apply(str, rest); +const StringPrototypeLastIndexOf = (str, ...rest) => String.prototype.lastIndexOf.apply(str, rest); +const StringPrototypeIndexOf = (str, ...rest) => String.prototype.indexOf.apply(str, rest); +const StringPrototypeReplace = (str, ...rest) => String.prototype.replace.apply(str, rest); +const StringPrototypeSlice = (str, ...rest) => String.prototype.slice.apply(str, rest); +const StringPrototypeStartsWith = (str, ...rest) => String.prototype.startsWith.apply(str, rest); +const SafeMap = Map; +const 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}]`; + } + }; +} +const 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 +); +const ERR_INVALID_MODULE_SPECIFIER = createErrorType( + `ERR_INVALID_MODULE_SPECIFIER`, + (request, reason, base = void 0) => { + return `Invalid module "${request}" ${reason}${base ? ` imported from ${base}` : ``}`; + }, + TypeError +); +const 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(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 +); +const ERR_INVALID_PACKAGE_CONFIG = createErrorType( + `ERR_INVALID_PACKAGE_CONFIG`, + (path, base, message) => { + return `Invalid package config ${path}${base ? ` while importing ${base}` : ``}${message ? `. ${message}` : ``}`; + }, + 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; +} + +const packageJSONCache = new SafeMap(); +function getPackageConfig(path, specifier, base, readFileSyncFn) { + const existing = packageJSONCache.get(path); + if (existing !== void 0) { + return existing; + } + const source = readFileSyncFn(path); + if (source === void 0) { + const packageConfig2 = { + pjsonPath: path, + exists: false, + main: void 0, + name: void 0, + type: "none", + exports: void 0, + imports: void 0 + }; + packageJSONCache.set(path, packageConfig2); + return packageConfig2; + } + let packageJSON; + try { + packageJSON = JSONParse(source); + } catch (error) { + throw new ERR_INVALID_PACKAGE_CONFIG( + path, + (base ? `"${specifier}" from ` : "") + fileURLToPath(base || specifier), + error.message + ); + } + let { imports, main, name, type } = filterOwnProperties(packageJSON, [ + "imports", + "main", + "name", + "type" + ]); + const exports = 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: path, + exists: true, + main, + name, + type, + exports, + imports + }; + packageJSONCache.set(path, 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( + 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 = 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 && fileURLToPath(new URL(".", packageJSONUrl)), + fileURLToPath(base) + ); +} +function throwInvalidSubpath(subpath, packageJSONUrl, internal, base) { + const reason = `request is not a valid subpath for the "${internal ? "imports" : "exports"}" resolution of ${fileURLToPath(packageJSONUrl)}`; + throw new ERR_INVALID_MODULE_SPECIFIER( + subpath, + reason, + base && 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( + fileURLToPath(new URL(".", packageJSONUrl)), + subpath, + target, + internal, + base && fileURLToPath(base) + ); +} +const 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; +const 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( + 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 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, fileURLToPath(base)); + } + let packageJSONUrl; + const packageConfig = getPackageScopeConfig(base, readFileSyncFn); + if (packageConfig.exists) { + packageJSONUrl = 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); +} + +let findPnpApi = esmModule.findPnpApi; +if (!findPnpApi) { + const require = createRequire(import.meta.url); + const pnpApi = require(`./.pnp.cjs`); + pnpApi.setup(); + findPnpApi = esmModule.findPnpApi; +} +const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/; +const isRelativeRegexp = /^\.{0,2}\//; +function tryReadFile(filePath) { + try { + return fs.readFileSync(filePath, `utf8`); + } catch (err) { + if (err.code === `ENOENT`) + return void 0; + throw err; + } +} +async function resolvePrivateRequest(specifier, issuer, context, nextResolve) { + const resolved = packageImportsResolve({ + name: specifier, + base: pathToFileURL(issuer), + conditions: new Set(context.conditions), + readFileSyncFn: tryReadFile + }); + if (resolved instanceof URL) { + return { url: resolved.href, shortCircuit: true }; + } else { + if (resolved.startsWith(`#`)) + throw new Error(`Mapping from one private import to another isn't allowed`); + return resolve$1(resolved, context, nextResolve); + } +} +async function resolve$1(originalSpecifier, context, nextResolve) { + if (!findPnpApi || isBuiltin(originalSpecifier)) + return nextResolve(originalSpecifier, context, nextResolve); + let specifier = originalSpecifier; + const url = tryParseURL(specifier, isRelativeRegexp.test(specifier) ? context.parentURL : void 0); + if (url) { + if (url.protocol !== `file:`) + return nextResolve(originalSpecifier, context, nextResolve); + specifier = fileURLToPath(url); + } + const { parentURL, conditions = [] } = context; + const issuer = parentURL && tryParseURL(parentURL)?.protocol === `file:` ? fileURLToPath(parentURL) : process.cwd(); + const pnpapi = findPnpApi(issuer) ?? (url ? findPnpApi(specifier) : null); + if (!pnpapi) + return nextResolve(originalSpecifier, context, nextResolve); + if (specifier.startsWith(`#`)) + return resolvePrivateRequest(specifier, issuer, context, nextResolve); + const dependencyNameMatch = specifier.match(pathRegExp); + let allowLegacyResolve = false; + if (dependencyNameMatch) { + const [, dependencyName, subPath] = dependencyNameMatch; + if (subPath === `` && dependencyName !== `pnpapi`) { + const resolved = pnpapi.resolveToUnqualified(`${dependencyName}/package.json`, issuer); + if (resolved) { + const content = await tryReadFile$1(resolved); + if (content) { + const pkg = JSON.parse(content); + allowLegacyResolve = pkg.exports == null; + } + } + } + } + let result; + try { + result = pnpapi.resolveRequest(specifier, issuer, { + conditions: new Set(conditions), + // TODO: Handle --experimental-specifier-resolution=node + extensions: allowLegacyResolve ? void 0 : [] + }); + } catch (err) { + if (err instanceof Error && `code` in err && err.code === `MODULE_NOT_FOUND`) + err.code = `ERR_MODULE_NOT_FOUND`; + throw err; + } + if (!result) + throw new Error(`Resolving '${specifier}' from '${issuer}' failed`); + const resultURL = pathToFileURL(result); + if (url) { + resultURL.search = url.search; + resultURL.hash = url.hash; + } + if (!parentURL) + setEntrypointPath(fileURLToPath(resultURL)); + return { + url: resultURL.href, + shortCircuit: true + }; +} + +if (!HAS_LAZY_LOADED_TRANSLATORS) { + const binding = process.binding(`fs`); + const originalReadFile = binding.readFileUtf8 || binding.readFileSync; + if (originalReadFile) { + binding[originalReadFile.name] = function(...args) { + try { + return fs.readFileSync(args[0], { + encoding: `utf8`, + // @ts-expect-error - The docs says it needs to be a string but + // links to https://nodejs.org/dist/latest-v20.x/docs/api/fs.html#file-system-flags + // which says it can be a number which matches the implementation. + flag: args[1] + }); + } catch { + } + return originalReadFile.apply(this, args); + }; + } else { + const binding2 = process.binding(`fs`); + const originalfstat = binding2.fstat; + const ZIP_MASK = 4278190080; + const ZIP_MAGIC = 704643072; + binding2.fstat = function(...args) { + const [fd, useBigint, req] = args; + if ((fd & ZIP_MASK) === ZIP_MAGIC && useBigint === false && req === void 0) { + try { + const stats = fs.fstatSync(fd); + return new Float64Array([ + stats.dev, + stats.mode, + stats.nlink, + stats.uid, + stats.gid, + stats.rdev, + stats.blksize, + stats.ino, + stats.size, + stats.blocks + // atime sec + // atime ns + // mtime sec + // mtime ns + // ctime sec + // ctime ns + // birthtime sec + // birthtime ns + ]); + } catch { + } + } + return originalfstat.apply(this, args); + }; + } +} + +const resolve = resolve$1; +const load = load$1; + +export { load, resolve }; diff --git a/typescript/allergies/.vscode/extensions.json b/typescript/allergies/.vscode/extensions.json new file mode 100644 index 0000000..daaa5ee --- /dev/null +++ b/typescript/allergies/.vscode/extensions.json @@ -0,0 +1,7 @@ +{ + "recommendations": [ + "arcanis.vscode-zipfs", + "dbaeumer.vscode-eslint", + "esbenp.prettier-vscode" + ] +} diff --git a/typescript/allergies/.vscode/settings.json b/typescript/allergies/.vscode/settings.json new file mode 100644 index 0000000..761fb42 --- /dev/null +++ b/typescript/allergies/.vscode/settings.json @@ -0,0 +1,7 @@ +{ + "cSpell.words": ["exercism"], + "search.exclude": { + "**/.yarn": true, + "**/.pnp.*": true + } +} diff --git a/typescript/allergies/.yarn/install-state.gz b/typescript/allergies/.yarn/install-state.gz new file mode 100644 index 0000000000000000000000000000000000000000..586fea2d8b60ed5d610b3c87f8c78537f7263b49 GIT binary patch literal 640778 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

VUw!e`-F=`WvLcA&OwV3u+kkF^KbOTCmH_r&j$ z;nDki9D^8HRfCx2GwuC3Zst!voG&8nMztzeFclL@;^9nE&Z?xbXK;A?68t3lzP@TV z?c$qYR?FJgfQ%dmC+JKg-ptM}iKmo}*6TknnJqzTT}E&Rr_wE?JP(BFLsT_fALb}Pw7&oAq9PSWyy zc4`Y`!PU>N4`n(sZN#=XmmK{yrY!GWtJ4}oz0w)d2KC$Vn(8I%vwW_*Zt9xZ_`SsG zBP*8sJS7+C%pOGC9t6#drqYR=dV6To8mwYJ{_9iASvJD&k@!ZQ2L|$|EzV<0p-U9Qv`Z)9KPs_dL*zY72(|&9A!hCke z5bjVoM2s3`|iWC!`_kEseRDRc7huW5W3o#J-%T9?&BrHLSd520K!b7A2%0DNz1!I=K_i{X+hZeF-#??noiqwR(Jq#>F=b!Wokp7*jPT#s(vqKj>DQ>2GaQh^M~wWbd~5U~MAO2lPi?Kce;p2S1+gjp!t54UE}i$-%z1XNhNiYxP!`tNdeK##=<2>DSXsBUUyqV_;zhd+8Cit9 z_8uei^UlFi;<b9r5#SI=CBgL%TmB8x+f)>GmK z`$e^x`%ZbT^6TsiQB)G^~nR7D=F*0UkS<0?JaQgcqdg4u&RBe>6$H_Fw5Q-EjKR>lV zWL~8lEG%}L)h{<1(;_W@&hq_5(0aDKU9D7@j9TyQNVgXMiRQ7(tRS2hB_t()L{iwIA!~p2`j?3n5J@f(x|NKmbLZlxkO;dF*0synJ zP;vHgq~>kGpRrgzCvZ`fqUE(1x#u|Cll(3%c>rTN&->ROq-^Iy@16M?T9%en*w?6eGToc@ zGNzp_c;p%za1R3MW7$r*YvSG@vhdg)^a$?$f%c;jpN0ArCLBg3VHiEzjBFj!w>1 zgl(xIHjDs`o@2!LhpC)7c6zg*jV6VLS>vs7QPf z))GB8It8ZYl9FJMXNxImi{xkIH6sTid_9p>NcAb#_Ij8=|J=vjAjf zqj=8+gs#Ii`@J)lKSHd$8BaEO%r^(EmJmX(!Py$XbN2F`*+9SbKh* z4obc)M3KYw*H6xR$44^dTde+R5i@oFP{p%PKn{6@eBEcL?vyje*xDBCmTd5|uQGye zVUs4{>Gv*UG>W#d>LWlu-+WGZ& zFLo*+hqd5=P93+eF~?!xLyZV!+{0VOQ4c00moZ84$W) z$e8=FMi0qHnTNO- zZ*Wp%1@wsosBhZkD)lmZK3UC()Qb=&|M`t!Xf;3UWFvNhmTFbrp?S7DimE&e?cV43 z74Cp2@m$^3SsSYD3WA#czga9?2^ToYlin+zeSrK&!2n;}4T07HhDQ8({CYz)d6_+= zS+g;9xxUr=puEn<&dB$**~*BB_xr#>&VeB0(h0~K3e%xh$?XnKGEc(={{mi1gRdPF zae2B>p`uNn#0}sl{X7|Q`Z+HuCe?T5U$e>OwG9p&{*3?+42CeJ%7|;6w=PgbbCZA@ zEy6t6emJ7Nvv;Grz#n|ux26vS0ul;(AJ8Xs=hOB*e-(0belNIYc zIMvp>aIZPG>6eZk4_DtD2cTnDX49cQ?fPoUcH*E399RykpJu6WufhWlbEvJ`S9GH* zu$%roOMQ=FQRsfA-cic3=(>YvJ+D8XF@wDSYyh`Lm>Zir_9kZv{_pLt_{$$>mY+MG zuXS6sgV{I$;BPTcWE#-tn0y3YZLRpZq;cIrWjG}kcnQ+9M`Mf|-9QiwD~?l>LuHMT zOV|fl`h3(C$Rr!)KOLHCo%c*9=4q$5o$YWP8uiFQE`z6d*O^)br%r6f z4*Cs%z7~zg&hzCI+5C4OG090|X8vz^_4aZ=T3Ho_4aa$%kLwQoj$ zjo1LhXczQ%g-rF&%l!Z2fBnDp|NYPVhx5Q?j4>BQ_O-Q7&2`VsYM;UW)p{Bk^!&&c zEUKBdUvI%lr1s;Y*u`B>&iA0m&DTzEr<1aBo$+kl7lBtzHpyRGcSIey8^4|?O(eVH z&Q-Hq39ipBhshqP(*2em3J;Xvtxq&!*?g@K$ z8|J6#<%{cUf@lNCJm;SS^8R!d-ybVgeS6<`S58`D1jk1A&t-@44B$;=eX7PP(?i4z z%3915!s2Uf^)uKrJ&my3z)bhstt@*EC;?I!jkC?y_rS{aTFTE))?}y2M8&ntcT9LX z&SUGs02zn$DV!cB#t$9Z{D?Nnt5H3Iy|Xhv@ZX>g4weA-Fx4y{Rx8ka^gnKgpd^DYkI|- z3~`EBeNQ8K6%;S)CY@8v!&&!=bcs>)p+7h~t&cP{xundvHLtPul03K|?$6sAE!iiw zwbz=@x`i716v~EUNR2*KT-GH3u-c-Qian=-Az1l?(-(e^uD1FlR5uW1Ux<$$_bHhd z@>W2Qw(9MKKl`0)JrntPK;p<$yE0d;%_GzIuXY=woJ3W&FjX; zi{Ey+b_2#xv4JIrzOm3-lMk9+28@Q-(j?N+W_ycctMRHoyuN+30vRTA-=1c^0CnD` z*l}(C`qHiy2E=zy&kF_Ru{xc;Sc+S+87h>KDfh0>uNjT8X?Y-l#igE0;Iy8)GW=z_$6Vx=- zl1$Bq#QdBX0uH3HwTpPN49C}^NY!s|!+rQ3$Cpg+_o7=~v0rgaZ>!1ueQNa_)C{>K zh*D30c2jLOAQ5L>AwPCDU6gf`u#0>k6I@u|V8!DJ;JURv-IJTpEQz|ZiT9^_CQ{jyPg*TR?p%bP8TZTi*~E0d67Juf3RGiXK0;7jxx~n;5<|~pBOeXJRi87*+xU#`QQQy6u_f^- zuiH+WL+4`We9FOc%A|Mow9?jHPk+v|U4!@DB86j48l?`KZ$gVqYmvf)2{3$FbDjr0 z!keI_ePAfp>qp<1N`ZJwcUq4JExOTuzrtwP>eJQpeVxz3j3ya_VE;K*Dc8IysO0XI zQr+iV)j2^A>=Z(Bo^N0i`)^sBL-u`Vr;|QzH*@P)z2{(StupG-JhEo(E1ePrWxbB| zas#vrjtU!+#>-#-_UOAdwJ{f9!~-}ub572m_AUelzCBOok%gSL%e3W3rOA3Bx@|~p zYNw_HRd9Pf@}p&8`y9RPeNF3A2yRll{VuOTnRfp^-V$>!#jbga__u!nIS&j~Z@-VJ z&4gOeRek--^ghppb4l3(eoq;jg|dLMJ*>Suxot$wJq_wI+1HDB;y9(nW4#GtdMW*R z8Kvd1#TWrx60bAnl2bCeE!b97?@Fg)%i2=BzF907|EXUI)A~vl(00$h^Fool%hsEC zVE_{Cw${^98HW|Uf-0P`GMoN6$Muh!QaAX**B+e~@PDSB`R3?p>$MMEHoD5mPvJ7o zH%F@{?b~T?UTUY}?3lWD8)qc(TIBk(`K7pWViL*1Xtc39o^^$T~!ObRfjoD0A+FOJv8T1wb0sp*r&z0#TtTSG^MV4UHBWP}f@xdJw#bDCQ!ZCP( zYfLmDl!#iLY65`|7h8kka65ed{By(TAOH5C9=+&o=z+ICp>c+)J@sKxyX|od!9PkoE_td?)G6APhe@t!mDcoQ?m8*8G&K0`r%KtnUSIKabx{^2}liBhAu zx`Qswa!QBZ|5 zb>l6~zN8a%SOVU%mkLI-_6S@zx!Vp;q$ydkop3UGl=gj%BeC7W^FOz(jNA7++NGEP z?Eh;;u>a@(bZRl69*=cKrfuo_ZevGIM9vv3Z+NAhbrAivGYX1n{x`sE+xGzN{Mx9^ zQg>gnJRa{fkG<&S=p2`6mC+&!{4FYQ+RiNhzqLa7KmBD-57KRwB!2mP1Zk^yE(Z z*Wskg<6wr?HQVz+jc8HFpyU9-yyK!%!ce?jO8Y~r4SeA7eMLFchP{lu94<)=6bEmN zi^j(kW`na!5?S+wQi6y%-n*L_@z0S-Y?Q+m>YKB%hg*AxtYe~b0q|NhnUl_D{PUvTDU-M*6lC0@^cr4F*^Vdh}W{YYo&YvxH?K%OKRxrk zCKFW%>_Kuc&n18T+e<}_=`j9J^d-6GLCmqDZ?=unP}jzrp_FL8NUF|#zC%v6G4FRx zMVu8C_jcRw%2#9P6CUOn8lze%p;b^BvyIJi&HMX(tkXuv^K?3QY&gE);y6Q-@g@!T z8fwcqW_?p!opaf1a_$5pCmCR`HkZW_yDo2tJ%K@9w?l602_Nn`2Ilx0vf-6#J8aeT z=QK7)$)F!4t+I-1IvrX$7-+jMU{@^#W8#fH8x6F|Wa)XX_=aG8SqxHFO>((B zc$2RxMcM`K`zZ;D?d|Mtw&_a!yeTF4DZ}t_z`J;x2DUcXYBndFN2;XfcE)IX>7d`% zWwez?R!N;Rc^@q8gVj4==SEl9kkV>xSzbh$strntsC3>XyQ(tc&#fze6_8LWQhSlK zeE0Id+)hK(uv=r?z_%=tzx9H+rdv3&OmlHIM^}0ch^)I;@5kfi$=LU5PG95>qBF$) z4Bu4bh!#G$K1_xYR|mk^GUR~xf92kvf|;n zh*e0AV%Dr2v;d(b_qngns$0OX&d*t^xz>H%ewcl6r-WC^seFkQNxH7>tpojaxT=A1vR9{ygl$N zMi63~tG)pvH1^eh4n*v0p4@G9J5A-hL5*mR<9bC{ij$T{pl5nIcOZ|~glaUXV=2FL zO<*1tJe*dwe4B9VoRztbj*L}8&VCautiyNv1U$(h@oQpWD-gb0k-Y(AR3~ukYHJpZ z-`8iCKFCb;1n$yFV%gLfnj@DOdA5pk4Xf;zu$Dekgw{Z31u!TR?8Q z+t2AOlg={Hz6KUn`ZFE2kkdqig~c6W0#$`k%2VSxSR_?KKa1sc9^bU$4m>4{YQ|LJ zb5dP_F)_4aFjRcJZw~L%jU0x#(ywFxZBSS{jgUKhD8vio8rvhB<9CnjHtjG!M`xb3 zSC}z`xp&F!^3JOPVtzRK`tQCDc)#V z7nW_6^F=v&mzO7m3uwzdR{00DJniGKN(DlW<}w~go!0ygUFm*0i8(J98TMgjDZWTI zzcPk(`!usV^NxQMUJaI0yul_^g&{9eyG^of0FDO~q$Tf8u21(fj3a^>C+9tFgVte; zO%dZ>!*PKbnIFgYNm3uv9_JtkeI*H|TrUXL8ZrKy#r>BNU9zMPun|xMu0?$}1=GCA zIR*?QvC^9{ZFsu@^Vl5>a0inCMuIsDRWjz>t9ID;7G24^XVtZ;>!Yo4`&P1c0dEVgsIZnSKG_lU{w9854vqK_pofg8w~CvYMCMO)uMI_74a znkdP0){7)HSC;}@t1*?viI$CgWYb;i#qVdx@+*yAiM)L?}xE%P1#dv-G745Z3_VD zn6mMo-otam^FnZrH}<_JNsbiX#hrK7#1QlZ)mz4YZ-&L%=u1TwmeCJB{v2n~7JzoE zr_lNKS296pDf|9kv%ZK(gF2aaT~3|bsl<+Bcg((S%?kxHn0k%pH2XhIg~%RQM4Zp9 zyvaS1&_8z}+4ae4y1U^jF;oPR>1N02 zGAFs(miIQD*z5Y78n1LoC*nAL_V|9S;niOE_ulb+us9!)dvn9^mh-IP#nI(S{O*!P z(Dn0c1cL*~(o4_Q&(3k7tFb|#bySRG&;3RhZSUNq;nJ9ej@)v;3}nbR9i3c8`ihLQ zCDa1;fYWeYb}N4Oz%j@Aie>-FWPUw|vG%^Ia`=wC6xDT9U$^PIIp487tJxjdc1Cp> z#pkQNg&swHZseR7kWG!&Ay|89oyE*!4%^C+tk~`jKCP$6+>QU2;w`OT|9Ep4dKzxv zqG3SuhM7tml1lfszwuZky5F?7fqesB0i>V{|i-u^Z63 z#(#c2@NM0Zyw3Ag!DHLY8Z&UdY@M}%G3Zv>4_}mQ-@CWJ{BQa`K8787tAx_`=8pDI zz|A@9^Z|Km5!!1Pd*HXj&@DZOSKsn}-gv-Jc=O)b`5cOkGY5#$c>=}uIH&ak*Lf~U zeKL+`%wGK2^PsA}Cvzg`lWBY1$?0c)0&826t~A8PPTtEd)j5U5qTIx_a1LL zO}L#rn%pHFOQ@VruXhA52s~dBeOTkM&C~v$)&73!x6*( z`Mv%xUmB&mzl&t5@J_PR<=yB=`}Qe&vbO2<|KL*JlSK*7)pcF|A~`>sDhU|B&t~k) zjQ_I|Pf#z_e1uP*mM2kLjQ;ul?sz{>Px1=rwVX?!f1sD+Zg$67Ge}atNndB4_iTSt zdO0=E317M9n=qbVuJ(y-NUCo zJqi)~hLQpuxb8>=^sN<+^zEAy?oY}bV==D#R=vDrZw|3nIaw3i4X>*apMAW+a~}p_ z5$WoGaKQejpVIBx=aOs*xeQ{k-u5j)GHs=p?mT|6LB^}b&^ z6P|U?>3+e6E@2G$<~~iz10va6p%Mh8SM=*YziB)O@wm|EZSQL#ZHnu+ioW=VCMsWZ zgL@W|mvt@%Ke0|B^Z_Nb%5km9Xq9cvHO3nNqpzaaTy+GDBqBQ6<;OR57z>I@Kd%zR zUA6%W?s3K!EV%cKMZIj0y&BxKG}|H*qJ0vG1XsRh?}WIlH0v!Re5;c>6rg`Qx&hig$;2G%D?r4G* zu!)SgR`T<9E}^BvF+b0F)TyF($)Qz?x$b8-mo`fOz2_UNdRd>(vi+!O6Nbi<@4ux!!C^4P;@?>6<|8P^2k~XU||^@ zp0*o41uE88rIAIuSDVZZ9A)lnOzo63jlh0gjBMt;pAcfafjq81D%Q`d&kLdI=gFDO zD^k)>3q?J^NRb$?gq{P3GTepmiE>_D5G2a6f$eF z92D?PkBa@sIoqvXeR`fRZTa@G1_*WIOdTmat>??#S>Jo#4t%uoU-83OAiWro znaLynjf13q<~&7_H|;h6I0y3qCa<-m8VuKYH$6`ErOXc9KZXcR*nq-B7EJi=zBxQM z)jXnAVkq0{?{{neaXT~S3mHw!KQ>PXGYdi!s8rudd2?)!7wqR7x;5kX3L>qqaqoDA zNk9t!T#GpNunP@D>%te^h7=gV1t52pW*KjrFV+2(rtagp0^fOOE> ztwOlFvk-lXC;fbfl9&k&pE+;aV&}Zh0NF7C}BL?G9tWEW7C*QgPTt z#mpCAH7AC^{mA1MQrzAL_V-d<^ZI6y{*Tf^b)+@MNoNY+@1Y#3Ss{h@od}wnA`TC1 z5O@X{Pwe?T$2bQ>f=?_cn=wUVB-1lN-^~m(qtc76x^AQl_j|z756v)uK#q}#RYEnzQ_|ye9;3n46Ex%vE0=3lnGYmN7@d6GQ6ldZHxH4EU_QGN zLp)1pETad+DgXY%nE$VL`R$B0KXcygy9PnVp+pTCyh zAhEIYqPVB{tU@a9T;voIJMNdJHf(H#!t;T&nyPoU>b24UtwGpk_Mq zHFdQv1j23ZBx>~p(O^SMdqz|19bn_nb(}N^%&*aLUkDHTGTr-{jbV|yh8|YB3N;zU z)6_T>F~3>Ndg-kKuG(9ma46I4$(Atk?k%mr)0@qEYFCwyz2$D;2-NX^U8W#UzBewe zBm4G0h4;uA4>6E2D&&O9(^Xbc!R4bWu&*@=h4zvqemZuf*7O{Zm4~?^O!{^8{Gq@F z66&>cpS|VLUkh{l^`nL9WlL}4sqOcQ-d&fnGlUMpfbM^X)AW^t+k(H1?5m6RJ6At22qv0mh=0L&N?mLm`+Xa2-oR|Hwmx$x>-zE~@+d%P zo+OYbb8}I>wQ7=^sg~FJ_2OVcRsQS(LL>W>ZiZL%YwC{gC81Y!rqg*sOfZMdzAel0 z*Ln5sC}R0=KKtVI#PQCUu!4b2=(fI`Agd0@YK)fhJYh6e!xIIIu+Q#~%Sfx;mrRH3 z+6><|P1m6;?qp2^d9*(Qq_^Sk=kB1+nb~S(w?krC-^Hm#wD)kZ*n>yF9p1qzkD9O6 z+(@)1vT@gdlNWi{oEv68@XeGq;4hzK^s##IFj{<&t2@c|KbQIz{nzo>aH*Eezj*K^ z6Q*&R)oI#SELLB^Y#VAy?UMr6wK=P!*kCO#5`iAs_HNP!y}Y}!-@C7rxOLh7u#d~J zBuhh#tv7xBEX`lP_gW~ovbFt1yV#osM@A-NIbJ$hpPY@=G+VOwbhIV}CxX-~6OCF; zA2sx8`{Y}*A9z6EJVpeJQZ_@L!*@)BpI{oX)X(c=T`FkDVCibF)Q3nz9 z0Om9N#b^W1iP_KB7WZW|=cATpUuR9Nd+6*vbnx7Z2}$vJu<|JrWI&a|*v3wKo&mD` z^`m7V`mJfeKNrmCPY2s5I{>ENm<9%8(c?9zOujTCrERv|;<8A?0^5=;=w^Djt2K({ zu4!X`U{I#w(q4)d*(j36tFOoX_SZ-_>vy(Kee*ozo~Q8)5RO8>9*K8)EbDs4ZWsEN z$EV_M`CfmT83vSn1AVgx?e{M0RN2P2m5?{Q^%&b8&BN2YMVrMLzU`l<)*?VV&n4`~ zX56(MYW~w!DbW`@`}GaPCOuprsYc(&*YTqyQYyZYc>8nPXMH>7gfV91gWhpvXoC+a zQ~O&^XnVzrJ@wa@_O}cn<1GcR*i71OebwB80?+-eb3cWx^?faMq}m|#MZQFCMt_IA zWI4g8+gJ-fPt!-JsOo5z_2RRjiP?CtNygiDUd;3Rd3KarzXMdoy9$&Y!+=?hpa2tl zCY=M6jnNSppNuQ$Rvyj5E{9y&77DMgPZpe`q;0W#CYPYL6Nj!t%uOPQ<$K*n)(WW^hnLqaHlC^<*7cIlVt})7{=cR|8e#NzS-)0K_9s2-A0Yu zHvgLMJBo6-c=)fnaNSr;`Tqec^t3kRy?t}3K!B$0Id(rP^V>|KEJGY{7Cvo=+4Zu6 zm|5IvpGsBE-1Tan8p*K|u{`NtdR@d$&2FY=J8dlWxY&Q&WoZBF7sCuX$Nj0jjj_EY z8xcjrGOj5uoyCXIXJYnPD4~o>EAJD&ZyR^-XlKgaIZnJ30 zM-&m@=#-Wc0o2QtK$V|AEK`MdH+R;A66ZgskL(i|k1$>=K}Q{9GR_>w@0RB>*11Gk zPBo3d!I|lI7OWVR=@OS&wwyjv6{&VFM<692tfH-{>jQIC*K$cQtZT7_g6z+4>r~#% zr7z+e>+Czx*0!SO?tPPshoH#3*+^s0Z(Xuf-0f6P4xM5X-_?D?ffwG@`G!r=7ely6 z34E^L2Ctsny1a8qqjp}JH=RS%>mTUjiHSQv{5 z^XvECwY3t4zUt^R<_$@;<*XA{@Kjh~QMWw&HjmkRb8~7BELY-<{`_D?w3&aDf0r>u zX{|N(nX683ea(8gz>3w_cN5cF4))^Lzr86Cw))kK4s8OmX#(Ey$G3E`E9rR&m*^=kh*tex6 z)oajH5(X3FV&VI_G-!GHNHA^!eSgopFd9$ayz86EgYcS++GW*u?)(PW;Sr8iLaWAX zL@6?BeC(U7JFtl-SDrDzs4NjbO{@=m;{nCXWcTsw59hXwUN08xh0cRxjoBv)=Q7P9 zna8qghkkaVZ$jt&)CuMOeK~ZF){RqgXmzuuD5?S2>qv_=rg`vl?f2G)Ba;LC!t#xu zi%YJwQ)?NWP85a)dZEunHf+i3vWG_7Z%4mv`g?ucsW}l0>G9G2Kyx@%&M>~4m}hC3 z^Ff$98EZBijx>b4kL)kr6&M+I?$5t_jSHAOOy{ui$v++}#$c-Y+z%7@S|@Dq_)$pL z^D7v|M<8(yBDtv_dja5-N1C2BXtRCUS4?)c?gQS~x9988vS=025@D?#l-nSg9Ewrv%9&SQSPFHn2L*MKT zJxweRU~D$x=R!x%3mRY2A|LclbRr`Y8}VHk9hr3VivAk2zEe!V(h+%);KkK7XmI%l za-?RgXG-+oX6{D)|0IvxDh;_+vampRyWRKv`IMTGj*Q4->>7|6zmuaEO7z*8lJ!l) zI8>AOF#Fie9CxL@si6i=Wmr$eXT1Be2+ahWfPl~YZjKU@ybFV}F3g0NdPdA&pIYWU z9zDeIz>V~RZ*VyDV$+$WL)X=Dh%c-8WEWl6I?_}YOWAD!Sgt-tALp~r4W~C^cOKlA zATF{SY6YM&#E!hV6>&Er-wD z$v565kn-P9U%1M;OPaLI-m4`dT;F$H-r3Bp0qXC$DzmM(&OSSK-lE`$R_Huv@Sn%{ zI-PS%&@9LzUeEvED9iuvpu*n2QPAi;8^LRaJn&3?zMD%9-jcxyUwq$di=a5amPxw9 zZ-0GgahczguJmo*8L@$oE`7akgTc+L`sKTS_PS-zAItpLL-^V9wvlr`&hef1V+=fR+aEdTUesm*wxrl???=mpw(_s{d&s4aui74L}mUIMvycW8SEx|(Q;LV{iC)C78YCX(Cga%`s+vdvsAfoFTFFO4uVP&H~r-{86 z=Jn;lr7yg^#Z@3yzjOD^ny0twZkvHoSvwke)W)aPW}7+AE7q~2l_MWIkncKcm1mDp=AL$Igr zjz-ARVWMjIvrM$M5l4GVuJKQI0Ue3C`_*oHg(KGqRA#LCvJ{f3@+iS@& zZ^=d>tNUv2OEa$35~a(D$~VpJ9902%%KsfZR#`uGMZ4VKzHqnoc8mgj{(pb1|L^~k zTK(V7|MkEA*Z=i@{vZGM-y*hV-8?kPv~n<+J#aeRN{mJ5{1pXYb(##+MKru|qnM94WkJgP~f;KZO`T_meU$i|< zMPtzZ{W(rEt`5DTU$A-*ThZ`Kt*_`dBHP~9Gw_H{G>3Yx#XkTk}fB{78Rs(H= zYAvhjBBMnL4IEQfW{6D(L~W+4{gNcP^XDMqaW6ZmF|3eqWgoqfx+y!i>&SQwzg)BH zyL8`gdN0Imi$hj%&^eKPWP>&RV&0a6m1xW!#vC@SOCs0o$UOF#=eApSJsG=s+K{zjZuJ5CTxyseukZ)cZ%qu_vH-~z z=hHl6uVIsbcCUuF3kGTay=VKsK4VCcu?#9B(!uZuOHRI3xM$|vGwSZ5Hw4sYGxq|R zB|S4o5`>4CT8f!QoNzC37b0A^*Q8i}GN*q}E^ia+Wk>DILZ|$XNSbe?v^FRettnf} zqU_zQ%!Bo#AWV&ccrxCGKDbZ~tsWMMR%hyx9*oR<^rutFyUs>X0sum~eB?Ne2PjyL zHImRagHAI4dP4XgtJIH+-}9k7S2RgOh?eB%Z2DS`sGjyi2+m9i?$YJ>cG410C81Er z8u6r5B;;s~QLPWuNPUNx)P~WWCX_e#N`{JS#P8F(*Kz2r_4b*emIOT?B<%KK>eq#< z1i64m33C+qAUSNzo4W6P4{pQ3uyGkm_X-3F%Qao+1&+Zv$n>*^%=7OVp_S5Q_6>4(WlVrC@k(;*F zRxOjB&K-Ew=odENekZ}_Mzz1^^8eQ-4jv$UldPP>R_a*G8qHy+1>UUo>{scY_Rk$b zXj0Z{BtFALkDEb9Q+tB*eh?7!7l)L56pvzc&_zp6sR3t^bM6~Ev;N(aHL{+(&9yF9 z^o3`&eC3QD*Kz}JqbA5HWg<(x=`A0g%XRKtug#|OUQ}M^y?Kx6c(9s)aGerh0^3z+ zXj{khUsDRm+$RX@N3tcV=5aYNd3G+9IrtE)NZW-)a78% z7u4=!9atySnV;_n$J~ecyg?XVId8O`vhF1@e@VV*ZA4OD^Q6vIiR@bnTIxZ@46%V9^0q(y?dbV`vNkUM&58Dw6*5UY%W7$jjSMm4$JH3K#p(ZFnZLR zms?Pi;^P*#toa@1&vh38VGgSzGfOe<>6lvILbup@o;MLOU95=J4~@AFwF)Npee+!? z0c+SY{=(YrHP75XuU#!Xbl&b24yuFOz;ME<{-n)E0Shou-<{{hd8D0l6g|(6;YYVI z%f)3yXCHOe9+e2Cx+)`qUhs}$_UtlIX)IxBk#^?KiH%m>aZ4C%4Pr6jZCf3%%(lOY zlAq0`(R0{W#|n~!r#;8B;maDo>9u=1f08LMoch8CJ@?x0MifE49y4kW(pzqyubboX zuLt|*EKKQ&>qKi`>Gz$U^47g)o@4FxF!C5Vm#luzaYeT}l3+S6McTKM>r~&Erzk$O z;cWv=tr~xhNi8SnKfk0MI%M1+W%YC9EkW^jtX_ZntVs_0K25?NpZ%(JYTzGP?Y#-H z@%HUg1}tAccKcc+5$Q&w0nK%?Mv6#Nawi}wpPl%{Lq( zTuefln8$X{ZZXL}NZNPl~O3<9h@|Z`KWZiwfG5&tRT8yY# zJ7enDLr;){J#nIK#%zulGY19uRu247^0BHRT^Juxylqm3s*fqxHTyXPPDfvKZ^57J zXFW$jWzSVtti9BwYY*A6UfT=q-~z3ALpI&ctwlM47rxJRC^en_ww@1UYqzn6gZPdR z+WTopYIw=7VdlI35g)a&(E}cJfzqzxn%3`_?egv=&oj%4!h@Tmqy8AgZfE;0=v+i#NBtU-+xA1)OkCH$z;jB76H|b-U)z(-}iSIsbI|ABir+K>vKG6$}Uf5Ty4wjvA%!nEOCIQ z3o#gyPbNzD>>TUuL1nt3$Y>8{;nBM#qRFh|iNEy<38Hg|$L2G=zy9s*vCE8%78Y@u zW>-)2^w%G|uZ`}I2^y1=nDifFJ1D=mE*uB=X8>*P2(rll-g8<3TV$%pUc3flL<(#K z85!d*@mB0ee*N7m>o2*G9x3w2NX}xsQGo$kYIrYp-OFY97=3-Zz?5a{q3^u4(bYzh zN-XLF_%mnQ5p;Ri7oTZovul0b+a+W}1!EBZI={a5wJC(>@4!KF?uV1EDp<4%{%hxa zjojy(?>%&p`(E1nj7s&*$FYv2+pN{2lQq3G&~Le`jRz`6YOMtU>2jKWIYj5$m(9h` z?T|fd5+7M5Gn!73nmXP^7&SWQ<#8q;u-8%z>KpJPZR5z>I-`yAdh@Q2_W==(ehD7# zBQsG9t28>f%6EFTc9HO{mb@S3{rY6xCx2ek1$MrL@Pt^3o?794p?fOvp{BU78p+-r zPm8ztC!f8^2xCwB{DT_#h-Hw%@(GwC#97ncMQ3v?5WP}{d9z6L{W^tS)?1$dlSqkJ zR+T+6b<<}1+@AbY$3`cEn1A#;JYpD|G7ThOE~g@?;$9tJ<$_a!OeXVe7V#?|Nu=^M zE~h*mSq`iF@3H6qby{D2=TPy732>gvCNz%e?1SH5=P1hjsiQ(VN-R`-oJPdrF&h@#nKf5wRP?ptqfAWuf3w32$Ai3v{yq8hB!liuZBd-^&_J|{u7Xi(VyV&eztO&oJ z7dtYj16Kj0qQ1U+hE%|%AP|>VOjg`seVA3tx$hbmA=BS43IBF3V{3YmpUhY?Uhq4h z&H-2e0J@v( zeq+4en*F0MWX~bwkf|Zj`#D8&WHCw6SVX>uc0-D3@$&BdwkF8OE@cBf^W@Ksro8y?DGFG4Y)BFeV_MWlBrSsy3jQd& z)p#>(Bfp`ko1qFBLzEp!28)neU&zzt$k-Dzf2z^&Y8sISa_p}*7kD@dUt|^ zGMAAj7j7B%niWyk_nzHH-F2(P=&kwt$VGky>Iiaz2T(h0TG{BJjQ34HBsNy7yw#{8 zXo<;)2CSIPjUAez%68}H1?($w@<3dyA=YP`Z5o{E$#g=8c)@805xO)>Yfq9+yRt?0 zH+Jn@jceuEF+*z&a4cXl_nJxvrdWmMoC#6hbdIxoe#4SqA8eM7Zl`Mlo;-J3t@+4= z6h@dyNf->=?H6Sxh6@-RC-+rW4U9+Cs-Mu6rzXF2byJkQ^>OiE-=)S&qjhgjEkIEp z*8iiApELT4{@@*V)1uz6kpqqK_G+9)3c38S{hUbXa%-&V(;l_s!O)}A0m*I4z+c37 zeQpcB75%1O3;0jaKp-Tx5%8+=(I?0D>#MJI*c6+9Y%Jyt8$sppwQZ(0Rq$VkFC%~m zhqtAhHB2ns-R7f+5Tben8;yqTuXJ`B3MEF!lZ4Fv`oMMjaRHlqkf}f+`!&-DZsO_- zzT%&NUDF=-@`4BI6IYO*HVk55^2FBHX(+3p;6y%4SKkhhsVMNI!WN zV~vOthdI*4Y~yR>pA6sh1UWtWxGnvCGw{{T9=&b-dq>@0d(DCm+LDirX!gLBE=uIW z$F1+@^rn*#9SfS(ee+1Pm)gh0!@i+~1p((J;rig?JxfNabfIdfWVfs4=t88IsR4$ zJINR7rOmibzn;~*jdQ+x(eN=|k37yn6m?QRx8Z(PVPPD4Hio)(`u0_O{QAd(dhBa4 z3sPA{RBSiqgoGyV>J4_m1nDVjcKTys47ZsqZcU$amUTjjHBVMCRJ-jtke_1mv` zE(Lp4wzoH`vTLtejPHM)X+Eij<(MMKqH7GAPiL^>dilJ^!^~52oLXbcKDU6?F0OHo zGtyh}N?|S9^x4Y=-s1wf5DR-em|(-g>w1u$Zo68rx5v+WcDb%U-S;c*_O;r&?e4KP z*}rESn~Ff26GV2h{?wIs<O4YD6FH!I=j!%NmY-ac zSwqNp{VQdngr#1G+(uM{FzgJ?cd-ZGHxCl7$8E?qNOR&?F6YEUP_Nxf^fkW*AT4%m zO0e}!31iUnal850n#FU4-n;`$5(qW>{o&;!R_h+4A7vA=Y`o^$00P8#E|YSOf@m5m z;@aDt$#-%>i52WFwcMvo*-}K!o^l3?xmoQC8^QhfQO<0y`JPB=?ap@W=hU>>#{7Kb zFA~W>Fhru=Xy~AEMqqfpRH>QW4r>1lO|>Z!U|nrWAiPwGoB4V6TIp%frN@vy+UECW zxitxat`MJ39i(XL&s+5G>DhM#4EIkHx7j8USjtISWO9^85Aa*x>6gZ39N452$od(bLAPXnPmt5iQH!U3zET<7A<}4t zo>EcV86yi~bY|o8uAsZ_sxgPiOc#6L#o`Pym4ToZ{bj$gufwE%A^P{kod0NqjLqgR z=Q{Nkc&SqugCxXpwKjeF;%dlR-e%A7uF}oLTM1-f${n?CKHGQH#LcRH__e;dk$y0t zvIf8U%nm|ejkmsIx4!&Gn~J%V=PPaw<-8^<16l(~EJx4DDnoY0(1M%V5hG1fL%iF) z!|7~$w97IkTi=|8_IgRxS7+;H>PL17>6>qEckqDe9@>`vdTU7fnn~bTt@}+IOW!@X z))&XhXjUX3mzK7gv|X*&TIB({!!Xz9wi? zGiN|bQ*~S&GD1YAzuHJ5?!7Vgo+w(^n|YUDULde`vmWQn#=&mHTPWH4T3j_xn!Sq+ z=Fz90zGTh?(WY+LXavCa`+Mo$-wtPHJ@hLk4nK2boeS#j?JPi&Lk8kRVhHEcO<=1T zyap(`+|zne)m>npPBT3i+i9jzUgsQ>t$m7#H*aIWGdyeoK$?&fe!Y|!+18bBf!mUo zv-Q|=*+*1Bteq&!WK zxS26`gYpmb_vfQE2Jw9i?n#Rd`uj7MN2+&f!jPjTkMl^qQT#`~?g4UdE zwVjv}+vf9UlG4_J!&88+Kpn;a-+1pO){rl|{5-F{`xs+d>S9j)C$s7Y_snVAB9Mdd za4|t^_Q$-skt5BkB||e_pnUAI7xtIyRv+jBPhh>0aq7Z8D##fVZTTK>bI-VA{-bt% zKa}NoSjv+`4ofg=w>#fyXDdJw08Xp1dU?&J_tveX<6x)Uiof;D?IykPbd1+WhkYC$ z*NUb1ZOEqDXCvy*SLfu~`i}PVXi(I=s6BY0%f8^9oa)YMv0npt^P~-2^w`EXhe*3J z*Hqgn+vj`{YjeT>j;8Y*5~Mgv$x&4!#E1&~)CZ)CY7xHnSxNTy*S&MVwCQW!#3C1t zI-sX+ox6@vWVJ;UkpjBU*jvU)-y(JftTb7|{(%kRbJdQcmQ%T1Zv1-oZjHR(3gJbP zr!8__Wz*E#&qX|Q%j;*bp`LHTrk7XsU{RnV)wiM+)Q)_6ZEt$@!Zhe@WpD8RcF-0e zuz>AtUT({hlL0p$(AIjlbiGaHBjXn&n z?t$4%T3>$O?!W$U<{V#CE^;a8-CHV?T4Z}X768EJ5w=Qk$!r~KIz-7vE`a?k1HaER zTd)r0kWl&w!RVW?{bNJj{-&RtT_!L`P*9E|~p|h(2702K+U)>nC z#|dObmp(l{Vgn@YDNjKpbu{p7z#+^W;UcHdk9+q+7mr8-eER zv}4Yj-t(ISCe0m+KmnYit85=bR!prHS6-l5KY#C#|J$`^+}qY5(h{mgG;l`iyT*BR z0g0}9b$__kWAt0My)h&;wBPH(Bv6%CpOR&wKaxd{XK%r(2f@srh^ES&ZLU!7sK*l7J;L{oZ}o$Ej~$Y&YQD~X|Lt{tj`p3H zjCn&}i)qb=FxzC}t~Ph;FBkkVy?gBq@z;}kZZrohhrIcub7)%+^h-TI_l|D;a9vpM zW)IbG0Vg9y9d?aPkWI$#;UeeNZ0J1*$UTN5xeqWuUqdKNLv@8;07b-ka#k8v>KRQ) zTenR#V!kIn?OI7A9U_4u5Q&mbiRmXG!up`j3pN*W3O&}}pITk0Z+z2E&1RMN;y(!70e#Z%LD{9$yqd#kruK}}$^X>blE zi^QC7z?{-W(q!+c_39PU7c1*ui?Y|R-+Otr-F61I>Fa3RBf!5)BHN20HSQhq3`ipz zpSNTN(-l%n4{g@OJqx_Ii}x5+?QB-|KBrb_pB)L)o#XV0tDLX88sdiW^AD#{KQV7C zTJwan4|#jOZbpjm=p{)wKNyuAYAUT^@t9jCef|!Z0%a%Ri+p3jrj*9;v+tpA-$||# zI7bfmb@9{{YZav3_3J0+s8Te*AD1y7xw|v1YQyGJ?5pd2QQhS?TH}^uxpL0)vOfro zy&~bjtk!GeDM*{+(XV20@37Hik4ZrwD9Sj$^NVINpt?s> ze~8~PS~6dUSP`~;4()9pu14=+iR$#1x$b9qH)h^cR@6_9x43rH9I9P1vec!m+@0tv zABbOn_l|N=X@iK%ZE8$br2KwTmtrQpV7+fa__CUeb2e9T`6hYM$xqHtT=IR_PBw(O zr)(a5V}2A)7Wu9-G+x@FnqFfJ#5X_B`N$F;W2Z)?948Z=Yv+2$Pp{gD`LQ&@9}2Z%ONRAYWk5{PlM)n%*4ac{F&~4^t~LP;UGuzJX5SmC9>Ws?&Nkic7;%q1(8!>^s=WmVMqJ5{HsC&VPt?(! zBWUKHk4N+qSfs!HaAI~qK`>{xnx9^?=B_3UYTy*2A(E%o0qQmZ;m~4$Q^&Ya!4WG% zH5tt(+_2MD?Y%(z-iU9|NfqfkoiCgI_%WSIS55!*hjSd8)!swy;PF7{Qgq`Ie|XYp zw)E!A!J5ra@EiFC86$4J1MI})=*^Mlx@M*zj<_rSWCZRW@AlN(G)HjBlkFCe2t&uO z4`q)0bv$qiz3#qINDvyGhuy+2zPSdp2rcI(cH>pt-j*P$TFq$4UR~nR7fKN#CGgwC|C@Oa!jdv2{Uc82P2F28^nN zYGAy_I=yKtzHHz^?>jEB_y`!^<6yJ?F5<|tF;!Y`lL1HcVMz~S&|&#`L4Y!!+uSC& z0Yk?;G~~Km0c=UWdeaJ9y2tYCJ1oA+9Mt{T%rExc;yv%YefPa|@yt9AE&H`j%4IT?e|!wKw(Wrs>l-Stg-_^e7=S%cl# z*MmMdr!*>Y*Sh;XegBCg7j=Fck?nz^n53(yg#dU7d#Fh#8AD%V*+GxOrBH^wjSueE zxAoa_JRJ}CJRi`STpv%>m+~N3H`ltEGygj09tS%JK6jLXn#cgp~ z)EbKj7haFY$qhw{+d@VwI_7*o_o)jgc-&BVY$$kIIX+M+oiI@HS*gH4I~*RsTkpou z$4n_GPcwFS2 zH;_YsYw*40=Y00e&{#UHog`vp9SHkr7oTXacb6IL`V#&$)zJRsE zT(mn7Ks}$V7S3@hn|e6@aBa9X)}vO3BJpnhJ!Y}*KA+=Ine#BPo}LU5hD0}~- z*to_T!#aI@-(9nTXWaD#k=jaYMI5=9JQT>@=g;`Awl$(#(FJgC8@9FtRM(9C^9#{( zGR6dHC*1~Qmx3Lv&*T#c0T zRr4{{n6KfR&gyGeUv9UsDSWH%AoRZ^wVYp#7v>mhrBz z885>#vC-LN2(A9|`t^=sJ@vFR9MF>|VcY@w(W*wYwOhFkaQ~yC`B6ez>>o+$xb)8N zd}d7OtaXU3hHbEDGLM|PX2Y%!46i>WDw=QGli`itp95;wSodtI7nKam&z!oAM&c#2 z*T!J`^Q_aDwqnS>CPB|JX4{*Xm<~u4Z$y2$_cffVM+`rAM26{221{0-(j#+rul=xh z$TKsGJ?V*XMJq=&zu!*t zX_gf2XOA;jdfG&cm0eEfj%Y+%AgPptv-HWpwrv4`m(M1g`n#m_EaEQ%1&K7r1 z>HR}<_N;pemdT8o+M^OeG%=8Vg@8n?2Z^1QJ4U(v;a}VGIoilRem%z3C8frsfpdK3 z)yXa=znx@!<-*ZLmTZlS|F`2LY_vs}SC0K;DNNHvO)M&g%NlnR)ajox$dkm#8TaKt ztDf$6d36%3Kga6#@^3fSJ8o2Ii^b|LU98(>f|c^eSoZ45c5m)Z(QDpD&|})lwJyc| z19MSLzK$bB7S7mYW%Bz?``CT1H_qDcl=w_$Y(LkimrtjAex}9KH}-uds|n;)E~d?w zMBPKmp8>5%b#0AV-`3YH*CqIu&WFx(h-b=k#hdho)VzFbTdkVdxb9Ht$fLCIyZn5G z(pVx&J!ocEn)`s&3o=M>fKYu z37m{WcYS*i7p}q_wND-77aPzdFM+uFbbHK&l*{scU&E#l35Wmu$!XnZjod9X6`2T{ zDyyxe@%`3hT(SRDxsSAG(sU}2fd`kAX}V=pttB_Aw?3%V?n{%+W4xvZjLWd@jCmK} zOb}_q=9>NIEtKUCb0H?5nR$0Pi+^rq5$Ls#FK59w)t6ESMFWW9ZW4vNZ4SF{TTcPH z(2%LT`4*-AqzbWy#6dtUj=#HoahCQBc-yYO*QWnRDS{|v}fBjJA$?px+-NwqimE8AcdG=Pu4QGo-~sA*$H_4 ztDm#A4G~$^3I*j^KK%Iz7(1)p-tQt0tM+Z`-j)@iw$+ z{r}~*zEj_Yh2P8`^Q?!c2canM~|{Zn+NSb=V#x~dBjERljJ7!U;CuP?)R_TdeP zz{i9nW;oxR^S*m`*Uwtdnva3^%>C>$u=fvffJ?ypZI5#Amn&Tekvc6J=1UcM`XU1E;#4eWo5aWb{|#94A6~{-*+bXx;q}~10h}KXjL187%%id!@@hadY$8x2k*ia zX>ACC>t9{R4C6?-eMZ|#@Zz|x6=Y*>5N~_^$B6GbCWoQU_+bp&Sx3_*guAODi zeFfb7vNTlJ33!2cynb5kE^K9TmT0e~;C9~2)qxMK(I*Zvd>d_yXdAcAZKzr6SO0ps zVn@tv%=ngIn>p+0de!=^MO$9M)Op>}l7xm#PtiILsA+Ekv!=BQH_ayMM&6<5UUTfc z7wPz_x{@TUP7~6siA{Wa+b{0`;U|pAcd(l1d{1T}$7M~uBF;|JX??JK&6EfN!P|Lf z47Oxeh*{I;#eKDAoq!zLfRV42V9n@hwRAC`TdjIu`3dXLmg_Gc?E3P}=HqHi>`b(F zRMAM^KKCgc#Msl{!}^6#pd@@v@+{-M)uWj_yBOVxRZVLVSTs+w3+P z=ur98i0@aAC*WIhw4+t(?ZHam;@B|fywzC z-!l=2wj+IfOuEa^<${MEV-G^-fWa|ARO|-7y2vgvq?Q_X1sa^3Ype3W<_T@1yN-wU zdV7b*fK=`f^wYL20KE9X>gmGPUWsvq%rxU4L=SIcUnB)~o{99ieC=zgN6&8Y%R4}F zB_mptZ>`92=O^f|%=OyQ+3^C+kV6c%u9OLV8`-rHDB2einci@52>hVFCIN=?bgW-T zxnFF>0{GmZ*}VaAs4ijF^~?FQ1VIbkUq5^IDH&^;*co!)b+!+)RKe}cJU42hmUoMR zsz0^m(xLh+`pdlX-g=ayqj}hvJEJ86AzU2;s&q>hX}&LD0Godyg6SZ3x0yhLL@M1B zl@-XKNfMJgHvY3o4cjVR8IfkF|DK>_CPTteMwT#87xBF zVmSPf)7^jn3G?UumWRFvQ|&yr%iKw>;vyP>gMf4nGH>=fq}s>L?n9rg-A4>7MHuIZ z9d(uOgdQ9q_<<3&d%Sm@7CGmUB+!uurMDmjS8~tz)&1aEAfevG0)WQ)IWb|GYtRNq z&$%@>z)A%X)Rw#lRDD*H+KUm{gkX{*fkfYEBRr~yGeKk}<1S(ocRV6jG!+NIMUv z@Gv3Pqn+6;c98xF?{es|KIO5X`S?lT-va$XZ;u-dd^$V zdIcnjo=t2|+57XF=IOTu&DSI4lE{mBwj-NlCUTgQ8`78}d~e!*EO}J+^xg%0eACyXIQa(tF1$(`jI=pyzh0EM9H?n>n_aUqdRQ;cucK(9+$a~Al{kP zj7xP|bbUPB3v0jbfJEUFBic#N<~F6?^d1hM;j>fRflH>7l54mW{5Fb#*`}>#bEXQ| zRKrV7mQ*PU;#y<+x9{1Q)ja3ri&(lZS=ndxcu0(nY+Cc{X@|hue7$8hRt|BNbJmH! zcKyyx*r6obQX4X6bErFxhwdJ)4w|C5xS!9;A1ha9<++C*%RT1H@eL}wm>g+_-La?4 zvzLHZ`~aC6<1yqSZCF2zaew3H4OvjvP=3wj`aFUtpDBP9;;r@}-G#jKZ?e0AOus{- z@B{-dgb=PV6V2h- z)qtRQW$tnBJrI&J(mx`{R)ZrVUu2dn@b&#B{*$&>B}t|B&K_$J8vWxpdDY?!CPEWB zu7QU$xkh$_(q4nO&zyEOBSz+}zdyVBR{*~e}w`!NT*orpUpTPl1n?L2PEybST} zOYp7pTbR@tF{3rtqk;@1#)Cw9Jjxc@i8-bb1%y(YRk1{T`DO%NDB-DGk!Q0nCSaaF zd;7y*!pD>l$b_?~_%L@7h0@M80yVPT%wm6KZ5DfgT>W;BOEU7xFCn}SR*^R6iu_#s zVJkQnng`FDk%fdL-0a?G3(p+KELe&hGW!8t1Q{#k#-;q&I!OAFK7GWH>oSz!vi$|Z zk~7M^e%_1YG20k-IuRdpWi2w08(s1z6L|S_2LhF9Z6bENFXuBJl9RP{9ScE3jRkuG zk9980*4vAC`|TFE^_kM%RBZemZ1W@ye72rmlp-0DS~0XdhI@EqlIARx9CzgDk97TV<^H z>V{Lk3{{9O2skxGjk86$4 zF$jG7O+s2&-QOKDf$EcFQl%BKexfDHj46MKDu^zI2dElj)f)#UI4-W?mZ)*L@7q{N z^L_e^FCX}kKg^qg+y!oEUP9jtr(r?3A8YvT_(*TikHWmD%;Aq`VI64`oUE<06kUPV zcf!0FeW>dw^(4u6be&zd&%KchQArWtbyn48G>)%2`FWcfR+tsT5ig+GWOC{GC?dl0 zbu>{nkHi;oewy$iG)%8tX_OE52ID!cdB+xQ9CC6$F=iL836jr_=qMt_Y@(*~ee;s5 zf}tuH{l$Hop!aodzOLRNcMeIC;vMvL-uUW;*^nyC+~;mx?!8$(KscA0@!Ole@!mn= zUE{qeLefKwwZC+|#QVan#P=?FyFS3U>Q|UT5&>4XjZMr))lvjKT1rD^O|B#iYr;*eO^>`nLk9_NvYG^Fvs%_{s9o{9SaFd3LErvyT}BonLqZkEJy zXtnlqqbT9UC{XeD7izT5Fve8T1XNi9 zOI3(ssCw|?$I=;Vs31LS9GKD$OP(PHf;v+6er>j|WO==k&GYFTvHO_;KQoR)L$GSb zBOXH=Ha<9TW0Gq?kZ9XD>HG03O&i#De48w>XQ!A3`fy(G=Mm#=lXERG-52Hh(DzBG zWxQMhgg?@U5u$#Ua{)h*xCh;UQWE!Dn)btac@>sG9bebG{E0b!SVI5IJnTxGNjL zy!SdNMAA~bAOfjrtf&2mm$1MNj8e|nwv9~F1A_A zcE7T;yq|BJvnNTwq{pq|PwZXU7>m5G`yGw!00-j7+%#X9!;&s1i&lli$2GonIjqTh z=bKG9^+}F;B+~V@w~r?6amj$WMO3VZlv+;53GHw$vg;v+vt~iddJtl5TdN$F%SW`) zakf(gcKl;T2iV{!_4m%OhdM^Ro}QN8$BIpy+K>_CuL+OYAr?Im(uR$DY5E|&7ZRVSi28VOQY@J;#Q0DFC)sm&YV#cWsX%n-_nH$ zZ;+s(NR2^!)q1zx$f^)POUpi)wFoOG1ym23C)X8%w;%x7psjsLB-Ek;iGvQP4N5ve z6SVW%T=S0W_T@Vznv~q}hNaK!MZJfnrvC)dS5y*^a{3lQNT6LSx=B* zY2(@BM>xHpKw+%{q?JrTKbPu`^5Lz2NOl$Mr*ra@0*EACr%j8yWzHpBG%@2Nk073@ zHro>*y-68F51|s3!l=Y1(YmC}`t13kye_R_d<#`Md5zH|1XXF*Sjd81Hf4^ZF#lM1 z^|;;-%3GL7T_R?TFO6`c-r?tK^PPAIIOl2yR%Lls6S@31PE6YW!@XTvg}&j|VB6N9fD)i@iLEl48I zsS0#lCNoJ4g!B9^5|j!S>UE)B;L98LocG8Ht}C{D%=J0&Pg2_U#|D<-FGKozxef62 zVo67pH5Wo^nLRlHX=Gh@;%~-{F+XQ5BZD;v3&&KO{`%{E*wgWiIC#Ga+MW>4?pvNR zg0jm)WER$f-uh%J_PEpufberriX?Fl_svyuA#BK7YEz}(eck1r*tK3m(l;_4M1JxtTuxL+%)St-5{2oO*l4WWl=yB;D(|Fu2igDZE?;f>Nwe+VK0oIm zbqdwM5G0S!So3t&*@s{;j^zy5vadbc)+t|OlIsrP?Dfyo3e0+CXM2)09;R~>FI=N=m^ zq{&gex9wN^wYb>`w6l4q(?Af^w9>*+I*}Db-WuoadA0A!&jxZZ0wD+h_-m^VT?+G? zdO^D~*j&=d44w(;uNa_mZO+?f6S2P3PgZ1jzaS0~lM&l~MhnM=N`_*7LycK|;O6LT z$cGb$UO|FWb09+rR(@cdJ96#L56Otq00pAr9%tm#`??s_#-bP|pB4IYc(Y?i=lSB;8ErU0 z5<(Ezc6(!(4`cSwl{me6I1gvonZejiRK~`UzaH?PP z9L!zdm_N@JL8bI|wu0JcPIS!S-LgR#?$H$=cWRZz32CT>Y4N6nu0*DG+Wh$u=A5Tw zU+!SnyRGv6$Q%ZP=3~rn$QUX#VF}+}$3j16;rw1b_oP#K9LiyxV6O^DyKfZn=dlrx zH|Jqz^TmR?o{vS27(W78RSl9LJLmQKVjf4Ujeqm&RxqUQgMeaJGxRltL)BVqe(UPH z6U07ED`D`-e0Q&s(_{@Ic-C}Bb`J(|PrI*EQP6oBBM#tH*8|_)mxh%u>H_xyseVZy zcr}=gg}0?+waX)5=c8$`vwFzg!FXQnEMi~4$%3$;qNdTiPzPU9V2wnwnEN9WqD1?S zCTs7mLu^N_@xW&R=6KCCOUlQL{jF`+M_Rcp;?!Brbi5zhZnH0w(-Bh7&!BD1)1djw zyY%+2@40IxjR9uO?BY!3`mwgYDa)}USdc1J<|SKFMto+Sz`=Q0VyrFcf;T?G7WBck zIx!+S{Ax|Y)oeGbiNMU`yy76`MLMFph+9)uE?cs%UJ^{u?7i_xrIDD52PMQ7(+^MY zwi1g7dYkvrc_EE$RTnB>FqGflf1gH-TpC7PKtk{^LyB5=e8=WxED&0<7OZm!@)Cgv3!4sTG(uM6QVdW-K3^&FREkG$T$*O{db4G5EFc?9xvEgtfrzp{oXZat~cZBBb2G@)^p2A zUG#O^S?IDDi@&}`UfA6n8FTYJ13t*!)@nDH+V%FB0o#u3!am4*`0#K{np@xXHFT6jI~$o9Hu@FL$(Pq6&fv4% zS60EDiT#ej+nmy2Mf7v@B$I@DIPS3Y>9K?2puXl|)tc&2`;Iy9fDUNcYMJS2@~o!r z{0?ZNe--Rx!xa=S*`b!CX#2$)H#W#cfy;VFJ(JhhcUJmq)p^qo!u0w)h99MOoVeX* z-A%O}*-<(|VAar_G&>*Fq-bv8;X-sCDw8vwTXjV4oDvv-FqGl21p zWe)R%8a$&ty>%Zz8sIZfz3z^)%|^b$YLY&nf)HT4w~gv?vg#Xg+>+||*=UBL9__)3 zs^F?_uWL3&Dt_$bdbffXy`~Ounw_&9&p%PB7jEIhnuXn|*$`i(#4fsVvSJf?y1aUU z-){3t7B}UZfaNmceVMy@;`!WPpsYd09k|oIm5j@)%2MGuR@@gnLx?u|d(E3rN$Z1I z-Y?U1vQ8fwdxRwjTqhKSJ3?(N0n%v8{7WIYuM^(XX1+MpIYn@wf3s(FlwUiWNyH`* zmm&?OZMPTT(wW{IK7cjusMQfSSKifWoSbR=zRp~`Yb_ZwssVU80$=y2eFD(NXs=UV z>s;1Qjno>tSy;^^Tnk&DoQyW9J>x__H3uiiLrNIn^=Sg;P5$r-Ah!y@b*Ct!`7`#L zMmgLMUo&#N0zmvNjC;Y9-hDii?Vmzex4wU$+gxNa+N`K!cgF#wHzZ=o_-m+@~Wc`2ZvDK0o^n;=CRai7}Ug%R4Vn=hPQf zv|5nA2LBj>!uFnw(|PU!hqW+>U|f^ zseV_B(k#-lV)9_VQ|wu{X5TWgiedMdp6GSky8Y>*A6&H}9IZy^L1n$qyBjfm@OOBH zX7(rF0ZpzN8yN<_{s0#qyaN_rww~^dPW$Nn*4Q%U#&@@MATU;SeSO#LE>(SuWQsd> zCYeLCI#YL&8z`W|LNAjDA)*5_s{7L~l?$TXI~HXiw)XQ@2g)MK@Zs%F@RozOkmr?; z#wuwfFgc7&f@lDn3($^p2itn$*j#Bw$26Le+jAerS-8*pUBL=?>$eQJ8^!j#PSUlZ zBa3g05dEGWPw#h$BuU-`N;$~Y>EKIVNlo={s05u%Jbe2lOXLB>;5uKPGFxQ)v z$+13X4YAzr?|y~bap)yrMUAGRhCVRFV#a@`&86{5IMnz;` zH<#W6e>GSeJlJb(*TyE6EwF?Qx3^b#4x+Rs1oC4XXJ3y^&In<;3r!@eg*@?%MDB!9 z`zddr3VSoc7%3G^ z1l&3>Odb>+Hg^q@eB&-_%Hr|dfP~!$Y9cIC8GPHi7Xni}bEBcF{=ovmjaRF-o_El@ z%ov}15p09J)?rCc6Uu~f{L4)AuQDCk>Lz&C8Ve=@+8@S(Gx%4$D$RDxRO^m6-dzZ<%sr2+ZxPlSDuUGz zN37bENkmZk7>Fa_?9Le5h8h3&a#<+NJ{Ua0JevJZ9we8$cvr}c;O(W^`_l5#tFgdd zvndGUgRo3zT;R+|SJsH`S>B(66lx7pw-fh#S;WY7>>ETxzQxk{RO9XV@}`N?a*wml z!C3A1$!240{I+Vdo;~#nvgsM)<|VUuMW2g2O)~Xz##5iKy9o(EgCp<>qI~pt z4WFSpSLE??CJd0Ds)@ys2-}d+m7K`(fweu)*s~VGiNT~$WlpH}{PueVLXNFkdG4mE zKX0`z@AJvd(d+~POwsAyAh^B*`mE>nd)p)C_q)!%p`X2Wp+yQ9n1*+S%#LNgUd^}7 zNu0(}7VdrE4zVe|I-~f7%Y5*l4<`0};Vsr!=WJ>=@{rdIml)raZL|Jl>q~JZp~F8d z3yz9laZ2#2Pkrr_`aA>g*Q;0*&*SG3G>UV~c?~$xmAt zsdY8jv%p^4WG9c8eqxSWC{Di$nm}8y;K#D*-7M!u@+qJT-r~3o&pU!lH`hU?|9(}@gq>#Z?o=yr7u`8cij*1{|PY~y*|69c*r=S5)BP^a%q zW+%74xucp5I>4>BhkYE)*H+Pm^v?2uzg!%gXS`5k-n(yNttVe{Ta`G~0gsC}PT0P8 zWFT!^A45ZnRZm`I=Lv0`{iXQ>B>A;6)PbFYW$CIzAJ}jZGQIkgJ%Mauv7vExAcFzd zRTO~l3rv{1GjXf4zjgOU9a*DY^+ZhLOniFO+ZylZ15Jq@rU1U{dp-HJpITt zos7h&9oTe9%~nq#hp_;DRz7X*}eXD$&gP-vRiyv z;q&&*<8{MbW+GN;FoELQtb3HfewV)L^%QORg=RSA3R|Zb?4M;?ciPT9+OZ~ z7DxGwZyH2G-^Be+#vh{L&nd^Q7C5hBb&fXezN-_uVSTNP&U1)79-Tg`(Xv8BL-*L?ju3I0^Lb(y2=4pm{~l~1Uf8~MA#3we!mgr!RoosU$t7hb zd`R7FcjpXZGGZP@D2DmyZWEHOw^|45E3@AnOEpSt>f(E5Uf7#Hn&Ff5Ghym{>25Ni zD;DwO=R2TjghV=;;wQ9><~{P0hck)mY)bn^o74bDmoAhrS4>Y7FtGUw7!2W!Bz3j7 z%GQqoau@p@hB|CmdxsFacuen}jjiJ`HXC=4I1l`G;H|-)I#+lxxl2 zkxPNaZj*@=KECkDUWnHBWQ*l9S8ch|@m(DY*6a@r32RkG)b}WspS`= z{6acUqMbNYWEcDaOpRzYzdCouYtm+IfXw~7rq)RkixnSz%e~r>CgjW{Io9T{$Ethl zCaoe%uW2~ ztU=BNymFdrBiJcNf`cI;VRT>1Y+cavk;BlPNz6ht(9P3gHYVfWsI+9)2RO8PL3I4? zzzg>mgq?A{g@D+;-6&4F5?Kxl5%>u-Pld`y2n56FB=8(Jn5qQ)s zXv3=Tt$q54;p%gvb6N*^d-!y_Y}lw5Nb?=L9i~LHI4bR{O>sU4u#ReXJHjCsoLj!!%=}F&uEm zDi70GnTt|hyva<6$$hM(-@osKRu?<_wA)6#{-fx*S=I*z5LsK7LDg3;@^5{Vf0=-N z=9Y|3R{E!nMr}WDrZ~x>+I~`s^Rr+$LMAr+`vNDN@kt7rCzdFzr21Nc`e=LcEKJ>l z@QIRdVk2-ouCErS=_zW3bKjHV1?T>`D9}!bvPY8^L~OEiTBM4sI@?j5HY}gAzh#H) zZ)vaW9h(Hm%xTzcHr^FV7K)wy@JyV-PepE=&=Q*^Q+l8rIuQw@ms~=q1Gg-{ZQ?t;Z$$3Bwy|)2$U4Rs@r>%{Qrxw#^Jmb5CJI%Cm!b2N&wq9VfwQBL zeq(%dp!MQg88xF^L84v9-p&{sVKDBm4(F!GFj1reV2D^R7YpPIKtt8I9p=1O=4$MB zIUNm2rQ04jWfltRRXWHyeCH=b>5OwxTh*)sZ4QO+-biI;+zb%U&ElbIIqgL0KEp-C zYJXN|%nVp1v>~rYL5Y$pTaP!sRcWJi4`W1m``5aYgW9Kks}czzPE%p*;YOi0_T_kx zhaP3Vo9#0)J8v^p6FP}`qZaEhl5zlbZ~}9c+GhRtP_Lke+UpwtbCeu=okrflIkKJj z22A+a5D_(Hjl7YFOnEf-JJZl&e^u3)8;9BW_@-T<@eu8f=YvLk6jcJw`25MJLz#+D;MIF7bf9Cx#2ia;vn67 zsMOhgI}s%LrA99F4FlXBDsM(L`W}*=cCamK@m+`1eC#L|Ay2HV$0tZ{y@mG8DTgPB zd1`=(m1%V0EjLfTGnXFt54XCcv_(O=S_~BUM&pKA6;YKwQ4gvcdS4q(GoY*u=>0O5 z5QY_GxHE9#M@X0;ESmW);@jZlj==zP@Z764h<5kx&u+Bu5^&4Nq9?NlsTC9Geq#K+ z`A+}v*DIW^R{McDJ?3Ne)b1tPgt=te1AO`ghqOg^{O~pBTBlJo*ue~n##RYIT*yBO zDJ2I~X5;cqS>9pElh2TCw(7c01miN>E_-x_q0_)BF~pK_c9LW|zZHBr1M~Tb2MEyd zZ;8Dw@F)fWA@pr)4x6tfz|w9#K@REOOXa0t)wCjs}m^kT#$Pj{W3J-^NU%MpGh<7fYO^Ug;MG8nl{ZqYY{h0qDkU}0JL)HWsiaQa*d z|7DnuiA`qb@+pqzw~2S8;$J=$MT$(c0eT((5D7TnxC;p_;eLvfZ2>o5?Sa-}H~<-= zuYOjsOk%YXnP3(Y7nmT{eulipzrZDJ44{EJ5lj~N2ba}yT%5E6FE&Z8J8UT4^Y$aH z@>q-p#2KA4wVY0NR?hCs3T|(%7t@=3;OcD>P&n$94;0jJhpf&ihFgVXcdPDYLIUh| z0`Em#IwHW0$L|)&;Y9zE0`+5fHz?w0R}KmXoNdwLw3vc5Y4_35{Ge1IYl+RTyw@L^ zfjeY)Q_hmppDkHvLAff6rUgv$(UJY?`Ys)a>?Z@@;JUZou>PHnH@2MKzMN^28a6@n z!s(e^cA{Ak)Y|7mxZSUC4yReevU14WZ1f?9$=lHrRc*i7v@xwi zvT;Xz9y&BMkI9*%Z4-6)2xN<>hxC2*I0G1TV;Ja=RI4)n1X$5;PNJ^oY5C>Qw{Il+ z`U`6tv;%OFdgz2-PuF*m2Xlp$1};DU9LC&U?D-1{`t-RT6~}luv=&ZW{xj{N=v#A< zfNMtb;q%o8Can{|(h6}radl5H)m+B?!0UbFZiN2gw}$ModjE(;g?x->;p~kJ0_?~b zxz4Ayw-{sUs<5%n`{`=ep+S%?$RZn$YeN-Gf@*zFB z%>6p+?qcy;!*;QV%DA!w9vWlX{*-+`NC(oJ2{8L{;O(^sn!C%@-WkSq zRz6GufnNlpp0$wCZj<{W51VB>vywcGau)hI?0YHS!X(g>36?D2P%kHlxP2Zvfm; zn0`*i)pfjlth`TSG>u1QaqTwaRAEF=*9M+PKeqGZiP7F2ow?+bI&zaDL+(57^}Pf0 zDgW4+q;~#Hx{}**2CJG z1TBK7F?8B!ee7cf^h?gGtpdLOoeQ_4l^1Ejv(kilC(o{3=sPRNSrcRa;rUtxS`nYx z+%n@?y;1G;g?wD-9pSnh;5+v+sc72{F$pMRY`#r&=b7yt`w)}g9g$={ZHk_|#%`ds zfx{*k|Bs+a2?S!oLcoFY!?c30$3JJ zODaYc?1?;%lm>-3l8XrhG@jC;)eV2M%s`W@Z8vEqez^JvkGtL zp4dkW*1$xAi+gOo1eU%QMrre*DDcBmta+GdgUTB!?(PFJagw!{QU1wmZ;I%^=bO`;4PxVRCfi#qn zsMOX0m{fi7L<-YGWaH7AA>G0?1)jxsw7DjpnOL*s!?HH-7?Wj4*EI~~DRxKpwa_N3 z_lH}u=b%I9r}0e|we1xhy@^cdQm4HPMa;|BOPIm2h4(?($zM}0U zd|g}vZG~RMAzbAHxOiiI?(U)No?y#aenUT( zR7PAKk_MmqW+7=AwvmQ(mU6p*JP}9#vihxe`+3~IXb#wu5n-|nv5cMBUvz?V&O(Ah z2Q;it&)z3$(0KU`7Aqc(n9o((7iLy;YZM2(-7(qg-N&Enb;oEK0_HeemcpaN{iXcZ z+OO*yHSgYFA$T93c?de!OW(V$A8=ojaK(1C8{+IzlZMyrQ+Fk^bDOd$o)5HjB8$!J z?Km;-r(mg&MV_%p|8TW^5ky(+S>|0bi*wfqc)7FB(etf&Cdyq>iW(BjkG_$mDBNxJ zenz|B#LX1ePix>0*G8ZNZN_0WQSsAPj=D%CVx6-T9W_hRqaw+VB}ptg1%^t*ZtKAN z7~sMxfJktYJEnw&20%e^k#nfwv|?z27T0|)a1#AsMxiJu zW-eSoA&77xmO!Bq7|xe9w>F2O`?@xub+gCdrEC`H?Md*f?WW5>uTU9KEcMH%q+*9liN<2Ch(!ZUUZmk|q6PVj$u}Pzx+}R6k98f?`5{jOSm|$UWVy zCgAb=T7g32)Dx^ z#bL2#-WJS~`(@J#pX!`FM@JvZ)poI1uj(u#Tu1+AmkC;`JbOy*NO8&e1zP*JOkI=YcNpTpA~KN~l5D z)PYM$qbj;%$%%a=?yB2&+ss^lVjx=V1s1-)#r&r=BLB4eI8{Etc7#wbFd}&DTfKuZpIN?1|80o>*>z~y2nTM+Q2P9VYlmT zIOu@Y#-5N&2ngoD6oQ04Cp9sFVt#z*{xoi00pFvo^MLr|%A237V?&2b?a$2C>}Vec zp)k3vW~V!-T7?1=>HI+mHp5DP*7%QD(C^80>+v=au$Wj94i??7ECqA%EsVv56z+!q zs?8At(|N(u#lhmaDbmUM{lMVW2PaUmL*nbb5a9W%+BZZ2c~ulc`5+rJ6)L7{@fbP{ z{4W$WjGTB(yD|C%m5Uw@*~-P3kHdm2xI0Nr)$tT|+Jd)DG}?FwdRS5^x5jZ?n>uBz zR>EE#jsQPG7WrwH6zdwZ3`r7@uj8-jyk~tdxBeZ_S6giVghW`V5})Hqtwpnn-mE{| zkex=DBp9$yBrqi`2>3=5aN`4ocjDUYZT>8&wK_*5K)91Y|eJSrk`2~HGV zBPe~0$VmdSd-sdp5ZUi_kf5#6faX9fOhOOYtb9hb4d)660FtdYCcO6%45I68-foJ$ zS*!A=aQg|1d$S89BGo7FB&%~0dke;gUtM=?Wtki?KKI<$7V68o3@ij~87<<)qu4-aLjy#?kpg;Z78wkt@Q^Esn-NNN=iY! zm#S{nXb*ZnOe6pu9YiR4x(v>A%QWPN-q%I3sWkq49GXymi#_GH7{ZofA8^kI?IISUl1C}F2h$(PG={we6r)hqzy-$IO~PQAraEh4nIO@yPU@u@t(d0!#p^U zM=@t&bQ$lP+VbgKM)!}r?*&G-E!_i7b73dJuDc) znuZrfQ8<2FS<2-UjUW0CU{O9 zWqIjV2zFxSms8v`?$_KyhK*{IG*L>j=tVl0--%SJtp_ny{LWkkVULdDOZ#dT9J7pq z@7XZMG{HW2VxZ;thG(n-V`mieU@$R@e#Hk;{qT5~x zRp*ay9hNeH(f){7SRc8JnNWAC>=BX^_jmXH1YYc03vqUH`&pag{;YAA?l#b__vbNJ z$b1it|F9%D_%e8$jRpGp_~spzaJlS;mdp2o;wY<|1TC^RNU z(S@#plu$?aAFP7`p%Q#>2*-7%afZt|2~kIGpWDx;_ooveALrU?$U-5$e=lX?Z1PPF z^SM(1rA<`ZYk`nk7el8pw%vW60g^l0L!7!8vlm%fH31Qm3ZrdmIAxg)F5R7@E9)+4 zdUhFG#v>cLTxa`1;WnQfMdYxaXv2YnWs!S^>G1?-Mu6Dubdk03;8qpN!1H-HrQYGl zgwi)peq7ACH3X){XDdm*L3HQ?#v&PPP%OZKROgzCJ=Y|Pts}VUo1At=)vw&J*}Ni? zp1@OQQ8tZP%Da~1t55pJ+JWSKX8R^QrG#k~v$X@Eb&w4%fir8pjx}e0l?gz?x$@IB zU*guE>l>%zG|W%|!j{WVPSH(DfS<2QTAavh z8i>=m`WF4X0vfTVPNwj4d^aUKND>G)y_=AMH!=P5Rr!q8$M6Q0XCmxTRaWVzN$1ga zly|lttm7oRa$Fp~koMWuA$Eyy^N()0ktGN2fw`!ocN#NZ&ILl`pOfT-)f_ojA*>Nyj?R9CB=erC0B;>`7B! zU2p&r&kQ`SFUaX%7AaFK5=F?4vrY0PDko?+!P>nRvu)99LzB@2KvtP+-NzvLox1rd zKdQI}J0SqI-(|g5f2$sj&$u8_?y48uRgaR6qLkF@3mS76k;E?~dU4 z*ZL$Gnf>M4*c(3jIF>~AH4Q_@L+E__^I7Z*EFbCZ)MwS@G@>%*7(Q*ZMN99qH*+?1 zC`8cCDu`Nt^Tbo4Qg1E_x3r1q&!09p6WydWL}k_5Ei@v8H>gfKg(C0+-LS!GXjQ#^ zCcASwhxcl|z8Ucd@|iRRoIRA0qix5+)q{xD$e;K^eB`tD_69is1r`W3V@0HUkQ2+i zahydS{F?7#Q0xQMK--ThZJ1A~#$L6^KfG*>YxQxn5v#s{s!UY<(}>awk~+}+`HL6# z+8q(|$4Qun`4{&R4^hmYrj$aFcuerhNGHx(03t;kB;l7#+Yx3XP7xd^7r4Rxc;Qq6 zg#64X@ZSER6pwzmHI_)6d(;j0JDLoeCZ-y6)8r7ZWqUMw02EoPBg+Ar!07DmNf~)Q z8ZKybR`j61K)k);sxqh+mJq2sCVa+Wv&QHj;ED53`Z=9)0|(msP;&JyRT>$nc@o8V zxgB+edx{fwNp6}J0){7>1K>QX)pLaz{=E)MSk1+kvoHf#=0o9|I!zuC<0l`PH~jm# zChVh}&JPU(r^ZXgK>$I5dnU_JbGWwKrU;cA0!7GnK%i0Zdh+pR2ho~!+T5Q(=5?^s zb0$s^PI||)iYU=X^f6DslEjq!jSARN^DN+8@shr-Hb*dcB30+fdl36EPI&iy%o7>` zAr7Q+z>KtymOm6G%<@h< zElhQWaQVKW&Qud(-`P-Mid3u7V?EjzKhVLfA?m{64rLi{Z^2kl_==Yr`EZ|Gvp>=M z7o;mPQF00}$WI4-=0m=}*y3!Q48Y8yFIn#sM36f{wgix;LE?BW@O2fjS^C!LhY@|% zhU6w+fPqm*_XZ1nKNxZZ(aeX@>|?x03s#Gj@7v0J@Q*tUz-~3X88bHu&N60+u5mYN7EX&qKjp!y|-C-+$O$hX4cY z9Yb1gmZ)u!X7%QTFwH@Vw=`^XQK3XK;1OPe#_GQA)B?IimJtMVZX@BFyi4H~;6P^` zMfp`lLL$IqCP_S(=AV<$ssVZ`3Px{Z;Vfm}4nuB~fbcI?04o^k!kM;9+!%Rq>%zIi z3@JS}RGKqBQ?1j_kqTr)Asxk6=bY_`VZ!>CTxDeH@gsm=WJ#0=Ei^^~QW;CfXW6*> z%%iLl)?gyKNIVHp83khR=$GP6vfH-xO+lYL$n*tg$;Oy0uGd`ws){`Cz}d9!2?o|* z>Q>l(NSdc?mDlnibT?9T#9_svmm!uj`supJIhjd;T?JRxY#k;`msR)rE)_Y&XuwQs zkW6u%962~~#CvQkfyDBpRq_y19FiiZ-d)V=@prbya;Ia1U4(&ZMO7duW zzy)z!Uu`J=htF$^%Un6yazX^ER2~+-_udd5FO&Pud)3Hv!^*c>!SD6c^SRJtbN*6{ zNKsE4IqG*^0U6wDzmx@8%wm{1+F?4(@J;=zljLjtt<7_2EG>F$j>(yGL<@d2qrI`( zZVl$`glig%8?YUZBpVvo*tn3wRwoeR4V~o)SVmfn%W!?%Y#M*}cz_rBt7xiuUkOH= z6DZ01P$8+`cnC$Upq_`8gn9;qHC~6H4k6bs zZ^%s;!P6**HsqsO0~t;!ZtCY^!D_|}{@~;}H=-Gi?FzvBu9l{p_n__3ouVFBKX6v{ zDEXCE8*z<9(aF#Pjo(>TSLvjVydQ%6oJtH{s1Vqg&`kRa;IgC|dmTz+vhp#M?MoSq zuFhxL_`$(GsD)`h092US9Ng*>J1+cvJ1 zc|Sz6d5<^70en{ROZOY(R}|EAx5_MD!YZc`rDes89?VoorD4g?_ho^uL=}Res7KNu zmp_Hz_hxm=p={6TSNkwbIVR{82D4re?7cCd>9;fCY>ncbz*7MJaA0Znhck{i4~AA+ zPYf2$p=1dBaY-ORv8c=VZE=xKHn@=fg477MkWB;h$r`ghV4;+@HlQ^34X%`Clnw_+ zANBN+s4Fk*XdjoC`v%$_Cf5RePnM#;sKRnkSs1DTWq@;B=KSRyYaR5-xee1L9PuXT z`wkXV?lC7^*MOog8hB7_X^pV3V+d65WVfN%_ne?K^)Iq9)|3C`G?y5uUE_Nh7qyC* zzjEa}#IN*ThK~juWzDjrE{02`!!e~WzF(m}yBv1TOcQ7LiCwzx#%G7dD{m}769il6 zlX7DSaE5elPm!yW4x%0iR*SWJ58@i_9;B-a_%G44%XmX?8W0-0r^+RN>VR;l{Q(=V zl1rQR9<%y2ve-J_BVS85pFg10deoX-?S-jXt7y-GOhOXg+S->NnY;&w-44CIQF!Zg z1E7ubUEu$uA{d`yEq|kQe8F(YRP4mW@gYUp4fn7q5AqrMbHpR8JBlpWpZ&ygmZSD@kQ?`Sko%=oV}8F_A%{g+077- zj?Rk~^lgU2pa^ zt6n&HMqq_|Uk8cU=H1|_xc?x$V;kOAL>+KkI4vB57v#Brsic;@{rrGuFQ4z!uc?r$ zQiNLHACkUYnK_$nELV{nc`hEbm0KZb2-(;TT&yJcVhp+D&@Ur92>6f9xCm1LQuXYI zNVzt2GCk}OgkZW$Tysd|K7xoR%>DKp)MQy@XRyAmRqF+eG65dJQ?IA43$Fq`)dn&K z5L(_wvo*#neOOrm_V_*v8n!_G%Vba)tbTcHReouAl4z;*`z!>A42m7pd;u+^2)=!d z2Y~|K(JWHSq`Pt8v!IL^JT8JeEWHXAyBeidGK-Cl>e_C~EEtwF;S#JrtHGCHnSCg?#R|RGF zd@Q>6ec92<6^JsgI=InVeUE|*4DGCLQ9`vkCL6!j2>~ho#LH+n>U5hoNLeeNKI-4x z-Hc$p->Q@B%LXa~h!zba{gQebRxpl(yGiLnc9c#pwZFi6$9$E-RaU*Lk|iVlMU=QU z-fbilMxmbDr}c9Nd>&=GiROk#>kbwE&VXX-B)t#H+}h!j;E3W`WBvl(trm|%`Z8ee2qWsngYhkm)p!Ll2}tEt1Ed4x zh{WNb?h)ue9ut|xw)HtDB&gQC-NF`OYGqF`I671w;-D`nE{qN&{E<+g2pKRbo6*h7 zS{UtXJsZ~>jRTCdd>j?p(E}OV1YY1Fj$JXJtr+dpzI!|};-)miR(-WLV#pMUR(cfB z$aaHbxyv}1)sPiat>8}H&p4;=3S$(sIYtee0~DR+Yif_xI9~Bab3g4h!C*JfI>V<+ zOQse^KKwBJd3hqW*yvK|l>#~1M8wI}!D%L=$4O>0BxmT&zY*r*>Gnb=JPyf!;%WQ7 zl%sDOa8O!hW)6(kl~+b{5tN!TsI>*M%G$%FQ++L5{w$+2i+l}4k|sd1ig;YQ7`Dl6 zpXLEUr{qi=ciTC)&(=&XoCZ^{_jA z%k6vh3mbwkG}!DXFJ_ZfMmw-8T$hcR>I8sh#gX5(UJI=lc_ojptnezfVs1Z!(5C}k zr|5imW5pXQ>gt0M6e9GUO?X4MPRd z`!?@-De{F03#SQWmA!{XL;m^^F& zKt|cSCh{2jS)8K;7>FX>6&+(~e|mnqDUHeW=t#({y#F=?(%mYCgfqEQ*qhc}pcp@( zh2=I#2=HD6u7lvcMb(LCsB`GzxnK)opku$L(%kwch`3+l;edEP4bXEpFm7QUb}Hd-YayG6qZ#eO{SosVt%%_=#c* ze|^%SUHr;TU{I7cBvYT3n58{t!GRVnztXdxeFD{L9c>R_Ip~s5+|0_BTHdIR=@uKo z+WV2EWz;uFrK6eddohPV^>LzG+m(E64d>3Fj2-rP@h4X)fJQ zl}Q)#GWL9gRP3EMDGe0{U$DV9MpM)qsJmvm9hu_N{^b6;=q3ZgzPx`(@90pf)K{}f zSdD8lbm>Y>+K}t&L4!Em$UCuO=M;4D0{8dIfvVk)P|sOpSNOElve%rojK+19Mgb#? zf>-PsP(HSEIN^a=7V`39Vfjapl8D+Wd#>B-F_ZvtD#%L%9g({}SaO?36MW z&(O`25L&=Ng+u@76ldgcrmSQaa1q&f!*5~4(x2Z^)?Sw)MwSy+w~NOHG*IXfise$r zT?dp*#pQtcwTD}^LJjy{#OEd8Bwc#o8Q(++Gz(byN7EPuEMA_s5n}Wnv9?Roi{ls{ zvj+Uqq|?YMu7WF=J5ITa%N*^D$L&oQ2d&o$3{@pQH;A0zdE*Vqst?;2$?;*dQr73S(EFT%GMi@Q4|WdcsTV9_hyAi~Y+ zlY8z~;>J#%UT}tNmm;+l^lW(7yQl$pzf`^M3zF=TTapa?^Ixdcqx)Ek+OiGtW4-_N_SV-C+*E$E181CQLJ-`-DiYW zT6^Ujp%=0S<(G!(3LZkI@Q*f?_z+AdGq)_N45Hb*?t<7ftFF{ZDI~hfS&8c_&8Z!? z!JukHqsI)nd4rWh8rsu;;!h{^Rdnk-G44P-OV;~<2I_q?0hxoUACR6;CVd-RO5KzN zv{wd`B-o8#3C%d;muLlXZXeXgr8{%2gqvZx$CT$nAy=ba#}Kfm)M>0j%Hfxk%lEdq z^A~SilOl;`tg-VQF&o*q6}eKFO`FJkiYjuy&7G@W_G7yi*}@ZXkkcYWAv^1#?HNuc z-e{I)51t-}nlQAVW+{p8MU~W$ko8A2#942Cp`t~#1RPff%WG}jb=Xf|fQH=QR8lUU zw2=rNTRLD@fzUvZ(oXD61@&-e4Z`J7N_=V|{!pRxrI~A_rejdOv<_kED>;{XVRv`q z63Tjey$XxV+krKDZlO!W1L9PpmLwF%+VJWb`Py=L=u!V+|5D=^(IzLO1FE|Cxnq7o zZN+8-hmpl24#JYD&vH{??CStLdvt7wtvCS_u8~Ts&L#nlS6VQQJyvgzQn;9s-CRMf z2TU-)RiM@t&wC+d33RI9|KJvY*{v0G+F?}Ghnjzxc<(EAS)six#F z<_|U?wr);tC$?&3P0zJ>0@f%T?cvVa%(g610Jz}{(rGu&`rFXS zeQnQqoclYuVeI4-eF5gvG9oBM^`j3xb5pRQ@OW?q8Cco@mYp`wYddPvH7AGd0mT8x zyaxYbe5tL}U6j(ToFTR6+3^jay0j}U-lR;QV=_N*&G~(XaUf-;ID!WULbi+SGEFDJ zkghYnihELQzQ?`lm&6}k#9j!k2EH5pmlvgNV}r5I9S^e?wH@9Pn< zxjpP#;UJXggI`spEwJ>y7K%`=^otVKu9kL=oC?cs-4g`b&mt&R4h{agHixx!b%MF~ zrjna`4Wu943&wLQl(zizZBNR0fa;4*>>jdJXfQ)*%pm|vK(xQ|w!S!_-4@!e1_=-0 zz>3!*t?~xlw=mntTFy8UJ_Xgb$LiF^_ zHf$D0%mif&+!x5jf$3#CVg`ysYaV2>mu~YR&&*ehnypT>B_IO9=khHWnfe52-0^S7 zY9s{r00dZr5$L-VHw<=SO{CPO%n84U?Ke@KT6Kl6Wo%_KAz-H=QL~9#(HVE392fCD zwYpXyV~&v=kE{`=d(4paU^%G^5Xo!d5k;G`rtYn*xjXFy736}tIBc^tpxfD;%FvgV zc-LCF27}^BH#f|`8OoecIp}vbptkqaZLh^uZ7WBg1gRK)?!mNs6Q^0Dk|3mL?sZs9xo!k!=%CR5<-@~*3g7i`1mT4m=fv0`SYafSi?p^zW zb3wF=rL#R&Q!Yn%UCky%nDY7=O*frzv?ilMegsUzJvs9W*tf6}&{!CNp&%cS7CO;a zG%1`m3YIv_L}|5E4uB$_JHPmq+9?IuTch3#+2cDU%NN2Fu|x3pUnT>(N03sIh6628>5~vAt)Nh%hVXW*|XwQK6FEt4=_Mvp*;V?KIy& zsm$T0FxTXv(d|tPV0Vtwu{oiY=SvBf`I%d-YxE`c7HZ=20bYS%+QEIIgTY4Vk(+cWG#xW9%}$@#s7g7@8Ou&!pf;#iml5afyimjgYA>sEyUkB^jBpbJDtv=Xt|8yOOUi)Kopgq(0`@Ym|`d^$q?o8F1# zzHx8o)cD>df36(JqZpBMLii9g+KH!0=DggJj`aMZ^SPBCXd8%LQz zoK=RtiC2St%Q%UcJj;eq19GI&q*{l|dS$N%o$nT1{^pK7T=ha>jigoT0cccxmYa7LM78%e%k}q2)5x}t@(m{D8ZdA!Q|Rq{`{w9ESKj6%7uRo5*VG)r z22m2jdtxdFP|l{Iwsh>(GQh@^OSZ5wKR>&K;(F)b&pG&n=q+G`{jPx6t=OSEI% zOizgt!s&@t1m(!3d4M?1-PA*o)$69|x}cJ`FY9M91tqJFXvSw>*tW8fc%?Vxju2lnYK*Gt^A!NW_ zklEs$B&Vdy+%2UaFI{jj)Dfm1R$oMDTGT!^LHIQwuiz!{Sx;-ca7W4f@Pb&<&q($T z!*T4Yr0XXZOsr4y(Iq_Wp>cZPFiC-_?*KjkE~LgZH)tl6rTR7D zJH-V*dhVQfSr754C@Q_rDG#+4Xq<&f|pv?2`09k-K|2QipiAB(Mby zSbH_dah()q=F`zHilD*+jJ22rWcrI}8{ad-I?r)5TRilWQG}ZZ3fv>Lvv4DZNXeB< z6uEL)89hUY`3|LGh{VH%k{F{ZrGpK+dhBclP}m(HX<)7HT0bozL*COGe+^Efxbn^v zmdeE!Lo16NVhs9@gk41!CLPwB*(d}iyLH;U>+S~eG{`~|2q9oOc7Ybar!%j$8itE- zw;i3n`{U{A0|xDzclo@y37vaeo99f_3|@+m=W001rcka+eLrC2tDul50Ji zgcpGJAXG!6v>(F(eq$zVU5@fHX3&+v^5LB3AfEIJR_WFmIiPaWgR_EQf5%9q^R~*K zMC4%q)LkUQ)rY)K{@KOLr#TvpY3v;R9jHcyfyNa-mx`kKLk&Xv$5nXzSppM1!?`{eMOjk*VLOKrDnWw0COCO*2KJqRS*>P%yhAC zZ=In#(NyhNv;GR?OzHlHK_V9`x>tI& zI#&-s3=t&>>AWxA95YMNdl}6~u&h~NYwNPN!)igtI-v4U#hRJOKjrk+FTUKhd{dz( zcZ$=d5p}}TGkYE`;hwh1iaML&EclGK#jIzWT;mM97Q{1j@t}kxL7O^#7lvn8G&9P3 z>uS~xhfG$|wC^7^{Ws@L!`-TwTu?3B@_SJO6gRDqP$|x1Ev!=KZ&`7b>gNxIme3^Nm zftX$=_@gqP$B4NUH{7V65C`4;L7=QS$>Gi!O3;{#@rWcy%5*jmPLHKC<7J*gOr7H@T~64!q!$ay z_+9rSlw3RXN%3X*rX(nZs~2Q?Dlf{4eOuWFpina~eITMPT}esGx*Dz14rEv7DJ#Q; zW1k0}kt4;Db2#-?>QCAk4|t_UFnQyVxRbH4NRDqe#g`ozq?vMxya_i4JxkVyeNDfB zZ9u(03U~89BNJOLY5Ec zk#9oJhxy0iRps*Nu~?w8ndonD%RLab`ltZtFD4u;iZj%~QW)tqlCjXZQNTjzuog<$ z1X$1F(tN20_G;dEH~V;rq=rW;hl@sa(884r8M9>w;>58Z#LLPfyyUj2y|UUfP*F`Q z`e1yDP^6b)aw*55DAHDBpV@bTX*0)!4l_$%w-TqDnc6G4n<51>id8g0molnDGa79% z1*;Fz&y)f?iwIepWZ$Yla`0m^x}ZM}{sm`nFWf#Ka(E3rKwYMfRU9KsYXbuF=9D-| z-C=l2g~e?|Xf|Fb1k=anDYG@uj4u+c!=u%B2}Hxc#yz_4VdPVQdc!y5WI&9z@*PLd zO@$o}+u>CW_^(}AUCGd~-*m2|rAvD5&yW+y9j~HVSoPfo;Ar|jIm2gKRk1O#cLE&q zUCdd+PoZJ7iJ$WAxlAbfChJK4{0WB=1EX{IthAfRJxpwgt0{X}=e)2N*vRao-i$w& zz3#b5m86@G%LoeGslp&^k=y8wgo{UA_~V38Wefz0?*)}kqR)Cj)7MdKKEl~^Rwq)x z>ZdO%_{U9>#X-ukwrfC}!2>*~2#4c1D+_-Mi^pgrpL#Vq>01Zz<-%jE^xBNh{wBqJ zp#W)>Qg}~wK_cYKZuNlCUoM{@++vekD-6k=7rOeGi4-i~@2+hpBMFfZHsLyIcDwufsAMVLa<~3zdL7H;1Uftz5#+tF;9B09cMbLx($RJ-9 z@*bBU1}`hawaW56nSRQ3dAFz_;@q#~{C>XDm!jYF=c5{JE~952cRF`J@Uf6_x^yn{ zqi}DGOb4;uni~grWmP|$R~@xP*`0ib2$agQ>EEpJp< zD*`soqGyZr$WL$v`ie_jq+k!)%0@6D;AMmG<Cz%5`_ld5ohu60Np;rDHL0x23{@ zVS^HjF_3q&5M1OKSz42T&M5=^9788vXCJn%5r~~o0unBt#;WXegOab_@#Q7`At3FD;H6cL zB2e78SntD* zeuG2R%m?@9OaLGLE1nF;3qcDf7I4Jfc(}jHPNVI|OtTQluVBc@woPO5Av1-YV5Ve5 zsdqY3SMRWc_tjhzKa0kMPh1sPFa0!@mK(7_bN;kFVvxSV>DEx#bd?YwQD9z*kLedikruaL+rUvTnhI?$q_u! z(h;1NhlhKVjPCQUAzs)ChWR>7OYT(_H5de+a!M{7%66iRs7sX&lL3zJ)htpu_ zB)cEMthq+L35P`K@XZ}3>K`R}fpevgoOTaTT8qNKT3)$A3C*$$aO_d3oQ|n%IthnT zHw9NeFJ@}^Q^s3%ZuBhFhFGjzm5mD(uwAFmaUhJ9+}7$oeR1R>)5_PK13w4M`Ila-CfYkelW!F`mFFgPcpTG*Wowj*TM&G^A zkcXJEQRBJS18Dl}POua5dj#)@Td@bP``)wF@?8>b-aB!zsZ}tnD^C)D;b*-HxrkY6 zpHUdE5^P&Y3wy1zPz@@5mT-Qt)}^JX4c?u`aYQlT_@%pg{emP=hu3)Ud-UxFN~O%l zDcMQ=f=&W0L1&@dt{4vQ$)*5jon86`e9I(QR2lbBcIuelGc>oF;QQMGeJCzrzC&9Y z$pU{nzLZ(sQSR#3FuChF7n2F__TM{=4OsI+la z?ZD8T^J8;YDFax?oYL+P4ipWU#46LkTd=LBz6LS&on!|RWxJr9+HN&}3cJ7gX3bi5 zw{27$W+@0x8Z+-hrE9CjbjavRwYPglJXAmlmF`l#b+us0aBi!k`v$sCpuutzS97U<|$XBOuG##+=w@7T;9j) zbE+0D3Q7-Bb!~zYOw?HVt!A%WtYr1>eKEKsC!PZ*Asfd0wXuH!l>Tm9o|2d@4l9Xc zWGgW(E?(-bu3S@C0m5&1OgHPyHy%%najdfS9nG8H&PK66jVj~t{yufyxNGhN_9t4G zAbU9}#85xDT+j0KkhOKA?7E~fJ6l2@p$0Z_-TK&EsQ?GyQ*5$h;{Pn@xTssgA>Ki7 z=bd@3u03z{cM3)dqK3J-2iU&lamC!bC)yi+$T`fr2Nxi;$)$3C{!AW0ePe$Y1oh#K z7Sz)gKy%@@9%wp}O-c zA-FcUgNrPCv#{NqhLOyoC-OTDtXYIg=?+BxoG zJF>KNjOewH5KQhUtF;Zq8?r#f?H91cSKGA2aSc7?zn2?yHl zK-&jhS@A+w82(rlk?a-&5gfP(yJ-XD4>g%q)|z@qb+`N}qXffJ;Y8?NYMc!lzRJNyr z73QSfn;bAgnhHAp^6hkc%&f}VgCqu zv;&8(-`ZRbE8(uL4CwqP2ZA2kx*@(?x$uvemr+pE-;ctjYC z1Zz41q7oRtf>~{7BSB$v!sex!1iUyyMO=Jgh3JExE)A+LFeX*bWc<1(CN7*DnA?SC zqQNxgs(qzK0}1IhYCQw!^`4$K=mF6zCU)P-7QjyCmP?T1X1l@5>;q@DJweYm@DkVV zXncoeSL=m!Qs+$56iOe6IYz!yR_sMAkf-$w=9R^rGt5h!l2AN9BBeZ#A?JjzcCnr} zgiV^`;I&IW9oKUqXkI+k%Y~6Q@1$*=4^e4FI)9H9^-ZJ$ob2XEY)pUi)LCw4PcVg+ zH5*ICeL{72mk3^xb$X#zybAkfK0m|BR!PqkhlcY!nT&8pQ|eTkS@zyAGyISM~p9&!#T1Y5yY#Fh=KKVdndVS8y#GtLLQ`(*@K=qPjrhv|8?M#{nG;Q;< zK+(p_*vvSCTx4Ux*_VZ+8y+xrV+dC_aY*>SV^fyBoR=}b7u;S&m`igT;cRppx!>^| zS?8Y3*lNRcF(Qwknpe4W%ou$d=^JM0^!A(7*Ma=JY6?G~Twa<+9VCIHz-%GW-2xfm zg6oDNWjOUG0@8uB7k`TyK_oJ-aNa0e0WZ18d z$>z8ynmYgl8PP^?(Z<-vY4Xy#t@6%`Hg3vd?|XS*qOx$|zUgC0kATpta`0mA#ZDT@ zU?2Hez)?Sf8u>@yeTbiPeplfjoGF|xbUTKMtSF$iV(A`}nyC(Hk1(g|xUH;B9h>p@ z2n5tUODwE}rGDVVUOOM`>KmXCPe-oWe6@`*S(7(+soj`R(-CR}SeHDA_y;y?@lJ=g z9sG*ub&GJpV(*C{2VN<;`wN-j02_FC&n*3)3%cbdyGUyU23l6PHmiw87?lthZ|6$m zev=qsDNk-ydX&52v0yKtFEj@AoJzcoXd6dF*8E((R`~4sTv?lM`a)#tudIy;`h7 zzBDWI1&A+3{5HV1@#C2zFz~?t8%PIQ9D2ChDS63x*chsng*HddWkyy~~u`l1$=ykQvc+q&kS(HD|WoKaMzhqwkm zLs|_$M=AXa?ljJhU0>#F=J2^MDJA4Q3(wAlAKv#_+VQCXh_2FtpQXN)g0NwDh)JH~ zC&C(UcSMP^I0{#^TG1mOqiycxWgU`+jPZ?LFM>Q7XjluVFIM(cdjz~}uPHA$Af=`N2X05q?Y%a zz&xN-TzH6ue-FU}@100T#jUI_Zm0b+8&YI}p()yx|4HRl#RH&rGF3Dk@Km!&ZPyDT zEv=_`VP}~GWxv;*5_#UwT1LkOKL`Q#XFf68?rLUnY9nC07_aLE^pH2v;z9#Hs>{ng zCBO$vq*nQ1OK-;-tqeQUIF=ns|5TK0$u3U-`oS3HpGBo(`#mv~1tL&UFOnLLOql7% zYZsuZ4BlY9^G5}_`hqI(9hvAk9&yImO&Sry^m7Lr&3FfT=zaZBP7`og70nJ55Fk@L za<>DWsmG{zF`ZoWK#3Yb%u*8N^w=9XL}N`RYZvSX_ij*lxg(Z2g!IrQj!WLUQLhSOYtfj!0IbCoR=hApgL2J}@J8(!g zd|oDpH2z!5g*3@%g=zPWE$PW^X?E{GUpD=Rcl?xL$Ik5h$YFR)t+}&i)z84+=6fBJ zbLT&dPM($rs!E|ua0wwIyyStiUNqe$c00>-@sW)^o%HT zjqV)?9)FJ8a&td$YD@ui1n>oT#&$w4c5!Pq)G<8Q4@Ws>=B>`h9-vgDa#>(HddUuh zf0lN4WWeDx$`1GIktsr4BhY}O-jm5ISb6ThzKi+7SRm%<=6uH$uttHo{*J`2X^m?t~;(J$gL zYpuAqXM-q$6H*~KN+aa#VAOOf#EMq;y#>`90LFD$i>b>h9q9f&V25+}dQ-|aup>~u z0DVd~SEf$Nic!pwqi~J1Z(r^kRidQ%Dm&kKH8~vX)&C+d$wJH)HxRiQ_-Cd z4<7<~`u3Md?JJbPnP@0M_qSTFG#L$38V14%L^HC+7rds1D3y*$p}f3da-fI6C_lto zI7**YfRnG()IZW%l|3XKtK z3>|F(`sf>MA4$bzGu-xa8NgQzB0gt=k)g&jM(-Di%49L{ER`WJXFcy~a>8IEuD$FT zU8J`cxXC)?aaNl;Ht#mdU#L;PGW;Z$Klx82r5tKV(PVM3yek>a%qG>@!qs;GbZBHy zqb;2|CKwPn86qH7zW8a8+z@fY-dXiTWBXsILGZS}&pj!Hv6%IbDb#!oTqH!MQZ_uL z3>8)NImurEHkl}xaxJTq!x|QfSvo&%U|Kwj1<)L5h9Yzbfk}=BBg}$G>ZZERS|t!D z8EJ}EXjyY*Z%R+)%yrQ}H%Zfy!?&RbhRXJIWuIHtqzub`?sErLe64dAs$AvGk^H!t zzdi4>OvuI&IbPuj6Wg@jw>zU5bmK3;{lYsEnr~LgI+j6 z9i}LdI3OL-3V>@s?g&aApO?wnI+uj_-2u(eqqdw_MI2i!?Tsm|@is487DGF%Mw&WM zCIO9cuPywDpvzl7&a+*J?e!thhKX$Rf+G=wreLsg>~&CP-;8hhBQ(B~phZyL(Cw>4 zC>#Kx8HJTTH_mwW?lnob!Wx_iZ`ozJ(%dVPAO(ExD<}pA~63dYhrk>K(T5o+Z@_)9JDR zGxf?AXorLlxG9Wu85~`cT(sI6Nvb)cokg_<4P(-8hm?M2!|Y8v2|NHXE@&-1&{s8# zC2ZWDWq)^d1_??$HeFJ-dl$@Wt&e?jL2v<|(b_3yMDJfW=`-TX<@vbA!KgH zcN%5t3Y-j{qa?;?f0WJhNVsfVFz3-A;DO}6u#M0L!R%ng%fLa@5}?LagWLx3R_4UY z$L4m!Hs25wy{g#MP?vD6HQ?DM3Tq#i7i|)n2}Eg|7h)LbbMIuDB((pr1QtTj5YliU zP#)9=vOwm96dx?HcCxw49U7MQu679mJ-rJGTp`Byb?8=O`rOy`%M0DFkt{0@l`C+< z!Ytz!xJf6UY_o3?U++%bbFu8gg?=#_v1_2IkbbuI!vQOVPs%F|&q`gDZAlet25)_( zGqnB@EwZsR*ybO1%Ux zD=Uw}5c2T}A2UHVFj)#d39d5AZ2;%|FdErZxW@{6s`ozLqY&ddP4B|w{VXL}1B(Fw z)cr1W;8sj}A`qh4#iO`*`1zts=FZektcz9TX>H#-=m{;uLZA`M5p2SntB3hL&CsWC$yKAbN*NDmRi!}y!Fi;P;UBGaS zNbYS#@&c_n)o6XO)gpUReNJ?!z#gB(jYBcYM-kt!f2U1GpnSt`qGvVK=sAKhO5k^U zTKhsv<-)Y_>{HjMZQ^sBF&mXCfF%4e@eJD+JoWJ8%qISzghO#480W%XMOS3>x>(pKGv(nL!3o6^`uFL93pEvft63h*eXVe=xh#u zt4%(@i(lGu@cG$FCq(cQ0Ex#( zL{qR~KXOsQ7erU5ML_@6fi@lJ9`>QSnM5*%Zc=VLtL(J*&cX|P`M6Vpy0-C%=Nybs zW-!g%U6|EycfYroh-&H&SI?u}TT(8uqh9^&i#UrcD6u@YQhYuRJgA4_oO&^9_u7SF zq$dI*O$4Y_*)2iapbCv2ZP0=^1j{Q>8W;`dq)jL<@~e_&ns1fe)>*y0l$pwf-NZ46 zQ7u2$`Uaw=fl{#0y8^>^%>3Z)6XP;*#_JvX6}k3T zq>IZ8Zu#I&kSJV+OlA55?>pNlyCRDkj{>2pTvWeIXxRWQn5|RuS_?2wvj2O>)Bt6O z$Nhpdyw5gJ9$U2)R6>ygxtS~>+=%T$zJ-|15$CmfY1|-WW&3Y=w*>tsZNl0n^l${r zbAP-SCBa!|PO3zGDR=ljWBH(VcME!O9C%}JnIq{)B!%)uO|soO;}k}QZ{~$ezT*~i z6ziQ#a%B*D&wwt8WZm|LE=4) z?NW{LFmphSJ=;A@`XL+gpJhIC6G6%J^u1H|t6=vgV7ixPzVQGDoICrepYqClJu|6P z3fMUcD|F*cxT)dwOe(M{PHLRNEdn>|r|De1a9qyD>0nH_SFi6N&n`eJE6gu$_eNt? zYj9m~_Dd1&^W!_3dtDd$5}>z6J_KACg(cf%AECToAlmdYIw$7c2)oZ(SxU+V9zmHw z-pRoxowHW$A-hlE{moYgFV#yay(zER#Xa!Xk2oS-@AcRKs-Pu4wrK4X?KzX6k55VP zEPz0?sNUU;Smfg5f=&MIzWv?TkEjXK_!(XGZad8*7&UcyLzXN+QIUQ8&SLY5KS_`43n-gfg ze8SKDp-m_REu!%)WBDzrWsix$DQ^-zbPG>+7B!pk7BsBs7tKi@6LI2tNegHMyE>}N z<F1~tz?u=HhSf8zb5DRa=!(yL z9sG3bJWzcAIQB;9O};VVn=`m&>1no0feO^#NOmYu-6;zUA_2SC${TR)sQph@awvIf zV!dC7rr+bB`{^)LT03OV?j(MvKP-KK($dE4k8uFEU_5cRvMO3dgTr7D6PB-{>_6?3TbEb6(?7 z$~_|LTAMCjDc1VzF?AP&(=mWSy&Js^}5 z`PfyC2yipT>OB?jhnO|a0t~lI7znYxQd5qaba-dPTRf4}~9r z$h#jq{j;Ea276yyjJ4A~D|RIfc+lb73bq^2^>3cdI>Vg92tziXb)f6JZn8Z@aM3x4 z+yJMLC1=o`IF&%75j^g(z|?era_vghOFLw9ZPWEs8ZS=@7%(7dVwU%;3xl`4pJlXi zzc7$Ro7b@!>B7V+i`Hg9jV6iWs^08-I<8qUZ=m?qDKj2G~^bGzP&r991L?z z(ZFPFSR}<;mqw(a>rJEOXg=RPoX_Rhfjf2n_h&*j&<|$3 zP756QAhHX<5{;05f0MPuUXQg@?dMGM$FEDr;{Q2KM__Y`8$1;zpip**YsU4!3Ezxx zAR#{-9)QByKFbrR7vLf>QB@08>cdjQ2_J7Cg~X`+9!QQ@s9>|sx=@M5R1hGSNd^S! zT6I^lw{JEd?I?m3#8MYT63wd8>#)i()47N={UB;58;J-C>j##ypK!C9k_l|>9uJg>~qOcCwy&{0~nQcyP9i5{1xkPhdUR*lknQjD?4m7!e+EPRm*(#L*KOEK?U%JylaKJF@3)NGv zP8T7N4i8Nt^Q714+V?q}FXQn+V z@?iUNRcSMyJy^)4*AziTd*>?rkP@|4W&0(xv@hW!`Hsm4Xk;aH#VV(PSNm#v{w#tGZt&SW32Jq zE);VtLS^2=J&_!m@g_PBwO0ClK`pAFd|0CtHQxy+S-DypsJt_x;7@>nnoScX{Y zH)uMj8|#dc;F5CI-Kj%RhQ>x=wlP~V|@ z%$md|+-kbA_e@-~+x+pcaT17vh2#C{C*#==y~@ z>aT3Rd(QX<;f2lxZfwF=EL^thHrOyHtNN8w80I=i;=x;|0nGt&z&bHMj>*cwc7;n? zd`yKzf)**f?m=avpsw67cWD}zCY$5bE&j*=&h8B%p07Ee1KH%f3hbp3K?G`4zzitT z4PJh2ak6FlkgL)KQ+J{VDTr#ZZl)HpX+b+8uM?`Kz;R%uZ4E&AXb9pjAKkouzE(y(fC);0+$t5TS#oPI!zPWre?i}vE0 z=PLLX7)*b*|8H2wF(9YG@mv(Uj3!m(e9(Xryv!dZeseAaa= zf@`)J-!{5E)`WrOt0!79ytg0-1YY3dHOB=|*|NMTQ9qz3CKs#-EAH$7k(rjv-e%=` zGU2pSJFn2TYz1WS9S1{pP4d7c$#dpRVyVo%%R*sQx_LvCTR5HN((!Q~Tb+fg*)f0< zBBW(Sp}1dUnFK}-O0Q-h?o|auiS7U!8VL*8@ea=KQAc)Vm@#u@ewE=Jl}`G>`*K)T z@7=M$_~VpA(9=!)v4v_&MtQ5C#Z1y1ukSwFDcd# z1Ww4Gc^m-gL!XHYQFSWhUVGAvI(2homd~kY?TYd%tuDMNY<^pr&ZgyPrB-z~pm}?2 zZ4d+$q0(59F2=J)U}rRRtdl6=J)^JH;V9{P!-oQ^eh;P}xt>KSfG*Un_aosu)8&Fs z72U{i0L~oT7$6@a>Ccp}Uqz!}H!6E7zT)=o0xC#eMwqk~o)FA`t-XB*@XY3%Zzv%h zgX%#uiwUc6Z@)66!f^sdSXV_Cdi$QR4#_E^avq)-$D5`uKDI%%a?LL+~lXw z5a8x`p~f!EO1KT2z%==W4#6nJT6@Swsy)%mtt(whkD%C&y(BO%UE;0;fzMMyTRw`C z4nkST(tR{87%ce{gwcq2-xQnYqhFK3HjOy zU%6PtfJylviks5Ax=DzSA#HSz^6pDQ6(v2&yvWrNXkFSY#R$?fFYfvP$~}5>E7363 zx}R|yTal8I-zm<`Gr0T)Q^f*bjxQ2&Z$(L?!9!*iQbW5C`5e?h$@Oww;zjl!l!!n*6hU%J`(`yidOyD>XM2<*R2pnW~6W%81gd8>| z{oNS9oVPl-?xDtEcfZMkj0kbY?D8mO4GU86S`{c{fXp8RVmpPq!UE6$JN~VTLi{eQ z5arcE(YU1rrPId_$PTX^k^_xcE`2LL=}Z&$vbtd5Zi)8#>7HxzmE3!Y08Q)0I}Df^ zK`!OSQfc?R0~R~h;I199VN0!+0dukv`=NVWvk{Iu%MFV$9q__eq9yEo_O_dLTAfSr zfZ?vsSboi`K9Fylj}c?qAKsxV1XYjG!a>UiV^9uI@HsYb%J?vX*wipzIA=jQD%4lY^U#*=s+{2=r$x^;k*%ZF($$!H z6)+>VS)9RxAi2_cUpJ>D&Jt2=h*Qyc&%TGP?9T0J#5!{}`Ye;lZx&U=wce9_O+Tx% zgNj@7TAO8ZX~cyxCXGJIjzsg()o96#Q=_fLw4R$a*p7{6(zc>7iOzzK5bl9#s3LDB z2XJN!cP+jVtk}wDV`5~G;CVoxi_OjA7*h)0d+`(Z~2Z5*)j&l z3xM#TFwXBG&9Z%hEfS_7Qz^+5KwO0dxuJ$NG$DW=nm*+ptgo}#M#YZE3FGKMs)h`+ zH0iBvQmA>Yoddkg+!mLTZ80Y}kukel5BH$+9x^F{;RAm8+67ktVXmz(x}Qr91%b~v z6k+}1Fa$YJScJC%47K-~XvYTtb)6M65Aj}1#vgHKldD^9ThXMEZV(_dsE#|;5Gjh1 zx@mh7`Xf+4!Ow8nqw!>o#q;1Pq!9#xovQcl{l0S~a__Y^RX(1I0!6c0$NoVy0tuB}bYYNnT=%yC(8hN+|3vzel=TCql;N z4R)cQ66ruS0D~-hxNCGlR$UxiBbwqivm6V+{X9yG;w|(N9POvX+2CZA7z3t}tYD*? z_|!JW;9?FI|8lt7R$|boLb%t>%ZmsYa7uR8)^ZV6&x#L~yDrtG4W^A?3zoe-QHUc! zUAbEVD!@rY=rGWYMrd_`$!3JYE=NF6E30kD;y02dfsHW`9aj!4wZ3;2_RJ}rhQ*`{ z50rz$DR8tl-)iJ_lGTrg0r%Qv-d8?wH{6noOq5|Yh%U%=-_UPGtt~AV!x)ubJ;Qc~ zhs@y{WCI6gqzuDZLXHInUs>A##wVvQa&H@>R$h?K)`09i=X(Z4(KyhP4mj^19wrr6 zf~zbaM?lS+)5bweBd^2EKn+AYttF*2VrS= zSp&RrK0}_Dv#{em>*dOLd>ILDFpy2bkFa^Wjmqh{*;ImT2N8}$@!I(9guFZcz7mnH zz60Ir=|lEZ&1@HsX#;0^y+o95^sco%GMf@}P9m+BSJT^2VCTAAH~B>j2s@@aB70Sf zp;mb4RNP%YH_GIbS-LZCY=7r2x-V>vqUb%M?KN4I_-bJ?S=k%GOjy&9dL5XS{>%wS z*WGcNO;%i}?hk)?x^l$OXG?m`mLCh0z!L zO&%?TsG}FoawsUip7ktO2Mn7^=$fK|=jDQcP$;RWRu?I;y9&%(xK3m7yEG`t3W49| z3tWn?Osdw86Wn-B=#l1e)7Y&~d8cQ&m+2L&wk$0nA0JiYre5qUrqckj={R&W7Pe9& zl>U10o=0(B_(N*nOT0CQap;N0sXf=~95whCX^X%|IVs^>J$u z=RH-F@HnSb@itmh$v6!W9_B7}_l>h$Y>q4zJ^3jHSU1`g+Z629VmKmomsyiL05dHMJP7MM(&JGgZ?eN*}9f#^0{!uI9=jJ# zR=!%B+}Il-GCWDlo_7F2K)%0jjeHn(KXXFH_l6u2is0_>#BC$z?mts=_j~Dnu z9_a{b9Nl(8+WCTZs)Z|Un!RxDL>1gvZSPs>=iW-OELa=zgi;RKAJmB2U{W#>oMY$< zMtQns&f4N0rvSNEt;IRS#pF>~IokvT$E4HjvU;4eOgr;h?t4AD3V)r`TJepAaOXGY zNY=!qKCMzgJ$dTOYqJ^ri_3gik4#%_i>v*BUU|9v@l|67>i5=sNL5o2J`2DQTXGG1 zXLnpCk=rP>!hMvH{p1+r&gPn7S#(=uuWHAhOq|;iWpB)lCCc92cdAhe zSRr;PLFT&=98?HBz=DBulW(VS09}QB5yOUt7iVJyy-hYY!#jhnY}st#fVYQaQRSdN zh}~lmgnno?S8;4*NC>D*w^u60$w|=2jc+7Za00RW#ibau2C0Q$zuFe)3>+j19Cb|f zs0ZEmXxz(iWUM8%LI3$co2NJEtk6NORgL zg49>e5aIslWHENRT8=m$fO-=`nh&bO0;;{Vp0+xw+Kkz~up~S82W836<(dK;-K}w4 zGOm`)#0;9sQSkZF+bLtJB1Pb2{qh6Lq-TkatT7vb32wt}$~ks*4?a4FhAk5mpDyd%%fV zq+5NB+*4Mwz5$?A<+ZV>aUBmw=0Z{oIV7*~ehA!*DC|gN9AS=an79GH8vVTw?NV%( zAlsswUHB%8R~Af!3C4#R=76P3`%O4O#}%&w<|F^SHBnS8@OFpH?R*0`FVg#cA$c%G zVD+-c9HZa9k=0brCtZb7g7yi5>PZZ8?`*!YW ml`nJv)4#J_@Gbd{ICXjtvH%;x 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

;8`qTYfrdPLnDpMpo9^Vu)!?+8#l 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%0DF-#!=^3Bh_8>e zS!<;>l5h_#+|L^iRBM2U1N5rR32HH$rh_9Dx{%1D zfWil5*MyG@$p5iygGQDwjX^sOpVEiad(VO+<1Xm}vBEP)UZiCch82LCft`p%eA1 zP-DpAf$L{4IZ#vvP*VZ9WXGkV7Lzr1j8PE!P7E<%ORS@3Ad>O$o|E`R#r@mo75Cfn zsJC9y&sF#Td~sE$-_j=n!I*(m04_xqBhLeZemfJ4$qQ+Y1Drc81-vUsd@bmHK(0B3 z_@zTWdMHGhRvTlk6&0=zi+0vRj8kf`4Vr-9R7E*LEp)%s3Gf4&bf_=2dVt0(;q5`36w&lV_33LXoTwre3_BtGJ z$NqObA;ltwoA! zr)`jSk^gt^^?;n#B!c2zu!!(}hOGp?C4?ce+;bMMt+FCeeUqTN6}Pdk+_lkG zU^G?FSV|B`oX<}R+Mmb+j2ROQg?#dym<~1Dl6mdUquV=o04Z}%%#*?=K>-OyDpVmZ z>H_jRo4tCB?dL>g-bXOWv{n6hqS?*Iv%s<&a~~RbkwMk?vXf%X%N`BlT)iHWs6pM* z6TgMMdComAdR~54S?wW2=tS&TXenPPmYHP0>VqKyj${Wst@bbeF57oW8|Bl7T& zqG);|3ti`G%3x%CLHnU))MxNf5m&X^ht3?JhiLk#a@sqR8Hz9ms38)n5Ihsn6-$+ibZ4jm70BY=?CJsmOM zgPLs5-EqNgiUbwoOptNm%y1oJow@Egn!?#|KSrQo$B&L6$FysA`yB|TtmgxafA^Og z-^Z-*|MaLcSawt#< z)C7=uPZ~4}tVlbC|2~$;boUZ94XOksnuGcZK1}jjtRjN9|3^OY*2Q-#Kw^5X^R>%p zVd66a^%|`^W(u_1NRaA-Q8#kEWoMnMqj*2E8ExI^J$pVvAZn#<2B04QT zwulmU#-6bo+7{9#p};7w_T?n2WqFSsjQc?7SccE_U9Fcl_;6d~lD8!58G{ytDvDk(Y4>PO^^J@}JMytp4uD`tuXxr=Q>b{df5kbn({9`ucr=RP~KAz9Yv*Uix`FfUQ$9FJE)K-+~mT(s~swf!I#b+pz{%{+nR!J2`Q_#(=2-REnfg?sREnf!}nk@kckbu45dl;gf|NQne{m3*GlA78{)R}o^J5lEr;v^4df_ZM`r?; zjU1bfHG2U}D_|SHY!V0QcD~1G&~D_K8G(UEF$I~O1fSqZ3N+>1^*(A%*5k-5Bj6KP zBpsa=5AtTm8S8O^5$-KF=9mGi*OhTL2D#-9egVaPeyF~N3P23?vDTiUEZ%rYzu>B~ zPi?z>L&=Bb)gjV!3#wQ#KdX5x%$9%&40PEi)7ZL)vy4xKg0Gl@Dr1qkNp`#4%c-gi)h?w6lg(5SD%X#P-a~@0eaEo4dX8`|?fs@Bp zycGu|Mmx5#n$EKki-=k5Otk-T!$NcrlA-{Y0_!mk=e3-5_8ACt&+YbHclaR=BSlOCI&)B^?PXf&7}6}^Gq)l5#o-|L9Aa-A9oET;Pq#1j}g zI|n}QUF)P8!aV7?Foqg~?e2~3OAjHfOLrbOgBXfO2W>gW zVEv@CkKUVbkb|I>Y6!q#S=ju~#HV*bu!^p`ELGp|QpQjm{zR+=3lgM1$If9SKy37_ zKNgmLE1&WQ>|Xrob9<|bW%Ry2w2@*|eiTTBN$h$?$&q{n$O^h)G?1-W4FJhK2H!M9 zik+;}{Sa)Nj?W-Qh=!Yy16E_2w=Wvr8N*)AydZW1`(w^|dtlTBD7s|NNzQ3B0-X_# zK99+lL>N~B1uBH;bG;Ir5Y!u>0d~?926$(B;!G6M2X(DjB1m?lVS{gBva}E+g&@gF1THKvNKnL-euc z=-ct>_#DvFjvNVhf#TgeFs;PnQ0*}XjG4g-i5Aa$1+g`oPjO8|vd6q1-D@cC=7Rdp_X;7ppy`PGlW_rr5+!eF$j6Hqu~rJffO4cSG<^_hJxV)-N$g53oNkF z2+^#K;JH_4sH)=Oi8oj?>j*tFcy9-yKf&~*M^D#kLRPl=&NI>NVs7x<&%T6^Q2_9C z_*UdL_K7KT+-uT~PL=g?xVN(FOIloL#{UMh8V|nUSKFQ z2l_hza$q&Y9bIdiA_6L+XAH?@uTIv!hI`rC4oMhL*ffmSDtw2aM9j|?KCoTE9uJ^m z6Q7V>bB?=|aU|8lTiQu<*Cby6%68eopeRgs8)xBGj7D7Z^y|&z+~2j!eVjJ@rVsnA zSM_t<{l8ya-4TCFA1g15dG%1e761W5FjT;(-Su!8;I)TM#@X&++ZrzS9&<$xaqm-< zbLcEuzRZa|CzM`zN>kRvO$G@lNR%+YJdoXhcCCAjJ};GXQMW~j8hmohtpUJ8TU+Cd zhyeBtq9o*x^m=p@VEnJS%o1#njouqcx_ajEJ9;J6wgB&D;JUQVR1D1J?ukaa;J&!g ziSzYbGW>6zRo?p#{^7g(O??0E{@t@Z?~T{>^)vO0sXh5LbU2h1bhS&)5msQ?7C9k4 z%d^fN?&=zv6&sH8BNty!9QcsciUBY#@>COXGgG1X1v5)}-cfa-Ut1m<*))$)bOavs zJP|wi@@gl@4H!#sw~3~WJPHIX60IQ~)DKzjV8FPL7@B47dk4ng4{SDBgc!)jd`IC` zvJwMK_p=e-G=?jk0b$g`L=nl*4x@I({W;_KU;bt3efPsp?|%LO)S^Gju6^SL{eo+5 ze7e@1gM@4VMH1h)ki2fVotn*g*cea0ysMBv63V3wcs0!$OOI9-da5Kt74avk_o19p zG;aoiff+N8l4iaLpBO&jU)}fY9&uk%jVBdcp|>_~bQ`J=Nfsd5$y^XR9GpD?OT(BO zzZ!l7sDuBsY@%ro!uB$|%ZI5z`SS>=RoOXo59f(C3B<-Ldp>%gOf#rsK9A7*A70KI zelslotylERzueK7w~pvgV!_E(qZTcEEmLKIG;nx~1vQK2StI4Zguct>Zd#12)Nr8a zY(Z?qvF~ZN-6UEUsl9{i(J2IF4#7_25m^Xh=*!F9;5)b$xh7xGbBtx&x_4sE2-Y>^ zi9Vs4Rf@n)vhNY%2L?1@fz zq-UK)6PIX#q$}HMdnvM3c(un8MHfVgLGN3I4}3q~3a2zko@62iCrJ&)Yq6(IH2>-y#Id5cufRm8i}Y&%i&o)&oh#%Asu z3$0PQz}n+;29?mrfr#nFrIj1)*>&;sM>iDu(!JJMH^*H|5T->maYIpaPwzGEL3p7b z@t1F0OpTafL2lBC3G(#^H3U$1h>%DjBoRRX#aV*Wl9n@eLouoCFIt#B{>*jGC0nanLA%6V(maZODlU zT3HY@kEUn2hJ~ zMt|SM1F_Y0m%W;v#ct-a+IPrW;+{)}3S)r~_oUDe#KXLQ)Vl5-fH*X8Hk4=z&NBQ6Zk*n1d2=`oTPM3rTOw9kAVm;4|8vhe<@EQ_~Z-!J&i_qn?) z>709p>wcg&lEDeIiB+4FmlWy+D6Da%N`+El1I~N*M>@ad%pNCpYvAC3H^whi7(?$g z7>YEd6a%gm$+`r=G=bSe(#zKd!e|ukr6|Ci`h@dJf$5+UJ^lr(@8EG_5}%w~>w3+F zz;0;wse%=auT5h&1(XEX;~q2$1S{_|PHzOaUvb@c9<;4fMJLho0q(zgp}Twc(>LGO z-`Drw_&@k}PxYQ}yr^G6-A&vahD)+;KEyHZ*$JsyRjM>m!MRKG3~sXQQ7hU?Lr&Y& zHo35>(9HV?w*xLmO4hzm{!u>i>!M+BhxC!4Lm%yBNUEMMRmK=^CbTwf03t#BNjdd) z^TNWLX_uqf_T4ir(1JUfOEO0PTO1?)=49-bqKxe?P&xj(Av6P!@b8O+urE>B%Xet_fFMf z4<9red?7TzKieqwCzaI2Kj0ph>P{eH&WsaP1+h2>3~gz2$PxKAV^A(;kHk(tQ*%KM z*bmrMcI!2;*x-kO7s-6gSy4wy%^IRmNiSjQ;et7I>zQN{?w)b74@fMk@=`$$~6azl|hH34+5u?jPRt$?YYb)oCt z@cG>r%Dn&LqcZPr>;1Fpdh4}&y{CN{)y3!A&l+}9a|7VutmUwS+>gyiM6W%9w5rC+ zebd*y!zYLZ!{R7{9n`?jy$G?x)bPxQpUpNmIv@DA*5Ngv{uq!8);KWyPNhv3(OUMB z?6h#b+DKQ-F%Tj9Am5ygNLHQq4q)r5pvf~i3#|u8=yW4%GZzmZcgCalGJRpVfg}hR zQWgIHg0pN?dc^>T0ln&N6Rsyc5qG^PumAMpR`yKZ`Nr$^rIyx#0Oez8%`Jgd9aiJc zoeu~unh&IB90Y$&0pbtwON}t}6{3S(VwziVA&0V%?=``C(26nc7%N}J^nty#Gn1~c@f_Oum~EzBM+z$w zf`b=f42$SEsGuC!Uf93p(t{KWsgnoN6O1Y_VdJymig~G3|CK%Ktyk?!Ev$dCXUQZE zC&(HDodQ^6{bJae;t&tzp_smm*AWPualjzX1_2H9kV{fx>rV6Ij5KHw+sk6oF)L?l z5N>P>UDs+vFkKT;c}Qzt3OLCZ_zz*m$X0+mq45NRWEvrN=psDSNI|n(9W;IFJ6#bp zlXN%oTk)T8YMKe$UDQYg*|F|N96O*A*W_w8k#m<2*~19@qOkt65AQ$x>HbYUyW_v{ z!hNZ?E&i51L2W(;%pSa$W-bAP3n7|gGN(Ua zk%x*MlANW&{V>JnLdroi+E@Edgl}{$My3t&mtKMn@t&u<1~G)NLxcmBKAw^eK(R3F*f(p+?f>@@ABXL>dE-lOZcU3U>ifLPj~vxTuP=k1Z+Pf?rjVs?bgX2*B4@wrcyg@DR<=3 zQFNim0o-7M`Q5dU?EpnvC9bHYV>!~A6>-$O5UtBdHU$K@akOb1_?=%V&?!>y9s|J; z_jZpR+wte|#JVS7me$eh?DmZ2Bcc{6QD-1PY{S}xjIjXLz+wR!<5GM(#6xqaYlg2I zsfhK}2O=Tr7@c35xBu+@hd+J)9db!N)!Tpd=_UEux%w0V@y2WUdQTG><(xEBseo0y zn;+s$&>V<>&q1)t0I~!=E~p9a9lJMhkfjK(82b=Z{5rU^Hd0OjveL|md#I5b>O2+w z&WRxM2xkyw-OuMe?K9|WI7tlc1;-Sm-kLlG>RAP_1I-W*aeV9wcb7TVg9I6^ma77C z2cpK-QVVjxJDlKBL+;DGbE8*atl@is)0@Yf$6e)zjPhm27Lgou_zD;aadjw?oNb-G zYIHI1aO8!A8Hg*+T9^l5_6_|Ru2n1tH!(kBY{fqp$%-d|M09egm1klGwu0{l$Zc+h zw`+*ze))p@@BXq|@zc-s;lp=Nkq>XZj$dk}oo|2P80M)yzRyWz$YL6H*MeX+YI3d- zrlg?Y2QIW1u|W6a*qBCwg6F!>@f2zFM_G;*QryUrz9tq0gC!DyUU{j8kRVx|)r#N$OBdmP{g=DhuiXFNdJUf-l)i{656ssVvgQ%u!>52H+hR*`@xE>@c|*>D#dyN51Wp|rMUS#PTMvP0Ki7gm=0bTR zV#nqMUS?cCsF25eUbe&@%>@I_Z1bML*V`Zm@(pp}w2mOs9?O*DFR?{YY=&+5t}dt%?*R~c+%I}2UOV&zMx6}gd! zoj75DP$8+gxO~_=a*6^8s2FN|>hiB|=ePV3>M(dF0J(hif%7{7m=5nN%dFEp*P5q9 zY68}ID{{H1(}+jtye$e@cdy&?cG3S&-n->$mLpkuPZD&8Gy(y7?}lAyG*X&{W{ddn7O^tZjkrUQ~+yjL51m!I$8ZLcK!8hYUN%8zHWO9CPW#v7q%ffS$pnwT!SqQ6ec3j^oV;BGX?mAp?46G zWnvdhs&h?IOGkebGpndcJI0PX@!#$N`qz-)4WBN7xtwP&@#xuOn7COZfRecp)cdF= zb~BvBS+DpVLS2DGs)n6yAgU^MA1{Ar7cv3cR!Id|GUHZ|mj2e^+GY@a-yfrtNTnTq z--3A|H}4&8ar1yyey}&g|3|rt&UuLpo7g9<`yThWw9d&k0H2^X z^|8KQkRO%sdNs4`o$Y^9HL6mwk8_UC%)d5B0{xnc2&+5^aBoU z4qRf+|{8{5j}(jO3U$Z6BLFBG(%_NsyP)%7;B%`jDFbO2-dPnMuoGf zpAu4mUjHaoLtdXfq@yjRP58~WQ42wCYcQss18LC4?1_GRb@p07ea{fwe9{ zss%p_x@N+Isn0C@q1%|#@G*rWop>p#Sb$i@^?~1g-(G^4KihJUPFN0NYpL(OcKy_~ z{mJbAA98i^{aBHjJ+Z)2zZSCRuW4;tl;)LAqUX6^lw zlVoxb1L$4QcYz7D)6VfN0eIY`A#K}j7vRpXPNh}#Fb{tT7WN^|(lXQ!CY8u7Lms5u zb?03A37G#UU?lzOC;IcwhUef*1n-&!I&Y~1%%-d{%w@q7M6NZw{a+QC_3&Bs4(4i= zuzvwR2Wl`i01e!!BU89#>uy_eZfl=ZOO#ZX8b z=-(#g{3vz&voMl=@l*YsPA;}_-?0|c=Ea*$36!_Kyb;6ctvM3xdjfxpF1)AvS?vSD ziF(dmXSmSXgi-ekN32qu(s2=o1K8-UgEk1Of8fkcgC~9c#7GjD+WeY>`QleL3e666MtxJ|LvGsOP6)?>HZd<0fO`>;m z?akw#=AeJyjHF-uEdR)>?YEQlJ!!t*hJPTjNAh0mI+vj`PI?R9x$Ic3cVknf2Bm}7 zb8ny#c^Bb>F$7aZyGZ@5jr3fEt)26P(W*4|&;1eh`2d+!MCrT3vU;%BHqsC5ke28n;~TfpF0?`(0YOw^PCvTp1Vzu9>H> zE2l0yPXz&H0pQ6ecWi~DUa z9*pfUv4wOGcSH_3Z(+c*vGw_xb+=o$FUW;lG28Z+k3+ z%qj>(vR{#8#K(SWsI>Jr#*Y9;i|_0q=dPfhfsW?eY!Za4X#{WZipbN*@*CLJ#*nNa z3wH3Gs|4@zilN5`&g1uEnfK?TbN%WE{Kwx1w@qCN09{DoDk>*J+?or3+I|b!CR?Lo z*14Sm?UY`&#mI=6s}*H&4gDLv9-%d|Sy;(A44;4I%Blg^?DV*S#W)Lj zFdB!8;w@n=$ou_7gx%u@3PSk9%@H?>qxMIE)1QXU^{b!jAAipSxHud!WcOaXfvk7v zwpNg?Iz5Mh5<=t&JS?5GZ2*MN_3Gk->_&oO)Y*Erk8R$K@bw|cB6yLl7b?B4w#w0q zv{5AUTsQf#_WM)OxqkJt{o}7b%$Ih-y~~EbuMfO=cxL<5_FmA-kf0@RXdlT#AUm?? zcpmSuw7C`=Tgr~GHl(Ytd=u}R1_@FH)Tr}Z;4?RK(r}~=`A==-KMS4fS3lN2{=&mE zLAo6DMNEb!dMK0-Nz3U#I|FewXpLXH+>cKFz=V5%-kn$_gveNg#|G_( z$jaxQ(}+8xWmL6#T+e#UKWbF|babv?{e1txHQ!(78V;(;SJc1Bhq@OD_1^};{Kagm zKPW}jhGyN;%0z&@(oIGBsrL&1nq~r9(tf@nC5O0?cLM1o9Q#7V2sVA9K3iMc-sPX> z8h;Kt*ROu4e+TRCB=Vd)J-UNTFKgf|TL`^?$NU=@fG2vJ3ie<9=zeE)F-nm;tLjS9+hn5LC#s?L0~R2r;qXEz?OZgw*Nsb% zFp@q?&%|okF#I1=p70xG_*x#DY0-FTR%s&mT+t5)_hJ@m&!3qiZDgb5XW-*AMnW#D z*w)(-FQd0P#6=`CY7#@p7Pk;m=*0>+0Ufi$7V+v4&OjAof8~_*y6ukL(X|ocxd>Bz zLqL+%%*QQ<=A8XLHzmOV3GZ+{5Svbd(e?z{N(-)7T1H>F&pST zc2U)hpVRli=lM>bUZ}7ceMdhc20c!EpTLOgbDb|@UCkx8ah2Z*2l7NrNWVg6Enj#8 zH$lU=x_U$3B-QIjTh5b!0>kIB9GF8P8`0YrM1Q-(W!Rl@e}cr_ANA|s;`+yb_m60b{QH0NfBmjG z|5rc4-vRfg?xAjEDf#JEI`iU6SS5ah1mQ75(@wf=2&Ra(fYm8;+YzQc$N14vsKg>z z8xD)J`fQeZ*0n<7^-<8rT-$@Q`I=b#RZ1*>F}CuZ?{CM&Cj98p7BCcG9VO8%rMeUX zZ}yTM+DfhT`Tx+Ikn_=fcHXr@U!H9{6*;miyay{q0hDd-3xFBGD6V-O0w6g*nsDw5 zRLl^}A{Ej`5I}(YSe!>&-oUu7wer~MeHScxavx2dm2;-K*ZBl%LJS=WEczc9XS;v| z+B&-EEUTV7MW40jt?3h4`FrQ%fBR33F@OJl63s7ue!r7W-kw&M`W;wPm-I2VSZN5H z1J^Vyj<$*6Sv1|g^So1TgGHy zuin+PH+0V`_Jh1+zDQ%==Syv5OYM9=s)pmO0ihw!mc(BjXqO2_<#EHNi5s$eOw?p#d zjQk$+{ue*Izk~JFcpg>{RI*U>0Z1a)lvN8B#BrP^R1)6XNzhu%`w`732zB#cvQ;$T)?OZ7gMi7jJ5%AGk~;3YzTkQhu3w{xl%aBT2Pt8V zaQwTX?EdO!_dCEhUcmzzug1;|Gqc_)g>wJhS@8O<^N!lecj6wH$P+k%wZzsypyNaW z9qbGn_&)&;*hO@MDazqUpabgisAq#J)Q_5xs=0sKxZs_J1-1st>;52XN*}PV(8PQY z0l5|4N1-=SjLm~49@?2&@=kn8+Kaq9c5&Z9wWQXj7Y1Muo!d8O-SxI4A>$6DsdBbI zfkE|GKf<3^*~lEe^WaTAXFu&>v;DZ>)dmzO1p254{%^R~dGOAQvLMY|9m~_fKQh~` z+tmu`){{lzp1K)oIJ-MS)e8Ep2f*T4_~$8xzDusqp`Ov zJ!b87RSLR8KM!*-vW~rsQZ6q_G&3V|s<$&!K z-^#Gl3P4rRW1+@$1h1-W4GHNB5bljc_hb?@W+K^16Mz*Njy-~VO3lpAW3{;a=QODP z>ZkfU$On3?*zF#)eZq4y-+6DasrK0$17pE${UG9eae0AaXdS*cWYfCfqZ3RcFpWL? zv*eF0&H*X3R(mY%j1_ztndrPVBHrz#KN?g|M%AgK*Lh|2seMon`hKAYF91xw(EMLH z{Hg9Qfe*7%2gSitJ)dx}vXUNTr~u6xdIeZ2;$O6T zM_z4zK|h=w(PoLZaFi)ot_v89`UZsAExYj#~ zoR;xG4vWf#(9gc>bkaR(MIfj|>eBmuQc(U$4648Sss3zG{iCeA|71|TN@RduK$qPp zIbWT;B%8I6ze!ilNH*qw$V}7>p#Okj=LL}ghTGaTvTzte5|qpZEZ4%9dET~FtsQg0*#w_-PVTz2^JJ&m2i#vtMz z2kZC_2+jwhWke2Jf!xUl1OJu@kPvJfH}_R&q&^tT0Zav8v|EU5&8+hK6V3O}Vo?3n zkM)nc^8RK}9Y3qT?q34J2DvL-XOgIjGIY0I3LuH|wR79OZh7W$Wd+mizWDNmgoLdY z`2a13jLr+Q+oD;?K-$L1)_2P5^#VKG`TQs$`ujJi{^|$%$6a%OvntfWg>mo^x*i0` zTuqI50sQO4#qYg!RwI@8U5EBdng=;R94(!LkPfQUwYE8^by*si8O6DuIsA^pxS}0~ zzi$oME0H?(qkQO3U{L+lPxOy}tvI%e4JHfyoSKEc^X+9xqqSC1(tS}EN{a&t*wAb= z#z0{gT06$dGx##&15mL-V;B`#Q%H-)nEOD{|+`j z;(jXp7OvJA{zou&mygenjKxnuJK%Pl--1Tdw z(ZYC{Z88k)3&}#Dz$SV_Df{U;7%m7RBAxcj`SGUlr!lDh>gW2$-}B0lD%u9+4}_(?$<)84`C>nxwTVAQT}(gSLc zLtdSY++2M`KZS|^sSK*W`q}>RSKp>1#FXT%w+j9DSKrmIA9VO}6(nqUdAl$sjR&kP z(*JlP7^AN43#pG1@k#Qx`nbHgclmy0&3ApdQ0i!Csf=IKMl00nr{s}8jY0L-KGr|} z!aK`VCX|)#YewQvLG5SHZ>dKkLScq(T`tS*jSS`*f?Vdps0(43op`u$?!1j;BMe@Z zY{}+uN_k_Y+wzISxv=sxn*kyDXE&(+>gW3huKE5t*U0U3*Q9*fwNBKv^bk>(v%8Am zX+wB!&l*xeX01T!didtMffTZRU@h{;XeI>O0UwYmAZ&z(MMHeLNRgSwx>7JLGMG$% zbldzn4648Sq5d7LySUd>_df2J2w3tYJ=2_A2$)SGKQNE+E1~WM4-38J7ZPCSZ5-0W z?=i~+k(Qmj&@n|jbD(RlNIr_R#N_Kl>(J6#%=u%7`R~ge@v9%+&+AK3b;P|2NpfuJ zO5m|&!)Pg5hkt3L<%Y`%_xm1>#>uVjBkDKUW6K&(Z~sV9H(Gc*9r^I87?IC%hLa8T99SJ{ zYcUj2rAI0ETHP(<+5D;+k58>6NOP%T3i=>kmmuVXBXhC^@8seR^aUxm`w~0o<^64H z_AiEe{g3}y9_#O!?tk$E{kfXk2j}s(?ZKR?i66`t355G)%;qD=O*@5B;{_eWo99EW z)5+d%!+)FJh+|wtnd}w_mt{z1DIXt3L}MXNsxx*kS+CA>iG1>7u$SIgfjD{9KJdi8 zi)L#EOmgqRrhsuGR<8sd&xRqqrT2r8w;I{awc$dJ)fi>fdr%$Kg|8`|pr6$CUdFd2`9y}k6=nH_Ix3!iPLX|+O3e-EYS_Tb%-3BSjys9bwP zQL@AJoFFSs6!Fx<^_HVZ{wXZ;?>CtBS3k%<{!*g}hf}QWsBUOrA>=Ty@c?|hP4|Fx zHt<+ZXnsz=vkU6_lHNd$0VSv6))@F0o^_%!~s*aJly@db14p62DzBC??S9-%sXjXHY+>v;zA2-1) zA9}1!cAwOy1xFZfyZkcTCW>Etu>ZK;vL^TSwfel{k6U$@ zpgq3#_L?(%L?M>GMEJCo_4N5ksx(J#6&hn8E!Qg)UbZ%dgZfGpqfUj33GRWn?gJ-* zmY~$U?{)tO7x_EO$Nbe#?+?1Z{y+JcxofNp$pT-q0PiCQ?6yO+z3EnM+`$R{(Ew}d z7#a~FIV{P8qX1^pp;&K3#u|>_>4VbSVn#3NMl?{rtB96=rmw8p^(PGLpCb16S3lI> z>Gl5NjrKp=*8cbZ=YRU&{+Ivo&;S0Py8cgKTmB=u=l|jVfG-f?!7{Nr7XUhNz{lMT z&m-YrS7f&oR>WH%{rHi_krmF;c3JY$dF8wpo1J~$j`xO?{eYUGQJ9XRzR|r~UH~5k zCkhxF^2hiH&`x=1SH4W?16%s76Q(A;L21H_Y0)h?1=oWY^SI`juTQuO`C zo)h;zi>|>OWc2h_pSeDsCFo4M(1zF($*h=G2!>bJFGQOA)=qo9qU-o`GfD<|?c6Gv zvj()KT%>OM+s;}~?WcF1apIE?73P3pd>V2wXzbHlm_rBy#hZK51{7kb4?mDGH1x9B z8dR!xecqf^d-45prR}ZD0q)azhvh-?2p>G!i;-ygP%t`mG0=vy$_6r42|A+V*n3AF zBk}Xts4V#E#?T9-&GUspBKLJM_Z;;09v#eQ$f3y*AQ|{>=)U6CAlE?UMO>d;rc>-u zw$nB~PO+ZhkxW_zc+@u3z2$2y-&+HS`o7bMIi)gtHlH7R-#{q`M%tY{3XdNY+~=i^ zB@Frk^9%Ca+}0twHnRs=2x7OCaRhHa7|60!KHCDj=%r9pJHAq z-ssjK$2rdF_H>#M#M|3;h{nMWBZ1MjDkfK@fY*!3s9hvEhlRIoxK728O|#GmgyIQK zMC^bEnGp9mpFtfP3~X?{hRRjZEyaea;Z=*zgVYsk31Nqc{5iSaywdLWBpkmFCLV^& zj_5#kbD)p6tqy+X=ZnSY#!5BG^@y*-Yv9L?!FHX9i4|V1jrO>(2L{KdiomsFIoOYD z)jqV|81CEKQ_zB5U@5j7TQvnRHj-9k6)er`wE%yzWsfd7Cu1hJf@;i68I50s;X5hV z>hQ@#=EAg956jUvd%$rDN8~l8w2TCFCBOByFlVwf$E@(0f z;!XwTc|gfpeyN$U2V4Znx8@m~<*u0`%-V{7+B-nCr54NLI)yC;iQIg#H>UAT(V<*!OnHUT4S!)lv)JehO3?YpbWAjyHsznCG|>4j_cR@n|{1^5IU z*)0nAm94JdWzw_h`I+Udl+G;B||ZEh_Ir=x5yo&Wfh?YB4~!NgCLJTxK`A zyQz>0%Ij{3g3dNQ^oT*iTA9FMRq37u80d|i>tUi-%bvq*de+I{!eAX!7~X>SS)N6v zeqCHz?jSE@p@)9n!j|LbG}20euADTSF$&GtqYS3Opkx_uKGbYu>3+*vsTyVJZ~`6*QXiI6r$wnu6pJU`3I??W@}0 zz|AHUQmRY_8Hhm6;+VJ{tS}ky$rrY5a8-HoVIb7X%W#VBa}pl`x`Dt52vZ7l;e19I=Z#Lnm`lrg2imz2V2}nSrrq2jbd$D=Jvd;zgJ^+KCerR0znM2ir2R zK_9E;!xea5ih($2eQ+avk=t++!$ZJ}v2X0fSo^wj3uZJYX<6~r14tw$(0C~^S%O0b zdrDzKU3^(|xRF+Rn9(^ZK{oTP6jTc+xjd8i?ifs9Ko&2?@RGoC-VS#`;RH>s&i9J~0%8TT3pUewNFr}&s{@b|TNCFV%s_{~d-O?utG%q-sn+V`csRdv)+ek< zLdgQO-rBroW7pT10RU{XY~A$WDrz-KwPk{?!Ff)3c5F4+AOR_?&A3S{#Wm10&Kith z8N)HiCC(On@gX8QR(&4zdgp~0~EZrj`Zf!8W1Ocf>W9LMxJ z8fav^FMhBV7Wja*5S%)&!RQl`CkjzeE3U(9tt=P7?q^LuZpl8U@ig9EZ$SR-t%efh zvL$ivN%}kuG7h>(`+o27UJvMu+;ECRmfzoDT^I2W{eV6vESs4=%Ox122mdYh23Pug z;Oks=u6M7WrBTNho_%6V>u2U;A3lK^C3>PAa*(+>=^=o|ajjmN_ic*?MGaROu+LC} z6Ed*j9jbPIr;uh6l7WTLDNW}{FMMyi>}Ax7tny^7hNpu7aXAmVgFcM%=E^w>zXcp_ zk1e@qeW{>nymW*Y=jRf9^hjlknkO#ywj#}f(3Vj>hawerJ4wl#6s(Z!Mr>LE?kt`# zzArhCm#$so4~kh{y}JVUNZT{qnMjz=*;$VOhQ6BkBK+O1hv#y(xUYOFr(XL7Lo1#F zA>UMD*rQgy6?>fow!V~bzmkP(7=Lo^n}NFQEKo|}Mz{e9+YZ%O@KPx5hrZ$Kv2LA( z!+LD}X7vH;7rKaX(3e2MbSNwbI)QAcE$z$&?9dpviLlt4>@ucOuR8V}$4<$aXp3B5 zR8VdLRCm6x>Z}3b=3LxIaYZD2guVRM+Z>XWU$GSS^q#&eOpj$LpsWgFDp~;V0v-(~U4AMRrq5!!c;m?MkK8b@^>q{T+8 zK{FM$K7D)z3|M>EH|*?J548$jbn-SnOAo~e(!1Xc_9;+gs~JO#b^U3w3)MtGpLQ9; z%Oaw8?c@i<1%?kF+=yZd`7hm80e zat`Pf3*XXlxsD{bMQgScLJI31n0s{;xL916-mZ4EUyWCucS18<1#I(9Vu6i^hToQr zJNfJC0$2z_;)-yx;P@nlK-7xghqb&`xtG-wI|gTC9s91$kC82WV~J(C(zzhyyJ#Wn zwbwPtLczq9+^pKZJ7YkGAJpwa6u{qZ$Yd`jd;=liw-&HZWcAzmRszuYAf-J^kfn0K z6HRw;!k1pW$O9qnu_#$MV-5V#s&{a5B3@5(_u^8Au!Yoc8m`y z^Be@eWe>}dQuyzJf-d!V(OTwH8c4?aE>A|hdTeb~K}4or%|-bim|?=w)R>5Q{4)4a8T ztnQ9eH@ifktF!KJgXTAH1C)D<_k!wk0FcUyu9P(E8pLP31fwfCQg=!&x_fgYiwzfr z1v)>9Rlxm`s%mu}2|%pT(8SxKXAex1uVTqj|8~d3gqZQ+IX)_|<~_Jl6SIx1 zx!=$V)QMd)_uNEP3L?}T!ECt>ZcL6Ouk$?O?8dIvP_#Ylljso!U)hX?q#j2!_Idv7 zTMGf5Ak@{3?!k+Tz8CFe2>uZ@K;T|DfTz0p+NTXuG2Gp2r0Da|$xOUsq+WQ3ly2uBk+Y`NwA?ZMw;t&QW5()E{IvvVSe`&N&<35T%f;p7fIMYV9y+oA)roW zbz0&LX&@fpThINRe7?c6*)(7!66vy0pNvvm2K&HIau#x@QmfY zOM*W1t|Xp<0h+`Qm)}KSbPJ2#gTCg~I?3m4PSpqS;ER3+Tce`~_Q8xJgzw?Sigx5o z4&!<%=s9qThQkMmW(D%i!}_jUYvJ@$rSXqafkjBR^D*x=mzX3#NBr$f5D@x5`RyH^ zT6%z&%$ZAm-a-k{3ojp7nYX5&l)gX|6I|QvNMea_ykZ}=F_B-wj7|B7<0*i@DMpT^ zfBb9%x7PX*-F&$Qa(SQy3wulkBJ4Cz=W;#HXSwS=-Zt-xller6*&`pU~Kxpre++gQ6D>LpsPpP7W2>tC&f@8}d zZCxL`ffmyFaMeKoR$^MKM7Svfi6XiOL-5kpK>*ey$;fiQc-N5k7y0g5w-^C2-{$%0 zeal;3ZL|*-NWn$*?BN#E9)t~=hxRu3({h8W9d+Z1Vn3+Es02H@LqP-8S?i@hs<8!qE;tVHj^oK{d>K37N+vu zHdk>nh|qJy@l?Fp(NY(b^Q}MteZ!!+b6RB^(s2rjV4!g8{YD}vpY}SRUKoq7w?c3@ zy(^iQL7{GkaFrvVAO+BIG5Fm2cE~mK`9T*1VC^7F04IIupjFAN^TY+?4$|ir0*`|$ z3h{`i?~m@hKt#BAqn9mqkLqWwLQ76r$4a{(d{g9n=-#4ud{w6_; zi6tc{5_$b9sx?rN^R)HTp|e&Kq1%x{mH1(s(eQHg2Gq3<&yCjZ=fEJIVdY4i1rC@- z+8sK!-slYGiZP?-&4-kkOBLF*m+8{V}uH17lH@;Cmqz%>Mu z{DUb2#=NvH&B<@7l}%Cd7Civ0Z{0dFiQ&K*!ij+30o{NkquYt@eWAOO0D&m$1xOo3bRKP7BQ6Gxsd7iUDAd{d-QS9M za4#FGkqgD zNUE|p{z=huR$Di)MoNH{vVa@RXy;_KB7;Ce!B_pK&0l#*wy!y$*vIyc=k%@a2oBxIPkh z0;we~2c39DLk?!j?!0q94L-(IXQNJiCj4L`F~fQS7RH!1@min<_?yOdHZrTWy)Tr# z4x^8seBWlo0#(=HXvDo>0tMbb^CM&vy{~FoF}u6o9lV_KaS0J_R|~`07$eI)g&@Tc z4F-7oJRwU)DR#)R7oqu1=n10zRS|Sw@(x1dh5>pJK|k{n)s~Ob<-3Ew)~8`uNcJ$q zETKgwKA+6GVhhm&8MFx#<41hY7HEBtjf*;A!z49$kA0xQsN z$X-L4vO2XsIGrr|s-}ZJ=$kTbf)WY>2znR(QkWSF*Az2X6kv4louwOXgi!!-hvpez z73(S-6@#wVaLPHfzh=YHUWQQ#gH`eXD=Bosdk<%>Z!q)>DbdUri^!}=9B*&X%@e*2 zx$*8>@12`Gj&TJhj->)l$zxm*FSHU-UkjK{;fkNK2%FfgrPDB>zXAj+Q2Aq6=wZZI z3v$JkdM(*c(Bnd*8DN0Mr%DXMh#5FP#$>3bQrVF){Bk$mla&>L243dtjecByASvA8 z9n-4fkixhi7XmPak~{lSxO)$L{3R6{G*t2i>?j5hHB*DXXq#!>Q1*omOUE!&}Cny z#b~{=e#exA@#?4&f|Kk;A8p3D4X12pU&iEqFQ}Op%z(l{w(mEWL%q9}Ki>OjC^T}{ zzs?#0$e!4Gdzl&oo(@mx0Q*>hrYgq z@&UkG$-cev`g;x~D$>rkZCQOlTZX^~@vh0}J6e{6H=hUs&=m+nFHnEicYKZpi23pviWJq5Mahw;Vsm_b!$h zLqJ|nHwJ>ov*Qt=FGqiQy%3yceF5aO1(xtKR86PEq*!tmL`nDEY`v&F3pw?; z6IXyt@*pgWJM$V{@rJPHBpM>`^|i5!#M}`au!Hu7yh?=RCf;~|iB3>0jF!Du;R;v# zlUDr!J_1}jkDjoxqo-j97expK?mB1^Yx8M)9{FbdHa&V^fkNt+Yay>>6Kcz0surc= zb00jl4;L|Pxi;l?Ik2gWiU!gJ5~r$vFJ(p#3tSoWjJ2fNp?mpl7zjBd?1Bl;9;GSH~ck?^2r0Xk3>U2GtbK-9F1)AOu<0tKUNH_~lfl!PT@- zed0v7Q;6cLJro7~!W_qbc&Y)KrzP`f$t|9YsjR|6@pEv_K(uO1kik2vT6bBx0= zuotr{k&6TB_|qC-#l9V2;}d5;X$Y2*AJvBfJuF zwgs(SZ~C0%_)&XBd=Y!g9+HMP`df`zS4;vIvZ)Cf$4 zkx0?0k98`C6~%hTMu%??24(jX%AlpH5PRuHe6dtG0xh5Kfs|?|L*Su1xlw(Abt(5? zdcRjKS-5XugFgM$o0gzDor6&qh}n6+(3xf?&7;o-IwKSUC14ZZeE@Lndocq1uy>uw z=#{kL0zSKC8eiQIltv(skiO0KWtKn88t(hlU4lTl8nm2wA(;~LfmgW1v$Q_B+g>c_ zOpA`LOXxiFed+_w35G@t2`J=Rk5*@#194K#32nR8m#EwaZ z_BQ{f1cquIb7BEt{N1O6<(NplhP32Ch0Bax1=&Awr|C@N7oHOpc>H=Wlj?Y=FQ7Wa zSROzAeH=(#X;;c3eAA>SY|5FC5P$?QYC1hPQq??`fdmb+-%oAiKv9_f)**-$y}0jGA|9~bbVRuX{#_J-9yDgmHzdVV^prmhD9_ZTz z#xMy>0P}v=HxehYrGINd06Rd$zd>QDV;0uF>Or&v&64$dROQUs;%%Tm=nb z(IxPAVkBA|C%VVUFuY`twD{qnLp2t6=a);k>mu@S8E!)slSPTi#x{Jf7eRX+ z7#0YSuXrhUwM6usLWzm` zJJx;huA<51Ww^-qHyGM5^TjtXCa-hDq_DtNB?9@L2GSY|gDC8}2dCa(L@bWHUbh-_ z`=h~}Kr%?n!GIY3n2YZB=jl%voEvH%0?cJj;F9Qv@kQ{)k&4aOsr-KHXVPE47}WQM z85_j-j^JqyFD5cH6d_^7$T4m+$ov7a>`8JkX5#igv^; z-d7kGlUky21IICB;ERXx2X!`&5SUt5g5=u9;>lj9b!jie!w_R@f{_Hq$y9{WTr?pW z+adtxe)%gQ$!+N{VMY#r%57+nJM@BOzx+3v%>lT_%P}gm`A|ayeaz0p2%>Fa6x?@- zfO4~;)u#AkJO$rf0%2<{xCagy>2b(99`u6<$lQaj)2fTi=^5D*uuVbj31_5WX<|Xq zVNxyrB*^zTB7QGDgGiP-{cSV`_wY$8= zn}R!j_3O`6hT4cj<^@Y=^2<-f7xB!*ZI1^1BL4v^t`v5 zj9}KQwr{Vwxak6>TZjNVSC`z7X#fo7+vJ@9dj`l7(m@E%K0H7vyvqvB%1RJ?!Q2^O z*3qzgP;z0?0>wAAHNj*@NJ2uez)rWX#igGx6Ul<#3%~BZme)20v2xd!N8$~A0%BNK zUxkdI)^DU7G}U9@oQBl{!o^d@UqP}rTq}KG%Kog1E38XuAf94K39-uuiQm z$l;>=q6({#PnJrUJVKC#tZD1p^93S*hxI_dx6iz<5h5v&9MU7Z@ca!p5GR~2w2x>y z=bi;A0qG`K11175`iEy6piI%9Lnbcc{|RIy2-8OJ%E6_Vn-+S4c-Piwf3qp<3m5fY z!WYVy5g(L|M`n6r2!c9+szw{lXc<)HmP#8-?YEXmN!C4SdQh|Jmec?jA{6^#Gdh#9uEu#^g#L$@S zGlfei8@!h9;BxPM85enrK>HbNGBM29J&B8L9Tvr3^R;gYb$x*vvZ8@jcx z@7T4~g&rqb$Fu`>@U;bAsh2y~PKBxbJ{iFGVBCRgG|>5Zi&47^mJ%$5_0W9a9(f5U z%M6lD8dVTRCQ>J#JS-5K#IWO{WPy3|fk?6yV}!5Vr5Akvay~#ODf3L@`Ru&L__-Uwf@TqjyH$v@X*q8Cz=0lv}fVPdtveh9) zoQLti;)`+bs(>+>pXZ~6>8T1v89|HpS?GM^+^ag5FM4EU*ZQ@fRrwuud^ZD8>vzKHfxA-M{zvXI7V$2Y7l8$q(e zb1RD<<_5ZUzte=|>+dR)jI>$VZI_II*^MqCo&M5SNE`r1QC!@|=7LoOeH|g`9Yo2< zTkj0AL(w&UjKTVGv$=U1^AbY|M9)eJ*u1mOvV}@l?r-7&Koc=$!cg$oH%z)l_-~X4nGdz={<+Wf+fP{c>BoO(B;HT)#!Snmx z@3p-<(+$!&RS7Hd=GceCvhFc&S$RTdYwvPaJJ+Rsh=%SHGF86<+g4=Dl3KN%Jv<6f z{u_Lu+bMaa*19U=rQ6EBUI)N&>H8 zmi74+W_V3R8tpG4m7DbcC`b6R`r;uIU(60Gd*Me67x8GQc(>dieReTrOEjOQB z7RAg>rx^1fLgEqx+A?;G_4o^w{UZ@P{;8urK=JL|(dXRaVOgS{o<^yo-0SDGy2W|a z5=pYRQ7U#9vkO$mp_^{dXwn%EN4;yU1(m0MjJ(=xImXa8gQf?vmbSec#wss)+8Bd7 z5Kr>1@xD^C>|2QQB57%M#&i<4*X(2h`UIQ;xWXv{I=x8PJoi*#gxw-eI%aL_EiU8= zu(aOlvjXyZx7Q&%+OwU*bq8n$y+WUU%F=gL2c@ZGu7(k#iqL6l&4lR1n`dm0vRke4C z_KdI_{J^DxG2xdx2`4R=GEAPsQI>z}%(}*?x7XsE%k?eOE>4GHxy9ej+E#-rRr%yw zIjgR~Lc5tA6+DKtk_zo$4?2RzZ)6v79&%$PvLD;B4(LJ%?Jbq-eWYh zGMu{%`A+t9@HEz8WlYNYu+)(h>DF)vTz%CGj_bTBdoVm|L~5)$Z$DVjaU=E_!5&SM ziwMC|zb3Z&P1HYx)OBuat70zb4KX>}iMlSUTOn<=;x+OJ{U%osHUP|~tl45B-Jc4q z-NAWiYndIm9}_=@rF~kEyL?&0mP^q_}e2|bZ1K{a7ZslWu3CE|IuLDM$XQ8XgiWM zo`CEwc%~CUc16^6TMEi~@tkLOKE{;pxU0#*{F^lJws)$z#!mM|t0o7-5y8GBTgeEU z4SnjRWn_4r*$UHfr2sfK3-P^Y&f&8?{dE?~AGC3N`iiFa^~z@_!!h6}*`UBbK;1C! znd4C8louXYa(ka*gK9ccr})OUC>3q$(Abn}>z(+GBP;*nDwjd4qOBH+ZeDj^Pdx$_ zb92e#@Sc?cH=v3c!xz#1!OCH>e0|!mw;o%mr27J@dd+rrpG5C9r`SF8QVu=w&IIPD zVrh4JpMyu(OtLyQgtlBmj7Er5C=%J0>QVPub?9NFRhB*I&eHy7+!R+{CLT!h+P6t< zvy54*mSC_H-OFB;P%ELDK6K2rbu>+*KF;dJLzlrnDa9(I*Bgfj1}a~3is1egUlUj_ z*?2L<*#XL_36atl%a0<*fH67qKAg%YXXMQ5_9~f!562rbO>%Rf^Gh#-dgZYiU1?x< zw)?dc#%@PUfr#JJP=lO7o~JvoQ{xzjma;W5Fyee1-=wn3JmVW+5i*)w`KEcgiLj9- z*vJu+)6Ug481oGhw4&CALyaxP0|`3Wn<||<+&ux?$|iBvsKS1b)&1;k0WW3Q{as~B zLLi<9k*l!EWx|Xr3j4J1sHZtpTIF3eWA(~b_w^iS=eEctls?zE%CsqqwMjs9EWPs# zphQd%h8$u^(W)sY;!(snFMu~=K6&Yl<>l;uVvtc~-^bsTe%sDlh7~vx#{ldO>O~he@2RHHBiw;#s@Brmn}P()W@>9%RN&eKV{tMcg@QQH4D{7 zJyJGId>cae)Hp5Vr$(Zn?T~ghqcC4@Jyy(aEdyw1=QBVI8ja5y!e}H{`0k*5*3mw8 z0k1Ko7W=xA#OCT}EaO7j^OFC}p4qKAS@m*!#L#`(RG;U9Qi*9xPpk*dYGkzgJ+8v1 z-bs}w8f~HNS@#4qDy?j|P_Ar{?&;^2`p6tOO>{HOo4tYS+N|sfu`X+m570V5-HK9g zd!wLiy9~1Zcq~qcEn$qSNc4IL0}o?5Faw zcwCZxN{poDRhn8a^dHAX^+sM6#zNA%AK+WMQz>*BDs_=_Q1}IkBE4+)m z*BeqCw#cimvCg{8%|m;!b!V*(2Y{H0+IeQe_Do%0KZ{#~XD7)@&&R}Q)rRj)Ba=(> z>I#F>Ll$*KM=y4O#rX$UJaz1~qXMn4P02P=Utn;M#E4BCiMf_ITbOMXEWqG)=j1-u z{D>p_2IVK{0)+r$a8S60y=Sp_Uc)D&3JRTAg37pK@{KqQK3mTQe@fMgbOJ^F>h)!vM?X8!cm9;aG_RY{aG722C)Kj#tv3NY&L@DEFvl+hTKY@4ik-t_YJ9C4NHLAZ9?9vCe&Fw zA`OwY^6dVNpMrPR_B@t)km_9b=37JAw6*|ju%|2~7fbO;_?ho}G%~E*`#?>%&I;t* z>d7UO>V1oH_t>$=Lj*DZqJ_jbhpKSZ)55yF4V^O@150NGP++#smpGEZ%ieRGrF~Vo zNOTYXfwq~25mng_%{jJlon)A8{m#vDlxz)qGWL~Ped$%(JpIe9l_R-5ueQBPry$lj zJPq1N8Y?@Cv)Vg*bwr(_0@h4t45@V=_yAGI>K9Pt6et%tSBHoNPSY5Ew?mO{w|&%7V!ocdsokXCnaplohi_)$Qy0|1TU zkAC%h7wzG%rfc_Y8hx}$hO5XszTSAOL>OMmd#rMqhfYNtiGTF6vXTXVtGnE&gqRl< zty3FyOInEOyaU!M&y_P?b)au=lIcnR<| z<50bf0vI_S-yzLOs$C-b>*ZsrvopL=Nk-pI3@~1X0A(DAw^RT`eM=+B-ljP_YEC-@rB!UJ^VDJU*p_`KTQ zt?X9(H+~ANe(=n5Fq+G%f|}X0zeq7pWw4?x3}ApT^K7)*Tcs_PP|L5^>PHN8LCkUC z6tk8x!Y8D{P7bKI$nEFoENdARa#kDt4SHC*kPXZ^_ZUx|V*;QENn7Ktn@%7M=qNY# zcl%^dIxZ(lN)?_0!L{(m?%+pQ(O&3_-P2f=H44`>GYi)3_wOeZ`KZ_jcdk9GcxI&( zri2r$qWD{nvtf15#!mZQ>J8D-@h#)}(LHL;KbYoMNSbyB?Lp;#Bl z)6FeLm@p_w%SWk~%V(XzPHQB@AYU*$wo(}M#5#+7Ve@M#=6BDJ7m1 z*6^*)c8_5J{t}dXO|2}u67qY0k>y6$X#4f6+Z%y_YQdN{AP`kpcD7R16o!B1wY|1E zM;C%*$-Jj;-Xzs0&p}d7nVo6iy3B*g3Bl=8yR_?Hsd$u#Dkm5iE`H8y_p9-CHq=XD z78GLZWEqB)WLWCVQYj%n`Yo&4K1Qdre0tQH?1hycJdMjI*<5G5-~Ymw$l2B zds{GWKzZRg75%*&FJMJt5WR8;VIM=QG0su=EW@aMbhCJ~rdAbuGiqaY5}|r90g&~m zXZ1)fBHB=ChDp_#an&2!UWyWcMekU3zPL)c4g>|r6vXaMAB;)zd|U3DQ9Iww3kTj$ z=W_HLKLz@@m0D)$Q1&O^ExYU}dHTKRBKJH>snjy8GaTr_%MUQM_Hw{RS%*qAI6(me zTKKNo(lizs)mqi zFNhfV{pIL|PyE=#J9wqQEo-fE{y$;Ylk!M46i!XS7|kofg@uCZZI9P-VVFZK3Tj+1>Ju`ZXS%O6BYzo*2* zYS2y!c+*C`{Bhzv%=8eo{4NPdw&~n!W4R3tp;n#*bB5Xp>ZBCnoP#0V(QB28BeH>L zOq$!%H5PC=S?Z2m!gj}0QoyKSq*_cSV$=J4$5$UmPvhU8%*1IeWe0;@yK!Dz$$xib zjM*E7r)=CWI80f-6!>BzLYbHtK-!T}+jK%_6nF2@tPEoJBrwQL*XnXsLsH+)dJbrk zGY}O$xVKN?Zs`S!kQRu7chk-z8%zj}JyPQorW#eBtg^h0-6F&f%e#u!E1T^EX^;aE z?H=AF?wDv`IhrXedU#w}-d_Ro(!wrH9=qAQ2Nx)Wunq~s zpYWT*d&k3lpNB7JA00yk&51*jh={On@_AXuZDsncYZnSt>#RP90C||Nz8PGIM;VOh zIWI&Jfx*W#iMN$bshX3?O2saeWex3p%W5QDm@fgPPPQ1a@18fS8sA_7RTP>@7hTq3 zvSXD=pwD^4?xTAVzi?R_OGZnRZxUb1)+mb_2V?y@AX757*c6j|2!|IOXx%7+1*4&| zv{seKLVuDqIL#6cCK|5;5PTG&a!+zo+5nXHKf=yDl{N^N-t!hieN!%3VEpc3o$6daUs}H6E5Pqf??xLWB9+w=85g=iHHgFKjF@7T9xR4&k zh+q7A*IFU=GJqNo|Gxmss9`krY=^lpQ1pv^-Z(MnN)quE)4)d~(Dpo0sU3 zZ5!KT=WA6%Yr5;!y3W!? z07av}A6wFmtOu%vdhh0C+@3+t*5@QP&!60<@qL8i5POK-`%LwkX0MkZo7*0re8TU=j9a3iIyHf(!rg6#CkEg-Wa7dDUETTl%P$rl6 z-Q0L_EV&^?-E5Xh?7d*vIF?z5z3NW^4^ZcA{`7XlGqD2ADRp%IrP#@JCmo>sZDoA7 zxEY&L(yhV|)0J)(pLPI$P+x~v?xQC;>0E}WybJ(vl$e*L6eEkgG%-d9+!0NLhnI~q zuR9xY!xn>dUDr_9#(DV#`f=$~9;WOh1+(+yO#~~H84?0?R73kTdLXv>U!Jw}w%8Ro zHQ};JN%)KjVU;`%^7T4dH8NBzjKyfXCT~2lS^5qHsgL{0Kx&RCi_g|XpNyM6A5}Ap zPT117fwtm6zLlXHU#J&8S_*x8Ec=obJ2sKooe5sDGj~e1vPRZ5bajMiDP7SbxlfC1QAnarB;?l>gZ37-e3jo)^lKoFR| zUG4N&`_~6>X%TaINjWFw+~Xdl_#K>7+8E}&QI{ydTW43U)nc)AcCa1L0%=T4)DIfLt3O;&CtqboBWnHqO;j&<2j6QGHvgK6?CTZgQ&-` zF*$@jmsy?U!+QM)8gPv9-EBSa=sj$pGUs@RKDl)Xp;F{HSI?Q?d_OKr4o&Ch&r-H4Ta+>mKSS<=v}Fn^ zyi0;}+OC|R`Tec)<}M2`LnzCg%aA_b={^{W_cQtAwM~d9&(ONF78-&&8iW=9vah=h zAg+DTM;cex&Rwi|>_qzfo-JLya>a~?Qlp~RCl`-xgvBn{99lIPMRy54?axTdXq{Yd zInc_O^UV3M17|`AZ(@%~vN3G5yH8LerAmbGXe)8})5<M=x-a*A4H;xesK#Ow1cmLWOi z@&#p~kDlTYPiYVluxb8I9EGP5DUHZ$LhTGVCC_@Do;EJ@$9ave5^z+UO_{-|nsTC{ znb|6o0MP2P-&&2uJ42@r!`|C<`f zrg6`W;&Pbh8tn%A+JUo^V()g0{siW_PDusOZvX~^09d$=_Q{;sU%~MEMIeMIk@S)~ zseIWi!6jZKO*y9#Lo7V-k2%uPLluD6Vz!{4=N!vVt8fEG7nmdhjG-DXPG9t)bFagU zYL|J4r{Et{It3iudMa?tlRL(VJzgTSvT^py6l1wP zzN(%w)@kWP>9}1OBsM}cxWJdMgB#CvS*42UZY9`aqHf-_#t7ndHg&W};^^76JS6qq zXK2hrHDv+QQc3GQ_$t+D&dhK4VaNq&z7Yn3nzASki46FslpJ9J(RVgVZID%JXUr|6 zm0407$oo#(Xx6j|cKB&lIYCpVPx_|`ep#p>bG>bovMJnXVL9A$(gBt|5j`>Sx{J)< zMxtK1gqJa_66JW+oVQ4Q1Xg8@#6KZ6GMPncksb+Pruu>;5CF=o#zCHc9)2EP1Mtlo z!Q?_sUpKXOJ@b0q%xCNLxl2%UkWTZFJ;dF|2s?=3J zwb&Y_Y-$gK109i-Rr4VjpQZs4@2mHYvMG1boNUj10fnP8IoZ#gKD~(yeSLO8s_@ar zt}mWstL}HB8!r^~Tv3}nGhc(knjDTQ%?Y_2-m=_jqbR&nBJ=zrXw9yy*SBZ`E_wMI zdI`H?{NWvjhFH;ETFAF-CapdsZH*z->M_~`qBKwP4zmr0TM20hB{*7Fhe(P@;`K!Wk-fgB?A z2?`d_8IKcw`ZhX0q|+)bUjyX?kT}ny*_GM1Nhz=L;a`{RzRW}4Nkps4^J62jGp@^#1(LM&0e=hg24=YnFwv0~ z#>}xh@8NY?9|sz(f&!>=nCPo2`t|C2jxmqC>elEpcf+9#9}F;7PC+@{2wVkV<16T3 zpdkZcwCIaX0l0|6SkQ&=AgO%B6>JVy>15;J^JOigQ{Bx75_!5&cAqZ&#_F4!HCjAQ zO3sv-$Sa9JU=9q@_oN4K*giCeJUZwijDG3JtT9mFhRoco%0X9U7JK!z!^e2hUOIJO zVseS3o$5?+3=G95q_>yux*SX>$e^ODXS=UXIHB{md8)7irE(<0`6)i={}`0NhS7P&3oxVoSb$C10;NcV$r z;HOZeO}!+iU!seaL7$Z_6sNfv2Zv~JWag!d{Lp5`;&=l20c6HNS z=cGY@gQwtF)ocxI;}S$%ypNyZK8{HiOCwX#|Ed$_a{+Jo}=%%@B=>u!Z2qV=+fb% z*$xER0#JQL5#B;p#7jxKnt?l)Xa!D0JOIgA`ldk2MCyL_200nL(aI_dUn^UJ!myEm zx*@-$1i+NJyqon8{1x~*SuxzWjFzHOslltnDB@k<*g)-lxl?TE3>a)0pf(Fzd0L&o zOajt$Nn7JIsrUuo#H^A8aZZk?f|@?)$&R_6ovgl9=?@Unv1JvVh8%=T0fUCi&7-WR z$OuHgxEjF4j8PC1>ZO7m95M2)gS=-;6wYy6#>S~f$UkGCJT2%4PY}{5q-bq}Us4`m z>pdMAKrI$*@Gq6S$xerUzNr@~E657_o$w{MH@ESU${h%%UtYIn$EgyVsi_RlVP&v5u7;j-f4S&qbJ&|6>5%SiwPe2)<-SUB(jbCsX zfUav01@tMpk99doM=y@Md@PuZPkGe}Or3T?0G3sF zV{L!;Q*Cn;BB?|X677@hk!(bv!jq%jPvi3}lF8blLgBoC5%E7A9GR>Ej5OE<8zG&Q z83MM%8q?Mzm~BYMJ2>H<0+|wXI$>tA_wculZ9qyW$pwypUUdK)&F*8+g4E^FC&#^C zimb6FAqgaLgIBq|fD27BdXKnI`igy7ZoTtDtWMV00fdy(8V}G$TDnuxEM?X{f`AOS z5ImKkfEczDQom9&!W$>mP(0wRAQX{S8Q{NaA>3eSBnM;3#i?iArZ-~9ArGR4P;IpGi)7c>6;~-hP@jQY0Ffwug6^5xm*lKl-TnFcBS;&G0j*C(5 zlDk>&7cy)J{Z>CDv#LzVMtvpOo!ZDsX1bhq`6=}0Bm`6mV!Gz0Ts=EG6x_G_Ip7H& z3OMe%W~&s^2k=I-RI+x&&v;x=hCxgjiz*j#OVACRrNTEGaE&nlfvoyoi`x|c)qN1P zyz0@>cfqo@eTeJKEzPvwI>19=zVyjNVr)<#tqx`ttFeP`JnRz4z(F+Vwarhr%IApK zL+6)8EoHJ0+wQ1ETHxgt-YxaN&o`$`_}=jL#A6=iu(?ya0Ly9nM3lKt5^A zvzhliH(PHL^FXB1h6iji>-DLA7<~cL6!09R?MfU0haD^@4>k2^(3I6Rp(4R6U*! z{{1d7n$JXy1p184Ilp|7p}MD_EZsH07~D>e1h;?iN_!N0a+H zOId$zbQ0fWs`vr$dk17Q5H__r8@EHI+51_g3q2~H8g`K>U`yfQ+rHE%o4#%w3s-S- z=RJyTezn?*a|9%P2Bz^*<-iFzU9+LfCbV0C*{s#ZON4?p-;h&rH$JHx0WI9v_|X}D zY=$lCshRyZ{tBz|3Y`n#8)4}e-xQ{g?@Y$R7asUwO!FQzR7?(W``9}bki@Q{ggw8t0AV39h z?j?FQYDzvkn6i)0uW@zREE7~@(V{76rpT9gpkrP8Qlz*GYfIjGYf>F<+jkWBereUmoES zeGpV@O`!}eCzsD*0GOkZ!w(xUa=DOprucG%3Ia5oNh;v*IkC5`1%z7zH@9orcy@v@ zwPJX_Z7t^p1>}Gjo^~ZBf=*xp=|-y74kyujj92DR2JxtL4sq5_oYPsXWG!*`V9K^l zARR0zr;XqEE70JqurdeuU^3k0!kTz}(%x^WK9Du_O;Tait$7=o)W_&z$7zIFJ$p() zZLrg#LXen?!}H}HfVFQ2I5##TA*^Y06fIA4^b3E5%sj9&xTh!j4w_j}wQ}qxO^06V z+3mo#tQ)XuqGBMN3_;GT9vp2YVJ`v%G$ynG+Lt(7@W@$2{YnLCr!1bC9=7#2U-*Hu zV}qOq?1ftiBx_JqRED?$2(-$@wv>*g1G0Pq9)U5vCbBusfmDn3FfRX7x9FKi$CftC zc0Ge7_lefzv~dhS&q9TMIGu4`IBgW|+`BqWU_Q_VP)l5;X~_r_$|a%!_tsPl30xNI z{4W}d?lU*pWW)&$-$zTtP3Ay!c;KwnyYPG0j#FWlPHq|6 zZt1<}KDFn&dJy#3%^{G+Z4dmEy^L8nJXFYtr?bb)78CYEg{Z73aV-o_rzt|w;ihw~;jwk596%0`WzqopU55R9A+v;`G{L>h45Y2UfVg?H1Y zo#P4s6{@$*xv~irLB2)p&=zOEqH>%~@QdXaa-nkS0huuL@MVJ73jO)ec-SSXF?QT z5XABe+yujA51m_ABI2=WH|l-M0Ot!=7O))4-1R4z6tR|HZ@|=`)$fzC*}X zExUMLndl>JZMDxb^6uB)R>(b)R#qV$__`El3V(yL_Gn0*N$?gDFq?4HIXqti`{wIS zG50Ksm7s5Yo~J46{*g2Uludg!Hc6;#b_^A5ap?DDvA2%p{19Y_af6;6FC7tmv^(!N zGxS=gE`T%Tb(uCDtYwQDFc&%&^p=H93jk)$&bqp6#JL5?HJqDhn}sl<-VKbcKHkLS8>)4@EQ^MY#T`rbowB0!g#mRg zoGBtj03e+AJ<`$~ET0wH_4l|;j*~;guJk4eP0hPuMo6qxXJc!xy%FAA1OjQ;>j05dEIw;&qe#MH1~q+z#_32VaXtdyI*z2ah^)UAu!^!xIRfn0~G8 z-YYkX9PG3-?j?6iv+P0YjwzT#mYB>zib_j);a+WyFLa%PZV<>Uk0`M_+iVRI8R@bs z?|D!#{1yxN9dr~Pq+J{ag&W5%zcBAe_v1vNx`;j_*&h&tSi7T(uwMHfq6m1s%iIth^ESG=E!7v2qkA6q%>j#TBz~k zvGzGW=f&CpRR7}OIrc6>Rc!@#8AUHwy zyWe3;CWZhuCn(!spMY;S3<|6-GHD6>GgYhr`Ahef`#pDlx`a@HH%H7xh{4xN1!l9z zz_+!=hPl)a&#)1^L@La|_>G?eF5gxsItRiQV`v@ZZ`$6wn)ajLV3}-T$X;a|-glynTh3&KF|xz8_$SZxdG zLXp{KagscW&tsCBCa(i2miY9>;q;0sKk!#za<6c>_GI_Y_#AQG#%a1_L6FD;j|TK? zw*AL_Wzm7&4hMPduL2vFCjdiyn4?^kE0r!T|FhQnY^i10eNW@}g_BQVv0%#{OebB( zdjxKDGKr~p>MHapg1XQp2yu5M2Gs#Mt-#sKc>2bwEnbh6b=0gQ(94jRM5Fu>FwvXE z#=e&-(Od z6e*saAd(eVrK-_SyD;vAz=CgPzalejpGs2qErz}xD9AY%+Q?D(>J4#1TF|g`)#)m) zgU`ih8)sIgoRjY}Ha}Jkf^mcp_7MOo<^TBwv_8G;$or%7l~UTDQ_X8 z9k8sm2&C{zyZrXGT0=s&$SgtieFNZz0G8Hd0mA=8VAC{iQPErOa=IP2cE-O08qdU` z62zYtQN9?l^HH}{k3<56;6nn$t_jT;Vg|SHqONvu^6BEWX&NuxbxCdRO@~j>b0a?2 z-VN}50lPmJcDjX!WH`t0zH(o(5qtC__x1~eq{WRnMg!`PNpQEzE5Gkrd-Jc|0+nLJ zC!p`L6Sj-}NW(a*6XZPJn62~;LS=OlZa~@)@(}wk*7hlP*#kN={HZs?2?yOld4$2o z+qN%Cq3mbbEq3G6&98n1%IeXcjlqeIJO<0hi287H&)@Mk{I)lV<&WfpfZLpkE z0qwc%+uO&bDNGW}G5`P=+L&l@cinAUolFF4hv_A3F_~3gexd*ZdZjsZsBzR6%l9gr z$`GhCnixdtMzPnR!A3l=;#&A6{z26^`YfSVJFXHh2io){`NBG<4}~u{R?o`%#dha3 zFz4KW`*P2#2{0ti>FYz)|NqZ|6K9mVYs)iPez_zP-NvQ;1x)D>&^a56y8xZXm7uqF zH$)nX9V@OS8!Wf|^{y2{peTW2C;dYPm4M=V=)`&lV+2XV-c{z*A){bQqfLQ)fbgKA zZAMr{IjPw@LqV1#pu#WFyc)_w*5$MCaV=9J6LPd9OtA{_UsC);Wie+)9|K)Y=c;zs zYn?uhTRqt!k=iDTfLptPoIizaD277rVcRAhAy#}F({h#aF!p{60?WiOhwAATxT+nF z_%wtcBrNF59wFaEz3>^Nd3yNZ+_vm$kbcDu-Mo8| zf>xeB`FRgcdw!t?YmW2{PL5cG5C>#rhJBmD?&&dh>&Q%T``xQ|zcQl;GwgQ_xn)z4 znwig0Gj{^vJ=~^v^r71DYzKs_0L*8~Tiij9EFG9imhyaU(-1D~4#=|2B089ba#_$5 zC6_7l(-zwDm6kwU8=kkKTn!g>xKcNvQU z`ew)heT84wX8dveHH^VpHn6q(bXveeCrIxX*Xwa}RgM-aBtX_cxf_+J_hjHl6*eK& zAuooXk9`CO?5x?#LSb=H%k?$#qFrpGI|M9N>+sCSkNg!58`ng&11Pk0?yptwy zA`W=V?Yk!Rx^}Z&^*&@bD2#m{6`Mt=;kPGNw`L^SE6amjy~qUPL|ypdJr{=Tw}(60 zUYF=dC259$qvI_`{mz<^EyTfhUv&>9^I1`)EC|K7SBfF6pYrNDKk%l+GkW%sem14| z#qom}Y5<3<4n81-FOlVRBgQER72Qa@r6N;$nF(P8OdhK(z02&e?ILJCjg#FSO$Mp2b#XzX%^iGUP!X&N7@Vb{)HXU% zUi=-Koo9cADT;{=z80Cu;D^2|e=y^&waThW7?mW;m0b$iFx@|>o)d{{7u zD!!UE=ZeK#&oSM2`qaZEha;i2F#BM#_+1fFJZZ^;-n3+OrT4)%D3H7Lw@$(RIkX4u z0eEepyq#Zoz#g>~AyUz{_&g5K8IwNH(C+MbW4R(PnGOF!!*~hJ9$PJi={DEd0-eiA zSk$7c8{6G`&&*CGzPt+3CX^6yb=za|>Z@)!ten9g07XE$zih6+{zz2Rv$MCc;DG9= z3@U;tX2C?E!_PY5r7*V$6w0=4Ad+009-s%jQc7eH0F{Eqo6cjVW2hLl5%EbxQV*7N zz-dgo6_mtbi+{-00Mm<&Nf}copS1Z(^P6QinJ+l!unbL`)N$WmL97At<4m2{fc%u&W713J znvZq5O?t8F%Fzu$J8AH~Hb>^X>E-TgJ5?(%8lC>k9e&!lR2c--krkzb;L@)ql zQoz{}tl(<~>PACQa5Brr!6_V&W0xVj4b9w#fJmLU76g$4R*W=?)MZW_(zNXxB5rD3 zWQlE*x}Vp$u480K@lwq-W-oA==Cf!lC(X1ghdzbswUparOOXxn>k5Nku0M1QAl6g_ zjpYE~Z7Jh2-L?jOPYyi=;~B-h1MoeW$wk*^g5wsM!P17Z{CJ+XAEDVXNDs3PZM;a2Mm zEp_l8=(E(9&qa}1JBsz3kEQ?@&|+;Tj=$fCx`Ufl9xccauj)97NduxTwA7E5kA|1z zofciZP7DYIA=&kEbrN#1An_Xw0&HOJvkQwJ-W+J{*-sBHO492)t@5gaP(d=e>eGCl zrW2N4!ah49=Xje>b0n(05xr*wzW2g0IfFhsgej0HEffEBS^nUbt^*`L@6-S^CV_pF zC;wQym1}d(Cmt8uqw&po`_k-mj`XZ1V}!|3%-8%B?&}XPc9(B|gNRu1XQ^z5ist1O zhWxD7CLL!+FK}NP8nHT4&f0W>uKB1;-8&>bv@2Fw>LM6j)X*yq)Sm1O)~bhK(|F$6 zUE6Ena58ifX?SG?T^$BkH1)5fR=HIm0ZY?M@`)WZ=*L5$cXm>UCHra=ghuB!Ru+~= zj-R#Fy7-g^0flx*Hb&|wj|V*~?%gD2{}ksHxY0451SAAk-PEQ!)K_Q}{1^g}!Nl^K z$w^QBoM zdt{%$o%~=&9&?hQ?<>3;2~l*g{R~}=MSRm%?=H4LM&3$jPa*Lr3!8fPt@t;#X{D`O$ znpIe^iKv)bAS;Q0B{wLbaSMNs%y)bRjbqg2F%9olco;lH1E!MH~zK(D(?3|D9S-f8Y>;z~J=0RHh zj-z79!81Q?I8=rAvhFss6fUvQK;J>+9FnAZIcPRwOl$;Y7?2tCQ>kpo*_qhJ5>3{> zGk$aLb(s%4L!6D8Pw%deilPtTzT1!t;FIebNQ*IDkoiXCbb5(`gq&g zprb-TE@;SBLW)xkpNJU%j;QFefK6d(JowZd#^?oD)1@H>p8<3a#CY~i!ztvo1wq4W z03%iwiW?6#Fy;Z2U&eS*fj3`RqmXt!N!&V=ui!SYkzf;@$gJwVoC68kRqBEy)0qj; zkA{zr0cANKSO`|ta=SAE?CjpA%@uTani3Df9R z18C-DJ?ge{7zfz})GuX|1DW{Yy&wzey<$G6k~RmS8=wXX_H>#R9za5nre)9{Z>nU9 zp-Og|02`1vk)ys^-6&l~&@L8UE&fhTg?~Jdiqh%il4m3YsD=9|QNgy2fghil<+0E1 zl`!%wi)+c|y*zEk3B<;i<0UK370;*CAJ<&asRL8hy%zZ@P#=LY@xc|%bYpGa0?%Lp zL+tIMC@*F~%H*1JyBqA}Hdob3f8p}B@Aoo0%OF$40v@*HnH(C(*~H{n~@{4XXwIx{_L?%qm>-_`Z}9 z*W1;sw=f7wUW^#36kLSFtqf#=0naI|ou?orTq*Ma4j=)sXWVs&|ND{4ME~_EXCLqc>F zg=pDjpX0!1E_X_Jhb9R}WE%}GY4{w=5FkL5LC$?yS= zD_$m%3)5HMkj|jTUWh)$?Rj}ALVB6+kKU-Ofw9#f>_TUP-@9@unad1k!6bM@GAJwB zQfel{#j@V1eIsm6e8XhnxkvQV;1=i0DnFx1uh%WG>!RlFI9y~o9K1LbZ};t#+u3F& zkBM7n6)n&%eDtTrEwfc=16Hw?zT*C7yNl2Fv{BsbwQ#gTXYS-E{pcyU)aH$Sxv9v7du*v0G)Ut2H@lITHKaH>wG z)ZvvkAa(!Zr9mv_P$T)xCw!Gh9^fc6ZyAJc0K8i7d&lK8-vL6W4!FF9-qhtHT^HQH zSLuMpzHH`!t=t$sN-RL{US%}cfkcI2*-X zgb$NT#iQBH24)2Mq~$UzXhTYG6@(toeXM{;-s!aQGs-9lC=?eFHUX}}&O*Awq{nwd zm})0W&Xu<(kAgj}0VVHB@e?D`GI3BT_LQabnIHa0fyHr~(GFVqY!(wur(=8_uH>pr?N|3-|zEc0eDX0)!#k zd^UDmOBOu;m-?hdy;_uX_F>y;RdNumrAMxp4sLy+%QSKJMit3-e}BD-)3T!oysn)w zD14yWA=fh)nxz;gRYvjeQX8f(ha#d;^qG-(K(7iHXVXHvSGom_iq|l{!Tih)z&@?A@vYQSZ;=TAA1Lwrh0rjcrRYT(rj!w!R@*>X zd*u+!T@-WL6?>L5v6p25?{PrlgNH_V;7w-IPXi24@#uc84P1!@>zM+%!|&n1GmRbH8t zT@#E~Iu`}-FURtvy~h!mzbU_>G7!DRE{mhgo)0zFi`N>vkqW)M zN6U}XA$!pvn2eAbc~6zGcO{%~IIa0wQVXNu zgWDTyWORQT?RFzOsrB2bah2U(T_=KMVW}vognxhdYJ0Mc=1rAC?QC(484jvU&TcP0 znFj#)IaiC_2@tv$Lnc_PQ^+-*z}DO9@A}82{O0@N%H<;}()7{n1m>{PrI7>+EqGMN zNk39wSAyd{T?de!g)AUYe=NXypN)?UZ5{7BUKqDzi4tUbcXe1&R+&Hq)wk9ewX-cx zmgEF%?6JGfKDG1*XDCf%N3D09x5K|I#<^nPkS-56)LDc`x%G;{x&e4-Z|Nw*tnC1# z*Y;(Dgg*d!3%Zff*gp|>&Z*;K8RftE$OA#R6Q&0k&6p_?z+R1+Y(4$Tt3g&9dTlKD zxC#}Vg=<`vh}w8s1PkuXbHr=uO1nK7Oct_7x|l&p9?~@+&$v?Jk$Lk4WVd-(ZO}Uq zIy1Z|Uz@{cLGgK^h60cTXU;JG>+GA+ybuv`+J)dIM+o%z$?G*`g{h^X8n;9 z=0*t7TTxo7{oSmmM#CyM1cNnKNZy{1q37zSnd5m1Qs;|>T(AX%pPSpeZ9;^bVgoUB z_{|-C_miu&4s@JT6+!FJ#qByvuQZ0Y{bTNovLsn?Z8;?*5Q5<#K=U6$EyHsT74PGI zyzbMdDl@_zq`l1^Z~XbJ+bUH`A<+bQkFFqX0X|{UkjGGwXX(5981OiJCO#P`K`5fQ zBc6l5l_9?u24G$**gh`)wNG4UeZ?xEr|<_+UpmiJ_olA^%-iYcrFUnW1ig4A7t#qi zVuQHMw6Cy1^qcL?9WZBECL%lA0!^6>o(;@{XJ34UyXDXqRAN0}@cS8|y<2j6;)73+*B ztGBh!+NFxt%Sa#p@%D*jH_OG+D`i_7hbDOLLh$VF6v-puwX z)e8DV0AlR0!9Dqb)j>6%Sbqt|ByArS69dHDLUy=L(U{BS;Q-hsObIVq?&7S*n&mhA z5tu{nj5@{y9Y0e2MQA!iB4Qgn3>xNgAl-M?&J5OHYh+5dSUeX*Sgh0vdcy`0ziBIy zo~>naty=O~`q=5ozSt)I3p(rG&!#bl#GtB7_ zpOmBOlqtEI4&q%>-(-{8Uyq)XUfF_@L@{MoK|f$VG>aY>R}X%0CTG_R&-<>%w5T>h zv(fu3s~Ns{*LsKJ!98%c&VA7ECQLm0;8j_60SV<;adh||!6PA>+?}_0W`DC`a!$3xU1_V@N&`hY`2LCouM6aTaLLBN+nTgz9oJHibF{X z09xM-=}D5CUe{HQS%Xz(^tjLfSkx!ti>I(apBYa#au(@J$eiq8O2Y@aF2NTi+Ji6& zuos!LHwHvFF)=z&u&c-cN8PredJRV52XPhbk--L~)2XpXbeN4htX^BX-_5$Ly@Ivj z8LxzZgjwh7AntU~e`X^}>tKyB(dWE+YOZ5(xt#Tt+O_C{|Jh(f4duLXphW<%qF!^> zK~i~N8c~o}krlbm%=iOO$FhY_a$n2Oq%NS7nL>~Ym`afuBOziV?SaIMNfi^FX)y>d zEgk@q)dM@t;X9Ry*P3z7b#Tz~Rd!|kC6}aDuGwpy%v`kn#?ukTC!M)9-%zZN7BvNc zH%rz|Lwy1>CJoq&>FM0*5!qiAP;+1&|DD)+ya3{Hcn-Ha5&x3ApXRHmwc3B@~_XZ?@+v~noFx$+t zyEAfZ3A3MX3}%#KQACeYup#pbsHIiEG(Uc0A2A$O*vZy4YtfSR&ODN3uEv|Qx!U4E z^h_P3(_1-iLWFeNq+o^>py=fS245uRB-vcwLWca z7NujgJnM|~+fE@=y2|iF1fH@@NtCdBLp+no(G+^83YR9wb40eAGH)UU!6Bo1%L<%l zTU}QXy0*r8`|+CW5+*t?`Brpv)M{s!=l7jw z%=-9jJ+i<%Pgz{pFU8`;?~O{DQGJG2Oi9y6jplWXES;?yVhrmlrIr5l=FLz)0YE<= z19&b_QPy=%F=7q+%6|u!c4?znvCFKkl>Vwo=KSI#!X82D=2?C4 z#TUFmC)RYkqwtmN@gSMpG|N+D7FOvPfx%A%JGXqE}*YLJ&_kCu72in}A!ngLht#H0Hd}F>Cd6Wm#KA7PC<# zKL={6HgFr#2o69Vc*^TajAjQ<@Ig=m? z8>^s&$uD9vf^4HRy`*A~(fkyXH{qc)wFN&l8LKqzGEB{3d9MWLn{4_H*>BIzMj-|>A&~mEUhU`+Np2|y#u*SP3YoE9WpXuwMSzixA^$xs`KLP{ zC3LYzw4pATOsI}DgV1Ab@Qbtprd$I|_eyqaMUhD;qu~LIlM@&|xBZk?een36k0!ip zWiGNFlaQxTwsoE0F13n-`WlJjjy3BIe2utDS28WTY~e5`GQTGxJ^KL^q)B|g)uYuZ z5>GEkM1#}dek&1809@95_^^E!-cgCR9V06__;=cIUbMVS~@r7>11n2y*&(zR2=-I28S+AjN@t&Ehc4D}#?y@SUVz`6! zxAh#5!b*tITAi9oAJbpd5AfttpW3S=`u`5WRRcRJc#*z zQL=qxZj^Nmkbu3Ac#QXULz9AV;mE>E0nfFBzN|-EFn;2JXoD6A;wLUpi@%W5*@&R3 z%QpM2KoZVjvAlZROMR{cJ~uC`-kArkZGr2|y^UNpC(Ygf%FK=z)JA1>nVGqioQBR* zP<7G+t*p^`!oA^H^fKFN#8Wx;jJqjlrQLgYYEbNoTKQ_-7#gFBFiMdLu!%uvhs$Dj?DP1 zNiOFEI_?VzkbuWHWjdC(kMGE+jde|dy0=aoDn!O~k;hMsIb<5(aaQ^gf$3+r3WYdj z@m%0Il6E_BJe$X}?S_4H^2A{c<6+kNo(}n!ZzW|{mX}rT3zCf9kN7eVD%=xN89Q;u zA`+xoPiE~=E;vVFX=~m0a~QDQuYOlAdS1Zk+|wflt$r@2o*>-u+t=F2C1-Z{3GC{n z(R|?4#F6O6cJT%GqE4?TQL(*5=hoX+XIq1<7Qw*=wDiPr9L{d7JlCET)tM|6I)j@n z4CkmRfQ0n+XpNi3xTDgeX@z1n8!mk_XqbKzqA{O9V(R{~mZV1M5I~ZKx4_%Sb}lFf zLdg5(Y_@0CO>|e0;w^+-iQwHK2Uc9l!WpT17h4CAQUaO=aX7H4` zG4Gv}aHREX_s+KW>^yS)lx44m7B%N}vq(FOx$Nc~>I1&#*vqmIGgq4w2Cuw@F=zAp zmfE*RprQxlX}g0y>DFLwAb5i_>3gho*cr+Y@`>fr8IT5$17Y3_j~qjsUcQnHvvrVA6`0{sx=0${acb@FK)!403^1uUM?@PGNGa&7sto`7b6rSiYR(rw? zn%r`9U`yxU(e}L=Q1qsdSa_}Y6*#=D0K#;F?}x7vxn>?sn7sG#MVh+KBF!~g2KlA4 z&~>xXOI4DA9nKkBwmQi1Yu{_>|t9vEV*4}!!S7g>D$rANWU)u zIp2r_Llm2HeA7W#PI(`XCY}^kvh7J>sQ@llzRxwh#opZ#oA$-+GsFxe;he3h?5=Az zt;wBzbyx-5fpko`*VBfEV6k2HqE$cebabK&W2`%dg+s^dotY!Zf)PAxUg>k*L;d^HroMm?QjJ)h${F?-~ z)^Z{6C*d`7sl+OM9~&{Mp5TUAGv>lO*qi6N0KG)#3ma-4ex{8k=0UJF2zpmgBRvcM zZn-Q@&;BHE z|9=MEW<4t}Tq_|N4-Go2>RPS%u5GUypsTtq4qEqIq|$sk0D+RRbSMR{?3FK-0MvAJ z70NBpl0J(&j|bpJ=;^n zA!&tyc({R6v7eWe9?6h7YGgF+X@@NQ(mueJx9-8;h);l5Ag)CVs zpXhpyUvT%m4Btd4Z|p)Emwy6VfRTF(jJbAd*#tDX*APe2UM?Ck z(&n>GJYJh8>s_y$AhT-0PCB7c-&}x10HSdY(>n!d({1aB3WJ`)kdk}%Azw!Kf%(%O zSR*{4?Bh%mf2;EzxTWWYft|_#2becmv(1*L>iLZXFd#Cwooa$1#__6hpPCmr*Kxnp zJE^n6c$~o_bMuEOM^}BS((Tqrk%Nn6OG_DIVwB?)NRTbIj>dC(PO1mlW6C(EdV5nA z92`ovr8I73?KI%6{8ys!o3Y+!x7XRN;GB0HMsC7Af3AJ7eL_;3r#5z9)KkW^$3)0W zME6)d6zng*+wKcCZJTg=q7-}WvG&?9RFEO`R$5E|+lZqLLUW8M_~BeNqrJQ+a#sTv zI`hU`L7Cn3ybo7(*|>O|wkgPKrxNEIRdMq*R68)o3dn2t4KmxWro1W(px)G z?Tp<@mBl*Z`tSt;gB0EvcIGR%p(P{Tm(1xIavvn3*Ivd9MZylQbCm+qxY**YukJBV z8*O;mJKx;#aL|Z5`>sAu7q_BDuCtD7b}-|`lF^4oV&!W|c5jj484UedTQK=Y*2M(B z6Y*bX%Hl06I7zFzMEoV)9gV3aWqI`>+hU1xCVn{9W>u?4~v|ieyPjyxZmOX4utg@pNU<%@zc@$*%NupfVOrB0%o;Ma?`f z4Ygq)^uZsN3$KU&U`ewJ!GI}Wi7~?CL=qK|*G_z^($Zn35RK`*Y{)Od7>VGW4$$Jk z;7JZL4p!os>l~F`VW%su>|SZ-mY%Z>BWIz;@MxEtlv*Siu&bUA)eMt!a6aP9upNC%8eas~Qz*OylcKcn{kW z>O=2Zt47_Hq}~7;+rm*fFfISc6D)-UR5x zJlCk(5o?wfGPj|p;W(3}-U92Tijv`Au-w#xVhszQP3{GJ!{gh20NyzK!(7Jb)D-e` zTmzc~71Lpob`D9@H`Sk)LrfoIAYi4m&h(L#(XK}rP||%Wn?cIU!Y1g0Mlb$!+Z@p( zxd>|o_G9m-z@YH0a#^WW?jnhLygWWBZ>t_*%*xj5CU!>B5edoH#K;A$5zoqkgl801+Sw7vmwXZc%cq%5LuJR9vWFC3>VR+F(pR(oR}C%IZX;+k%4@|U1lgi;OI zu+6Z%8x0E@$+r8;kcPUD+jSN6r@b20NSsjFAFl~^qhdVVIc}e+vEXnMPoI2lHXX-W z&+Ic(sqI$IDd!#fi_jk+;el>YCKss5wMeVpRyHk?$*Z8;#cUwrhH@JyMR@&`ca>2h zfD9F3KvU)Bbwz0BEbqIWDfR4v%k?Pb?Zu=AupYY+^7l0$KI4kG^lAItQwK)nIPZzZ zJX7{2ur>RJ`X(97j2K-s=8n-Jhz>5ZTa42j`k&$(*T$h~J&ar<%tW>YuR`8qL$in+dG@Do%h`AYKI^t{As{ zEa12|JLd&ff9b5WY@b_myrSP=n9mcoR-_mc3>>xFseJ#OJ(J$?2EcXJ8A%9*Dwx8bu&or^n9}ez zlH@ar!CkNy9APJl4xtmt;7dZouY<6$B2S~N+{+3F^XucVq}`2?P;HcM0q+F_p80n5 zQICRO2wSVQp;n>WVgL#yXv25uW1;ilu?-8eg$G#RIHLr?9a1E>jE!LJ8Q%Nml0^Pt z%qI%J$lr0}VBz8xMalO-mt2(5FJF(Xl}Z0;w7po+_0nSx)jcL89pEQu3(wns0*nNI zTd`0s`mn6PgGc3Ck6|HWJm`ftIytwoE(N!C&TBC;&D{5SwH6}Xi_vCOu(TYod^?^y zXnHMdvBfMB`XgE){0KbU87=0kB_ZgNnIn|k*Dc+?eRpFkf=2$OSz*HOpl56IY78N|pNQE}BB1;xDnePEE)cIOUlKkV)yZ zF&-L;=V{GTN022{*idgb1yNG89|!ZFIU(z{dm0T3ZtM3B(@Q^_;$R)De2l0MqWcu3 zMPC^hUKyT+R@BOKyhg;RFHlAO+ivss#|nM%2$U6Uwcpx&WTzZJuCK^CFJtORd&^k2 zoO;S-k+rm+`@*Tj$fUosSI9#8!7;8-JdY^W_on4hfsc{2D!NDO)6UMv<{K0-eXc#D zj2EH!fj`2zl_?R%JPM|(m*e~ceizn94v%zcER!x?EA?){H@|w3UJIJ;xIEOGHuB>B zJ0uYFa*Wjt*I$-B^;{^s`u>v><`D+QPUzd)pVh3!vJ1iq{K?h3;MKQe+NB|7*|pT)3W*Tn!6? zsafYTUM=)rXA7NqH|k}sfq<1Josq_m;7;{YCla9WM%`0Sp`aXjlc%<1ijy{ZQ&b)A zRBJsL$olcKSSmgMZ|l9E7reQ9sl&lx4UKTdngBSHVU0@+aTFOb${w*NWPjckJWgo{ z7Cmhlq$v)R@W(wKcIqN~xZpD{zvh>Kvrs}c55~O6SC@I(A>(=si#B;37}~LUIvB1e z>SbaLIoZ~|ZlP5ReUPG8@`u6YGEYY5(x`OH`3*&5kK~&d(aPAtuGslx()0hguSj@w z&&eEqSAt^n5sWQ4_?TH`gr?KEALHUOnUid1U%>Jw%%h3x3giQhp$ORVFlt9t078BC z(kV-F2#8wDduvxtDVzQSCun{`y1>3gYva5c-LhV%$>muJzX+flM@d$ksJD#jAfoTFvA>^^H3DdIP0+|E@2izHfvnJUa=u#3?mpcT{c!qlg z4|roB@9!lV6~I!!phOZXlwR*ECyeJh5$#NVs{%=Do5Bf)s5ll-aGxrZgg9B{_I7@GAat7;J+MGLiW zo@06UeQ22Z_CyW5>)4xrC*OJHlnfgP@Ayizw>8?nP^eEMmWc;XcMD2;_28vpkufrG z`O>s)N3JN-8AfcoE38z=tJTYz z2>C&*GcMoa_}zeY^|fiy+pEd2!DT{U+q`4A&|_UIbgL9D^UTZOo)K8) zKTa<*4U$h|C_lgtG4x;?Q21yt|2n_|j>lw_Q;b}6(ZO+MZQ<3v$`!rPNNahiS=2l) zZ1@bF)J#g-A*67%g6v0WM>nkjt3jOI3@+a3?bO!bc2qS)Y9vqKX|r4&Lk`V=wg!^i zh73Xp68p>VP4e=3Ms4N=71(@PmKs`n-QY7h$%M+2MCTpLY>f6|&NCOk|3;k29^_+! zU&^5!5=`XTWIRvz+i=@3oV~Y0;@^w)6>IHauGr6n4|RcB`+j7@&G#BYPS!a`MLSwl zN;Fg`S!cHX_|tP~VL0Hn^m^E1I)b8o3Kq37`lUv#)Sm#?sw_{fz-gs2+t*+ z1HPE1tpx6X&xepSDCx%kuv=+G8Eo-}e_-y5)M^10mi~;cjfmo5s$0UnLC51?Vws=P*bc{FT!q_-1%h~TsIm?zi$uppL z%e3+ecL+Nu*gRE_F&_yX&ZpC#N}T^sAh=aHEkr){>ku0Pa>H}%%P3*3N$avu=~HWZ zlsFY!!Py}OAODTbJt0ltHVz*dfI$snR<*vhWaIe8Red*-dUZ}{Qk#y2!n%#YB8J!7 z209?4-P^}0AP`#(>zfMWsq8Bs%6UtZ7%}p7uk`&Qgpm$=G0TuAz$1P{Y|nSgT&bjT zShLiZZ4b;Jq*isG+M-RJj;q|+!&!gGB{rfGi8l@^e;?e{JkPTEVz9Ke*3x}}I1b-qP2Vg?HZ#A2SJ z<|keYL5Hvfrh^I$v*Z4vRoYuTDycMS8g_V!qf~}zf9rZ@`e>aGae3G{I*J0OG7F=1 z&mpsqz@@uNV>&j*3P@&ANtr|Lx^fz;c=tjvsAD^3OZE1Y{^ITH&iihC+N4#hxCeal z9@vlfOub;QbLrORJhZF4`SI%t^Mzz&0QE;mp{{)EYdBz5QaS@B|jVzS2 zL+`x=FK=VrT4T*~+o9Q5Zz=a&tM#o!f*O`!zZ@%d4Zlnh#{qfWrBpn?WN>qVP@Hd$ z4vJ^@m$SrE(eaWaAi7Iq!1l~%&9$>90FyI&dg<_&z}u(+5MNB(zdI$><}Acl8O#DU z9o$*?RP3YkV(|0g!mAuUXc2fQ79psDcpeLg9>Z5zkJB-fdX-02yQ7PqWfx&;ENVC` zZ|n7tePx=yK4nAY*9k?}m&W5zIWv1OwZY?7Cdyc4x*z;G>)1^gpWa4)Bqv1FvI~Jh z+9z$|Q2{!~2_e{+?z5Dac@4IFYpFk0^@R zVM;5!5u9uw*b7aV1o6q|q+aU($f43fV$gh~sQJDK_gzaR@vzO~wy=6K1$x`s=bh#j zJi5#tKqS_}mva};vI^^^afcHn2$c6t+zrNY4iYCPmUQl4_XcUAa@pv;h7e&0CVUCMC)6ioP|yowh#z4sf5%8dtDNMq3e zcG8`yl1*+k56C@lA)}C>~tc>grXmq|AvuMHb#)Zy}F3J zA?9hPOil+t@u?*9Khz0cn!ps}3o;w=X{>;3ND*wEcP;NbI*+E&7EB@}Q03b0s~h#o z9)mHQAqw#v)X_-(FK0V~K*n*L@>8+Ih{#&_)Nxp?VYjy(2m^NGG1VA|R3w9QD3)?} z5Zp7$i(LAo>6Iu*`;`T+%_8+&&&>9~$Nm5cIdcF%lc?JZ$T&chh%9gjhC6g=vDra6`-A(7+E z6c;i%JUZ`o;%wSI$N^ve@5uv&yiZ$JZgkpMeUy&&@cqDu%&{X!So5~EchKWG?8;f) zuC@jRWLD=hWsk!dObZUru^vk&shJlt*Rw7z2^(Pd;LI!3wm>VN9%LCT@HfSVf(3I> zr&S5prTMUsS*}^-4-+19#0Gc^Rhs@ME9?Ei>(VrzE{!+w?qZat?3ii1-n?FQM=fwlXHFa#_zGRr>0A zc-}I1Kb?94VY%B_XBEC)b1A6?#acB6hU3z7G2iRK;oE}UhR62ALkbb>y zBFa26NHTw)hrV4Y1~K~}8bt*d$?48Qb4qwJ;xTcW(RTUQ_8p2T^l)QZdpuAF+Y?(v z2@TE(&(YDO>WaZ2`I#9xiuGA-TSrmAu%9@1spK80L{E&dsIoxhugzE)>_=~-@SNmm zB+lfcJM_ph9gYa^w8a>>SzdLneYA+Z^uE2`G^W(O`D>NBEtk3P1)DMULBDWuCGr$P zgpiE%g1eD!GDW;=vfhDvdX}5H;YS0gZcX^F&RzSlHQ<5vpqWp&svhDs9jiF3xJKlt zzq6xwYkfg_A-_WJ)>V6ZVF^;A(@PbZGs=UY76x5D58=yQsB7$2DJq6$Sn^Q^^mi4I zLzDut%pd`B8(0xdHtFxwp>V{o!7sdTW z0&{A8ZFAC7aqCv%!#hTuj$XHN87ABne$Sn3sNi~pgc@8g^)44<_;!X}oq(K9;g{Gv z#~a>pK(eAa;$c*If=g-4AC*DnNw~rv&*>Fuzg?*>bD~XtW!Flyi|m0gOG7KEl8s?wlG{Qr9EoJhFH>jucRzG1{EI60^x`$uzmvP6Cv5o8QRdL3{zM=Ej>o%H&$tQQR-Vv< zHx0gAYsJ;{nz}&v&PMy`WYm-bjc<>40kKNxwjUqq^S9 zsM>ZpNDN}&rE|&qDvIMBw8Sbqs)563Wt&J{_U2>PSMx2q)g22~$l)E~@2rV)>UC>{ z{Jp|AK|OI+@_c`{aNdy$=dc7<5D=%NZRp|@S5WqjHGH6OCJIjFV%&9iuFfccF*YL` zsz2>1l-sU)4%%}3)Oi{oM>GtDK0^2z2*kEl-jEoonV9UlN^Axm-3}v+R+>^pEo-0Gx~4*6lRjV-JKBfhM?7(@G{)s zhj#92yBjeXWcSdwJ0O@|d4T$01j>BLcakaE)Q)*|+`#nRT^MA|Ly<}uCK5)VILM1b zg%Ij*^rq5?sXbJ(c3?bOYEEMVr$fu-+&D*DF}jpN4~qO4Ber{NUvCh^8UwM4)qbGF zUT56FB&Ka$#@#pf${`MCBXdkCWgoDjPoq4gGyG^#v2l^A!guwoCJ@QvmLf{`Egal5 zx6wQmG2gS3ljRpgIN;J!d20zU2kUo&KHHGR86Phg45KJ<$K|a~1ZUT|S>x8>yFf3~ z&gshwd4p~6V>VOb-V8{|TOnQ|0k})ot~2YKlfRVtwwC3dp0n=YB)~KNu*=`?<7l^Y zWy^dC#Zo#gveVvk;Zm!zoOF2!hu#U(U|^Gk-o9=l>iXimoL9&k&dN-O&>#5Fgfn!G zF#ZYknp}D9CL8P7z(no66h#dqegG@AtP1TTNOy2>^NY-R z3%c~&Vb(RFX;Hy|L#|0r2xL13(aE^~A_qL-Pihi)d;2sN3Dg+(IWLq80Y%@lcfR#l z>YBUfp>B2!D{`-yYwU^*DG8F1#bK>mc%y5L8NEXpz6YXzVj^5NNvAM3joR(99Ufp9 zjb!Gs&Yf~p!2pNf9ijn`H~t7^9=IutOwcl*xSOoJK>kjSX55+EAcLZ!uf0BvBz);W zVY5Odk@I|MO4QRyW%ZErWG|hMF)*l6jpOkVqCqe;E?sfXj%*c`ev%B(WqNkENhwj| z29P-FGL0CMoq@rDjw-5z#CP7YtRUo3q~R-C4dv@1-Zva$Yw2 zG20`?2s**LZk;x^)e;8?7oFF;_&OMPxMVtKCDCc9w+=^d4|qh9FXL7{Um5RC#CGd* zq>%w9Olc$KsU59M(PkaZXD^o+Dv4UcrXKb_nBu|^b)LWkiK75A8)z{kzQWlBByl4> zo<}WimGJc&G`kx2oJs%GE2zl1i2jgq!(J%OmqPnrSCDuCQyZjac@N{yncJnWu{PbA zWrGbwc~7mtwAyB)26s=z?Z8!{HJl-{I5LI)j<2OG-n;^S79dkH0fq@CRAcU9EkCj# zj$~4XaFFpk{FyZegAaTxqBOZEHlY(~ie81<7DsRXI`akm!P zxxG!Tpzs(@@jouv^m)mTYE$?&;g<_MR>yIz6h(hAE^#&%B#9ii@paA`i!rmFEu4HJ zz$hUtCRI&&{~~l)7IXdv>k~vZG?D9%Mzp;z4z{I8tqAO@@$;i}TPRXm#lGx<^{ z6azpgoYnd!Vx@2vrrlBBH5P$Mo3vGY&XN}G6hR2JIxm`6^=@m-v#bqBSz|%WrXZQ% z@QOcD9o1PKy9EZ>Sx1I*2j-jwuiv09Y_lB%|x$|S{0y8~m^ZFZrgHJ>$0$g}i{M=q$4LOk4nMNk&K__}dq(@Q6(;c$e{r|lxAs(CH8pOb zr4%Z0wp@y#_;EhJUB}rT8$}oyw^H3 zY$}oj0yww-Dy)ElKw$|j~=Jyr0pNEe8eJ!>0 zWpI4vaGE-Ifu18LK)gItL?*o$>VPX8ue7kNv2*6JAoc1UjSvrDI_;;|if)>)`g{+D zh~k2N(#ZQFuWv8=IvR`$U#B(|&2p-*S8^NE__v(sUdG{TvV~JxVLeQGW%CPjG=`l+ zWnm}`xQf2zW@QKBZk=hoppQ%4nB9%j1Yci(`NSwmMRCjEUh#@P)S&r-J5ot1 zz?dJR?QWYPw(L5N4a+dOaig)4TFTv!u#)dRF3Llar@4$%4 zYXu4v4HrYFJGI%0EU-kl0d=xgnsT3N1cK9^zAC)i3xvAdU3DYc`@k>I@m0% zg}qx8__1XnE@VTS`OY0BunwL+ANMtB1=H1kCsRzA7-9+x0((E3(Uz!Y0_=o=tuo}< z+Y7bOH>Udtk%eD|4);oLs&(bNZ@=h^CHyg?wY z<$LYl&EsiNr(2XcOBGUXkexg@V-Xf}*&qiTTOD8S!{rP;_}Qm#>`)X~_Ti@T27YfP zeT85w?5O=DaKwVOt{uq-`ANSNGW6{!pY?Nq*tx;a_6&lmTSuM4OIdSG zy`?Mz^EmvBOT79~a(n63n<1q%z9?(&S<6kf_BKOkNj!wJ5jD#_POT6=NzI^i3%~Y? zDnx48L_-N-GkbZi5b>G)AQ9){NXs=B!Jk}Z6l0bq!#m_uMpR$6NC*8tvH{$jxTDgd zdk8AF2vYqvV`kANHHAV5=2^GOEj<#C$?lvYuB^1cIfi$(p7$N#1vUjN9%BLTOQS~j zJ{%YBYC`P3B{c3j!7vuC18Y(D;JnkzpjJGUJ-$wIAB{-Oc<+e$K-M^TacYz7BeZ;3 zE=vI?vaM14x@)I4D*hKnfI0#=`>&)xCiNvplIgS0R7k|fzy3) zqjhF;1dQ4dRCyyzF$@H^8HclXSOc3kYtBwc0xc*HXj04j1{)GEv}ZfR;QM$dwM>GH z=6+VEf=`Z_Jtt*`ecGYFKuKW~YE{b%{Joo60Tx%778A&;cmnD=jd|gm8%R}SL~M+~ z`N9yAWmfd=5z?7M(eF8T18{>^(NEne!HsO&Sw2qGdXD)ig%fQFLPmGXkg&9>{l)oM zWZyoc_J}^L^2-vHLx+`fx4a-pwS0W6J;!w?Tt`j3ICpeE2aX9LlwCg_6s(28^!e<< zY1Nw?V$ZU;^UgvOWe^l*e$4!;BCl^s%nAp@(X*CBpFQV@d^EeNRW}fYzNg$e1+oMG zR%Xq$7wFr>0QZ*6;r%)p*vTSs8cWlPh5Qc0^T0U=9Z=i2qVOqYCApeKi*a3zO|WK^ zH*t=?Kf(_rdPv}(a?3kMks{e+J&VAQBT)80XcCH|tUt4)gTwA1e=}O|$T2yq!uf`l zJt^%?YPsSwwv1a2JPAzZgmFLxD(Mo~^-|sm`aWgAnhc5;aH~Pom%}$jjUbat-5>HJ z`BOp60=--@XV+atxlsZOQY-ASg~>;arh&fIIeOK3sgGfzZfdIztGczjyt!jdDOBvK zL(t7#1%3xx6SDBRvo38maFyz4RNheMN3QD>GJtHK$u$vb8T}{B05H+45REEw{fe2uqO3u6Z zyF*`4Y%tVe?_Nv~y0|>Dt7ttxJhPK;<|7 z2ro-D7W ztRkgxiMIFEs0NsL?z5s4$R`iLOIUoh-gG2Y8xDwCHC@Zg9`=P(fE>%NyOvIxD$|@> z$733`r}&+&J%Rcy90DP?TC^Q{tnA>T3C%3h^6;3Wmyj1Z`m6Clt{q$^CJ%P+r*te~ zkjD>m;C{4{o7o<&aeFM7pm?+>`S3)P?)6z%{dgDTj>~J!k)t9&ojXC2P$gHIvg)X( zv9GG+n?ZwCqFjFtU8OpBOVtswYrA{|MlPBkz%r7l%A2>s7<;!Y*dx+)^}1gD6Ta%4 zZ%@Z3p791h`orCh@+C<3fQ$=l9L~&FTEb7zc%3*5P}n6}XSneDD*W*WH>kkUNy5)UC5GToaBZ%|Ss`p{cC=#l>VAN=lDF#1 zpm&rv2JlAHI!@NN>3D&3H-Op**n!S;-E#28Cf@CP>$&)9`8=}cb!Ioqofl`jxB;)0 z$;qr@H`@VqEgYmwnUI#UB(-_mk@oI|!d;~9qGHN@g%fli30!5~6Usc10l4?W1x9?L zWdTUqnOfrEk;91QcDB7l!YhR{yxxqO-dkCfIVvlvcA3fJX&a=`qm#_I>}haH0AGK9 z1UI8qZVcjAMb zar%P7S~@^ygG^BvwVv89y#DVt^%yC`SP-f42|LMkWCKXbef0+WwIEA5cG zwAt|OcDV7i=0e%LryH`BWP8;Kr9GTW~=zpfTXEQw34PSKh)la>pm8^|6%14f|mCO}y|JvptslbOH z>n2yXbwPQbG1PbiJ=zG??|sNp_jq$ocwAe6FzN>Oaj11wZnRjyx{e06kv$-dyRzW+ z>LW{gJ?d>1t_Kga*;qz8k5T7}yQp-PG8}i9%7N{<;2pe@I=wZ1+yTQE?rLb=mr~=K zuO*L3@sYDum;g`NmcfoY2?sj#t`TMP!Wb0a?Xf=nwS8K9c$_k6g@)Rl#3<@D+R-!QU5h4M+1%RFgoQ0hL2FkE%-)#!R-gRv&+mg;wwKYS6HUXcP z3M|Da;lPVxI(x^c!ChGc*HfX|ATc_@O?Q?ouA6f4fj~JnAe^kS>Gd?6=VcutKD<6( zt_dHcB2rp@i5hB*HJL3CC5LAS7dFl-)Y0j?htu6NKfl<%LtVznyiP;*u5Z6c5VGv*)3R%)3D7jub1@Zf|v_$Qy8JTh{D= zqeG)UoIV`3JsvFg`G~GTa4i(HX7meNKcIrf8Mgo?B2KmDr^4$Hi7r=s9-=I#WDV*@ zW1>4d%&8pFPTO-l56AT}lvrhY2QOjDQKg>Eu51^ga4DNBXMwIy|8PR1Nyt6k;dqRA z6o~t_wTto3#Jet|T&i|OAHSPB%#n7~D}iVtdZ1LMo!0t;Zz>ItXEjh5#+fhaxnWLq zw|1Jr*&Ya8a_X7Kfn3Cfzyi?t1&#SEM6H)5F#)u|R@VcZ8IVaq(Zb^iga~UX3?{Qp zJIDtBx<(zGy66whEzF+o`<5R70DZwF#fC^tot{GO<0ur32N5X?efWHnxEV=wVy{OqW!}Iio5ZRIa;dU z0yo(jadt=EkgLxgd9~l@Zd(9WuC7u=Qv_+a(WrYB4J05>=Ct}o9Jz{cAcr7WlE+Am z?K7|P#x~PbbWMB6tBh+5aARWscA<;9&^=Sv>K2fl~_ z{p>8Qw9nUDs&7mW&H01-p*<#!n$R^eSARJ_F@xF7Qu)d2==LFPHJcEMA33 zL-!ZIjUD~XWTfd{-NJGT0>zGEybqWrAd2W>OT0m59jL491ArtaT)N(b)yotaambfG zI68HxS5**(r|r$oj@Qx4E9vKWF}pmWY_uCyM&hXiCXD7FjU1L?ZKIQl5v%*64#ydV z4y~g9lbb$noykm0YPyne1|oHwVei6DyEx|IENoyQxECv;6A)+Yrf^VkxYJAe#>57|yu{%e7Mh6YL%D7X;+A&9;ck$E! z^f3`CpMGE+Qk+5*=|UoJA4`2WvH6mCr^`HO$i+g(8<8QMEl&I?3PZ>@^jjTfU#p~F z6cXEd`=AvpW}K-cKU|RTG%I=K)q9O2I-_GOZBW_m%xOZ7?!x^ncOCIP2Dnu~Sc72~ z@C5~`06bGxu5r&-^?tjL8glKj{ongmzQnyvP_LCW&epbI6bp}~HW#JQ7e}3id;Yc_ zI$_4#qYW}=J@D%n!HDXmbKvLfPs8xG0~0{)K*4@*O5SsBG^&vDF!-LcIxfi6W8sPQ zL$+Py2{i9YUxyeSd70pvjwG|To^`AOP-^dniZ_yCKv$T(LfOVZJT^R77SNXlISsD0 zFs!hcLKVGA53b`)EO`Z7@B^5Y}s}kVxL9dj}9OT*uhGnsiezDnbXR79zpP=!0H^~0kPJy}~1-uZh)Y@!f3)Y#g z=j{ym!3KSA2GUd?{Cc_4JJCV4+U(p}Ueu2dLQ=c}iv?!)zJptVk-OY8$A-0{Z(8!G zeBB|%dXlxBeNfXZ59eH4)aHeyTY+__Ap4_jnwK3CRZzM**RqD->+u4wjf_cVmF zX6MbCGO`$Dr%B7ums|i8P~ag1piCKOp;3?<^#K+_3(%{Z#IaU$?4L70nIoU5KE`NRDoR^2vEcCkctD>Lpr6W;bw{zP zOq_r#gN!~3h)(2*I!2eqzHl3xXk!GEG(J->Tmc!ZAUk6pJ{OZuF;He(qY{4FcaRM# zNtT@&&@NNUt8^Z&L4i6uE~{OAMuB>ABgwrjA| zNus6NdkhvN-T^f=*v&@|Q2;bH(btAW4d*I>W-lOX+?r#cQ@es@*RBfhzIV_UlJ z!_P@WsdRU(!`d*cIl8`&e0kz*&aUMjN%j z90S&@XO!FUxtvl?JgmrW-0@&8HR&e<8w(|HWJ^Xz?^(S;5TQ|pHH^-MzZ7Z`WiNz! z9zYWFJYEGBT{QNcR=$x7fST6ldlO;dB<{fGxc7l!VYdlUhZ0&l{IZ=J+8&;~l#PSc z%R3@gow~seOgNzA7=c>w$J`4JZ44SD#T$v#;&!NJ0k^|A0(+3D>3ZuT2Yk$$Xu&?X zm!57-q@!Bb%sxV)5h`(VV2Q8r&N(TwqUdYgg(o2!o8q;N7v~#Z6VhOOc}E@@;n}Sx zBCz{bJ$jluZR+bjKfU^X%Vo9^i-oRE->4U*yo4FN1jvy%5t^Fo^9C~Tv`fgib2F$k z-T*w8S{MRmUDC%|A~Q}6hxZIyV>ZyKL`v($7H(=p=PcWdFHxrO0+`Wm#3_qc#|VIP8IYF9St29=bZI3}SY(kJ zy<{?KPVZ+>IBs+9DK&3JKe`%zrvm7@(VSw7g1hbPv~z>M^V;@!MB9JF831gBIq$fJ zL4}-2g%satw)2ypK;K~@x|FPO`%Whb8My1XbY-ElR1P?txO%}1)=o|DjFQcj^s?W> zm;-$KLo_g!m;9zbi4bi=`JvBu!uv0l$&M4 z{y2)dn<~YJ6WzOy4Vn@#qB!ZS;c`!Uc_E-6)l_-Qn4aJGBfOW*VH;+pA(O<6O$y)g zw$hJQEt~N^^hy~v5GONp%?D%LF~rydrkBD>vOo)@hftUoOWca99Xt&X(YYqFIgZO1 zg_gh6CrsLYR=;PQShQHA?bDzSU_iEpEQ?meQ2eKDuCn3RR~+hBSKs3q<$)4h3wBP6 zEp4r}w9Tx%`#ybb7zXrW^$x4{*r@K~euif>4p*!&axEJbGUUaVH!4P%<=sZwm9*iP7s;{ z6=}D2B%rQBBy=v~;*jo7z-V@b%>h^U~oP5L!d+twH>b$R2$j0mOBiMj^(2$BRg!%Jl(J7KU1D-0S0yWWLA za5l`c*dURZI*;LApaDi3U%ht>;BB#TT^Ws(KjFntU#!5iU_pTlS^3+uRam_eoGN z*LWZ60T8+e5A21uf(g3xAptxp(2%{GHE9A~ND$G%{XT!%UFUY#d*qjO!Ao?+L+Z62 zW1vcLdFxg6PSWIhjIy2#ko1cUoRP`_>1?yhcV?K_Mc4zq<)QNF*}qehNw2I})DAXK z=kdzhZ~N-+Qpl%s#_A6;))o|fsD7s#9nwpWb2HU#n#LhbUSgv?3Z6CaJEf+M@#kzWJaKZxK0UMH5M_^^V=32;qZ9_uq+jf%=2{7|R>vb^hn%b&dx=v#*)^;kGkIoMk6 zc|e&KeN6MpVhd!S^w!s)1t|?cd_Q$!qTyEc0Ca1HI2qT{x;IQ)W=m!mIYeg8LQn*h7m$D!B zWhn#Z2Ao=3GXx7JXii!#&0tp5X>!(L(*b?6KCCsXGpTtrJ9CPhaAY}I$?{psc0(*z-nR2H){K!Ob z)Xj60S&yZ;7bnvU(ypuo6~%2vHa5CG?worP90Z5PA0dSy5K+-qSRS!l*r*b_PV);VM?vEIp$3=?x_^t8fau3MaL(;FU+F*3t_g^H?w<%DaZG zEcSO4HP%N=x$er*b_p- zKvI5LgJkC*R>8+Gc}U{1oEWo6{M>#8^abb#T)=5p@ zSTTq62Fus1+JZ-cC*F`tmHk*3%A}*eGY0m*-MLxAZnA|)}H050tw~icv^UF zBd1&#Nwo>EDk-@~CFLZw3?Y08g@)>dbMrTFFixoO&VK0p>g)_2?sH;QdWVFZPVvsvsX#B1@XL10wUTS-laH539d##> zW}RcSwa+Bn&@ji#R6v20duum3;xa~iqtCt2BlT?T!I*TDQ|5JlGAE1o!=@Bz0pO6iY+ac4g>V|myv?+Q zW{*+{2*7}j-N&=~s!F2>apQ8Vv_1?3_<|ljo;vrITdTrug%d?oZ`B-pWFeU?$9=dT z`P+PLqf=9fs%|h8U_M-}&?Lm%F27Zm=G)ZwXl^ColHbxEQ)s>5dk3j z$Zln4OEHesbR5SUyT~CndKDBP^=8~^`0Q_;-if`>$L<1&2Elz3vu~6xdmFgAaE(D1 zQlh2|&9mh@WDlC0g=I#@=HIJ}y+<_o5ig?KA(LeI) zOY~fnca}z#2>Oi&db}jpd3{pnKPW5C*ibbsIb0gibSLf2L}|i`;N@XT$i-;k0VeI> zyRFnUZa~y8;K%9|4giKd6#VZwRj=MYh1I2!|sY7VmncR$*n#M;1!4^W3tf+S;2>?Yos9t1yRHp=^w zV`|yxmL)FVN?;ypcQ36!(DgxTIf8yq^|e;N^SqhhdQ~t$CCvlQc3BIPOWEvogv|FK zc->#6vocu%ygEC#%pzkUkdQqW%W8k=;}!hByd<If(s-7NeW|iP!R}*(Cb*cuna5Zj+-E-CzEAHAn0Be?UyW!?O%RjT83`bi{yhA z!e(~TJ%F5?pyvsC5M&WZi(2Wh+2+1UlcAS}!HVf8z`e0j$I#6xV78sSkY`>hnQ^lP!7AsR3KNAq>n~-rzM;r(=kAdTg*$YnjQ*i-nRoEb&n%=&Ane= zbLZ*amZ9A_?TU0OhCinJAdD$qtbxBoLxH>Notn_8wLDX~zFL$rt7J4`!7iRII9cQJ z1|YVK!vmO_Ut~Sk%N0I~UwXe>PSkNC&}rM4SD3m_68gEyRBa|4h|UPINlR)xvG@qv zm5B(67BB3+bzm@Dkn%LfY3FQX%(6MnY&3vGG*Kjz+eR*L52)slSZU_4e!$=^>0Y)` zSfW|hcxc?d)*7AXeksfs0v0=X-X~cfutu7bUsy&NAG+aUr(|vQNg%uDIXtf5cAt-dsMz={B$5~cPDE(Pc7TLOW*MyW@5YG?o=9k$TdgGXaD8n;*dGB%b|A3 zPMjvg^GKasIGA*dUX&x+yknnQ$NMROa17}*+J;sQNAcY_Mf*9g-=%V^4ud9N5rSsE z3D>H_(WA00vj<{eh%$V){{&r~J_En8pK~(HD7=fS!s(#h!oS3RBn@8Pilh1g0V9<_ zX5YDD;dL|`q)Q7xOPV~0yvyFb9g5Kn(Q7&Lju;DN7zDY&MCEhNj}68U z24%pUaMMB}_GZvPh4xE-!K+t&h#l%$TINL^T1!%`u|Zz(QSW4u8)OntpZx`G9GhjH z`_{H5lFdm;x>2=Vo&cI5C4%ErkOReoWBkL1!Bt2p{Yj#_Ua&KWMBS>e*Jq(3)sM3#Vq~@ccSgL(dUp8Ivgd@(0(96rawFaodYvB!O>6;8bj`Hkt&b=^Qk(MmG zF*ydWBfR7aTI=1TTz>(xmO2~F8H~hsdgmApoQr<|4QYx|D+d6Rr`C+-TV_GjK4n(TwAW5&nDqJP*`<{yTcCz+9!sEP!#2 z)0IHp6pQ`#>6LS1M>6BU#3FUQ$R)h7nj1(&6gw?*j=ucL60B3Dm zub)5_@J-zAf-K;~P)s=N!3iqTBG)-6G|uQ}j;Kozz>Z6bGz?nAdgJoOJ%l35Ne)u0 z@M7hNr}0XaYm~CNOh2<`bhSdV9LU9MFR_I`e;bR*x6vxX&H4wK3?4S50)_i{$Oxmob5E=Ym0vwwJO;N1sv zFmH?BO?RHC+zIimXYShGl%+P}KgAj6)Q!lVuLEJ(GwF;R((sk})yqDyH`$!_0XRSa zpTK=$(J6}AM9*FaCQR|xvij4-x^`MM`1u;Y$2>d+ihp0qg1*$fFVsZsGPxCG#$&{JdH4YZ8_NYmdk8sLWMLk5n4IZWS;bId~8oxUrYWoV5)L zPW8)-om%E*qYOW?6RjuN9V=Y20~+c9Gd>E$cEHAa(aGQifN%5xa&)29ZD6|xpdpC# zd%LwaGYXK@dP#s1lQ>$8jET)P(9jFTsFwLOD=q=*>T$2WoAR7+?Hn{k`o`|@^p5~- z=b{Dur8q))1jve*t46zhNAE9p+OatTRp8674MB!9(mt0{kqY_%z=e%hXoio#@v!5; z?DQ&s<0Jq#0NAikB#m=xC-Bf7uk`&C(n@0)L$sjt(M4~aNwgV~b9QYUs$dB|stk8b zhfuJr4W3i`;TICS*vS$G(@>mo*>e-{x|XVJUvhdHPRJYpNO*@Ca4OxC!Xs~__rB~6U>^LjawTw3KhPa8Gs{`8{WG-4e0?UALu+`XQObS5zERUhR-7r;vQ(PeWE2Iy@ zoG{NsKRmO-|!wbmGk97tL8 zpZS~C!>(>vUL#;xWZERXyl3Gz99|Daz;>dpbq@l$OI-+N!rps~-a)=ldTd+rdFbY5 zKG<)rK3nChxX4;eTh^BoGe~|&yhfS~q2y|_Q6;4kldv^6mV;KQppuMsIIujxT zjSAC7@ANuYu>#ZQEf7C)t#dk8vTFrsBBPATm{;3V5x+;%f&@KI+Z)x3EtZP-VdNZF8WT>uWqq*E9===Nod`O#6! z7bMZ4%iA+s(IAJkne+j@j>UizL30-#^E^G%0;iH=*_+Lk3S*LaWqBPCA(+<9rLMPb zMY{SldPzX)f+bhz1ofm6>3pqH>_S~z^Rs->BeBADix@CBy=*-%r{H05H+T3kb7(sE zHl1X5C`6@j9;329t~4WtZaSpxEEMeOKm=+ZIqtbxQDO0|WG;6`Pl7mjX1${Uo>eKs zYnxocB51u*vMEiSUdmGmT=Cov*ufY{Jz%894Ea#ezZOtbLGk#0M&%c_APexo7NlFXrU zpTWOws2*34TAKp)YxMZ2EK7ha8lEprR2^VMKQE};V`xeWQ+M8`U%d_RTr^6a}S z+roRMDR$9hR?9;a#2U!rBW*aiAFWc!pSiX+IpX4X)0#6Vg^_A!rFP#Z6)sa}LVB2! z6N8*vaSKv8J&SkwexHTG_O;erx0*sBnI4&x?YqSKvkJVP|n%*=y4oNg&v7Q1_*E`05AY)<^=ds=0^a>*m z0d*TtCdI~Jv?HDCD>=>EOFxB>xZm*zpWH=pr9<@RK*-PMQG>W*l_RexSDgm=zL-!~ zcrBYE$iQVxYa*04R6(hI|u*##5H7#4a%@y`QE+iR+pfC60?jRtEf}xAj zCdeQ7m86;KJY?AW;Pa@;w*=0n#t6c_L5;&8`9bT}dJXGEsl+kfYf8M!zC~zmV?P|H zZXn`_#4Kxo>X$_v5XWAU!?A}HdO8YD5b!2h3Uw9ybh3u_GH=@;Bx$!7q+qmv_&;(8lhKPI zIFW#yOoG*kx7V9ubf+opqKm_g4DW}zf->ViZ_NmpS8fphLmB}CBv5qsW|yKu0|hk- z7iGkz;WCD;W(peP@*W3dz3!7!6GEaRNrx4`q^x&5NprITcQ##AX&C{XhEg&8o` zrmb0lmk+0u-Xs{V$`KHd&B}{j3Qun-ym%OQT$sosI8m`;p0`l!>smRMK+J~c4UTl5 z`XZMK-?i;VDDt3B8C|7PPV#zlMb{+K)i92%eR`BurQ&|U;?Uw=#PM1spB9I852yNg z;gT`A_MI02bEY*t&l^FO78e4cyi=15x?i{ySI}5xAO~bj*feqzB33b)3{o)ph|A15 zRGspD&wkiW17H+ybrTZvTS-F{?~cV5)hzXzb=QqWuZ<6vg_YG`sEC^jRfFcW?@x0a zcOeXdE%6qb)okH^2E|S*qe!-$QKj?5%PGLwn76a)Uv^kjkIip#MKdmsEJv7KNRS<~ zefS09d*vGu2QUapodh9Kg;xQh#g zf(LfBS#(y#kP?D$vLnhXFHP+omIA_Vd85x+(HQ1Ho7+K1m*w!@>H-`bh~p+CV6Q7D z;%BGEV3>qC_0rpNE}SB`W_-4yS<3{v&m>sVhuOO3CDyt_$*>Y{VLkJz-le{f0j+A(4&WOE31W7xk#*(u{%psynJrEf?`9oM3z^8ye>}`lVld0#V&;9-1(%B1 z4EhngZ*jb`n&jcXjd$Gjie$X@Q43~T#vF~4<}xK-u%0Iol8Gu{#VVX=z{#!`Jk_Tb z8z_qJpl>M`+(kjK*tF|xBwSLE#6-t+MKe|5WA&OOVEO+TFXWH{7*D60-~x1SkMc!& zg{a`I?OMddR&!5NCqeeoUCxNIyp_utC~$nDh+&*@_W&)fEhe$I2DT5~aaa0~m2j8QF+1OaPW+_Scn};sHl{u(zbe!I!sRgxSn0 z>aqay&s60+ODX2&1gZhrt#ZAD73uZrB%i4h18u2n$pvMdZwUL~rBT%HwCU%z=@Sp; zyWGRyzlQ=?Eq0{yw!_6q;~1@KGj_gv0^Jf$YarF)vh{3yJo(EM@D$30jK=YRwa#8P zS%0>!FwT!+E{6QjK;kXBrv^W(+P1pUlIgN10;b+K_%BLQ z-0epWU6_yOWpRt+VkeyJJ`(_T3mM!lqlB*{NLX9!LU5@Iz9d2)%N~D$#PfS(je1L& z3l;PsT9gaE!Ucirv~Q3fF@=d_*;IRZyO+n4WbJNvO=vR7(CWURG+E42H~d>-j8n7j z)yT4$l%m2HkXe(EV;{6<0a|UemG{v72Jp*$ND+Df5b}<8$vf{Cl*Tjqg3-oR4TDDk zFU7IXg%e=Evz95j9=?slFF%2(D=V*nF}WAV>)g|nyBwkS<3dPBZUQ{D?^#hUF@3q< z&gE2YOAIcDOj84XPsV!dYiRF7%J^(CZi%E%8p4N4RPDhu7I@qxtIyGvNoiMJsA!X3 zy0Dn7oJ+@>cMf-EgwAd^%B||8_Z59P{mhGwoQq0~Mvs1f)KZbkaE6c3@RlN#BnUG4hzA`nr$OHZ~ewDg>=^?N58vT z9dgqWNTAo?z&H7@Dt}EIpc!-t=q3Ug4Yi%kaqkI$<*yk~A^k)Q9i0uH<0-F{7uuPH zJQS6vI%QQFF888P7rNAds~lPE099KSdxGglYJxF>SHHl!Jn3YVF6f5ZCh(%Y9fh;{ zIPuG@C{3hlO-yWi5Gw}-ev<|{BROA{P5^cVS#@`72%?s9IE3BJruURd4}yo+m?B}b z_04c-q3VHB?lTjStTJbHI~LL&q@5WL{$v=rBdI{h;mO}Xq)e{#;o~{%um|rd$pvxb zLp%gFg@-=ktuv#s<12%}3PD=Fl9AP!j^BV;;ozD%I)_9E9}&~|n%;@lXY$VCy~J;CM%_=olS6#U zl;i{Y67lmf{CFN8Oh=;57At*s?9Gtf6~&+nVOG)DMU7B_yH)t6;qEYQ0xviUU; zl1t$XD=gs$@;M?XhXu#v?ivFHkN{9ix~&Ac`tI9~Z=a@>iMhzM@P{(y5O)ae$NM1U z<`TG?oWnkuBMZ$C3jOR@^Q61u>|Q$W&9LzTkU#-MkX z77ww`J%0~pv%L?G*&Z*Rb&U#2pLSW%H9|l4ZBcduERELz?HS%#4&LMo?bfF=fy;ka z*Q^4U`|4>dxx5p2V`=G%hDDl^SzpffP96s2?70gX#1oyd0Ok`vVDiob?IxEm#6OFb zB53Z-=0?vfhuHj%hnQT6Qb>9ZhPhD8v2M$fvSk^q;sROaUN|8+2NZw>pZlJRjvRAT zeV!3|5X$ck)i|&!@f#W8k3_nf`ou0iOS*Hkah~-0g1H{6xupMT|Z&A;DdasdtMVs}~17~V?uEJn~ z!1?musbmd{HiYdke;@oqCdXIrL*>p44tDIZ<;lWsa5kY)C1+x-yY;Ej%ITcm8zc)v zT!3$H&xgLK+wLf1RtgoHfu@q~2Bf>!#Ji^SFnjORerFe#@zPy;FxKEw@{)BTGLRW* ztiElFf*!4fkNRM&gcP#&PQinUX?dsdD7ESG6I}C4-_8-!I6u$IO?9;HcTE=dB~#~!nj3_en4$S1S!7aoc=3TQ~S zvlq@gl#raPx|Fvx$$RY1?`gNM%yXV(KF-)^HjT!5oBRk4SXD|Il^5E@;LzTF8cvV) zsA@}@mTeXiBW?%7rl71-{C)L$l|0T+J9%XkR*Fy8#!(p-<@;fev;2J=$$8zo`b{n; zy+24QYpFdjRDjy(#C8s06+L%%l$#Y|!d;)C&gX6}K!Zva?rs21K(W8$lJV8a0PdYN zoO+3CY`&jLBbsafe3JQ%k|y55z_1K}et6G$a_GdVSZ5^Zg&nu7jy9WSE<+N3_$Po- zI0z>HHM$DksOsl3V4oyqC~GNvr@2Xvy*pp-fC2LsL&}xWA#w7iYD2LRcZYm+3U4iI zU<~H2-2jv8eX|B5XTu@8m)BhdSXHkrBJw7AjLe4c=7_VS)O)TGk@HmA8g%tE!CB~aV_pFQ8J4>j@^bw%od#xP5r&M`1Mv2lm zKyi!M+-nbx7{EA$4feMsvga!0rp=(1xlUO?crh+_qF9@dXBo=CP*3Mw`5+447OJ>C zwS8`^N4Ev3;?q=>SHtPu;{h=UW8fwM;|2xtVjUU_O`u~sVi!u zHrL3)RBMxWV76+H!Ak@l0t`(df}hGb4w0rlP z%9`^IjkfxDr6m+@O}wXh!E=EU@H zk)X;X-v|z_H_9gq?{VElxrfCWcvaix7sArz-KPA}b8l%2O6K9)*P78^#zx|s4C$qD z!_NMC)x`TJnd+U+1i2yAi%!#I6ukB+$*<`OI}j2s$~lR5cgA(-4v^^^xip}+cB z&RXq+6}x({A@sQhzTCL5()XEFS*);wW>0uZQ~JdKuZeulH77w^xV(8OgTVl%GD0F& zbd9x4>XxYq>F}w!uxmZxtC z4N)3Gb75*sR!4R{b=o0+vW!s>9;r=%kl7aP{Ka?aGWL+R7slRunCs4$9)`(6XuP!- zB)LSAnPzVkB$Sj%IqZAIT3OtKuDXCriOR9!()adJx#kexo3HXA$fiP%3pU4N~dd_+~s1hBZ?CLHMGO9V%AYmMo zdB9UK+a~JA=_E)F913=XNS)^POCl1;8YrnDd@KxG*``{!=d*4RF}KNjzTdW7GNZh# z4T2O&d16qy7bPELh*?2IIA0=qNCe zIM|H*m+V{#ec_j0o&vpXPrX(3^XpJ>Rfwq1SV3ChO@q90K?dK-h_I!nf)J@ z%M#X|Eq|zS;S*($w?6 z0>5mKzSQTG1K0`&xT1ganmt#jCuf%CPXqvdl8g|GtkXFiFFUXb*yKZol6tw47q%^j zS?i>hSNm?XOZZok{5uK^1Ih-I-Maie9q|HtfhoU8Y2ypv0LDRh;GU|+Z>l^cw%ju5 zzJRl*r;VI%G3nw?Ra>Ft19q5V5xu@Lkq2NZIRL|W-bsrtnYdAEGxPRPa_^ttb;eSp z!YS1$`#FwC=uUE|mmvg4g;nu-2&!sHN)+Obv8|liCNoh-8t@d}+mL4JJDE5dxFBaeYb~(x~ff-oNXDf|@jB6poJJ9)vyz3;`q zK%mb89HW>{5gv~o1D20+}Wuu$G)ES(xD zA!(G)xs|L*kGms^N&zlB>$95B{jnFbLklFwpd9h4qbme|hr8GowB2oR6Xm^tRZ|Eq z*3IsmkzeqyoSIU-8Sjq(V3bL|qnwom z@v?f!xJhNOdv;d)cY-rSF`|#)PBNj(Oe=x<_`+i-ye;f1rGDn7D2Xn44eQv(ww8mS z;z*6XCv*Gj&&(*eh#TO5?EA)nWimTFS%}Bohm>e`D!+BG1N)lV})~Q-nN)c7&+S2N*ZAU?A z3n#XcwI=|pZ#&?uT;7qTvV);qK7b=!AyvXcCvhZfP<*Xdrla=|;Ul|@T!=$C0GME4 zS`111Fj9IXG^!MV_|{=z%#wOek#RQTv9pF^z>Oq0_J|~qKPRUfjFz;;My_h9bH}p0 z?({Zpr*j1PjKZP2?1twT-f1hO^GK7$?x1ek)&n8zsf-Bz>=(kC=u#TtJ`#9(hp?P} zF)>?*!g0QyvJTJ79|HT~=*{4BDJb%TNpy-d5PmiuNgO zb&hh}1d7mtD%4N)ko)ACYh|SPt_k+BI^Wpz)kYd!(7k}WwAjl~gqhPED#r2E5H=5< z>^Joe9(%m>?#}XY<@VXZs?s5;tcqrx$?nR{en^y2=)4v4I{szQhb8A@y&BMFV|fWp zmfs*L%f2|C3pTub>Rbv_mFm^h%a-I?wl1^KjIL^<7ubfE%G)wH)KosI4pvdC23dDj zh6NYg0ZoOhgE7*OC;p8~2zW}Pw1bY5b@ZVL1@!!NWhlE8K0q}4dHX@AJ~GY?XA3p0 zrAa&rJDVF=_zem3x`q5I2yVL!@<{J^iztUL2$4DCWDWtF%_hwNR53yBJ~%$je&2?! z$8&>H(Dji{xs0Fp5LOfA=HhL2q9*JcrtjEuTOHa8y_6kQNqJpTjCuygJzYdlJ5J_; zXH>Gxb7|P{!@&c?h5%2&c~R^}!n>WwcOK_>>WR7zOW1~PO#DzE`+O01rbVT6OI#g_T^4edXlORg09#5kNgyp073~|la6F;D%9x67 zKd3uyXk*rr;qM?lSgG*vXWbIVW{&*EU1b(J$g8XHos904bmHphd;>;wqe~W-KE2&> z&S^{Ncu@}7c*$5wH6V>-;F{WFDGFDZ4Ga)=0$uRbb`SfC`d)+=Rhs_BX90C2%r`|T z(|}*3f|W=O2wLrKRu#47*!;wyH1sYPz&!92AElLuaQ2m~-yI(X z`=uc@!3mOMDEY#MKk!qqWXR)tF5oTaX>mu()`QKIEpA9NaZ0nOlp~wKhu$^3~8<6v$d|*vs&F(^Sude}FLmwb#yl9pe&7ySKCoH^1Ch%R@ z3G-xk{z8k;(PRpdD_kpoQfJs#yfM?|-)qo!+N_86$>E@^r!oxg=L$8;>_{pJc52n} z+~$Bis7RuUFNZflGP5X8kg2B+*?1A$$l_z*L#^jTXkCo+JRF?XM7ELEnJleKHCA0b zaa_BN?1xNvC15Z*J<24W?Xzl2FjLI zS;GT74#u4`8R50dsLmSfSFX!O=HSqiI}o6#Ze#O_&2hE6 zUUGP>limrs&9-ZM3+t#r@)=}~sC)IU#%?D&m=^-RY-Qs#_Mf{FG^N%Sk9j=30Ox9p zMr&!#*Ax2zHt|6sqdB_&HEL&OIiW*YxDmX;@QVZQqpNzn!+?1scz{N5664~typb?a#h=H4p>e9`5K z4rI76C%YX?^GrMC%Ee1dtu}U+C}1lsu9e-%_}oRUm|7p+W!WVsMKqHEkSp?5I-yfj?CXdx-vBu&bkmK>f8vcyvNBPe3 zZ5>A;(diP?i>we`-q@rDiD-_>!Tg>Hn3}waP}$~6G;=pzubV%{rtye^jk(Zy+1H`i zK1)ytW6=jT2*3#8R_Q%>PoFuRDDpx=A$v8M&HxBv1>5Un_AAo~Q_u1#5wNNYOuREz zG{B^#GR1f!sQG@y^w;?#@QTr!uiLY?ii5U!-EdNY1-b)HAgro9@|MY1Z(O1@KDa+Q zM1L)r5|= zr09XP?^%&c)y6!G0%gD(!M+WZ>z-L zVw|(1rw&Y1MpKO~c)~|Q$j48H)7-LR5`z<3xG5jKY0ZcCapri{54bBj_0+qoa-kX& zF)GQ}cXm8UOd>m3tFJ!|thh`!T4vaRn%;5u-gAi~W=R*TvnL~@ZoO)mQOi9mR>!zS zvdQes;D6h0M&;$ccR*a0H>b8)!`Nc=$Ktqp3PU3z;q_K5mB8U_5ox#(5@(+y=W{~< zXb|v8QaxxmH{?BAuzx+A%bJ(rR*kczCnHd4ou*5x2tw{*-mkUeiPlxicnjl)E~Z#? zbI{n{cRc@RQWOGYDYiS<7<7*%U%4-XtfXn)%|5|K&U4^Q z@HD}PiC-RYa6T>ze;$)NI^hVo?1z8Kv+f0O;#@DiQ3X1|eTsA5fwv@fTD?qAfa0&X z$!{u90JpJWU>FR0tPgFsCh)?jl6c5O4%e}RJUR`%YGxG`{pYlbHV(i6O|Ia!p)dHL z_uXdrDrjX|SK`Ti2*|>KY7@@^yWRO@cZ}Cg!^G-kb7kQHEgiYg z5Q3krSafkLRXB_jIDSrUe2GSyS-sq%Y*y)vmWWD&7wq0t!{=<8A;B@MAcnJ9Y@g9C zIiClVP3*GqOa#0>N2-M=l|FJ|L>$Am!M8OwCvGJ? z;NZU7;JW5GOK3-$yuYoV1TIY{A<> z+s3M71%>AFF`bBIF9CoD9L!S)6fnNAEDYG&7yPOM0aPWmV$?7)iY0z6qb^2NKE zf|S62vTYGwSu7o)&xH8umDdSAV5V>zTm98_@XA=@ag5UjGbk^cY?hU_ z(Qxm9GXMw+Wl+(1N#HTo-pKj9tSxe^VAq=DLK{s;ar3$c6(H8oH8(^H7|;+BZ6r## zH}u0fP|#TN**aT&a%d6YweY#&pLRe z+SV);QR1=|sN46;ziN$3aksw9J$Az}P5Z{oH7*|!gem=j=aW0s!X15!kr0m-W!-?n zA#^wG<%ww3JigG~kVGm2Ki&y?`-x4W)ro9g^cnnav*^U(na@vIH%B1|!8eo@klryx z--iMG&h4|)dM4DD)Vq6Ua=+KAhY7|;Gx6R{1!2m)co}q^0S!oR6kR|LW^bTCQix-l zkxyud0Qo62K1?vT9FIjiEF*1 zLwSZ&;M)l~huj&J&fIEvQ6bYosdX4P_bmfBQK89*`pP0;8RPa^!GD2=9c%-IGw&X{ z`6s(U{aEuH8tEVdxj;k7e+6ccEWAGt5!4DrfKyn1R2+>?(x|d1dJ`ssr=xKHE7`lW zem7AJM2r4L3eoOh&=1&pB5ll}Awy<&#ej0=Zn%ZAmisj4S{{D3F(}w}T7xwJ*<=sR zNr5XaRkQ}CPwHVAfTkJk>1D>uCB#`60JZCJu(H)6cpD}}e}RXE35b2*8Z6yFo;XH2 zkh6A9m$;{3`Ydc5H#`#fSG#=x>0W0YaiBN%`-O^Vq#-2W)OXmtfg$3o22z^{8Ky-1 zIj@Rw&{V&+EcAes1xdV*n0$|Uly>?X{?_)m2k=o?^XmL73&JL{L>rxA$OirOoP;2i z*XmG0A+168hE$Z;Y=r-877{^oUyeX+V*9FP@h75sZkBxo0MKDHc-LYtPnBDRS!%n5 zX2Bd|KYCV)cT+}{Wcs|d&@bAi@QL zSnioj{o4Wc1V+|i+Uu8`H&_Mm#DLCwP|CQz!%!&B;YlGEno8i;a>nkxtk>tq{p*l9_PzBiH*?f*XE6bDg`v%=pB2%;?QG>N1+rf{2XoL z<(hMkndJHo54`&%0>B?nKddMoN>1v9axF$;99mp&V|OMO7rxt)Cj&a1pwf0PWB1)# zrG350N=88b<-BtgWIxV^HHSn4#Q_IP)s) zb;>M{*iQ5lzCPB$)tU!dY-)?u0La&{2ceJ6`3g8`p1>|oB)>|-wlVB92TFLp@27RG zq{+(e!(P4DVZ<#UZr~uLbP!%OUqBAkSC$S48HU2*8chP1ff%F+h^%11;NKBpm`vz+ zFmyKIf<#EkhLh$2m1T2pS`11I_ybYAan~qhWP936Ru1MjUio%D=>K^&dYUoe3~s3Op!KdfMtOstM$2s>8qxlo zT~$B|qM*C;bk?r1(8u*cQHtl+1QoqZqYX8ZI%#0QFKukQ13$^N2;Wz{%NF@wWs&Ut^QVKK=(tRA=UhHL3mAf>#xeO7QaOTiC7TRP$H#`Z(Qi5asWoU&^Io7-U@SL zZX3N}XXb8W(sx1d`&v*wE1Q4<6@+gD%gn{|6h|Nq6DR@B5)n5?FQieP&?77xXiFa9 zC?0}GJ~nn^y4}jgD!d=ygkBrxdqP1ecf9G3ol@XL}AjQ)X_+R z2u}$oo=#G-ydD&Ok}+wE?ixnZaivUne(!g@X*zvakuy)QFu(*4F}> zdMOr!ZwHrSb_n&(Ryv-W#i9bFLe|N+*c{5@kL)QA{X=C#&tcDcA@@l{Ty0N~I^+E} z-~-V_T^F=22M8jujSG7oZ@m=f(7os4&^xijuaeD-rG%SY*REc#H~wz;Vb~Cv(Y3U)Czgzud@k2@$+NdgoS&-v%6bCji6*;ix>6 ztux%@2`g)tjf|wuD4Km%4}L6T^7*ZI_V(y?2VaJZ0aOEb*RBmPJ|vjCC|`20Y{cI& zt~?6G?Qt2z(QZ3bGTS2atnX^tZNtf~>h^&21z+mwST9 z=j_fzJEQz`ngc&!-bE#g@*|auL(rb5&0cyu4T3|cxD||mwWFb|YrCfXy&%%Mg#7{i z%fhQ|*;Rjv-lV7UYBSd^!futEfsEwZLy-`k@cihV_KDJ~4y!(Dv|>~7w`}+)-2Kp| z_U8LWpN0RI<<)1D2!FI#UFgTzol9;-BN?yk@=4$tjxI{a7+5%a6f+{seO(7RT9>nX z5hV9xkHz1Bo!Xs@!Ip5mjS3j zzQ0v8vj#nfNZmv1EE8>T1~-iCBv+l{eB1WnS-j=+AVx0UT$W^1pC1Aq@{vvkt}sO9 z;#vWg&0XJ|N_&ZvL$Wvyu_bQxa{0>LyEfEt_%kPEnvSfr@MJv;O+)%k9BkO@g~sn< zJa3d)E_(x_rck7CM_}txnz#Lx?Gd^Ww?DaWcb0s+=aNtvwj&0QwJ*(pbNPn%+ia11 z>j;e=HV+3OqGz)jvj~eI_9f?n1i~TIm&oR?z{#O@1%HJMeoe;Vov>Egk%^N4n`Ri6 zTo&c*eFg^{J;*-}#p?Q@hptuag_2%fsm`sqacr|d>F2J+h=WPM zDD#e6!tObJ+}C4l%a+bX@AdX((5O;`HaKnQ(gAtcvnPk-FaqP%VOoJS?AB5>buJ~O zO8&xIB%Ow(v=BH_T*c#ZyN9%NfwhsRv$9t-XILW~ZEQRLqLZ5FX|bgk1;+;5Pj6~9 z2yZ~OC@)KiU{N3ah9;TiZhmg&RflDkDpM8l4rKhNg&OQ@Xv7$rS#Wdtq0a3 zP7F$@mFiD-20b|36h!Vq@Z*tKtM)X&Q}xg=&fv# zmUm8Q`_&kOpYyc_|E7gp7R2Ptxm-iEWVtyp#PQu!OlX^*1dXSq>63Tde(Gpa0-UKQ z0%D&_`*+{o)YD&M$?FG<2mF)0`~=Zi)eE~m?&unf1Jp`o@|Y zIYLGD9(UL6&~lTTJuJ_`jQPIbLY%{QtIvm<2w`0gV>hf}sAM;EUy$hcK`_H239Pxw zX}n~6_0B1`M`AZZ;|Tq>e$E_SY2tgO`au__!~>arv;Y|Lb2&9J!|)kJ=VM-fmOa~z z{~#omYONqen6;4OHM#q(1j!6|e%eqn0UCCnmFzASiRn=K_@QCCKW@sh*Fi$p;M~~Z zhHTtevPrl`KC+CTSGN<I2b8qcd-nqhGocc8Mro)J_Nz?rF=n#Ue1NKw2VF?H2SL7a z)Z;wkj`t|mXGIO(OUTCez3*fGOse!UnA9hg3vo2SRK-O2LX!1_;!0Pt>gHy^Az^ohb=(OB0ox_bZeqR6 z=VL)Ux_(~KUGKt{+B%P=)l~Q0Jn!*lTF0Wv2kw?g?yG2l9%SoHB&2hP;-eDmZEvyV zJ17CY4H9C$>ANTWiEji>@tO)F#ri<%Z>-4t%6;thMWR?3{SL$cOPKu9q3W{y{{0q6 zp*4e`sf+PzjE6$7@icN8Xa$@LXji7-v}?yLQ+P|9xRZtB+4nAS5<{ecW(6e5OQH?H zIed#+t*rR%p10XIwR$!Hmn4{>gqV89M#=cPv++31x>P0DoF|Trf5^Ed9SO^TY+;lF zyqU%50z$&1wl3g7O0YV(aO?^sR;vdH0e_qM6(0zZcPIFvOaO~DJ%WMa)`HDqXC)Vm zkd-~JcuO9X_vAZYtWg67FI#Z%#J$iweWoAf$ zTk!?V$W(?Jq084E+3>Av-e(bb4&ok|fjMOw)|rnhA1#iPqVOvX5B$&zGmzg7IGA-k zP@ei46^aO7*tW>W_65SC;&FpJnP1A`lRnJ4?Ow(}NQ{AF3956mLo}IqB{iw)@eqAb zT9n~Dz-f-YF^$d?u3)5g9Ij|S-YB&OMcK-Vh=G2gGa^BGhIEO4E|E!)h7R72{`z9~ z#SAANAyH*FGYQ|itjCxR8iPEPFB75RSprIw^=B=mx*zxev>8q-AZ9@$GLFaT4bq5P z{$;<*n1XKvlrl&YLDPBn+DRwE5NxII8h%J`f)B#)Y`p@i9s15hp))Fi5cs^PY;Ipg z{IZT}dk?Qt29L-x9gk?4t8Fc%#i>#|xwc*tmL#h~b_p7A78g7r@HyUOqzUGrSv@)u zLECHgTK1h~F+r=@sm6!I_zh+P8lvD2(MqAHh7_i;`(vtkVVw6MamXL8u2a)1LoBbd z@ov%Pa2jy-uy$6OJ>xg(u^jZ$?O97181NEIX^JCSKwN{WS12DB=$udJT zT3D+Pm%6J{vFyXi)8*(BQ}y%w{}oFQ#M+%vHnR%vC_@XY5v&N^rC=N4Bhz=Ejz1U! z&Hzrxp;@R|JRGV7!ww7m@Y4t)9c?QEYq$Ye#=>Zye<_aE-EmSA*?_o%zHiB@T$t?^ zaZsRpV83~C2hQdhMvVE<&^)l(40D?Cg4y2f&C|%2t}8Y>qFFY&yEcryoz04%P`P6! zCMZ~UUv^&M>~IGLv(`DF6Ai-FxUJr?7ObhfJlDXC$A@t|GJr_VYG$MFgSL7R&ZLu6 zvB3qvrIEp2a=j#S(tCdU%k@}4fjg;#XlI?^)vremp3X*(smLjJLrWCsl#jm(#)l9t z#)oI@bekK$Gl_Yg01?|>hr0SSzHAgc z_~K`HUojG+T;DMTlJ7er2H-?w1kF5CK=tzGPt z!TwSn;)@Q06zrTnX;ff z$vG){PDok8a`y0$=8`9giwFZcqa5qch$F1Q>I103b@(A|8!D#}LM3@b3LI?#i>Vic z!^mLc171XX*hLPi2$_j5u(+Eoh>Ps9IETOWa#;*Th6P(KjF>n-;@sc`8LZg&_Pll< z$0o@A{8FB9*-qgKDWC^kOtu)MG`P^hghI!xkIKO-d8f3tcmT0m40fo@Oy9!GrhLs6 z_y&0<^0Oc)#VPXQc5e(TxF>}=J{U;rckxXl;V7K{)E;-D&b&j>V|fr*Qha1_m*a&n2(P$)3d>Yguq*?k0utBn)X zv=ic)P}n=WV*1fnuJFF@JemkS+*=;x$Ma<|4(e%UIGdu%D@-IfS7Pj*WeeVeX|V{! zt_uaaDeuS`ZKG>JD;7&?3luAa-7l$%X7a2oNx;UQJPm94ehYxRIe_#%NE-6iHF{%w zO5SlfgfU>*uxY-ftP9`*Y#w*cyZYcRC|UY!y|;`pfcRK&h}+}@zUW%ab47Ip)K~n>UzR}M?EVKpHkVYXq^i^2n%jBGXUl$+TEDlT@PY(gE#6QYH)wIZA%jk2OWthW;? z#2l?(0$r1L-lgcq(p%qY1ZFD04V(Sch<$2sw_F1Lz|$v89EFQau?(KR1=pXkBw~e1~Kz z8$Hs>*t1wlS?CCva-XdPm)UYPtL)@78L+iY>^=}~yR>;JL$l

`~3n0ipJsU_xmt2OVvL0GpF%>PV7-qdD531nx)rEi7+)!z8#1nnS$<4C3}3ls zrIDU;Yb)kuv;{4X-N+%PsAen<`NzO}I6P%KMrLZqt_vX8T0JHpE1e4srmZ;_j_=?2 zEj-?=dxh#C)JGMrVLNUOQ8*@hMu2_3+bhk|xi+i6*e8XEVE+2kdZ$O{8?V!%Yg6!$ ztyJj+mOF@sGHbks7xL8AsZ65?=MMopZ_|rCgR}DVdM2~ViTDA=!HUx&yL1dJ-@J`OzgSJPD5gkbxMBBq@l}$x2%{3d?tp@+M&t0jZLKEMU70FILJ89O3 zTb38{aNxt-rgW}R_HB``F#?qEwuC1u{5PB4(C@z7hU_KuH<*#@8AytEXMZqBEy*IB z1xa&Ks}sS4K#_s|NjHzToL-qsg`lw8eIF+1LFxrEO+2!$M|J$|!HYp3(Y$!f70b@Q ztC$Je5LMZ*nSok)fq>N?%0~fXRn9y#TWar7fG$mwT;MX?y3(GTj2Bv+bIsNW~F|k-& zyN4Oeg)2|CzXLbYZ`=j+(~0Of?-*TO>xRhKFo_WS0MhmP?VrKdETZOO;oV9=epaEc z->K9g5$s;>A0zFM%$Ww>_R?EbHxeqJinL*G8 zqYYGj*nPN6(KQ1!1Oa%Q^V%zk0rYvGX$-Eo`{CWJZQ7^2!A(B%8v+pijV?t?MD9co*<22O7(A%Nej65D z5}ySBsCg34t3m0JLc#U^px)wI5{pNqFf4ReTmy@OKqQytBEDO`I3ztgD_S@i!|i9h z=h-#QBPm~bUt~aljlJU>`&((Xw<4EwXNAW>#0L^Qam{U%lUuMl3!z{%%9y#TDZbB4 zhw+d|;jsH_EkGF1I2o5;KhVk?XVY-^u`wgIyCbh`U$JUL@mINbjKPwYMr1nzKFSYYnGDv|voFU}F5}IEUUDTa&T}Jyz zAv?5_w=iW=augyRF_z72k01}i)~jb6zZ8TzOsT^bJKi7|%esl6Z5cM0nDEs(0Q zA4@eE!v2(xHIoF~9e|oTdNJCjfNk$@{0L>=lI5JHj-3S}w2ghaC26Jdt1RSkx$rcs z&k;gFpDtfSiW&*;6?Piwg}5?6XN=p)HQv~kXnSk1V%Nh~om;3#+@1sAANUbA?p++u zmAp|!{Ke6Ba2Feq(wZY~Q-E1@JdDH$SHn-v0_H)nSe@~2AqHqwSBLtUI>uXJ=D)+h zZCRd%xI%ZQOHpIGrk~R5z#&6}%#?ApbDc})(barEHOAkF5bp8L39fCX)08!AYF!Ty z6X~|Bb5h;WJ}VR@8}l*g3I_Mqz;+Yy3Sb9Z2hG2sU#tOlft%X|@H*+q_?2d*Yybuz z1O;1mC&q42V4*oY?(?mVEw(T`^lodhh?$@W)|vdIjS~P}U-LdrEJP%I^(dr1yXR*C zSt<8LZo=~h!yD{G%zet(tSc|2kZXM@@@MK za7C)9-6~q5!)dOMcW~m&?w^^F8P;H@6KiMtpR8j6%r=;@Joqe?lhGmo*(ztAy{)}> zVxOy7ml)b*8RI4G^@4%-P1(W6fyhn?^ZEenxSle3+n-&v|^WkXF#JAtVho8-fbNTV(fkoA5?$f z?Ho5>2F%Kpz9tWkyZYHI_u^tq7zayNE-<|d%YSE1XYqN9I%4j1`ViE4mSbQ=Rbme^ z!zmo0Nz%N{SXWbH3=qBwsuL|`p{f1qy^Bcc;ymP4ad!>h((Xh-h$n;pm&8yd=VS5` zq{K#Z)A}`R(E*Dvqd0I**@MCdn4*%~8IDr5=yR$(g)Lfej)gSBHAL zQIO57P$<~ysKV6Q3xYHN0p?a^A+S1YQ=8$Jcne$o>H4HMXFfp71^I>)YgY%>_Rgqk z?^Y>WdcmTe(A6;j`Y){<7;NVCfNH%Wty|6JE&Xi)9Lft?YOQ*B)y{%_Nw8ax59EUg zz8a1YWW;-Uvo|=>h1=|yaVmSI!|?>BF^$wui#Q+DGmg&iKY>ZD^!FN1vK|~eS-+q; z1YE)g&UC@MjWg!A6UFOemYGdzhhC&tHj%Pgs`Uu^qvZo=OM5KFhU6MKgSJX*L24#G z=}4Oz;S9c99qpn?Efu`LoHK$8DNbfD%tFQmBiqI;-V;-Q+JchMH34Id+TweKU363I zm=%NUd!)--3cwh5@x^{FWRi@gTR8*MDY?$LIODHA>$ey`UAcSd+%fz%l4eL4xT_p) zy=>FoS)BhimZqSF2WY4IsW!2p2Q0XvC1nWmS~7r#uY(=MH8%7-QtgM362*Wi6APFb z!2T_X$eOUQY^nS$o~RC(&FL8F4PEyU4#_h7E5< zuTHx#fq`H$qiS%^iEnNpQh{A=ZxBHg*^U;hGk{ZIDB-vgP%Q;tGHbRWFP+VWbKr<-CPyjX=LZ+YhYNM8lKbxTcfV6d}VDY{K^-gBhxN8j-%BzRHZy}D>VP}iea%EQrmt7(|ROceC%W-LZ^ zx33(7LqeobL-va?wLaYdR~bvN2#?Lxx5L7z1$=1FnN><&$Vb0dYT|fw)ug=Or}XIs zFeH+MuDr;!RU@L*&tTKpbAJ>$`W)&^*&nJQ5E|Ubp}^NVM$7OGG%r$cr36bpf9OaT zvQZ)G5+Oq;B+0_zZ*CoiXSS>I>=GVs*lXv3imS{m*M-yE?5{TRCF623+3enZvP%Io`B;&q?fi z>!?B|eDPWO^YJZ=mCxTzmar;hdK{HcaXqZaWd@P_GfWv8!%uut+L|=Taa$w#!@k+~ z9FUmLZuteKZq7ZuqX7m*NIHzr6?}w3A8pO7dXH<+Yfi&QM&xh2eafp`|6p;l387#~ zp~+g4;Ui=c0f|dq86D=9V7ggPM{LG!TJ#?9_!A@%nJUz5gkNDGD=(mN((}N4!E1Fg zs@xg-B9t^+qtr+%ZaT^B+S&p}{2nq{POl<>r=%bE!Oz3T);Slw9uRYP`XJx@U{Z}&a0$g3#TeBWZ$xP2mW}nTN!dII zc=Ry5eZ!z2r$-SS}M}bsXjt{A*P|$RNY8XwYbHiR_@9xR(1!>oZUCEsI47dIf5(l!T)0()xoXbPobFYDLjO3)MS~t!SQ_;MA{op5bq)z40}x z4O-}_)B8R!Sm%QQ%|4RT{M^Fx%*un5R~VOHj@NCEn-!x26!1MgmAus95ws`0D9QAp zvY@63J2MSFPe=X{`?O^#*=(G*-nlIu!-T`67%_F3!4j2g_a<)HnX1;V(%5iQ(SX_j z_941)irJjuGnS)V-DF5tgqiF~)I(yv zokgcQp9shNaL+gx6-?6QyDOqM<@UJQegL7kyNxst`K_E{nmgG-u--e3Dy2ahzanCf zrF0DmT-6U=rL+Sp4>2z5QhiP9W0;HJ=FrMNEdGPXa$}HnZ}c5@5W5UZR$A|0+`Co7 z+vb(~_byiD)X%_XS+F4B9kNb><5;52Ijz*iezq!mU{3CX+o6`z$>>6tng-Monm*U} z9h0{jD;QqOEdPtWc$ko9Q}}cf2pZ)&!vU=9v znV;?b*hBYXHL%$ae)z^k%NobC>tS*Irde8{iVa4E17uzsgRIv=hgrM$7(5J<^_kv> zYCgcquw-b98s|aQ3d)A=ESU^vA2~DFd_cc~S!IDq9v9j*FdaF~l4@Cez<(R9H%@KR zTV<<(`}YE|ndJU~$7Q02ttL9G$3%UcV{7Zb@c!6Z)#<@tee z*T|Z=4oNFJLZYGoBWkg^9$jB9?%K$zEv88<30ds@$)w3{+kh#}dExPDh0*nzVyYl8 z0_XAW4O1K9uZKeB;&6gW+d4Cyb;~v89gi$hP&bLw-dw9iqi9Pcvvv=;ZlJ8(c^L9> z1g7Q|I7Q)ZAU$gQyKl9=-d%=IokbZ(mTAnc<@$xE0KcL$w=gKr?_ulQEb#51bT~fv z9uH2bC|tpe4b4CgQX}9e)3_%8A*GozZ*J)$sgg~C8NcwOQT{oJaQHoT& z!I(TZA9WjECsQ>~@?Uv7U>h~sUe&p{(!+&|VYp!z_gAz8-@y%BEp^BtO5lh2LB@yK zKJa^GN1=z{;89dMjqy{WvV9WK)z_=Yf=+WjcEIYjvH(3qddSd>hWtc9%hYug{6kS* zV2OZenFxeiw)(D0rt&m>cN#Sl-p@K3dM{=SFvoMDQ1m3_Qx=L{?X9s(JFig-5TEbe zK^9B4FL>le!fU{e0&@Uz&Yc@}K*6PsfDU?u2RU5Tu}EOA48Cmoqi3!heb%;)JHOhkzNA#C zHoUyqcO5-P1#KW}ra{fLXP)^$OxMwx@cT5p5Qz*U?M{x2rpTc>{w@sYwUovHLh&<3 zK38alu3;;yThrBu4Uwywes&!K!b9o4-9qc%Ca{G?tk|4A-%dxi+;+1CLxkzb!J3OTde?WN>1QIfh{ z;&>>_Fhro!U}zk;`|TAeDC-6XrV#-+Nh{PeyUN=F?+b|)FJ(}WI%v5h=L_c$qT2$r zuqL@I_Iu%aMG%(@=rt0_&5vPcqdZ@SjV*`qpgLJdNeT*gO^gqGmiCysZq6J=(#|rl z3-KSMJJD`BOX;EOg)ID0ByM<5;Q%>6#=pTML8m29JLpXGIIPd@1|QCTjXF_l5UYi$ zS$jk-$$XUWh+8AHmz5>bSyuz{_6Wb=ss>>c%}Kz5`AKRObvvM*7i+LyKoW+rqiSKg zeX93i4@71o7xG|28P(zDeYqq2lSk696q-QX~G+q9Mc% z?i?4GIP*fteWPyDM3u4~KIqr@PA^%>=Qn?o!<$RiOnpq+W|`>e8$__T0AM>SL}m_7 z0cANS#>L0E)SBzSTs%OPD_uRTRY$CEIhiP?+|8$X?D~8ZA`LfX)0ppQcB2Le$LR#q z<22R7AELZ?NTvLsaA#=ZuM%FwPti)-rVcO5t3DqON(w!(lje3hcQ%-|j-_}q#yIaT z(8Ru)lWd%`fUwKfJ`PmSbzDt2JQV+s)bs>jx(qhqgkuMINb)-zgDw2?Tc?~RyO)GR zP1>qt$m}Iu+3SU^Yo|WG%a(kJEpb8XQZwpNTJSv_fZ%N(wh^Luv_7#o(PU+Hg!5vy zM6Ow6>6@|(DbG??G2q3-Hca;*f2qM8&$PrP?TWBgMTbha?0S!p(wuJ9-b*<4_09Rw z9&f$1?@Nn@+6})sRdZ%A#RY^7yr|BI=sviT#bPb$zPK(+S}z`*6rXB!X2i!Qbtw>= zz)-IS%!xM`K!JT=fd>La%EbHuzs3LL4T-!XRXrK%+IUpfg<3Zg<4aVX2o8o$Wp^`I z0EP0iw;CBHAxI0{QgH@gf8u9ZI8QJ>?_NhRDqWpP@xsn6z2FQ{x`R9&cg2p}-sJgJ zfM{<5`jw*2cG;J|8J$v=3$)0s4frB`Bj{RB;MvwZBOjLZ1@Sj6s(82{YG32x7y!q+ zR!kJc?a1D{&X#A#AJ|Q;a?c*w1Yxz?Y%b$%iT7c&-bE|DckpBLejx+?8INvefV!pP zLE>uji`vY8V~xA%PsHL+c>9DP%FdHjX7NLzWi~;Foh**>78p>}4j*Ol;iIfp|$g2LJ1DrHQyFq45GNR+=Y9nMCW?3kxVJ{IZ~0Qmxr z!?uB}#>g=@EQ#u~ux_yA=3SH$tDPp`CBX)@SEu#McDD1~;zua>1QgS04yO2{kKQLz z1J6!+sRHaC-tk(Ch<>d&*7C^Gm(q?OfVyeq1RO*N`a<_KM<1oa4|-6&_747F3i-7z zZ0(+N$9JVDJ)`zIcjm!^d3U)y*7A}~ab_7bBwo$$7%aK(4^<7N;~Qmz?wmU7t@R$_ zJ%B{?jR%;$f_d4hb!@8i=tOGB>-F^yB?o%IP($su%ctAxpf$MQ(2CHZEC(f883c>B zNxcC2AFDkm3*PoL5`XhO34p-2P9STkXiO_XtLMJ1NEF!X4K~=_HeX6sMVs;r@H-1s zq8C&W7llss;%em~B6D$i3Tt>IPJ5%FGX@W<3-FxoFf$F1KqR6o2q!h0C@Uap_4%zd=NA?l4Zt1D%S(b$rc$tvUSvDqMkDnOw!2xfDG1XR=zDdc)AYH)Es z6kJJe9OC9`HxFE+6HALm6}4L2;cIYaiGCyOSO!VjyNwQP9h0EZ7`|c0$x>3QjHQMl z8sC;BC~T|JDSt43$y3uE3vK0`dBMo=^=hcWNT9Rd*(w~bPnw`Sn{cBanisS5ST&qz z#AWyH@wUPvc&#pfkFV^0I!}s=efyldKhkc6mTS*Sr=qkZ;oIA0vb=9?D6^f55v1P* zHoKobpZAR)44c(j@NYT!}q?PTespVIO8%n z7j{!AE-dW;f-`N81`LfgFf^YuR)V8d0YnTz^fp+&U`RLNB{pnZuqz#J91iqpCv^xh zlXRIIgdpW=teeqW#NERrSc{J0kvA81?_&pP#LcIiNe|$KTo}VF=zIDm#?z`Ayw6Qy z^OZ$yZ@A}zi24neS~i6zsR-nn3&SVl$ z5z;9DQ_jw%TvpVeS(0P`M7|P0Wcl}s%nm8980Un>yKTo+3=27zjgpiEE==H;(0iXI zUQlk#T#2kMPN_~8C^IJkuot^kY@7#&gZcqbEVAbzBhw4I+iz|goWDVT5 zPA#d+W}jKREe5jm>kfh!++M{B=aUyXiJxuPK%K-sl@vIqq$-p!w(uA-2NpuhprG4P zrVKPxuW%-|4)s%Q?nzpU=zYJu?Q$ag2r))IT9~&KmY16f0xO)953a0w@9=haaeFt) zgAa?8y=CHSEY9r#`3SzMRWb0(4m%Qb0O-ZDgq zeLiC@Aor{RQT2fJn*_-YN5Xx&s;1*h*Q)BHpCCrdNM3uHdJb&c&STnOdgq>!&tTjt zvzviS9lnjHEl+%1yGXhGT=>k&!IFMB?JzXBrPn^Up?UY(3S{fIMT3s67UW=pcRF!| z81Z@&p7lt({YPpOeM$Dy?Mto73P6WuSkN+cHD!x_UKZg`a>$ z)CDxksZ-?s@ba6Q7_*YPc;T4($luIuO8!s>JBTIUn-b^{Ch#+W9GYLg3C%it4s5=@ zroAGAwG&Fb>B`!Zq&4nx;V2YfeSo^HH#`&&NAHFFM`i}ENCoeR8x~m#)*4(ho^VA{ znx(Pzo3|kNo~!VbN3sZcHg4d^vvV)<@m4)q1^l|k+!G)bqP!kf-ZUu zev1R&SpD=U$a`^rqM%6esmqCLAb9fdARdK%zCO7VO3;AA#MN^bfL}aKV?otp`i$Ch#)L>-*&8 z+o6GQBbq(iXQ(Xh@zZy}F|b?Cj1AHVpHkB@hXN_ARRF%NGZ?i&er5=lS;w}}1i4SP zD>8UZp+E`bZ$OtwMvPV(XwUn&3!&^L_BDB5A8dp|h7dF^a9pQvkuoKGON);g)Ax=5 zwt&!IXh{}nM>Xz_eXmCRAi-_Gp1E1a#}2*Y1^Xu0?YCQNonC)=kbH+f{+x})^NZGS zB9N9?uWxwKmBGiJnyZQcDk37#cq~N^%L|!zupZn$a>s=tQBpewWbS5!OXlDYqn^WLgvubSlt&?UqcVOTn%lo zICQ?=0h{H}56(M}*WQ3Qv&tU8t8wpgPV2ijB73hYd482XHhh;gD=@Se;%Fy_(zkU4 zC+My^q=Yb3wRJy!HLN^#T#ER<;xe^ln^iwBx9jXvsEvV9ekIa+{Ls z^m@7^5&ZUX3;Ic_Y*@O6dcrPS73!8ENx1u#rq=7(hJif9R+di%ER3WmFVKa7*Fvwqk?XV)09*Zzj1a;nYV1 zp6`}BxJvO8@^3wug~kb$8wA4mEVuz8ULCK^WAf>MKbZ3IyF=d#LV4Y(ny^hGo@W7x zydKE0R5?3!(Yrt^5%VZ;z{?6;l=LwMwOLXVOwWTVld}0j~L2{OL3ECpj$firU!E8od$}V&baoYz1NksSvzhDxCt#9)aZ$%862J zXe(;Jxu*;(lZgeLp}CJVS!59loAr%ZbaSH@xDM=!bU=*C&v>r*v(DPX`Rbu~y+~T& zRb0s%Cup=0%*ifq%>|bAF_k7Uv{y~Hx$MfMwLlrM5e~AUu9t}}{1}9sK@j!5>ft$k z-K`IHVY$F#YvgFbH0hhY7uwVaBFya3x~u1UOl+%*QP((?mBxm1mcNCC1^w(!-{&?a zLCk}jG=0HQId$CV9a+BZkjIriqju3rQ)J!#xYf!i@KL?IuHcbDV>UiXKq~BP9`Rhu zHuFLH-}jri$pzh1;&n~!8$&f8rzKZaZ-vO#WU?_Z!4eW!RZTiH5{zHA2Xdax<|%Rsr_Y28{K_r?>6 zCuj8|m!5dbIX3x(dKdUFflFuG9_6@B-;~wgW*sTx4S@)V6YW(AgbFv)ae%82R6^ev zhJXn-Wh^jljMlAuHoh?zhAzjSt9fgy)=Y{h2kK&FEdVT1|6;)_cx_^EFU>^tI-retXUU$pE~rr68I=64giGw=B6t z1ded~WXF7xTdcZpBu!;M+y>e4jix}@>@5Lfe7W>HC}Z`qdKy(w_tL7z+1iH9)%}+7 z$dPSut|U^a&ckDUt!=JVLCbhw=FF>61D3*!=dscxz3$WdtAo1vbjlXS5qQeQTm=^G zVZH!_mnCPK`k?uDjd8jJ(Go-9Vl**sFc?w;9Ai^65UVW<*A%)+ejlCDpOafH(whL)k09+0YlpsS7=tew|AyFUWx zz1D=jsERZEK@za?-7rgs`nPD^JsIYJ6ZSwyPx|V#gg-Jkzs=hVW7G|j*V4L$)0{3E z`8}Kb61YcCya+?Vxk(VXY+C4c3FDT&cs}b)d(tKLzU@}f`m8sL#BIq2a0-lk8fLQx z@Dd5sruDiXALE);?*={jIQR}$AfvLC+_45OL|LroA!-mNIR}RnxqyXEl}l8=OL2O= z5`|GF1!j@Uf#wp?zKM&w{8cz%6k2GkUgaqLysZhyp?AI(lWaC`EF&J&dT4x$GYX%u zn!~Egvk@D&WoxISD|a#*1V-APgNbVqg3e+H!NBwJ^%?-#2m4yyeCyKpCxgJkB}W{^ z&)|4pd!1f5^58ACN>k`=G@NyfL23E*QFyD)B-G%(ii3bC2K%{5WTw<{AIkg9JMDo$ z+*FJZoF(yYbUFb#Yz9|5%Rp~ohlmyjVjQ>u<* z*2a1)7+~tiz_FTl1~&Xel`i!r!GAF7yM>;Yg6E^~>9$js$~j$TAhLndRc0;&DFXDF1jvYCDK;lw1`53uUVW%FlsT5>x?nO0d}9J&Y0Gb?h)zkM$bvP8 zDLfkN@?DG$vxCnlfcgN|l4$*+*gc8Sf^$5DJ@a>4BgVCC`Qw_$w(t6oG-oWUDy-0&&;^2Y+7y*{DdXdqCM3X zDm5#m+#~pG@Y2MEw(n@a9_e?v%@ccgrW8u#BZst!7zNWU-aA+^4N4S&9`bemEJh1< zO(*lk(~;{2$wIJ`QNEeMu4gp}D!nfjsE8#p)L0b45$kjt>H;Q22J_A6x(bhr;|mY6 zVj1_*=o6rqVdrspJkZvod-<4x&yVBB`I|FYX5cDZDawief2iqzoH zO3iRRgO{Sw%5B6Jwp{qVCB5p~y9Weqzfhp=b+BHgW)U%hoC_u_%gALi<_3EDGRiEs zj`1*@pHBfy^^sq|!9XULR@0o^zWeMOr)iSL+6FH+27=I>j;J@AWC$9Yym_8gZEYN0 zf7jW@$*Kflh)__Ix94(K%+y+r;vjr$3iq)5B2a?Ekc8*XC<+611d@irT}#hk0-wu< zh``OlXLB=W(TWrin|V%}=7vPhNXDtrt^{X|Y?V~(-#768&4&Wf3m+0SVrORkEcSG- zmSm*gQ2=+l&fN4s_dnE!!7P^;ngCLE=bBW&qb$`%$DWmUq}@7-j#p|fhV}!;(8s}h zNlN1E%r&!uf+p+ar6IV}=kLqW!jSu~j9#qD04+v0iLCW*69fS;^4owJlHrKA&#;$U zgnrB2+t+2%4KVBdM&41d&{Aa2U$-W=6cr!rfe27H_fjF7P2ck1R1`wJ{sBB=V3!iEP(;mX^Vv zG(|nRl_};}KUB#9Vow>RV$q&&mEEwCGS{oR8X@FOID9@LdC$rrU17ak!b-bFtq&?3 zvnDwNp>H2h_|}|I=-k3*^aVDExgkR%QOYtvMoDPAD;8%};jp$+6#{{e&cv#n{}Ia- zLO|FffJjiK%($1GpTUggikbbX`!POiKtLC~W|v!DN)U^^JrL6S!_!<>_ z^|EoaF^c8!xl1{H;Zc`lG2fy$3|#Q`Lnwi9|045`Z&5Mm6IJhrtobz0d3I)pBu?m=|g0f-B-K&O|&3+Yq$;rp)S(}vuG~n8{-V_T!h%+ zfGiYLcS>mhFL&4C6PM3TGhSvp9v;X=Au zMjr9`+a0@{%~5ktTIIZj{XPP>ZPq+%(!nOSO1m4>ZIetpRQx?;df6tN6nP+=S-p@I zF$&v_t{0HLFu2M?864Iz9Z21ALctT-$l}62J67Pv&;@}Xt7^#-WIHu3Gphr8C~D_Q z8h7&9Rtj#Lwol2T%Idph(+MNzSWrta4sexcWb?9&cY1$8GtD|u?HBB;YO?q77UGtq z+swasc2#nBSl;tHn=KdFklu+5UOFRwa8OW?$=d&P^yoAl+O$Gnqi%tIu-pw7$XYx} zaV%41ZkyK>Pq#0_M768Lv{<2U=f$4srh1{n1C!mIv&Ad3d}qfU z`;gond5^g!y-`Jbq;9zONC}M#p}X<=3E~!HKA0jZ0GALgTqEQ}xvx!VDIH|e@p|_n zE+1SXjkRNo4OQ@TX;dA*FJ&jY?vkXDtK?YFxln>=@?EUeaab^{U<@)VgZTr|OOMTx z3zSy!yfMP?aDxv5R1EE|m5|!TAakhgLch=dj-%hX^P|%Y;57sNBNf>C1fK z(2%c8V;tk=3_>)MFjdqyIm)o%I&JmcuEDIQkaw#U0$s0}5FqiVX-9QR7k5>q=9bLK^qNG-l^EOuPU z(1CG&4)s1!>-y-FDJM2I#+<8NQexV0Q%-5Rwe$`lb?gEfH*Zr=tW(EWXJ%BUQTA>ntgy=v=_ z6yu<9F7tq#10nau8QPiu1eZxmB1epx%K-2fkhxz}J1kiqRQKl%IUY5Jaa)JqCgm0o z?*N|%?*J4O!>>*yhBC-qivj$hyc|-ZZ@>F-E3S?$VNRvp)y}|pEhWj`Okd9|72qP} z-*ySfO20_lZq)8J|kg}cUk8x;Bs$HJzJ=}%n2 z@XWKe=DCDzAc>`HiM%nGq0(Y7!(E@>r3t1#%1aTkGCm#RMoKP6aL?G#2Y7H)>j^_ zf=17UoM|WL*z4p9NjpO^_DWa!x4GHk{JnbNO_Phl1LYS6G+k8~;Im=0c$@(1c?dkY zVo2d%lANf!Pb3hG1tq<;oQ!M-z*%sF3CO|GvE&5=;e%KGhC-20e?VF(T(I4ra~6Wp z{FwIwEtY;M5K_Xur5|QZ-73D#<%OMgLX#XaA2)nYD)vyukc?Zo={;b8p)*0wXyLqs zm6HhTCzbJAQPz}n?0fs@b#I`P;S5?{+F|0>Q3>zn+=+^jD$bkTZ@sX1&KPylBS@NE zc?p`?@a1!EKB>bVv)*JM-$`-F*`c6;YyyolxF3XrnN#x3d21G@5&ukg*+Ik2g8Oc^X3 zG-p-(>p#|J_lz@wMQ&8)6B7hJ4ke)v6?*79 zi=?yhcpj*odp&2D<`Ag(mtyl>>#C5?jds;yFH2Y}@y4y4?z;iKSAGnz z-&FFzS20yNpG;coqSnf9z0P6{-z@35<#2SvuyoT>&J|qMf+Fmh< z+*M9Rv|`%;bd)-i77o?{{U8Ayy&64k77e}N`YjOZNxLXdukm{2-CO{wbS~V( z#RfwMnN?@4G3)Dj?jv<`CCd*bWk+)y>_tu_nx`YT#Q|?g%Q)WW0{%k2>)yo%;VC&$ zC7!VL+U1H}I4_*GwmPk7vPiLdmBsZJ^d--d1Y<@A7=MUR6G>(g*Xj81VZ!N^Wk&E= zbt?sVM0Ak978*6T>il8Rwqoe4x59m)8(AO0dQPMR{Sr`pRC4T&r?d*tp_jJ3QgN6! z13Q&f#XutooK3(!Q^#i{JiW~cIhTm7r=k;aftqn2Txy&JKR*-bD+~_j0P6 zQ3p+Q=Bf-y83bt4R%uScTdOihJcG<-zUL&0b(!&KUrwCVvEin)3GD(gCq?g*Ps6I&m%;>#De_skEo`I(f&z!6ow+ zhY<|Sk|CuY5*yPhVOcn%w5MH5CIE!dCo8=LJD}7z7~!ob?s6bcfOL;?8^b5o6TxI3 z$#Toff!=1j4L_m-vp)?_i3}8+tC@5r&2)O9JUeC5-?g9Y3(S+XTFpgbUT9FHe%Zg z$F02Sb$Q0$HOJtc{?b7K>xeg@#)_n}fzTjytSG*3YusrcgxkY16#{OrWuhS9720_F zqg`38C;f_0Y6p+QR7Wt|gGK0%Z1EjKv*naWmJRv~b`C9LJb$(@c&;TNF$`5S@()1P zY;vyx5yx)51%Dt>4)%@0!Lw>2KyJCd_c+}5m@Ap|)S|GdNgu3~V71;PsZ~U#d>EDu zA)LNuDdS1+vJY=R3`%5C!L9nPvo_+D6_&iEWNJ8oD0t(2twD#gUceZyT-K3f#lc4M zk-fKSAEX*Z%6_%I;2U9UHV_n0Mf7p%(u&>>LU>0*cWQIWd@xA}289#;-O3gCu=_Pw z_gvlz$~f6F-$Gf8z4LqN%vCQF3p}0$5F&`4+1M)19Qws&HtKg_fhGFCIxe;{aTK?F z1U=AxJD(*2AEAOQ1>nk|f2O7ITyoJ%FOUJ_(8xcBbHgYr1_C#(dYx$m$BCT9Ugb{N zlVyJ9Ti^^fRsQo3IWCX0?&)jR)>$ucAzz@YY0)mSByA5lyEF5W$C{x9^Z)X&dpB?? z=aw7Cj!|GAt(3`-+mYLm7?Yeq3;%+H&)~$?T<7iVvsvk4@7x567tg0w1udVC2i;)S zHxRZBVCA>o=rgJ3?*z_`Sf})d?Y4?c8X-0P8E+t_<-O<0q0W8;$i;FfOTE3gb=y@= z6D=?R4ZgpPWz(9p#Ub6ivFe58#r`1ERVykP4)0F|t!;XX&DPF4EKln|8FSEnobD&u zsfRp8%Lg>Vb}Tn=1BX>AkOZ7*f8MlabD4pMO@4TF&DVg(Xk)Ks_mRJ6iz&os@Qlq0 zk+k?igO&Njlw=8XoHyWcj`?O3^~WY9QF2S77GHexA(r8h+LwW%rY;9-BB)v$qe7U0 zL0b;267EmplSBJi){dMx13FDH^6{H&yLx92$Dd0>OjXCF|H{%B)?^~7&jJHf=+oec zc)E#&lUJhE{;mi_Zz^@1F%J8{vbaAgEuKwuS;F8zM1e|Awza?ysx*Fp?ixL5GBgnN z_Htv0+pQCn<~C&rNQhUw=432)XxSNeD36OBd)7KvpxQl1tH2RFk47JO^)Xk4h2#)} z;1qy$P%=nHhk!v}zF;?ZFI!9nN@I`V@0%^ilw0-*1)plQOCBPw*S-s2vVfu`TQ=CV0$2Eg_)9adOsjp>o(mhZIaqf5`YYz6ww zZ<-Xh3ZxhExN`;2aNZF{n+-dTm%Z&K{AWb=Up9?~c-EC)_`H1CR#A}nYd>fUy>WXP zF<;$nx&;@ifLLVQ%&Gwlusrr+V|=lPE&|r2^OvhxY(47=e?6K?FfENzpT|h+cCb6} zaO#1h9&Lp>|1H?gtl7PwoN2|<$W$U1&Zzw#bLVy>$&PDFl|T?AKye5@^cSJc8Kpy~ z*|qy|_RQ?=s>}!ySj(L-FkQ^5iCUf{#Z{-9wD%6gnPbZ&NdIu7Kk!r7c9Usw$>neD zlX$d+Fg;Xc3>#}g9zxp&up?LqZl>-4yK&?adwr>SR(4R3D}*1SoX2T;u5*kH9)m*` z6FVtBpSI;|kM+0q+pF-5WL62mW9_1?kT1!=4ojtNGgn71O*x&o3TgM-gi=j%p~>w$ znyc(?42p;?QVTcswr|PFBVQsZbXFyzuU~}1ZZD>8V1zU7Ihr9azD|v(R$?E)>8l-m zX?;bsyC?T-Mh*~XvzT`z3yFCJJdzT&YPzaupB2!kE-=DTkgFIKf>Ciy@Ukw3bF4$4 zJ%tN1wKP;{9L!Q0>`@qDl)Ltth2M6Ua=@rvBv6x35Rtb194hTT0G^d|fThS~DytZn zXKRx=KxCa@q%_CVD0dDAq;0{{aNmVhz~4JG&f<}|GH$=z9w{(YV+k|Oh_+{G&MWAMHK3Zw<#&3$>FZM_PrBi>}`B!lN2uFJx({n<9;xrSh5&#q^G`X zE%yoQ;J*4M=7!b#fGsfM1*GOc^MtI;3!YM-%*#(|Z~$$rpNp1x_{QSR>f?^?LLwA? zD+fJBmx-lgNQKLZgzOzmTip*0v-xw5e6z^}9$6o!Bjwyz9adm)r{3DIh*+6T#oTl^ zNj;&fPTGec+=nu=n=$F_QrhCse%B`0pu0_Q;;T+zsxgA0*=r2_z)yjTw7jja8wUf* zTd*0YTOkYNt#ZuY<6c8V=Fl%M*W>4OPNFWH-B!w}t1Eefh-DUh`%y>LMb)`kU`HHp z>iJe3WQni*2L1NHmfQsb8?pOExonlz#K^W%$3*~N8deVegGIS<5YL2<&o^aUZc89$ zlvT@)#|SMzGDT1vob=ZjLg@I3;ci2g)yeU{_E-vHBa+n?zLaK=F(ho}%nlsq(-X@C zuOv>br=qdfKE~DE-d2mvv0;s&JA^TT5i+Fa)r>lm;hrNDNMaPx4y1Z3QQuXDm}PdZ z&-;V~%j;1UGW=exqfk|vsZ%b-$^y8?yosKWb&osiZLEbvjW z#UXmG9B+_%fmdndg#`bp@62%t#bHMz1a{L#Dda-v>#zaw{%|0N zfZEQP0sVX;-vQNwf4IUcLKoO3Q^(4E?B;84)kcxsxIRHxrXN7<4X?RJ>y~!)U`0A~ z6&wr!VTVyEf=yTj&dW2V;%ALS>9K=`^JDGs~ZlmUTMR94-izD04l5PZu8GBd5C1d)7={p1X)mE1GwwZvy@^ro~u zg+=Q=jGrtzO32ZW7-1odNl!KTB+YR)?ZtuR0f_QiDPi{d0dj%Ij93?tOn)qoaTkHL zR@M+PsdZgwd*luKZiOi%UJbrQ?;8Pgde$As`MY8l-0*g_w$@69Hbq%9XO3tMkR=(p zzR@KBCdI{gCVkFI6}9j-TY}HG^@|I4zdj;e2WCUFu`HHTE6la>a3Il1DWCw7+1arS zL?oqhB|8_Rc`dkVS(#UipFyezGYYxn;m{ezIi}2q7>3hr7=2NMxuh=DlB+nQ6mqMH zeKeULt(p0CYah!agc2R9d6KA=UJT8|=!-^}^~{j0eS$Wabb2dMLRfcWIv*5)zHLs$ zbYn^8>gkL?@2I9zC$BybOGE+}N$&4P$b8}H65eQ62Wi&5+3T!5UL?)60x9-nIobL9 zB@kZaUexCs)vV?BkgCb^rcqEB7L20JecKWI0L8KQ8mjg1nwH+r1k3;S5%2KYl}R5j z57tDBF7Qa*SNpEfTel{`*reYT(G1v}D@LSy7%-O3^-D|bo7ESw=9)>uReS^%(QHUl zj-LYWMNUA4r#b&M1K3o?a`MuXSE*E>5>~)paRS(GENfn`D$SfYjq*w zyabWo#|Jo@6Se>hyE z(x6jx+evgp5wX(iI#Q9D@aNqzWF5 z8=F!4B|QWj`j`bV_~Om&OtC`wNv;5&nBYxLchnEwF3Q zhUh@0x&iNM;h*MZa_LU-DC87nEr&|k%jRkGjAQd@73zjJ0TiA;LZ@!pVYmnpl9*C+ zP2J#Ccv<(hjUW~}Q=)Z&kk6ZV^)U$Pa2}b$t7tXU#B$Cogdef03eoFw4oV$torcp$ zA1I|F?IJdamv54tZcU-sE*q6DbuBnI-_S3M(*D*{_?5NeQRMg+cwnGVW8m2+bcQL+ ztAkWkJ}PtE#@Teg3nHe{{hVWsr1Q9ZYV+uBIP9bGH9Pa+m2Ck{pvvbeJ;E<_bR!3oTwI*Jm*?!arW~rN-EnBJ3g2 z`9`0)pv2LdZ<~U(-|fQU9~CdS-^Aq8D)iC)i1ocMIJpu=!YaAhc>z5hZQgtotC{WhQkga11_WcX>PwZdbRMs3=( zx7)7ZDaVE`>JuSqTO+A;1L$e!;0#t!#T>T~ZkJuK9yPWjhm7iL7}G}p7<=E-n`KVT zn>1dk%u7va5HfoKu39wI&V1W_!14YdaP1B#9YhFjVP}m#qSIG<;$gUrQtB|G8Pst} za}5nXme0U8ZAmg3K&g{c`yelA&xz z3142l2~I;GLQ|MA`8q)?qyg3_*YollKLvm-rA<-2H#*ol0(45cAbTM%mGe+pde7m@ zio21>VL{pYi3y@YsEH4*4i|eoXwC{TBq{YOLLKm!nYf1%3NPfZij?kADE1T}>C|Bv zh2g>d)}OK0eb?p&_pddi!>b&Yim=*XmhU~=RmT-coQxC}yF~IN24<8O)rKt!vXIao z1Jpe14IP8c=nqw|WI4%Rz3^|hGfM}eG3owk&v7P^y;Ju!C@i*norm=A-E{npw2^cc zMx48Oz#mB(9L82;Phi#ryW7|#6iwF~($P5KzWaLCq`=(*P-(`UJtg|(c2)`SBEVA+ zb+Fu==YM0_T7>;NfQTl$umkz%0F)MKZMjn@Wgb(}=mE9jVNVXr5mC#SoC7{6im(l? zq!KDC&Yu@Tf8tfJ$pm5zM+LaW1j^K!<&el-3KK%01MmyC zpSQ`kDAU*C2et)3$pmw0B$)Ru+!h`{#`2^!u0?}dra{2)ebu#QL_sj?g<*ARbt;v!kp zc(7T&N7FC-6edKru>rmBIwTd|^lW5otiZGYWJrW@oHb)U0yWxk5juHNU$@J}!)|{2 zjFnG_44Q>b*MdvOV`+SwY#r98O}D7hn6iu)vDEo`L(WC5u2UiB^~b3NL2F#wfT)}*0sQl`Iy$R;`FRX!Ap|}*QFR0xQtcD17;$K*vFwwr|M_y}?Y8Vi(XV&u8dI}$A4J^|L zyh_t3sv@>LKEcn3C%oFb#GyseTCsu06X+%Ii_)2o?*kw33XML`!X_1JR)ET~?vF9Dh?{M!l}v{kz`Xp8OG zmAYvs`K{)RP7R^nF4!GjuozX!1BlW)FISWB1?KU3Eq>#taJxdlSg|%Nu=g>&ZVo}K zG)ZI#y>@_xQU*H(Hczy&JL6ex5O^CkC*Nlm33jBmH!#O4Aef&jiMcVT;R*Dw82!v6 zL!$h~Phq@$2%y0f%#T%oWFaw{_dEixy`NEwvnNZ;ZBesbZy;pulEX=70ZGs7XC{iA zD%b9;sd5kV{TBwJOUNXOglDMp*2!0L{(+wYYU`JshQ9UyS4JqCJ~{E6yhxCfhzC*I zoMRsZ8C+~TDz*4%ui*s~Ok~2j*>}kfOBhMVVW-zNL zV7BXGKJ&zCfk^m)Fd!#KFzy*Gc&SUug}oPp<$Jm`9K@$!94k}zpxF=3yYBQ9BKD^+ zbj2dI%Q{$SI&dvUIj2*#Y+#dVPQ{_=kGSP-@!m*XtER74P z=M8{XkztcD%+U%Eu=cr&EL%Z)mIbgO z*x=`3QF*KhJcFV+vr|lf;Zi1M&r!F>Snj?SVQe<-;MOc!3*F})_vGh2rJ?g#k;s+VDa5>GJi~n-Fzmf1GV0|>5+0>f0OUOn-FlJ?hNVgDv*vL$ zqG$P>%?@23K#3>tp=%j~Y)XYzR2#igU=Dq;T;EU&Tc_s7C+Vmz5>~A17ETQ4u)^Am z4^U|ny7}8vqEKDWn(3OtbSpqwo>3GUW?vJ4;Bh&ysN@`ikOSZaI=pxB#O(`}VeG7g z16WVb#c#FlMF0n1r4bgQ4Jcq0k{u02{qxjSCHRoLwK4!rZjOH!gqJDst zq*#^4Pp5BAb2=>6g{sxQi_W9p7wK~P9ZcZ@%0n-$w{YIiQ_Whl86BHS0^bVf z5E$xY<0$yA4K!E*YK`}fShUX1@IwlJ!GWV*&}oM2j+u4PENy!a$ijA~s`x94orPzK zLoA1X(h2qU5|&K8;IMnrv3qcugsXd@7p*I+;?SeC_l1fMnj9)flQj-1zmu2xMj_de zB~Kz+I=2KcKZ#1KsIC1azl%NIAF3%?b1g$c8B#*J;=Ry&;cz@8*tO$C3a06Or0(9G z=R)PqcIM;61@&yla!eu+c?l{ZW=T$vrqMo(D^%b>zXtC%0Dctf#_PM28e=+wQ2~b! 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 Y$z!$F*f0Ig|L8sc9~8v%O=ut?0Hx;?8~^|S literal 0 HcmV?d00001 diff --git a/typescript/allergies/.yarnrc.yml b/typescript/allergies/.yarnrc.yml new file mode 100644 index 0000000..23e4a6d --- /dev/null +++ b/typescript/allergies/.yarnrc.yml @@ -0,0 +1,3 @@ +compressionLevel: mixed + +enableGlobalCache: true diff --git a/typescript/allergies/HELP.md b/typescript/allergies/HELP.md new file mode 100644 index 0000000..62c6b6b --- /dev/null +++ b/typescript/allergies/HELP.md @@ -0,0 +1,50 @@ +# Help + +## Running the tests + +Before trying to execute the tests, ensure the assignment folder is set-up correctly by following the installation steps, namely `corepack yarn install` and the Editor SDK setup. + +Execute the tests with: + +```bash +$ corepack yarn test +``` + +## Skipped tests + +In the test suites all tests but the first have been skipped. + +Once you get a test passing, you can enable the next one by changing `xit` to `it`. +Additionally tests may be grouped using `xdescribe`. +Enable the group by changing that to `describe`. +Finally, some exercises may have optional tests `it.skip`. +Remove `.skip` to execute the optional test. + +## Submitting your solution + +You can submit your solution using the `exercism submit allergies.ts` command. +This command will upload your solution to the Exercism website and print the solution page's URL. + +It's possible to submit an incomplete solution which allows you to: + +- See how others have completed the exercise +- Request help from a mentor + +## Need to get help? + +If you'd like help solving the exercise, check the following pages: + +- The [TypeScript track's documentation](https://exercism.org/docs/tracks/typescript) +- The [TypeScript track's programming category on the forum](https://forum.exercism.org/c/programming/typescript) +- [Exercism's programming category on the forum](https://forum.exercism.org/c/programming/5) +- The [Frequently Asked Questions](https://exercism.org/docs/using/faqs) + +Should those resources not suffice, you could submit your (incomplete) solution to request mentoring. + +To get help if you're having trouble, you can use one of the following resources: + +- [TypeScript QuickStart](https://www.typescriptlang.org/docs/handbook/release-notes/overview.html) +- [ECMAScript 2015 Language Specification](https://www.ecma-international.org/wp-content/uploads/ECMA-262_6th_edition_june_2015.pdf) (pdf) +- [Mozilla JavaScript Reference](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference) +- [/r/typescript](https://www.reddit.com/r/typescript) is the TypeScript subreddit. +- [StackOverflow](https://stackoverflow.com/questions/tagged/typescript) can be used to search for your problem and see if it has been answered already. You can also ask and answer questions. \ No newline at end of file diff --git a/typescript/allergies/README.md b/typescript/allergies/README.md new file mode 100644 index 0000000..dfc6843 --- /dev/null +++ b/typescript/allergies/README.md @@ -0,0 +1,47 @@ +# Allergies + +Welcome to Allergies on Exercism's TypeScript Track. +If you need help running the tests or submitting your code, check out `HELP.md`. + +## Instructions + +Given a person's allergy score, determine whether or not they're allergic to a given item, and their full list of allergies. + +An allergy test produces a single numeric score which contains the information about all the allergies the person has (that they were tested for). + +The list of items (and their value) that were tested are: + +- eggs (1) +- peanuts (2) +- shellfish (4) +- strawberries (8) +- tomatoes (16) +- chocolate (32) +- pollen (64) +- cats (128) + +So if Tom is allergic to peanuts and chocolate, he gets a score of 34. + +Now, given just that score of 34, your program should be able to say: + +- Whether Tom is allergic to any one of those allergens listed above. +- All the allergens Tom is allergic to. + +Note: a given score may include allergens **not** listed above (i.e. allergens that score 256, 512, 1024, etc.). +Your program should ignore those components of the score. +For example, if the allergy score is 257, your program should only report the eggs (1) allergy. + +## Source + +### Created by + +- @CRivasGomez + +### Contributed to by + +- @masters3d +- @SleeplessByte + +### Based on + +Exercise by the JumpstartLab team for students at The Turing School of Software and Design. - https://turing.edu \ No newline at end of file diff --git a/typescript/allergies/allergies.test.ts b/typescript/allergies/allergies.test.ts new file mode 100644 index 0000000..23ba8e4 --- /dev/null +++ b/typescript/allergies/allergies.test.ts @@ -0,0 +1,115 @@ +import { describe, it, expect } from '@jest/globals' +import { Allergies } from './allergies.ts' + +describe('allergicTo', () => { + it('no allergies means not allergic', () => { + const allergies = new Allergies(0) + + expect(allergies.allergicTo('peanuts')).toBeFalsy() + expect(allergies.allergicTo('cats')).toBeFalsy() + expect(allergies.allergicTo('strawberries')).toBeFalsy() + }) + + it('is allergic to eggs', () => { + const allergies = new Allergies(1) + + expect(allergies.allergicTo('eggs')).toBeTruthy() + }) + + it('allergic to eggs in addition to other stuff', () => { + const allergies = new Allergies(5) + + expect(allergies.allergicTo('eggs')).toBeTruthy() + expect(allergies.allergicTo('shellfish')).toBeTruthy() + expect(allergies.allergicTo('strawberries')).toBeFalsy() + }) +}) + +describe('list', () => { + it('no allergies at all', () => { + const allergies = new Allergies(0) + const expected: string[] = [] + + expect(allergies.list()).toEqual(expected) + }) + + it('allergic to just eggs', () => { + const allergies = new Allergies(1) + const expected = ['eggs'] + + expect(allergies.list()).toEqual(expected) + }) + + it('allergic to just peanuts', () => { + const allergies = new Allergies(2) + const expected = ['peanuts'] + + expect(allergies.list()).toEqual(expected) + }) + + it('allergic to just strawberries', () => { + const allergies = new Allergies(8) + const expected = ['strawberries'] + + expect(allergies.list()).toEqual(expected) + }) + + it('allergic to eggs and peanuts', () => { + const allergies = new Allergies(3) + const expected = ['eggs', 'peanuts'] + + expect(allergies.list()).toEqual(expected) + }) + + it('allergic to more than eggs but not peanuts', () => { + const allergies = new Allergies(5) + const expected = ['eggs', 'shellfish'] + + expect(allergies.list()).toEqual(expected) + }) + + it('allergic to lots of stuff', () => { + const allergies = new Allergies(248) + const expected = ['strawberries', 'tomatoes', 'chocolate', 'pollen', 'cats'] + + expect(allergies.list()).toEqual(expected) + }) + + it('allergic to everything', () => { + const allergies = new Allergies(255) + const expected = [ + 'eggs', + 'peanuts', + 'shellfish', + 'strawberries', + 'tomatoes', + 'chocolate', + 'pollen', + 'cats', + ] + + expect(allergies.list()).toEqual(expected) + }) + + it('ignore non allergen score parts', () => { + const allergies = new Allergies(509) + const expected = [ + 'eggs', + 'shellfish', + 'strawberries', + 'tomatoes', + 'chocolate', + 'pollen', + 'cats', + ] + + expect(allergies.list()).toEqual(expected) + }) + + it('ignore non allergen score parts, without highest valid score', () => { + const allergies = new Allergies(257) + const expected = ['eggs'] + + expect(allergies.list()).toEqual(expected) + }) +}) diff --git a/typescript/allergies/allergies.ts b/typescript/allergies/allergies.ts new file mode 100644 index 0000000..dc3a3e4 --- /dev/null +++ b/typescript/allergies/allergies.ts @@ -0,0 +1,26 @@ +const allergenMap = { + eggs: 1, + peanuts: 2, + shellfish: 4, + strawberries: 8, + tomatoes: 16, + chocolate: 32, + pollen: 64, + cats: 128, +} as const + +type Allergen = keyof typeof allergenMap + +export class Allergies { + constructor(private _allergenIndex: number) {} + + public list(): Allergen[] { + return Object.entries(allergenMap) + .filter(([_, weight]) => (this._allergenIndex & weight) !== 0) + .map(([allergen]) => allergen as Allergen) + } + + public allergicTo(allergen: Allergen): boolean { + return this.list().includes(allergen) + } +} diff --git a/typescript/allergies/babel.config.cjs b/typescript/allergies/babel.config.cjs new file mode 100644 index 0000000..1645527 --- /dev/null +++ b/typescript/allergies/babel.config.cjs @@ -0,0 +1,5 @@ +module.exports = { + // eslint-disable-next-line @typescript-eslint/no-require-imports + presets: [[require('@exercism/babel-preset-typescript'), { corejs: '3.38' }]], + plugins: [], +} diff --git a/typescript/allergies/eslint.config.mjs b/typescript/allergies/eslint.config.mjs new file mode 100644 index 0000000..1be39c5 --- /dev/null +++ b/typescript/allergies/eslint.config.mjs @@ -0,0 +1,26 @@ +// @ts-check + +import tsEslint from 'typescript-eslint' +import config from '@exercism/eslint-config-typescript' +import maintainersConfig from '@exercism/eslint-config-typescript/maintainers.mjs' + +export default [ + ...tsEslint.config(...config, { + files: ['.meta/proof.ci.ts', '.meta/exemplar.ts', '*.test.ts'], + extends: maintainersConfig, + }), + { + ignores: [ + // # Protected or generated + '.git/**/*', + '.vscode/**/*', + + //# When using npm + 'node_modules/**/*', + + // # Configuration files + 'babel.config.cjs', + 'jest.config.cjs', + ], + }, +] diff --git a/typescript/allergies/jest.config.cjs b/typescript/allergies/jest.config.cjs new file mode 100644 index 0000000..0aba1a5 --- /dev/null +++ b/typescript/allergies/jest.config.cjs @@ -0,0 +1,22 @@ +module.exports = { + verbose: true, + projects: [''], + testMatch: [ + '**/__tests__/**/*.[jt]s?(x)', + '**/test/**/*.[jt]s?(x)', + '**/?(*.)+(spec|test).[jt]s?(x)', + ], + testPathIgnorePatterns: [ + '/(?:production_)?node_modules/', + '.d.ts$', + '/test/fixtures', + '/test/helpers', + '__mocks__', + ], + transform: { + '^.+\\.[jt]sx?$': 'babel-jest', + }, + moduleNameMapper: { + '^(\\.\\/.+)\\.js$': '$1', + }, +} diff --git a/typescript/allergies/package.json b/typescript/allergies/package.json new file mode 100644 index 0000000..170c925 --- /dev/null +++ b/typescript/allergies/package.json @@ -0,0 +1,38 @@ +{ + "name": "@exercism/typescript-allergies", + "version": "1.0.0", + "description": "Exercism exercises in Typescript.", + "private": true, + "repository": { + "type": "git", + "url": "https://github.com/exercism/typescript" + }, + "type": "module", + "engines": { + "node": "^18.16.0 || >=20.0.0" + }, + "devDependencies": { + "@exercism/babel-preset-typescript": "^0.6.0", + "@exercism/eslint-config-typescript": "^0.8.0", + "@jest/globals": "^29.7.0", + "@types/node": "~22.7.6", + "babel-jest": "^29.7.0", + "core-js": "~3.38.1", + "eslint": "^9.12.0", + "expect": "^29.7.0", + "jest": "^29.7.0", + "prettier": "^3.3.3", + "tstyche": "^2.1.1", + "typescript": "~5.6.3", + "typescript-eslint": "^8.10.0" + }, + "scripts": { + "test": "corepack yarn node test-runner.mjs", + "test:types": "corepack yarn tstyche", + "test:implementation": "corepack yarn jest --no-cache --passWithNoTests", + "lint": "corepack yarn lint:types && corepack yarn lint:ci", + "lint:types": "corepack yarn tsc --noEmit -p .", + "lint:ci": "corepack yarn eslint . --ext .tsx,.ts" + }, + "packageManager": "yarn@4.5.1" +} diff --git a/typescript/allergies/test-runner.mjs b/typescript/allergies/test-runner.mjs new file mode 100644 index 0000000..44b205f --- /dev/null +++ b/typescript/allergies/test-runner.mjs @@ -0,0 +1,111 @@ +#!/usr/bin/env node + +/** + * 👋🏽 Hello there reader, + * + * It looks like you are working on this solution using the Exercism CLI and + * not the online editor. That's great! The file you are looking at executes + * the various steps the online test-runner also takes. + * + * @see https://github.com/exercism/typescript-test-runner + * + * TypeScript track exercises generally consist of at least two out of three + * types of tests to run. + * + * 1. tsc, the TypeScript compiler. This tests if the TypeScript code is valid + * 2. tstyche, static analysis tests to see if the types used are expected + * 3. jest, runtime implementation tests to see if the solution is correct + * + * If one of these three fails, this script terminates with -1, -2, or -3 + * respectively. If it succeeds, it terminates with exit code 0. + * + * @note you need corepack (bundled with node LTS) enabled in order for this + * test runner to work as expected. Follow the installation and test + * instructions if you see errors about corepack or pnp. + */ + +import { execSync } from 'node:child_process' +import { existsSync, readFileSync } from 'node:fs' +import { exit } from 'node:process' +import { URL } from 'node:url' + +/** + * Before executing any tests, the test runner attempts to find the + * exercise config.json file which has metadata about which types of tests + * to run for this solution. + */ +const metaDirectory = new URL('./.meta/', import.meta.url) +const exercismDirectory = new URL('./.exercism/', import.meta.url) +const configDirectory = existsSync(metaDirectory) + ? metaDirectory + : existsSync(exercismDirectory) + ? exercismDirectory + : null + +if (configDirectory === null) { + throw new Error( + 'Expected .meta or .exercism directory to exist, but I cannot find it.' + ) +} + +const configFile = new URL('./config.json', configDirectory) +if (!existsSync(configFile)) { + throw new Error('Expected config.json to exist at ' + configFile.toString()) +} + +// Experimental: import config from './config.json' with { type: 'json' } +/** @type {import('./config.json') } */ +const config = JSON.parse(readFileSync(configFile)) + +const jest = !config.custom || config.custom['flag.tests.jest'] +const tstyche = config.custom?.['flag.tests.tstyche'] +console.log( + `[tests] tsc: ✅, tstyche: ${tstyche ? '✅' : '❌'}, jest: ${jest ? '✅' : '❌'}, ` +) + +/** + * 1. tsc: the typescript compiler + */ +try { + console.log('[tests] tsc (compile)') + execSync('corepack yarn lint:types', { + stdio: 'inherit', + cwd: process.cwd(), + }) +} catch { + exit(-1) +} + +/** + * 2. tstyche: type tests + */ +if (tstyche) { + try { + console.log('[tests] tstyche (type tests)') + execSync('corepack yarn test:types', { + stdio: 'inherit', + cwd: process.cwd(), + }) + } catch { + exit(-2) + } +} + +/** + * 3. jest: implementation tests + */ +if (jest) { + try { + console.log('[tests] tstyche (implementation tests)') + execSync('corepack yarn test:implementation', { + stdio: 'inherit', + cwd: process.cwd(), + }) + } catch { + exit(-3) + } +} + +/** + * Done! 🥳 + */ diff --git a/typescript/allergies/tsconfig.json b/typescript/allergies/tsconfig.json new file mode 100644 index 0000000..5746162 --- /dev/null +++ b/typescript/allergies/tsconfig.json @@ -0,0 +1,38 @@ +{ + "display": "Configuration for Exercism TypeScript Exercises", + "compilerOptions": { + // Allows you to use the newest syntax, and have access to console.log + // https://www.typescriptlang.org/tsconfig#lib + "lib": ["ES2020", "dom"], + // Make sure typescript is configured to output ESM + // https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c#how-can-i-make-my-typescript-project-output-esm + "module": "Node16", + // Since this project is using babel, TypeScript may target something very + // high, and babel will make sure it runs on your local Node version. + // https://babeljs.io/docs/en/ + "target": "ES2020", // ESLint doesn't support this yet: "es2022", + + "strict": true, + "esModuleInterop": true, + "skipLibCheck": true, + "forceConsistentCasingInFileNames": true, + + // Because jest-resolve isn't like node resolve, the absolute path must be .ts + "allowImportingTsExtensions": true, + "noEmit": true, + + // Because we'll be using babel: ensure that Babel can safely transpile + // files in the TypeScript project. + // + // https://babeljs.io/docs/en/babel-plugin-transform-typescript/#caveats + "isolatedModules": true + }, + "include": [ + "*.ts", + "*.tsx", + ".meta/*.ts", + ".meta/*.tsx", + "__typetests__/*.tst.ts" + ], + "exclude": ["node_modules"] +} diff --git a/typescript/allergies/yarn.lock b/typescript/allergies/yarn.lock new file mode 100644 index 0000000..f14851e --- /dev/null +++ b/typescript/allergies/yarn.lock @@ -0,0 +1,6625 @@ +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 8 + cacheKey: 10 + +"@ampproject/remapping@npm:^2.2.0": + version: 2.3.0 + resolution: "@ampproject/remapping@npm:2.3.0" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10/f3451525379c68a73eb0a1e65247fbf28c0cccd126d93af21c75fceff77773d43c0d4a2d51978fb131aff25b5f2cb41a9fe48cc296e61ae65e679c4f6918b0ab + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.26.2": + version: 7.26.2 + resolution: "@babel/code-frame@npm:7.26.2" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.25.9" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.0.0" + checksum: 10/db2c2122af79d31ca916755331bb4bac96feb2b334cdaca5097a6b467fdd41963b89b14b6836a14f083de7ff887fc78fa1b3c10b14e743d33e12dbfe5ee3d223 + languageName: node + linkType: hard + +"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.26.8": + version: 7.26.8 + resolution: "@babel/compat-data@npm:7.26.8" + checksum: 10/bdddf577f670e0e12996ef37e134856c8061032edb71a13418c3d4dae8135da28910b7cd6dec6e668ab3a41e42089ef7ee9c54ef52fe0860b54cb420b0d14948 + languageName: node + linkType: hard + +"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.23.9, @babel/core@npm:^7.25.2": + version: 7.26.10 + resolution: "@babel/core@npm:7.26.10" + dependencies: + "@ampproject/remapping": "npm:^2.2.0" + "@babel/code-frame": "npm:^7.26.2" + "@babel/generator": "npm:^7.26.10" + "@babel/helper-compilation-targets": "npm:^7.26.5" + "@babel/helper-module-transforms": "npm:^7.26.0" + "@babel/helpers": "npm:^7.26.10" + "@babel/parser": "npm:^7.26.10" + "@babel/template": "npm:^7.26.9" + "@babel/traverse": "npm:^7.26.10" + "@babel/types": "npm:^7.26.10" + convert-source-map: "npm:^2.0.0" + debug: "npm:^4.1.0" + gensync: "npm:^1.0.0-beta.2" + json5: "npm:^2.2.3" + semver: "npm:^6.3.1" + checksum: 10/68f6707eebd6bb8beed7ceccf5153e35b86c323e40d11d796d75c626ac8f1cc4e1f795584c5ab5f886bc64150c22d5088123d68c069c63f29984c4fc054d1dab + languageName: node + linkType: hard + +"@babel/generator@npm:^7.26.10, @babel/generator@npm:^7.27.0, @babel/generator@npm:^7.7.2": + version: 7.27.0 + resolution: "@babel/generator@npm:7.27.0" + dependencies: + "@babel/parser": "npm:^7.27.0" + "@babel/types": "npm:^7.27.0" + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.25" + jsesc: "npm:^3.0.2" + checksum: 10/5447c402b1d841132534a0a9715e89f4f28b6f2886a23e70aaa442150dba4a1e29e4e2351814f439ee1775294dccdef9ab0a4192b6e6a5ad44e24233b3611da2 + languageName: node + linkType: hard + +"@babel/helper-annotate-as-pure@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-annotate-as-pure@npm:7.25.9" + dependencies: + "@babel/types": "npm:^7.25.9" + checksum: 10/41edda10df1ae106a9b4fe617bf7c6df77db992992afd46192534f5cff29f9e49a303231733782dd65c5f9409714a529f215325569f14282046e9d3b7a1ffb6c + languageName: node + linkType: hard + +"@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.25.9, @babel/helper-compilation-targets@npm:^7.26.5": + version: 7.27.0 + resolution: "@babel/helper-compilation-targets@npm:7.27.0" + dependencies: + "@babel/compat-data": "npm:^7.26.8" + "@babel/helper-validator-option": "npm:^7.25.9" + browserslist: "npm:^4.24.0" + lru-cache: "npm:^5.1.1" + semver: "npm:^6.3.1" + checksum: 10/32224b512e813fc808539b4ca7fca8c224849487c365abcef8cb8b0eea635c65375b81429f82d076e9ec1f3f3b3db1d0d56aac4d482a413f58d5ad608f912155 + languageName: node + linkType: hard + +"@babel/helper-create-class-features-plugin@npm:^7.25.9, @babel/helper-create-class-features-plugin@npm:^7.27.0": + version: 7.27.0 + resolution: "@babel/helper-create-class-features-plugin@npm:7.27.0" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-member-expression-to-functions": "npm:^7.25.9" + "@babel/helper-optimise-call-expression": "npm:^7.25.9" + "@babel/helper-replace-supers": "npm:^7.26.5" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + "@babel/traverse": "npm:^7.27.0" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/5db70126719ad12773a06a7ae50872c597a2a401ac73906ade3f5c1cf91d62ad6ed5fd5397320ec9b0d8bb2c5623aefda35352469abc8e42a5797dd7e9da0675 + languageName: node + linkType: hard + +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.25.9": + version: 7.27.0 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.27.0" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + regexpu-core: "npm:^6.2.0" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/e5734deb62732264211df79f37943d83641f2f8fea72a1e8cf14b358622b88f5e8be3122f706cfa0cf5880000a8382b1fff23519bfd075c8ce17d03c11982e4b + languageName: node + linkType: hard + +"@babel/helper-define-polyfill-provider@npm:^0.6.3, @babel/helper-define-polyfill-provider@npm:^0.6.4": + version: 0.6.4 + resolution: "@babel/helper-define-polyfill-provider@npm:0.6.4" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.22.6" + "@babel/helper-plugin-utils": "npm:^7.22.5" + debug: "npm:^4.1.1" + lodash.debounce: "npm:^4.0.8" + resolve: "npm:^1.14.2" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10/dc2ebdd7bc880fff8cd09a5b0bd208e53d8b7ea9070f4b562dd3135ea6cd68ef80cf4a74f40424569a00c00eabbcdff67b2137a874c4f82f3530246dad267a3b + languageName: node + linkType: hard + +"@babel/helper-member-expression-to-functions@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-member-expression-to-functions@npm:7.25.9" + dependencies: + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10/ef8cc1c1e600b012b312315f843226545a1a89f25d2f474ce2503fd939ca3f8585180f291a3a13efc56cf13eddc1d41a3a040eae9a521838fd59a6d04cc82490 + languageName: node + linkType: hard + +"@babel/helper-module-imports@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-module-imports@npm:7.25.9" + dependencies: + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10/e090be5dee94dda6cd769972231b21ddfae988acd76b703a480ac0c96f3334557d70a965bf41245d6ee43891e7571a8b400ccf2b2be5803351375d0f4e5bcf08 + languageName: node + linkType: hard + +"@babel/helper-module-transforms@npm:^7.25.9, @babel/helper-module-transforms@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/helper-module-transforms@npm:7.26.0" + dependencies: + "@babel/helper-module-imports": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/9841d2a62f61ad52b66a72d08264f23052d533afc4ce07aec2a6202adac0bfe43014c312f94feacb3291f4c5aafe681955610041ece2c276271adce3f570f2f5 + languageName: node + linkType: hard + +"@babel/helper-optimise-call-expression@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-optimise-call-expression@npm:7.25.9" + dependencies: + "@babel/types": "npm:^7.25.9" + checksum: 10/f09d0ad60c0715b9a60c31841b3246b47d67650c512ce85bbe24a3124f1a4d66377df793af393273bc6e1015b0a9c799626c48e53747581c1582b99167cc65dc + languageName: node + linkType: hard + +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.25.9, @babel/helper-plugin-utils@npm:^7.26.5, @babel/helper-plugin-utils@npm:^7.8.0": + version: 7.26.5 + resolution: "@babel/helper-plugin-utils@npm:7.26.5" + checksum: 10/1cc0fd8514da3bb249bed6c27227696ab5e84289749d7258098701cffc0c599b7f61ec40dd332f8613030564b79899d9826813c96f966330bcfc7145a8377857 + languageName: node + linkType: hard + +"@babel/helper-remap-async-to-generator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-remap-async-to-generator@npm:7.25.9" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-wrap-function": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/ea37ad9f8f7bcc27c109963b8ebb9d22bac7a5db2a51de199cb560e251d5593fe721e46aab2ca7d3e7a24b0aa4aff0eaf9c7307af9c2fd3a1d84268579073052 + languageName: node + linkType: hard + +"@babel/helper-replace-supers@npm:^7.25.9, @babel/helper-replace-supers@npm:^7.26.5": + version: 7.26.5 + resolution: "@babel/helper-replace-supers@npm:7.26.5" + dependencies: + "@babel/helper-member-expression-to-functions": "npm:^7.25.9" + "@babel/helper-optimise-call-expression": "npm:^7.25.9" + "@babel/traverse": "npm:^7.26.5" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/cfb911d001a8c3d2675077dbb74ee8d7d5533b22d74f8d775cefabf19c604f6cbc22cfeb94544fe8efa626710d920f04acb22923017e68f46f5fdb1cb08b32ad + languageName: node + linkType: hard + +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.25.9" + dependencies: + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10/fdbb5248932198bc26daa6abf0d2ac42cab9c2dbb75b7e9f40d425c8f28f09620b886d40e7f9e4e08ffc7aaa2cefe6fc2c44be7c20e81f7526634702fb615bdc + languageName: node + linkType: hard + +"@babel/helper-string-parser@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-string-parser@npm:7.25.9" + checksum: 10/c28656c52bd48e8c1d9f3e8e68ecafd09d949c57755b0d353739eb4eae7ba4f7e67e92e4036f1cd43378cc1397a2c943ed7bcaf5949b04ab48607def0258b775 + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-validator-identifier@npm:7.25.9" + checksum: 10/3f9b649be0c2fd457fa1957b694b4e69532a668866b8a0d81eabfa34ba16dbf3107b39e0e7144c55c3c652bf773ec816af8df4a61273a2bb4eb3145ca9cf478e + languageName: node + linkType: hard + +"@babel/helper-validator-option@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-validator-option@npm:7.25.9" + checksum: 10/9491b2755948ebbdd68f87da907283698e663b5af2d2b1b02a2765761974b1120d5d8d49e9175b167f16f72748ffceec8c9cf62acfbee73f4904507b246e2b3d + languageName: node + linkType: hard + +"@babel/helper-wrap-function@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-wrap-function@npm:7.25.9" + dependencies: + "@babel/template": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10/988dcf49159f1c920d6b9486762a93767a6e84b5e593a6342bc235f3e47cc1cb0c048d8fca531a48143e6b7fce1ff12ddbf735cf5f62cb2f07192cf7c27b89cf + languageName: node + linkType: hard + +"@babel/helpers@npm:^7.26.10": + version: 7.27.0 + resolution: "@babel/helpers@npm:7.27.0" + dependencies: + "@babel/template": "npm:^7.27.0" + "@babel/types": "npm:^7.27.0" + checksum: 10/0dd40ba1e5ba4b72d1763bb381384585a56f21a61a19dc1b9a03381fe8e840207fdaa4da645d14dc028ad768087d41aad46347cc6573bd69d82f597f5a12dc6f + languageName: node + linkType: hard + +"@babel/node@npm:^7.25.0": + version: 7.26.0 + resolution: "@babel/node@npm:7.26.0" + dependencies: + "@babel/register": "npm:^7.25.9" + commander: "npm:^6.2.0" + core-js: "npm:^3.30.2" + node-environment-flags: "npm:^1.0.5" + regenerator-runtime: "npm:^0.14.0" + v8flags: "npm:^3.1.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + bin: + babel-node: ./bin/babel-node.js + checksum: 10/cc6db10b944de8116e4d742eeff0cc7a23ec24e869b2ab4e379fef4b384d514aa233154a9fe465687c296c280c43dc8bb8e015f013b8c806fcea8674670d0616 + languageName: node + linkType: hard + +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.26.10, @babel/parser@npm:^7.27.0": + version: 7.27.0 + resolution: "@babel/parser@npm:7.27.0" + dependencies: + "@babel/types": "npm:^7.27.0" + bin: + parser: ./bin/babel-parser.js + checksum: 10/0fee9f05c6db753882ca9d10958301493443da9f6986d7020ebd7a696b35886240016899bc0b47d871aea2abcafd64632343719742e87432c8145e0ec2af2a03 + languageName: node + linkType: hard + +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/3c23ef34e3fd7da3578428cb488180ab6b7b96c9c141438374b6d87fa814d87de099f28098e5fc64726c19193a1da397e4d2351d40b459bcd2489993557e2c74 + languageName: node + linkType: hard + +"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/d3e14ab1cb9cb50246d20cab9539f2fbd1e7ef1ded73980c8ad7c0561b4d5e0b144d362225f0976d47898e04cbd40f2000e208b0913bd788346cf7791b96af91 + languageName: node + linkType: hard + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/a9d1ee3fd100d3eb6799a2f2bbd785296f356c531d75c9369f71541811fa324270258a374db103ce159156d006da2f33370330558d0133e6f7584152c34997ca + languageName: node + linkType: hard + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + "@babel/plugin-transform-optional-chaining": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.13.0 + checksum: 10/5b298b28e156f64de51cdb03a2c5b80c7f978815ef1026f3ae8b9fc48d28bf0a83817d8fbecb61ef8fb94a7201f62cca5103cc6e7b9e8f28e38f766d7905b378 + languageName: node + linkType: hard + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/cb893e5deb9312a0120a399835b6614a016c036714de7123c8edabccc56a09c4455016e083c5c4dd485248546d4e5e55fc0e9132b3c3a9bd16abf534138fe3f2 + languageName: node + linkType: hard + +"@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2": + version: 7.21.0-placeholder-for-preset-env.2 + resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/fab70f399aa869275690ec6c7cedb4ef361d4e8b6f55c3d7b04bfee61d52fb93c87cec2c65d73cddbaca89fb8ef5ec0921fce675c9169d9d51f18305ab34e78a + languageName: node + linkType: hard + +"@babel/plugin-syntax-async-generators@npm:^7.8.4": + version: 7.8.4 + resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/7ed1c1d9b9e5b64ef028ea5e755c0be2d4e5e4e3d6cf7df757b9a8c4cfa4193d268176d0f1f7fbecdda6fe722885c7fda681f480f3741d8a2d26854736f05367 + languageName: node + linkType: hard + +"@babel/plugin-syntax-bigint@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-bigint@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/3a10849d83e47aec50f367a9e56a6b22d662ddce643334b087f9828f4c3dd73bdc5909aaeabe123fed78515767f9ca43498a0e621c438d1cd2802d7fae3c9648 + languageName: node + linkType: hard + +"@babel/plugin-syntax-class-properties@npm:^7.12.13": + version: 7.12.13 + resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.12.13" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/24f34b196d6342f28d4bad303612d7ff566ab0a013ce89e775d98d6f832969462e7235f3e7eaf17678a533d4be0ba45d3ae34ab4e5a9dcbda5d98d49e5efa2fc + languageName: node + linkType: hard + +"@babel/plugin-syntax-class-static-block@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-class-static-block@npm:7.14.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/3e80814b5b6d4fe17826093918680a351c2d34398a914ce6e55d8083d72a9bdde4fbaf6a2dcea0e23a03de26dc2917ae3efd603d27099e2b98380345703bf948 + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-assertions@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.26.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/b58f2306df4a690ca90b763d832ec05202c50af787158ff8b50cdf3354359710bce2e1eb2b5135fcabf284756ac8eadf09ca74764aa7e76d12a5cac5f6b21e67 + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-attributes@npm:^7.24.7, @babel/plugin-syntax-import-attributes@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.26.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/c122aa577166c80ee67f75aebebeef4150a132c4d3109d25d7fc058bf802946f883e330f20b78c1d3e3a5ada631c8780c263d2d01b5dbaecc69efefeedd42916 + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-meta@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.10.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/166ac1125d10b9c0c430e4156249a13858c0366d38844883d75d27389621ebe651115cb2ceb6dc011534d5055719fa1727b59f39e1ab3ca97820eef3dcab5b9b + languageName: node + linkType: hard + +"@babel/plugin-syntax-json-strings@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-json-strings@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/bf5aea1f3188c9a507e16efe030efb996853ca3cadd6512c51db7233cc58f3ac89ff8c6bdfb01d30843b161cfe7d321e1bf28da82f7ab8d7e6bc5464666f354a + languageName: node + linkType: hard + +"@babel/plugin-syntax-jsx@npm:^7.25.9, @babel/plugin-syntax-jsx@npm:^7.7.2": + version: 7.25.9 + resolution: "@babel/plugin-syntax-jsx@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/bb609d1ffb50b58f0c1bac8810d0e46a4f6c922aa171c458f3a19d66ee545d36e782d3bffbbc1fed0dc65a558bdce1caf5279316583c0fff5a2c1658982a8563 + languageName: node + linkType: hard + +"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.10.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/aff33577037e34e515911255cdbb1fd39efee33658aa00b8a5fd3a4b903585112d037cce1cc9e4632f0487dc554486106b79ccd5ea63a2e00df4363f6d4ff886 + languageName: node + linkType: hard + +"@babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-nullish-coalescing-operator@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/87aca4918916020d1fedba54c0e232de408df2644a425d153be368313fdde40d96088feed6c4e5ab72aac89be5d07fef2ddf329a15109c5eb65df006bf2580d1 + languageName: node + linkType: hard + +"@babel/plugin-syntax-numeric-separator@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.10.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/01ec5547bd0497f76cc903ff4d6b02abc8c05f301c88d2622b6d834e33a5651aa7c7a3d80d8d57656a4588f7276eba357f6b7e006482f5b564b7a6488de493a1 + languageName: node + linkType: hard + +"@babel/plugin-syntax-object-rest-spread@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-object-rest-spread@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/fddcf581a57f77e80eb6b981b10658421bc321ba5f0a5b754118c6a92a5448f12a0c336f77b8abf734841e102e5126d69110a306eadb03ca3e1547cab31f5cbf + languageName: node + linkType: hard + +"@babel/plugin-syntax-optional-catch-binding@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-optional-catch-binding@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/910d90e72bc90ea1ce698e89c1027fed8845212d5ab588e35ef91f13b93143845f94e2539d831dc8d8ededc14ec02f04f7bd6a8179edd43a326c784e7ed7f0b9 + languageName: node + linkType: hard + +"@babel/plugin-syntax-optional-chaining@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-optional-chaining@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/eef94d53a1453361553c1f98b68d17782861a04a392840341bc91780838dd4e695209c783631cf0de14c635758beafb6a3a65399846ffa4386bff90639347f30 + languageName: node + linkType: hard + +"@babel/plugin-syntax-private-property-in-object@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-private-property-in-object@npm:7.14.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/b317174783e6e96029b743ccff2a67d63d38756876e7e5d0ba53a322e38d9ca452c13354a57de1ad476b4c066dbae699e0ca157441da611117a47af88985ecda + languageName: node + linkType: hard + +"@babel/plugin-syntax-top-level-await@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/bbd1a56b095be7820029b209677b194db9b1d26691fe999856462e66b25b281f031f3dfd91b1619e9dcf95bebe336211833b854d0fb8780d618e35667c2d0d7e + languageName: node + linkType: hard + +"@babel/plugin-syntax-typescript@npm:^7.25.9, @babel/plugin-syntax-typescript@npm:^7.7.2": + version: 7.25.9 + resolution: "@babel/plugin-syntax-typescript@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/0e9821e8ba7d660c36c919654e4144a70546942ae184e85b8102f2322451eae102cbfadbcadd52ce077a2b44b400ee52394c616feab7b5b9f791b910e933fd33 + languageName: node + linkType: hard + +"@babel/plugin-syntax-unicode-sets-regex@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-syntax-unicode-sets-regex@npm:7.18.6" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.18.6" + "@babel/helper-plugin-utils": "npm:^7.18.6" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/a651d700fe63ff0ddfd7186f4ebc24447ca734f114433139e3c027bc94a900d013cf1ef2e2db8430425ba542e39ae160c3b05f06b59fd4656273a3df97679e9c + languageName: node + linkType: hard + +"@babel/plugin-transform-arrow-functions@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/c29f081224859483accf55fb4d091db2aac0dcd0d7954bac5ca889030cc498d3f771aa20eb2e9cd8310084ec394d85fa084b97faf09298b6bc9541182b3eb5bb + languageName: node + linkType: hard + +"@babel/plugin-transform-async-generator-functions@npm:^7.26.8": + version: 7.26.8 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.26.8" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.26.5" + "@babel/helper-remap-async-to-generator": "npm:^7.25.9" + "@babel/traverse": "npm:^7.26.8" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/8fb43823f56281b041dbd358de4f59fccb3e20aac133a439caaeb5aaa30671b3482da9a8515b169fef108148e937c1248b7d6383979c3b30f9348e3fabd29b8e + languageName: node + linkType: hard + +"@babel/plugin-transform-async-to-generator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.25.9" + dependencies: + "@babel/helper-module-imports": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-remap-async-to-generator": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/b3ad50fb93c171644d501864620ed23952a46648c4df10dc9c62cc9ad08031b66bd272cfdd708faeee07c23b6251b16f29ce0350473e4c79f0c32178d38ce3a6 + languageName: node + linkType: hard + +"@babel/plugin-transform-block-scoped-functions@npm:^7.26.5": + version: 7.26.5 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.26.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.26.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/f2046c09bf8e588bfb1a6342d0eee733189102cf663ade27adb0130f3865123af5816b40a55ec8d8fa09271b54dfdaf977cd2f8e0b3dc97f18e690188d5a2174 + languageName: node + linkType: hard + +"@babel/plugin-transform-block-scoping@npm:^7.25.9": + version: 7.27.0 + resolution: "@babel/plugin-transform-block-scoping@npm:7.27.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.26.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/5195fc5890cb8253c4d774d742703832829caefa118a19bca7d9bb0b0c467b61459b89a2d526eb0d262969ed257226d1a77b2504deed0eeac62ffdf02c884095 + languageName: node + linkType: hard + +"@babel/plugin-transform-class-properties@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-class-properties@npm:7.25.9" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/a8d69e2c285486b63f49193cbcf7a15e1d3a5f632c1c07d7a97f65306df7f554b30270b7378dde143f8b557d1f8f6336c643377943dec8ec405e4cd11e90b9ea + languageName: node + linkType: hard + +"@babel/plugin-transform-class-static-block@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/plugin-transform-class-static-block@npm:7.26.0" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.12.0 + checksum: 10/60cba3f125a7bc4f90706af0a011697c7ffd2eddfba336ed6f84c5f358c44c3161af18b0202475241a96dee7964d96dd3a342f46dbf85b75b38bb789326e1766 + languageName: node + linkType: hard + +"@babel/plugin-transform-classes@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-classes@npm:7.25.9" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-replace-supers": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + globals: "npm:^11.1.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/1914ebe152f35c667fba7bf17ce0d9d0f33df2fb4491990ce9bb1f9ec5ae8cbd11d95b0dc371f7a4cc5e7ce4cf89467c3e34857302911fc6bfb6494a77f7b37e + languageName: node + linkType: hard + +"@babel/plugin-transform-computed-properties@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-computed-properties@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/template": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/aa1a9064d6a9d3b569b8cae6972437315a38a8f6553ee618406da5122500a06c2f20b9fa93aeed04dd895923bf6f529c09fc79d4be987ec41785ceb7d2203122 + languageName: node + linkType: hard + +"@babel/plugin-transform-destructuring@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-destructuring@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/51b24fbead910ad0547463b2d214dd08076b22a66234b9f878b8bac117603dd23e05090ff86e9ffc373214de23d3e5bf1b095fe54cce2ca16b010264d90cf4f5 + languageName: node + linkType: hard + +"@babel/plugin-transform-dotall-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.25.9" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/8bdf1bb9e6e3a2cc8154ae88a3872faa6dc346d6901994505fb43ac85f858728781f1219f40b67f7bb0687c507450236cb7838ac68d457e65637f98500aa161b + languageName: node + linkType: hard + +"@babel/plugin-transform-duplicate-keys@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/10dbb87bc09582416f9f97ca6c40563655abf33e3fd0fee25eeaeff28e946a06651192112a2bc2b18c314a638fa15c55b8365a677ef67aa490848cefdc57e1d8 + languageName: node + linkType: hard + +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.25.9" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/f7233cf596be8c6843d31951afaf2464a62a610cb89c72c818c044765827fab78403ab8a7d3a6386f838c8df574668e2a48f6c206b1d7da965aff9c6886cb8e6 + languageName: node + linkType: hard + +"@babel/plugin-transform-dynamic-import@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-dynamic-import@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/aaca1ccda819be9b2b85af47ba08ddd2210ff2dbea222f26e4cd33f97ab020884bf81a66197e50872721e9daf36ceb5659502c82199884ea74d5d75ecda5c58b + languageName: node + linkType: hard + +"@babel/plugin-transform-exponentiation-operator@npm:^7.26.3": + version: 7.26.3 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.26.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/0d8da2e552a50a775fe8e6e3c32621d20d3c5d1af7ab40ca2f5c7603de057b57b1b5850f74040e4ecbe36c09ac86d92173ad1e223a2a3b3df3cc359ca4349738 + languageName: node + linkType: hard + +"@babel/plugin-transform-export-namespace-from@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-export-namespace-from@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/4dfe8df86c5b1d085d591290874bb2d78a9063090d71567ed657a418010ad333c3f48af2c974b865f53bbb718987a065f89828d43279a7751db1a56c9229078d + languageName: node + linkType: hard + +"@babel/plugin-transform-for-of@npm:^7.26.9": + version: 7.26.9 + resolution: "@babel/plugin-transform-for-of@npm:7.26.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.26.5" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/25df1ea3bcecc1bcef99f273fbd8f4a73a509ab7ef3db93629817cb02f9d24868ca3760347f864c8fa4ab79ffa86fb09b2f2de1f2ba1f73f27dbe0c3973c6868 + languageName: node + linkType: hard + +"@babel/plugin-transform-function-name@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-function-name@npm:7.25.9" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/a8d7c8d019a6eb57eab5ca1be3e3236f175557d55b1f3b11f8ad7999e3fbb1cf37905fd8cb3a349bffb4163a558e9f33b63f631597fdc97c858757deac1b2fd7 + languageName: node + linkType: hard + +"@babel/plugin-transform-json-strings@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-json-strings@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/e2498d84761cfd05aaea53799933d55af309c9d6204e66b38778792d171e4d1311ad34f334259a3aa3407dd0446f6bd3e390a1fcb8ce2e42fe5aabed0e41bee1 + languageName: node + linkType: hard + +"@babel/plugin-transform-literals@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-literals@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/3cca75823a38aab599bc151b0fa4d816b5e1b62d6e49c156aa90436deb6e13649f5505973151a10418b64f3f9d1c3da53e38a186402e0ed7ad98e482e70c0c14 + languageName: node + linkType: hard + +"@babel/plugin-transform-logical-assignment-operators@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/8c6febb4ac53852314d28b5e2c23d5dbbff7bf1e57d61f9672e0d97531ef7778b3f0ad698dcf1179f5486e626c77127508916a65eb846a89e98a92f70ed3537b + languageName: node + linkType: hard + +"@babel/plugin-transform-member-expression-literals@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-member-expression-literals@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/db92041ae87b8f59f98b50359e0bb172480f6ba22e5e76b13bdfe07122cbf0daa9cd8ad2e78dcb47939938fed88ad57ab5989346f64b3a16953fc73dea3a9b1f + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-amd@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-modules-amd@npm:7.25.9" + dependencies: + "@babel/helper-module-transforms": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/75d34c6e709a23bcfa0e06f722c9a72b1d9ac3e7d72a07ef54a943d32f65f97cbbf0e387d874eb9d9b4c8d33045edfa8e8441d0f8794f3c2b9f1d71b928acf2c + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-commonjs@npm:^7.26.3": + version: 7.26.3 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.26.3" + dependencies: + "@babel/helper-module-transforms": "npm:^7.26.0" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/f817f02fa04d13f1578f3026239b57f1003bebcf9f9b8d854714bed76a0e4986c79bd6d2e0ac14282c5d309454a8dab683c179709ca753b0152a69c69f3a78e3 + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-systemjs@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.25.9" + dependencies: + "@babel/helper-module-transforms": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/03145aa89b7c867941a03755216cfb503df6d475a78df84849a157fa5f2fcc17ba114a968d0579ae34e7c61403f35d1ba5d188fdfb9ad05f19354eb7605792f9 + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-umd@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-modules-umd@npm:7.25.9" + dependencies: + "@babel/helper-module-transforms": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/47d03485fedac828832d9fee33b3b982a6db8197e8651ceb5d001890e276150b5a7ee3e9780749e1ba76453c471af907a159108832c24f93453dd45221788e97 + languageName: node + linkType: hard + +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.25.9" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/434346ba05cf74e3f4704b3bdd439287b95cd2a8676afcdc607810b8c38b6f4798cd69c1419726b2e4c7204e62e4a04d31b0360e91ca57a930521c9211e07789 + languageName: node + linkType: hard + +"@babel/plugin-transform-new-target@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-new-target@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/07bb3a09028ee7b8e8ede6e6390e3b3aecc5cf9adb2fc5475ff58036c552b8a3f8e63d4c43211a60545f3307cdc15919f0e54cb5455d9546daed162dc54ff94e + languageName: node + linkType: hard + +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.26.6": + version: 7.26.6 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.26.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.26.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/3832609f043dd1cd8076ab6a00a201573ef3f95bb2144d57787e4a973b3189884c16b4e77ff8e84a6ca47bc3b65bb7df10dca2f6163dfffc316ac96c37b0b5a6 + languageName: node + linkType: hard + +"@babel/plugin-transform-numeric-separator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-numeric-separator@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/0528ef041ed88e8c3f51624ee87b8182a7f246fe4013f0572788e0727d20795b558f2b82e3989b5dd416cbd339500f0d88857de41b6d3b6fdacb1d5344bcc5b1 + languageName: node + linkType: hard + +"@babel/plugin-transform-object-rest-spread@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-object-rest-spread@npm:7.25.9" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/plugin-transform-parameters": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/a157ac5af2721090150858f301d9c0a3a0efb8ef66b90fce326d6cc0ae45ab97b6219b3e441bf8d72a2287e95eb04dd6c12544da88ea2345e70b3fac2c0ac9e2 + languageName: node + linkType: hard + +"@babel/plugin-transform-object-super@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-object-super@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-replace-supers": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/1817b5d8b80e451ae1ad9080cca884f4f16df75880a158947df76a2ed8ab404d567a7dce71dd8051ef95f90fbe3513154086a32aba55cc76027f6cbabfbd7f98 + languageName: node + linkType: hard + +"@babel/plugin-transform-optional-catch-binding@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/b46a8d1e91829f3db5c252583eb00d05a779b4660abeea5500fda0f8ffa3584fd18299443c22f7fddf0ed9dfdb73c782c43b445dc468d4f89803f2356963b406 + languageName: node + linkType: hard + +"@babel/plugin-transform-optional-chaining@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/bc838a499fd9892e163b8bc9bfbc4bf0b28cc3232ee0a6406ae078257c8096518f871d09b4a32c11f4a2d6953c3bc1984619ef748f7ad45aed0b0d9689a8eb36 + languageName: node + linkType: hard + +"@babel/plugin-transform-parameters@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-parameters@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/014009a1763deb41fe9f0dbca2c4489ce0ac83dd87395f488492e8eb52399f6c883d5bd591bae3b8836f2460c3937fcebd07e57dce1e0bfe30cdbc63fdfc9d3a + languageName: node + linkType: hard + +"@babel/plugin-transform-private-methods@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-private-methods@npm:7.25.9" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/6e3671b352c267847c53a170a1937210fa8151764d70d25005e711ef9b21969aaf422acc14f9f7fb86bc0e4ec43e7aefcc0ad9196ae02d262ec10f509f126a58 + languageName: node + linkType: hard + +"@babel/plugin-transform-private-property-in-object@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-private-property-in-object@npm:7.25.9" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/aa45bb5669b610afa763d774a4b5583bb60ce7d38e4fd2dedfd0703e73e25aa560e6c6124e155aa90b101601743b127d9e5d3eb00989a7e4b4ab9c2eb88475ba + languageName: node + linkType: hard + +"@babel/plugin-transform-property-literals@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-property-literals@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/436046ab07d54a9b44a384eeffec701d4e959a37a7547dda72e069e751ca7ff753d1782a8339e354b97c78a868b49ea97bf41bf5a44c6d7a3c0a05ad40eeb49c + languageName: node + linkType: hard + +"@babel/plugin-transform-regenerator@npm:^7.25.9": + version: 7.27.0 + resolution: "@babel/plugin-transform-regenerator@npm:7.27.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.26.5" + regenerator-transform: "npm:^0.15.2" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/bd2f3278df31aa41cb34b051352e0d76e1feef6827a83885b6b66893a563cc9cc6bc34fc45899237e81224081ba951d8a7fed009c7de01e890646b291be7903c + languageName: node + linkType: hard + +"@babel/plugin-transform-regexp-modifiers@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/plugin-transform-regexp-modifiers@npm:7.26.0" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/726deca486bbd4b176f8a966eb0f4aabc19d9def3b8dabb8b3a656778eca0df1fda3f3c92b213aa5a184232fdafd5b7bd73b4e24ca4345c498ef6baff2bda4e1 + languageName: node + linkType: hard + +"@babel/plugin-transform-reserved-words@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-reserved-words@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/8beda04481b25767acbd1f6b9ef7b3a9c12fbd9dcb24df45a6ad120e1dc4b247c073db60ac742f9093657d6d8c050501fc0606af042f81a3bb6a3ff862cddc47 + languageName: node + linkType: hard + +"@babel/plugin-transform-shorthand-properties@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/f774995d58d4e3a992b732cf3a9b8823552d471040e280264dd15e0735433d51b468fef04d75853d061309389c66bda10ce1b298297ce83999220eb0ad62741d + languageName: node + linkType: hard + +"@babel/plugin-transform-spread@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-spread@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/fe72c6545267176cdc9b6f32f30f9ced37c1cafa1290e4436b83b8f377b4f1c175dad404228c96e3efdec75da692f15bfb9db2108fcd9ad260bc9968778ee41e + languageName: node + linkType: hard + +"@babel/plugin-transform-sticky-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/7454b00844dbe924030dd15e2b3615b36e196500c4c47e98dabc6b37a054c5b1038ecd437e910aabf0e43bf56b973cb148d3437d50f6e2332d8309568e3e979b + languageName: node + linkType: hard + +"@babel/plugin-transform-template-literals@npm:^7.26.8": + version: 7.26.8 + resolution: "@babel/plugin-transform-template-literals@npm:7.26.8" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.26.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/65874c8844ce906507cd5b9c78950d6173f8339b6416a2a9e763021db5a7045315a6f0e58976ec4af5e960c003ef322576c105130a644addb8f94d1a0821a972 + languageName: node + linkType: hard + +"@babel/plugin-transform-typeof-symbol@npm:^7.26.7": + version: 7.27.0 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.27.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.26.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/cd97a99c9aa62351fa258cc2de403a0cd8839461a5bdd648e18c8331998ca47573d2b122afda647da291c906952f65d96f68d0a53d287cf1bd34cf7e32d2bbb0 + languageName: node + linkType: hard + +"@babel/plugin-transform-typescript@npm:^7.27.0": + version: 7.27.0 + resolution: "@babel/plugin-transform-typescript@npm:7.27.0" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-create-class-features-plugin": "npm:^7.27.0" + "@babel/helper-plugin-utils": "npm:^7.26.5" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + "@babel/plugin-syntax-typescript": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/61f866967d0aa1b64d28f11687bfa517e47829baab294fe42f9eae4020767f96ab4c44029af9a445b6a1ac66bc3b3e4ff24048d833812ce81eec9a9bece90b11 + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-escapes@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-escapes@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/f138cbee539963fb3da13f684e6f33c9f7495220369ae12a682b358f1e25ac68936825562c38eae87f01ac9992b2129208b35ec18533567fc805ce5ed0ffd775 + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-property-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.25.9" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/201f6f46c1beb399e79aa208b94c5d54412047511795ce1e790edcd189cef73752e6a099fdfc01b3ad12205f139ae344143b62f21f44bbe02338a95e8506a911 + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.25.9" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/e8baae867526e179467c6ef5280d70390fa7388f8763a19a27c21302dd59b121032568be080749514b097097ceb9af716bf4b90638f1b3cf689aa837ba20150f + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-sets-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.25.9" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/4445ef20de687cb4dcc95169742a8d9013d680aa5eee9186d8e25875bbfa7ee5e2de26a91177ccf70b1db518e36886abcd44750d28db5d7a9539f0efa6839f4b + languageName: node + linkType: hard + +"@babel/preset-env@npm:^7.25.3": + version: 7.26.9 + resolution: "@babel/preset-env@npm:7.26.9" + dependencies: + "@babel/compat-data": "npm:^7.26.8" + "@babel/helper-compilation-targets": "npm:^7.26.5" + "@babel/helper-plugin-utils": "npm:^7.26.5" + "@babel/helper-validator-option": "npm:^7.25.9" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.25.9" + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "npm:^7.25.9" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.25.9" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.25.9" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.25.9" + "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-import-assertions": "npm:^7.26.0" + "@babel/plugin-syntax-import-attributes": "npm:^7.26.0" + "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" + "@babel/plugin-transform-arrow-functions": "npm:^7.25.9" + "@babel/plugin-transform-async-generator-functions": "npm:^7.26.8" + "@babel/plugin-transform-async-to-generator": "npm:^7.25.9" + "@babel/plugin-transform-block-scoped-functions": "npm:^7.26.5" + "@babel/plugin-transform-block-scoping": "npm:^7.25.9" + "@babel/plugin-transform-class-properties": "npm:^7.25.9" + "@babel/plugin-transform-class-static-block": "npm:^7.26.0" + "@babel/plugin-transform-classes": "npm:^7.25.9" + "@babel/plugin-transform-computed-properties": "npm:^7.25.9" + "@babel/plugin-transform-destructuring": "npm:^7.25.9" + "@babel/plugin-transform-dotall-regex": "npm:^7.25.9" + "@babel/plugin-transform-duplicate-keys": "npm:^7.25.9" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.25.9" + "@babel/plugin-transform-dynamic-import": "npm:^7.25.9" + "@babel/plugin-transform-exponentiation-operator": "npm:^7.26.3" + "@babel/plugin-transform-export-namespace-from": "npm:^7.25.9" + "@babel/plugin-transform-for-of": "npm:^7.26.9" + "@babel/plugin-transform-function-name": "npm:^7.25.9" + "@babel/plugin-transform-json-strings": "npm:^7.25.9" + "@babel/plugin-transform-literals": "npm:^7.25.9" + "@babel/plugin-transform-logical-assignment-operators": "npm:^7.25.9" + "@babel/plugin-transform-member-expression-literals": "npm:^7.25.9" + "@babel/plugin-transform-modules-amd": "npm:^7.25.9" + "@babel/plugin-transform-modules-commonjs": "npm:^7.26.3" + "@babel/plugin-transform-modules-systemjs": "npm:^7.25.9" + "@babel/plugin-transform-modules-umd": "npm:^7.25.9" + "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.25.9" + "@babel/plugin-transform-new-target": "npm:^7.25.9" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.26.6" + "@babel/plugin-transform-numeric-separator": "npm:^7.25.9" + "@babel/plugin-transform-object-rest-spread": "npm:^7.25.9" + "@babel/plugin-transform-object-super": "npm:^7.25.9" + "@babel/plugin-transform-optional-catch-binding": "npm:^7.25.9" + "@babel/plugin-transform-optional-chaining": "npm:^7.25.9" + "@babel/plugin-transform-parameters": "npm:^7.25.9" + "@babel/plugin-transform-private-methods": "npm:^7.25.9" + "@babel/plugin-transform-private-property-in-object": "npm:^7.25.9" + "@babel/plugin-transform-property-literals": "npm:^7.25.9" + "@babel/plugin-transform-regenerator": "npm:^7.25.9" + "@babel/plugin-transform-regexp-modifiers": "npm:^7.26.0" + "@babel/plugin-transform-reserved-words": "npm:^7.25.9" + "@babel/plugin-transform-shorthand-properties": "npm:^7.25.9" + "@babel/plugin-transform-spread": "npm:^7.25.9" + "@babel/plugin-transform-sticky-regex": "npm:^7.25.9" + "@babel/plugin-transform-template-literals": "npm:^7.26.8" + "@babel/plugin-transform-typeof-symbol": "npm:^7.26.7" + "@babel/plugin-transform-unicode-escapes": "npm:^7.25.9" + "@babel/plugin-transform-unicode-property-regex": "npm:^7.25.9" + "@babel/plugin-transform-unicode-regex": "npm:^7.25.9" + "@babel/plugin-transform-unicode-sets-regex": "npm:^7.25.9" + "@babel/preset-modules": "npm:0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2: "npm:^0.4.10" + babel-plugin-polyfill-corejs3: "npm:^0.11.0" + babel-plugin-polyfill-regenerator: "npm:^0.6.1" + core-js-compat: "npm:^3.40.0" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/ac6fad331760c0bc25ed428b7696b297bad7046a75f30e544b392acfb33709f12316b9a5b0c8606f933d5756e1b9d527b46fda09693db52e851325443dd6a574 + languageName: node + linkType: hard + +"@babel/preset-modules@npm:0.1.6-no-external-plugins": + version: 0.1.6-no-external-plugins + resolution: "@babel/preset-modules@npm:0.1.6-no-external-plugins" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@babel/types": "npm:^7.4.4" + esutils: "npm:^2.0.2" + peerDependencies: + "@babel/core": ^7.0.0-0 || ^8.0.0-0 <8.0.0 + checksum: 10/039aba98a697b920d6440c622aaa6104bb6076d65356b29dad4b3e6627ec0354da44f9621bafbeefd052cd4ac4d7f88c9a2ab094efcb50963cb352781d0c6428 + languageName: node + linkType: hard + +"@babel/preset-typescript@npm:^7.24.7": + version: 7.27.0 + resolution: "@babel/preset-typescript@npm:7.27.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.26.5" + "@babel/helper-validator-option": "npm:^7.25.9" + "@babel/plugin-syntax-jsx": "npm:^7.25.9" + "@babel/plugin-transform-modules-commonjs": "npm:^7.26.3" + "@babel/plugin-transform-typescript": "npm:^7.27.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/3b7b44bff0ed5dec49cb056e9a3a3dbf55e51dc5f85baa98336785b2d99670a12b7f9741b8c74ae061f2942d13a9dc7ac4ae0bcaecaff04f9db934c6ab6d9f30 + languageName: node + linkType: hard + +"@babel/register@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/register@npm:7.25.9" + dependencies: + clone-deep: "npm:^4.0.1" + find-cache-dir: "npm:^2.0.0" + make-dir: "npm:^2.1.0" + pirates: "npm:^4.0.6" + source-map-support: "npm:^0.5.16" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/eb0192c2e83566043b9777062c50567c869bbe9ed65cbeece25a3f0c07c7763199d8008b7b860cb0090d6f4f2ab1b590adf29b539115c260566e44296e0559fb + languageName: node + linkType: hard + +"@babel/runtime@npm:^7.8.4": + version: 7.27.0 + resolution: "@babel/runtime@npm:7.27.0" + dependencies: + regenerator-runtime: "npm:^0.14.0" + checksum: 10/e6966e03b695feb4c0ac0856a4355231c2580bf9ebd0298f47739f85c0ea658679dd84409daf26378d42c86c1cbe7e33feab709b14e784254b6c441d91606465 + languageName: node + linkType: hard + +"@babel/template@npm:^7.25.9, @babel/template@npm:^7.26.9, @babel/template@npm:^7.27.0, @babel/template@npm:^7.3.3": + version: 7.27.0 + resolution: "@babel/template@npm:7.27.0" + dependencies: + "@babel/code-frame": "npm:^7.26.2" + "@babel/parser": "npm:^7.27.0" + "@babel/types": "npm:^7.27.0" + checksum: 10/7159ca1daea287ad34676d45a7146675444d42c7664aca3e617abc9b1d9548c8f377f35a36bb34cf956e1d3610dcb7acfcfe890aebf81880d35f91a7bd273ee5 + languageName: node + linkType: hard + +"@babel/traverse@npm:^7.25.9, @babel/traverse@npm:^7.26.10, @babel/traverse@npm:^7.26.5, @babel/traverse@npm:^7.26.8, @babel/traverse@npm:^7.27.0": + version: 7.27.0 + resolution: "@babel/traverse@npm:7.27.0" + dependencies: + "@babel/code-frame": "npm:^7.26.2" + "@babel/generator": "npm:^7.27.0" + "@babel/parser": "npm:^7.27.0" + "@babel/template": "npm:^7.27.0" + "@babel/types": "npm:^7.27.0" + debug: "npm:^4.3.1" + globals: "npm:^11.1.0" + checksum: 10/b0675bc16bd87187e8b090557b0650135de56a621692ad8614b20f32621350ae0fc2e1129b73b780d64a9ed4beab46849a17f90d5267b6ae6ce09ec8412a12c7 + languageName: node + linkType: hard + +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.10, @babel/types@npm:^7.27.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": + version: 7.27.0 + resolution: "@babel/types@npm:7.27.0" + dependencies: + "@babel/helper-string-parser": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + checksum: 10/2c322bce107c8a534dc4a23be60d570e6a4cc7ca2e44d4f0eee08c0b626104eb7e60ab8de03463bc5da1773a2f69f1e6edec1648d648d65461d6520a7f3b0770 + languageName: node + linkType: hard + +"@bcoe/v8-coverage@npm:^0.2.3": + version: 0.2.3 + resolution: "@bcoe/v8-coverage@npm:0.2.3" + checksum: 10/1a1f0e356a3bb30b5f1ced6f79c413e6ebacf130421f15fac5fcd8be5ddf98aedb4404d7f5624e3285b700e041f9ef938321f3ca4d359d5b716f96afa120d88d + languageName: node + linkType: hard + +"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": + version: 4.6.1 + resolution: "@eslint-community/eslint-utils@npm:4.6.1" + dependencies: + eslint-visitor-keys: "npm:^3.4.3" + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + checksum: 10/9f1a91bddf0a68b2b8bb71b3390d0e665e842770ff4a0188d38199e8a66ac050608da14eb614d211535ed312633d9dc237bd297857bf0e78abac927029909e50 + languageName: node + linkType: hard + +"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.12.1": + version: 4.12.1 + resolution: "@eslint-community/regexpp@npm:4.12.1" + checksum: 10/c08f1dd7dd18fbb60bdd0d85820656d1374dd898af9be7f82cb00451313402a22d5e30569c150315b4385907cdbca78c22389b2a72ab78883b3173be317620cc + languageName: node + linkType: hard + +"@eslint/config-array@npm:^0.20.0": + version: 0.20.0 + resolution: "@eslint/config-array@npm:0.20.0" + dependencies: + "@eslint/object-schema": "npm:^2.1.6" + debug: "npm:^4.3.1" + minimatch: "npm:^3.1.2" + checksum: 10/9db7f6cbb5363f2f98ee4805ce09d1a95c4349e86f3f456f2c23a0849b7a6aa8d2be4c25e376ee182af062762e15a101844881c89b566eea0856c481ffcb2090 + languageName: node + linkType: hard + +"@eslint/config-helpers@npm:^0.2.1": + version: 0.2.1 + resolution: "@eslint/config-helpers@npm:0.2.1" + checksum: 10/7627d01a654c61a71387edd235e663fea50a23f0f521a174b77d94e3d1f6834a5da9205a101ffbe4ee5cf6fab1f384693c7b47080f059debdf338dd9b590aadf + languageName: node + linkType: hard + +"@eslint/core@npm:^0.13.0": + version: 0.13.0 + resolution: "@eslint/core@npm:0.13.0" + dependencies: + "@types/json-schema": "npm:^7.0.15" + checksum: 10/737fd1c237405b62592e8daa4b7e25b45ab22108bfec65258cabd091d5717b7c9573acea1f27c4ee7198cefc5a0874f5caefe3d9636851227b1f12d28ef52cf2 + languageName: node + linkType: hard + +"@eslint/eslintrc@npm:^3.3.1": + version: 3.3.1 + resolution: "@eslint/eslintrc@npm:3.3.1" + dependencies: + ajv: "npm:^6.12.4" + debug: "npm:^4.3.2" + espree: "npm:^10.0.1" + globals: "npm:^14.0.0" + ignore: "npm:^5.2.0" + import-fresh: "npm:^3.2.1" + js-yaml: "npm:^4.1.0" + minimatch: "npm:^3.1.2" + strip-json-comments: "npm:^3.1.1" + checksum: 10/cc240addbab3c5fceaa65b2c8d5d4fd77ddbbf472c2f74f0270b9d33263dc9116840b6099c46b64c9680301146250439b044ed79278a1bcc557da412a4e3c1bb + languageName: node + linkType: hard + +"@eslint/js@npm:9.25.0, @eslint/js@npm:^9.8.0": + version: 9.25.0 + resolution: "@eslint/js@npm:9.25.0" + checksum: 10/c00b5abc952d8d45efec12f7b84f143f168261f548cc218451fe14cbfcd801cae05e63013d26c3f7e255a85a164d95225b97441bb32ae1be6162473f3a2d9c71 + languageName: node + linkType: hard + +"@eslint/object-schema@npm:^2.1.6": + version: 2.1.6 + resolution: "@eslint/object-schema@npm:2.1.6" + checksum: 10/266085c8d3fa6cd99457fb6350dffb8ee39db9c6baf28dc2b86576657373c92a568aec4bae7d142978e798b74c271696672e103202d47a0c148da39154351ed6 + languageName: node + linkType: hard + +"@eslint/plugin-kit@npm:^0.2.8": + version: 0.2.8 + resolution: "@eslint/plugin-kit@npm:0.2.8" + dependencies: + "@eslint/core": "npm:^0.13.0" + levn: "npm:^0.4.1" + checksum: 10/2e7fe7a88ebdbbf805e9e7265347b7dcfb6bf50beec314def997572b2e8ae4a7b9504fb67b1698a70c348a0dd87251d1e9028292a96fd49b58cb5277d88bdea7 + languageName: node + linkType: hard + +"@exercism/babel-preset-typescript@npm:^0.6.0": + version: 0.6.0 + resolution: "@exercism/babel-preset-typescript@npm:0.6.0" + dependencies: + "@babel/core": "npm:^7.25.2" + "@babel/node": "npm:^7.25.0" + "@babel/preset-env": "npm:^7.25.3" + "@babel/preset-typescript": "npm:^7.24.7" + core-js: "npm:~3.38.0" + checksum: 10/68f3165a76672f13426f94f763cf28037327a9a6be4fa91f02008c42f2bbb2b428f1d422bfbb888e911ae7985b5fc6c8cb5d2021c7e64343dfe0fa3f77226342 + languageName: node + linkType: hard + +"@exercism/eslint-config-typescript@npm:^0.8.0": + version: 0.8.0 + resolution: "@exercism/eslint-config-typescript@npm:0.8.0" + dependencies: + "@eslint/js": "npm:^9.8.0" + "@stylistic/eslint-plugin-ts": "npm:^2.6.1" + eslint-config-prettier: "npm:^9.1.0" + eslint-plugin-jest: "npm:^28.8.0" + globals: "npm:^15.9.0" + typescript-eslint: "npm:^8.0.1" + peerDependencies: + eslint: ">= 9.8" + typescript: ">= 5.5" + checksum: 10/5d0048c39ebc35c90c509df08f983e2847099aab819503e3937df0b64ee143b4c65a78497c71d6ec9243c7fb97dda43f25273acfb0bae500d2f5dbc756ccb2c7 + languageName: node + linkType: hard + +"@exercism/typescript-allergies@workspace:.": + version: 0.0.0-use.local + resolution: "@exercism/typescript-allergies@workspace:." + dependencies: + "@exercism/babel-preset-typescript": "npm:^0.6.0" + "@exercism/eslint-config-typescript": "npm:^0.8.0" + "@jest/globals": "npm:^29.7.0" + "@types/node": "npm:~22.7.6" + babel-jest: "npm:^29.7.0" + core-js: "npm:~3.38.1" + eslint: "npm:^9.12.0" + expect: "npm:^29.7.0" + jest: "npm:^29.7.0" + prettier: "npm:^3.3.3" + tstyche: "npm:^2.1.1" + typescript: "npm:~5.6.3" + typescript-eslint: "npm:^8.10.0" + languageName: unknown + linkType: soft + +"@humanfs/core@npm:^0.19.1": + version: 0.19.1 + resolution: "@humanfs/core@npm:0.19.1" + checksum: 10/270d936be483ab5921702623bc74ce394bf12abbf57d9145a69e8a0d1c87eb1c768bd2d93af16c5705041e257e6d9cc7529311f63a1349f3678abc776fc28523 + languageName: node + linkType: hard + +"@humanfs/node@npm:^0.16.6": + version: 0.16.6 + resolution: "@humanfs/node@npm:0.16.6" + dependencies: + "@humanfs/core": "npm:^0.19.1" + "@humanwhocodes/retry": "npm:^0.3.0" + checksum: 10/6d43c6727463772d05610aa05c83dab2bfbe78291022ee7a92cb50999910b8c720c76cc312822e2dea2b497aa1b3fef5fe9f68803fc45c9d4ed105874a65e339 + languageName: node + linkType: hard + +"@humanwhocodes/module-importer@npm:^1.0.1": + version: 1.0.1 + resolution: "@humanwhocodes/module-importer@npm:1.0.1" + checksum: 10/e993950e346331e5a32eefb27948ecdee2a2c4ab3f072b8f566cd213ef485dd50a3ca497050608db91006f5479e43f91a439aef68d2a313bd3ded06909c7c5b3 + languageName: node + linkType: hard + +"@humanwhocodes/retry@npm:^0.3.0": + version: 0.3.1 + resolution: "@humanwhocodes/retry@npm:0.3.1" + checksum: 10/eb457f699529de7f07649679ec9e0353055eebe443c2efe71c6dd950258892475a038e13c6a8c5e13ed1fb538cdd0a8794faa96b24b6ffc4c87fb1fc9f70ad7f + languageName: node + linkType: hard + +"@humanwhocodes/retry@npm:^0.4.2": + version: 0.4.2 + resolution: "@humanwhocodes/retry@npm:0.4.2" + checksum: 10/8910c4cdf8d46ce406e6f0cb4407ff6cfef70b15039bd5713cc059f32e02fe5119d833cfe2ebc5f522eae42fdd453b6d88f3fa7a1d8c4275aaad6eb3d3e9b117 + languageName: node + linkType: hard + +"@isaacs/cliui@npm:^8.0.2": + version: 8.0.2 + resolution: "@isaacs/cliui@npm:8.0.2" + dependencies: + string-width: "npm:^5.1.2" + string-width-cjs: "npm:string-width@^4.2.0" + strip-ansi: "npm:^7.0.1" + strip-ansi-cjs: "npm:strip-ansi@^6.0.1" + wrap-ansi: "npm:^8.1.0" + wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" + checksum: 10/e9ed5fd27c3aec1095e3a16e0c0cf148d1fee55a38665c35f7b3f86a9b5d00d042ddaabc98e8a1cb7463b9378c15f22a94eb35e99469c201453eb8375191f243 + languageName: node + linkType: hard + +"@isaacs/fs-minipass@npm:^4.0.0": + version: 4.0.1 + resolution: "@isaacs/fs-minipass@npm:4.0.1" + dependencies: + minipass: "npm:^7.0.4" + checksum: 10/4412e9e6713c89c1e66d80bb0bb5a2a93192f10477623a27d08f228ba0316bb880affabc5bfe7f838f58a34d26c2c190da726e576cdfc18c49a72e89adabdcf5 + languageName: node + linkType: hard + +"@istanbuljs/load-nyc-config@npm:^1.0.0": + version: 1.1.0 + resolution: "@istanbuljs/load-nyc-config@npm:1.1.0" + dependencies: + camelcase: "npm:^5.3.1" + find-up: "npm:^4.1.0" + get-package-type: "npm:^0.1.0" + js-yaml: "npm:^3.13.1" + resolve-from: "npm:^5.0.0" + checksum: 10/b000a5acd8d4fe6e34e25c399c8bdbb5d3a202b4e10416e17bfc25e12bab90bb56d33db6089ae30569b52686f4b35ff28ef26e88e21e69821d2b85884bd055b8 + languageName: node + linkType: hard + +"@istanbuljs/schema@npm:^0.1.2, @istanbuljs/schema@npm:^0.1.3": + version: 0.1.3 + resolution: "@istanbuljs/schema@npm:0.1.3" + checksum: 10/a9b1e49acdf5efc2f5b2359f2df7f90c5c725f2656f16099e8b2cd3a000619ecca9fc48cf693ba789cf0fd989f6e0df6a22bc05574be4223ecdbb7997d04384b + languageName: node + linkType: hard + +"@jest/console@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/console@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + chalk: "npm:^4.0.0" + jest-message-util: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + slash: "npm:^3.0.0" + checksum: 10/4a80c750e8a31f344233cb9951dee9b77bf6b89377cb131f8b3cde07ff218f504370133a5963f6a786af4d2ce7f85642db206ff7a15f99fe58df4c38ac04899e + languageName: node + linkType: hard + +"@jest/core@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/core@npm:29.7.0" + dependencies: + "@jest/console": "npm:^29.7.0" + "@jest/reporters": "npm:^29.7.0" + "@jest/test-result": "npm:^29.7.0" + "@jest/transform": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + ansi-escapes: "npm:^4.2.1" + chalk: "npm:^4.0.0" + ci-info: "npm:^3.2.0" + exit: "npm:^0.1.2" + graceful-fs: "npm:^4.2.9" + jest-changed-files: "npm:^29.7.0" + jest-config: "npm:^29.7.0" + jest-haste-map: "npm:^29.7.0" + jest-message-util: "npm:^29.7.0" + jest-regex-util: "npm:^29.6.3" + jest-resolve: "npm:^29.7.0" + jest-resolve-dependencies: "npm:^29.7.0" + jest-runner: "npm:^29.7.0" + jest-runtime: "npm:^29.7.0" + jest-snapshot: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + jest-validate: "npm:^29.7.0" + jest-watcher: "npm:^29.7.0" + micromatch: "npm:^4.0.4" + pretty-format: "npm:^29.7.0" + slash: "npm:^3.0.0" + strip-ansi: "npm:^6.0.0" + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + checksum: 10/ab6ac2e562d083faac7d8152ec1cc4eccc80f62e9579b69ed40aedf7211a6b2d57024a6cd53c4e35fd051c39a236e86257d1d99ebdb122291969a0a04563b51e + languageName: node + linkType: hard + +"@jest/environment@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/environment@npm:29.7.0" + dependencies: + "@jest/fake-timers": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + jest-mock: "npm:^29.7.0" + checksum: 10/90b5844a9a9d8097f2cf107b1b5e57007c552f64315da8c1f51217eeb0a9664889d3f145cdf8acf23a84f4d8309a6675e27d5b059659a004db0ea9546d1c81a8 + languageName: node + linkType: hard + +"@jest/expect-utils@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/expect-utils@npm:29.7.0" + dependencies: + jest-get-type: "npm:^29.6.3" + checksum: 10/ef8d379778ef574a17bde2801a6f4469f8022a46a5f9e385191dc73bb1fc318996beaed4513fbd7055c2847227a1bed2469977821866534593a6e52a281499ee + languageName: node + linkType: hard + +"@jest/expect@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/expect@npm:29.7.0" + dependencies: + expect: "npm:^29.7.0" + jest-snapshot: "npm:^29.7.0" + checksum: 10/fea6c3317a8da5c840429d90bfe49d928e89c9e89fceee2149b93a11b7e9c73d2f6e4d7cdf647163da938fc4e2169e4490be6bae64952902bc7a701033fd4880 + languageName: node + linkType: hard + +"@jest/fake-timers@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/fake-timers@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + "@sinonjs/fake-timers": "npm:^10.0.2" + "@types/node": "npm:*" + jest-message-util: "npm:^29.7.0" + jest-mock: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + checksum: 10/9b394e04ffc46f91725ecfdff34c4e043eb7a16e1d78964094c9db3fde0b1c8803e45943a980e8c740d0a3d45661906de1416ca5891a538b0660481a3a828c27 + languageName: node + linkType: hard + +"@jest/globals@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/globals@npm:29.7.0" + dependencies: + "@jest/environment": "npm:^29.7.0" + "@jest/expect": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + jest-mock: "npm:^29.7.0" + checksum: 10/97dbb9459135693ad3a422e65ca1c250f03d82b2a77f6207e7fa0edd2c9d2015fbe4346f3dc9ebff1678b9d8da74754d4d440b7837497f8927059c0642a22123 + languageName: node + linkType: hard + +"@jest/reporters@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/reporters@npm:29.7.0" + dependencies: + "@bcoe/v8-coverage": "npm:^0.2.3" + "@jest/console": "npm:^29.7.0" + "@jest/test-result": "npm:^29.7.0" + "@jest/transform": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@jridgewell/trace-mapping": "npm:^0.3.18" + "@types/node": "npm:*" + chalk: "npm:^4.0.0" + collect-v8-coverage: "npm:^1.0.0" + exit: "npm:^0.1.2" + glob: "npm:^7.1.3" + graceful-fs: "npm:^4.2.9" + istanbul-lib-coverage: "npm:^3.0.0" + istanbul-lib-instrument: "npm:^6.0.0" + istanbul-lib-report: "npm:^3.0.0" + istanbul-lib-source-maps: "npm:^4.0.0" + istanbul-reports: "npm:^3.1.3" + jest-message-util: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + jest-worker: "npm:^29.7.0" + slash: "npm:^3.0.0" + string-length: "npm:^4.0.1" + strip-ansi: "npm:^6.0.0" + v8-to-istanbul: "npm:^9.0.1" + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + checksum: 10/a17d1644b26dea14445cedd45567f4ba7834f980be2ef74447204e14238f121b50d8b858fde648083d2cd8f305f81ba434ba49e37a5f4237a6f2a61180cc73dc + languageName: node + linkType: hard + +"@jest/schemas@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/schemas@npm:29.6.3" + dependencies: + "@sinclair/typebox": "npm:^0.27.8" + checksum: 10/910040425f0fc93cd13e68c750b7885590b8839066dfa0cd78e7def07bbb708ad869381f725945d66f2284de5663bbecf63e8fdd856e2ae6e261ba30b1687e93 + languageName: node + linkType: hard + +"@jest/source-map@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/source-map@npm:29.6.3" + dependencies: + "@jridgewell/trace-mapping": "npm:^0.3.18" + callsites: "npm:^3.0.0" + graceful-fs: "npm:^4.2.9" + checksum: 10/bcc5a8697d471396c0003b0bfa09722c3cd879ad697eb9c431e6164e2ea7008238a01a07193dfe3cbb48b1d258eb7251f6efcea36f64e1ebc464ea3c03ae2deb + languageName: node + linkType: hard + +"@jest/test-result@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/test-result@npm:29.7.0" + dependencies: + "@jest/console": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/istanbul-lib-coverage": "npm:^2.0.0" + collect-v8-coverage: "npm:^1.0.0" + checksum: 10/c073ab7dfe3c562bff2b8fee6cc724ccc20aa96bcd8ab48ccb2aa309b4c0c1923a9e703cea386bd6ae9b71133e92810475bb9c7c22328fc63f797ad3324ed189 + languageName: node + linkType: hard + +"@jest/test-sequencer@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/test-sequencer@npm:29.7.0" + dependencies: + "@jest/test-result": "npm:^29.7.0" + graceful-fs: "npm:^4.2.9" + jest-haste-map: "npm:^29.7.0" + slash: "npm:^3.0.0" + checksum: 10/4420c26a0baa7035c5419b0892ff8ffe9a41b1583ec54a10db3037cd46a7e29dd3d7202f8aa9d376e9e53be5f8b1bc0d16e1de6880a6d319b033b01dc4c8f639 + languageName: node + linkType: hard + +"@jest/transform@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/transform@npm:29.7.0" + dependencies: + "@babel/core": "npm:^7.11.6" + "@jest/types": "npm:^29.6.3" + "@jridgewell/trace-mapping": "npm:^0.3.18" + babel-plugin-istanbul: "npm:^6.1.1" + chalk: "npm:^4.0.0" + convert-source-map: "npm:^2.0.0" + fast-json-stable-stringify: "npm:^2.1.0" + graceful-fs: "npm:^4.2.9" + jest-haste-map: "npm:^29.7.0" + jest-regex-util: "npm:^29.6.3" + jest-util: "npm:^29.7.0" + micromatch: "npm:^4.0.4" + pirates: "npm:^4.0.4" + slash: "npm:^3.0.0" + write-file-atomic: "npm:^4.0.2" + checksum: 10/30f42293545ab037d5799c81d3e12515790bb58513d37f788ce32d53326d0d72ebf5b40f989e6896739aa50a5f77be44686e510966370d58511d5ad2637c68c1 + languageName: node + linkType: hard + +"@jest/types@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/types@npm:29.6.3" + dependencies: + "@jest/schemas": "npm:^29.6.3" + "@types/istanbul-lib-coverage": "npm:^2.0.0" + "@types/istanbul-reports": "npm:^3.0.0" + "@types/node": "npm:*" + "@types/yargs": "npm:^17.0.8" + chalk: "npm:^4.0.0" + checksum: 10/f74bf512fd09bbe2433a2ad460b04668b7075235eea9a0c77d6a42222c10a79b9747dc2b2a623f140ed40d6865a2ed8f538f3cbb75169120ea863f29a7ed76cd + languageName: node + linkType: hard + +"@jridgewell/gen-mapping@npm:^0.3.5": + version: 0.3.8 + resolution: "@jridgewell/gen-mapping@npm:0.3.8" + dependencies: + "@jridgewell/set-array": "npm:^1.2.1" + "@jridgewell/sourcemap-codec": "npm:^1.4.10" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10/9d3a56ab3612ab9b85d38b2a93b87f3324f11c5130859957f6500e4ac8ce35f299d5ccc3ecd1ae87597601ecf83cee29e9afd04c18777c24011073992ff946df + languageName: node + linkType: hard + +"@jridgewell/resolve-uri@npm:^3.1.0": + version: 3.1.2 + resolution: "@jridgewell/resolve-uri@npm:3.1.2" + checksum: 10/97106439d750a409c22c8bff822d648f6a71f3aa9bc8e5129efdc36343cd3096ddc4eeb1c62d2fe48e9bdd4db37b05d4646a17114ecebd3bbcacfa2de51c3c1d + languageName: node + linkType: hard + +"@jridgewell/set-array@npm:^1.2.1": + version: 1.2.1 + resolution: "@jridgewell/set-array@npm:1.2.1" + checksum: 10/832e513a85a588f8ed4f27d1279420d8547743cc37fcad5a5a76fc74bb895b013dfe614d0eed9cb860048e6546b798f8f2652020b4b2ba0561b05caa8c654b10 + languageName: node + linkType: hard + +"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14": + version: 1.5.0 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" + checksum: 10/4ed6123217569a1484419ac53f6ea0d9f3b57e5b57ab30d7c267bdb27792a27eb0e4b08e84a2680aa55cc2f2b411ffd6ec3db01c44fdc6dc43aca4b55f8374fd + languageName: node + linkType: hard + +"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": + version: 0.3.25 + resolution: "@jridgewell/trace-mapping@npm:0.3.25" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.1.0" + "@jridgewell/sourcemap-codec": "npm:^1.4.14" + checksum: 10/dced32160a44b49d531b80a4a2159dceab6b3ddf0c8e95a0deae4b0e894b172defa63d5ac52a19c2068e1fe7d31ea4ba931fbeec103233ecb4208953967120fc + languageName: node + linkType: hard + +"@nodelib/fs.scandir@npm:2.1.5": + version: 2.1.5 + resolution: "@nodelib/fs.scandir@npm:2.1.5" + dependencies: + "@nodelib/fs.stat": "npm:2.0.5" + run-parallel: "npm:^1.1.9" + checksum: 10/6ab2a9b8a1d67b067922c36f259e3b3dfd6b97b219c540877a4944549a4d49ea5ceba5663905ab5289682f1f3c15ff441d02f0447f620a42e1cb5e1937174d4b + languageName: node + linkType: hard + +"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": + version: 2.0.5 + resolution: "@nodelib/fs.stat@npm:2.0.5" + checksum: 10/012480b5ca9d97bff9261571dbbec7bbc6033f69cc92908bc1ecfad0792361a5a1994bc48674b9ef76419d056a03efadfce5a6cf6dbc0a36559571a7a483f6f0 + languageName: node + linkType: hard + +"@nodelib/fs.walk@npm:^1.2.3": + version: 1.2.8 + resolution: "@nodelib/fs.walk@npm:1.2.8" + dependencies: + "@nodelib/fs.scandir": "npm:2.1.5" + fastq: "npm:^1.6.0" + checksum: 10/40033e33e96e97d77fba5a238e4bba4487b8284678906a9f616b5579ddaf868a18874c0054a75402c9fbaaa033a25ceae093af58c9c30278e35c23c9479e79b0 + languageName: node + linkType: hard + +"@npmcli/agent@npm:^3.0.0": + version: 3.0.0 + resolution: "@npmcli/agent@npm:3.0.0" + dependencies: + agent-base: "npm:^7.1.0" + http-proxy-agent: "npm:^7.0.0" + https-proxy-agent: "npm:^7.0.1" + lru-cache: "npm:^10.0.1" + socks-proxy-agent: "npm:^8.0.3" + checksum: 10/775c9a7eb1f88c195dfb3bce70c31d0fe2a12b28b754e25c08a3edb4bc4816bfedb7ac64ef1e730579d078ca19dacf11630e99f8f3c3e0fd7b23caa5fd6d30a6 + languageName: node + linkType: hard + +"@npmcli/fs@npm:^4.0.0": + version: 4.0.0 + resolution: "@npmcli/fs@npm:4.0.0" + dependencies: + semver: "npm:^7.3.5" + checksum: 10/405c4490e1ff11cf299775449a3c254a366a4b1ffc79d87159b0ee7d5558ac9f6a2f8c0735fd6ff3873cef014cb1a44a5f9127cb6a1b2dbc408718cca9365b5a + languageName: node + linkType: hard + +"@pkgjs/parseargs@npm:^0.11.0": + version: 0.11.0 + resolution: "@pkgjs/parseargs@npm:0.11.0" + checksum: 10/115e8ceeec6bc69dff2048b35c0ab4f8bbee12d8bb6c1f4af758604586d802b6e669dcb02dda61d078de42c2b4ddce41b3d9e726d7daa6b4b850f4adbf7333ff + languageName: node + linkType: hard + +"@sinclair/typebox@npm:^0.27.8": + version: 0.27.8 + resolution: "@sinclair/typebox@npm:0.27.8" + checksum: 10/297f95ff77c82c54de8c9907f186076e715ff2621c5222ba50b8d40a170661c0c5242c763cba2a4791f0f91cb1d8ffa53ea1d7294570cf8cd4694c0e383e484d + languageName: node + linkType: hard + +"@sinonjs/commons@npm:^3.0.0": + version: 3.0.1 + resolution: "@sinonjs/commons@npm:3.0.1" + dependencies: + type-detect: "npm:4.0.8" + checksum: 10/a0af217ba7044426c78df52c23cedede6daf377586f3ac58857c565769358ab1f44ebf95ba04bbe38814fba6e316ca6f02870a009328294fc2c555d0f85a7117 + languageName: node + linkType: hard + +"@sinonjs/fake-timers@npm:^10.0.2": + version: 10.3.0 + resolution: "@sinonjs/fake-timers@npm:10.3.0" + dependencies: + "@sinonjs/commons": "npm:^3.0.0" + checksum: 10/78155c7bd866a85df85e22028e046b8d46cf3e840f72260954f5e3ed5bd97d66c595524305a6841ffb3f681a08f6e5cef572a2cce5442a8a232dc29fb409b83e + languageName: node + linkType: hard + +"@stylistic/eslint-plugin-ts@npm:^2.6.1": + version: 2.13.0 + resolution: "@stylistic/eslint-plugin-ts@npm:2.13.0" + dependencies: + "@typescript-eslint/utils": "npm:^8.13.0" + eslint-visitor-keys: "npm:^4.2.0" + espree: "npm:^10.3.0" + peerDependencies: + eslint: ">=8.40.0" + checksum: 10/222d6ec0094177f40ea43f28af257192655539fe4bb1495341bc9ff521bca975da2066e229798fcc8e28ea24e91d0ef4db05b4f212f615cad752ade5c1c68561 + languageName: node + linkType: hard + +"@types/babel__core@npm:^7.1.14": + version: 7.20.5 + resolution: "@types/babel__core@npm:7.20.5" + dependencies: + "@babel/parser": "npm:^7.20.7" + "@babel/types": "npm:^7.20.7" + "@types/babel__generator": "npm:*" + "@types/babel__template": "npm:*" + "@types/babel__traverse": "npm:*" + checksum: 10/c32838d280b5ab59d62557f9e331d3831f8e547ee10b4f85cb78753d97d521270cebfc73ce501e9fb27fe71884d1ba75e18658692c2f4117543f0fc4e3e118b3 + languageName: node + linkType: hard + +"@types/babel__generator@npm:*": + version: 7.27.0 + resolution: "@types/babel__generator@npm:7.27.0" + dependencies: + "@babel/types": "npm:^7.0.0" + checksum: 10/f572e67a9a39397664350a4437d8a7fbd34acc83ff4887a8cf08349e39f8aeb5ad2f70fb78a0a0a23a280affe3a5f4c25f50966abdce292bcf31237af1c27b1a + languageName: node + linkType: hard + +"@types/babel__template@npm:*": + version: 7.4.4 + resolution: "@types/babel__template@npm:7.4.4" + dependencies: + "@babel/parser": "npm:^7.1.0" + "@babel/types": "npm:^7.0.0" + checksum: 10/d7a02d2a9b67e822694d8e6a7ddb8f2b71a1d6962dfd266554d2513eefbb205b33ca71a0d163b1caea3981ccf849211f9964d8bd0727124d18ace45aa6c9ae29 + languageName: node + linkType: hard + +"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6": + version: 7.20.7 + resolution: "@types/babel__traverse@npm:7.20.7" + dependencies: + "@babel/types": "npm:^7.20.7" + checksum: 10/d005b58e1c26bdafc1ce564f60db0ee938393c7fc586b1197bdb71a02f7f33f72bc10ae4165776b6cafc77c4b6f2e1a164dd20bc36518c471b1131b153b4baa6 + languageName: node + linkType: hard + +"@types/estree@npm:^1.0.6": + version: 1.0.7 + resolution: "@types/estree@npm:1.0.7" + checksum: 10/419c845ece767ad4b21171e6e5b63dabb2eb46b9c0d97361edcd9cabbf6a95fcadb91d89b5fa098d1336fa0b8fceaea82fca97a2ef3971f5c86e53031e157b21 + languageName: node + linkType: hard + +"@types/graceful-fs@npm:^4.1.3": + version: 4.1.9 + resolution: "@types/graceful-fs@npm:4.1.9" + dependencies: + "@types/node": "npm:*" + checksum: 10/79d746a8f053954bba36bd3d94a90c78de995d126289d656fb3271dd9f1229d33f678da04d10bce6be440494a5a73438e2e363e92802d16b8315b051036c5256 + languageName: node + linkType: hard + +"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": + version: 2.0.6 + resolution: "@types/istanbul-lib-coverage@npm:2.0.6" + checksum: 10/3feac423fd3e5449485afac999dcfcb3d44a37c830af898b689fadc65d26526460bedb889db278e0d4d815a670331796494d073a10ee6e3a6526301fe7415778 + languageName: node + linkType: hard + +"@types/istanbul-lib-report@npm:*": + version: 3.0.3 + resolution: "@types/istanbul-lib-report@npm:3.0.3" + dependencies: + "@types/istanbul-lib-coverage": "npm:*" + checksum: 10/b91e9b60f865ff08cb35667a427b70f6c2c63e88105eadd29a112582942af47ed99c60610180aa8dcc22382fa405033f141c119c69b95db78c4c709fbadfeeb4 + languageName: node + linkType: hard + +"@types/istanbul-reports@npm:^3.0.0": + version: 3.0.4 + resolution: "@types/istanbul-reports@npm:3.0.4" + dependencies: + "@types/istanbul-lib-report": "npm:*" + checksum: 10/93eb18835770b3431f68ae9ac1ca91741ab85f7606f310a34b3586b5a34450ec038c3eed7ab19266635499594de52ff73723a54a72a75b9f7d6a956f01edee95 + languageName: node + linkType: hard + +"@types/json-schema@npm:^7.0.15": + version: 7.0.15 + resolution: "@types/json-schema@npm:7.0.15" + checksum: 10/1a3c3e06236e4c4aab89499c428d585527ce50c24fe8259e8b3926d3df4cfbbbcf306cfc73ddfb66cbafc973116efd15967020b0f738f63e09e64c7d260519e7 + languageName: node + linkType: hard + +"@types/node@npm:*": + version: 22.14.1 + resolution: "@types/node@npm:22.14.1" + dependencies: + undici-types: "npm:~6.21.0" + checksum: 10/561b1ad98ef5176d6da856ffbbe494f16655149f6a7d561de0423c8784910c81267d7d6459f59d68a97b3cbae9b5996b3b5dfe64f4de3de2239d295dcf4a4dcc + languageName: node + linkType: hard + +"@types/node@npm:~22.7.6": + version: 22.7.9 + resolution: "@types/node@npm:22.7.9" + dependencies: + undici-types: "npm:~6.19.2" + checksum: 10/c68650a1ca3c65cc02e16166fa7daca9958ecea54bd52b0af31009011c44a33f8d559bf467c681b1f06935a10cafb932cc30e5454ecfc89351d361ab669bdba6 + languageName: node + linkType: hard + +"@types/stack-utils@npm:^2.0.0": + version: 2.0.3 + resolution: "@types/stack-utils@npm:2.0.3" + checksum: 10/72576cc1522090fe497337c2b99d9838e320659ac57fa5560fcbdcbafcf5d0216c6b3a0a8a4ee4fdb3b1f5e3420aa4f6223ab57b82fef3578bec3206425c6cf5 + languageName: node + linkType: hard + +"@types/yargs-parser@npm:*": + version: 21.0.3 + resolution: "@types/yargs-parser@npm:21.0.3" + checksum: 10/a794eb750e8ebc6273a51b12a0002de41343ffe46befef460bdbb57262d187fdf608bc6615b7b11c462c63c3ceb70abe2564c8dd8ee0f7628f38a314f74a9b9b + languageName: node + linkType: hard + +"@types/yargs@npm:^17.0.8": + version: 17.0.33 + resolution: "@types/yargs@npm:17.0.33" + dependencies: + "@types/yargs-parser": "npm:*" + checksum: 10/16f6681bf4d99fb671bf56029141ed01db2862e3db9df7fc92d8bea494359ac96a1b4b1c35a836d1e95e665fb18ad753ab2015fc0db663454e8fd4e5d5e2ef91 + languageName: node + linkType: hard + +"@typescript-eslint/eslint-plugin@npm:8.30.1": + version: 8.30.1 + resolution: "@typescript-eslint/eslint-plugin@npm:8.30.1" + dependencies: + "@eslint-community/regexpp": "npm:^4.10.0" + "@typescript-eslint/scope-manager": "npm:8.30.1" + "@typescript-eslint/type-utils": "npm:8.30.1" + "@typescript-eslint/utils": "npm:8.30.1" + "@typescript-eslint/visitor-keys": "npm:8.30.1" + graphemer: "npm:^1.4.0" + ignore: "npm:^5.3.1" + natural-compare: "npm:^1.4.0" + ts-api-utils: "npm:^2.0.1" + peerDependencies: + "@typescript-eslint/parser": ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.9.0" + checksum: 10/769b0365c1eda5d15ecb24cd297ca60d264001d46e14f42fae30f6f519610414726885a8d5cf57ef5a01484f92166104a74fb2ca2fd2af28f11cab149b6de591 + languageName: node + linkType: hard + +"@typescript-eslint/parser@npm:8.30.1": + version: 8.30.1 + resolution: "@typescript-eslint/parser@npm:8.30.1" + dependencies: + "@typescript-eslint/scope-manager": "npm:8.30.1" + "@typescript-eslint/types": "npm:8.30.1" + "@typescript-eslint/typescript-estree": "npm:8.30.1" + "@typescript-eslint/visitor-keys": "npm:8.30.1" + debug: "npm:^4.3.4" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.9.0" + checksum: 10/ffff7bfa7e6b0233feb2d2c9bc27e0fd16faa50a00e9853efcc59de312420ef5a54b94833e80727bc5c966c1b211d70601c2337e33cc5610fa2f28d858642f5b + languageName: node + linkType: hard + +"@typescript-eslint/scope-manager@npm:8.30.1": + version: 8.30.1 + resolution: "@typescript-eslint/scope-manager@npm:8.30.1" + dependencies: + "@typescript-eslint/types": "npm:8.30.1" + "@typescript-eslint/visitor-keys": "npm:8.30.1" + checksum: 10/ecae69888a06126d57f3ac2db9935199b708406e8cd84e0918dd8302f31771145d62b52bf3c454be43c5aa4f93685d3f8c15b118d0de1c0323e02113c127aa66 + languageName: node + linkType: hard + +"@typescript-eslint/type-utils@npm:8.30.1": + version: 8.30.1 + resolution: "@typescript-eslint/type-utils@npm:8.30.1" + dependencies: + "@typescript-eslint/typescript-estree": "npm:8.30.1" + "@typescript-eslint/utils": "npm:8.30.1" + debug: "npm:^4.3.4" + ts-api-utils: "npm:^2.0.1" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.9.0" + checksum: 10/c7a285bae7806a1e4aa9840feb727fe47f5de4ef3d68ecd1bbebc593a72ec08df17953098d71dc83a6936a42d5a44bcd4a49e6f067ec0947293795b0a389498f + languageName: node + linkType: hard + +"@typescript-eslint/types@npm:8.30.1": + version: 8.30.1 + resolution: "@typescript-eslint/types@npm:8.30.1" + checksum: 10/342ec75ba2c596ffaa93612c6c6afd2b0a05c346bdfa73ac208b49f1969b48a3f739f306431f9a10cf34e99e8585ca924fdde7f9508dd7869142b25f399d6bd6 + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:8.30.1": + version: 8.30.1 + resolution: "@typescript-eslint/typescript-estree@npm:8.30.1" + dependencies: + "@typescript-eslint/types": "npm:8.30.1" + "@typescript-eslint/visitor-keys": "npm:8.30.1" + debug: "npm:^4.3.4" + fast-glob: "npm:^3.3.2" + is-glob: "npm:^4.0.3" + minimatch: "npm:^9.0.4" + semver: "npm:^7.6.0" + ts-api-utils: "npm:^2.0.1" + peerDependencies: + typescript: ">=4.8.4 <5.9.0" + checksum: 10/60c307fbb8ec86d28e4b2237b624427b7aee737bced82e5f94acc84229eae907e7742ccf0c9c0825326b3ccb9f72b14075893d90e06c28f8ce2fd04502c0b410 + languageName: node + linkType: hard + +"@typescript-eslint/utils@npm:8.30.1, @typescript-eslint/utils@npm:^6.0.0 || ^7.0.0 || ^8.0.0, @typescript-eslint/utils@npm:^8.13.0": + version: 8.30.1 + resolution: "@typescript-eslint/utils@npm:8.30.1" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.4.0" + "@typescript-eslint/scope-manager": "npm:8.30.1" + "@typescript-eslint/types": "npm:8.30.1" + "@typescript-eslint/typescript-estree": "npm:8.30.1" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.9.0" + checksum: 10/97d27d2f0bce6f60a1857d511dba401f076766477a2896405aca52e860f9c5460111299f6e17642e18e578be1dbf850a0b1202ba61aa65d6a52646429ff9c99c + languageName: node + linkType: hard + +"@typescript-eslint/visitor-keys@npm:8.30.1": + version: 8.30.1 + resolution: "@typescript-eslint/visitor-keys@npm:8.30.1" + dependencies: + "@typescript-eslint/types": "npm:8.30.1" + eslint-visitor-keys: "npm:^4.2.0" + checksum: 10/0c08169123ebca4ab04464486a7f41093ba77e75fb088e2c8af9f36bb4c0f785d4e82940f6b62e47457d4758fa57a53423db4226250d6eb284e75a3f96f03f2b + languageName: node + linkType: hard + +"abbrev@npm:^3.0.0": + version: 3.0.1 + resolution: "abbrev@npm:3.0.1" + checksum: 10/ebd2c149dda6f543b66ce3779ea612151bb3aa9d0824f169773ee9876f1ca5a4e0adbcccc7eed048c04da7998e1825e2aa76fcca92d9e67dea50ac2b0a58dc2e + languageName: node + linkType: hard + +"acorn-jsx@npm:^5.3.2": + version: 5.3.2 + resolution: "acorn-jsx@npm:5.3.2" + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: 10/d4371eaef7995530b5b5ca4183ff6f062ca17901a6d3f673c9ac011b01ede37e7a1f7f61f8f5cfe709e88054757bb8f3277dc4061087cdf4f2a1f90ccbcdb977 + languageName: node + linkType: hard + +"acorn@npm:^8.14.0": + version: 8.14.1 + resolution: "acorn@npm:8.14.1" + bin: + acorn: bin/acorn + checksum: 10/d1379bbee224e8d44c3c3946e6ba6973e999fbdd4e22e41c3455d7f9b6f72f7ce18d3dc218002e1e48eea789539cf1cb6d1430c81838c6744799c712fb557d92 + languageName: node + linkType: hard + +"agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": + version: 7.1.3 + resolution: "agent-base@npm:7.1.3" + checksum: 10/3db6d8d4651f2aa1a9e4af35b96ab11a7607af57a24f3bc721a387eaa3b5f674e901f0a648b0caefd48f3fd117c7761b79a3b55854e2aebaa96c3f32cf76af84 + languageName: node + linkType: hard + +"ajv@npm:^6.12.4": + version: 6.12.6 + resolution: "ajv@npm:6.12.6" + dependencies: + fast-deep-equal: "npm:^3.1.1" + fast-json-stable-stringify: "npm:^2.0.0" + json-schema-traverse: "npm:^0.4.1" + uri-js: "npm:^4.2.2" + checksum: 10/48d6ad21138d12eb4d16d878d630079a2bda25a04e745c07846a4ad768319533031e28872a9b3c5790fa1ec41aabdf2abed30a56e5a03ebc2cf92184b8ee306c + languageName: node + linkType: hard + +"ansi-escapes@npm:^4.2.1": + version: 4.3.2 + resolution: "ansi-escapes@npm:4.3.2" + dependencies: + type-fest: "npm:^0.21.3" + checksum: 10/8661034456193ffeda0c15c8c564a9636b0c04094b7f78bd01517929c17c504090a60f7a75f949f5af91289c264d3e1001d91492c1bd58efc8e100500ce04de2 + languageName: node + linkType: hard + +"ansi-regex@npm:^5.0.1": + version: 5.0.1 + resolution: "ansi-regex@npm:5.0.1" + checksum: 10/2aa4bb54caf2d622f1afdad09441695af2a83aa3fe8b8afa581d205e57ed4261c183c4d3877cee25794443fde5876417d859c108078ab788d6af7e4fe52eb66b + languageName: node + linkType: hard + +"ansi-regex@npm:^6.0.1": + version: 6.1.0 + resolution: "ansi-regex@npm:6.1.0" + checksum: 10/495834a53b0856c02acd40446f7130cb0f8284f4a39afdab20d5dc42b2e198b1196119fe887beed8f9055c4ff2055e3b2f6d4641d0be018cdfb64fedf6fc1aac + languageName: node + linkType: hard + +"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": + version: 4.3.0 + resolution: "ansi-styles@npm:4.3.0" + dependencies: + color-convert: "npm:^2.0.1" + checksum: 10/b4494dfbfc7e4591b4711a396bd27e540f8153914123dccb4cdbbcb514015ada63a3809f362b9d8d4f6b17a706f1d7bea3c6f974b15fa5ae76b5b502070889ff + languageName: node + linkType: hard + +"ansi-styles@npm:^5.0.0": + version: 5.2.0 + resolution: "ansi-styles@npm:5.2.0" + checksum: 10/d7f4e97ce0623aea6bc0d90dcd28881ee04cba06c570b97fd3391bd7a268eedfd9d5e2dd4fdcbdd82b8105df5faf6f24aaedc08eaf3da898e702db5948f63469 + languageName: node + linkType: hard + +"ansi-styles@npm:^6.1.0": + version: 6.2.1 + resolution: "ansi-styles@npm:6.2.1" + checksum: 10/70fdf883b704d17a5dfc9cde206e698c16bcd74e7f196ab821511651aee4f9f76c9514bdfa6ca3a27b5e49138b89cb222a28caf3afe4567570139577f991df32 + languageName: node + linkType: hard + +"anymatch@npm:^3.0.3": + version: 3.1.3 + resolution: "anymatch@npm:3.1.3" + dependencies: + normalize-path: "npm:^3.0.0" + picomatch: "npm:^2.0.4" + checksum: 10/3e044fd6d1d26545f235a9fe4d7a534e2029d8e59fa7fd9f2a6eb21230f6b5380ea1eaf55136e60cbf8e613544b3b766e7a6fa2102e2a3a117505466e3025dc2 + languageName: node + linkType: hard + +"argparse@npm:^1.0.7": + version: 1.0.10 + resolution: "argparse@npm:1.0.10" + dependencies: + sprintf-js: "npm:~1.0.2" + checksum: 10/c6a621343a553ff3779390bb5ee9c2263d6643ebcd7843227bdde6cc7adbed796eb5540ca98db19e3fd7b4714e1faa51551f8849b268bb62df27ddb15cbcd91e + languageName: node + linkType: hard + +"argparse@npm:^2.0.1": + version: 2.0.1 + resolution: "argparse@npm:2.0.1" + checksum: 10/18640244e641a417ec75a9bd38b0b2b6b95af5199aa241b131d4b2fb206f334d7ecc600bd194861610a5579084978bfcbb02baa399dbe442d56d0ae5e60dbaef + languageName: node + linkType: hard + +"array-buffer-byte-length@npm:^1.0.1, array-buffer-byte-length@npm:^1.0.2": + version: 1.0.2 + resolution: "array-buffer-byte-length@npm:1.0.2" + dependencies: + call-bound: "npm:^1.0.3" + is-array-buffer: "npm:^3.0.5" + checksum: 10/0ae3786195c3211b423e5be8dd93357870e6fb66357d81da968c2c39ef43583ef6eece1f9cb1caccdae4806739c65dea832b44b8593414313cd76a89795fca63 + languageName: node + linkType: hard + +"array.prototype.reduce@npm:^1.0.6": + version: 1.0.8 + resolution: "array.prototype.reduce@npm:1.0.8" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.4" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.9" + es-array-method-boxes-properly: "npm:^1.0.0" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.1.1" + is-string: "npm:^1.1.1" + checksum: 10/63f4af812f6322fcf1961c348a33a4d2504dbea26d0bde614e43708d02bcdbdb729d225bad69392e8c168803333f0438d6870eb579194a7f2e94fb471fa518bb + languageName: node + linkType: hard + +"arraybuffer.prototype.slice@npm:^1.0.4": + version: 1.0.4 + resolution: "arraybuffer.prototype.slice@npm:1.0.4" + dependencies: + array-buffer-byte-length: "npm:^1.0.1" + call-bind: "npm:^1.0.8" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.5" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.6" + is-array-buffer: "npm:^3.0.4" + checksum: 10/4821ebdfe7d699f910c7f09bc9fa996f09b96b80bccb4f5dd4b59deae582f6ad6e505ecef6376f8beac1eda06df2dbc89b70e82835d104d6fcabd33c1aed1ae9 + languageName: node + linkType: hard + +"async-function@npm:^1.0.0": + version: 1.0.0 + resolution: "async-function@npm:1.0.0" + checksum: 10/1a09379937d846f0ce7614e75071c12826945d4e417db634156bf0e4673c495989302f52186dfa9767a1d9181794554717badd193ca2bbab046ef1da741d8efd + languageName: node + linkType: hard + +"available-typed-arrays@npm:^1.0.7": + version: 1.0.7 + resolution: "available-typed-arrays@npm:1.0.7" + dependencies: + possible-typed-array-names: "npm:^1.0.0" + checksum: 10/6c9da3a66caddd83c875010a1ca8ef11eac02ba15fb592dc9418b2b5e7b77b645fa7729380a92d9835c2f05f2ca1b6251f39b993e0feb3f1517c74fa1af02cab + languageName: node + linkType: hard + +"babel-jest@npm:^29.7.0": + version: 29.7.0 + resolution: "babel-jest@npm:29.7.0" + dependencies: + "@jest/transform": "npm:^29.7.0" + "@types/babel__core": "npm:^7.1.14" + babel-plugin-istanbul: "npm:^6.1.1" + babel-preset-jest: "npm:^29.6.3" + chalk: "npm:^4.0.0" + graceful-fs: "npm:^4.2.9" + slash: "npm:^3.0.0" + peerDependencies: + "@babel/core": ^7.8.0 + checksum: 10/8a0953bd813b3a8926008f7351611055548869e9a53dd36d6e7e96679001f71e65fd7dbfe253265c3ba6a4e630dc7c845cf3e78b17d758ef1880313ce8fba258 + languageName: node + linkType: hard + +"babel-plugin-istanbul@npm:^6.1.1": + version: 6.1.1 + resolution: "babel-plugin-istanbul@npm:6.1.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@istanbuljs/load-nyc-config": "npm:^1.0.0" + "@istanbuljs/schema": "npm:^0.1.2" + istanbul-lib-instrument: "npm:^5.0.4" + test-exclude: "npm:^6.0.0" + checksum: 10/ffd436bb2a77bbe1942a33245d770506ab2262d9c1b3c1f1da7f0592f78ee7445a95bc2efafe619dd9c1b6ee52c10033d6c7d29ddefe6f5383568e60f31dfe8d + languageName: node + linkType: hard + +"babel-plugin-jest-hoist@npm:^29.6.3": + version: 29.6.3 + resolution: "babel-plugin-jest-hoist@npm:29.6.3" + dependencies: + "@babel/template": "npm:^7.3.3" + "@babel/types": "npm:^7.3.3" + "@types/babel__core": "npm:^7.1.14" + "@types/babel__traverse": "npm:^7.0.6" + checksum: 10/9bfa86ec4170bd805ab8ca5001ae50d8afcb30554d236ba4a7ffc156c1a92452e220e4acbd98daefc12bf0216fccd092d0a2efed49e7e384ec59e0597a926d65 + languageName: node + linkType: hard + +"babel-plugin-polyfill-corejs2@npm:^0.4.10": + version: 0.4.13 + resolution: "babel-plugin-polyfill-corejs2@npm:0.4.13" + dependencies: + "@babel/compat-data": "npm:^7.22.6" + "@babel/helper-define-polyfill-provider": "npm:^0.6.4" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10/e238534f345edb26471438cdef8f9182892c4a857fc1cd74d8ecb3072d5126232e299d3850027cecbcb599e721cef835b9e63aba35c2db41733635d39b76c1d8 + languageName: node + linkType: hard + +"babel-plugin-polyfill-corejs3@npm:^0.11.0": + version: 0.11.1 + resolution: "babel-plugin-polyfill-corejs3@npm:0.11.1" + dependencies: + "@babel/helper-define-polyfill-provider": "npm:^0.6.3" + core-js-compat: "npm:^3.40.0" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10/19a2978ee3462cc3b98e7d36e6537bf9fb1fb61f42fd96cb41e9313f2ac6f2c62380d94064366431eff537f342184720fe9bce73eb65fd57c5311d15e8648f62 + languageName: node + linkType: hard + +"babel-plugin-polyfill-regenerator@npm:^0.6.1": + version: 0.6.4 + resolution: "babel-plugin-polyfill-regenerator@npm:0.6.4" + dependencies: + "@babel/helper-define-polyfill-provider": "npm:^0.6.4" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10/f4d4a803834ffa72713579d696586d8cc654c0025cbd5ec775fc5d37faa00381dcb80e5b97d4b16059443352653585596d87848b5590b1d8670c235408e73fb3 + languageName: node + linkType: hard + +"babel-preset-current-node-syntax@npm:^1.0.0": + version: 1.1.0 + resolution: "babel-preset-current-node-syntax@npm:1.1.0" + dependencies: + "@babel/plugin-syntax-async-generators": "npm:^7.8.4" + "@babel/plugin-syntax-bigint": "npm:^7.8.3" + "@babel/plugin-syntax-class-properties": "npm:^7.12.13" + "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" + "@babel/plugin-syntax-import-attributes": "npm:^7.24.7" + "@babel/plugin-syntax-import-meta": "npm:^7.10.4" + "@babel/plugin-syntax-json-strings": "npm:^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" + "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" + "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" + "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" + "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" + "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" + "@babel/plugin-syntax-top-level-await": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/46331111ae72b7121172fd9e6a4a7830f651ad44bf26dbbf77b3c8a60a18009411a3eacb5e72274004290c110371230272109957d5224d155436b4794ead2f1b + languageName: node + linkType: hard + +"babel-preset-jest@npm:^29.6.3": + version: 29.6.3 + resolution: "babel-preset-jest@npm:29.6.3" + dependencies: + babel-plugin-jest-hoist: "npm:^29.6.3" + babel-preset-current-node-syntax: "npm:^1.0.0" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/aa4ff2a8a728d9d698ed521e3461a109a1e66202b13d3494e41eea30729a5e7cc03b3a2d56c594423a135429c37bf63a9fa8b0b9ce275298be3095a88c69f6fb + languageName: node + linkType: hard + +"balanced-match@npm:^1.0.0": + version: 1.0.2 + resolution: "balanced-match@npm:1.0.2" + checksum: 10/9706c088a283058a8a99e0bf91b0a2f75497f185980d9ffa8b304de1d9e58ebda7c72c07ebf01dadedaac5b2907b2c6f566f660d62bd336c3468e960403b9d65 + languageName: node + linkType: hard + +"brace-expansion@npm:^1.1.7": + version: 1.1.11 + resolution: "brace-expansion@npm:1.1.11" + dependencies: + balanced-match: "npm:^1.0.0" + concat-map: "npm:0.0.1" + checksum: 10/faf34a7bb0c3fcf4b59c7808bc5d2a96a40988addf2e7e09dfbb67a2251800e0d14cd2bfc1aa79174f2f5095c54ff27f46fb1289fe2d77dac755b5eb3434cc07 + languageName: node + linkType: hard + +"brace-expansion@npm:^2.0.1": + version: 2.0.1 + resolution: "brace-expansion@npm:2.0.1" + dependencies: + balanced-match: "npm:^1.0.0" + checksum: 10/a61e7cd2e8a8505e9f0036b3b6108ba5e926b4b55089eeb5550cd04a471fe216c96d4fe7e4c7f995c728c554ae20ddfc4244cad10aef255e72b62930afd233d1 + languageName: node + linkType: hard + +"braces@npm:^3.0.3": + version: 3.0.3 + resolution: "braces@npm:3.0.3" + dependencies: + fill-range: "npm:^7.1.1" + checksum: 10/fad11a0d4697a27162840b02b1fad249c1683cbc510cd5bf1a471f2f8085c046d41094308c577a50a03a579dd99d5a6b3724c4b5e8b14df2c4443844cfcda2c6 + languageName: node + linkType: hard + +"browserslist@npm:^4.24.0, browserslist@npm:^4.24.4": + version: 4.24.4 + resolution: "browserslist@npm:4.24.4" + dependencies: + caniuse-lite: "npm:^1.0.30001688" + electron-to-chromium: "npm:^1.5.73" + node-releases: "npm:^2.0.19" + update-browserslist-db: "npm:^1.1.1" + bin: + browserslist: cli.js + checksum: 10/11fda105e803d891311a21a1f962d83599319165faf471c2d70e045dff82a12128f5b50b1fcba665a2352ad66147aaa248a9d2355a80aadc3f53375eb3de2e48 + languageName: node + linkType: hard + +"bser@npm:2.1.1": + version: 2.1.1 + resolution: "bser@npm:2.1.1" + dependencies: + node-int64: "npm:^0.4.0" + checksum: 10/edba1b65bae682450be4117b695997972bd9a3c4dfee029cab5bcb72ae5393a79a8f909b8bc77957eb0deec1c7168670f18f4d5c556f46cdd3bca5f3b3a8d020 + languageName: node + linkType: hard + +"buffer-from@npm:^1.0.0": + version: 1.1.2 + resolution: "buffer-from@npm:1.1.2" + checksum: 10/0448524a562b37d4d7ed9efd91685a5b77a50672c556ea254ac9a6d30e3403a517d8981f10e565db24e8339413b43c97ca2951f10e399c6125a0d8911f5679bb + languageName: node + linkType: hard + +"cacache@npm:^19.0.1": + version: 19.0.1 + resolution: "cacache@npm:19.0.1" + dependencies: + "@npmcli/fs": "npm:^4.0.0" + fs-minipass: "npm:^3.0.0" + glob: "npm:^10.2.2" + lru-cache: "npm:^10.0.1" + minipass: "npm:^7.0.3" + minipass-collect: "npm:^2.0.1" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + p-map: "npm:^7.0.2" + ssri: "npm:^12.0.0" + tar: "npm:^7.4.3" + unique-filename: "npm:^4.0.0" + checksum: 10/ea026b27b13656330c2bbaa462a88181dcaa0435c1c2e705db89b31d9bdf7126049d6d0445ba746dca21454a0cfdf1d6f47fd39d34c8c8435296b30bc5738a13 + languageName: node + linkType: hard + +"call-bind-apply-helpers@npm:^1.0.0, call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": + version: 1.0.2 + resolution: "call-bind-apply-helpers@npm:1.0.2" + dependencies: + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + checksum: 10/00482c1f6aa7cfb30fb1dbeb13873edf81cfac7c29ed67a5957d60635a56b2a4a480f1016ddbdb3395cc37900d46037fb965043a51c5c789ffeab4fc535d18b5 + languageName: node + linkType: hard + +"call-bind@npm:^1.0.7, call-bind@npm:^1.0.8": + version: 1.0.8 + resolution: "call-bind@npm:1.0.8" + dependencies: + call-bind-apply-helpers: "npm:^1.0.0" + es-define-property: "npm:^1.0.0" + get-intrinsic: "npm:^1.2.4" + set-function-length: "npm:^1.2.2" + checksum: 10/659b03c79bbfccf0cde3a79e7d52570724d7290209823e1ca5088f94b52192dc1836b82a324d0144612f816abb2f1734447438e38d9dafe0b3f82c2a1b9e3bce + languageName: node + linkType: hard + +"call-bound@npm:^1.0.2, call-bound@npm:^1.0.3, call-bound@npm:^1.0.4": + version: 1.0.4 + resolution: "call-bound@npm:1.0.4" + dependencies: + call-bind-apply-helpers: "npm:^1.0.2" + get-intrinsic: "npm:^1.3.0" + checksum: 10/ef2b96e126ec0e58a7ff694db43f4d0d44f80e641370c21549ed911fecbdbc2df3ebc9bddad918d6bbdefeafb60bb3337902006d5176d72bcd2da74820991af7 + languageName: node + linkType: hard + +"callsites@npm:^3.0.0": + version: 3.1.0 + resolution: "callsites@npm:3.1.0" + checksum: 10/072d17b6abb459c2ba96598918b55868af677154bec7e73d222ef95a8fdb9bbf7dae96a8421085cdad8cd190d86653b5b6dc55a4484f2e5b2e27d5e0c3fc15b3 + languageName: node + linkType: hard + +"camelcase@npm:^5.3.1": + version: 5.3.1 + resolution: "camelcase@npm:5.3.1" + checksum: 10/e6effce26b9404e3c0f301498184f243811c30dfe6d0b9051863bd8e4034d09c8c2923794f280d6827e5aa055f6c434115ff97864a16a963366fb35fd673024b + languageName: node + linkType: hard + +"camelcase@npm:^6.2.0": + version: 6.3.0 + resolution: "camelcase@npm:6.3.0" + checksum: 10/8c96818a9076434998511251dcb2761a94817ea17dbdc37f47ac080bd088fc62c7369429a19e2178b993497132c8cbcf5cc1f44ba963e76782ba469c0474938d + languageName: node + linkType: hard + +"caniuse-lite@npm:^1.0.30001688": + version: 1.0.30001714 + resolution: "caniuse-lite@npm:1.0.30001714" + checksum: 10/72ab5f5b3619f7ce53d46c08eea0efb977825fa1c895572d9ae20ed56a2b98e8f668b3167def711cde3b4ce8e07cc9e1fb8823783305453f6d2c2fd5341914d8 + languageName: node + linkType: hard + +"chalk@npm:^4.0.0": + version: 4.1.2 + resolution: "chalk@npm:4.1.2" + dependencies: + ansi-styles: "npm:^4.1.0" + supports-color: "npm:^7.1.0" + checksum: 10/cb3f3e594913d63b1814d7ca7c9bafbf895f75fbf93b92991980610dfd7b48500af4e3a5d4e3a8f337990a96b168d7eb84ee55efdce965e2ee8efc20f8c8f139 + languageName: node + linkType: hard + +"char-regex@npm:^1.0.2": + version: 1.0.2 + resolution: "char-regex@npm:1.0.2" + checksum: 10/1ec5c2906adb9f84e7f6732a40baef05d7c85401b82ffcbc44b85fbd0f7a2b0c2a96f2eb9cf55cae3235dc12d4023003b88f09bcae8be9ae894f52ed746f4d48 + languageName: node + linkType: hard + +"chownr@npm:^3.0.0": + version: 3.0.0 + resolution: "chownr@npm:3.0.0" + checksum: 10/b63cb1f73d171d140a2ed8154ee6566c8ab775d3196b0e03a2a94b5f6a0ce7777ee5685ca56849403c8d17bd457a6540672f9a60696a6137c7a409097495b82c + languageName: node + linkType: hard + +"ci-info@npm:^3.2.0": + version: 3.9.0 + resolution: "ci-info@npm:3.9.0" + checksum: 10/75bc67902b4d1c7b435497adeb91598f6d52a3389398e44294f6601b20cfef32cf2176f7be0eb961d9e085bb333a8a5cae121cb22f81cf238ae7f58eb80e9397 + languageName: node + linkType: hard + +"cjs-module-lexer@npm:^1.0.0": + version: 1.4.3 + resolution: "cjs-module-lexer@npm:1.4.3" + checksum: 10/d2b92f919a2dedbfd61d016964fce8da0035f827182ed6839c97cac56e8a8077cfa6a59388adfe2bc588a19cef9bbe830d683a76a6e93c51f65852062cfe2591 + languageName: node + linkType: hard + +"cliui@npm:^8.0.1": + version: 8.0.1 + resolution: "cliui@npm:8.0.1" + dependencies: + string-width: "npm:^4.2.0" + strip-ansi: "npm:^6.0.1" + wrap-ansi: "npm:^7.0.0" + checksum: 10/eaa5561aeb3135c2cddf7a3b3f562fc4238ff3b3fc666869ef2adf264be0f372136702f16add9299087fb1907c2e4ec5dbfe83bd24bce815c70a80c6c1a2e950 + languageName: node + linkType: hard + +"clone-deep@npm:^4.0.1": + version: 4.0.1 + resolution: "clone-deep@npm:4.0.1" + dependencies: + is-plain-object: "npm:^2.0.4" + kind-of: "npm:^6.0.2" + shallow-clone: "npm:^3.0.0" + checksum: 10/770f912fe4e6f21873c8e8fbb1e99134db3b93da32df271d00589ea4a29dbe83a9808a322c93f3bcaf8584b8b4fa6fc269fc8032efbaa6728e0c9886c74467d2 + languageName: node + linkType: hard + +"co@npm:^4.6.0": + version: 4.6.0 + resolution: "co@npm:4.6.0" + checksum: 10/a5d9f37091c70398a269e625cedff5622f200ed0aa0cff22ee7b55ed74a123834b58711776eb0f1dc58eb6ebbc1185aa7567b57bd5979a948c6e4f85073e2c05 + languageName: node + linkType: hard + +"collect-v8-coverage@npm:^1.0.0": + version: 1.0.2 + resolution: "collect-v8-coverage@npm:1.0.2" + checksum: 10/30ea7d5c9ee51f2fdba4901d4186c5b7114a088ef98fd53eda3979da77eed96758a2cae81cc6d97e239aaea6065868cf908b24980663f7b7e96aa291b3e12fa4 + languageName: node + linkType: hard + +"color-convert@npm:^2.0.1": + version: 2.0.1 + resolution: "color-convert@npm:2.0.1" + dependencies: + color-name: "npm:~1.1.4" + checksum: 10/fa00c91b4332b294de06b443923246bccebe9fab1b253f7fe1772d37b06a2269b4039a85e309abe1fe11b267b11c08d1d0473fda3badd6167f57313af2887a64 + languageName: node + linkType: hard + +"color-name@npm:~1.1.4": + version: 1.1.4 + resolution: "color-name@npm:1.1.4" + checksum: 10/b0445859521eb4021cd0fb0cc1a75cecf67fceecae89b63f62b201cca8d345baf8b952c966862a9d9a2632987d4f6581f0ec8d957dfacece86f0a7919316f610 + languageName: node + linkType: hard + +"commander@npm:^6.2.0": + version: 6.2.1 + resolution: "commander@npm:6.2.1" + checksum: 10/25b88c2efd0380c84f7844b39cf18510da7bfc5013692d68cdc65f764a1c34e6c8a36ea6d72b6620e3710a930cf8fab2695bdec2bf7107a0f4fa30a3ef3b7d0e + languageName: node + linkType: hard + +"commondir@npm:^1.0.1": + version: 1.0.1 + resolution: "commondir@npm:1.0.1" + checksum: 10/4620bc4936a4ef12ce7dfcd272bb23a99f2ad68889a4e4ad766c9f8ad21af982511934d6f7050d4a8bde90011b1c15d56e61a1b4576d9913efbf697a20172d6c + languageName: node + linkType: hard + +"concat-map@npm:0.0.1": + version: 0.0.1 + resolution: "concat-map@npm:0.0.1" + checksum: 10/9680699c8e2b3af0ae22592cb764acaf973f292a7b71b8a06720233011853a58e256c89216a10cbe889727532fd77f8bcd49a760cedfde271b8e006c20e079f2 + languageName: node + linkType: hard + +"convert-source-map@npm:^2.0.0": + version: 2.0.0 + resolution: "convert-source-map@npm:2.0.0" + checksum: 10/c987be3ec061348cdb3c2bfb924bec86dea1eacad10550a85ca23edb0fe3556c3a61c7399114f3331ccb3499d7fd0285ab24566e5745929412983494c3926e15 + languageName: node + linkType: hard + +"core-js-compat@npm:^3.40.0": + version: 3.41.0 + resolution: "core-js-compat@npm:3.41.0" + dependencies: + browserslist: "npm:^4.24.4" + checksum: 10/a59da111fc437cc7ed1a1448dae6883617cabebd7731433d27ad75e0ff77df5f411204979bd8eb5668d2600f99db46eedf6f87e123109b6de728bef489d4229a + languageName: node + linkType: hard + +"core-js@npm:^3.30.2": + version: 3.41.0 + resolution: "core-js@npm:3.41.0" + checksum: 10/a06ebae2264dd24c8e4b331a68412f7d0730557c41901f80fa910a9398dbef4670482d9ef5a41fef7efd41307c612d3d4051df7640ac4c01ff6feda45f8b92be + languageName: node + linkType: hard + +"core-js@npm:~3.38.0, core-js@npm:~3.38.1": + version: 3.38.1 + resolution: "core-js@npm:3.38.1" + checksum: 10/3c25fdf0b2595ed37ceb305213a61e2cf26185f628455e99d1c736dda5f69e2de4de7126e6a1da136f54260c4fcc982c4215e37b5a618790a597930f854c0a37 + languageName: node + linkType: hard + +"create-jest@npm:^29.7.0": + version: 29.7.0 + resolution: "create-jest@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + chalk: "npm:^4.0.0" + exit: "npm:^0.1.2" + graceful-fs: "npm:^4.2.9" + jest-config: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + prompts: "npm:^2.0.1" + bin: + create-jest: bin/create-jest.js + checksum: 10/847b4764451672b4174be4d5c6d7d63442ec3aa5f3de52af924e4d996d87d7801c18e125504f25232fc75840f6625b3ac85860fac6ce799b5efae7bdcaf4a2b7 + languageName: node + linkType: hard + +"cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.6": + version: 7.0.6 + resolution: "cross-spawn@npm:7.0.6" + dependencies: + path-key: "npm:^3.1.0" + shebang-command: "npm:^2.0.0" + which: "npm:^2.0.1" + checksum: 10/0d52657d7ae36eb130999dffff1168ec348687b48dd38e2ff59992ed916c88d328cf1d07ff4a4a10bc78de5e1c23f04b306d569e42f7a2293915c081e4dfee86 + languageName: node + linkType: hard + +"data-view-buffer@npm:^1.0.2": + version: 1.0.2 + resolution: "data-view-buffer@npm:1.0.2" + dependencies: + call-bound: "npm:^1.0.3" + es-errors: "npm:^1.3.0" + is-data-view: "npm:^1.0.2" + checksum: 10/c10b155a4e93999d3a215d08c23eea95f865e1f510b2e7748fcae1882b776df1afe8c99f483ace7fc0e5a3193ab08da138abebc9829d12003746c5a338c4d644 + languageName: node + linkType: hard + +"data-view-byte-length@npm:^1.0.2": + version: 1.0.2 + resolution: "data-view-byte-length@npm:1.0.2" + dependencies: + call-bound: "npm:^1.0.3" + es-errors: "npm:^1.3.0" + is-data-view: "npm:^1.0.2" + checksum: 10/2a47055fcf1ab3ec41b00b6f738c6461a841391a643c9ed9befec1117c1765b4d492661d97fb7cc899200c328949dca6ff189d2c6537d96d60e8a02dfe3c95f7 + languageName: node + linkType: hard + +"data-view-byte-offset@npm:^1.0.1": + version: 1.0.1 + resolution: "data-view-byte-offset@npm:1.0.1" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + is-data-view: "npm:^1.0.1" + checksum: 10/fa3bdfa0968bea6711ee50375094b39f561bce3f15f9e558df59de9c25f0bdd4cddc002d9c1d70ac7772ebd36854a7e22d1761e7302a934e6f1c2263bcf44aa2 + languageName: node + linkType: hard + +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4": + version: 4.4.0 + resolution: "debug@npm:4.4.0" + dependencies: + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10/1847944c2e3c2c732514b93d11886575625686056cd765336212dc15de2d2b29612b6cd80e1afba767bb8e1803b778caf9973e98169ef1a24a7a7009e1820367 + languageName: node + linkType: hard + +"dedent@npm:^1.0.0": + version: 1.5.3 + resolution: "dedent@npm:1.5.3" + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + checksum: 10/e5277f6268f288649503125b781a7b7a2c9b22d011139688c0b3619fe40121e600eb1f077c891938d4b2428bdb6326cc3c77a763e4b1cc681bd9666ab1bad2a1 + languageName: node + linkType: hard + +"deep-is@npm:^0.1.3": + version: 0.1.4 + resolution: "deep-is@npm:0.1.4" + checksum: 10/ec12d074aef5ae5e81fa470b9317c313142c9e8e2afe3f8efa124db309720db96d1d222b82b84c834e5f87e7a614b44a4684b6683583118b87c833b3be40d4d8 + languageName: node + linkType: hard + +"deepmerge@npm:^4.2.2": + version: 4.3.1 + resolution: "deepmerge@npm:4.3.1" + checksum: 10/058d9e1b0ff1a154468bf3837aea436abcfea1ba1d165ddaaf48ca93765fdd01a30d33c36173da8fbbed951dd0a267602bc782fe288b0fc4b7e1e7091afc4529 + languageName: node + linkType: hard + +"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.4": + version: 1.1.4 + resolution: "define-data-property@npm:1.1.4" + dependencies: + es-define-property: "npm:^1.0.0" + es-errors: "npm:^1.3.0" + gopd: "npm:^1.0.1" + checksum: 10/abdcb2505d80a53524ba871273e5da75e77e52af9e15b3aa65d8aad82b8a3a424dad7aee2cc0b71470ac7acf501e08defac362e8b6a73cdb4309f028061df4ae + languageName: node + linkType: hard + +"define-properties@npm:^1.2.1": + version: 1.2.1 + resolution: "define-properties@npm:1.2.1" + dependencies: + define-data-property: "npm:^1.0.1" + has-property-descriptors: "npm:^1.0.0" + object-keys: "npm:^1.1.1" + checksum: 10/b4ccd00597dd46cb2d4a379398f5b19fca84a16f3374e2249201992f36b30f6835949a9429669ee6b41b6e837205a163eadd745e472069e70dfc10f03e5fcc12 + languageName: node + linkType: hard + +"detect-newline@npm:^3.0.0": + version: 3.1.0 + resolution: "detect-newline@npm:3.1.0" + checksum: 10/ae6cd429c41ad01b164c59ea36f264a2c479598e61cba7c99da24175a7ab80ddf066420f2bec9a1c57a6bead411b4655ff15ad7d281c000a89791f48cbe939e7 + languageName: node + linkType: hard + +"diff-sequences@npm:^29.6.3": + version: 29.6.3 + resolution: "diff-sequences@npm:29.6.3" + checksum: 10/179daf9d2f9af5c57ad66d97cb902a538bcf8ed64963fa7aa0c329b3de3665ce2eb6ffdc2f69f29d445fa4af2517e5e55e5b6e00c00a9ae4f43645f97f7078cb + languageName: node + linkType: hard + +"dunder-proto@npm:^1.0.0, dunder-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "dunder-proto@npm:1.0.1" + dependencies: + call-bind-apply-helpers: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + gopd: "npm:^1.2.0" + checksum: 10/5add88a3d68d42d6e6130a0cac450b7c2edbe73364bbd2fc334564418569bea97c6943a8fcd70e27130bf32afc236f30982fc4905039b703f23e9e0433c29934 + languageName: node + linkType: hard + +"eastasianwidth@npm:^0.2.0": + version: 0.2.0 + resolution: "eastasianwidth@npm:0.2.0" + checksum: 10/9b1d3e1baefeaf7d70799db8774149cef33b97183a6addceeba0cf6b85ba23ee2686f302f14482006df32df75d32b17c509c143a3689627929e4a8efaf483952 + languageName: node + linkType: hard + +"electron-to-chromium@npm:^1.5.73": + version: 1.5.138 + resolution: "electron-to-chromium@npm:1.5.138" + checksum: 10/31bc473bec413d4d37dfd6c925078251908fea5cf8e6481a7e135323c3d4893f650ee7abaaab83a6a9b2f755a5055fdd54c98f773191b3139f5be68b5d2393e7 + languageName: node + linkType: hard + +"emittery@npm:^0.13.1": + version: 0.13.1 + resolution: "emittery@npm:0.13.1" + checksum: 10/fbe214171d878b924eedf1757badf58a5dce071cd1fa7f620fa841a0901a80d6da47ff05929d53163105e621ce11a71b9d8acb1148ffe1745e045145f6e69521 + languageName: node + linkType: hard + +"emoji-regex@npm:^8.0.0": + version: 8.0.0 + resolution: "emoji-regex@npm:8.0.0" + checksum: 10/c72d67a6821be15ec11997877c437491c313d924306b8da5d87d2a2bcc2cec9903cb5b04ee1a088460501d8e5b44f10df82fdc93c444101a7610b80c8b6938e1 + languageName: node + linkType: hard + +"emoji-regex@npm:^9.2.2": + version: 9.2.2 + resolution: "emoji-regex@npm:9.2.2" + checksum: 10/915acf859cea7131dac1b2b5c9c8e35c4849e325a1d114c30adb8cd615970f6dca0e27f64f3a4949d7d6ed86ecd79a1c5c63f02e697513cddd7b5835c90948b8 + languageName: node + linkType: hard + +"encoding@npm:^0.1.13": + version: 0.1.13 + resolution: "encoding@npm:0.1.13" + dependencies: + iconv-lite: "npm:^0.6.2" + checksum: 10/bb98632f8ffa823996e508ce6a58ffcf5856330fde839ae42c9e1f436cc3b5cc651d4aeae72222916545428e54fd0f6aa8862fd8d25bdbcc4589f1e3f3715e7f + languageName: node + linkType: hard + +"env-paths@npm:^2.2.0": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 10/65b5df55a8bab92229ab2b40dad3b387fad24613263d103a97f91c9fe43ceb21965cd3392b1ccb5d77088021e525c4e0481adb309625d0cb94ade1d1fb8dc17e + languageName: node + linkType: hard + +"err-code@npm:^2.0.2": + version: 2.0.3 + resolution: "err-code@npm:2.0.3" + checksum: 10/1d20d825cdcce8d811bfbe86340f4755c02655a7feb2f13f8c880566d9d72a3f6c92c192a6867632e490d6da67b678271f46e01044996a6443e870331100dfdd + languageName: node + linkType: hard + +"error-ex@npm:^1.3.1": + version: 1.3.2 + resolution: "error-ex@npm:1.3.2" + dependencies: + is-arrayish: "npm:^0.2.1" + checksum: 10/d547740aa29c34e753fb6fed2c5de81802438529c12b3673bd37b6bb1fe49b9b7abdc3c11e6062fe625d8a296b3cf769a80f878865e25e685f787763eede3ffb + languageName: node + linkType: hard + +"es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.5, es-abstract@npm:^1.23.9": + version: 1.23.9 + resolution: "es-abstract@npm:1.23.9" + dependencies: + array-buffer-byte-length: "npm:^1.0.2" + arraybuffer.prototype.slice: "npm:^1.0.4" + available-typed-arrays: "npm:^1.0.7" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + data-view-buffer: "npm:^1.0.2" + data-view-byte-length: "npm:^1.0.2" + data-view-byte-offset: "npm:^1.0.1" + es-define-property: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.0.0" + es-set-tostringtag: "npm:^2.1.0" + es-to-primitive: "npm:^1.3.0" + function.prototype.name: "npm:^1.1.8" + get-intrinsic: "npm:^1.2.7" + get-proto: "npm:^1.0.0" + get-symbol-description: "npm:^1.1.0" + globalthis: "npm:^1.0.4" + gopd: "npm:^1.2.0" + has-property-descriptors: "npm:^1.0.2" + has-proto: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + hasown: "npm:^2.0.2" + internal-slot: "npm:^1.1.0" + is-array-buffer: "npm:^3.0.5" + is-callable: "npm:^1.2.7" + is-data-view: "npm:^1.0.2" + is-regex: "npm:^1.2.1" + is-shared-array-buffer: "npm:^1.0.4" + is-string: "npm:^1.1.1" + is-typed-array: "npm:^1.1.15" + is-weakref: "npm:^1.1.0" + math-intrinsics: "npm:^1.1.0" + object-inspect: "npm:^1.13.3" + object-keys: "npm:^1.1.1" + object.assign: "npm:^4.1.7" + own-keys: "npm:^1.0.1" + regexp.prototype.flags: "npm:^1.5.3" + safe-array-concat: "npm:^1.1.3" + safe-push-apply: "npm:^1.0.0" + safe-regex-test: "npm:^1.1.0" + set-proto: "npm:^1.0.0" + string.prototype.trim: "npm:^1.2.10" + string.prototype.trimend: "npm:^1.0.9" + string.prototype.trimstart: "npm:^1.0.8" + typed-array-buffer: "npm:^1.0.3" + typed-array-byte-length: "npm:^1.0.3" + typed-array-byte-offset: "npm:^1.0.4" + typed-array-length: "npm:^1.0.7" + unbox-primitive: "npm:^1.1.0" + which-typed-array: "npm:^1.1.18" + checksum: 10/31a321966d760d88fc2ed984104841b42f4f24fc322b246002b9be0af162e03803ee41fcc3cf8be89e07a27ba3033168f877dd983703cb81422ffe5322a27582 + languageName: node + linkType: hard + +"es-array-method-boxes-properly@npm:^1.0.0": + version: 1.0.0 + resolution: "es-array-method-boxes-properly@npm:1.0.0" + checksum: 10/27a8a21acf20f3f51f69dce8e643f151e380bffe569e95dc933b9ded9fcd89a765ee21b5229c93f9206c93f87395c6b75f80be8ac8c08a7ceb8771e1822ff1fb + languageName: node + linkType: hard + +"es-define-property@npm:^1.0.0, es-define-property@npm:^1.0.1": + version: 1.0.1 + resolution: "es-define-property@npm:1.0.1" + checksum: 10/f8dc9e660d90919f11084db0a893128f3592b781ce967e4fccfb8f3106cb83e400a4032c559184ec52ee1dbd4b01e7776c7cd0b3327b1961b1a4a7008920fe78 + languageName: node + linkType: hard + +"es-errors@npm:^1.3.0": + version: 1.3.0 + resolution: "es-errors@npm:1.3.0" + checksum: 10/96e65d640156f91b707517e8cdc454dd7d47c32833aa3e85d79f24f9eb7ea85f39b63e36216ef0114996581969b59fe609a94e30316b08f5f4df1d44134cf8d5 + languageName: node + linkType: hard + +"es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1": + version: 1.1.1 + resolution: "es-object-atoms@npm:1.1.1" + dependencies: + es-errors: "npm:^1.3.0" + checksum: 10/54fe77de288451dae51c37bfbfe3ec86732dc3778f98f3eb3bdb4bf48063b2c0b8f9c93542656986149d08aa5be3204286e2276053d19582b76753f1a2728867 + languageName: node + linkType: hard + +"es-set-tostringtag@npm:^2.1.0": + version: 2.1.0 + resolution: "es-set-tostringtag@npm:2.1.0" + dependencies: + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.6" + has-tostringtag: "npm:^1.0.2" + hasown: "npm:^2.0.2" + checksum: 10/86814bf8afbcd8966653f731415888019d4bc4aca6b6c354132a7a75bb87566751e320369654a101d23a91c87a85c79b178bcf40332839bd347aff437c4fb65f + languageName: node + linkType: hard + +"es-to-primitive@npm:^1.3.0": + version: 1.3.0 + resolution: "es-to-primitive@npm:1.3.0" + dependencies: + is-callable: "npm:^1.2.7" + is-date-object: "npm:^1.0.5" + is-symbol: "npm:^1.0.4" + checksum: 10/17faf35c221aad59a16286cbf58ef6f080bf3c485dff202c490d074d8e74da07884e29b852c245d894eac84f73c58330ec956dfd6d02c0b449d75eb1012a3f9b + languageName: node + linkType: hard + +"escalade@npm:^3.1.1, escalade@npm:^3.2.0": + version: 3.2.0 + resolution: "escalade@npm:3.2.0" + checksum: 10/9d7169e3965b2f9ae46971afa392f6e5a25545ea30f2e2dd99c9b0a95a3f52b5653681a84f5b2911a413ddad2d7a93d3514165072f349b5ffc59c75a899970d6 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^2.0.0": + version: 2.0.0 + resolution: "escape-string-regexp@npm:2.0.0" + checksum: 10/9f8a2d5743677c16e85c810e3024d54f0c8dea6424fad3c79ef6666e81dd0846f7437f5e729dfcdac8981bc9e5294c39b4580814d114076b8d36318f46ae4395 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^4.0.0": + version: 4.0.0 + resolution: "escape-string-regexp@npm:4.0.0" + checksum: 10/98b48897d93060f2322108bf29db0feba7dd774be96cd069458d1453347b25ce8682ecc39859d4bca2203cc0ab19c237bcc71755eff49a0f8d90beadeeba5cc5 + languageName: node + linkType: hard + +"eslint-config-prettier@npm:^9.1.0": + version: 9.1.0 + resolution: "eslint-config-prettier@npm:9.1.0" + peerDependencies: + eslint: ">=7.0.0" + bin: + eslint-config-prettier: bin/cli.js + checksum: 10/411e3b3b1c7aa04e3e0f20d561271b3b909014956c4dba51c878bf1a23dbb8c800a3be235c46c4732c70827276e540b6eed4636d9b09b444fd0a8e07f0fcd830 + languageName: node + linkType: hard + +"eslint-plugin-jest@npm:^28.8.0": + version: 28.11.0 + resolution: "eslint-plugin-jest@npm:28.11.0" + dependencies: + "@typescript-eslint/utils": "npm:^6.0.0 || ^7.0.0 || ^8.0.0" + peerDependencies: + "@typescript-eslint/eslint-plugin": ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 + jest: "*" + peerDependenciesMeta: + "@typescript-eslint/eslint-plugin": + optional: true + jest: + optional: true + checksum: 10/7f3896ec2dc03110688bb9f359a7aa1ba1a6d9a60ffbc3642361c4aaf55afcba9ce36b6609b20b1507028c2170ffe29b0f3e9cc9b7fe12fdd233740a2f9ce0a1 + languageName: node + linkType: hard + +"eslint-scope@npm:^8.3.0": + version: 8.3.0 + resolution: "eslint-scope@npm:8.3.0" + dependencies: + esrecurse: "npm:^4.3.0" + estraverse: "npm:^5.2.0" + checksum: 10/ee1ff009e949423639a8b53453c0cb189967d9142c5d94dc3752bed9880140a0760007148ac6b0bd03557d70ede9cd7c3b1e66f9a7f3427b2dbeca2a5be22c91 + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^3.4.3": + version: 3.4.3 + resolution: "eslint-visitor-keys@npm:3.4.3" + checksum: 10/3f357c554a9ea794b094a09bd4187e5eacd1bc0d0653c3adeb87962c548e6a1ab8f982b86963ae1337f5d976004146536dcee5d0e2806665b193fbfbf1a9231b + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^4.2.0": + version: 4.2.0 + resolution: "eslint-visitor-keys@npm:4.2.0" + checksum: 10/9651b3356b01760e586b4c631c5268c0e1a85236e3292bf754f0472f465bf9a856c0ddc261fceace155334118c0151778effafbab981413dbf9288349343fa25 + languageName: node + linkType: hard + +"eslint@npm:^9.12.0": + version: 9.25.0 + resolution: "eslint@npm:9.25.0" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.2.0" + "@eslint-community/regexpp": "npm:^4.12.1" + "@eslint/config-array": "npm:^0.20.0" + "@eslint/config-helpers": "npm:^0.2.1" + "@eslint/core": "npm:^0.13.0" + "@eslint/eslintrc": "npm:^3.3.1" + "@eslint/js": "npm:9.25.0" + "@eslint/plugin-kit": "npm:^0.2.8" + "@humanfs/node": "npm:^0.16.6" + "@humanwhocodes/module-importer": "npm:^1.0.1" + "@humanwhocodes/retry": "npm:^0.4.2" + "@types/estree": "npm:^1.0.6" + "@types/json-schema": "npm:^7.0.15" + ajv: "npm:^6.12.4" + chalk: "npm:^4.0.0" + cross-spawn: "npm:^7.0.6" + debug: "npm:^4.3.2" + escape-string-regexp: "npm:^4.0.0" + eslint-scope: "npm:^8.3.0" + eslint-visitor-keys: "npm:^4.2.0" + espree: "npm:^10.3.0" + esquery: "npm:^1.5.0" + esutils: "npm:^2.0.2" + fast-deep-equal: "npm:^3.1.3" + file-entry-cache: "npm:^8.0.0" + find-up: "npm:^5.0.0" + glob-parent: "npm:^6.0.2" + ignore: "npm:^5.2.0" + imurmurhash: "npm:^0.1.4" + is-glob: "npm:^4.0.0" + json-stable-stringify-without-jsonify: "npm:^1.0.1" + lodash.merge: "npm:^4.6.2" + minimatch: "npm:^3.1.2" + natural-compare: "npm:^1.4.0" + optionator: "npm:^0.9.3" + peerDependencies: + jiti: "*" + peerDependenciesMeta: + jiti: + optional: true + bin: + eslint: bin/eslint.js + checksum: 10/deae86e719193e00d3c03bd17eb0b7c602a0ab7de676dec878d3be54d97b9095fe52270644a473beb4965c7632733cc6003834e56dd11f78c8b8ef41e0ac4f11 + languageName: node + linkType: hard + +"espree@npm:^10.0.1, espree@npm:^10.3.0": + version: 10.3.0 + resolution: "espree@npm:10.3.0" + dependencies: + acorn: "npm:^8.14.0" + acorn-jsx: "npm:^5.3.2" + eslint-visitor-keys: "npm:^4.2.0" + checksum: 10/3412d44d4204c9e29d6b5dd0277400cfa0cd68495dc09eae1b9ce79d0c8985c1c5cc09cb9ba32a1cd963f48a49b0c46bdb7736afe395a300aa6bb1c0d86837e8 + languageName: node + linkType: hard + +"esprima@npm:^4.0.0": + version: 4.0.1 + resolution: "esprima@npm:4.0.1" + bin: + esparse: ./bin/esparse.js + esvalidate: ./bin/esvalidate.js + checksum: 10/f1d3c622ad992421362294f7acf866aa9409fbad4eb2e8fa230bd33944ce371d32279667b242d8b8907ec2b6ad7353a717f3c0e60e748873a34a7905174bc0eb + languageName: node + linkType: hard + +"esquery@npm:^1.5.0": + version: 1.6.0 + resolution: "esquery@npm:1.6.0" + dependencies: + estraverse: "npm:^5.1.0" + checksum: 10/c587fb8ec9ed83f2b1bc97cf2f6854cc30bf784a79d62ba08c6e358bf22280d69aee12827521cf38e69ae9761d23fb7fde593ce315610f85655c139d99b05e5a + languageName: node + linkType: hard + +"esrecurse@npm:^4.3.0": + version: 4.3.0 + resolution: "esrecurse@npm:4.3.0" + dependencies: + estraverse: "npm:^5.2.0" + checksum: 10/44ffcd89e714ea6b30143e7f119b104fc4d75e77ee913f34d59076b40ef2d21967f84e019f84e1fd0465b42cdbf725db449f232b5e47f29df29ed76194db8e16 + languageName: node + linkType: hard + +"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": + version: 5.3.0 + resolution: "estraverse@npm:5.3.0" + checksum: 10/37cbe6e9a68014d34dbdc039f90d0baf72436809d02edffcc06ba3c2a12eb298048f877511353b130153e532aac8d68ba78430c0dd2f44806ebc7c014b01585e + languageName: node + linkType: hard + +"esutils@npm:^2.0.2": + version: 2.0.3 + resolution: "esutils@npm:2.0.3" + checksum: 10/b23acd24791db11d8f65be5ea58fd9a6ce2df5120ae2da65c16cfc5331ff59d5ac4ef50af66cd4bde238881503ec839928a0135b99a036a9cdfa22d17fd56cdb + languageName: node + linkType: hard + +"execa@npm:^5.0.0": + version: 5.1.1 + resolution: "execa@npm:5.1.1" + dependencies: + cross-spawn: "npm:^7.0.3" + get-stream: "npm:^6.0.0" + human-signals: "npm:^2.1.0" + is-stream: "npm:^2.0.0" + merge-stream: "npm:^2.0.0" + npm-run-path: "npm:^4.0.1" + onetime: "npm:^5.1.2" + signal-exit: "npm:^3.0.3" + strip-final-newline: "npm:^2.0.0" + checksum: 10/8ada91f2d70f7dff702c861c2c64f21dfdc1525628f3c0454fd6f02fce65f7b958616cbd2b99ca7fa4d474e461a3d363824e91b3eb881705231abbf387470597 + languageName: node + linkType: hard + +"exit@npm:^0.1.2": + version: 0.1.2 + resolution: "exit@npm:0.1.2" + checksum: 10/387555050c5b3c10e7a9e8df5f43194e95d7737c74532c409910e585d5554eaff34960c166643f5e23d042196529daad059c292dcf1fb61b8ca878d3677f4b87 + languageName: node + linkType: hard + +"expect@npm:^29.7.0": + version: 29.7.0 + resolution: "expect@npm:29.7.0" + dependencies: + "@jest/expect-utils": "npm:^29.7.0" + jest-get-type: "npm:^29.6.3" + jest-matcher-utils: "npm:^29.7.0" + jest-message-util: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + checksum: 10/63f97bc51f56a491950fb525f9ad94f1916e8a014947f8d8445d3847a665b5471b768522d659f5e865db20b6c2033d2ac10f35fcbd881a4d26407a4f6f18451a + languageName: node + linkType: hard + +"exponential-backoff@npm:^3.1.1": + version: 3.1.2 + resolution: "exponential-backoff@npm:3.1.2" + checksum: 10/ca2f01f1aa4dafd3f3917bd531ab5be08c6f5f4b2389d2e974f903de3cbeb50b9633374353516b6afd70905775e33aba11afab1232d3acf0aa2963b98a611c51 + languageName: node + linkType: hard + +"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": + version: 3.1.3 + resolution: "fast-deep-equal@npm:3.1.3" + checksum: 10/e21a9d8d84f53493b6aa15efc9cfd53dd5b714a1f23f67fb5dc8f574af80df889b3bce25dc081887c6d25457cce704e636395333abad896ccdec03abaf1f3f9d + languageName: node + linkType: hard + +"fast-glob@npm:^3.3.2": + version: 3.3.3 + resolution: "fast-glob@npm:3.3.3" + dependencies: + "@nodelib/fs.stat": "npm:^2.0.2" + "@nodelib/fs.walk": "npm:^1.2.3" + glob-parent: "npm:^5.1.2" + merge2: "npm:^1.3.0" + micromatch: "npm:^4.0.8" + checksum: 10/dcc6432b269762dd47381d8b8358bf964d8f4f60286ac6aa41c01ade70bda459ff2001b516690b96d5365f68a49242966112b5d5cc9cd82395fa8f9d017c90ad + languageName: node + linkType: hard + +"fast-json-stable-stringify@npm:^2.0.0, fast-json-stable-stringify@npm:^2.1.0": + version: 2.1.0 + resolution: "fast-json-stable-stringify@npm:2.1.0" + checksum: 10/2c20055c1fa43c922428f16ca8bb29f2807de63e5c851f665f7ac9790176c01c3b40335257736b299764a8d383388dabc73c8083b8e1bc3d99f0a941444ec60e + languageName: node + linkType: hard + +"fast-levenshtein@npm:^2.0.6": + version: 2.0.6 + resolution: "fast-levenshtein@npm:2.0.6" + checksum: 10/eb7e220ecf2bab5159d157350b81d01f75726a4382f5a9266f42b9150c4523b9795f7f5d9fbbbeaeac09a441b2369f05ee02db48ea938584205530fe5693cfe1 + languageName: node + linkType: hard + +"fastq@npm:^1.6.0": + version: 1.19.1 + resolution: "fastq@npm:1.19.1" + dependencies: + reusify: "npm:^1.0.4" + checksum: 10/75679dc226316341c4f2a6b618571f51eac96779906faecd8921b984e844d6ae42fabb2df69b1071327d398d5716693ea9c9c8941f64ac9e89ec2032ce59d730 + languageName: node + linkType: hard + +"fb-watchman@npm:^2.0.0": + version: 2.0.2 + resolution: "fb-watchman@npm:2.0.2" + dependencies: + bser: "npm:2.1.1" + checksum: 10/4f95d336fb805786759e383fd7fff342ceb7680f53efcc0ef82f502eb479ce35b98e8b207b6dfdfeea0eba845862107dc73813775fc6b56b3098c6e90a2dad77 + languageName: node + linkType: hard + +"fdir@npm:^6.4.3": + version: 6.4.3 + resolution: "fdir@npm:6.4.3" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: 10/8e6d20f4590dc168de1374a9cadaa37e20ca6e0b822aa247c230e7ea1d9e9674a68cd816146435e4ecc98f9285091462ab7e5e56eebc9510931a1794e4db68b2 + languageName: node + linkType: hard + +"file-entry-cache@npm:^8.0.0": + version: 8.0.0 + resolution: "file-entry-cache@npm:8.0.0" + dependencies: + flat-cache: "npm:^4.0.0" + checksum: 10/afe55c4de4e0d226a23c1eae62a7219aafb390859122608a89fa4df6addf55c7fd3f1a2da6f5b41e7cdff496e4cf28bbd215d53eab5c817afa96d2b40c81bfb0 + languageName: node + linkType: hard + +"fill-range@npm:^7.1.1": + version: 7.1.1 + resolution: "fill-range@npm:7.1.1" + dependencies: + to-regex-range: "npm:^5.0.1" + checksum: 10/a7095cb39e5bc32fada2aa7c7249d3f6b01bd1ce461a61b0adabacccabd9198500c6fb1f68a7c851a657e273fce2233ba869638897f3d7ed2e87a2d89b4436ea + languageName: node + linkType: hard + +"find-cache-dir@npm:^2.0.0": + version: 2.1.0 + resolution: "find-cache-dir@npm:2.1.0" + dependencies: + commondir: "npm:^1.0.1" + make-dir: "npm:^2.0.0" + pkg-dir: "npm:^3.0.0" + checksum: 10/60ad475a6da9f257df4e81900f78986ab367d4f65d33cf802c5b91e969c28a8762f098693d7a571b6e4dd4c15166c2da32ae2d18b6766a18e2071079448fdce4 + languageName: node + linkType: hard + +"find-up@npm:^3.0.0": + version: 3.0.0 + resolution: "find-up@npm:3.0.0" + dependencies: + locate-path: "npm:^3.0.0" + checksum: 10/38eba3fe7a66e4bc7f0f5a1366dc25508b7cfc349f852640e3678d26ad9a6d7e2c43eff0a472287de4a9753ef58f066a0ea892a256fa3636ad51b3fe1e17fae9 + languageName: node + linkType: hard + +"find-up@npm:^4.0.0, find-up@npm:^4.1.0": + version: 4.1.0 + resolution: "find-up@npm:4.1.0" + dependencies: + locate-path: "npm:^5.0.0" + path-exists: "npm:^4.0.0" + checksum: 10/4c172680e8f8c1f78839486e14a43ef82e9decd0e74145f40707cc42e7420506d5ec92d9a11c22bd2c48fb0c384ea05dd30e10dd152fefeec6f2f75282a8b844 + languageName: node + linkType: hard + +"find-up@npm:^5.0.0": + version: 5.0.0 + resolution: "find-up@npm:5.0.0" + dependencies: + locate-path: "npm:^6.0.0" + path-exists: "npm:^4.0.0" + checksum: 10/07955e357348f34660bde7920783204ff5a26ac2cafcaa28bace494027158a97b9f56faaf2d89a6106211a8174db650dd9f503f9c0d526b1202d5554a00b9095 + languageName: node + linkType: hard + +"flat-cache@npm:^4.0.0": + version: 4.0.1 + resolution: "flat-cache@npm:4.0.1" + dependencies: + flatted: "npm:^3.2.9" + keyv: "npm:^4.5.4" + checksum: 10/58ce851d9045fffc7871ce2bd718bc485ad7e777bf748c054904b87c351ff1080c2c11da00788d78738bfb51b71e4d5ea12d13b98eb36e3358851ffe495b62dc + languageName: node + linkType: hard + +"flatted@npm:^3.2.9": + version: 3.3.3 + resolution: "flatted@npm:3.3.3" + checksum: 10/8c96c02fbeadcf4e8ffd0fa24983241e27698b0781295622591fc13585e2f226609d95e422bcf2ef044146ffacb6b68b1f20871454eddf75ab3caa6ee5f4a1fe + languageName: node + linkType: hard + +"for-each@npm:^0.3.3, for-each@npm:^0.3.5": + version: 0.3.5 + resolution: "for-each@npm:0.3.5" + dependencies: + is-callable: "npm:^1.2.7" + checksum: 10/330cc2439f85c94f4609de3ee1d32c5693ae15cdd7fe3d112c4fd9efd4ce7143f2c64ef6c2c9e0cfdb0058437f33ef05b5bdae5b98fcc903fb2143fbaf0fea0f + languageName: node + linkType: hard + +"foreground-child@npm:^3.1.0": + version: 3.3.1 + resolution: "foreground-child@npm:3.3.1" + dependencies: + cross-spawn: "npm:^7.0.6" + signal-exit: "npm:^4.0.1" + checksum: 10/427b33f997a98073c0424e5c07169264a62cda806d8d2ded159b5b903fdfc8f0a1457e06b5fc35506497acb3f1e353f025edee796300209ac6231e80edece835 + languageName: node + linkType: hard + +"fs-minipass@npm:^3.0.0": + version: 3.0.3 + resolution: "fs-minipass@npm:3.0.3" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10/af143246cf6884fe26fa281621d45cfe111d34b30535a475bfa38dafe343dadb466c047a924ffc7d6b7b18265df4110224ce3803806dbb07173bf2087b648d7f + languageName: node + linkType: hard + +"fs.realpath@npm:^1.0.0": + version: 1.0.0 + resolution: "fs.realpath@npm:1.0.0" + checksum: 10/e703107c28e362d8d7b910bbcbfd371e640a3bb45ae157a362b5952c0030c0b6d4981140ec319b347bce7adc025dd7813da1ff908a945ac214d64f5402a51b96 + languageName: node + linkType: hard + +"fsevents@npm:^2.3.2": + version: 2.3.3 + resolution: "fsevents@npm:2.3.3" + dependencies: + node-gyp: "npm:latest" + checksum: 10/4c1ade961ded57cdbfbb5cac5106ec17bc8bccd62e16343c569a0ceeca83b9dfef87550b4dc5cbb89642da412b20c5071f304c8c464b80415446e8e155a038c0 + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@npm%3A^2.3.2#optional!builtin": + version: 2.3.3 + resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" + dependencies: + node-gyp: "npm:latest" + conditions: os=darwin + languageName: node + linkType: hard + +"function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: 10/185e20d20f10c8d661d59aac0f3b63b31132d492e1b11fcc2a93cb2c47257ebaee7407c38513efd2b35cafdf972d9beb2ea4593c1e0f3bf8f2744836928d7454 + languageName: node + linkType: hard + +"function.prototype.name@npm:^1.1.6, function.prototype.name@npm:^1.1.8": + version: 1.1.8 + resolution: "function.prototype.name@npm:1.1.8" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + define-properties: "npm:^1.2.1" + functions-have-names: "npm:^1.2.3" + hasown: "npm:^2.0.2" + is-callable: "npm:^1.2.7" + checksum: 10/25b9e5bea936732a6f0c0c08db58cc0d609ac1ed458c6a07ead46b32e7b9bf3fe5887796c3f83d35994efbc4fdde81c08ac64135b2c399b8f2113968d44082bc + languageName: node + linkType: hard + +"functions-have-names@npm:^1.2.3": + version: 1.2.3 + resolution: "functions-have-names@npm:1.2.3" + checksum: 10/0ddfd3ed1066a55984aaecebf5419fbd9344a5c38dd120ffb0739fac4496758dcf371297440528b115e4367fc46e3abc86a2cc0ff44612181b175ae967a11a05 + languageName: node + linkType: hard + +"gensync@npm:^1.0.0-beta.2": + version: 1.0.0-beta.2 + resolution: "gensync@npm:1.0.0-beta.2" + checksum: 10/17d8333460204fbf1f9160d067e1e77f908a5447febb49424b8ab043026049835c9ef3974445c57dbd39161f4d2b04356d7de12b2eecaa27a7a7ea7d871cbedd + languageName: node + linkType: hard + +"get-caller-file@npm:^2.0.5": + version: 2.0.5 + resolution: "get-caller-file@npm:2.0.5" + checksum: 10/b9769a836d2a98c3ee734a88ba712e62703f1df31b94b784762c433c27a386dd6029ff55c2a920c392e33657d80191edbf18c61487e198844844516f843496b9 + languageName: node + linkType: hard + +"get-intrinsic@npm:^1.2.4, get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.2.6, get-intrinsic@npm:^1.2.7, get-intrinsic@npm:^1.3.0": + version: 1.3.0 + resolution: "get-intrinsic@npm:1.3.0" + dependencies: + call-bind-apply-helpers: "npm:^1.0.2" + es-define-property: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.1.1" + function-bind: "npm:^1.1.2" + get-proto: "npm:^1.0.1" + gopd: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + hasown: "npm:^2.0.2" + math-intrinsics: "npm:^1.1.0" + checksum: 10/6e9dd920ff054147b6f44cb98104330e87caafae051b6d37b13384a45ba15e71af33c3baeac7cb630a0aaa23142718dcf25b45cfdd86c184c5dcb4e56d953a10 + languageName: node + linkType: hard + +"get-package-type@npm:^0.1.0": + version: 0.1.0 + resolution: "get-package-type@npm:0.1.0" + checksum: 10/bba0811116d11e56d702682ddef7c73ba3481f114590e705fc549f4d868972263896af313c57a25c076e3c0d567e11d919a64ba1b30c879be985fc9d44f96148 + languageName: node + linkType: hard + +"get-proto@npm:^1.0.0, get-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "get-proto@npm:1.0.1" + dependencies: + dunder-proto: "npm:^1.0.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10/4fc96afdb58ced9a67558698b91433e6b037aaa6f1493af77498d7c85b141382cf223c0e5946f334fb328ee85dfe6edd06d218eaf09556f4bc4ec6005d7f5f7b + languageName: node + linkType: hard + +"get-stream@npm:^6.0.0": + version: 6.0.1 + resolution: "get-stream@npm:6.0.1" + checksum: 10/781266d29725f35c59f1d214aedc92b0ae855800a980800e2923b3fbc4e56b3cb6e462c42e09a1cf1a00c64e056a78fa407cbe06c7c92b7e5cd49b4b85c2a497 + languageName: node + linkType: hard + +"get-symbol-description@npm:^1.1.0": + version: 1.1.0 + resolution: "get-symbol-description@npm:1.1.0" + dependencies: + call-bound: "npm:^1.0.3" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.6" + checksum: 10/a353e3a9595a74720b40fb5bae3ba4a4f826e186e83814d93375182384265676f59e49998b9cdfac4a2225ce95a3d32a68f502a2c5619303987f1c183ab80494 + languageName: node + linkType: hard + +"glob-parent@npm:^5.1.2": + version: 5.1.2 + resolution: "glob-parent@npm:5.1.2" + dependencies: + is-glob: "npm:^4.0.1" + checksum: 10/32cd106ce8c0d83731966d31517adb766d02c3812de49c30cfe0675c7c0ae6630c11214c54a5ae67aca882cf738d27fd7768f21aa19118b9245950554be07247 + languageName: node + linkType: hard + +"glob-parent@npm:^6.0.2": + version: 6.0.2 + resolution: "glob-parent@npm:6.0.2" + dependencies: + is-glob: "npm:^4.0.3" + checksum: 10/c13ee97978bef4f55106b71e66428eb1512e71a7466ba49025fc2aec59a5bfb0954d5abd58fc5ee6c9b076eef4e1f6d3375c2e964b88466ca390da4419a786a8 + languageName: node + linkType: hard + +"glob@npm:^10.2.2": + version: 10.4.5 + resolution: "glob@npm:10.4.5" + dependencies: + foreground-child: "npm:^3.1.0" + jackspeak: "npm:^3.1.2" + minimatch: "npm:^9.0.4" + minipass: "npm:^7.1.2" + package-json-from-dist: "npm:^1.0.0" + path-scurry: "npm:^1.11.1" + bin: + glob: dist/esm/bin.mjs + checksum: 10/698dfe11828b7efd0514cd11e573eaed26b2dff611f0400907281ce3eab0c1e56143ef9b35adc7c77ecc71fba74717b510c7c223d34ca8a98ec81777b293d4ac + languageName: node + linkType: hard + +"glob@npm:^7.1.3, glob@npm:^7.1.4": + version: 7.2.3 + resolution: "glob@npm:7.2.3" + dependencies: + fs.realpath: "npm:^1.0.0" + inflight: "npm:^1.0.4" + inherits: "npm:2" + minimatch: "npm:^3.1.1" + once: "npm:^1.3.0" + path-is-absolute: "npm:^1.0.0" + checksum: 10/59452a9202c81d4508a43b8af7082ca5c76452b9fcc4a9ab17655822e6ce9b21d4f8fbadabe4fe3faef448294cec249af305e2cd824b7e9aaf689240e5e96a7b + languageName: node + linkType: hard + +"globals@npm:^11.1.0": + version: 11.12.0 + resolution: "globals@npm:11.12.0" + checksum: 10/9f054fa38ff8de8fa356502eb9d2dae0c928217b8b5c8de1f09f5c9b6c8a96d8b9bd3afc49acbcd384a98a81fea713c859e1b09e214c60509517bb8fc2bc13c2 + languageName: node + linkType: hard + +"globals@npm:^14.0.0": + version: 14.0.0 + resolution: "globals@npm:14.0.0" + checksum: 10/03939c8af95c6df5014b137cac83aa909090c3a3985caef06ee9a5a669790877af8698ab38007e4c0186873adc14c0b13764acc754b16a754c216cc56aa5f021 + languageName: node + linkType: hard + +"globals@npm:^15.9.0": + version: 15.15.0 + resolution: "globals@npm:15.15.0" + checksum: 10/7f561c87b2fd381b27fc2db7df8a4ea7a9bb378667b8a7193e61fd2ca3a876479174e2a303a74345fbea6e1242e16db48915c1fd3bf35adcf4060a795b425e18 + languageName: node + linkType: hard + +"globalthis@npm:^1.0.4": + version: 1.0.4 + resolution: "globalthis@npm:1.0.4" + dependencies: + define-properties: "npm:^1.2.1" + gopd: "npm:^1.0.1" + checksum: 10/1f1fd078fb2f7296306ef9dd51019491044ccf17a59ed49d375b576ca108ff37e47f3d29aead7add40763574a992f16a5367dd1e2173b8634ef18556ab719ac4 + languageName: node + linkType: hard + +"gopd@npm:^1.0.1, gopd@npm:^1.2.0": + version: 1.2.0 + resolution: "gopd@npm:1.2.0" + checksum: 10/94e296d69f92dc1c0768fcfeecfb3855582ab59a7c75e969d5f96ce50c3d201fd86d5a2857c22565764d5bb8a816c7b1e58f133ec318cd56274da36c5e3fb1a1 + languageName: node + linkType: hard + +"graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: 10/bf152d0ed1dc159239db1ba1f74fdbc40cb02f626770dcd5815c427ce0688c2635a06ed69af364396da4636d0408fcf7d4afdf7881724c3307e46aff30ca49e2 + languageName: node + linkType: hard + +"graphemer@npm:^1.4.0": + version: 1.4.0 + resolution: "graphemer@npm:1.4.0" + checksum: 10/6dd60dba97007b21e3a829fab3f771803cc1292977fe610e240ea72afd67e5690ac9eeaafc4a99710e78962e5936ab5a460787c2a1180f1cb0ccfac37d29f897 + languageName: node + linkType: hard + +"has-bigints@npm:^1.0.2": + version: 1.1.0 + resolution: "has-bigints@npm:1.1.0" + checksum: 10/90fb1b24d40d2472bcd1c8bd9dd479037ec240215869bdbff97b2be83acef57d28f7e96bdd003a21bed218d058b49097f4acc8821c05b1629cc5d48dd7bfcccd + languageName: node + linkType: hard + +"has-flag@npm:^4.0.0": + version: 4.0.0 + resolution: "has-flag@npm:4.0.0" + checksum: 10/261a1357037ead75e338156b1f9452c016a37dcd3283a972a30d9e4a87441ba372c8b81f818cd0fbcd9c0354b4ae7e18b9e1afa1971164aef6d18c2b6095a8ad + languageName: node + linkType: hard + +"has-property-descriptors@npm:^1.0.0, has-property-descriptors@npm:^1.0.2": + version: 1.0.2 + resolution: "has-property-descriptors@npm:1.0.2" + dependencies: + es-define-property: "npm:^1.0.0" + checksum: 10/2d8c9ab8cebb572e3362f7d06139a4592105983d4317e68f7adba320fe6ddfc8874581e0971e899e633fd5f72e262830edce36d5a0bc863dad17ad20572484b2 + languageName: node + linkType: hard + +"has-proto@npm:^1.2.0": + version: 1.2.0 + resolution: "has-proto@npm:1.2.0" + dependencies: + dunder-proto: "npm:^1.0.0" + checksum: 10/7eaed07728eaa28b77fadccabce53f30de467ff186a766872669a833ac2e87d8922b76a22cc58339d7e0277aefe98d6d00762113b27a97cdf65adcf958970935 + languageName: node + linkType: hard + +"has-symbols@npm:^1.0.3, has-symbols@npm:^1.1.0": + version: 1.1.0 + resolution: "has-symbols@npm:1.1.0" + checksum: 10/959385c98696ebbca51e7534e0dc723ada325efa3475350951363cce216d27373e0259b63edb599f72eb94d6cde8577b4b2375f080b303947e560f85692834fa + languageName: node + linkType: hard + +"has-tostringtag@npm:^1.0.2": + version: 1.0.2 + resolution: "has-tostringtag@npm:1.0.2" + dependencies: + has-symbols: "npm:^1.0.3" + checksum: 10/c74c5f5ceee3c8a5b8bc37719840dc3749f5b0306d818974141dda2471a1a2ca6c8e46b9d6ac222c5345df7a901c9b6f350b1e6d62763fec877e26609a401bfe + languageName: node + linkType: hard + +"hasown@npm:^2.0.2": + version: 2.0.2 + resolution: "hasown@npm:2.0.2" + dependencies: + function-bind: "npm:^1.1.2" + checksum: 10/7898a9c1788b2862cf0f9c345a6bec77ba4a0c0983c7f19d610c382343d4f98fa260686b225dfb1f88393a66679d2ec58ee310c1d6868c081eda7918f32cc70a + languageName: node + linkType: hard + +"homedir-polyfill@npm:^1.0.1": + version: 1.0.3 + resolution: "homedir-polyfill@npm:1.0.3" + dependencies: + parse-passwd: "npm:^1.0.0" + checksum: 10/18dd4db87052c6a2179d1813adea0c4bfcfa4f9996f0e226fefb29eb3d548e564350fa28ec46b0bf1fbc0a1d2d6922ceceb80093115ea45ff8842a4990139250 + languageName: node + linkType: hard + +"html-escaper@npm:^2.0.0": + version: 2.0.2 + resolution: "html-escaper@npm:2.0.2" + checksum: 10/034d74029dcca544a34fb6135e98d427acd73019796ffc17383eaa3ec2fe1c0471dcbbc8f8ed39e46e86d43ccd753a160631615e4048285e313569609b66d5b7 + languageName: node + linkType: hard + +"http-cache-semantics@npm:^4.1.1": + version: 4.1.1 + resolution: "http-cache-semantics@npm:4.1.1" + checksum: 10/362d5ed66b12ceb9c0a328fb31200b590ab1b02f4a254a697dc796850cc4385603e75f53ec59f768b2dad3bfa1464bd229f7de278d2899a0e3beffc634b6683f + languageName: node + linkType: hard + +"http-proxy-agent@npm:^7.0.0": + version: 7.0.2 + resolution: "http-proxy-agent@npm:7.0.2" + dependencies: + agent-base: "npm:^7.1.0" + debug: "npm:^4.3.4" + checksum: 10/d062acfa0cb82beeb558f1043c6ba770ea892b5fb7b28654dbc70ea2aeea55226dd34c02a294f6c1ca179a5aa483c4ea641846821b182edbd9cc5d89b54c6848 + languageName: node + linkType: hard + +"https-proxy-agent@npm:^7.0.1": + version: 7.0.6 + resolution: "https-proxy-agent@npm:7.0.6" + dependencies: + agent-base: "npm:^7.1.2" + debug: "npm:4" + checksum: 10/784b628cbd55b25542a9d85033bdfd03d4eda630fb8b3c9477959367f3be95dc476ed2ecbb9836c359c7c698027fc7b45723a302324433590f45d6c1706e8c13 + languageName: node + linkType: hard + +"human-signals@npm:^2.1.0": + version: 2.1.0 + resolution: "human-signals@npm:2.1.0" + checksum: 10/df59be9e0af479036798a881d1f136c4a29e0b518d4abb863afbd11bf30efa3eeb1d0425fc65942dcc05ab3bf40205ea436b0ff389f2cd20b75b8643d539bf86 + languageName: node + linkType: hard + +"iconv-lite@npm:^0.6.2": + version: 0.6.3 + resolution: "iconv-lite@npm:0.6.3" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3.0.0" + checksum: 10/24e3292dd3dadaa81d065c6f8c41b274a47098150d444b96e5f53b4638a9a71482921ea6a91a1f59bb71d9796de25e04afd05919fa64c360347ba65d3766f10f + languageName: node + linkType: hard + +"ignore@npm:^5.2.0, ignore@npm:^5.3.1": + version: 5.3.2 + resolution: "ignore@npm:5.3.2" + checksum: 10/cceb6a457000f8f6a50e1196429750d782afce5680dd878aa4221bd79972d68b3a55b4b1458fc682be978f4d3c6a249046aa0880637367216444ab7b014cfc98 + languageName: node + linkType: hard + +"import-fresh@npm:^3.2.1": + version: 3.3.1 + resolution: "import-fresh@npm:3.3.1" + dependencies: + parent-module: "npm:^1.0.0" + resolve-from: "npm:^4.0.0" + checksum: 10/a06b19461b4879cc654d46f8a6244eb55eb053437afd4cbb6613cad6be203811849ed3e4ea038783092879487299fda24af932b86bdfff67c9055ba3612b8c87 + languageName: node + linkType: hard + +"import-local@npm:^3.0.2": + version: 3.2.0 + resolution: "import-local@npm:3.2.0" + dependencies: + pkg-dir: "npm:^4.2.0" + resolve-cwd: "npm:^3.0.0" + bin: + import-local-fixture: fixtures/cli.js + checksum: 10/0b0b0b412b2521739fbb85eeed834a3c34de9bc67e670b3d0b86248fc460d990a7b116ad056c084b87a693ef73d1f17268d6a5be626bb43c998a8b1c8a230004 + languageName: node + linkType: hard + +"imurmurhash@npm:^0.1.4": + version: 0.1.4 + resolution: "imurmurhash@npm:0.1.4" + checksum: 10/2d30b157a91fe1c1d7c6f653cbf263f039be6c5bfa959245a16d4ee191fc0f2af86c08545b6e6beeb041c56b574d2d5b9f95343d378ab49c0f37394d541e7fc8 + languageName: node + linkType: hard + +"inflight@npm:^1.0.4": + version: 1.0.6 + resolution: "inflight@npm:1.0.6" + dependencies: + once: "npm:^1.3.0" + wrappy: "npm:1" + checksum: 10/d2ebd65441a38c8336c223d1b80b921b9fa737e37ea466fd7e253cb000c64ae1f17fa59e68130ef5bda92cfd8d36b83d37dab0eb0a4558bcfec8e8cdfd2dcb67 + languageName: node + linkType: hard + +"inherits@npm:2": + version: 2.0.4 + resolution: "inherits@npm:2.0.4" + checksum: 10/cd45e923bee15186c07fa4c89db0aace24824c482fb887b528304694b2aa6ff8a898da8657046a5dcf3e46cd6db6c61629551f9215f208d7c3f157cf9b290521 + languageName: node + linkType: hard + +"internal-slot@npm:^1.1.0": + version: 1.1.0 + resolution: "internal-slot@npm:1.1.0" + dependencies: + es-errors: "npm:^1.3.0" + hasown: "npm:^2.0.2" + side-channel: "npm:^1.1.0" + checksum: 10/1d5219273a3dab61b165eddf358815eefc463207db33c20fcfca54717da02e3f492003757721f972fd0bf21e4b426cab389c5427b99ceea4b8b670dc88ee6d4a + languageName: node + linkType: hard + +"ip-address@npm:^9.0.5": + version: 9.0.5 + resolution: "ip-address@npm:9.0.5" + dependencies: + jsbn: "npm:1.1.0" + sprintf-js: "npm:^1.1.3" + checksum: 10/1ed81e06721af012306329b31f532b5e24e00cb537be18ddc905a84f19fe8f83a09a1699862bf3a1ec4b9dea93c55a3fa5faf8b5ea380431469df540f38b092c + languageName: node + linkType: hard + +"is-array-buffer@npm:^3.0.4, is-array-buffer@npm:^3.0.5": + version: 3.0.5 + resolution: "is-array-buffer@npm:3.0.5" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + get-intrinsic: "npm:^1.2.6" + checksum: 10/ef1095c55b963cd0dcf6f88a113e44a0aeca91e30d767c475e7d746d28d1195b10c5076b94491a7a0cd85020ca6a4923070021d74651d093dc909e9932cf689b + languageName: node + linkType: hard + +"is-arrayish@npm:^0.2.1": + version: 0.2.1 + resolution: "is-arrayish@npm:0.2.1" + checksum: 10/73ced84fa35e59e2c57da2d01e12cd01479f381d7f122ce41dcbb713f09dbfc651315832cd2bf8accba7681a69e4d6f1e03941d94dd10040d415086360e7005e + languageName: node + linkType: hard + +"is-async-function@npm:^2.0.0": + version: 2.1.1 + resolution: "is-async-function@npm:2.1.1" + dependencies: + async-function: "npm:^1.0.0" + call-bound: "npm:^1.0.3" + get-proto: "npm:^1.0.1" + has-tostringtag: "npm:^1.0.2" + safe-regex-test: "npm:^1.1.0" + checksum: 10/7c2ac7efdf671e03265e74a043bcb1c0a32e226bc2a42dfc5ec8644667df668bbe14b91c08e6c1414f392f8cf86cd1d489b3af97756e2c7a49dd1ba63fd40ca6 + languageName: node + linkType: hard + +"is-bigint@npm:^1.1.0": + version: 1.1.0 + resolution: "is-bigint@npm:1.1.0" + dependencies: + has-bigints: "npm:^1.0.2" + checksum: 10/10cf327310d712fe227cfaa32d8b11814c214392b6ac18c827f157e1e85363cf9c8e2a22df526689bd5d25e53b58cc110894787afb54e138e7c504174dba15fd + languageName: node + linkType: hard + +"is-boolean-object@npm:^1.2.1": + version: 1.2.2 + resolution: "is-boolean-object@npm:1.2.2" + dependencies: + call-bound: "npm:^1.0.3" + has-tostringtag: "npm:^1.0.2" + checksum: 10/051fa95fdb99d7fbf653165a7e6b2cba5d2eb62f7ffa81e793a790f3fb5366c91c1b7b6af6820aa2937dd86c73aa3ca9d9ca98f500988457b1c59692c52ba911 + languageName: node + linkType: hard + +"is-callable@npm:^1.2.7": + version: 1.2.7 + resolution: "is-callable@npm:1.2.7" + checksum: 10/48a9297fb92c99e9df48706241a189da362bff3003354aea4048bd5f7b2eb0d823cd16d0a383cece3d76166ba16d85d9659165ac6fcce1ac12e6c649d66dbdb9 + languageName: node + linkType: hard + +"is-core-module@npm:^2.16.0": + version: 2.16.1 + resolution: "is-core-module@npm:2.16.1" + dependencies: + hasown: "npm:^2.0.2" + checksum: 10/452b2c2fb7f889cbbf7e54609ef92cf6c24637c568acc7e63d166812a0fb365ae8a504c333a29add8bdb1686704068caa7f4e4b639b650dde4f00a038b8941fb + languageName: node + linkType: hard + +"is-data-view@npm:^1.0.1, is-data-view@npm:^1.0.2": + version: 1.0.2 + resolution: "is-data-view@npm:1.0.2" + dependencies: + call-bound: "npm:^1.0.2" + get-intrinsic: "npm:^1.2.6" + is-typed-array: "npm:^1.1.13" + checksum: 10/357e9a48fa38f369fd6c4c3b632a3ab2b8adca14997db2e4b3fe94c4cd0a709af48e0fb61b02c64a90c0dd542fd489d49c2d03157b05ae6c07f5e4dec9e730a8 + languageName: node + linkType: hard + +"is-date-object@npm:^1.0.5, is-date-object@npm:^1.1.0": + version: 1.1.0 + resolution: "is-date-object@npm:1.1.0" + dependencies: + call-bound: "npm:^1.0.2" + has-tostringtag: "npm:^1.0.2" + checksum: 10/3a811b2c3176fb31abee1d23d3dc78b6c65fd9c07d591fcb67553cab9e7f272728c3dd077d2d738b53f9a2103255b0a6e8dfc9568a7805c56a78b2563e8d1dec + languageName: node + linkType: hard + +"is-extglob@npm:^2.1.1": + version: 2.1.1 + resolution: "is-extglob@npm:2.1.1" + checksum: 10/df033653d06d0eb567461e58a7a8c9f940bd8c22274b94bf7671ab36df5719791aae15eef6d83bbb5e23283967f2f984b8914559d4449efda578c775c4be6f85 + languageName: node + linkType: hard + +"is-finalizationregistry@npm:^1.1.0": + version: 1.1.1 + resolution: "is-finalizationregistry@npm:1.1.1" + dependencies: + call-bound: "npm:^1.0.3" + checksum: 10/0bfb145e9a1ba852ddde423b0926d2169ae5fe9e37882cde9e8f69031281a986308df4d982283e152396e88b86562ed2256cbaa5e6390fb840a4c25ab54b8a80 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^3.0.0": + version: 3.0.0 + resolution: "is-fullwidth-code-point@npm:3.0.0" + checksum: 10/44a30c29457c7fb8f00297bce733f0a64cd22eca270f83e58c105e0d015e45c019491a4ab2faef91ab51d4738c670daff901c799f6a700e27f7314029e99e348 + languageName: node + linkType: hard + +"is-generator-fn@npm:^2.0.0": + version: 2.1.0 + resolution: "is-generator-fn@npm:2.1.0" + checksum: 10/a6ad5492cf9d1746f73b6744e0c43c0020510b59d56ddcb78a91cbc173f09b5e6beff53d75c9c5a29feb618bfef2bf458e025ecf3a57ad2268e2fb2569f56215 + languageName: node + linkType: hard + +"is-generator-function@npm:^1.0.10": + version: 1.1.0 + resolution: "is-generator-function@npm:1.1.0" + dependencies: + call-bound: "npm:^1.0.3" + get-proto: "npm:^1.0.0" + has-tostringtag: "npm:^1.0.2" + safe-regex-test: "npm:^1.1.0" + checksum: 10/5906ff51a856a5fbc6b90a90fce32040b0a6870da905f98818f1350f9acadfc9884f7c3dec833fce04b83dd883937b86a190b6593ede82e8b1af8b6c4ecf7cbd + languageName: node + linkType: hard + +"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3": + version: 4.0.3 + resolution: "is-glob@npm:4.0.3" + dependencies: + is-extglob: "npm:^2.1.1" + checksum: 10/3ed74f2b0cdf4f401f38edb0442ddfde3092d79d7d35c9919c86641efdbcbb32e45aa3c0f70ce5eecc946896cd5a0f26e4188b9f2b881876f7cb6c505b82da11 + languageName: node + linkType: hard + +"is-map@npm:^2.0.3": + version: 2.0.3 + resolution: "is-map@npm:2.0.3" + checksum: 10/8de7b41715b08bcb0e5edb0fb9384b80d2d5bcd10e142188f33247d19ff078abaf8e9b6f858e2302d8d05376a26a55cd23a3c9f8ab93292b02fcd2cc9e4e92bb + languageName: node + linkType: hard + +"is-number-object@npm:^1.1.1": + version: 1.1.1 + resolution: "is-number-object@npm:1.1.1" + dependencies: + call-bound: "npm:^1.0.3" + has-tostringtag: "npm:^1.0.2" + checksum: 10/a5922fb8779ab1ea3b8a9c144522b3d0bea5d9f8f23f7a72470e61e1e4df47714e28e0154ac011998b709cce260c3c9447ad3cd24a96c2f2a0abfdb2cbdc76c8 + languageName: node + linkType: hard + +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: 10/6a6c3383f68afa1e05b286af866017c78f1226d43ac8cb064e115ff9ed85eb33f5c4f7216c96a71e4dfea289ef52c5da3aef5bbfade8ffe47a0465d70c0c8e86 + languageName: node + linkType: hard + +"is-plain-object@npm:^2.0.4": + version: 2.0.4 + resolution: "is-plain-object@npm:2.0.4" + dependencies: + isobject: "npm:^3.0.1" + checksum: 10/2a401140cfd86cabe25214956ae2cfee6fbd8186809555cd0e84574f88de7b17abacb2e477a6a658fa54c6083ecbda1e6ae404c7720244cd198903848fca70ca + languageName: node + linkType: hard + +"is-regex@npm:^1.2.1": + version: 1.2.1 + resolution: "is-regex@npm:1.2.1" + dependencies: + call-bound: "npm:^1.0.2" + gopd: "npm:^1.2.0" + has-tostringtag: "npm:^1.0.2" + hasown: "npm:^2.0.2" + checksum: 10/c42b7efc5868a5c9a4d8e6d3e9816e8815c611b09535c00fead18a1138455c5cb5e1887f0023a467ad3f9c419d62ba4dc3d9ba8bafe55053914d6d6454a945d2 + languageName: node + linkType: hard + +"is-set@npm:^2.0.3": + version: 2.0.3 + resolution: "is-set@npm:2.0.3" + checksum: 10/5685df33f0a4a6098a98c72d94d67cad81b2bc72f1fb2091f3d9283c4a1c582123cd709145b02a9745f0ce6b41e3e43f1c944496d1d74d4ea43358be61308669 + languageName: node + linkType: hard + +"is-shared-array-buffer@npm:^1.0.4": + version: 1.0.4 + resolution: "is-shared-array-buffer@npm:1.0.4" + dependencies: + call-bound: "npm:^1.0.3" + checksum: 10/0380d7c60cc692856871526ffcd38a8133818a2ee42d47bb8008248a0cd2121d8c8b5f66b6da3cac24bc5784553cacb6faaf678f66bc88c6615b42af2825230e + languageName: node + linkType: hard + +"is-stream@npm:^2.0.0": + version: 2.0.1 + resolution: "is-stream@npm:2.0.1" + checksum: 10/b8e05ccdf96ac330ea83c12450304d4a591f9958c11fd17bed240af8d5ffe08aedafa4c0f4cfccd4d28dc9d4d129daca1023633d5c11601a6cbc77521f6fae66 + languageName: node + linkType: hard + +"is-string@npm:^1.1.1": + version: 1.1.1 + resolution: "is-string@npm:1.1.1" + dependencies: + call-bound: "npm:^1.0.3" + has-tostringtag: "npm:^1.0.2" + checksum: 10/5277cb9e225a7cc8a368a72623b44a99f2cfa139659c6b203553540681ad4276bfc078420767aad0e73eef5f0bd07d4abf39a35d37ec216917879d11cebc1f8b + languageName: node + linkType: hard + +"is-symbol@npm:^1.0.4, is-symbol@npm:^1.1.1": + version: 1.1.1 + resolution: "is-symbol@npm:1.1.1" + dependencies: + call-bound: "npm:^1.0.2" + has-symbols: "npm:^1.1.0" + safe-regex-test: "npm:^1.1.0" + checksum: 10/db495c0d8cd0a7a66b4f4ef7fccee3ab5bd954cb63396e8ac4d32efe0e9b12fdfceb851d6c501216a71f4f21e5ff20fc2ee845a3d52d455e021c466ac5eb2db2 + languageName: node + linkType: hard + +"is-typed-array@npm:^1.1.13, is-typed-array@npm:^1.1.14, is-typed-array@npm:^1.1.15": + version: 1.1.15 + resolution: "is-typed-array@npm:1.1.15" + dependencies: + which-typed-array: "npm:^1.1.16" + checksum: 10/e8cf60b9ea85667097a6ad68c209c9722cfe8c8edf04d6218366469e51944c5cc25bae45ffb845c23f811d262e4314d3b0168748eb16711aa34d12724cdf0735 + languageName: node + linkType: hard + +"is-weakmap@npm:^2.0.2": + version: 2.0.2 + resolution: "is-weakmap@npm:2.0.2" + checksum: 10/a7b7e23206c542dcf2fa0abc483142731788771527e90e7e24f658c0833a0d91948a4f7b30d78f7a65255a48512e41a0288b778ba7fc396137515c12e201fd11 + languageName: node + linkType: hard + +"is-weakref@npm:^1.0.2, is-weakref@npm:^1.1.0": + version: 1.1.1 + resolution: "is-weakref@npm:1.1.1" + dependencies: + call-bound: "npm:^1.0.3" + checksum: 10/543506fd8259038b371bb083aac25b16cb4fd8b12fc58053aa3d45ac28dfd001cd5c6dffbba7aeea4213c74732d46b6cb2cfb5b412eed11f2db524f3f97d09a0 + languageName: node + linkType: hard + +"is-weakset@npm:^2.0.3": + version: 2.0.4 + resolution: "is-weakset@npm:2.0.4" + dependencies: + call-bound: "npm:^1.0.3" + get-intrinsic: "npm:^1.2.6" + checksum: 10/1d5e1d0179beeed3661125a6faa2e59bfb48afda06fc70db807f178aa0ebebc3758fb6358d76b3d528090d5ef85148c345dcfbf90839592fe293e3e5e82f2134 + languageName: node + linkType: hard + +"isarray@npm:^2.0.5": + version: 2.0.5 + resolution: "isarray@npm:2.0.5" + checksum: 10/1d8bc7911e13bb9f105b1b3e0b396c787a9e63046af0b8fe0ab1414488ab06b2b099b87a2d8a9e31d21c9a6fad773c7fc8b257c4880f2d957274479d28ca3414 + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 10/7c9f715c03aff08f35e98b1fadae1b9267b38f0615d501824f9743f3aab99ef10e303ce7db3f186763a0b70a19de5791ebfc854ff884d5a8c4d92211f642ec92 + languageName: node + linkType: hard + +"isexe@npm:^3.1.1": + version: 3.1.1 + resolution: "isexe@npm:3.1.1" + checksum: 10/7fe1931ee4e88eb5aa524cd3ceb8c882537bc3a81b02e438b240e47012eef49c86904d0f0e593ea7c3a9996d18d0f1f3be8d3eaa92333977b0c3a9d353d5563e + languageName: node + linkType: hard + +"isobject@npm:^3.0.1": + version: 3.0.1 + resolution: "isobject@npm:3.0.1" + checksum: 10/db85c4c970ce30693676487cca0e61da2ca34e8d4967c2e1309143ff910c207133a969f9e4ddb2dc6aba670aabce4e0e307146c310350b298e74a31f7d464703 + languageName: node + linkType: hard + +"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0": + version: 3.2.2 + resolution: "istanbul-lib-coverage@npm:3.2.2" + checksum: 10/40bbdd1e937dfd8c830fa286d0f665e81b7a78bdabcd4565f6d5667c99828bda3db7fb7ac6b96a3e2e8a2461ddbc5452d9f8bc7d00cb00075fa6a3e99f5b6a81 + languageName: node + linkType: hard + +"istanbul-lib-instrument@npm:^5.0.4": + version: 5.2.1 + resolution: "istanbul-lib-instrument@npm:5.2.1" + dependencies: + "@babel/core": "npm:^7.12.3" + "@babel/parser": "npm:^7.14.7" + "@istanbuljs/schema": "npm:^0.1.2" + istanbul-lib-coverage: "npm:^3.2.0" + semver: "npm:^6.3.0" + checksum: 10/bbc4496c2f304d799f8ec22202ab38c010ac265c441947f075c0f7d46bd440b45c00e46017cf9053453d42182d768b1d6ed0e70a142c95ab00df9843aa5ab80e + languageName: node + linkType: hard + +"istanbul-lib-instrument@npm:^6.0.0": + version: 6.0.3 + resolution: "istanbul-lib-instrument@npm:6.0.3" + dependencies: + "@babel/core": "npm:^7.23.9" + "@babel/parser": "npm:^7.23.9" + "@istanbuljs/schema": "npm:^0.1.3" + istanbul-lib-coverage: "npm:^3.2.0" + semver: "npm:^7.5.4" + checksum: 10/aa5271c0008dfa71b6ecc9ba1e801bf77b49dc05524e8c30d58aaf5b9505e0cd12f25f93165464d4266a518c5c75284ecb598fbd89fec081ae77d2c9d3327695 + languageName: node + linkType: hard + +"istanbul-lib-report@npm:^3.0.0": + version: 3.0.1 + resolution: "istanbul-lib-report@npm:3.0.1" + dependencies: + istanbul-lib-coverage: "npm:^3.0.0" + make-dir: "npm:^4.0.0" + supports-color: "npm:^7.1.0" + checksum: 10/86a83421ca1cf2109a9f6d193c06c31ef04a45e72a74579b11060b1e7bb9b6337a4e6f04abfb8857e2d569c271273c65e855ee429376a0d7c91ad91db42accd1 + languageName: node + linkType: hard + +"istanbul-lib-source-maps@npm:^4.0.0": + version: 4.0.1 + resolution: "istanbul-lib-source-maps@npm:4.0.1" + dependencies: + debug: "npm:^4.1.1" + istanbul-lib-coverage: "npm:^3.0.0" + source-map: "npm:^0.6.1" + checksum: 10/5526983462799aced011d776af166e350191b816821ea7bcf71cab3e5272657b062c47dc30697a22a43656e3ced78893a42de677f9ccf276a28c913190953b82 + languageName: node + linkType: hard + +"istanbul-reports@npm:^3.1.3": + version: 3.1.7 + resolution: "istanbul-reports@npm:3.1.7" + dependencies: + html-escaper: "npm:^2.0.0" + istanbul-lib-report: "npm:^3.0.0" + checksum: 10/f1faaa4684efaf57d64087776018d7426312a59aa6eeb4e0e3a777347d23cd286ad18f427e98f0e3dee666103d7404c9d7abc5f240406a912fa16bd6695437fa + languageName: node + linkType: hard + +"jackspeak@npm:^3.1.2": + version: 3.4.3 + resolution: "jackspeak@npm:3.4.3" + dependencies: + "@isaacs/cliui": "npm:^8.0.2" + "@pkgjs/parseargs": "npm:^0.11.0" + dependenciesMeta: + "@pkgjs/parseargs": + optional: true + checksum: 10/96f8786eaab98e4bf5b2a5d6d9588ea46c4d06bbc4f2eb861fdd7b6b182b16f71d8a70e79820f335d52653b16d4843b29dd9cdcf38ae80406756db9199497cf3 + languageName: node + linkType: hard + +"jest-changed-files@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-changed-files@npm:29.7.0" + dependencies: + execa: "npm:^5.0.0" + jest-util: "npm:^29.7.0" + p-limit: "npm:^3.1.0" + checksum: 10/3d93742e56b1a73a145d55b66e96711fbf87ef89b96c2fab7cfdfba8ec06612591a982111ca2b712bb853dbc16831ec8b43585a2a96b83862d6767de59cbf83d + languageName: node + linkType: hard + +"jest-circus@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-circus@npm:29.7.0" + dependencies: + "@jest/environment": "npm:^29.7.0" + "@jest/expect": "npm:^29.7.0" + "@jest/test-result": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + chalk: "npm:^4.0.0" + co: "npm:^4.6.0" + dedent: "npm:^1.0.0" + is-generator-fn: "npm:^2.0.0" + jest-each: "npm:^29.7.0" + jest-matcher-utils: "npm:^29.7.0" + jest-message-util: "npm:^29.7.0" + jest-runtime: "npm:^29.7.0" + jest-snapshot: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + p-limit: "npm:^3.1.0" + pretty-format: "npm:^29.7.0" + pure-rand: "npm:^6.0.0" + slash: "npm:^3.0.0" + stack-utils: "npm:^2.0.3" + checksum: 10/716a8e3f40572fd0213bcfc1da90274bf30d856e5133af58089a6ce45089b63f4d679bd44e6be9d320e8390483ebc3ae9921981993986d21639d9019b523123d + languageName: node + linkType: hard + +"jest-cli@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-cli@npm:29.7.0" + dependencies: + "@jest/core": "npm:^29.7.0" + "@jest/test-result": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + chalk: "npm:^4.0.0" + create-jest: "npm:^29.7.0" + exit: "npm:^0.1.2" + import-local: "npm:^3.0.2" + jest-config: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + jest-validate: "npm:^29.7.0" + yargs: "npm:^17.3.1" + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + bin: + jest: bin/jest.js + checksum: 10/6cc62b34d002c034203065a31e5e9a19e7c76d9e8ef447a6f70f759c0714cb212c6245f75e270ba458620f9c7b26063cd8cf6cd1f7e3afd659a7cc08add17307 + languageName: node + linkType: hard + +"jest-config@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-config@npm:29.7.0" + dependencies: + "@babel/core": "npm:^7.11.6" + "@jest/test-sequencer": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + babel-jest: "npm:^29.7.0" + chalk: "npm:^4.0.0" + ci-info: "npm:^3.2.0" + deepmerge: "npm:^4.2.2" + glob: "npm:^7.1.3" + graceful-fs: "npm:^4.2.9" + jest-circus: "npm:^29.7.0" + jest-environment-node: "npm:^29.7.0" + jest-get-type: "npm:^29.6.3" + jest-regex-util: "npm:^29.6.3" + jest-resolve: "npm:^29.7.0" + jest-runner: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + jest-validate: "npm:^29.7.0" + micromatch: "npm:^4.0.4" + parse-json: "npm:^5.2.0" + pretty-format: "npm:^29.7.0" + slash: "npm:^3.0.0" + strip-json-comments: "npm:^3.1.1" + peerDependencies: + "@types/node": "*" + ts-node: ">=9.0.0" + peerDependenciesMeta: + "@types/node": + optional: true + ts-node: + optional: true + checksum: 10/6bdf570e9592e7d7dd5124fc0e21f5fe92bd15033513632431b211797e3ab57eaa312f83cc6481b3094b72324e369e876f163579d60016677c117ec4853cf02b + languageName: node + linkType: hard + +"jest-diff@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-diff@npm:29.7.0" + dependencies: + chalk: "npm:^4.0.0" + diff-sequences: "npm:^29.6.3" + jest-get-type: "npm:^29.6.3" + pretty-format: "npm:^29.7.0" + checksum: 10/6f3a7eb9cd9de5ea9e5aa94aed535631fa6f80221832952839b3cb59dd419b91c20b73887deb0b62230d06d02d6b6cf34ebb810b88d904bb4fe1e2e4f0905c98 + languageName: node + linkType: hard + +"jest-docblock@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-docblock@npm:29.7.0" + dependencies: + detect-newline: "npm:^3.0.0" + checksum: 10/8d48818055bc96c9e4ec2e217a5a375623c0d0bfae8d22c26e011074940c202aa2534a3362294c81d981046885c05d304376afba9f2874143025981148f3e96d + languageName: node + linkType: hard + +"jest-each@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-each@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + chalk: "npm:^4.0.0" + jest-get-type: "npm:^29.6.3" + jest-util: "npm:^29.7.0" + pretty-format: "npm:^29.7.0" + checksum: 10/bd1a077654bdaa013b590deb5f7e7ade68f2e3289180a8c8f53bc8a49f3b40740c0ec2d3a3c1aee906f682775be2bebbac37491d80b634d15276b0aa0f2e3fda + languageName: node + linkType: hard + +"jest-environment-node@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-environment-node@npm:29.7.0" + dependencies: + "@jest/environment": "npm:^29.7.0" + "@jest/fake-timers": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + jest-mock: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + checksum: 10/9cf7045adf2307cc93aed2f8488942e39388bff47ec1df149a997c6f714bfc66b2056768973770d3f8b1bf47396c19aa564877eb10ec978b952c6018ed1bd637 + languageName: node + linkType: hard + +"jest-get-type@npm:^29.6.3": + version: 29.6.3 + resolution: "jest-get-type@npm:29.6.3" + checksum: 10/88ac9102d4679d768accae29f1e75f592b760b44277df288ad76ce5bf038c3f5ce3719dea8aa0f035dac30e9eb034b848ce716b9183ad7cc222d029f03e92205 + languageName: node + linkType: hard + +"jest-haste-map@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-haste-map@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + "@types/graceful-fs": "npm:^4.1.3" + "@types/node": "npm:*" + anymatch: "npm:^3.0.3" + fb-watchman: "npm:^2.0.0" + fsevents: "npm:^2.3.2" + graceful-fs: "npm:^4.2.9" + jest-regex-util: "npm:^29.6.3" + jest-util: "npm:^29.7.0" + jest-worker: "npm:^29.7.0" + micromatch: "npm:^4.0.4" + walker: "npm:^1.0.8" + dependenciesMeta: + fsevents: + optional: true + checksum: 10/8531b42003581cb18a69a2774e68c456fb5a5c3280b1b9b77475af9e346b6a457250f9d756bfeeae2fe6cbc9ef28434c205edab9390ee970a919baddfa08bb85 + languageName: node + linkType: hard + +"jest-leak-detector@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-leak-detector@npm:29.7.0" + dependencies: + jest-get-type: "npm:^29.6.3" + pretty-format: "npm:^29.7.0" + checksum: 10/e3950e3ddd71e1d0c22924c51a300a1c2db6cf69ec1e51f95ccf424bcc070f78664813bef7aed4b16b96dfbdeea53fe358f8aeaaea84346ae15c3735758f1605 + languageName: node + linkType: hard + +"jest-matcher-utils@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-matcher-utils@npm:29.7.0" + dependencies: + chalk: "npm:^4.0.0" + jest-diff: "npm:^29.7.0" + jest-get-type: "npm:^29.6.3" + pretty-format: "npm:^29.7.0" + checksum: 10/981904a494299cf1e3baed352f8a3bd8b50a8c13a662c509b6a53c31461f94ea3bfeffa9d5efcfeb248e384e318c87de7e3baa6af0f79674e987482aa189af40 + languageName: node + linkType: hard + +"jest-message-util@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-message-util@npm:29.7.0" + dependencies: + "@babel/code-frame": "npm:^7.12.13" + "@jest/types": "npm:^29.6.3" + "@types/stack-utils": "npm:^2.0.0" + chalk: "npm:^4.0.0" + graceful-fs: "npm:^4.2.9" + micromatch: "npm:^4.0.4" + pretty-format: "npm:^29.7.0" + slash: "npm:^3.0.0" + stack-utils: "npm:^2.0.3" + checksum: 10/31d53c6ed22095d86bab9d14c0fa70c4a92c749ea6ceece82cf30c22c9c0e26407acdfbdb0231435dc85a98d6d65ca0d9cbcd25cd1abb377fe945e843fb770b9 + languageName: node + linkType: hard + +"jest-mock@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-mock@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + jest-util: "npm:^29.7.0" + checksum: 10/ae51d1b4f898724be5e0e52b2268a68fcd876d9b20633c864a6dd6b1994cbc48d62402b0f40f3a1b669b30ebd648821f086c26c08ffde192ced951ff4670d51c + languageName: node + linkType: hard + +"jest-pnp-resolver@npm:^1.2.2": + version: 1.2.3 + resolution: "jest-pnp-resolver@npm:1.2.3" + peerDependencies: + jest-resolve: "*" + peerDependenciesMeta: + jest-resolve: + optional: true + checksum: 10/db1a8ab2cb97ca19c01b1cfa9a9c8c69a143fde833c14df1fab0766f411b1148ff0df878adea09007ac6a2085ec116ba9a996a6ad104b1e58c20adbf88eed9b2 + languageName: node + linkType: hard + +"jest-regex-util@npm:^29.6.3": + version: 29.6.3 + resolution: "jest-regex-util@npm:29.6.3" + checksum: 10/0518beeb9bf1228261695e54f0feaad3606df26a19764bc19541e0fc6e2a3737191904607fb72f3f2ce85d9c16b28df79b7b1ec9443aa08c3ef0e9efda6f8f2a + languageName: node + linkType: hard + +"jest-resolve-dependencies@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-resolve-dependencies@npm:29.7.0" + dependencies: + jest-regex-util: "npm:^29.6.3" + jest-snapshot: "npm:^29.7.0" + checksum: 10/1e206f94a660d81e977bcfb1baae6450cb4a81c92e06fad376cc5ea16b8e8c6ea78c383f39e95591a9eb7f925b6a1021086c38941aa7c1b8a6a813c2f6e93675 + languageName: node + linkType: hard + +"jest-resolve@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-resolve@npm:29.7.0" + dependencies: + chalk: "npm:^4.0.0" + graceful-fs: "npm:^4.2.9" + jest-haste-map: "npm:^29.7.0" + jest-pnp-resolver: "npm:^1.2.2" + jest-util: "npm:^29.7.0" + jest-validate: "npm:^29.7.0" + resolve: "npm:^1.20.0" + resolve.exports: "npm:^2.0.0" + slash: "npm:^3.0.0" + checksum: 10/faa466fd9bc69ea6c37a545a7c6e808e073c66f46ab7d3d8a6ef084f8708f201b85d5fe1799789578b8b47fa1de47b9ee47b414d1863bc117a49e032ba77b7c7 + languageName: node + linkType: hard + +"jest-runner@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-runner@npm:29.7.0" + dependencies: + "@jest/console": "npm:^29.7.0" + "@jest/environment": "npm:^29.7.0" + "@jest/test-result": "npm:^29.7.0" + "@jest/transform": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + chalk: "npm:^4.0.0" + emittery: "npm:^0.13.1" + graceful-fs: "npm:^4.2.9" + jest-docblock: "npm:^29.7.0" + jest-environment-node: "npm:^29.7.0" + jest-haste-map: "npm:^29.7.0" + jest-leak-detector: "npm:^29.7.0" + jest-message-util: "npm:^29.7.0" + jest-resolve: "npm:^29.7.0" + jest-runtime: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + jest-watcher: "npm:^29.7.0" + jest-worker: "npm:^29.7.0" + p-limit: "npm:^3.1.0" + source-map-support: "npm:0.5.13" + checksum: 10/9d8748a494bd90f5c82acea99be9e99f21358263ce6feae44d3f1b0cd90991b5df5d18d607e73c07be95861ee86d1cbab2a3fc6ca4b21805f07ac29d47c1da1e + languageName: node + linkType: hard + +"jest-runtime@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-runtime@npm:29.7.0" + dependencies: + "@jest/environment": "npm:^29.7.0" + "@jest/fake-timers": "npm:^29.7.0" + "@jest/globals": "npm:^29.7.0" + "@jest/source-map": "npm:^29.6.3" + "@jest/test-result": "npm:^29.7.0" + "@jest/transform": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + chalk: "npm:^4.0.0" + cjs-module-lexer: "npm:^1.0.0" + collect-v8-coverage: "npm:^1.0.0" + glob: "npm:^7.1.3" + graceful-fs: "npm:^4.2.9" + jest-haste-map: "npm:^29.7.0" + jest-message-util: "npm:^29.7.0" + jest-mock: "npm:^29.7.0" + jest-regex-util: "npm:^29.6.3" + jest-resolve: "npm:^29.7.0" + jest-snapshot: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + slash: "npm:^3.0.0" + strip-bom: "npm:^4.0.0" + checksum: 10/59eb58eb7e150e0834a2d0c0d94f2a0b963ae7182cfa6c63f2b49b9c6ef794e5193ef1634e01db41420c36a94cefc512cdd67a055cd3e6fa2f41eaf0f82f5a20 + languageName: node + linkType: hard + +"jest-snapshot@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-snapshot@npm:29.7.0" + dependencies: + "@babel/core": "npm:^7.11.6" + "@babel/generator": "npm:^7.7.2" + "@babel/plugin-syntax-jsx": "npm:^7.7.2" + "@babel/plugin-syntax-typescript": "npm:^7.7.2" + "@babel/types": "npm:^7.3.3" + "@jest/expect-utils": "npm:^29.7.0" + "@jest/transform": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + babel-preset-current-node-syntax: "npm:^1.0.0" + chalk: "npm:^4.0.0" + expect: "npm:^29.7.0" + graceful-fs: "npm:^4.2.9" + jest-diff: "npm:^29.7.0" + jest-get-type: "npm:^29.6.3" + jest-matcher-utils: "npm:^29.7.0" + jest-message-util: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + natural-compare: "npm:^1.4.0" + pretty-format: "npm:^29.7.0" + semver: "npm:^7.5.3" + checksum: 10/cb19a3948256de5f922d52f251821f99657339969bf86843bd26cf3332eae94883e8260e3d2fba46129a27c3971c1aa522490e460e16c7fad516e82d10bbf9f8 + languageName: node + linkType: hard + +"jest-util@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-util@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + chalk: "npm:^4.0.0" + ci-info: "npm:^3.2.0" + graceful-fs: "npm:^4.2.9" + picomatch: "npm:^2.2.3" + checksum: 10/30d58af6967e7d42bd903ccc098f3b4d3859ed46238fbc88d4add6a3f10bea00c226b93660285f058bc7a65f6f9529cf4eb80f8d4707f79f9e3a23686b4ab8f3 + languageName: node + linkType: hard + +"jest-validate@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-validate@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + camelcase: "npm:^6.2.0" + chalk: "npm:^4.0.0" + jest-get-type: "npm:^29.6.3" + leven: "npm:^3.1.0" + pretty-format: "npm:^29.7.0" + checksum: 10/8ee1163666d8eaa16d90a989edba2b4a3c8ab0ffaa95ad91b08ca42b015bfb70e164b247a5b17f9de32d096987cada63ed8491ab82761bfb9a28bc34b27ae161 + languageName: node + linkType: hard + +"jest-watcher@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-watcher@npm:29.7.0" + dependencies: + "@jest/test-result": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + ansi-escapes: "npm:^4.2.1" + chalk: "npm:^4.0.0" + emittery: "npm:^0.13.1" + jest-util: "npm:^29.7.0" + string-length: "npm:^4.0.1" + checksum: 10/4f616e0345676631a7034b1d94971aaa719f0cd4a6041be2aa299be437ea047afd4fe05c48873b7963f5687a2f6c7cbf51244be8b14e313b97bfe32b1e127e55 + languageName: node + linkType: hard + +"jest-worker@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-worker@npm:29.7.0" + dependencies: + "@types/node": "npm:*" + jest-util: "npm:^29.7.0" + merge-stream: "npm:^2.0.0" + supports-color: "npm:^8.0.0" + checksum: 10/364cbaef00d8a2729fc760227ad34b5e60829e0869bd84976bdfbd8c0d0f9c2f22677b3e6dd8afa76ed174765351cd12bae3d4530c62eefb3791055127ca9745 + languageName: node + linkType: hard + +"jest@npm:^29.7.0": + version: 29.7.0 + resolution: "jest@npm:29.7.0" + dependencies: + "@jest/core": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + import-local: "npm:^3.0.2" + jest-cli: "npm:^29.7.0" + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + bin: + jest: bin/jest.js + checksum: 10/97023d78446098c586faaa467fbf2c6b07ff06e2c85a19e3926adb5b0effe9ac60c4913ae03e2719f9c01ae8ffd8d92f6b262cedb9555ceeb5d19263d8c6362a + languageName: node + linkType: hard + +"js-tokens@npm:^4.0.0": + version: 4.0.0 + resolution: "js-tokens@npm:4.0.0" + checksum: 10/af37d0d913fb56aec6dc0074c163cc71cd23c0b8aad5c2350747b6721d37ba118af35abdd8b33c47ec2800de07dedb16a527ca9c530ee004093e04958bd0cbf2 + languageName: node + linkType: hard + +"js-yaml@npm:^3.13.1": + version: 3.14.1 + resolution: "js-yaml@npm:3.14.1" + dependencies: + argparse: "npm:^1.0.7" + esprima: "npm:^4.0.0" + bin: + js-yaml: bin/js-yaml.js + checksum: 10/9e22d80b4d0105b9899135365f746d47466ed53ef4223c529b3c0f7a39907743fdbd3c4379f94f1106f02755b5e90b2faaf84801a891135544e1ea475d1a1379 + languageName: node + linkType: hard + +"js-yaml@npm:^4.1.0": + version: 4.1.0 + resolution: "js-yaml@npm:4.1.0" + dependencies: + argparse: "npm:^2.0.1" + bin: + js-yaml: bin/js-yaml.js + checksum: 10/c138a34a3fd0d08ebaf71273ad4465569a483b8a639e0b118ff65698d257c2791d3199e3f303631f2cb98213fa7b5f5d6a4621fd0fff819421b990d30d967140 + languageName: node + linkType: hard + +"jsbn@npm:1.1.0": + version: 1.1.0 + resolution: "jsbn@npm:1.1.0" + checksum: 10/bebe7ae829bbd586ce8cbe83501dd8cb8c282c8902a8aeeed0a073a89dc37e8103b1244f3c6acd60278bcbfe12d93a3f83c9ac396868a3b3bbc3c5e5e3b648ef + languageName: node + linkType: hard + +"jsesc@npm:^3.0.2": + version: 3.1.0 + resolution: "jsesc@npm:3.1.0" + bin: + jsesc: bin/jsesc + checksum: 10/20bd37a142eca5d1794f354db8f1c9aeb54d85e1f5c247b371de05d23a9751ecd7bd3a9c4fc5298ea6fa09a100dafb4190fa5c98c6610b75952c3487f3ce7967 + languageName: node + linkType: hard + +"jsesc@npm:~3.0.2": + version: 3.0.2 + resolution: "jsesc@npm:3.0.2" + bin: + jsesc: bin/jsesc + checksum: 10/8e5a7de6b70a8bd71f9cb0b5a7ade6a73ae6ab55e697c74cc997cede97417a3a65ed86c36f7dd6125fe49766e8386c845023d9e213916ca92c9dfdd56e2babf3 + languageName: node + linkType: hard + +"json-buffer@npm:3.0.1": + version: 3.0.1 + resolution: "json-buffer@npm:3.0.1" + checksum: 10/82876154521b7b68ba71c4f969b91572d1beabadd87bd3a6b236f85fbc7dc4695089191ed60bb59f9340993c51b33d479f45b6ba9f3548beb519705281c32c3c + languageName: node + linkType: hard + +"json-parse-even-better-errors@npm:^2.3.0": + version: 2.3.1 + resolution: "json-parse-even-better-errors@npm:2.3.1" + checksum: 10/5f3a99009ed5f2a5a67d06e2f298cc97bc86d462034173308156f15b43a6e850be8511dc204b9b94566305da2947f7d90289657237d210351a39059ff9d666cf + languageName: node + linkType: hard + +"json-schema-traverse@npm:^0.4.1": + version: 0.4.1 + resolution: "json-schema-traverse@npm:0.4.1" + checksum: 10/7486074d3ba247769fda17d5181b345c9fb7d12e0da98b22d1d71a5db9698d8b4bd900a3ec1a4ffdd60846fc2556274a5c894d0c48795f14cb03aeae7b55260b + languageName: node + linkType: hard + +"json-stable-stringify-without-jsonify@npm:^1.0.1": + version: 1.0.1 + resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" + checksum: 10/12786c2e2f22c27439e6db0532ba321f1d0617c27ad8cb1c352a0e9249a50182fd1ba8b52a18899291604b0c32eafa8afd09e51203f19109a0537f68db2b652d + languageName: node + linkType: hard + +"json5@npm:^2.2.3": + version: 2.2.3 + resolution: "json5@npm:2.2.3" + bin: + json5: lib/cli.js + checksum: 10/1db67b853ff0de3534085d630691d3247de53a2ed1390ba0ddff681ea43e9b3e30ecbdb65c5e9aab49435e44059c23dbd6fee8ee619419ba37465bb0dd7135da + languageName: node + linkType: hard + +"keyv@npm:^4.5.4": + version: 4.5.4 + resolution: "keyv@npm:4.5.4" + dependencies: + json-buffer: "npm:3.0.1" + checksum: 10/167eb6ef64cc84b6fa0780ee50c9de456b422a1e18802209234f7c2cf7eae648c7741f32e50d7e24ccb22b24c13154070b01563d642755b156c357431a191e75 + languageName: node + linkType: hard + +"kind-of@npm:^6.0.2": + version: 6.0.3 + resolution: "kind-of@npm:6.0.3" + checksum: 10/5873d303fb36aad875b7538798867da2ae5c9e328d67194b0162a3659a627d22f742fc9c4ae95cd1704132a24b00cae5041fc00c0f6ef937dc17080dc4dbb962 + languageName: node + linkType: hard + +"kleur@npm:^3.0.3": + version: 3.0.3 + resolution: "kleur@npm:3.0.3" + checksum: 10/0c0ecaf00a5c6173d25059c7db2113850b5457016dfa1d0e3ef26da4704fbb186b4938d7611246d86f0ddf1bccf26828daa5877b1f232a65e7373d0122a83e7f + languageName: node + linkType: hard + +"leven@npm:^3.1.0": + version: 3.1.0 + resolution: "leven@npm:3.1.0" + checksum: 10/638401d534585261b6003db9d99afd244dfe82d75ddb6db5c0df412842d5ab30b2ef18de471aaec70fe69a46f17b4ae3c7f01d8a4e6580ef7adb9f4273ad1e55 + languageName: node + linkType: hard + +"levn@npm:^0.4.1": + version: 0.4.1 + resolution: "levn@npm:0.4.1" + dependencies: + prelude-ls: "npm:^1.2.1" + type-check: "npm:~0.4.0" + checksum: 10/2e4720ff79f21ae08d42374b0a5c2f664c5be8b6c8f565bb4e1315c96ed3a8acaa9de788ffed82d7f2378cf36958573de07ef92336cb5255ed74d08b8318c9ee + languageName: node + linkType: hard + +"lines-and-columns@npm:^1.1.6": + version: 1.2.4 + resolution: "lines-and-columns@npm:1.2.4" + checksum: 10/0c37f9f7fa212b38912b7145e1cd16a5f3cd34d782441c3e6ca653485d326f58b3caccda66efce1c5812bde4961bbde3374fae4b0d11bf1226152337f3894aa5 + languageName: node + linkType: hard + +"locate-path@npm:^3.0.0": + version: 3.0.0 + resolution: "locate-path@npm:3.0.0" + dependencies: + p-locate: "npm:^3.0.0" + path-exists: "npm:^3.0.0" + checksum: 10/53db3996672f21f8b0bf2a2c645ae2c13ffdae1eeecfcd399a583bce8516c0b88dcb4222ca6efbbbeb6949df7e46860895be2c02e8d3219abd373ace3bfb4e11 + languageName: node + linkType: hard + +"locate-path@npm:^5.0.0": + version: 5.0.0 + resolution: "locate-path@npm:5.0.0" + dependencies: + p-locate: "npm:^4.1.0" + checksum: 10/83e51725e67517287d73e1ded92b28602e3ae5580b301fe54bfb76c0c723e3f285b19252e375712316774cf52006cb236aed5704692c32db0d5d089b69696e30 + languageName: node + linkType: hard + +"locate-path@npm:^6.0.0": + version: 6.0.0 + resolution: "locate-path@npm:6.0.0" + dependencies: + p-locate: "npm:^5.0.0" + checksum: 10/72eb661788a0368c099a184c59d2fee760b3831c9c1c33955e8a19ae4a21b4116e53fa736dc086cdeb9fce9f7cc508f2f92d2d3aae516f133e16a2bb59a39f5a + languageName: node + linkType: hard + +"lodash.debounce@npm:^4.0.8": + version: 4.0.8 + resolution: "lodash.debounce@npm:4.0.8" + checksum: 10/cd0b2819786e6e80cb9f5cda26b1a8fc073daaf04e48d4cb462fa4663ec9adb3a5387aa22d7129e48eed1afa05b482e2a6b79bfc99b86886364449500cbb00fd + languageName: node + linkType: hard + +"lodash.merge@npm:^4.6.2": + version: 4.6.2 + resolution: "lodash.merge@npm:4.6.2" + checksum: 10/d0ea2dd0097e6201be083865d50c3fb54fbfbdb247d9cc5950e086c991f448b7ab0cdab0d57eacccb43473d3f2acd21e134db39f22dac2d6c9ba6bf26978e3d6 + languageName: node + linkType: hard + +"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": + version: 10.4.3 + resolution: "lru-cache@npm:10.4.3" + checksum: 10/e6e90267360476720fa8e83cc168aa2bf0311f3f2eea20a6ba78b90a885ae72071d9db132f40fda4129c803e7dcec3a6b6a6fbb44ca90b081630b810b5d6a41a + languageName: node + linkType: hard + +"lru-cache@npm:^5.1.1": + version: 5.1.1 + resolution: "lru-cache@npm:5.1.1" + dependencies: + yallist: "npm:^3.0.2" + checksum: 10/951d2673dcc64a7fb888bf3d13bc2fdf923faca97d89cdb405ba3dfff77e2b26e5798d405e78fcd7094c9e7b8b4dab2ddc5a4f8a11928af24a207b7c738ca3f8 + languageName: node + linkType: hard + +"make-dir@npm:^2.0.0, make-dir@npm:^2.1.0": + version: 2.1.0 + resolution: "make-dir@npm:2.1.0" + dependencies: + pify: "npm:^4.0.1" + semver: "npm:^5.6.0" + checksum: 10/043548886bfaf1820323c6a2997e6d2fa51ccc2586ac14e6f14634f7458b4db2daf15f8c310e2a0abd3e0cddc64df1890d8fc7263033602c47bb12cbfcf86aab + languageName: node + linkType: hard + +"make-dir@npm:^4.0.0": + version: 4.0.0 + resolution: "make-dir@npm:4.0.0" + dependencies: + semver: "npm:^7.5.3" + checksum: 10/bf0731a2dd3aab4db6f3de1585cea0b746bb73eb5a02e3d8d72757e376e64e6ada190b1eddcde5b2f24a81b688a9897efd5018737d05e02e2a671dda9cff8a8a + languageName: node + linkType: hard + +"make-fetch-happen@npm:^14.0.3": + version: 14.0.3 + resolution: "make-fetch-happen@npm:14.0.3" + dependencies: + "@npmcli/agent": "npm:^3.0.0" + cacache: "npm:^19.0.1" + http-cache-semantics: "npm:^4.1.1" + minipass: "npm:^7.0.2" + minipass-fetch: "npm:^4.0.0" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + negotiator: "npm:^1.0.0" + proc-log: "npm:^5.0.0" + promise-retry: "npm:^2.0.1" + ssri: "npm:^12.0.0" + checksum: 10/fce0385840b6d86b735053dfe941edc2dd6468fda80fe74da1eeff10cbd82a75760f406194f2bc2fa85b99545b2bc1f84c08ddf994b21830775ba2d1a87e8bdf + languageName: node + linkType: hard + +"makeerror@npm:1.0.12": + version: 1.0.12 + resolution: "makeerror@npm:1.0.12" + dependencies: + tmpl: "npm:1.0.5" + checksum: 10/4c66ddfc654537333da952c084f507fa4c30c707b1635344eb35be894d797ba44c901a9cebe914aa29a7f61357543ba09b09dddbd7f65b4aee756b450f169f40 + languageName: node + linkType: hard + +"math-intrinsics@npm:^1.1.0": + version: 1.1.0 + resolution: "math-intrinsics@npm:1.1.0" + checksum: 10/11df2eda46d092a6035479632e1ec865b8134bdfc4bd9e571a656f4191525404f13a283a515938c3a8de934dbfd9c09674d9da9fa831e6eb7e22b50b197d2edd + languageName: node + linkType: hard + +"merge-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "merge-stream@npm:2.0.0" + checksum: 10/6fa4dcc8d86629705cea944a4b88ef4cb0e07656ebf223fa287443256414283dd25d91c1cd84c77987f2aec5927af1a9db6085757cb43d90eb170ebf4b47f4f4 + languageName: node + linkType: hard + +"merge2@npm:^1.3.0": + version: 1.4.1 + resolution: "merge2@npm:1.4.1" + checksum: 10/7268db63ed5169466540b6fb947aec313200bcf6d40c5ab722c22e242f651994619bcd85601602972d3c85bd2cc45a358a4c61937e9f11a061919a1da569b0c2 + languageName: node + linkType: hard + +"micromatch@npm:^4.0.4, micromatch@npm:^4.0.8": + version: 4.0.8 + resolution: "micromatch@npm:4.0.8" + dependencies: + braces: "npm:^3.0.3" + picomatch: "npm:^2.3.1" + checksum: 10/6bf2a01672e7965eb9941d1f02044fad2bd12486b5553dc1116ff24c09a8723157601dc992e74c911d896175918448762df3b3fd0a6b61037dd1a9766ddfbf58 + languageName: node + linkType: hard + +"mimic-fn@npm:^2.1.0": + version: 2.1.0 + resolution: "mimic-fn@npm:2.1.0" + checksum: 10/d2421a3444848ce7f84bd49115ddacff29c15745db73f54041edc906c14b131a38d05298dae3081667627a59b2eb1ca4b436ff2e1b80f69679522410418b478a + languageName: node + linkType: hard + +"minimatch@npm:^3.0.4, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": + version: 3.1.2 + resolution: "minimatch@npm:3.1.2" + dependencies: + brace-expansion: "npm:^1.1.7" + checksum: 10/e0b25b04cd4ec6732830344e5739b13f8690f8a012d73445a4a19fbc623f5dd481ef7a5827fde25954cd6026fede7574cc54dc4643c99d6c6b653d6203f94634 + languageName: node + linkType: hard + +"minimatch@npm:^9.0.4": + version: 9.0.5 + resolution: "minimatch@npm:9.0.5" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10/dd6a8927b063aca6d910b119e1f2df6d2ce7d36eab91de83167dd136bb85e1ebff97b0d3de1cb08bd1f7e018ca170b4962479fefab5b2a69e2ae12cb2edc8348 + languageName: node + linkType: hard + +"minipass-collect@npm:^2.0.1": + version: 2.0.1 + resolution: "minipass-collect@npm:2.0.1" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10/b251bceea62090f67a6cced7a446a36f4cd61ee2d5cea9aee7fff79ba8030e416327a1c5aa2908dc22629d06214b46d88fdab8c51ac76bacbf5703851b5ad342 + languageName: node + linkType: hard + +"minipass-fetch@npm:^4.0.0": + version: 4.0.1 + resolution: "minipass-fetch@npm:4.0.1" + dependencies: + encoding: "npm:^0.1.13" + minipass: "npm:^7.0.3" + minipass-sized: "npm:^1.0.3" + minizlib: "npm:^3.0.1" + dependenciesMeta: + encoding: + optional: true + checksum: 10/7ddfebdbb87d9866e7b5f7eead5a9e3d9d507992af932a11d275551f60006cf7d9178e66d586dbb910894f3e3458d27c0ddf93c76e94d49d0a54a541ddc1263d + languageName: node + linkType: hard + +"minipass-flush@npm:^1.0.5": + version: 1.0.5 + resolution: "minipass-flush@npm:1.0.5" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10/56269a0b22bad756a08a94b1ffc36b7c9c5de0735a4dd1ab2b06c066d795cfd1f0ac44a0fcae13eece5589b908ecddc867f04c745c7009be0b566421ea0944cf + languageName: node + linkType: hard + +"minipass-pipeline@npm:^1.2.4": + version: 1.2.4 + resolution: "minipass-pipeline@npm:1.2.4" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10/b14240dac0d29823c3d5911c286069e36d0b81173d7bdf07a7e4a91ecdef92cdff4baaf31ea3746f1c61e0957f652e641223970870e2353593f382112257971b + languageName: node + linkType: hard + +"minipass-sized@npm:^1.0.3": + version: 1.0.3 + resolution: "minipass-sized@npm:1.0.3" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10/40982d8d836a52b0f37049a0a7e5d0f089637298e6d9b45df9c115d4f0520682a78258905e5c8b180fb41b593b0a82cc1361d2c74b45f7ada66334f84d1ecfdd + languageName: node + linkType: hard + +"minipass@npm:^3.0.0": + version: 3.3.6 + resolution: "minipass@npm:3.3.6" + dependencies: + yallist: "npm:^4.0.0" + checksum: 10/a5c6ef069f70d9a524d3428af39f2b117ff8cd84172e19b754e7264a33df460873e6eb3d6e55758531580970de50ae950c496256bb4ad3691a2974cddff189f0 + languageName: node + linkType: hard + +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2": + version: 7.1.2 + resolution: "minipass@npm:7.1.2" + checksum: 10/c25f0ee8196d8e6036661104bacd743785b2599a21de5c516b32b3fa2b83113ac89a2358465bc04956baab37ffb956ae43be679b2262bf7be15fce467ccd7950 + languageName: node + linkType: hard + +"minizlib@npm:^3.0.1": + version: 3.0.2 + resolution: "minizlib@npm:3.0.2" + dependencies: + minipass: "npm:^7.1.2" + checksum: 10/c075bed1594f68dcc8c35122333520112daefd4d070e5d0a228bd4cf5580e9eed3981b96c0ae1d62488e204e80fd27b2b9d0068ca9a5ef3993e9565faf63ca41 + languageName: node + linkType: hard + +"mkdirp@npm:^3.0.1": + version: 3.0.1 + resolution: "mkdirp@npm:3.0.1" + bin: + mkdirp: dist/cjs/src/bin.js + checksum: 10/16fd79c28645759505914561e249b9a1f5fe3362279ad95487a4501e4467abeb714fd35b95307326b8fd03f3c7719065ef11a6f97b7285d7888306d1bd2232ba + languageName: node + linkType: hard + +"ms@npm:^2.1.3": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: 10/aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d + languageName: node + linkType: hard + +"natural-compare@npm:^1.4.0": + version: 1.4.0 + resolution: "natural-compare@npm:1.4.0" + checksum: 10/23ad088b08f898fc9b53011d7bb78ec48e79de7627e01ab5518e806033861bef68d5b0cd0e2205c2f36690ac9571ff6bcb05eb777ced2eeda8d4ac5b44592c3d + languageName: node + linkType: hard + +"negotiator@npm:^1.0.0": + version: 1.0.0 + resolution: "negotiator@npm:1.0.0" + checksum: 10/b5734e87295324fabf868e36fb97c84b7d7f3156ec5f4ee5bf6e488079c11054f818290fc33804cef7b1ee21f55eeb14caea83e7dafae6492a409b3e573153e5 + languageName: node + linkType: hard + +"node-environment-flags@npm:^1.0.5": + version: 1.0.6 + resolution: "node-environment-flags@npm:1.0.6" + dependencies: + object.getownpropertydescriptors: "npm:^2.0.3" + semver: "npm:^5.7.0" + checksum: 10/e179d0ff3697cd6006d426ce707060b044da93c8e4c7ce1b19d211c25cc276ba72aa36247bfe64d6e79a0264843d5df7124f0fc28e50fc904f07cc1b96f8c781 + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 11.2.0 + resolution: "node-gyp@npm:11.2.0" + dependencies: + env-paths: "npm:^2.2.0" + exponential-backoff: "npm:^3.1.1" + graceful-fs: "npm:^4.2.6" + make-fetch-happen: "npm:^14.0.3" + nopt: "npm:^8.0.0" + proc-log: "npm:^5.0.0" + semver: "npm:^7.3.5" + tar: "npm:^7.4.3" + tinyglobby: "npm:^0.2.12" + which: "npm:^5.0.0" + bin: + node-gyp: bin/node-gyp.js + checksum: 10/806fd8e3adc9157e17bf0d4a2c899cf6b98a0bbe9f453f630094ce791866271f6cddcaf2133e6513715d934fcba2014d287c7053d5d7934937b3a34d5a3d84ad + languageName: node + linkType: hard + +"node-int64@npm:^0.4.0": + version: 0.4.0 + resolution: "node-int64@npm:0.4.0" + checksum: 10/b7afc2b65e56f7035b1a2eec57ae0fbdee7d742b1cdcd0f4387562b6527a011ab1cbe9f64cc8b3cca61e3297c9637c8bf61cec2e6b8d3a711d4b5267dfafbe02 + languageName: node + linkType: hard + +"node-releases@npm:^2.0.19": + version: 2.0.19 + resolution: "node-releases@npm:2.0.19" + checksum: 10/c2b33b4f0c40445aee56141f13ca692fa6805db88510e5bbb3baadb2da13e1293b738e638e15e4a8eb668bb9e97debb08e7a35409b477b5cc18f171d35a83045 + languageName: node + linkType: hard + +"nopt@npm:^8.0.0": + version: 8.1.0 + resolution: "nopt@npm:8.1.0" + dependencies: + abbrev: "npm:^3.0.0" + bin: + nopt: bin/nopt.js + checksum: 10/26ab456c51a96f02a9e5aa8d1b80ef3219f2070f3f3528a040e32fb735b1e651e17bdf0f1476988d3a46d498f35c65ed662d122f340d38ce4a7e71dd7b20c4bc + languageName: node + linkType: hard + +"normalize-path@npm:^3.0.0": + version: 3.0.0 + resolution: "normalize-path@npm:3.0.0" + checksum: 10/88eeb4da891e10b1318c4b2476b6e2ecbeb5ff97d946815ffea7794c31a89017c70d7f34b3c2ebf23ef4e9fc9fb99f7dffe36da22011b5b5c6ffa34f4873ec20 + languageName: node + linkType: hard + +"npm-run-path@npm:^4.0.1": + version: 4.0.1 + resolution: "npm-run-path@npm:4.0.1" + dependencies: + path-key: "npm:^3.0.0" + checksum: 10/5374c0cea4b0bbfdfae62da7bbdf1e1558d338335f4cacf2515c282ff358ff27b2ecb91ffa5330a8b14390ac66a1e146e10700440c1ab868208430f56b5f4d23 + languageName: node + linkType: hard + +"object-inspect@npm:^1.13.3": + version: 1.13.4 + resolution: "object-inspect@npm:1.13.4" + checksum: 10/aa13b1190ad3e366f6c83ad8a16ed37a19ed57d267385aa4bfdccda833d7b90465c057ff6c55d035a6b2e52c1a2295582b294217a0a3a1ae7abdd6877ef781fb + languageName: node + linkType: hard + +"object-keys@npm:^1.1.1": + version: 1.1.1 + resolution: "object-keys@npm:1.1.1" + checksum: 10/3d81d02674115973df0b7117628ea4110d56042e5326413e4b4313f0bcdf7dd78d4a3acef2c831463fa3796a66762c49daef306f4a0ea1af44877d7086d73bde + languageName: node + linkType: hard + +"object.assign@npm:^4.1.7": + version: 4.1.7 + resolution: "object.assign@npm:4.1.7" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.0.0" + has-symbols: "npm:^1.1.0" + object-keys: "npm:^1.1.1" + checksum: 10/3fe28cdd779f2a728a9a66bd688679ba231a2b16646cd1e46b528fe7c947494387dda4bc189eff3417f3717ef4f0a8f2439347cf9a9aa3cef722fbfd9f615587 + languageName: node + linkType: hard + +"object.getownpropertydescriptors@npm:^2.0.3": + version: 2.1.8 + resolution: "object.getownpropertydescriptors@npm:2.1.8" + dependencies: + array.prototype.reduce: "npm:^1.0.6" + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.2" + es-object-atoms: "npm:^1.0.0" + gopd: "npm:^1.0.1" + safe-array-concat: "npm:^1.1.2" + checksum: 10/8c50f52e0d702d30836f3d2772ba02807ca25a5381be6f9470c6d143ee0bad01bce3fff0fedea2bdbc0c9297e4eb7785ffee5739f6a3a7c60fcd622b42f8a9fb + languageName: node + linkType: hard + +"once@npm:^1.3.0": + version: 1.4.0 + resolution: "once@npm:1.4.0" + dependencies: + wrappy: "npm:1" + checksum: 10/cd0a88501333edd640d95f0d2700fbde6bff20b3d4d9bdc521bdd31af0656b5706570d6c6afe532045a20bb8dc0849f8332d6f2a416e0ba6d3d3b98806c7db68 + languageName: node + linkType: hard + +"onetime@npm:^5.1.2": + version: 5.1.2 + resolution: "onetime@npm:5.1.2" + dependencies: + mimic-fn: "npm:^2.1.0" + checksum: 10/e9fd0695a01cf226652f0385bf16b7a24153dbbb2039f764c8ba6d2306a8506b0e4ce570de6ad99c7a6eb49520743afdb66edd95ee979c1a342554ed49a9aadd + languageName: node + linkType: hard + +"optionator@npm:^0.9.3": + version: 0.9.4 + resolution: "optionator@npm:0.9.4" + dependencies: + deep-is: "npm:^0.1.3" + fast-levenshtein: "npm:^2.0.6" + levn: "npm:^0.4.1" + prelude-ls: "npm:^1.2.1" + type-check: "npm:^0.4.0" + word-wrap: "npm:^1.2.5" + checksum: 10/a8398559c60aef88d7f353a4f98dcdff6090a4e70f874c827302bf1213d9106a1c4d5fcb68dacb1feb3c30a04c4102f41047aa55d4c576b863d6fc876e001af6 + languageName: node + linkType: hard + +"own-keys@npm:^1.0.1": + version: 1.0.1 + resolution: "own-keys@npm:1.0.1" + dependencies: + get-intrinsic: "npm:^1.2.6" + object-keys: "npm:^1.1.1" + safe-push-apply: "npm:^1.0.0" + checksum: 10/ab4bb3b8636908554fc19bf899e225444195092864cb61503a0d048fdaf662b04be2605b636a4ffeaf6e8811f6fcfa8cbb210ec964c0eb1a41eb853e1d5d2f41 + languageName: node + linkType: hard + +"p-limit@npm:^2.0.0, p-limit@npm:^2.2.0": + version: 2.3.0 + resolution: "p-limit@npm:2.3.0" + dependencies: + p-try: "npm:^2.0.0" + checksum: 10/84ff17f1a38126c3314e91ecfe56aecbf36430940e2873dadaa773ffe072dc23b7af8e46d4b6485d302a11673fe94c6b67ca2cfbb60c989848b02100d0594ac1 + languageName: node + linkType: hard + +"p-limit@npm:^3.0.2, p-limit@npm:^3.1.0": + version: 3.1.0 + resolution: "p-limit@npm:3.1.0" + dependencies: + yocto-queue: "npm:^0.1.0" + checksum: 10/7c3690c4dbf62ef625671e20b7bdf1cbc9534e83352a2780f165b0d3ceba21907e77ad63401708145ca4e25bfc51636588d89a8c0aeb715e6c37d1c066430360 + languageName: node + linkType: hard + +"p-locate@npm:^3.0.0": + version: 3.0.0 + resolution: "p-locate@npm:3.0.0" + dependencies: + p-limit: "npm:^2.0.0" + checksum: 10/83991734a9854a05fe9dbb29f707ea8a0599391f52daac32b86f08e21415e857ffa60f0e120bfe7ce0cc4faf9274a50239c7895fc0d0579d08411e513b83a4ae + languageName: node + linkType: hard + +"p-locate@npm:^4.1.0": + version: 4.1.0 + resolution: "p-locate@npm:4.1.0" + dependencies: + p-limit: "npm:^2.2.0" + checksum: 10/513bd14a455f5da4ebfcb819ef706c54adb09097703de6aeaa5d26fe5ea16df92b48d1ac45e01e3944ce1e6aa2a66f7f8894742b8c9d6e276e16cd2049a2b870 + languageName: node + linkType: hard + +"p-locate@npm:^5.0.0": + version: 5.0.0 + resolution: "p-locate@npm:5.0.0" + dependencies: + p-limit: "npm:^3.0.2" + checksum: 10/1623088f36cf1cbca58e9b61c4e62bf0c60a07af5ae1ca99a720837356b5b6c5ba3eb1b2127e47a06865fee59dd0453cad7cc844cda9d5a62ac1a5a51b7c86d3 + languageName: node + linkType: hard + +"p-map@npm:^7.0.2": + version: 7.0.3 + resolution: "p-map@npm:7.0.3" + checksum: 10/2ef48ccfc6dd387253d71bf502604f7893ed62090b2c9d73387f10006c342606b05233da0e4f29388227b61eb5aeface6197e166520c465c234552eeab2fe633 + languageName: node + linkType: hard + +"p-try@npm:^2.0.0": + version: 2.2.0 + resolution: "p-try@npm:2.2.0" + checksum: 10/f8a8e9a7693659383f06aec604ad5ead237c7a261c18048a6e1b5b85a5f8a067e469aa24f5bc009b991ea3b058a87f5065ef4176793a200d4917349881216cae + languageName: node + linkType: hard + +"package-json-from-dist@npm:^1.0.0": + version: 1.0.1 + resolution: "package-json-from-dist@npm:1.0.1" + checksum: 10/58ee9538f2f762988433da00e26acc788036914d57c71c246bf0be1b60cdbd77dd60b6a3e1a30465f0b248aeb80079e0b34cb6050b1dfa18c06953bb1cbc7602 + languageName: node + linkType: hard + +"parent-module@npm:^1.0.0": + version: 1.0.1 + resolution: "parent-module@npm:1.0.1" + dependencies: + callsites: "npm:^3.0.0" + checksum: 10/6ba8b255145cae9470cf5551eb74be2d22281587af787a2626683a6c20fbb464978784661478dd2a3f1dad74d1e802d403e1b03c1a31fab310259eec8ac560ff + languageName: node + linkType: hard + +"parse-json@npm:^5.2.0": + version: 5.2.0 + resolution: "parse-json@npm:5.2.0" + dependencies: + "@babel/code-frame": "npm:^7.0.0" + error-ex: "npm:^1.3.1" + json-parse-even-better-errors: "npm:^2.3.0" + lines-and-columns: "npm:^1.1.6" + checksum: 10/62085b17d64da57f40f6afc2ac1f4d95def18c4323577e1eced571db75d9ab59b297d1d10582920f84b15985cbfc6b6d450ccbf317644cfa176f3ed982ad87e2 + languageName: node + linkType: hard + +"parse-passwd@npm:^1.0.0": + version: 1.0.0 + resolution: "parse-passwd@npm:1.0.0" + checksum: 10/4e55e0231d58f828a41d0f1da2bf2ff7bcef8f4cb6146e69d16ce499190de58b06199e6bd9b17fbf0d4d8aef9052099cdf8c4f13a6294b1a522e8e958073066e + languageName: node + linkType: hard + +"path-exists@npm:^3.0.0": + version: 3.0.0 + resolution: "path-exists@npm:3.0.0" + checksum: 10/96e92643aa34b4b28d0de1cd2eba52a1c5313a90c6542d03f62750d82480e20bfa62bc865d5cfc6165f5fcd5aeb0851043c40a39be5989646f223300021bae0a + languageName: node + linkType: hard + +"path-exists@npm:^4.0.0": + version: 4.0.0 + resolution: "path-exists@npm:4.0.0" + checksum: 10/505807199dfb7c50737b057dd8d351b82c033029ab94cb10a657609e00c1bc53b951cfdbccab8de04c5584d5eff31128ce6afd3db79281874a5ef2adbba55ed1 + languageName: node + linkType: hard + +"path-is-absolute@npm:^1.0.0": + version: 1.0.1 + resolution: "path-is-absolute@npm:1.0.1" + checksum: 10/060840f92cf8effa293bcc1bea81281bd7d363731d214cbe5c227df207c34cd727430f70c6037b5159c8a870b9157cba65e775446b0ab06fd5ecc7e54615a3b8 + languageName: node + linkType: hard + +"path-key@npm:^3.0.0, path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 10/55cd7a9dd4b343412a8386a743f9c746ef196e57c823d90ca3ab917f90ab9f13dd0ded27252ba49dbdfcab2b091d998bc446f6220cd3cea65db407502a740020 + languageName: node + linkType: hard + +"path-parse@npm:^1.0.7": + version: 1.0.7 + resolution: "path-parse@npm:1.0.7" + checksum: 10/49abf3d81115642938a8700ec580da6e830dde670be21893c62f4e10bd7dd4c3742ddc603fe24f898cba7eb0c6bc1777f8d9ac14185d34540c6d4d80cd9cae8a + languageName: node + linkType: hard + +"path-scurry@npm:^1.11.1": + version: 1.11.1 + resolution: "path-scurry@npm:1.11.1" + dependencies: + lru-cache: "npm:^10.2.0" + minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" + checksum: 10/5e8845c159261adda6f09814d7725683257fcc85a18f329880ab4d7cc1d12830967eae5d5894e453f341710d5484b8fdbbd4d75181b4d6e1eb2f4dc7aeadc434 + languageName: node + linkType: hard + +"picocolors@npm:^1.0.0, picocolors@npm:^1.1.1": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: 10/e1cf46bf84886c79055fdfa9dcb3e4711ad259949e3565154b004b260cd356c5d54b31a1437ce9782624bf766272fe6b0154f5f0c744fb7af5d454d2b60db045 + languageName: node + linkType: hard + +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 10/60c2595003b05e4535394d1da94850f5372c9427ca4413b71210f437f7b2ca091dbd611c45e8b37d10036fa8eade25c1b8951654f9d3973bfa66a2ff4d3b08bc + languageName: node + linkType: hard + +"picomatch@npm:^4.0.2": + version: 4.0.2 + resolution: "picomatch@npm:4.0.2" + checksum: 10/ce617b8da36797d09c0baacb96ca8a44460452c89362d7cb8f70ca46b4158ba8bc3606912de7c818eb4a939f7f9015cef3c766ec8a0c6bfc725fdc078e39c717 + languageName: node + linkType: hard + +"pify@npm:^4.0.1": + version: 4.0.1 + resolution: "pify@npm:4.0.1" + checksum: 10/8b97cbf9dc6d4c1320cc238a2db0fc67547f9dc77011729ff353faf34f1936ea1a4d7f3c63b2f4980b253be77bcc72ea1e9e76ee3fd53cce2aafb6a8854d07ec + languageName: node + linkType: hard + +"pirates@npm:^4.0.4, pirates@npm:^4.0.6": + version: 4.0.7 + resolution: "pirates@npm:4.0.7" + checksum: 10/2427f371366081ae42feb58214f04805d6b41d6b84d74480ebcc9e0ddbd7105a139f7c653daeaf83ad8a1a77214cf07f64178e76de048128fec501eab3305a96 + languageName: node + linkType: hard + +"pkg-dir@npm:^3.0.0": + version: 3.0.0 + resolution: "pkg-dir@npm:3.0.0" + dependencies: + find-up: "npm:^3.0.0" + checksum: 10/70c9476ffefc77552cc6b1880176b71ad70bfac4f367604b2b04efd19337309a4eec985e94823271c7c0e83946fa5aeb18cd360d15d10a5d7533e19344bfa808 + languageName: node + linkType: hard + +"pkg-dir@npm:^4.2.0": + version: 4.2.0 + resolution: "pkg-dir@npm:4.2.0" + dependencies: + find-up: "npm:^4.0.0" + checksum: 10/9863e3f35132bf99ae1636d31ff1e1e3501251d480336edb1c211133c8d58906bed80f154a1d723652df1fda91e01c7442c2eeaf9dc83157c7ae89087e43c8d6 + languageName: node + linkType: hard + +"possible-typed-array-names@npm:^1.0.0": + version: 1.1.0 + resolution: "possible-typed-array-names@npm:1.1.0" + checksum: 10/2f44137b8d3dd35f4a7ba7469eec1cd9cfbb46ec164b93a5bc1f4c3d68599c9910ee3b91da1d28b4560e9cc8414c3cd56fedc07259c67e52cc774476270d3302 + languageName: node + linkType: hard + +"prelude-ls@npm:^1.2.1": + version: 1.2.1 + resolution: "prelude-ls@npm:1.2.1" + checksum: 10/0b9d2c76801ca652a7f64892dd37b7e3fab149a37d2424920099bf894acccc62abb4424af2155ab36dea8744843060a2d8ddc983518d0b1e22265a22324b72ed + languageName: node + linkType: hard + +"prettier@npm:^3.3.3": + version: 3.5.3 + resolution: "prettier@npm:3.5.3" + bin: + prettier: bin/prettier.cjs + checksum: 10/7050c08f674d9e49fbd9a4c008291d0715471f64e94cc5e4b01729affce221dfc6875c8de7e66b728c64abc9352eefb7eaae071b5f79d30081be207b53774b78 + languageName: node + linkType: hard + +"pretty-format@npm:^29.7.0": + version: 29.7.0 + resolution: "pretty-format@npm:29.7.0" + dependencies: + "@jest/schemas": "npm:^29.6.3" + ansi-styles: "npm:^5.0.0" + react-is: "npm:^18.0.0" + checksum: 10/dea96bc83c83cd91b2bfc55757b6b2747edcaac45b568e46de29deee80742f17bc76fe8898135a70d904f4928eafd8bb693cd1da4896e8bdd3c5e82cadf1d2bb + languageName: node + linkType: hard + +"proc-log@npm:^5.0.0": + version: 5.0.0 + resolution: "proc-log@npm:5.0.0" + checksum: 10/35610bdb0177d3ab5d35f8827a429fb1dc2518d9e639f2151ac9007f01a061c30e0c635a970c9b00c39102216160f6ec54b62377c92fac3b7bfc2ad4b98d195c + languageName: node + linkType: hard + +"promise-retry@npm:^2.0.1": + version: 2.0.1 + resolution: "promise-retry@npm:2.0.1" + dependencies: + err-code: "npm:^2.0.2" + retry: "npm:^0.12.0" + checksum: 10/96e1a82453c6c96eef53a37a1d6134c9f2482f94068f98a59145d0986ca4e497bf110a410adf73857e588165eab3899f0ebcf7b3890c1b3ce802abc0d65967d4 + languageName: node + linkType: hard + +"prompts@npm:^2.0.1": + version: 2.4.2 + resolution: "prompts@npm:2.4.2" + dependencies: + kleur: "npm:^3.0.3" + sisteransi: "npm:^1.0.5" + checksum: 10/c52536521a4d21eff4f2f2aa4572446cad227464066365a7167e52ccf8d9839c099f9afec1aba0eed3d5a2514b3e79e0b3e7a1dc326b9acde6b75d27ed74b1a9 + languageName: node + linkType: hard + +"punycode@npm:^2.1.0": + version: 2.3.1 + resolution: "punycode@npm:2.3.1" + checksum: 10/febdc4362bead22f9e2608ff0171713230b57aff9dddc1c273aa2a651fbd366f94b7d6a71d78342a7c0819906750351ca7f2edd26ea41b626d87d6a13d1bd059 + languageName: node + linkType: hard + +"pure-rand@npm:^6.0.0": + version: 6.1.0 + resolution: "pure-rand@npm:6.1.0" + checksum: 10/256aa4bcaf9297256f552914e03cbdb0039c8fe1db11fa1e6d3f80790e16e563eb0a859a1e61082a95e224fc0c608661839439f8ecc6a3db4e48d46d99216ee4 + languageName: node + linkType: hard + +"queue-microtask@npm:^1.2.2": + version: 1.2.3 + resolution: "queue-microtask@npm:1.2.3" + checksum: 10/72900df0616e473e824202113c3df6abae59150dfb73ed13273503127235320e9c8ca4aaaaccfd58cf417c6ca92a6e68ee9a5c3182886ae949a768639b388a7b + languageName: node + linkType: hard + +"react-is@npm:^18.0.0": + version: 18.3.1 + resolution: "react-is@npm:18.3.1" + checksum: 10/d5f60c87d285af24b1e1e7eaeb123ec256c3c8bdea7061ab3932e3e14685708221bf234ec50b21e10dd07f008f1b966a2730a0ce4ff67905b3872ff2042aec22 + languageName: node + linkType: hard + +"reflect.getprototypeof@npm:^1.0.6, reflect.getprototypeof@npm:^1.0.9": + version: 1.0.10 + resolution: "reflect.getprototypeof@npm:1.0.10" + dependencies: + call-bind: "npm:^1.0.8" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.9" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.0.0" + get-intrinsic: "npm:^1.2.7" + get-proto: "npm:^1.0.1" + which-builtin-type: "npm:^1.2.1" + checksum: 10/80a4e2be716f4fe46a89a08ccad0863b47e8ce0f49616cab2d65dab0fbd53c6fdba0f52935fd41d37a2e4e22355c272004f920d63070de849f66eea7aeb4a081 + languageName: node + linkType: hard + +"regenerate-unicode-properties@npm:^10.2.0": + version: 10.2.0 + resolution: "regenerate-unicode-properties@npm:10.2.0" + dependencies: + regenerate: "npm:^1.4.2" + checksum: 10/9150eae6fe04a8c4f2ff06077396a86a98e224c8afad8344b1b656448e89e84edcd527e4b03aa5476774129eb6ad328ed684f9c1459794a935ec0cc17ce14329 + languageName: node + linkType: hard + +"regenerate@npm:^1.4.2": + version: 1.4.2 + resolution: "regenerate@npm:1.4.2" + checksum: 10/dc6c95ae4b3ba6adbd7687cafac260eee4640318c7a95239d5ce847d9b9263979758389e862fe9c93d633b5792ea4ada5708df75885dc5aa05a309fa18140a87 + languageName: node + linkType: hard + +"regenerator-runtime@npm:^0.14.0": + version: 0.14.1 + resolution: "regenerator-runtime@npm:0.14.1" + checksum: 10/5db3161abb311eef8c45bcf6565f4f378f785900ed3945acf740a9888c792f75b98ecb77f0775f3bf95502ff423529d23e94f41d80c8256e8fa05ed4b07cf471 + languageName: node + linkType: hard + +"regenerator-transform@npm:^0.15.2": + version: 0.15.2 + resolution: "regenerator-transform@npm:0.15.2" + dependencies: + "@babel/runtime": "npm:^7.8.4" + checksum: 10/c4fdcb46d11bbe32605b4b9ed76b21b8d3f241a45153e9dc6f5542fed4c7744fed459f42701f650d5d5956786bf7de57547329d1c05a9df2ed9e367b9d903302 + languageName: node + linkType: hard + +"regexp.prototype.flags@npm:^1.5.3": + version: 1.5.4 + resolution: "regexp.prototype.flags@npm:1.5.4" + dependencies: + call-bind: "npm:^1.0.8" + define-properties: "npm:^1.2.1" + es-errors: "npm:^1.3.0" + get-proto: "npm:^1.0.1" + gopd: "npm:^1.2.0" + set-function-name: "npm:^2.0.2" + checksum: 10/8ab897ca445968e0b96f6237641510f3243e59c180ee2ee8d83889c52ff735dd1bf3657fcd36db053e35e1d823dd53f2565d0b8021ea282c9fe62401c6c3bd6d + languageName: node + linkType: hard + +"regexpu-core@npm:^6.2.0": + version: 6.2.0 + resolution: "regexpu-core@npm:6.2.0" + dependencies: + regenerate: "npm:^1.4.2" + regenerate-unicode-properties: "npm:^10.2.0" + regjsgen: "npm:^0.8.0" + regjsparser: "npm:^0.12.0" + unicode-match-property-ecmascript: "npm:^2.0.0" + unicode-match-property-value-ecmascript: "npm:^2.1.0" + checksum: 10/4d054ffcd98ca4f6ca7bf0df6598ed5e4a124264602553308add41d4fa714a0c5bcfb5bc868ac91f7060a9c09889cc21d3180a3a14c5f9c5838442806129ced3 + languageName: node + linkType: hard + +"regjsgen@npm:^0.8.0": + version: 0.8.0 + resolution: "regjsgen@npm:0.8.0" + checksum: 10/b930f03347e4123c917d7b40436b4f87f625b8dd3e705b447ddd44804e4616c3addb7453f0902d6e914ab0446c30e816e445089bb641a4714237fe8141a0ef9d + languageName: node + linkType: hard + +"regjsparser@npm:^0.12.0": + version: 0.12.0 + resolution: "regjsparser@npm:0.12.0" + dependencies: + jsesc: "npm:~3.0.2" + bin: + regjsparser: bin/parser + checksum: 10/c2d6506b3308679de5223a8916984198e0493649a67b477c66bdb875357e3785abbf3bedf7c5c2cf8967d3b3a7bdf08b7cbd39e65a70f9e1ffad584aecf5f06a + languageName: node + linkType: hard + +"require-directory@npm:^2.1.1": + version: 2.1.1 + resolution: "require-directory@npm:2.1.1" + checksum: 10/a72468e2589270d91f06c7d36ec97a88db53ae5d6fe3787fadc943f0b0276b10347f89b363b2a82285f650bdcc135ad4a257c61bdd4d00d6df1fa24875b0ddaf + languageName: node + linkType: hard + +"resolve-cwd@npm:^3.0.0": + version: 3.0.0 + resolution: "resolve-cwd@npm:3.0.0" + dependencies: + resolve-from: "npm:^5.0.0" + checksum: 10/546e0816012d65778e580ad62b29e975a642989108d9a3c5beabfb2304192fa3c9f9146fbdfe213563c6ff51975ae41bac1d3c6e047dd9572c94863a057b4d81 + languageName: node + linkType: hard + +"resolve-from@npm:^4.0.0": + version: 4.0.0 + resolution: "resolve-from@npm:4.0.0" + checksum: 10/91eb76ce83621eea7bbdd9b55121a5c1c4a39e54a9ce04a9ad4517f102f8b5131c2cf07622c738a6683991bf54f2ce178f5a42803ecbd527ddc5105f362cc9e3 + languageName: node + linkType: hard + +"resolve-from@npm:^5.0.0": + version: 5.0.0 + resolution: "resolve-from@npm:5.0.0" + checksum: 10/be18a5e4d76dd711778664829841cde690971d02b6cbae277735a09c1c28f407b99ef6ef3cd585a1e6546d4097b28df40ed32c4a287b9699dcf6d7f208495e23 + languageName: node + linkType: hard + +"resolve.exports@npm:^2.0.0": + version: 2.0.3 + resolution: "resolve.exports@npm:2.0.3" + checksum: 10/536efee0f30a10fac8604e6cdc7844dbc3f4313568d09f06db4f7ed8a5b8aeb8585966fe975083d1f2dfbc87cf5f8bc7ab65a5c23385c14acbb535ca79f8398a + languageName: node + linkType: hard + +"resolve@npm:^1.14.2, resolve@npm:^1.20.0": + version: 1.22.10 + resolution: "resolve@npm:1.22.10" + dependencies: + is-core-module: "npm:^2.16.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10/0a398b44da5c05e6e421d70108822c327675febb880eebe905587628de401854c61d5df02866ff34fc4cb1173a51c9f0e84a94702738df3611a62e2acdc68181 + languageName: node + linkType: hard + +"resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin": + version: 1.22.10 + resolution: "resolve@patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d" + dependencies: + is-core-module: "npm:^2.16.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10/d4d878bfe3702d215ea23e75e0e9caf99468e3db76f5ca100d27ebdc527366fee3877e54bce7d47cc72ca8952fc2782a070d238bfa79a550eeb0082384c3b81a + languageName: node + linkType: hard + +"retry@npm:^0.12.0": + version: 0.12.0 + resolution: "retry@npm:0.12.0" + checksum: 10/1f914879f97e7ee931ad05fe3afa629bd55270fc6cf1c1e589b6a99fab96d15daad0fa1a52a00c729ec0078045fe3e399bd4fd0c93bcc906957bdc17f89cb8e6 + languageName: node + linkType: hard + +"reusify@npm:^1.0.4": + version: 1.1.0 + resolution: "reusify@npm:1.1.0" + checksum: 10/af47851b547e8a8dc89af144fceee17b80d5beaf5e6f57ed086432d79943434ff67ca526e92275be6f54b6189f6920a24eace75c2657eed32d02c400312b21ec + languageName: node + linkType: hard + +"run-parallel@npm:^1.1.9": + version: 1.2.0 + resolution: "run-parallel@npm:1.2.0" + dependencies: + queue-microtask: "npm:^1.2.2" + checksum: 10/cb4f97ad25a75ebc11a8ef4e33bb962f8af8516bb2001082ceabd8902e15b98f4b84b4f8a9b222e5d57fc3bd1379c483886ed4619367a7680dad65316993021d + languageName: node + linkType: hard + +"safe-array-concat@npm:^1.1.2, safe-array-concat@npm:^1.1.3": + version: 1.1.3 + resolution: "safe-array-concat@npm:1.1.3" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.2" + get-intrinsic: "npm:^1.2.6" + has-symbols: "npm:^1.1.0" + isarray: "npm:^2.0.5" + checksum: 10/fac4f40f20a3f7da024b54792fcc61059e814566dcbb04586bfefef4d3b942b2408933f25b7b3dd024affd3f2a6bbc916bef04807855e4f192413941369db864 + languageName: node + linkType: hard + +"safe-push-apply@npm:^1.0.0": + version: 1.0.0 + resolution: "safe-push-apply@npm:1.0.0" + dependencies: + es-errors: "npm:^1.3.0" + isarray: "npm:^2.0.5" + checksum: 10/2bd4e53b6694f7134b9cf93631480e7fafc8637165f0ee91d5a4af5e7f33d37de9562d1af5021178dd4217d0230cde8d6530fa28cfa1ebff9a431bf8fff124b4 + languageName: node + linkType: hard + +"safe-regex-test@npm:^1.1.0": + version: 1.1.0 + resolution: "safe-regex-test@npm:1.1.0" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + is-regex: "npm:^1.2.1" + checksum: 10/ebdb61f305bf4756a5b023ad86067df5a11b26898573afe9e52a548a63c3bd594825d9b0e2dde2eb3c94e57e0e04ac9929d4107c394f7b8e56a4613bed46c69a + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3.0.0": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: 10/7eaf7a0cf37cc27b42fb3ef6a9b1df6e93a1c6d98c6c6702b02fe262d5fcbd89db63320793b99b21cb5348097d0a53de81bd5f4e8b86e20cc9412e3f1cfb4e83 + languageName: node + linkType: hard + +"semver@npm:^5.6.0, semver@npm:^5.7.0": + version: 5.7.2 + resolution: "semver@npm:5.7.2" + bin: + semver: bin/semver + checksum: 10/fca14418a174d4b4ef1fecb32c5941e3412d52a4d3d85165924ce3a47fbc7073372c26faf7484ceb4bbc2bde25880c6b97e492473dc7e9708fdfb1c6a02d546e + languageName: node + linkType: hard + +"semver@npm:^6.3.0, semver@npm:^6.3.1": + version: 6.3.1 + resolution: "semver@npm:6.3.1" + bin: + semver: bin/semver.js + checksum: 10/1ef3a85bd02a760c6ef76a45b8c1ce18226de40831e02a00bad78485390b98b6ccaa31046245fc63bba4a47a6a592b6c7eedc65cc47126e60489f9cc1ce3ed7e + languageName: node + linkType: hard + +"semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0": + version: 7.7.1 + resolution: "semver@npm:7.7.1" + bin: + semver: bin/semver.js + checksum: 10/4cfa1eb91ef3751e20fc52e47a935a0118d56d6f15a837ab814da0c150778ba2ca4f1a4d9068b33070ea4273629e615066664c2cfcd7c272caf7a8a0f6518b2c + languageName: node + linkType: hard + +"set-function-length@npm:^1.2.2": + version: 1.2.2 + resolution: "set-function-length@npm:1.2.2" + dependencies: + define-data-property: "npm:^1.1.4" + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + get-intrinsic: "npm:^1.2.4" + gopd: "npm:^1.0.1" + has-property-descriptors: "npm:^1.0.2" + checksum: 10/505d62b8e088468917ca4e3f8f39d0e29f9a563b97dbebf92f4bd2c3172ccfb3c5b8e4566d5fcd00784a00433900e7cb8fbc404e2dbd8c3818ba05bb9d4a8a6d + languageName: node + linkType: hard + +"set-function-name@npm:^2.0.2": + version: 2.0.2 + resolution: "set-function-name@npm:2.0.2" + dependencies: + define-data-property: "npm:^1.1.4" + es-errors: "npm:^1.3.0" + functions-have-names: "npm:^1.2.3" + has-property-descriptors: "npm:^1.0.2" + checksum: 10/c7614154a53ebf8c0428a6c40a3b0b47dac30587c1a19703d1b75f003803f73cdfa6a93474a9ba678fa565ef5fbddc2fae79bca03b7d22ab5fd5163dbe571a74 + languageName: node + linkType: hard + +"set-proto@npm:^1.0.0": + version: 1.0.0 + resolution: "set-proto@npm:1.0.0" + dependencies: + dunder-proto: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.0.0" + checksum: 10/b87f8187bca595ddc3c0721ece4635015fd9d7cb294e6dd2e394ce5186a71bbfa4dc8a35010958c65e43ad83cde09642660e61a952883c24fd6b45ead15f045c + languageName: node + linkType: hard + +"shallow-clone@npm:^3.0.0": + version: 3.0.1 + resolution: "shallow-clone@npm:3.0.1" + dependencies: + kind-of: "npm:^6.0.2" + checksum: 10/e066bd540cfec5e1b0f78134853e0d892d1c8945fb9a926a579946052e7cb0c70ca4fc34f875a8083aa7910d751805d36ae64af250a6de6f3d28f9fa7be6c21b + languageName: node + linkType: hard + +"shebang-command@npm:^2.0.0": + version: 2.0.0 + resolution: "shebang-command@npm:2.0.0" + dependencies: + shebang-regex: "npm:^3.0.0" + checksum: 10/6b52fe87271c12968f6a054e60f6bde5f0f3d2db483a1e5c3e12d657c488a15474121a1d55cd958f6df026a54374ec38a4a963988c213b7570e1d51575cea7fa + languageName: node + linkType: hard + +"shebang-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "shebang-regex@npm:3.0.0" + checksum: 10/1a2bcae50de99034fcd92ad4212d8e01eedf52c7ec7830eedcf886622804fe36884278f2be8be0ea5fde3fd1c23911643a4e0f726c8685b61871c8908af01222 + languageName: node + linkType: hard + +"side-channel-list@npm:^1.0.0": + version: 1.0.0 + resolution: "side-channel-list@npm:1.0.0" + dependencies: + es-errors: "npm:^1.3.0" + object-inspect: "npm:^1.13.3" + checksum: 10/603b928997abd21c5a5f02ae6b9cc36b72e3176ad6827fab0417ead74580cc4fb4d5c7d0a8a2ff4ead34d0f9e35701ed7a41853dac8a6d1a664fcce1a044f86f + languageName: node + linkType: hard + +"side-channel-map@npm:^1.0.1": + version: 1.0.1 + resolution: "side-channel-map@npm:1.0.1" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.5" + object-inspect: "npm:^1.13.3" + checksum: 10/5771861f77feefe44f6195ed077a9e4f389acc188f895f570d56445e251b861754b547ea9ef73ecee4e01fdada6568bfe9020d2ec2dfc5571e9fa1bbc4a10615 + languageName: node + linkType: hard + +"side-channel-weakmap@npm:^1.0.2": + version: 1.0.2 + resolution: "side-channel-weakmap@npm:1.0.2" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.5" + object-inspect: "npm:^1.13.3" + side-channel-map: "npm:^1.0.1" + checksum: 10/a815c89bc78c5723c714ea1a77c938377ea710af20d4fb886d362b0d1f8ac73a17816a5f6640f354017d7e292a43da9c5e876c22145bac00b76cfb3468001736 + languageName: node + linkType: hard + +"side-channel@npm:^1.1.0": + version: 1.1.0 + resolution: "side-channel@npm:1.1.0" + dependencies: + es-errors: "npm:^1.3.0" + object-inspect: "npm:^1.13.3" + side-channel-list: "npm:^1.0.0" + side-channel-map: "npm:^1.0.1" + side-channel-weakmap: "npm:^1.0.2" + checksum: 10/7d53b9db292c6262f326b6ff3bc1611db84ece36c2c7dc0e937954c13c73185b0406c56589e2bb8d071d6fee468e14c39fb5d203ee39be66b7b8174f179afaba + languageName: node + linkType: hard + +"signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": + version: 3.0.7 + resolution: "signal-exit@npm:3.0.7" + checksum: 10/a2f098f247adc367dffc27845853e9959b9e88b01cb301658cfe4194352d8d2bb32e18467c786a7fe15f1d44b233ea35633d076d5e737870b7139949d1ab6318 + languageName: node + linkType: hard + +"signal-exit@npm:^4.0.1": + version: 4.1.0 + resolution: "signal-exit@npm:4.1.0" + checksum: 10/c9fa63bbbd7431066174a48ba2dd9986dfd930c3a8b59de9c29d7b6854ec1c12a80d15310869ea5166d413b99f041bfa3dd80a7947bcd44ea8e6eb3ffeabfa1f + languageName: node + linkType: hard + +"sisteransi@npm:^1.0.5": + version: 1.0.5 + resolution: "sisteransi@npm:1.0.5" + checksum: 10/aba6438f46d2bfcef94cf112c835ab395172c75f67453fe05c340c770d3c402363018ae1ab4172a1026a90c47eaccf3af7b6ff6fa749a680c2929bd7fa2b37a4 + languageName: node + linkType: hard + +"slash@npm:^3.0.0": + version: 3.0.0 + resolution: "slash@npm:3.0.0" + checksum: 10/94a93fff615f25a999ad4b83c9d5e257a7280c90a32a7cb8b4a87996e4babf322e469c42b7f649fd5796edd8687652f3fb452a86dc97a816f01113183393f11c + languageName: node + linkType: hard + +"smart-buffer@npm:^4.2.0": + version: 4.2.0 + resolution: "smart-buffer@npm:4.2.0" + checksum: 10/927484aa0b1640fd9473cee3e0a0bcad6fce93fd7bbc18bac9ad0c33686f5d2e2c422fba24b5899c184524af01e11dd2bd051c2bf2b07e47aff8ca72cbfc60d2 + languageName: node + linkType: hard + +"socks-proxy-agent@npm:^8.0.3": + version: 8.0.5 + resolution: "socks-proxy-agent@npm:8.0.5" + dependencies: + agent-base: "npm:^7.1.2" + debug: "npm:^4.3.4" + socks: "npm:^2.8.3" + checksum: 10/ee99e1dacab0985b52cbe5a75640be6e604135e9489ebdc3048635d186012fbaecc20fbbe04b177dee434c319ba20f09b3e7dfefb7d932466c0d707744eac05c + languageName: node + linkType: hard + +"socks@npm:^2.8.3": + version: 2.8.4 + resolution: "socks@npm:2.8.4" + dependencies: + ip-address: "npm:^9.0.5" + smart-buffer: "npm:^4.2.0" + checksum: 10/ab3af97aeb162f32c80e176c717ccf16a11a6ebb4656a62b94c0f96495ea2a1f4a8206c04b54438558485d83d0c5f61920c07a1a5d3963892a589b40cc6107dd + languageName: node + linkType: hard + +"source-map-support@npm:0.5.13": + version: 0.5.13 + resolution: "source-map-support@npm:0.5.13" + dependencies: + buffer-from: "npm:^1.0.0" + source-map: "npm:^0.6.0" + checksum: 10/d1514a922ac9c7e4786037eeff6c3322f461cd25da34bb9fefb15387b3490531774e6e31d95ab6d5b84a3e139af9c3a570ccaee6b47bd7ea262691ed3a8bc34e + languageName: node + linkType: hard + +"source-map-support@npm:^0.5.16": + version: 0.5.21 + resolution: "source-map-support@npm:0.5.21" + dependencies: + buffer-from: "npm:^1.0.0" + source-map: "npm:^0.6.0" + checksum: 10/8317e12d84019b31e34b86d483dd41d6f832f389f7417faf8fc5c75a66a12d9686e47f589a0554a868b8482f037e23df9d040d29387eb16fa14cb85f091ba207 + languageName: node + linkType: hard + +"source-map@npm:^0.6.0, source-map@npm:^0.6.1": + version: 0.6.1 + resolution: "source-map@npm:0.6.1" + checksum: 10/59ef7462f1c29d502b3057e822cdbdae0b0e565302c4dd1a95e11e793d8d9d62006cdc10e0fd99163ca33ff2071360cf50ee13f90440806e7ed57d81cba2f7ff + languageName: node + linkType: hard + +"sprintf-js@npm:^1.1.3": + version: 1.1.3 + resolution: "sprintf-js@npm:1.1.3" + checksum: 10/e7587128c423f7e43cc625fe2f87e6affdf5ca51c1cc468e910d8aaca46bb44a7fbcfa552f787b1d3987f7043aeb4527d1b99559e6621e01b42b3f45e5a24cbb + languageName: node + linkType: hard + +"sprintf-js@npm:~1.0.2": + version: 1.0.3 + resolution: "sprintf-js@npm:1.0.3" + checksum: 10/c34828732ab8509c2741e5fd1af6b767c3daf2c642f267788f933a65b1614943c282e74c4284f4fa749c264b18ee016a0d37a3e5b73aee446da46277d3a85daa + languageName: node + linkType: hard + +"ssri@npm:^12.0.0": + version: 12.0.0 + resolution: "ssri@npm:12.0.0" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10/7024c1a6e39b3f18aa8f1c8290e884fe91b0f9ca5a6c6d410544daad54de0ba664db879afe16412e187c6c292fd60b937f047ee44292e5c2af2dcc6d8e1a9b48 + languageName: node + linkType: hard + +"stack-utils@npm:^2.0.3": + version: 2.0.6 + resolution: "stack-utils@npm:2.0.6" + dependencies: + escape-string-regexp: "npm:^2.0.0" + checksum: 10/cdc988acbc99075b4b036ac6014e5f1e9afa7e564482b687da6384eee6a1909d7eaffde85b0a17ffbe186c5247faf6c2b7544e802109f63b72c7be69b13151bb + languageName: node + linkType: hard + +"string-length@npm:^4.0.1": + version: 4.0.2 + resolution: "string-length@npm:4.0.2" + dependencies: + char-regex: "npm:^1.0.2" + strip-ansi: "npm:^6.0.0" + checksum: 10/ce85533ef5113fcb7e522bcf9e62cb33871aa99b3729cec5595f4447f660b0cefd542ca6df4150c97a677d58b0cb727a3fe09ac1de94071d05526c73579bf505 + languageName: node + linkType: hard + +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": + version: 4.2.3 + resolution: "string-width@npm:4.2.3" + dependencies: + emoji-regex: "npm:^8.0.0" + is-fullwidth-code-point: "npm:^3.0.0" + strip-ansi: "npm:^6.0.1" + checksum: 10/e52c10dc3fbfcd6c3a15f159f54a90024241d0f149cf8aed2982a2d801d2e64df0bf1dc351cf8e95c3319323f9f220c16e740b06faecd53e2462df1d2b5443fb + languageName: node + linkType: hard + +"string-width@npm:^5.0.1, string-width@npm:^5.1.2": + version: 5.1.2 + resolution: "string-width@npm:5.1.2" + dependencies: + eastasianwidth: "npm:^0.2.0" + emoji-regex: "npm:^9.2.2" + strip-ansi: "npm:^7.0.1" + checksum: 10/7369deaa29f21dda9a438686154b62c2c5f661f8dda60449088f9f980196f7908fc39fdd1803e3e01541970287cf5deae336798337e9319a7055af89dafa7193 + languageName: node + linkType: hard + +"string.prototype.trim@npm:^1.2.10": + version: 1.2.10 + resolution: "string.prototype.trim@npm:1.2.10" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.2" + define-data-property: "npm:^1.1.4" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.5" + es-object-atoms: "npm:^1.0.0" + has-property-descriptors: "npm:^1.0.2" + checksum: 10/47bb63cd2470a64bc5e2da1e570d369c016ccaa85c918c3a8bb4ab5965120f35e66d1f85ea544496fac84b9207a6b722adf007e6c548acd0813e5f8a82f9712a + languageName: node + linkType: hard + +"string.prototype.trimend@npm:^1.0.9": + version: 1.0.9 + resolution: "string.prototype.trimend@npm:1.0.9" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.2" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10/140c73899b6747de9e499c7c2e7a83d549c47a26fa06045b69492be9cfb9e2a95187499a373983a08a115ecff8bc3bd7b0fb09b8ff72fb2172abe766849272ef + languageName: node + linkType: hard + +"string.prototype.trimstart@npm:^1.0.8": + version: 1.0.8 + resolution: "string.prototype.trimstart@npm:1.0.8" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10/160167dfbd68e6f7cb9f51a16074eebfce1571656fc31d40c3738ca9e30e35496f2c046fe57b6ad49f65f238a152be8c86fd9a2dd58682b5eba39dad995b3674 + languageName: node + linkType: hard + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": + version: 6.0.1 + resolution: "strip-ansi@npm:6.0.1" + dependencies: + ansi-regex: "npm:^5.0.1" + checksum: 10/ae3b5436d34fadeb6096367626ce987057713c566e1e7768818797e00ac5d62023d0f198c4e681eae9e20701721980b26a64a8f5b91238869592a9c6800719a2 + languageName: node + linkType: hard + +"strip-ansi@npm:^7.0.1": + version: 7.1.0 + resolution: "strip-ansi@npm:7.1.0" + dependencies: + ansi-regex: "npm:^6.0.1" + checksum: 10/475f53e9c44375d6e72807284024ac5d668ee1d06010740dec0b9744f2ddf47de8d7151f80e5f6190fc8f384e802fdf9504b76a7e9020c9faee7103623338be2 + languageName: node + linkType: hard + +"strip-bom@npm:^4.0.0": + version: 4.0.0 + resolution: "strip-bom@npm:4.0.0" + checksum: 10/9dbcfbaf503c57c06af15fe2c8176fb1bf3af5ff65003851a102749f875a6dbe0ab3b30115eccf6e805e9d756830d3e40ec508b62b3f1ddf3761a20ebe29d3f3 + languageName: node + linkType: hard + +"strip-final-newline@npm:^2.0.0": + version: 2.0.0 + resolution: "strip-final-newline@npm:2.0.0" + checksum: 10/69412b5e25731e1938184b5d489c32e340605bb611d6140344abc3421b7f3c6f9984b21dff296dfcf056681b82caa3bb4cc996a965ce37bcfad663e92eae9c64 + languageName: node + linkType: hard + +"strip-json-comments@npm:^3.1.1": + version: 3.1.1 + resolution: "strip-json-comments@npm:3.1.1" + checksum: 10/492f73e27268f9b1c122733f28ecb0e7e8d8a531a6662efbd08e22cccb3f9475e90a1b82cab06a392f6afae6d2de636f977e231296400d0ec5304ba70f166443 + languageName: node + linkType: hard + +"supports-color@npm:^7.1.0": + version: 7.2.0 + resolution: "supports-color@npm:7.2.0" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10/c8bb7afd564e3b26b50ca6ee47572c217526a1389fe018d00345856d4a9b08ffbd61fadaf283a87368d94c3dcdb8f5ffe2650a5a65863e21ad2730ca0f05210a + languageName: node + linkType: hard + +"supports-color@npm:^8.0.0": + version: 8.1.1 + resolution: "supports-color@npm:8.1.1" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10/157b534df88e39c5518c5e78c35580c1eca848d7dbaf31bbe06cdfc048e22c7ff1a9d046ae17b25691128f631a51d9ec373c1b740c12ae4f0de6e292037e4282 + languageName: node + linkType: hard + +"supports-preserve-symlinks-flag@npm:^1.0.0": + version: 1.0.0 + resolution: "supports-preserve-symlinks-flag@npm:1.0.0" + checksum: 10/a9dc19ae2220c952bd2231d08ddeecb1b0328b61e72071ff4000c8384e145cc07c1c0bdb3b5a1cb06e186a7b2790f1dee793418b332f6ddf320de25d9125be7e + languageName: node + linkType: hard + +"tar@npm:^7.4.3": + version: 7.4.3 + resolution: "tar@npm:7.4.3" + dependencies: + "@isaacs/fs-minipass": "npm:^4.0.0" + chownr: "npm:^3.0.0" + minipass: "npm:^7.1.2" + minizlib: "npm:^3.0.1" + mkdirp: "npm:^3.0.1" + yallist: "npm:^5.0.0" + checksum: 10/12a2a4fc6dee23e07cc47f1aeb3a14a1afd3f16397e1350036a8f4cdfee8dcac7ef5978337a4e7b2ac2c27a9a6d46388fc2088ea7c80cb6878c814b1425f8ecf + languageName: node + linkType: hard + +"test-exclude@npm:^6.0.0": + version: 6.0.0 + resolution: "test-exclude@npm:6.0.0" + dependencies: + "@istanbuljs/schema": "npm:^0.1.2" + glob: "npm:^7.1.4" + minimatch: "npm:^3.0.4" + checksum: 10/8fccb2cb6c8fcb6bb4115394feb833f8b6cf4b9503ec2485c2c90febf435cac62abe882a0c5c51a37b9bbe70640cdd05acf5f45e486ac4583389f4b0855f69e5 + languageName: node + linkType: hard + +"tinyglobby@npm:^0.2.12": + version: 0.2.12 + resolution: "tinyglobby@npm:0.2.12" + dependencies: + fdir: "npm:^6.4.3" + picomatch: "npm:^4.0.2" + checksum: 10/4ad28701fa9118b32ef0e27f409e0a6c5741e8b02286d50425c1f6f71e6d6c6ded9dd5bbbbb714784b08623c4ec4d150151f1d3d996cfabe0495f908ab4f7002 + languageName: node + linkType: hard + +"tmpl@npm:1.0.5": + version: 1.0.5 + resolution: "tmpl@npm:1.0.5" + checksum: 10/cd922d9b853c00fe414c5a774817be65b058d54a2d01ebb415840960406c669a0fc632f66df885e24cb022ec812739199ccbdb8d1164c3e513f85bfca5ab2873 + languageName: node + linkType: hard + +"to-regex-range@npm:^5.0.1": + version: 5.0.1 + resolution: "to-regex-range@npm:5.0.1" + dependencies: + is-number: "npm:^7.0.0" + checksum: 10/10dda13571e1f5ad37546827e9b6d4252d2e0bc176c24a101252153ef435d83696e2557fe128c4678e4e78f5f01e83711c703eef9814eb12dab028580d45980a + languageName: node + linkType: hard + +"ts-api-utils@npm:^2.0.1": + version: 2.1.0 + resolution: "ts-api-utils@npm:2.1.0" + peerDependencies: + typescript: ">=4.8.4" + checksum: 10/02e55b49d9617c6eebf8aadfa08d3ca03ca0cd2f0586ad34117fdfc7aa3cd25d95051843fde9df86665ad907f99baed179e7a117b11021417f379e4d2614eacd + languageName: node + linkType: hard + +"tstyche@npm:^2.1.1": + version: 2.1.1 + resolution: "tstyche@npm:2.1.1" + peerDependencies: + typescript: 4.x || 5.x + peerDependenciesMeta: + typescript: + optional: true + bin: + tstyche: ./build/bin.js + checksum: 10/f30e7d782e51c262528ededf383c9daf39af8dea063d483667e3ff9f4800434891589c294c4b4f69802dd06daf8fb1d2a10553316d2f4631ba1413d3e48dab81 + languageName: node + linkType: hard + +"type-check@npm:^0.4.0, type-check@npm:~0.4.0": + version: 0.4.0 + resolution: "type-check@npm:0.4.0" + dependencies: + prelude-ls: "npm:^1.2.1" + checksum: 10/14687776479d048e3c1dbfe58a2409e00367810d6960c0f619b33793271ff2a27f81b52461f14a162f1f89a9b1d8da1b237fc7c99b0e1fdcec28ec63a86b1fec + languageName: node + linkType: hard + +"type-detect@npm:4.0.8": + version: 4.0.8 + resolution: "type-detect@npm:4.0.8" + checksum: 10/5179e3b8ebc51fce1b13efb75fdea4595484433f9683bbc2dca6d99789dba4e602ab7922d2656f2ce8383987467f7770131d4a7f06a26287db0615d2f4c4ce7d + languageName: node + linkType: hard + +"type-fest@npm:^0.21.3": + version: 0.21.3 + resolution: "type-fest@npm:0.21.3" + checksum: 10/f4254070d9c3d83a6e573bcb95173008d73474ceadbbf620dd32d273940ca18734dff39c2b2480282df9afe5d1675ebed5499a00d791758748ea81f61a38961f + languageName: node + linkType: hard + +"typed-array-buffer@npm:^1.0.3": + version: 1.0.3 + resolution: "typed-array-buffer@npm:1.0.3" + dependencies: + call-bound: "npm:^1.0.3" + es-errors: "npm:^1.3.0" + is-typed-array: "npm:^1.1.14" + checksum: 10/3fb91f0735fb413b2bbaaca9fabe7b8fc14a3fa5a5a7546bab8a57e755be0e3788d893195ad9c2b842620592de0e68d4c077d4c2c41f04ec25b8b5bb82fa9a80 + languageName: node + linkType: hard + +"typed-array-byte-length@npm:^1.0.3": + version: 1.0.3 + resolution: "typed-array-byte-length@npm:1.0.3" + dependencies: + call-bind: "npm:^1.0.8" + for-each: "npm:^0.3.3" + gopd: "npm:^1.2.0" + has-proto: "npm:^1.2.0" + is-typed-array: "npm:^1.1.14" + checksum: 10/269dad101dda73e3110117a9b84db86f0b5c07dad3a9418116fd38d580cab7fc628a4fc167e29b6d7c39da2f53374b78e7cb578b3c5ec7a556689d985d193519 + languageName: node + linkType: hard + +"typed-array-byte-offset@npm:^1.0.4": + version: 1.0.4 + resolution: "typed-array-byte-offset@npm:1.0.4" + dependencies: + available-typed-arrays: "npm:^1.0.7" + call-bind: "npm:^1.0.8" + for-each: "npm:^0.3.3" + gopd: "npm:^1.2.0" + has-proto: "npm:^1.2.0" + is-typed-array: "npm:^1.1.15" + reflect.getprototypeof: "npm:^1.0.9" + checksum: 10/c2869aa584cdae24ecfd282f20a0f556b13a49a9d5bca1713370bb3c89dff0ccbc5ceb45cb5b784c98f4579e5e3e2a07e438c3a5b8294583e2bd4abbd5104fb5 + languageName: node + linkType: hard + +"typed-array-length@npm:^1.0.7": + version: 1.0.7 + resolution: "typed-array-length@npm:1.0.7" + dependencies: + call-bind: "npm:^1.0.7" + for-each: "npm:^0.3.3" + gopd: "npm:^1.0.1" + is-typed-array: "npm:^1.1.13" + possible-typed-array-names: "npm:^1.0.0" + reflect.getprototypeof: "npm:^1.0.6" + checksum: 10/d6b2f0e81161682d2726eb92b1dc2b0890890f9930f33f9bcf6fc7272895ce66bc368066d273e6677776de167608adc53fcf81f1be39a146d64b630edbf2081c + languageName: node + linkType: hard + +"typescript-eslint@npm:^8.0.1, typescript-eslint@npm:^8.10.0": + version: 8.30.1 + resolution: "typescript-eslint@npm:8.30.1" + dependencies: + "@typescript-eslint/eslint-plugin": "npm:8.30.1" + "@typescript-eslint/parser": "npm:8.30.1" + "@typescript-eslint/utils": "npm:8.30.1" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.9.0" + checksum: 10/aaa4d90abbd7631569d0d45af77fd12cd53aa3bb4e11b8f276cf4cf786ecc14b1fe99e48592f31188386bb021a31fa89b976c69bdcdd0a46dedb98744e7958f2 + languageName: node + linkType: hard + +"typescript@npm:~5.6.3": + version: 5.6.3 + resolution: "typescript@npm:5.6.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10/c328e418e124b500908781d9f7b9b93cf08b66bf5936d94332b463822eea2f4e62973bfb3b8a745fdc038785cb66cf59d1092bac3ec2ac6a3e5854687f7833f1 + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A~5.6.3#optional!builtin": + version: 5.6.3 + resolution: "typescript@patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10/00504c01ee42d470c23495426af07512e25e6546bce7e24572e72a9ca2e6b2e9bea63de4286c3cfea644874da1467dcfca23f4f98f7caf20f8b03c0213bb6837 + languageName: node + linkType: hard + +"unbox-primitive@npm:^1.1.0": + version: 1.1.0 + resolution: "unbox-primitive@npm:1.1.0" + dependencies: + call-bound: "npm:^1.0.3" + has-bigints: "npm:^1.0.2" + has-symbols: "npm:^1.1.0" + which-boxed-primitive: "npm:^1.1.1" + checksum: 10/fadb347020f66b2c8aeacf8b9a79826fa34cc5e5457af4eb0bbc4e79bd87fed0fa795949825df534320f7c13f199259516ad30abc55a6e7b91d8d996ca069e50 + languageName: node + linkType: hard + +"undici-types@npm:~6.19.2": + version: 6.19.8 + resolution: "undici-types@npm:6.19.8" + checksum: 10/cf0b48ed4fc99baf56584afa91aaffa5010c268b8842f62e02f752df209e3dea138b372a60a963b3b2576ed932f32329ce7ddb9cb5f27a6c83040d8cd74b7a70 + languageName: node + linkType: hard + +"undici-types@npm:~6.21.0": + version: 6.21.0 + resolution: "undici-types@npm:6.21.0" + checksum: 10/ec8f41aa4359d50f9b59fa61fe3efce3477cc681908c8f84354d8567bb3701fafdddf36ef6bff307024d3feb42c837cf6f670314ba37fc8145e219560e473d14 + languageName: node + linkType: hard + +"unicode-canonical-property-names-ecmascript@npm:^2.0.0": + version: 2.0.1 + resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.1" + checksum: 10/3c3dabdb1d22aef4904399f9e810d0b71c0b12b3815169d96fac97e56d5642840c6071cf709adcace2252bc6bb80242396c2ec74b37224eb015c5f7aca40bad7 + languageName: node + linkType: hard + +"unicode-match-property-ecmascript@npm:^2.0.0": + version: 2.0.0 + resolution: "unicode-match-property-ecmascript@npm:2.0.0" + dependencies: + unicode-canonical-property-names-ecmascript: "npm:^2.0.0" + unicode-property-aliases-ecmascript: "npm:^2.0.0" + checksum: 10/1f34a7434a23df4885b5890ac36c5b2161a809887000be560f56ad4b11126d433c0c1c39baf1016bdabed4ec54829a6190ee37aa24919aa116dc1a5a8a62965a + languageName: node + linkType: hard + +"unicode-match-property-value-ecmascript@npm:^2.1.0": + version: 2.2.0 + resolution: "unicode-match-property-value-ecmascript@npm:2.2.0" + checksum: 10/9fd53c657aefe5d3cb8208931b4c34fbdb30bb5aa9a6c6bf744e2f3036f00b8889eeaf30cb55a873b76b6ee8b5801ea770e1c49b3352141309f58f0ebb3011d8 + languageName: node + linkType: hard + +"unicode-property-aliases-ecmascript@npm:^2.0.0": + version: 2.1.0 + resolution: "unicode-property-aliases-ecmascript@npm:2.1.0" + checksum: 10/243524431893649b62cc674d877bd64ef292d6071dd2fd01ab4d5ad26efbc104ffcd064f93f8a06b7e4ec54c172bf03f6417921a0d8c3a9994161fe1f88f815b + languageName: node + linkType: hard + +"unique-filename@npm:^4.0.0": + version: 4.0.0 + resolution: "unique-filename@npm:4.0.0" + dependencies: + unique-slug: "npm:^5.0.0" + checksum: 10/6a62094fcac286b9ec39edbd1f8f64ff92383baa430af303dfed1ffda5e47a08a6b316408554abfddd9730c78b6106bef4ca4d02c1231a735ddd56ced77573df + languageName: node + linkType: hard + +"unique-slug@npm:^5.0.0": + version: 5.0.0 + resolution: "unique-slug@npm:5.0.0" + dependencies: + imurmurhash: "npm:^0.1.4" + checksum: 10/beafdf3d6f44990e0a5ce560f8f881b4ee811be70b6ba0db25298c31c8cf525ed963572b48cd03be1c1349084f9e339be4241666d7cf1ebdad20598d3c652b27 + languageName: node + linkType: hard + +"update-browserslist-db@npm:^1.1.1": + version: 1.1.3 + resolution: "update-browserslist-db@npm:1.1.3" + dependencies: + escalade: "npm:^3.2.0" + picocolors: "npm:^1.1.1" + peerDependencies: + browserslist: ">= 4.21.0" + bin: + update-browserslist-db: cli.js + checksum: 10/87af2776054ffb9194cf95e0201547d041f72ee44ce54b144da110e65ea7ca01379367407ba21de5c9edd52c74d95395366790de67f3eb4cc4afa0fe4424e76f + languageName: node + linkType: hard + +"uri-js@npm:^4.2.2": + version: 4.4.1 + resolution: "uri-js@npm:4.4.1" + dependencies: + punycode: "npm:^2.1.0" + checksum: 10/b271ca7e3d46b7160222e3afa3e531505161c9a4e097febae9664e4b59912f4cbe94861361a4175edac3a03fee99d91e44b6a58c17a634bc5a664b19fc76fbcb + languageName: node + linkType: hard + +"v8-to-istanbul@npm:^9.0.1": + version: 9.3.0 + resolution: "v8-to-istanbul@npm:9.3.0" + dependencies: + "@jridgewell/trace-mapping": "npm:^0.3.12" + "@types/istanbul-lib-coverage": "npm:^2.0.1" + convert-source-map: "npm:^2.0.0" + checksum: 10/fb1d70f1176cb9dc46cabbb3fd5c52c8f3e8738b61877b6e7266029aed0870b04140e3f9f4550ac32aebcfe1d0f38b0bac57e1e8fb97d68fec82f2b416148166 + languageName: node + linkType: hard + +"v8flags@npm:^3.1.1": + version: 3.2.0 + resolution: "v8flags@npm:3.2.0" + dependencies: + homedir-polyfill: "npm:^1.0.1" + checksum: 10/4c88e2681f12153ae5e45de678ba724ebd2daf2619d4fbe5cc8075b07b2095522dbfd0cb55e510a1d27ea0ed0db4a5e6fc6d18d312f7d8fc098a3c6a79b7ffc6 + languageName: node + linkType: hard + +"walker@npm:^1.0.8": + version: 1.0.8 + resolution: "walker@npm:1.0.8" + dependencies: + makeerror: "npm:1.0.12" + checksum: 10/ad7a257ea1e662e57ef2e018f97b3c02a7240ad5093c392186ce0bcf1f1a60bbadd520d073b9beb921ed99f64f065efb63dfc8eec689a80e569f93c1c5d5e16c + languageName: node + linkType: hard + +"which-boxed-primitive@npm:^1.1.0, which-boxed-primitive@npm:^1.1.1": + version: 1.1.1 + resolution: "which-boxed-primitive@npm:1.1.1" + dependencies: + is-bigint: "npm:^1.1.0" + is-boolean-object: "npm:^1.2.1" + is-number-object: "npm:^1.1.1" + is-string: "npm:^1.1.1" + is-symbol: "npm:^1.1.1" + checksum: 10/a877c0667bc089518c83ad4d845cf8296b03efe3565c1de1940c646e00a2a1ae9ed8a185bcfa27cbf352de7906f0616d83b9d2f19ca500ee02a551fb5cf40740 + languageName: node + linkType: hard + +"which-builtin-type@npm:^1.2.1": + version: 1.2.1 + resolution: "which-builtin-type@npm:1.2.1" + dependencies: + call-bound: "npm:^1.0.2" + function.prototype.name: "npm:^1.1.6" + has-tostringtag: "npm:^1.0.2" + is-async-function: "npm:^2.0.0" + is-date-object: "npm:^1.1.0" + is-finalizationregistry: "npm:^1.1.0" + is-generator-function: "npm:^1.0.10" + is-regex: "npm:^1.2.1" + is-weakref: "npm:^1.0.2" + isarray: "npm:^2.0.5" + which-boxed-primitive: "npm:^1.1.0" + which-collection: "npm:^1.0.2" + which-typed-array: "npm:^1.1.16" + checksum: 10/22c81c5cb7a896c5171742cd30c90d992ff13fb1ea7693e6cf80af077791613fb3f89aa9b4b7f890bd47b6ce09c6322c409932359580a2a2a54057f7b52d1cbe + languageName: node + linkType: hard + +"which-collection@npm:^1.0.2": + version: 1.0.2 + resolution: "which-collection@npm:1.0.2" + dependencies: + is-map: "npm:^2.0.3" + is-set: "npm:^2.0.3" + is-weakmap: "npm:^2.0.2" + is-weakset: "npm:^2.0.3" + checksum: 10/674bf659b9bcfe4055f08634b48a8588e879161b9fefed57e9ec4ff5601e4d50a05ccd76cf10f698ef5873784e5df3223336d56c7ce88e13bcf52ebe582fc8d7 + languageName: node + linkType: hard + +"which-typed-array@npm:^1.1.16, which-typed-array@npm:^1.1.18": + version: 1.1.19 + resolution: "which-typed-array@npm:1.1.19" + dependencies: + available-typed-arrays: "npm:^1.0.7" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.4" + for-each: "npm:^0.3.5" + get-proto: "npm:^1.0.1" + gopd: "npm:^1.2.0" + has-tostringtag: "npm:^1.0.2" + checksum: 10/12be30fb88567f9863186bee1777f11bea09dd59ed8b3ce4afa7dd5cade75e2f4cc56191a2da165113cc7cf79987ba021dac1e22b5b62aa7e5c56949f2469a68 + languageName: node + linkType: hard + +"which@npm:^2.0.1": + version: 2.0.2 + resolution: "which@npm:2.0.2" + dependencies: + isexe: "npm:^2.0.0" + bin: + node-which: ./bin/node-which + checksum: 10/4782f8a1d6b8fc12c65e968fea49f59752bf6302dc43036c3bf87da718a80710f61a062516e9764c70008b487929a73546125570acea95c5b5dcc8ac3052c70f + languageName: node + linkType: hard + +"which@npm:^5.0.0": + version: 5.0.0 + resolution: "which@npm:5.0.0" + dependencies: + isexe: "npm:^3.1.1" + bin: + node-which: bin/which.js + checksum: 10/6ec99e89ba32c7e748b8a3144e64bfc74aa63e2b2eacbb61a0060ad0b961eb1a632b08fb1de067ed59b002cec3e21de18299216ebf2325ef0f78e0f121e14e90 + languageName: node + linkType: hard + +"word-wrap@npm:^1.2.5": + version: 1.2.5 + resolution: "word-wrap@npm:1.2.5" + checksum: 10/1ec6f6089f205f83037be10d0c4b34c9183b0b63fca0834a5b3cee55dd321429d73d40bb44c8fc8471b5203d6e8f8275717f49a8ff4b2b0ab41d7e1b563e0854 + languageName: node + linkType: hard + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": + version: 7.0.0 + resolution: "wrap-ansi@npm:7.0.0" + dependencies: + ansi-styles: "npm:^4.0.0" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + checksum: 10/cebdaeca3a6880da410f75209e68cd05428580de5ad24535f22696d7d9cab134d1f8498599f344c3cf0fb37c1715807a183778d8c648d6cc0cb5ff2bb4236540 + languageName: node + linkType: hard + +"wrap-ansi@npm:^8.1.0": + version: 8.1.0 + resolution: "wrap-ansi@npm:8.1.0" + dependencies: + ansi-styles: "npm:^6.1.0" + string-width: "npm:^5.0.1" + strip-ansi: "npm:^7.0.1" + checksum: 10/7b1e4b35e9bb2312d2ee9ee7dc95b8cb5f8b4b5a89f7dde5543fe66c1e3715663094defa50d75454ac900bd210f702d575f15f3f17fa9ec0291806d2578d1ddf + languageName: node + linkType: hard + +"wrappy@npm:1": + version: 1.0.2 + resolution: "wrappy@npm:1.0.2" + checksum: 10/159da4805f7e84a3d003d8841557196034155008f817172d4e986bd591f74aa82aa7db55929a54222309e01079a65a92a9e6414da5a6aa4b01ee44a511ac3ee5 + languageName: node + linkType: hard + +"write-file-atomic@npm:^4.0.2": + version: 4.0.2 + resolution: "write-file-atomic@npm:4.0.2" + dependencies: + imurmurhash: "npm:^0.1.4" + signal-exit: "npm:^3.0.7" + checksum: 10/3be1f5508a46c190619d5386b1ac8f3af3dbe951ed0f7b0b4a0961eed6fc626bd84b50cf4be768dabc0a05b672f5d0c5ee7f42daa557b14415d18c3a13c7d246 + languageName: node + linkType: hard + +"y18n@npm:^5.0.5": + version: 5.0.8 + resolution: "y18n@npm:5.0.8" + checksum: 10/5f1b5f95e3775de4514edbb142398a2c37849ccfaf04a015be5d75521e9629d3be29bd4432d23c57f37e5b61ade592fb0197022e9993f81a06a5afbdcda9346d + languageName: node + linkType: hard + +"yallist@npm:^3.0.2": + version: 3.1.1 + resolution: "yallist@npm:3.1.1" + checksum: 10/9af0a4329c3c6b779ac4736c69fae4190ac03029fa27c1aef4e6bcc92119b73dea6fe5db5fe881fb0ce2a0e9539a42cdf60c7c21eda04d1a0b8c082e38509efb + languageName: node + linkType: hard + +"yallist@npm:^4.0.0": + version: 4.0.0 + resolution: "yallist@npm:4.0.0" + checksum: 10/4cb02b42b8a93b5cf50caf5d8e9beb409400a8a4d85e83bb0685c1457e9ac0b7a00819e9f5991ac25ffabb56a78e2f017c1acc010b3a1babfe6de690ba531abd + languageName: node + linkType: hard + +"yallist@npm:^5.0.0": + version: 5.0.0 + resolution: "yallist@npm:5.0.0" + checksum: 10/1884d272d485845ad04759a255c71775db0fac56308764b4c77ea56a20d56679fad340213054c8c9c9c26fcfd4c4b2a90df993b7e0aaf3cdb73c618d1d1a802a + languageName: node + linkType: hard + +"yargs-parser@npm:^21.1.1": + version: 21.1.1 + resolution: "yargs-parser@npm:21.1.1" + checksum: 10/9dc2c217ea3bf8d858041252d43e074f7166b53f3d010a8c711275e09cd3d62a002969a39858b92bbda2a6a63a585c7127014534a560b9c69ed2d923d113406e + languageName: node + linkType: hard + +"yargs@npm:^17.3.1": + version: 17.7.2 + resolution: "yargs@npm:17.7.2" + dependencies: + cliui: "npm:^8.0.1" + escalade: "npm:^3.1.1" + get-caller-file: "npm:^2.0.5" + require-directory: "npm:^2.1.1" + string-width: "npm:^4.2.3" + y18n: "npm:^5.0.5" + yargs-parser: "npm:^21.1.1" + checksum: 10/abb3e37678d6e38ea85485ed86ebe0d1e3464c640d7d9069805ea0da12f69d5a32df8e5625e370f9c96dd1c2dc088ab2d0a4dd32af18222ef3c4224a19471576 + languageName: node + linkType: hard + +"yocto-queue@npm:^0.1.0": + version: 0.1.0 + resolution: "yocto-queue@npm:0.1.0" + checksum: 10/f77b3d8d00310def622123df93d4ee654fc6a0096182af8bd60679ddcdfb3474c56c6c7190817c84a2785648cdee9d721c0154eb45698c62176c322fb46fc700 + languageName: node + linkType: hard