From f72dee731a121f01e18562dad965789217066de1 Mon Sep 17 00:00:00 2001 From: Ramnique Singh <30795890+ramnique@users.noreply.github.com> Date: Sat, 17 Jan 2026 10:27:30 +0530 Subject: [PATCH] integrate electron forge --- apps/x/apps/main/.gitignore | 5 +- apps/x/apps/main/agents.md | 80 + apps/x/apps/main/bundle.mjs | 38 + apps/x/apps/main/forge.config.cjs | 201 ++ apps/x/apps/main/icons/icon.icns | Bin 0 -> 119909 bytes apps/x/apps/main/icons/icon.png | Bin 0 -> 22928 bytes apps/x/apps/main/package.json | 16 +- apps/x/apps/main/src/main.ts | 50 +- apps/x/apps/renderer/src/App.tsx | 3 +- .../renderer/src/components/chat-sidebar.tsx | 3 +- apps/x/apps/renderer/vite.config.ts | 4 + apps/x/package.json | 1 + apps/x/pnpm-lock.yaml | 3016 ++++++++++++++++- apps/x/pnpm-workspace.yaml | 3 + 14 files changed, 3388 insertions(+), 32 deletions(-) create mode 100644 apps/x/apps/main/agents.md create mode 100644 apps/x/apps/main/bundle.mjs create mode 100644 apps/x/apps/main/forge.config.cjs create mode 100644 apps/x/apps/main/icons/icon.icns create mode 100644 apps/x/apps/main/icons/icon.png diff --git a/apps/x/apps/main/.gitignore b/apps/x/apps/main/.gitignore index 04c01ba7..28cae713 100644 --- a/apps/x/apps/main/.gitignore +++ b/apps/x/apps/main/.gitignore @@ -1,2 +1,5 @@ node_modules/ -dist/ \ No newline at end of file +dist/ +# Staging directory for Electron Forge packaging (contains bundled main process, copied preload/renderer) +.package/ +out/ \ No newline at end of file diff --git a/apps/x/apps/main/agents.md b/apps/x/apps/main/agents.md new file mode 100644 index 00000000..5ecd5800 --- /dev/null +++ b/apps/x/apps/main/agents.md @@ -0,0 +1,80 @@ +# Electron Main Process - Build & Packaging + +## Overview +This is the Electron main process for the Rowboat app. + +## Why We Use esbuild Bundling + +**Problem**: pnpm uses symlinks for workspace packages (`@x/core`, `@x/shared`). +Electron Forge's dependency walker (`flora-colossus`) cannot follow these symlinks, +causing "Failed to locate module" errors during packaging. Note: npm workspaces +also use symlinks, so this isn't pnpm-specific. + +**Solution**: Bundle the entire main process into a single JS file using esbuild. +This inlines all dependencies (except `electron` itself), eliminating the need +for `node_modules` at runtime. + +## Bundle Configuration (`bundle.mjs`) + +The bundler uses these key settings: + +- **Format: CommonJS** - Many dependencies use `require()` which doesn't work + with esbuild's ESM shim. CJS handles dynamic requires natively. + +- **import.meta.url polyfill** - The source code uses ESM's `import.meta.url` + to derive `__dirname`, but CJS doesn't have `import.meta`. We solve this with: + - `banner`: Injects `var __import_meta_url = require('url').pathToFileURL(__filename).href;` + - `define`: Replaces all `import.meta.url` with `__import_meta_url` + +- **External: electron** - Not bundled; provided by Electron runtime. + +## Build Process + +The build uses two Forge hooks in `forge.config.cjs`: + +### 1. `generateAssets` Hook (Pre-packaging) +Prepares all build artifacts in a hidden `.package/` staging directory: +- Builds shared, renderer, preload, and main TypeScript +- Bundles main process with esbuild → `.package/dist-bundle/main.js` +- Copies preload/renderer dist to `.package/` + +### 2. `packageAfterCopy` Hook (Post-copy) +After Forge copies source to output, this hook fixes it: +- Removes unbundled `dist/` (has unresolvable `@x/core` imports) +- Copies bundled `dist-bundle/`, `preload/`, `renderer/` from staging +- Updates `package.json`: sets `main` to `dist-bundle/main.js`, removes + `"type": "module"` (since we bundle as CJS), removes dependencies +- Cleans up source files (tsconfig.json, src/, etc.) + +**Why this approach?** Electron Forge ignores `packagerConfig.dir` and always +packages from the config file's directory. The `packageAfterCopy` hook is the +reliable way to customize the packaged output. + +## Staged Build Directory (`.package/`) + +- **Why not copy into apps/main directly?** Would pollute source with build artifacts +- **Why .cjs extension for forge.config?** package.json has `"type": "module"`, + but Forge loads configs with `require()`. The `.cjs` extension forces CommonJS. +- **Why hidden (`.` prefix)?** Prevents accidental conflicts with developer-created dirs + +## Development vs Production Paths + +| Mode | main.js location | preload path | renderer path | +|------|------------------|--------------|---------------| +| Dev | `dist/main.js` | `../../preload/dist/` | `../../renderer/dist/` | +| Prod | `dist-bundle/main.js` | `../preload/dist/` | `../renderer/dist/` | + +Code uses `app.isPackaged` to select the correct paths at runtime. + +## Build Commands + +- `npm run start` - Development (runs from dist/, uses Vite dev server) +- `npm run package` - Creates .app bundle in `out/` +- `npm run make` - Creates DMG/ZIP in `out/make/` + +## Troubleshooting + +If the packaged app fails with module errors: +1. **Clean build**: `rm -rf out .package && npm run make` +2. **Reinstall fresh**: Delete `/Applications/Rowboat.app` before installing DMG +3. **Clear caches**: `rm -rf ~/Library/Caches/com.rowboat.app` diff --git a/apps/x/apps/main/bundle.mjs b/apps/x/apps/main/bundle.mjs new file mode 100644 index 00000000..b95d4bda --- /dev/null +++ b/apps/x/apps/main/bundle.mjs @@ -0,0 +1,38 @@ +/** + * Bundles the compiled main process into a single JavaScript file. + * + * Why we bundle: + * - pnpm uses symlinks for workspace packages (@x/core, @x/shared) + * - Electron Forge's dependency walker (flora-colossus) cannot follow these symlinks + * - Bundling inlines all dependencies into a single file, eliminating node_modules + * + * This script is called by the generateAssets hook in forge.config.js before packaging. + */ + +import * as esbuild from 'esbuild'; + +// In CommonJS, import.meta.url doesn't exist. We need to polyfill it. +// The banner defines __import_meta_url at the top of the bundle, +// and we use define to replace all import.meta.url references with it. +const cjsBanner = `var __import_meta_url = require('url').pathToFileURL(__filename).href;`; + +await esbuild.build({ + entryPoints: ['./dist/main.js'], + bundle: true, + platform: 'node', + target: 'node20', + outfile: './.package/dist-bundle/main.js', + external: ['electron'], // Provided by Electron runtime + // Use CommonJS format - many dependencies use require() which doesn't work + // well with esbuild's ESM shim. CJS handles dynamic requires natively. + format: 'cjs', + sourcemap: true, + // Inject the polyfill variable at the top + banner: { js: cjsBanner }, + // Replace import.meta.url directly with our polyfill variable + define: { + 'import.meta.url': '__import_meta_url', + }, +}); + +console.log('✅ Main process bundled to .package/dist-bundle/main.js'); diff --git a/apps/x/apps/main/forge.config.cjs b/apps/x/apps/main/forge.config.cjs new file mode 100644 index 00000000..d8b9d285 --- /dev/null +++ b/apps/x/apps/main/forge.config.cjs @@ -0,0 +1,201 @@ +// Electron Forge config file +// NOTE: Must be .cjs (CommonJS) because package.json has "type": "module" +// Forge loads configs with require(), which fails on ESM files + +const path = require('path'); + +module.exports = { + packagerConfig: { + name: 'Rowboat', + executableName: 'rowboat', + icon: './icons/icon', // .icns extension added automatically + appBundleId: 'com.rowboat.app', + appCategoryType: 'public.app-category.productivity', + // Since we bundle everything with esbuild, we don't need node_modules at all. + // These settings prevent Forge's dependency walker (flora-colossus) from trying + // to analyze/copy node_modules, which fails with pnpm's symlinked workspaces. + prune: false, + ignore: [ + // Skip any node_modules that might exist + /node_modules/, + // Skip source files + /\.ts$/, + /\.tsx$/, + // Skip the staging directory + /\.package/, + // Skip the bundle script + /bundle\.mjs$/, + ], + }, + makers: [ + { + name: '@electron-forge/maker-dmg', + config: { + format: 'ULFO', + name: 'Rowboat', + } + }, + { + name: '@electron-forge/maker-zip', + platforms: ['darwin'], + // ZIP is used by Squirrel.Mac for auto-updates + } + ], + hooks: { + // Hook signature: (forgeConfig, platform, arch) + // Note: Console output only shows if DEBUG or CI env vars are set + generateAssets: async (forgeConfig, platform, arch) => { + const { execSync } = require('child_process'); + const fs = require('fs'); + + const packageDir = path.join(__dirname, '.package'); + + // Clean staging directory (ensures fresh build every time) + console.log('Cleaning staging directory...'); + if (fs.existsSync(packageDir)) { + fs.rmSync(packageDir, { recursive: true }); + } + fs.mkdirSync(packageDir, { recursive: true }); + + // Build shared (TypeScript compilation) + console.log('Building shared...'); + execSync('pnpm run build', { + cwd: path.join(__dirname, '../../packages/shared'), + stdio: 'inherit' + }); + + // Build renderer (Vite build) + console.log('Building renderer...'); + execSync('pnpm run build', { + cwd: path.join(__dirname, '../renderer'), + stdio: 'inherit' + }); + + // Build preload (TypeScript compilation) + console.log('Building preload...'); + execSync('pnpm run build', { + cwd: path.join(__dirname, '../preload'), + stdio: 'inherit' + }); + + // Build main (TypeScript compilation) + console.log('Building main (tsc)...'); + execSync('pnpm run build', { + cwd: __dirname, + stdio: 'inherit' + }); + + // Bundle main process with esbuild (inlines all dependencies) + console.log('Bundling main process...'); + execSync('node bundle.mjs', { + cwd: __dirname, + stdio: 'inherit' + }); + + // Copy preload dist into staging directory + console.log('Copying preload...'); + const preloadSrc = path.join(__dirname, '../preload/dist'); + const preloadDest = path.join(packageDir, 'preload/dist'); + fs.mkdirSync(preloadDest, { recursive: true }); + fs.cpSync(preloadSrc, preloadDest, { recursive: true }); + + // Copy renderer dist into staging directory + console.log('Copying renderer...'); + const rendererSrc = path.join(__dirname, '../renderer/dist'); + const rendererDest = path.join(packageDir, 'renderer/dist'); + fs.mkdirSync(rendererDest, { recursive: true }); + fs.cpSync(rendererSrc, rendererDest, { recursive: true }); + + // Copy icons into staging directory + console.log('Copying icons...'); + const iconsSrc = path.join(__dirname, 'icons'); + const iconsDest = path.join(packageDir, 'icons'); + if (fs.existsSync(iconsSrc)) { + fs.mkdirSync(iconsDest, { recursive: true }); + fs.cpSync(iconsSrc, iconsDest, { recursive: true }); + } + + // Generate package.json in staging directory + // This tells Electron where to find the entry point + // Note: No "type": "module" since we bundle as CommonJS for compatibility + // with dependencies that use dynamic require() + const packageJson = { + name: '@x/main', + version: '0.1.0', + main: 'dist-bundle/main.js', + }; + fs.writeFileSync( + path.join(packageDir, 'package.json'), + JSON.stringify(packageJson, null, 2) + ); + + console.log('✅ All assets staged in .package/'); + }, + + // Hook runs after Forge copies source to output directory + // We use this to replace the unbundled code with our bundled version + // Hook signature: (forgeConfig, buildPath, electronVersion, platform, arch) + packageAfterCopy: async (forgeConfig, buildPath, electronVersion, platform, arch) => { + const fs = require('fs'); + const packageDir = path.join(__dirname, '.package'); + + // buildPath is the app directory inside the packaged output + // e.g., out/Rowboat-darwin-arm64/Rowboat.app/Contents/Resources/app + console.log('Fixing packaged app at:', buildPath); + + // 1. Remove the unbundled dist/ directory (it has imports to @x/core, @x/shared) + const distDir = path.join(buildPath, 'dist'); + if (fs.existsSync(distDir)) { + console.log('Removing unbundled dist/...'); + fs.rmSync(distDir, { recursive: true }); + } + + // 2. Copy the bundled dist-bundle/ from staging + console.log('Copying bundled dist-bundle/...'); + const bundleSrc = path.join(packageDir, 'dist-bundle'); + const bundleDest = path.join(buildPath, 'dist-bundle'); + fs.cpSync(bundleSrc, bundleDest, { recursive: true }); + + // 3. Copy preload from staging + console.log('Copying preload/...'); + const preloadSrc = path.join(packageDir, 'preload'); + const preloadDest = path.join(buildPath, 'preload'); + fs.cpSync(preloadSrc, preloadDest, { recursive: true }); + + // 4. Copy renderer from staging + console.log('Copying renderer/...'); + const rendererSrc = path.join(packageDir, 'renderer'); + const rendererDest = path.join(buildPath, 'renderer'); + fs.cpSync(rendererSrc, rendererDest, { recursive: true }); + + // 5. Update package.json to point to bundled entry + console.log('Updating package.json...'); + const packageJsonPath = path.join(buildPath, 'package.json'); + const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8')); + packageJson.main = 'dist-bundle/main.js'; + // Remove workspace dependencies (they're bundled now) + delete packageJson.dependencies; + delete packageJson.devDependencies; + delete packageJson.scripts; + // Remove "type": "module" - we bundle as CommonJS for compatibility + // with dependencies that use dynamic require() + delete packageJson.type; + fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2)); + + // 6. Clean up source files that shouldn't be in production + const filesToRemove = ['tsconfig.json', 'forge.config.cjs', 'agents.md']; + for (const file of filesToRemove) { + const filePath = path.join(buildPath, file); + if (fs.existsSync(filePath)) { + fs.rmSync(filePath); + } + } + const srcDir = path.join(buildPath, 'src'); + if (fs.existsSync(srcDir)) { + fs.rmSync(srcDir, { recursive: true }); + } + + console.log('✅ Packaged app fixed with bundled code'); + } + } +}; \ No newline at end of file diff --git a/apps/x/apps/main/icons/icon.icns b/apps/x/apps/main/icons/icon.icns new file mode 100644 index 0000000000000000000000000000000000000000..3ea66b8f83ac3524bad1d6092cf7df7b22d66ac0 GIT binary patch literal 119909 zcmeFZWmuHmy9fHrFqDJ?N=mnMcMJ*wQc8%3bccY1(hMllNQX#@G!oJvtr8N_D5W$g z-8ET~C zAc#msSwRc@M_v5k;egLV+sD)3AIw!t=?3(!k7flNC|KTCu~JuuIKg*32o`J$AucWf zf7IX)g0M1S5El3kyZ9{={-3j`OsxO@esSTgyEn=p2-{LcL0-oLwqT&5ysLbb*WKcw zGlh=TCtqXKWnP9$82QJr%dRA8B)ho`A-Mjf=h@4i#6}O1d%1Mdc!AgO=sLEZUQ<+j zY>uKrwi*tLZ3H#5K4PCzkyQEI_be~1FlW_w#=Ai0!)?m<3C88in!_SG&R1Bu{WH&B zaB|9-_lgZ;?o44HD$zVIxsp)!AoMbwdZu4vi{VRrE>k~>?Z$>cvUbJf6x>z5d`u?J zn^!9DNE~w6&yND_L^tPc+D?O*OlU=}jYMpx;bnSvRNkmT7kuQw-`v?TPfs7rJloZu z(uA0qnC?G(NTaHuVRilbb#4KH7)2$e_n$v2-7_-kTi@8AZ95T0MC;*O7#Y#!O-xL1 zi;5-&y?F5r{m{U`{PN|?q6;^$U$CJY4RmxmZr{FrUtS)z^oWm-kCEn{<>$|z2~pq1 z9mU}s5!Zc+3Jb+GadB`S1jM;GyScF}2(Q!JL?TH^+XCK|lvsZJ_>r4|0VN1!UAat5 z{5(vtr(?1ERZ`yDxAIO-d?uY{9fizJPEL33-{<)J74qat(YN7>K6X%v@oh zyn40cfq{X(swx2i@u+ocT}1_xjh~7Cd2;f# zEFSIdjVB%+9^!C&?b1Vm1d$-jYr_;x$c%ShwN#g9oKqyE4Mf-Mw{XW#z=(?i{rlc=oNmwde|Nk5uRyqD<_xK0kcfh*=`bWgoU#=G&Hc1@CyoN zCmuv9qP)B$2fhrZKQuPJsihU`O^VV)ymFX`i;5x^X}!h;U%qE!Z-3>Z=8*Fwr>hhE zwyG*Ne&%y)ef^Ygv+~~z5X;mbo+tL*7@V2ux3aQ&Uig|^Uu-(w*%km@{>nF?{l*p~%Y`pAqlcwCYLVK?US=W}=?L$@5N5|{jzr}}! zgod(mPiVx4WTr+8-TRK}3+q>3uS&PkkmXsZhki%qk%}?*DSgR_!l@|W&E z+PzhAgS&EdnHix^%^jZ(xDPQ*-`hSh7U0p!-2S53RO9aa+~M_inq}{8O!k#4p(%|e z0g^1!m=I0W7wJRBLe+@XES7VAPa~`i<+ghrPq!CCB!j9QPH8L;O|-)-PTA)bh|u!s zMIBY4DW`7&FtPc)cd&#R-zk2X=Oda8a3X{%nQy7LfPkf~6d7HO?F7;;^$8+mz zv9Pj+hLLfFeXnr}2frEIbHqVg7DjB`daIg5u3L1E%zbT?%zbsZYwBL9k)e=ZilC*! zkG3Giv3G`4&{n~>siG|fy>}1whl}(yg&%#>5w;&y8!k0A9xm3`j^{Hry2^c@-vQR_ zd%~73<4wNr!_8ic6QXE;_u(^k3LM9YinlgHxsf(svxD+=ixN3>FI{o@`ZZO|siP-} z?@a^84LckZ0$b6W8s~G|RMt)0ujS@SUmHDLOYC0m%VrHWdu-ik^vB2!7bL$FfXwbq z%}`|D*3{4-pQ?AiBIC7-EO}5xYE$z&Q|TpLD7_rNixVxlY=G5k;nDYMGT-CfuMyMv zcbVI(rCxB~FmgFqpNjrGC(#M<7s%`mN z*`KW#Zuk3ew)L6fOp|X_U#h&zcTEAvL2qk@D)Wk%!#F>z9efUCJ&b&Rbbi(_%hqyV z>2aFkhHncR#v~%5TeM0*#(8z@thkA?)c+;DT=j8v+krYH={)x-awy%SF{9}A!Nv@Q z(@axUqel}0HQnf06*ZZo5~qMUKg0g!HL|kUn|kB+n(tE|Y&4T%SV#aCZdieKUKp=o zeZJ$4are`OOE)kj?8Z>${cV;dA$YVh z#BTU@C2cB0&cFM~?{5D)#&0du-|3oNY-A8jbTLItTyP~e6-|?>P_i!_=wp~p}>63X) zcFi=&g%3)TD5grxJhnrP@9;X-?Ag=NV*Oa3AA~v!z1qZ;7&|f8W{h#USe`jq^5Jgu0&Yp{NqMSTH5bk zuc;iJs|co4VO!FKbv(}UoR=%v_XWc|)FY`y=E01p6?T5_;y*XeL?BQ9O^qJvwO*{@T$wj0APdFSej4DXS|=_UKDw zoFQNi?E)yi-k=E}q2M#Rnoqa0(8KPvxB6D`CsSs->hnJOBj9+>SiEslJ*BTUF`* z@+H1VuQXAZlcPwdVB0`Kz!BwybopNWXnSvM?CzAoNXJ!=hgEhXPG0_p zn^_MVJ<8v-#fH~zyAlr9B@F0CXg-!6o6yEGd9JA$(w8;Bt)iOsQF}bOlt?^A)^l6I znA>t6s2JM!4vzyrc|j4>BAj~V%cqev5?We_cLwnDSU!mqj-@-tv#nSSGXDNw<&h@E z*igwEX5$ZDtOvg)n7iVXvbD+Mv(_*qlGSc2gAb$YKfJg3$|UA)MhgwhWyp9}=M313 zVGE``brxE{K_UkRGv%>{EUSN*RuDs+vcF@lE{fvWSPZMrF*~h6(fJ21MH1-msRYda zt!Q&7Q*-tcg6t>F)qD{uD8J4ofa7R)MO&!>R(aKMb7=XKKMpE$=I*$1M&RYb|NfO4B~fZWxcm_(l`B&rVfa#KF9dvxbEoOXiNpsjA5}7(tBA1} zu0pdh7VbVwJo_v^m`OP0D1aWnah-mR^tIH}zKRD>xQvMlw~mn`oi>wj#MMliAK#^~ zi8_=OKg9EW)1ue2ZoLp0f0GqIPa&mDnv3Tv-BTXuK&&>efGMeo<{=iP^zHd3wkTRD ztLV1L>n@KdlK6~8lg5K|ZZpO0W-8PnpCT`};*tuG6n0+8rm^FYRA`OA^8m=fPdl7X zFX>C4)8HIiLX;dzLUhtk%(HF=6BqDL+2f(sv7+~wNvH(1VrTmNPY>^Yc`czmaKFuI zNk_5;;x~=FpJ=CFW)hHj-T2DWr*fgDWbz+(&W>!xSY^HUi#c7-tQv3Qr)o%6?4rWVj$c3Wg+x?ibR&_lUt8`t%HkNUJM9x2LT%z~am~ zJ~oz#!$N9uWpeK7I`5NT<1r_4U!SPG2}10sKd5zR_Y@*Et<;ofe`)h;p8m}(EE5F@ zrER?K?(W!Ru8_s1!nX@-Xl~Ll4m+h;uDKt0T%NhPxtER$m1KNUii`!PV}5XyE!ypk!_A;<9)oJ-=do);-XeHQ%(f9lp?ki*yp{F2fb?sj2|S}XXbyMpP?z(Sxn)2D zLG+?39O~S zM@K`d=7M;QZ?VROv$wE1QDg!y56J|u7|Y!^UpXY-qN)Ct=W1F&m!_|9N^gd9!)%2? z=<^f*0a0#jBdm6|PKmp(tJOpPamCq*8|4RhnJZ&(S^DXs zOkX;QTm%aL9kK`rK@c7Ke}^m=2`JcwT7jU4F8Nj$NB;*|D;V_OAdRZO!{cbWG*(-HzO8IW! z?%Q0ty0*IdpfG>)CT(a%U8g?N)Jv6XN5&jl>dylZ%9%cJrTI;b7+oe;#l?`~t4C_{ zXl0wM+sXoI+*`XOb!zkQ7^awSOoS{b_zxti)tFsSbDlP4g6X@W%cVL=^uEi%T_(Md ztD*eS5dM5{i&tGQCRCceqOziix^Aj`|ANG5?cb=e|da_ttG6CD1}=}25cL_j=O@K zLdz128Tg~oZxQ>-^>?o&FC?8;(4g!kJgYmY{3ssN<42=)5u&&4PC{lAGIhiYhDY_T zEnq;&QmJPeq*GOc$ zClz>9tcpoS{)poImHeb>JdY0!?>C=a!op`sf{u4Hi@h0jv09`sq$Jg+{vU(6RQcgH%woFR%s>^5BhZuu9m4@QB|=6Sv%L z*M39_!6czYEK=uWh!)-cDQ}eph1(*Hf)iiK#Bv@#)Ja1uL&>n!Zn1SABc7p|gk|4ohz4-#7Us9L-EiOTVlQG- zf0b|5`>H^wUwY_drqWj1Y37|_!*GJ0QNjMkj1vo?B*fg?rjVkLDgO+o@a~&itGh#* zdOQy*?|^V{8_}#O^;>wP_OUsLZh5eSqp24AGfIi+q?7BuCqI&e%+*?-cc?>}E?1Wm zc?=4F{xsA4R%M^JDXdAh?J!geoSeN3%qjc#p6w^Hw5aJjJGXL?`9>e=_42n68{_3~ z*f};iPV>^e3JdSfJ=d+|O50UW71cfd=JQY)H~MmSqml#SPI7oym=17}KLk#Lpw@kV z!rFUd6&o8nCeQxtcrRv#IqBK}Z2rc}F>0mRcx{cl)@kmEtHAE8eyb|F5%4*#$>@Vu zd5(Mg3!?H#v1RoYC@}V?=O>czrW@<@#=Uo!vzm^2oxC)kio>o1jy~8TYeA^; z6NNIM6Q5i?1io+)u)jr)Q}v!i?vG`rxB|UqTVPd|J&9o&;d|otQ2EcLUM?myeCDkx z#Yl~l@yL5?&5?R{d))@nd+&wh9A=sfe~*{9FFzlIQ9hzOAPruXD%=L9^WF!qJuTpL zA4q;5S2hE2jvWZ9Z?UHlx7h5k$UR<`9?Dg}Hj<}F@4oesqKJUEw&jE-3DLWS-7+r= znW*7LKYwkNLJT5@gY@m03z%{z3A5*f??-awyZH8w%OjOEU5*pq6mS zIl#XhXU%V+Gz;QMyS>$s3B#*H6K;?|fY|TqWGY-u@5*`eQ|X%v_?dh3+5r=Po}ggc z;UKXb<~`*;=E-wZ9Z?aEr)2Zhj1)Pf1j~(oi=`anye!97tDuwyR#CxDpHx3%@6MZ5 z_6#4hj}*{ACRV3rI{!~zN_R1@T^kXz4m{CSMVlCqIl4vZU3+&3_Pl4PbDUppI#O&p z{{_)CtKZ{Z%&mzr`TplS8J08xPGYoZPf>gx#pO868~QV4A{z05SNd)@v}JQc%1EP$ z-ay(O%a9fe={Efp2SQ4IROB_WKKofAPs94>418~K9$>_rrXSj6bX{|U*bLaiE3-1^ zR4{QFryX2}`VYIcZ?cs69J#nJ4`dAI_XiAKWmk8@=ORqE23j5fy>p!nEkt38FZ=pRUtHVw0I=Ph_4=AjrAz zn>>O0YANB)VzI6pCOc!D?K;&hkn6Ij8VDt8LImj3IeHAgTo%>!9IQ@=^nguvC6Zol z+5i$-uiQLu#W$fv8Cbz?kA;Dk-->81$C;Knn4F6o3>TnkbZ5mcepsi~ia$=i44G9^ zzF7Pzm8!?OwGsp zk|M-jn9m%UM9iSocpg(@Kc=Cc%-@>oFoYpouL^CM{@^{LMDJ^%9s4pbfp}ItY}wxg z`yt`z(Tb*jA+@j#@{GtcxDnZMB9{w$F95V&m)&yH$-vFa1wf}Su0%DeH{s2mV1Bd* z@3=SI*|>>|(SBRA1AS)L5`_JFJ zlr0=64`w_F99oWf3q$IE{gMtT7M` z`gcGnq<*=?XI+HIp;}aJoN8qR;y*Gn7uc@%bFRO59p+@Oj2<~TiE~eOR&v#81 zN>K&Zt}wua&nLvs<%V>MVHTuY6YDe0&239`+;tyOaE8tGh7C42f)*uV)!|~0{Nm)L z|LGe$uv8?hx1&`Nz^-n{AY(IyjA7knW~QcDV*^inMaJSE<2-G+4P{^)9>8j)rM|)r z2d?w--s_h=DQ>$#L&y@XGOOu-94861!=fWs&C#W3Q_+aoo1f{(&k6Y_ckxV)H>iZH zSYF`JqF!AWFzCPL)R^^3^wF#8BsrB?dpPBh_1r1O*#6Ej1uc3r|L&U?$5R`AOMAbH z3>%)<-k4+x5QZO8S6cU{SIRuWxHS<$t~)Y&!`iQ3&aC^qt{I*SzY`lcL=0u@8~JQ0 zHf^w9S5nIF0ZFF#-XZ^^tjD7;kZDm=PZ10<^g46FJ~$#p?KS7*bQ~m?NToSoq55Uj z#y+-6S6hAe7>tyTtDJp}MJel3>vgs_rW?nm9&4q#dWA6ntc8Mu8GpGpsg5gE+QhTD zsg7Fxa+t4p|{LIaEd=?(@Imog3>`AFTpX`x9G^!eL$6n3MxeYeyz42lC z^i;P{M)j#7|Fd|-!j9DqwVpk*E+xDp|y3fGk0QqZWb%5-2Y z+LYVwWY&KrKE6_cmy_r@yF2xC<~P|WNXRJ03Rv*RCh8&1z6kX%_oj;Bs?zj_J%?y~ zH>N)@m%o>fVw508-TO%-!rb}F>A|s|y{*Dm(reoay*e1N1V{M^oq^A-nrreR?0EZm7{`JqTc~8to%jNN_V3u z@k#$0n0}{!1?UxyQD{cM~t3^ydCBFQjRQ7vfYMe**!(4B?618tROx0H93(@5j(!b8}@?)FWD1pZltEJ~AGgCXsm=S()Z46vxO;1rBOsX-ZBu z=igOhpUm8$nIy;+*XQ$lz z#q;3vy;A=YOHpGABC@bP4^}+yFADeGei?|{LQ5>YcD-Thka9&}4Ax0H_2AQ(z1tA2 znB!~5$=dR8oG=CJUDqY(P3ecP22LNy@U0162c!@~Jmny{IPym6<*1%x(9t$e7 zALAXVbG5E|^7{eB@ZLy_2xQFdxIS5K9voZBdkMQe2u=O6Cx~7&7t5J3&pK-^nBH$$ z;Z5e3?P81W4em~s9UV!u#WxZ55;o2BVvAu*jmOD;QWJ zLvIV}T$eag{984!yH!MF`3}~`G)=pl#<1+6cS~r&-Ot&%g6r84Z=P%=)F)v)%iVHhNJN#9&6 zJQK3+Q;U$T zRO!F{16jSx-A)uK409|PsZ_OSdv>n z&=#u%71!DHq8Qyw+J-W+96+#c`Tj?YAf5@a%(dyfJhhZ;i;_;k%2`LG2{Xfv{3xPO zuk_ufeu@3qJALESQi3PzlLhteYqMY=F(G0|!|}&uD|27F z$EsR^D=U}5e!gGRZ299d-fLn829ES6Ot1)21$yr|cltx_s~|2Y0L5_aB=RP?Ee;GQ_p38PTb-~K=oQyU(2AYu>MmH(l!P79Re%mjEruO z=>4u);p~AF{wBW*NAC1+>(hr=N(V_kTQ?}zpmTHgN7~8UOSveS1mFb-GSQYl>lB2! zLHh8ymACjN(=AVDd~0_5q@7ILNY(aRqh(-{=wB&YVT5pxji~qb{N$n^E360;m|L#L z_M}i7M8|4k6RwVy02IxLwrBUpAWjxQ(r#SSHF;C9Enp8NxV~!SjD%zxK9+ZDsHlY2 z&qYa%ZzfrVJNOU6EL00=;!4+dV$A;gccGs^^=plS@ETQP^5pQNj#X1cqLp2<=YjWn&N(QWoS8&+XgOifGoJGOoI>zX{9 zIeXacC)r4Y=rn$m5>1Mi)L;|}YylV}q84V@h~9Zv$twkS`pD7CJOI#tpn8@%Nnfmd z_#8pizTQNF%*6_U3hnP^-(9~pb9l?b?!u3-1CU9~#|@VbH;C6jj%BKR-AKn2>|C$| z*7dI9hEJm#)Mp(q30);8FQk+4nkQGG(lf`eNOi0a)%HnfWsjJ0gG}$ZiAMoMox=?) zipj)JZWyA>W=7#6X${!Tq6&{Oi>Xe9pXvQ4@n1aV>eA$5^nXC|OtQ7|Ude+8I8e~} zk<;&QRmTxRea?ZVlb%5$=-R2$j|XzVK}G3K*_ztDDw=`{)oQ}tQLW7??hmwfd;Y*Ns0X?r>#cyA z?-d$7j})fX=;Z4{uY(ECzk;j?VK1!Mphlx-4B^r@OXHsMlM9Ws>P&|UG24}W=QlFA zI%4vH2Gn>oUe>zA@l;U-P0Vn+9zU`Hyxnedwl&N4X}`=tz8vPLKkMV?kP7A&JH7NG zLo>Rflwkcce~`baB4n<972LaTLBt?s-Ss{QNqXqD zg;^abDq_6(!oqVTG;dA{19B82AiUF%?v(LlZCOoP&~@qJ@qGW|Xep!g?RyQ45)3Xe z&A^2>Gd=iPQ?`04Tm;>C{NTh%)M32rwG_rgB;#P(yWfuz|0_CO{H5ldE}_xwL>0Np z;*QjzA!D|KvU~oikMuOY{qBuk;P|LU9`GjSDdzPh%vx#lySGFE)uAn-2|NTo*hm+` zR=kIZT0D%Z?)|a^9PB&RTME4WNd|>ZMbccghzu< zi$dHf;UkngY`qL8JO51Q9U*i)uD_}68BdHR&UB-@h}ewEOyq-zXTK`ZTmGnN0D(}v zsBBHwTtyG>kf6F=9Wg}Y_qvCV#FLfec21$tX~vtIN?D0rlHEL~&8G`|T@p%tI5IXX z5TW3$U)V+72kVv^NAB~TBr?F88Xr>j4tij9GcqEjeVe_VtF-aw$?j)qKfzG;-}ZIB zzOUJ7(U-5X3wZ&hzX!IFXgWh+m(!RaS#6veO()115mQRs`QZyv%9FlC9zTKt z-mxoj^~5HGTD>5w<9wi_lLHcZwc1ELgYh=WS{Ti(3pua&ae5y0Pxd|v#v6c%TR0TnhNmFLFEhm9)u^;EUL@zK zQVU}Ncp-^aW13`x{m;vmA;D1RR0ItZ3U@ZTynqwm0%YwwS=t_vI)?xScJotiA&B~c zCi!0v6GtzF){Jmlbci7844#TRIlQ8j0JR|nsEy49YGadRht=Zr%Y#bppPyA{{S}2uH*dD@ zQbW}Sq1;IMR0s<+zXH#Pan+4XKUJ&9ZuN6H#)D6sbNhG1*(3{$v@D~=C!S+L>>Ijqx|%5U6_jtkSH~rOzqC^aACi{FI@M*8|I8hhsM@=aeWvB@urv%H&M?OOpXfshkOi2QP?!o4glp z^6gxL>5vA)MiG{Fz_;FaG=&fBuU<|HYsG;?IBa=fC*# zU;Ozm{`?nz{)<2V#h?G;&wugfzxeZC{P{2b{1<=zi$DLxpa0^|fAQzP`14=<`7i$b z7k~bXKmWy_|KiVo@#p^o{8<=OHap7$LOwW_%SkW>>%;}iB^(2DISX_ymXN z;5RIA23!FLSL8!*5}wP!5H_1j?ZN?X5Cj*<*+FAqOUP#s9547F5ChdegRtltR`K6!MrD8C-p%51H?jdg|1SePz4ujyDAMn99_a##?pof7hGC!L9)KpL+9MkKto*^nX!r4*wtZ<`-{(AcDiHpbJXIf9uVs zaFfYKCR(~+b*zE7{_s*BI z*_WAER`5U^rtz;*CMV{F)JCzI{nq#_1@U1QcLbE-{SqY_c@Lw;BNX!t?4qVz)<RfaZ3_V?nDegK`UzBW?XJEYOBtvu{I{o?>U$45_D1%8{*E{x7IGR9R)mT)2 zW9eW`@Y$O9)sTNC3WbLAs83m^7S|B2+C6*6R)d9ZS6e%`sOYmPUbj=dPWWep5AkVC z>rV~h+~pg)*czVXp;KWf-Jvo@wl!{lu^y3+G5?NR37SrOFQVRvl+wO}SL(I9%NlB` zvvPihEhE7_oa3MI03WgV%R-Me`1PNmiMm9Umqf(g_0yYk(%4mqM*I;U2tIvj*#|Pz zw7w-eVsQ-;7D{M-B#4V~xE0__av>r}WlfXniBst~>$f%EG1a3dyF%(EU!v+=NN_P~ z*b|rkwE7F;)vKv#k)yGc-|0s@UXkiS8>z+Ckn$f%U_eHo(_!MD=RH^MWpuH$*yWO@ zZRV{V|JPtMh{I&q=9lHiD8le5q2UvVwr>8^OMJJ;9N-3F3e6_PHYdbvVZru2nC@ zF!CK*OMxq;Je;v0y;wkCa>lQhwFnobcBzKh8F5-eZfB;xg~p$=FU|S>Stdw49aILb zb7hxTo>A6IQVmvUpz6#?L?TrL>&yDTGK$=kM`ciz_03-o8qpnQh0^rJN9P{|k+pgM zI|e2RXe0PxWS1QIaA9^IB<=9z*S&$h#;AXU1A^bXq$66=E#T=PU&8f^5GD0~D348# z)5h9J>EF4u#}-XVbQe1+vf$xfu5X%N%^N$DIAqtJ6ZzA~UlarHp=L3Om5KAfK4{q; z>%(u&4d`DfMWe*ApQKu4IBXxD_G&)CK`{q?S6`gXFb>c7Gs}2MXu6)gWWUa>^Jt1M zw?3y#e*DkyJU7lPS_!24e))D69NqJU{NagQNGSauIm9bL_hAp1pU7Xw(4b!}POY%% z$=PuE{UbR*U+@zYi$;#Uhq!hmV=#m*ii78bg1kt~e^^{*fV zEaTHS*1KsL)esXx8vWie|G6a=e)4k96NZ+RN*=<*(AY}?s|zNk#V??G5#x4a_BaLNQdpy^6=o&(9%L^Vu2}`ahy<2s5O<-wzjuq3I4&*Dn9p^oKN}2!`5Y zC2>*K=VReMPgfZJ?MOb#FpkR>a(>?BuEzF9XP{BL*t^O8wK!0f8ZX7!`QXie<%}Or zruObF3~fa4pLz2^yt0P|SY*%M=KYr-Azs-*EeMn>!Ji*GR5R0YAd$HdYp;LD^%u6C z9dt)#pAh;-ycv*u0n8#02YspRkinlfnepAxz(Na_TLVjZ@k@XQemsxWacYQO#tP4$ zhL=+)BcYCS!0>W$jH1EbC58T20T{xJ4Fw_J!}1#bv>+dXK^a*8KA8iYYM0OJ`Ev>h zZBqRa28I`K1SCM?Rv+=t121m*cXgWmfBhDe3f{k~Ar4h;_HjOhIV!qPx2PKw9`b@c zz;S>!A-I6xUS$H*5@wo7^3TX{M#sf5FZ3imbpe}`-vR~&Ex>xgPVc+>b-T#;tXpDp z=~0|A%RDH#VTC$p=WasLFzSYXrqhBqb7t0lwD>yUUq}F(za=nq?!$Mr-rgo#O7#WX zniX6DQC3*71t1%!cs%!ssmA=-O>8`fSmX!UKU2+(z5Cr8P+Yyns;B$4hXU2GzDqNp zFi8^kz-6I3bTO7yNbc&Rsrm#b3{{lw;wsg>PRD)mX>{yxyUpqQZh@n>50i?Xydr@iA> ze%~+u9QNIpIjMUNcoXV%b$)d-LLpPpL#7C1NCmpDag6E!47Ll~(u#aDs7=itTix6B z8zzOJ7MX8D(RH-mOu)1RTw3R7@5GL%neR^#Y7hEoOi~QIb=ph)pz*~X z6o9$`s!@rO(xO!|zCP`5+GJx((EQ?JZoS0!g)0nDCvMxzixz!{AJ0pky(k^q(3Cy0 zkk}tLPa8Ut40st|2OIzfOJ3A}Mn(m@JO29Iq*q?e%*rDV&{8+z^JB>_nE*1bd$oG^ z300Y(kRO>tmI$P?9_sQhNn6e42|$E7B{93k>HWBttlzL}SoQk{?;39X3YIGP1&(eWc=il3oBSG`th5mhBP&}&$yMh3(nCAWVI3JAHhtmbQI zk!Mij*eB-uA+c2RlX+qjEmo6d54nDoT>@<+zAYCXbVJfv_}aw~c6ysc`Sr-H6~BM& zbOcD%T$`D0e|Z2*%EnZK*qY1FhhTPID`hk>BVA!=JOqV|6xpowc*a5&z54#2%5V!fU2*R%2U zO|Y=dKug=b!5lTj?l(+@Wsl%Qf-f2 zyz*F%FPs=%{VhJ!_0`#zi`0>dEdMZR?$lYwTK-HsO^cJ0o90oVLsg5 zb0lt^VGHD_r#KN%3$4;^c?d>r6wr{iWoS*^8T25)Q817aSO}K%3La)JW7U1x)7S4B*VI+iW9P7}nNI z0OSW|&rlEGUT6NG!rb6Tvtt`JIl;2!xC3-FU=8wPPBMIwQfWJMi&H0m)@!LF*S`|wJnk8lV2t1lrIIt>7fJI1ZX5XF7A5be1Pop!CohXz2UlUZnKJs=U zz=I1mso{7QEO!7=>r$3f{k~tR(T5yhEwW2vkj|yvekWMn5Uc#s)}1cCy7VegL0 zqDw-;jx+d*m%u1C+lb%*vR>t2!+o7$H0lD4#AM6Y;J3 z(b{BF-uol_;d~Mup?r#fc*O2;vn*c7d^+f}cVhf=^d7t(r&;#-Qen}%SYleqko0|a zMkEeQ=B$(e7BdMnt#f~DEVAq#N^ezaE<$L2yN53+PD8Tm+mk_l#3j;0z=fj74v+os zD>X7fiBuntPrVx7<+*Z451Tt-a7oyOL|%97wJNxTgmO4PKEZpgoT-|`>jJn#Iw!0% zdh1Uasl{HsdT0U)CDkA`jku8_1f;)JE(G7lo1dRo2ExApDw`69G^EtQ%C^>=v%!b! zCb}&b!^MR%-iL&u*s#BASKl?t17O-Q=Oroe3;s8+d-2IWlm>V#7T`~Od z@;RWqd$KXzOWHz5Bn(3vtcOU{3){U zuZWz3(#<+8wjc)NJ(wZP|9#0nA6^n{im{5n33>lXo+xkxd|nL{q!!uUa1hl`F>J5F&DQ1C|F)Wcd~hM^dK z>4c%hYc{7`dU*Oo{51A967b%jm>WoC!%V;(mkMF4u9k8t?z{yZ_>L8~g z018s=a}-_<+nqWW%N4*}GU>C^n_aUHauf_A0oS#2bE+8)ELnijC%GoYc&8GTz^VH> z)Yps8A1L?m=>Q%i%A~mk6r9eVY&6ecgfMeWU>%&~##6cm0PEAOt7phM_Ruww#`{;f zz*y!9o&_7f|G5vav$|GN@AYnjfa1D9ISE{mV0q}U{^4rv7Ua7mamN#>Z0z>UH6Q{N^=a;n4z4r~+uLDp+96fYX~>)%2hZNZ6&JA2NtA zWNK((rdrFM1K4K&0+ApIn=6g}NsitG2Gub;x^c=6%c%2x7ZHldTNWmT?aEguGxxVxKr6;8cfRu$k-CUJ2t4h{q_U-hg!ZeK((x2 z?^bYvt^HFT^a%IyCKkL4`*s2+D_}~G26RfQ8sa~m&tKcRFa=Efp4%4hFbz!l9*hVm z=wy=@-Uq|<`=7sm?LMlnReWCn^ryu*+XiFwLTV^i_i@X1&Zf z5XV#j^ORWoF5kl4i2Yj&+D!yAX`h)oKbGIS>>)7!A+i($FwFt(VF1%_;wRXH0{b7{zcZ!J}@wJ7aO$@bQ6k1u#Quu#+eP zr=Uz$ab*1oVH6?vRYd1XR7olk4y`tTWZPg{yiF1(%8MosHKvBju^4?bB_UKzmlNMC z2+`vueK!sJfc+)(UAk3EZ=19*7=6oUKqGX>T+cBBvrP{bVmyL(27VI{QzG!;e{q$O z)kerc7@&fH-D$LaP&r`S7FzT@a$dv7F_Q{d=jRhr{On&*!kGgP45=mpmX{0rK z@5mwNIcaUHwd(r`WG?zwT8aDY)-(ru~P+_&*6cC>&z^0 z^hvvxe2;P)51V!(cZ!AE5lk6x<5lDtH4AGXL>^W%Xu{WxDNZ>y6hOa#nypeL!Jg9t7uJVc!wO^Zk(r zEn1}p60wD0guQ6coxM|KN#TBeiH3-VgKql99sQYX46qip(_JRn04wLE4Ku`jL642B z3f+^J3=H_+fSyYaY`I-cr-cA5d5$~TmK*Y#!Me-NKHVBE9ezoLgFkfhC;fB$IYpA6U+Bo6`#mnUaK8PuCu{>gMy``aI7bwi1D^`4N`+u3$Ro>hmK{ z8j8?BP|pM~a|CG> z#O4f}c(3ityGxNzXFF85PlW*Aoma-R$2iXy-Uc^J8b2+SKD5Yyd!9V9Q5tXpF{i

yfBh=39GkM2=I3&9mR+(AR*;5B= z?kg~XzA`GX3LgV^WY%uLsRkB?%xYfwxW-I7&GWEh3u@nTT33V4+J%`!If&0QpD1$g zs?`J2i6VIA{;#h^qQO#hv|gshgxel+oNUkEJ2^yzEAu(2bj9ii7nyY}pyWsOsb?Kg z_4E;D*z4$e1t?S!tLA-LvM49)Ef`%ILGycUE^@564ZhrH$A_@b4_ILRw8|?0cj|j! zwV@}@iuhvlG4^AvN8jauZB_*(W-bO1cl$9Lw8VjA-es{U&q+x1?&l)C?Y2E|u*Ap9 zDaQ_q)Rd%M$^m>2v{fRJzWoU!qPlf zgmqlSqq!hD7yPNwR5KE2w5mg-5~P{?QwgYCL1#&B-@ZNSX@cWAURl)Q`lPpr=tW&h z%<+w4f(c*Sx*A{!)Bx%3{ln##=Iuh~7)*{gAo}T5ci6`>G_fk)@2=FdlhA$d+-(@ zjehU~Bf+lT9)@r7y?QYHP~_G$lbh;5EqNcHum+H|7Fd(xN3vPa$2kVgdJFrunKBFo z-pz@_QK9M*#l-jr2YVMJS-CZU`Iup9t6 zi#D^ki=;BN>Oozi)Xk2NURT2hvI2nE8ol#t)8(0i76E+HXo~Sy280i^{+;1j)eU;C zO^y0~d-V&SlIjEon;u7dTkD^-th&?*aKb@5UA z*mTfN)+autPDFGauNPVI$g6F`Ck8Dw&9;HKl3D!>xNF46a0xbnf}Rx9I-!$0)qGBkF_n@>CLLU!bmxPuLVH1G4ZVMo+U{1)T^G3P zu#4sw9WY_Q-5tf`-=>?U2qd(?8?D?_;;4RZ+`a(XV{yHfQN#c-Tmu}jAJbmF7CYOq zir?mhMG%w4uP*k(^IakBXYMa&U?(ZW&hwwLCo>t787*L~s~-2kGTEII&h@Z=+9@>j zWvH{+=R+rxk+9wU!Is&A)Rr9|79@tM0}I`*B=8MFIibN~6hHbfKkW&*a5A$KOW-IY zX)KFbLn0SM%6z4=@Wj*%(WRcOH0=RP+_2qeI6dUvb=50hr_V3ck~I&P>PWmXtEBU2 zD6bE{NCg6>*Ik^64BK;FR|mKVBvdt<)*57M(e7Qg_Sfp>oC=pJc{tRGgJ%8YdT+QRK!FM74b6LyGW-yZzcRAA+M!m}f zGFd9dhiE;bm;-4RAC2gZHJ6hIaSC_KQ`y%#hIGB09BOuS;0hC+_tObq3 z2Pj93{DsUXoT%o*z^NwjCWpqp){Y;&lVf2bkuf>>Wc2$Of4|hCRpg`&Yg@nO2v|GD zG50-e7>ga?p1m*{G>m!OB>6`6;??+?UdI{{?kB289eQ4dWDozhzD)ldDh@VjLRIm$GrUub@KHy z6K?HqT+8xGfh6D5Z?ax@gTHMn4yA&5!x7a?*JxcR5(<3!em+#V7HX@8L-L0c%&NQAhL$Zq z`gJ;ITvN$%`I>p2H`PxpnojPz83pCHeoO_P2g zxTw;T9xvl@N5$+%r40sSjRF|U78gTF`r>LUW`e)B9tkr}JCwKaURM#cA&~%N#M&UY z&||t7jqV#NN})K3)1|WmFTrZxGFO}}fX1>9_Gvyjt=~rs?wRwxu1|98>o6Jcj4g(a zJ7hGa?9a`hO#_d5W%#;X7haF0=)8WloBF093Y^EAk(gPfe93W89;y+HH^+=xs*^>F zFqcQIi=UcjSQorxx(9m*cP72Igm%TY0uP)2s}~j73T2Mj6Ytp6Vk1Q&0_x83kv*{) z`8`)!7nfCxjO|{a>-i{C=RC{G7>i>Y7}sOjPKdvewF!ap661z~wM%%R-NRm6Hmkv7uZEaI?uuL$UH7s_yNlx;U`$bsW@Xx!oUDq{P73jgE75rx0PA`UbcLgrIPP{pQ zH4{WTHYBP8Gh9QO<&z)-#b=1B=^|6b_W_)}eQ-wrfoh7HD8>yzJ-jsAl0&1#6DEq} z2Z>GQ2P>Hb_fi9foHe1rC)+ollIxnwxjZTCH~u^*@I=XgPm7Ir_C8m^l!2f(P7N$9 zch<}VYc8xi-0Yz_xTS^%w?^8&G)w%Aht$m4$!>4ji?UM-*|nZ~-b}PjGdhi86xN*q z-&1n(Au%@Ub%3AX;tbc|(WX04fsrxtO%v{>ycPP|>!G*yIiuvrI?;&@Z^UESH-CGz z+O-lqy4w{8cZUhfIyR*lU2zb>_~B_%92#?j_n4?_*KmrKFBU9BG2m$|ma!{s@7&$6 zxdju$5{|lmUNkI5xwXQtHyZf5Z@U~@wKB&r3q2qxUq8DE+)93rWL@F&+Ha0rtT5ur%{Zl0X@|0zW->X_4;Y*xLzDzl zZQ75+$Wx+O=BCHwH5Vt%$FJSRlGz7kYaH)4P(Pf$S4KZ&zqN6{!6mL$J?$SItUfr0sh~CKGxwMQfA9i^jIp;)qytuw zwpK{!5{ZFUT{Zsn!|4cMdw;{IeyGSx1}G1G}`&^Bv(37dGcAOKiU41SsAP($I3GpRe(&W?nCO7Oj|Y~22l>(~Yi za(B&Ep=%^fbm4ANr-;dw1nOlzv7_M3*AK7UVPFa7^s$XwwM7Hag`fLDK}&V{Punc0 zihL9vPBNYQ(xr}7cu|tOyM9lrn|P}!Urnvt8Z1<6n_!=dZ(wBc9aq@||W6m6ZmbIpy% z%R#D(E~ZXB?g^n_Zkeq*qNC`!{8sRD6wk{fi(G&h?KY<~T5W!DUvglqYADNt3Gc8V zr8lhF?tb)L(W)wX30M$0kV&IAbe3z4`P%u;{QzGJp*f@YaZsR;}-DVri>X4ZiMiMw} zQwrqvY(DW$`Z$09ldAY^VOhIUYgNxd(YZm;+~=X4%7|_|Kxz!_0br`zNcQnYs!pRy zrrtj98dc;-^1>iHADBy_`S@t(5he<+?ITcodhk?y;W!UFc>#RrS)G|xD2$n4>l3Fi z^@Z{BBqtWVvm8u~k^|_L+G^d$Xh61bw-T%QaAnl1tG4t3vo{w}cYSLRBuLeOLoL?2 zrLgZ3jL_;Ux5$L6*vSz0U6;6SfUi+u@w_gh3_R9v0GqYG-*#w4K1^=+E&>ZLu8dT- znFtEIyz2(;I}_tDu@}56SHB_}tZ!@9``a)*8^^(Hvts&@`DeQd1Bm0#*)~Jfhv7Dz zpug}ch+f_mWNrX;`b=+9SiA&w6XnQPP^;JvxD(Hq5c%A?Br@)TE+KQf>FsTb>fG0z z4ZYTsLhXsmQ`b)yNI-}pO1vL3U`E;t8e=&r&)5LX1y3Z132!~$XOeywBAmD;w|WcA z2!5t7!juULPN^s*$*xiLl=e_uuln?~cPK(VwYPeg=l~iPXPq?(LPf8vUob|8-w^Kv z@6>|e6PmQ|Rx2xDn*1xbo{YIFyhAnJzjd20YR7j?@6q-V&ZG+#5DEc&dq^Bj=NMdr z_%FzKpcXt@@>bgV3`sCHCa2IK5_TZ~H-wT{8`6)^OL9;71soHpo!LK+O517Fuu#xdJQ}nndLNH>=RYWGnRXA z9caOd>DC1eAFfF6aEIk^W3`#;1=0?*)zgzVAX3zpz^aoaG55s|Plxo044Az_hm&Cl z`Z#+r45E6NhHUoa)&NkM+IYrq7l37R#r47Qko%?C8lMmTxIYB$mpm~7=Oy5N`rI%x z(JgoCaPJH3n7A6i`K^--3Z>`!!`5Z{~tmNNE(F$ES;Rk zvswxdH485cY8i@Sa$r0vcZWf~wCFK%N0E08IN~wircTCK+k^D@)*Zyd!DD4GTK@PU z41MzHiYR#6eUiq;b3g)Z8O1-=;Z?$bkkYHw&u1Y}{p8NuJimH!NxlllqiWQ!Yzq__*?Z!QCif?V3 zJZ1|~CQLD(v}H~*?6}>q;k%8oe6n5;_iKQR7E3@ow0-rSEeHa@-qrIinD7P*UzLCM zIv&6}xwRT{IBo?I<4&KnW$w3+8pQw}3*-F2%Lid~g2&*x;|+zl7|RH=<%_};im!fEjq->DNTO#Y0#tj5A`kK{cn;w%jr`eTvKyTwW~A~ zNlsp6XGcB5#$X1YO83K98=%1v%=d$e9%fL$<<`@%-rezAPu*nZ8>AS;^1mK!bP8hv zzYrG$(AXX2uiC9PRvfWlZ0m)YJWgD*FspEmxhW%M`qz^PH_%X$tCzeLD_wg>?I0_U zur;-)_$pxvmg&ztsH4&fr`nY2=RfGPaSjIR`+Vqv8ooRML5aL>dtvkI7+rzL$|Tb- zd4+it3{RD1I&u!0&GSD+sHzf>vAR6bt93I3M{|LaP z0+Jjq7qTt-TwnF=FX>`{y?$Nabtr`!y1Vr%8dyGmh?&hklY^}rof#m~J6jX6Az#=; zDc1!M48}AMC+e0(s$;o4oHqs>(U&{tbhW?^MI)Md4>_69b!M{3F<=tMmWni~OvaVT z&E4~Wl>eCxFz%^ayc^UeQAT5M6hil&^{w3990ZOPittm7V zk%hO-a@*s~k3O>^Mw3_yG`(Vi9Yhc!7AQqQu~V*6>`Z|A&?SNl_7abX@N57$-Zo6{ zsB$`DSsUyk`{@~)D#k%d;qVI#(@#7)pU$Jv5WL7#?K%F*M?OLn7592uy#X_6DH^4u ztIWMtbss>Pf=#3KnY>KU&N<6@Bl-+4?E~tbDi5J$J1vCRJ|PlpnzQH+scXcm&g;A^4C)W$jdYDhPI%iIB&zNnL$cd zjaBTSiOHL@+!fjT8ni zs^MV10*zZPx98q&?&FYL^l|mY?hZ&>F#wPQ(qm-TIm;Sfg=7YTwQfRynEhR5Ri|V? zHUyu_lt>PxF~w)fGXX2H?k8Y9yzSl>jG(ccw>=y5@0KmPzP!x0`DkT$pjwq01bbl8 zs|YkMOphGp8RO#OB$ETZpNBXT1n`E~Xt_RP7l1gtKawq9?j#&!xWEc`E_xI;y9n5Z zOc#;i?>tW^?*-w)oB1{68O~x8Ezjj(RaI5?Q-2-h5y)_eBr@i^bWXjR$61KM(`xt7 zcriV)ZXh&+1qm&4Ev^ii8G*KSSC5smBM#d~JcUq280du5>op!%ZLS$)EBkzAKuv@w zNJLD{XNzBF|F?mCIgeyQ=N$e*WY#e%2KX&oSW{KR1k3`r>#Ngui*80&gyQifi>3^2 zt2l_DGu@x08v0FMTs&bWp!bEOkuQj#J!DAPs@afw+iY;_*3#Jc_)RRVT)ZW8Q!UY} zFc*i{D7RfDT);qWq7BAzO6)da!v2$cnf0!AwVW2ZN`PE7LIQ>XVpSCFl<0p}^t+?^ z5PXn?0D{|Aoh*4Y8T1@R1EYkHXE<(cFyF1}J-TKi2||a=AdDoW8uRQgg0SH%7--)@ z$G4zyGmYsz_W18SU^?pxo;0R>VdL))!8DTXJmLUH8EJ1t&uM55n(4k;Bdne_UT3ith0YefTT1Xe8YAq zv>s=pM)2q!T$fqYqMD&frpqAs6!p}k53GlqOx+n&mM5lN z-VS!Eo8e7&UIImr42jZePZ)-`r1$nc-FY(0u~vwgS91&k$vgL%-oeel=I-9461fgK z&P;27kdd>*i-aA%eW2N+VNV`h5uT%Ur^jzh`AiYk70|0FYXM`0s=5M)5sN95|$`OnWw*V8WnWbqOn zB`V2ctip#gBZw?M=3&$qAt&{H!WaPm9)&o;Q>BozqTP>4JIbz=o{g`Dh@2@I0vMI6 zoNj+~iqvUVK3d6p9=395`*m*K%a34+e~$bOLbRMs-@&rENM%{L{?-E2(Yp!Rrk0J8 zLV=_%X7@wQMbL@@G+oBj=cbxC+qZYrS_($rCTqG}x^M{t(wUc6y=gtbmbz`m1c-Q$g%oH~*wDqyCpq%!DtqCEcVVOz zaLoZOmTLsjI5dn<6sLSK?MmGu)T+eWd4eX4;%ykocuJXnlFoKM!nj5*BGZwAc)L=fP68k zPYxvd6nuX4_$cIrkn_k___6>3pbpgEJq77Pgv15>yM{6th?@{vxUq_{j=n(i{3{EE z6?FC{M8p=TLiiD17}!*zUmi~Ft+EFk*zVzXJU0GXG4@EOs6!IgIiYFI>r zIjeN}(L(|99;W6#k?$;np5nYEYjprpFIVa93g%utp#ISn_A>dM>3!S48pUe&4$Nt7i{2xBVu~< zd|7&g=nv^oromOV4V*}i@kE8gfv#R=eCU6iFSOvck*sp&386@bib+1P&eZmH>jGvH z$GZo6I}h&W#%b??_5ysH5NumFz3%p|kF8o-H;Ym%WX-j$5SvHcC$0MC%F zrpE_;_hb9l^IE~{w=UbUR#()QTq9RxWDqTP$A723K@3zKvUabM$nl%~CO-C!Y20t3 zic?Qw-;0oAI0n;+%+M~!ijDbl3jTAR1%pYUM|DF&>#XlgkPB_X@{g0F#|TA;uw&p8|`Je95Ock zKF;*ggaYYP4Ir@6=F=e!^(h1V)f~A{G`KPzFiCH|vy%)1JV0ESF1fR}=}mxl<^i#q__-m)3WmEdphX91fc{Aa>R zC%Xb0Rn5v^H;k=M8xcx>Hb8J8cm5mTKtC*8ump~e)hq*vTmnl6vg}wfTAL^lQw=+2 z#vmNUv^%QTdbdA+u9+)lTHY&4ZA5w%swer#T$qgq(xeYspV2wwJ1{U%4JFCs0UjX1y$>i*D{e7?$xVljr-#Zjqrd%$-mQ zbbI}_2cGQYlNe@NEmLXTlnA9yC^)`Z`9l$a75#o+RVgI1{!FV&HNcz{bcT!%Pp~E` zB}<`dZ;}hfZCw856>i=vNZ+ScAHKU6hmnHEfdgP=&%z&afr-x5DKp^2kzoE>S3uhq z(d>=dn_2x>XSl?{9f(wTJQaJy?^`Y`rI(P9QRj5=Ek`05=f`@bw9<))?Baxs7%bCZ z+ulM4b9FrVKAev+n7m66@f+XSFnu1fB40>Q&8Q!RVZ|o^Ke%* z%P2%(Aje%LxcD`kzU4JR4Imdh+MSir8JrL*l^S|(C(`c=``K;W+vYZ!4|f0rum$mi zE|r5>DScbS+&7g05ynjL-~nwhz+gqOy;?p4%_`9a@k;%V3WF@VFKPrEQDzpA0Yn-&o9un*-Yl4Q4baD_Qc# z!B)}kXGjFHD441NiBJGr$$;~nWzXvj=hT?r2f((Qku~xE@dM5RyfpjgqBP9UYZpMM zj$7S^HsMCzEP(x}fjcQ+6bL z0#1o}JQ40LWA4oVzh9KMn4rZ%N(^*mgZKaWToG(Q17e>Vw!#eD?H^-{2qCV~Z zu#@xWco3+%_@n(zTF%@bfCad3k+3%GBf{=`PdsPXh#;$eX+4cD34K}Es3LKZ%)qO5D+`Hbh12 z6V6w}t{kuNU0@RVFrQM-M>|q1JbcH~9?7aH-aHcBG7Aa1Ki)1$V*Kt>sd|XW+ttJB|=$kw0ZVR(9=F2Be9AB6vTFF}+Gof)@V zaOQU6!Z6Y|w&&Eui)hJ~DhBJX?ve7)hDJ52vBhZ=!6@m$Yj(CRA5haVevhgy-jSU- z=0X4U{v_;V{vtj?7vFq635|3dbmcth=+3$L_Y5E4EIxK<+9`r3c9v-WIJ6KG{_K?O zgl1xFyTTZjuJdygQNtL)7(uTsmh!0Oac0|DDA<#V=L@Pn#aK7|z2sUYvKo~>u||A9 zKwoeE2t^W9syVvj2yH*{*BT)0M^DE$t4E&*ZD2=o-)xXn*%~{GJlgpeEzL6W-IP@< zMkYRQi8+!fz+Lj@g`(uMEd?1>V0Zl-(E|k6ma-Rp=|f7pOoyCq3dP>hP_P_Z_Ui!z z1+>rk($uPn#&nHF-}z6mSA1gCw{&p4ha(?9TCj#0b90So)R=Mk5}Sac`70|cTZ#z1 zyp1&d)kb$1DPTgg>*%7&y<4MeNDGl^TjU4xg1cg@cQE3a2Yr4_UIyoay}`(l9D4kj z>a7UvN=wYb!>ZRY)^GnFjB{cXyTb3?nra_U@g+8Y~&;n;Ox#F5g&hh=*uO?gMTghYyrI( z;o;8#(edh4p`E@f5N9iu_=SwB$HvXrpz8{;zqbBGPMNK)T~6O@B!}0incj>>5p07} zV;SdPAGPtIgj5|f{zcOPXKCjuX3s}tZm}H8XncYs+&_s&8$3I#D&H*`A+K2AS*Z48 z$IpS|Ti$wVZZf6HG%k&&V?qK5ikwq(>y}A&op3)GQJ`ec3&s{~j%0MEbQv`n5#*wM6>0MEbQv`n5#*wM6>0MEbQv`n5#*wM6>0MEbQv`n5#* zwM6>0MEbQv`t^$yY>D)1iS%oU^lORqYl-x0iS%oU^lORqYl-x0iS%oU^lORqYl-x0 ziS%oU^lORqYl-x0iS%oU^lORqYl-yhzwBm9q+ggN(yt}buO-qiCZpF9>DLnJ*H41D z|LaJQqgZs}87S@Acn0!@@%Ntz1_Hl9z0r0 z1;IZk57-SzM%|hr_(A)ag}$S)F|rXp;}BHv@gFy!;3pyYA9e}_g~0kpQ1Bl@LI3&| zgHTxh`OLhqvE%bv1R)?y8tZeYk&ffxkuCnOXEkZ_rGzo14#E?q`L@~yZigEP`#Q@U z@tT|q*&~(iC&MDnIY`}aHQPUupK|-nV|~dj`u9^#oUrYy*mvxyOmDWBRQ5^3R{on3 z*_qr*G@6VtOUawrwI0XBpW2Rolj$=5{1Um#Zt>Hrf-zS&}(sW+qKRNlKhYhmif#)%rZ~<~Hw&Xe8UQ{?4l> zr(-;}OsWq%8hM7zsVUBwPKMD_m_&^~AHe*yQ&5kqI}*_oN1e|9v`dcl^d)*}z?R8{ zw%Wn7VFoKb3$}gk2@j2syCuD?H}EEg{1Vy19(<)^on(=qi(BTVnZmftPlZYF;mSt* zoYBQlKYU@K>0cbCf3bJ+=GzdSU@{5^&)h|oX+2?EZonb#$n7jhPH>q*j@?3wBfD88 zQ`PZ>s+pUneKcw+9Pn|?T|N^98Q+FCYG8l0@`Fm0V84Kl+d(->&9p8a(=ue8^h*p4 zz{eR=Vlh4$mTb3tap6clTb-=y5C>fq&uJr*KWoiGTv&ttZ!>!LNUU>hD&1W+#k~$; zp)EGftf+orG?)F@)q8n!LW8E>^=Gy`>bPfX`UbJLDJ`e`chFYx(gIjQRv~d%x4MdW zIeOzoN4DaRffq=-^7F!xnLE23WQnQ1$0Ino>3Q>|wk@gwr{3xQHYm6R5 z@H#r!W+6CKq=0r3C4qCW>(O}75qZuV}eGBr=agkT)PT9MPvv@UY=Uti|rD6YFUZT8f$q^YF zifk4lLK*M|9D`Fqamu`pud(#TAT-%IrPi(b_^^Tp?t6QZs25r3%l{&S{W*;Yd5}|j744JO z6XX`xOqb0sH_?}o|J#9=+64S_ zWtQT~i*g*%g%65mt>dXKy9q}HP2BZlL(1 z>1_}?KCB~dLfN-6IWkdV-t)D91Bx)`b!2{peY@F{=X^{$YC_PUqV=(uFwR5>9 z$G=3$525lQh7Jt#&g1%&p zd5W3kD7-1qHt0$YEpxxSfl;0N`=s;Yu24yjD~sgltMLXHYj?g%cpC5#kJ6qN%^2cG z{zn(d0yLY?Df#f1XDFc-z3tXqLr9^>hZ@H?(g=(uae)X zj|@fym=@5w?G7^XCN%#mM1iDRfy0?)epYTEpXN^Dv37n!y&5Gdj(Co}WHeWB$_W;A z3le|dwxYZ~2A_qe=ksEC!f$+zRrMb(}Q#jMZXu^MPwj^;1hICq>bwrDu^h7RKM)Zq53GVXj zC+3AR>MowXL5=%!(O*s`O<^9m-#s?gwsJf-G*_OjQX5S;IH%dGHBA2m5*qn!t`PKI zLE2ih=d&UmIVG0v^7ydPbvq>Pup`O`%tcDSXsIo_=xS#ys9}D)k066ll54&?a{|vT zN3W@%gy!DzltkWDnikPcGup<(lo@}H+$NMPo3z(majFD9yZv07D^WKGUn@*^S7%TnmWTXBD0E?ea$-}*^#wH9Th6p zC(rI3`a>8Y=rRG?#cz`M?{c{!)D8G@xtq3TUYr_VPChWE-$G(~lbW%=FEJG6H2#5y ze681A#oVp5mKfC`2?;i@ynU?qYAYB6Nw0J^Itk^MoBt-Ad2xB9(`>C@dbY>~4D=L+ zCP(e#dZRq!>iJc(C}wE=icfCA_kZ62ysJ>PGI$jMYs>r{0>vAyZ z)li`r6^n1yBN||x!;TokZ{yNY)XEnHFL&`QK)?3p8lK4kEv^~{3feOgp*9+ME9Au@hqU_kQDL89U`Xn zvW(oVha*GH@Lcq@zZqK~C&Y2iSJShfPQ7nzwK_7c82wceInf>)oqz818|CiM-=sPe z=9DMn+vA0N!-h}$_S&Gwr83Z_MKPoQV?kBnX}jlz7F^ir43*~cFey}4)t!CA^t`W$ z%@TjUt*A2E0CDarDUrK=wSV~$8#LwR^8#@2irT@mT-`6 z2;w>WwN6gy1T z&&x_XDg^QO5>9uQ?)tBF2n&y#%{i!5?AV*=d8SGyI+QQ6o~y^BoiDY3R>Gzmzis8- zV>7(JzcH@;Ai)sjNwz&QIWiwGH^8<#0*U!t`lPL5m)MSNi9d^o{7V9mZ{bdQ=r*k^ zIh?F3QXA=aYGIlbnsP(<_S>JuNdDz&5DYLNc`GlT=9v)@+g`4>^=qS(XDAtrURKh@ z|23qRjh8{oC zwqWYQ>6!WbhF_=u)!!E}g5DrVqkwf>E|-#b>QiBO?-#&i{1doWQUB{g<%{ z6{%$@$L7KcX|0P1Pms}QBxYpU_~lSl{PcXBnER{`#5%JG!l8>))hD45EANZB9=c~fBsj!kbh)}nQVB! z2_@S%g7aGcm<96=?=I)FcOPQJ3T(R9no|GVP~m2%YwzGJ-|GEHr-k=3 zmGf)=cvZASR%g@hD$)+`M@=1$h;uDN2>*C=Qo{Dn*{8C5777h%(brCYEwVz}Kb+T! z2rbH3>o&IcpU(dENpu@Jq+~&`{h@)kA@aseMDFbK0iw5AukwH00u&}tilSKj>RaR3 zzPus{q`8nMx@(B@@A4b}hzjxwnhfc>TGMC*J90{JPq#x}XpWjcx#iC%XQ2yYGE0ze zHqKWWduNZLMctr1J`&2JL%*!`J$Y=_5YA3 zerTbYx87f~vlpcV5Fhg*Y{1B_QP)3r?}c3i{Iv4ZmR{X{XzwLIvcv4p$3kO`nLip! zXD4kKt=%q{QrJE9rvXJG;IO$oR3-cto52jEv^@@a;E^fg{x#bMO`KPx%m1;dFX$0^ z{jYr;7Vs)nMo~V{mBl-|p%m0_JT-Tgx;2cWKf&0{0U%@J=Qv^Y}OR#w{TKg zNyk=tC_eumc2ANRCA;+10yk(ZSwhDD&?DNWgd+io2yGwf_F!I^;2&azBv5%)(Q*s& z$d&$4_)ne1tBA6h%-oBnG-C~s_02^}ze@M~S{LMa(3bBup!R%RKRghs{`=IB2)P)g z0r`V4cUX3kvzJ`@?>$r7im3yF6j4>hU!8B zw3xCz?4-^3H^^mMw#N0puORX9dSL`R$|HgPA8)qFx{P`6JFO25AlKVV_}{C{jI-oq$W8MAZzx^I3j?qKJ#m{N~-SkgkBl-e{ zVtspo68EpJ|H6$fz>_avepQkBTli>Oz))OJi%$7{8-(+UqQb-fkauJpXE<_sX%c=+ z)6yjTT9*HB?}SPN_1~qiXaQP4(nz5qSwG@5=bhtjZZtWY!lUKowsYK22hzR4Wi1C;?uU;@xmg_0)vFzV+50^_~?Gw6;U%uSp%$e*Jf`W6j zuEIdO0|y)>BqUNEPx;sphxd*RE0?5_%Suxp(|t0gC%%1K;3ugm+cwf8F)M|H3L8HZ zUm`R>cg64AV)?gWLkP!6n%o{_n-;q2;+AmkUF5<`5AL4t>SuJyl9GDvk;_uXhB?Yo z#$D_)-%1}==u9FrVz)TyAy@G?$HG7|Q7=E75&gGJ#26FIzwKA5G}U(KEqU1`)apXW z{62l{+BN!K79Z}B@7}w11syL8FflPX6rakCm?mm`Q9&CGhitbz3Eg}7boltTe>L|J zuV?hkl&f#}^XG+0Kkm;0cb}J}j7agLLv$rLPWvaE=9WNA64dq4q8;Ok8Y1kZmEIc0 z|3Y#^E767PGnJ>>lnH^=7$mr6J;zU zkh+8&HC&{lWcSWQr=5typR&k8%oF+P*GN%jZyV_Br++L zF)}>%^7`D79p2$(scJ}j{+V(gU*Go_h03)nvI}n@mo0)D*8FQ-1g@tH%`~PMZ%MCd zArR*#hqgj}dd7nmK0bc2D=r~(h#s^g zAT)8W)xWyZAW7L-$U56bGBy7upf)nBm^~ce@MMQ^OG|FRMb_DnPsbmhtTai+5WKy; zD^D1EmCJ!H9oeC`_^*w#GMIGwV(PWYGgfdf%x#tFh+k+wHllTCwsj5}Hi{ZG*jnw$5wjJPb8@?&mwb54H$ZfR<2I=;z( zTTB8b#;imC$Uox>2=&h5v#l)|^M{^k66tz1Z*E0&1kLUj9x6Bolb{gHabLX@4^wMCl@!C-Jn>h5X;ikmp`1mT-LFwEx ztydsziZ2ES|M}@|6@40z;=F#sihqcVEOn6iZd+i^o^tdwzvVcTEoSYF)9x;3P|f+H zXC(>k-(!X~aiJ7)1A(V*miJy)=|7iWO7!F!q|~`NIzER&$}!>GQK$ClblAl!U0%J% za>*X3hvT^IH4^LB5PW8n@$T|-kH9xV|4lZE#n`$>RP*tOm6pHLI=b)pD~vz|ZAh!B z;t1ZQa568(WpR0~eJbv4-{zIu;FgmfS_69g-#Z|SYL%9hl#J&zmU{-ee7D%U_ZR%C zN`H=Z5Iv*?-R9BiK;6F#F#v~tId zzhAWqU&p+iDIufGcAN-PHhHn7<4d9I+oaM8+WT{&(|A7vEBnP?C@wkhq_59)40maN z$i<|!OL1??Eh^^xyBFK(gs9ZCb-dxW;^FAA&Mv_{T@RkE(M_q+cxs6%>EULE0q)2B zZ@PVua?N{I{1@jUrH8latO|$6kW@F&c}37ulfiG=x^?TpLx&vvR<2&1eeN7VjCa5L zm&1NvKoEX@emzhN%N(RqNZ|n2&AjBp|9&AUeC<1_rL}b;neA86e8h>pZXj;0-NmM7 zrWQP}N7U%?wJApTKiDOTrrPA608)l|Y=k?nEGos`sFj7&g zzs~X8N_ApeTUqhK`PTNh<*HC~oe6nebRPS(H1243F6n0kOeK0@|1n)0l`c)?zI^$T zR#2EYtd@C$-c|90)==nLW^v%aiQ4y6#qqsTq*u70j7>WTl7!Q< z%?Qoa&+P=-jMI*qz0>bNEZB~UXZ_;|HmStFE==unQeZvE%KB;ATD59ItAV=r(4h{u zKS>*nM47pgYedMY21@t5!*HZMR5O`>$3H+&C~_*Inw#5|Cz*~bj+;bkyq^PoewglL zMc=#kW=N6FCCSC1%J>wlsu%knXXK{iTED&AQg;SHNuG=!I6X`7ALNp|l@dMZ7**)q zUFE{gRAhN~RfP+FCR@~f30F%gENoQ4Rp<80t&d$iAi;e7dSgB+eT4xvS~AcjmEoZt z-xTBV@1ZW54aD+;2X79hSe>xWc7E>FU1{m%wa#LE^AGxd&GiI`YHx@SG3<5ctwWXP ziIkQ3G25oTyckFDkt=1eUcRiUd}jGaoEz1arpEI#nC)EeW3PW?Yx5C8lz=|cvA295 z$dHk!M5vzq{tv7iKSaqNbTTsngaa3jjQgIJ%(ZGta}?waQO(SnlQ8?-r}q{zOQ$)A z6+L#7_4Sfew<7J)ZieR}y*6G3GnKd*68q%@A3%mH0JhhmNbMsVNSwg}Ow# zw%gX$w#W_lX*%QP*}*3jh*7w%X8bR|35()wxRA;rc~MQ()g4vCP9jD&qi&~8{g$MY z{jTiXVnf-5%gf7ytB>B8>C1)A^D5}^!oQ_|%|X0Lf1H7THuY|y zlIgMZXL$j$m}L^_63rd2*q*0QG=B(B`1jx)WlI5>jMvrGxxBw3EBGR~wQLtpPw?v1 z270)WzJA>tpn0~lAhnEd%s(nd;dJW$Sp|vZ`np;5@71LsURqH>f@#Lm#U&*xGxM%@ zZ--PBKPf7;n22DVSnv8WOYq^y2y9kM7(= zPMeu2Q3}#V z69=t0@T=N}tz=DjmKuM)TmHi|tc}#8NAEYKo9eTjHXFILCDo0lSY>@lG>QHYMWd;Z zwosb8ekRlSbYj#dnN0}nwk+5_`uEdsAVj?|a{RHBbvZ6^$SH>gnLY4Y+yzox;8w6_ zBM#WZ!@2IvdAPE!AEntBi4=$Y8(02*2l!oL=1CUJlBmln>bQ;s(RzQEWD3@dF811L z>r7}biOWe%O?@61>9#0z3p}|U?^?|M0sc)CCr*|t)qEn08RuGF_2b8}M~@!eiHNYD zn3xb`(=L|`1AkT~3$?A~b6A-RdDXP*P}oX6Wo4(5fEho{fm2x7+x>;+<&{+&srk{Z zCCO1xTW_j~dy$b5)HuB>7)RJKCzr<0vw3;u{c39Ay>|&`mJ>fH1K4$T4Vd;XjtHn# zn589iYCol=q!eccu~Ns<4!`^%DJdBWK{R)og9v3Aj>F*`dqyb_S`5!{xxq$*sSZb; zLx`$PD-92rApj(F?5fkqzE{vxSEqO>&rAZcc|h^s80b2?bcANo zTjeKEHBV%}ro%X#m6Ky_Z=VF2IWg`wA!!PM!pxWKn2CFavD9X{J+y@DN4?fvFqO+h zQ%Vr6;f|@|n5?YqL^3a0+vP=ybxu?wultnH$TIgTZWr#ugAYFY5S%~oV!r&;Q{S{G z{xuy438fyRv1&U(cHnS(iB9EE@B{ASr39vYsWQXBz<`;iB6}?u&fRxJGi3@IFs+F@ zckXna7-|)02Tqe)nSLPo;Dj1>;lhPG;o1iy7j_3ZS7isSuWr2>1xB=33new{gY-~OcW}gpQTHivET2ndbfU&&8PAGUd;S@ zT54_t+|KF2!4p$WlJt}zHj?)suKH6NG!!{uDOI=0t8i=isD;IkEgaoM<`IH|g1oyb zRP+5tpLXg3WP)-|+N5swSNZ`DnAk{7O$|+fr9E73CFrfosY?hkJO!s0x1S^8}|m zhv0tarW6$wF-&nCH_uVbAQFg=R33{@9pp7DiWAq`+S;YB{-xj)-Pkx7QAS%BuH8wK z4m+|8sBlUfd`nRyj`L_V0luZ-xbI(Olb~v5W!2?YmsHG?TYb30txm_QYrlDBW+q!r zz=sl#wn_TwPOH7n+uY zY&cf3VfflA>+Ek3C!6;AthkIL49b?a(YfRO_A*6m0g+I1MjFTLky|lY$0@HwGaci^ zIJ1m+=`61%0PH}BeM{@K*d%mg5-lm^f)cS?#sCg%)=$i;PS(hQE+ZW z{5l@YC)x8fPad+ij;5BUS&z%g%X68mJ9wmMGS`qs#>eZP+kKqN3%;Lm?4YqUZf&=F z)Fi5a)5y$b#m5)T8b}7NukqE{L>pc>?$GmN7g)d3N`${4UBZEbz4T~*bI_$rQ3R^# z+K%Haf_0u{|VYOLK{7jlb*A)Z_deTC7meW;_;Rj9O@bMzL--keS%vh5Jg>2yjFQ?9*A-p9+*Z|g{PD1; zGV%%{WS&UndUoC#9T{<#XY6l2^X)Wzg1I`2#HZwwSVG?Kv`(HdZUUPSjJ<#Vb^ky~ zt-x2H?68hNy1M`hzqlNUxEHQ0<$pnMlI4*ygGmpj?!j`dzMdXW7VGLd1=ug+)-CC; z#lr986alg}8>w2mB{7DPiHs#W~I;XrDwp41bY3T?|x!@qp>JNg+I=pF{7CaGwrwG&M{rii$J3F7NS)^8vc2~XK z@71NS1f^A%bJP_C@1)%D4R1`HxWmK4e2&0);n{cEF10OH!N!83uDJzTOac_XkRKjSjRCeJRUatsKOI;d&R5a)(k166r+p>u*V zBnqSwfZOO%>~m7=#B-a2W>t%j_rxrGlYI+EI-0b1swuicwWV1#v7Bo({0HC5^EtF-B9jVj=j_s- z^c22P06Tqjd_1ZB;XP62TIhyzMHHx$11q_lpfG~QUAIgL3JfH&}qkyf|teAv!OnuTEIXTqWQ9j-QP=*F>-@#+7Cral0 ze%uEnv``daeQG_8m+QEM0%?N4c}wGc*U6Jx&wTc5C8S~&lp`ZH0#?Pq6IQ0$bc+kf z!W=$+uo>!w_dxT;@)R7jV}y%B{e$y_fBDXek~8@A^XEZx?z;Eb%l6m|``EJ|O!-yP zlfG8U8n||KzK^;l?p)b|ir)+2_WPJ`ttT&jd?!UDpy5sb1^FXFY_ot5AsD!cZ0_|N z9zBGej~qzeJ~&&kqL@J6b^n{J_-N>#>vVLub!;zBPj;37P<3J!2I><<$d{3A30C82 zG1#p6>mk`0qceWKw1H0EtNd!x8bGlU_55l$gHu;q>)iR{kv4R3lz^sUYknG~*u4IX zdf8q?)7Aj1osyFip^v*}6{7xsQG0tR7Qr=jGQCiLiKeX+uM=4(^(- zrsI(<0AIE|T;eE(Dk5b-RI8(EKNhS+tBwsA+L4@=Hm=Wc0&)uF0Qnw7OPW5;Oo|i) z$+c!g+DnKeNhu81R>VGw^LO1@`5c5aYoN4#R#sXaJSeBgy^wAH1gSp**7#+(vHqr6 z;)MGka!XxteQ-;73P)u=eg3?*Av^8)^Rl**IJfS~lwn0K%(CuktaLBsQ8cFXEefp` zXVS_Uu z4sZ6rucm@ennVJ!8x+NC{we(XH_PJdCJ^^+h)tB#Ri;?;E3o?d!(!O4u5G6fsZCBT(2E4&A?A4YME?x zj$2&kYFreOIHp5@zA4>RAvBke-3fWM(0ooHz=Obdr$ERK@zxH^I_$G|5qjp!2r7H- zHFwc>9@lkv3TO3j=bb;ouDfL)C7KJmp%p;?Rlp`5@%<(0-^>(;Cb(Vu?lxf*)E{VO z5B{mFtMjiKKP$qFM=Fn1h?x?qiA>70Z?Oh-vp5l}tlNCX;?^A96yLq8RrpNyse~RP zgyw0wA1B^YgNOApcD~TqKt4yPEn@-q<=tC*VwNF0o>hxxUb_LM*WVL&z+o0GCmOPw zMf3wXBg+e48_)jq3B+4h#&`UcY{Q<=X)R;tw>d_qN;p2=Fvq`Vu{)>EO%L)U1dlm&0W0&gm*M*#)X&h@#`0d*d zIk)F43A5uJFsUs2l7-T^MSX8`55^EFhy7!{g(H47bd8?-!3&3iu(2_3HDI6tZXFjs zYN^~Lpm_QVxv4fR8b3Dfj|uS{jMZcZgH3^xXR#vQQ2=BL0u0uG0#N@y`Td?F2vVvB z>XQcdOE-!J2GSQ8_}w1G$~u2kX97*H9`ITP zcehWezezL&iK-tEXZrERf(+e*yJf&#BwjuAX_frg9N_KoD-D8MVMD`e3#vE5Iotxtn^IYOH_QTO7+ z)$s6e%RPH$24Q&xOac)O}*;L|umcthuD~`{3r6=U?9`JoBY6 zMq>5thW1brG;K!JSFhgl>iv|_Xa~BC=f0VDx52$SzH8ereA1t1fBO10BQH{fWlEtTc%#bRt-=S|Be$ElVaLVj_fnVusv-e?A3|5lYJaSQ{`557WZccoEys;E91T1b zA`h<{1!0$bHWVY97GY&N026a)Hp!5K>0|Rpkz%%Zg_(_wi;0N|Er=zq6i|vX0q`l% zg)(Jw&{E^9trfelrHxX5$m-QHpH^+{reR5AwplzqKs>HLG&MXry#Ae30M2kJ(+P zzwp!*TKXv(qHs%gr~#vPi(}bUzjAp_!{bo5g zL3^6}WX`1feQpi~dNH*QSoK{ItJj%uA)b%rVYw%CQFbsWPemKgwl6q|d#DikC+RT6 z@0ZKEcyu~$%y(jRU@tQ)Gfr9pj|CX$uHa-4%NNrI1_Azo90IQT9&Oj4ZW*jRkQhs< zhq0StJpc&*;bB@suuhSrts&_ zTT!~PSqnEfSV=-_??IKXF{lD{gHP#{J$r6IwW~py*jt-5HuP1UTgP$Ko`h03X8N?{ zc=zTa$p54L+q?Q9F$OjZBWG?#5ty5tf4#Xd*3eI@l3QhUe8!9!c7}4)N!kt?m=$4Q ztj;ZiNWK)aIcD1`AYm(x2jEe`jRzseZ6L>^eGjXVs>nl-9+C!N#7+W2Kpmxv%Kr=u zxZjT2W_=9haN+{f43xvqNe=Rps1I0E@aRTiw{G2fKL1MpIL)8}}n<{7A(SF?(zFAT=BHadeuM z;6JIFa0)Y8Mx64?zB2(E3b4aXO-eb5<&FRC*0fzp$P1)ShQq{b?5cWUhYq(qMez40 z4>Wg_B^ct@03l{Us9o@nR$7#F;35t;`7QtiL$^>Ycu zr=wV^fcHED z6ijy6Av>*H!|o;Ms+zqmMj*vS>-(g_{1N5ao8%?1wB#i*nx?2y38Y)+2TZ((F`_r7 z9w~_OjWi}MUR1>5EH1mQg?O>td`99ZD8*Bi@(b!~eFD+Osi6Kqs2%BV@M+4rDz9F9 zT~X)Q%8lg-%i$KT6zq&fpCFn5yiX=j^3}W43yxC-LlNNEyX7U|=?SZ_RBkZhaeEsJ z>OjBu4lx~+Bm6=%&v#lvCCdLmQ8e>P&JfraN1Z^vJOkjsCsV@R2c%jRyt|K5qeKpr zEcbDxEQF>El|!pr+(x^8W;>QEM}sgpYlh&jqu!kk6A*BCw!%^16x53cl?j>PV?U-A z?|=oVE(Ge1+| zI9CBvzR~adqK|FEaG6awOxxG0%a1SN#{yB+S%!ho2BzlMmGNrb3K4(-L z6vOVGo)L3w9Vpboz66XAB1?5x6Eh?jgKLL+aj3hwx0|8;8}RAlX<&ka@*3&QMl)Yi z108IgmqY$J#s5f^W@11{v1j0dFJAm`dTHSmiaXRSVvgJ6d5|u!J?!ZCB(4psbxND4 z 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 literal 0 HcmV?d00001 diff --git a/apps/x/apps/main/icons/icon.png b/apps/x/apps/main/icons/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e2fd6386b98cb11d2ba86fa6114c7e0f09bb65fb GIT binary patch literal 22928 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 literal 0 HcmV?d00001 diff --git a/apps/x/apps/main/package.json b/apps/x/apps/main/package.json index 0a69adec..37be270f 100644 --- a/apps/x/apps/main/package.json +++ b/apps/x/apps/main/package.json @@ -1,10 +1,14 @@ { "name": "@x/main", "type": "module", + "version": "0.1.0", "main": "dist/main.js", "scripts": { - "start": "electron .", - "build": "rm -rf dist && tsc" + "start": "electron-forge start", + "build": "rm -rf dist && tsc", + "package": "electron-forge package", + "make": "electron-forge make", + "publish": "electron-forge publish" }, "dependencies": { "@x/core": "workspace:*", @@ -14,6 +18,12 @@ }, "devDependencies": { "@types/node": "^25.0.3", - "electron": "^39.2.7" + "electron": "^39.2.7", + "esbuild": "^0.24.2", + "@electron-forge/cli": "^7.11.1", + "@electron-forge/maker-deb": "^7.11.1", + "@electron-forge/maker-dmg": "^7.11.1", + "@electron-forge/maker-squirrel": "^7.11.1", + "@electron-forge/maker-zip": "^7.11.1" } } \ No newline at end of file diff --git a/apps/x/apps/main/src/main.ts b/apps/x/apps/main/src/main.ts index f5580a34..9c8fb53c 100644 --- a/apps/x/apps/main/src/main.ts +++ b/apps/x/apps/main/src/main.ts @@ -1,7 +1,7 @@ -import { app, BrowserWindow } from "electron"; +import { app, BrowserWindow, protocol, net } from "electron"; import path from "node:path"; import { setupIpcHandlers, startRunsWatcher, startWorkspaceWatcher, stopWorkspaceWatcher } from "./ipc.js"; -import { fileURLToPath } from "node:url"; +import { fileURLToPath, pathToFileURL } from "node:url"; import { dirname } from "node:path"; import { init as initGmailSync } from "@x/core/dist/knowledge/sync_gmail.js"; import { init as initCalendarSync } from "@x/core/dist/knowledge/sync_calendar.js"; @@ -13,9 +13,42 @@ import { init as initPreBuiltRunner } from "@x/core/dist/pre_built/runner.js"; const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); -const preloadPath = path.join(__dirname, "../../preload/dist/preload.js"); +// Path resolution differs between development and production: +// - Development: main.js runs from dist/, preload is at ../../preload/dist/ (sibling dir) +// - Production: main.js runs from .package/dist-bundle/, preload is at ../preload/dist/ (copied into .package/) +const preloadPath = app.isPackaged + ? path.join(__dirname, "../preload/dist/preload.js") // Production + : path.join(__dirname, "../../preload/dist/preload.js"); // Development console.log("preloadPath", preloadPath); +// Register custom protocol for serving built renderer files in production +function registerAppProtocol() { + protocol.handle('app', (request) => { + // Remove 'app://' prefix and get the path + let urlPath = request.url.slice('app://'.length); + + // Remove leading './' if present + if (urlPath.startsWith('./')) { + urlPath = urlPath.slice(2); + } + + // Default to index.html for root or SPA routes (no file extension) + if (!urlPath || urlPath === '/' || !path.extname(urlPath)) { + urlPath = 'index.html'; + } + + // Resolve to the renderer dist directory + // - Development: main.js at dist/, renderer at ../../renderer/dist/ (sibling dir) + // - Production: main.js at .package/dist-bundle/, renderer at ../renderer/dist/ (copied into .package/) + const rendererDistPath = app.isPackaged + ? path.join(__dirname, '../renderer/dist') + : path.join(__dirname, '../../renderer/dist'); + const filePath = path.join(rendererDistPath, urlPath); + + return net.fetch(pathToFileURL(filePath).toString()); + }); +} + function createWindow() { const win = new BrowserWindow({ width: 800, @@ -29,10 +62,19 @@ function createWindow() { }, }); - win.loadURL("http://localhost:5173"); // load the dev server + if (app.isPackaged) { + // Production: load from custom protocol (serves built renderer files) + win.loadURL('app://./'); + } else { + // Development: load from Vite dev server + win.loadURL('http://localhost:5173'); + } } app.whenReady().then(() => { + // Register custom protocol before creating window (for production builds) + registerAppProtocol(); + setupIpcHandlers(); createWindow(); diff --git a/apps/x/apps/renderer/src/App.tsx b/apps/x/apps/renderer/src/App.tsx index 7f195790..f954b0c3 100644 --- a/apps/x/apps/renderer/src/App.tsx +++ b/apps/x/apps/renderer/src/App.tsx @@ -558,9 +558,10 @@ function App() { } } - const handlePromptSubmit = async ({ text }: PromptInputMessage) => { + const handlePromptSubmit = async (message: PromptInputMessage) => { if (isProcessing) return + const { text } = message; const userMessage = text.trim() if (!userMessage) return diff --git a/apps/x/apps/renderer/src/components/chat-sidebar.tsx b/apps/x/apps/renderer/src/components/chat-sidebar.tsx index 41c6d373..910514b0 100644 --- a/apps/x/apps/renderer/src/components/chat-sidebar.tsx +++ b/apps/x/apps/renderer/src/components/chat-sidebar.tsx @@ -22,6 +22,7 @@ import { import { Reasoning, ReasoningContent, ReasoningTrigger } from '@/components/ai-elements/reasoning' import { Shimmer } from '@/components/ai-elements/shimmer' import { Tool, ToolContent, ToolHeader, ToolInput, ToolOutput } from '@/components/ai-elements/tool' +import { type PromptInputMessage } from '@/components/ai-elements/prompt-input' interface ChatMessage { id: string @@ -106,7 +107,7 @@ interface ChatSidebarProps { isProcessing: boolean message: string onMessageChange: (message: string) => void - onSubmit: (message: { text: string; files: never[] }) => void + onSubmit: (message: PromptInputMessage) => void contextUsage: LanguageModelUsage maxTokens: number usedTokens: number diff --git a/apps/x/apps/renderer/vite.config.ts b/apps/x/apps/renderer/vite.config.ts index 73903b03..9bcca968 100644 --- a/apps/x/apps/renderer/vite.config.ts +++ b/apps/x/apps/renderer/vite.config.ts @@ -5,6 +5,7 @@ import tailwindcss from '@tailwindcss/vite' // https://vite.dev/config/ export default defineConfig({ + base: './', // Use relative paths for assets (required for Electron custom protocol) plugins: [ react(), tailwindcss(), @@ -14,4 +15,7 @@ export default defineConfig({ "@": path.resolve(__dirname, "./src"), }, }, + build: { + outDir: 'dist', + }, }) diff --git a/apps/x/package.json b/apps/x/package.json index fbe0f649..5d875653 100644 --- a/apps/x/package.json +++ b/apps/x/package.json @@ -2,6 +2,7 @@ "name": "x", "private": true, "type": "module", + "version": "0.1.0", "scripts": { "dev": "npm run deps && concurrently -k \"npm:renderer\" \"npm:main\"", "renderer": "cd apps/renderer && npm run dev", diff --git a/apps/x/pnpm-lock.yaml b/apps/x/pnpm-lock.yaml index 60c7a655..a8607830 100644 --- a/apps/x/pnpm-lock.yaml +++ b/apps/x/pnpm-lock.yaml @@ -54,12 +54,30 @@ importers: specifier: ^4.2.1 version: 4.2.1 devDependencies: + '@electron-forge/cli': + specifier: ^7.11.1 + version: 7.11.1(encoding@0.1.13)(esbuild@0.24.2) + '@electron-forge/maker-deb': + specifier: ^7.11.1 + version: 7.11.1 + '@electron-forge/maker-dmg': + specifier: ^7.11.1 + version: 7.11.1 + '@electron-forge/maker-squirrel': + specifier: ^7.11.1 + version: 7.11.1 + '@electron-forge/maker-zip': + specifier: ^7.11.1 + version: 7.11.1 '@types/node': specifier: ^25.0.3 version: 25.0.3 electron: specifier: ^39.2.7 version: 39.2.7 + esbuild: + specifier: ^0.24.2 + version: 0.24.2 apps/preload: dependencies: @@ -123,7 +141,7 @@ importers: version: 1.2.2(@types/react@19.2.7)(react@19.2.3) '@tailwindcss/vite': specifier: ^4.1.18 - version: 4.1.18(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)) + version: 4.1.18(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.46.0)(yaml@2.8.2)) '@tiptap/extension-link': specifier: ^3.15.3 version: 3.15.3(@tiptap/core@3.15.3(@tiptap/pm@3.15.3))(@tiptap/pm@3.15.3) @@ -214,7 +232,7 @@ importers: version: 19.2.3(@types/react@19.2.7) '@vitejs/plugin-react': specifier: ^5.1.1 - version: 5.1.2(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)) + version: 5.1.2(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.46.0)(yaml@2.8.2)) eslint: specifier: ^9.39.1 version: 9.39.2(jiti@2.6.1) @@ -238,7 +256,7 @@ importers: version: 8.50.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) vite: specifier: ^7.2.4 - version: 7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2) + version: 7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.46.0)(yaml@2.8.2) packages/core: dependencies: @@ -259,7 +277,7 @@ importers: version: 2.0.1 '@google-cloud/local-auth': specifier: ^3.0.1 - version: 3.0.1 + version: 3.0.1(encoding@0.1.13) '@modelcontextprotocol/sdk': specifier: ^1.25.1 version: 1.25.1(hono@4.11.3)(zod@4.2.1) @@ -459,10 +477,122 @@ packages: '@chevrotain/utils@11.0.3': resolution: {integrity: sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==} + '@electron-forge/cli@7.11.1': + resolution: {integrity: sha512-pk8AoLsr7t7LBAt0cFD06XFA6uxtPdvtLx06xeal7O9o7GHGCbj29WGwFoJ8Br/ENM0Ho868S3PrAn1PtBXt5g==} + engines: {node: '>= 16.4.0'} + hasBin: true + + '@electron-forge/core-utils@7.11.1': + resolution: {integrity: sha512-9UxRWVsfcziBsbAA2MS0Oz4yYovQCO2BhnGIfsbKNTBtMc/RcVSxAS0NMyymce44i43p1ZC/FqWhnt1XqYw3bQ==} + engines: {node: '>= 16.4.0'} + + '@electron-forge/core@7.11.1': + resolution: {integrity: sha512-YtuPLzggPKPabFAD2rOZFE0s7f4KaUTpGRduhSMbZUqpqD1TIPyfoDBpYiZvao3Ht8pyZeOJjbzcC0LpFs9gIQ==} + engines: {node: '>= 16.4.0'} + + '@electron-forge/maker-base@7.11.1': + resolution: {integrity: sha512-yhZrCGoN6bDeiB5DHFaueZ1h84AReElEj+f0hl2Ph4UbZnO0cnLpbx+Bs+XfMLAiA+beC8muB5UDK5ysfuT9BQ==} + engines: {node: '>= 16.4.0'} + + '@electron-forge/maker-deb@7.11.1': + resolution: {integrity: sha512-QTYiryQLYPDkq6pIfBmx0GQ6D8QatUkowH7rTlW5MnCUa0uumX0Xu7yGIjesuwW37fxT3Lv4xi+FSXMCm2eC1w==} + engines: {node: '>= 16.4.0'} + + '@electron-forge/maker-dmg@7.11.1': + resolution: {integrity: sha512-7zs5/Ewz1PcOl4N1102stFgBiFGWxU18+UPFUSd/fgf9MErBl4HBWuVNMIHyeJ/56rdfkcmTxTqE+9TBEYrZcg==} + engines: {node: '>= 16.4.0'} + + '@electron-forge/maker-squirrel@7.11.1': + resolution: {integrity: sha512-oSg7fgad6l+X0DjtRkSpMzB0AjzyDO4mb2gzM4kTodkP1ADeiMi08bxy0ZeCESqLm5+fG72cAPmEr3BAPvI1yw==} + engines: {node: '>= 16.4.0'} + + '@electron-forge/maker-zip@7.11.1': + resolution: {integrity: sha512-30rcp0AbJLfkFBX2hmO14LKXx7z9V61LffTVbTCFMh5vUB2kZvcA5xAhsBk2oUJWfGVxe1DuSEU0rDR9bUMHUg==} + engines: {node: '>= 16.4.0'} + + '@electron-forge/plugin-base@7.11.1': + resolution: {integrity: sha512-lKpSOV1GA3FoYiD9k05i6v4KaQVmojnRgCr7d6VL1bFp13QOtXSaAWhFI9mtSY7rGElOacX6Zt7P7rPoB8T9eQ==} + engines: {node: '>= 16.4.0'} + + '@electron-forge/publisher-base@7.11.1': + resolution: {integrity: sha512-rXE9oMFGMtdQrixnumWYH5TTGsp99iPHZb3jI74YWq518ctCh6DlIgWlhf6ok2X0+lhWovcIb45KJucUFAQ13w==} + engines: {node: '>= 16.4.0'} + + '@electron-forge/shared-types@7.11.1': + resolution: {integrity: sha512-vvBWdAEh53UJlDGUevpaJk1+sqDMQibfrbHR+0IPA4MPyQex7/Uhv3vYH9oGHujBVAChQahjAuJt0fG6IJBLZg==} + engines: {node: '>= 16.4.0'} + + '@electron-forge/template-base@7.11.1': + resolution: {integrity: sha512-XpTaEf+EfQw+0BlSAtSpZKYIKYvKu4raNzSGHZZoSYHp+HDC7R+MlpFQmSJiGdYQzQ14C+uxO42tVjgM0DMbpw==} + engines: {node: '>= 16.4.0'} + + '@electron-forge/template-vite-typescript@7.11.1': + resolution: {integrity: sha512-Us4AHXFb+4z+gXgZImSqMBS63oKnsQWLOhqRg321xiDzu2UcQPlwgWNb4rAEKNVC1e7LXrUNDHuBiTrQkvWXbg==} + engines: {node: '>= 16.4.0'} + + '@electron-forge/template-vite@7.11.1': + resolution: {integrity: sha512-Or8Lxf4awoeUZoMTKJEw5KQDIhqOFs24WhVka3yZXxc6VgVWN79KmYKYM6uM/YMQttmafhsBhY2t1Lxo1WR/ug==} + engines: {node: '>= 16.4.0'} + + '@electron-forge/template-webpack-typescript@7.11.1': + resolution: {integrity: sha512-6ExfFnFkHBz8rvRFTFg5HVGTC12uJpbVk4q8DVg0R8rhhxhqiVNh8lF2UPtZ2yT2UtGWjXNVlyP3Y3T6q6E3GQ==} + engines: {node: '>= 16.4.0'} + + '@electron-forge/template-webpack@7.11.1': + resolution: {integrity: sha512-15lbXxi+er461MPk6sbwAOyjofAHwmQjTvxNCiNpaU2naEwbj3t0SlLq/BMr5HxnVOaMmA7+lKV9afkIom+d4Q==} + engines: {node: '>= 16.4.0'} + + '@electron-forge/tracer@7.11.1': + resolution: {integrity: sha512-tiB6cglVQFcSw9N8GRwVwZUeB9u0DOx2Mj7aFXBUsFLUYQapvVGv51tUSy/UAW5lvmubGscYIILuVko+II3+NA==} + engines: {node: '>= 14.17.5'} + + '@electron/asar@3.4.1': + resolution: {integrity: sha512-i4/rNPRS84t0vSRa2HorerGRXWyF4vThfHesw0dmcWHp+cspK743UanA0suA5Q5y8kzY2y6YKrvbIUn69BCAiA==} + engines: {node: '>=10.12.0'} + hasBin: true + '@electron/get@2.0.3': resolution: {integrity: sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==} engines: {node: '>=12'} + '@electron/get@3.1.0': + resolution: {integrity: sha512-F+nKc0xW+kVbBRhFzaMgPy3KwmuNTYX1fx6+FxxoSnNgwYX6LD7AKBTWkU0MQ6IBoe7dz069CNkR673sPAgkCQ==} + engines: {node: '>=14'} + + '@electron/node-gyp@https://codeload.github.com/electron/node-gyp/tar.gz/06b29aafb7708acef8b3669835c8a7857ebc92d2': + resolution: {tarball: https://codeload.github.com/electron/node-gyp/tar.gz/06b29aafb7708acef8b3669835c8a7857ebc92d2} + version: 10.2.0-electron.1 + engines: {node: '>=12.13.0'} + hasBin: true + + '@electron/notarize@2.5.0': + resolution: {integrity: sha512-jNT8nwH1f9X5GEITXaQ8IF/KdskvIkOFfB2CvwumsveVidzpSc+mvhhTMdAGSYF3O+Nq49lJ7y+ssODRXu06+A==} + engines: {node: '>= 10.0.0'} + + '@electron/osx-sign@1.3.3': + resolution: {integrity: sha512-KZ8mhXvWv2rIEgMbWZ4y33bDHyUKMXnx4M0sTyPNK/vcB81ImdeY9Ggdqy0SWbMDgmbqyQ+phgejh6V3R2QuSg==} + engines: {node: '>=12.0.0'} + hasBin: true + + '@electron/packager@18.4.4': + resolution: {integrity: sha512-fTUCmgL25WXTcFpM1M72VmFP8w3E4d+KNzWxmTDRpvwkfn/S206MAtM2cy0GF78KS9AwASMOUmlOIzCHeNxcGQ==} + engines: {node: '>= 16.13.0'} + hasBin: true + + '@electron/rebuild@3.7.2': + resolution: {integrity: sha512-19/KbIR/DAxbsCkiaGMXIdPnMCJLkcf8AvGnduJtWBs/CBwiAjY1apCqOLVxrXg+rtXFCngbXhBanWjxLUt1Mg==} + engines: {node: '>=12.13.0'} + hasBin: true + + '@electron/universal@2.0.3': + resolution: {integrity: sha512-Wn9sPYIVFRFl5HmwMJkARCCf7rqK/EurkfQ/rJZ14mHP3iYTjZSIOSVonEAnhWeAXwtw7zOekGRlc6yTtZ0t+g==} + engines: {node: '>=16.4'} + + '@electron/windows-sign@1.2.2': + resolution: {integrity: sha512-dfZeox66AvdPtb2lD8OsIIQh12Tp0GNCRUDfBHIKGpbmopZto2/A8nSpYYLoedPIHpqkeblZ/k8OV0Gy7PYuyQ==} + engines: {node: '>=14.14'} + hasBin: true + '@esbuild/aix-ppc64@0.24.2': resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} engines: {node: '>=18'} @@ -822,6 +952,9 @@ packages: '@floating-ui/utils@0.2.10': resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==} + '@gar/promisify@1.1.3': + resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} + '@google-cloud/local-auth@3.0.1': resolution: {integrity: sha512-YJ3GFbksfHyEarbVHPSCzhKpjbnlAhdzg2SEf79l6ODukrSM1qUOqfopY232Xkw26huKSndyzmJz+A6b2WYn7Q==} engines: {node: '>=14.0.0'} @@ -874,6 +1007,66 @@ packages: '@iconify/utils@3.1.0': resolution: {integrity: sha512-Zlzem1ZXhI1iHeeERabLNzBHdOa4VhQbqAcOQaMKuTuyZCpwKbC2R4Dd0Zo3g9EAc+Y4fiarO8HIHRAth7+skw==} + '@inquirer/checkbox@3.0.1': + resolution: {integrity: sha512-0hm2nrToWUdD6/UHnel/UKGdk1//ke5zGUpHIvk5ZWmaKezlGxZkOJXNSWsdxO/rEqTkbB3lNC2J6nBElV2aAQ==} + engines: {node: '>=18'} + + '@inquirer/confirm@4.0.1': + resolution: {integrity: sha512-46yL28o2NJ9doViqOy0VDcoTzng7rAb6yPQKU7VDLqkmbCaH4JqK4yk4XqlzNWy9PVC5pG1ZUXPBQv+VqnYs2w==} + engines: {node: '>=18'} + + '@inquirer/core@9.2.1': + resolution: {integrity: sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==} + engines: {node: '>=18'} + + '@inquirer/editor@3.0.1': + resolution: {integrity: sha512-VA96GPFaSOVudjKFraokEEmUQg/Lub6OXvbIEZU1SDCmBzRkHGhxoFAVaF30nyiB4m5cEbDgiI2QRacXZ2hw9Q==} + engines: {node: '>=18'} + + '@inquirer/expand@3.0.1': + resolution: {integrity: sha512-ToG8d6RIbnVpbdPdiN7BCxZGiHOTomOX94C2FaT5KOHupV40tKEDozp12res6cMIfRKrXLJyexAZhWVHgbALSQ==} + engines: {node: '>=18'} + + '@inquirer/figures@1.0.15': + resolution: {integrity: sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==} + engines: {node: '>=18'} + + '@inquirer/input@3.0.1': + resolution: {integrity: sha512-BDuPBmpvi8eMCxqC5iacloWqv+5tQSJlUafYWUe31ow1BVXjW2a5qe3dh4X/Z25Wp22RwvcaLCc2siHobEOfzg==} + engines: {node: '>=18'} + + '@inquirer/number@2.0.1': + resolution: {integrity: sha512-QpR8jPhRjSmlr/mD2cw3IR8HRO7lSVOnqUvQa8scv1Lsr3xoAMMworcYW3J13z3ppjBFBD2ef1Ci6AE5Qn8goQ==} + engines: {node: '>=18'} + + '@inquirer/password@3.0.1': + resolution: {integrity: sha512-haoeEPUisD1NeE2IanLOiFr4wcTXGWrBOyAyPZi1FfLJuXOzNmxCJPgUrGYKVh+Y8hfGJenIfz5Wb/DkE9KkMQ==} + engines: {node: '>=18'} + + '@inquirer/prompts@6.0.1': + resolution: {integrity: sha512-yl43JD/86CIj3Mz5mvvLJqAOfIup7ncxfJ0Btnl0/v5TouVUyeEdcpknfgc+yMevS/48oH9WAkkw93m7otLb/A==} + engines: {node: '>=18'} + + '@inquirer/rawlist@3.0.1': + resolution: {integrity: sha512-VgRtFIwZInUzTiPLSfDXK5jLrnpkuSOh1ctfaoygKAdPqjcjKYmGh6sCY1pb0aGnCGsmhUxoqLDUAU0ud+lGXQ==} + engines: {node: '>=18'} + + '@inquirer/search@2.0.1': + resolution: {integrity: sha512-r5hBKZk3g5MkIzLVoSgE4evypGqtOannnB3PKTG9NRZxyFRKcfzrdxXXPcoJQsxJPzvdSU2Rn7pB7lw0GCmGAg==} + engines: {node: '>=18'} + + '@inquirer/select@3.0.1': + resolution: {integrity: sha512-lUDGUxPhdWMkN/fHy1Lk7pF3nK1fh/gqeyWXmctefhxLYxlDsc7vsPBEpxrfVGDsVdyYJsiJoD4bJ1b623cV1Q==} + engines: {node: '>=18'} + + '@inquirer/type@1.5.5': + resolution: {integrity: sha512-MzICLu4yS7V8AA61sANROZ9vT1H3ooca5dSmI1FjZkzq7o/koMsRfQSzRtFo+F3Ao4Sf1C0bpLKejpKB/+j6MA==} + engines: {node: '>=18'} + + '@inquirer/type@2.0.0': + resolution: {integrity: sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==} + engines: {node: '>=18'} + '@isaacs/balanced-match@4.0.1': resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} engines: {node: 20 || >=22} @@ -896,12 +1089,29 @@ packages: resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} + '@jridgewell/source-map@0.3.11': + resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==} + '@jridgewell/sourcemap-codec@1.5.5': resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + '@listr2/prompt-adapter-inquirer@2.0.22': + resolution: {integrity: sha512-hV36ZoY+xKL6pYOt1nPNnkciFkn89KZwqLhAFzJvYysAvL5uBQdiADZx/8bIDXIukzzwG0QlPYolgMzQUtKgpQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@inquirer/prompts': '>= 3 < 8' + + '@malept/cross-spawn-promise@1.1.1': + resolution: {integrity: sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==} + engines: {node: '>= 10'} + + '@malept/cross-spawn-promise@2.0.0': + resolution: {integrity: sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==} + engines: {node: '>= 12.13.0'} + '@mermaid-js/parser@0.6.3': resolution: {integrity: sha512-lnjOhe7zyHjc+If7yT4zoedx2vo4sHaTmtkl1+or8BRTnCtDmcTpAjpzDSfCZrshM5bCoz0GyidzadJAH1xobA==} @@ -927,6 +1137,15 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} + '@npmcli/fs@2.1.2': + resolution: {integrity: sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + + '@npmcli/move-file@2.0.1': + resolution: {integrity: sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This functionality has been moved to @npmcli/fs + '@openrouter/ai-sdk-provider@1.5.4': resolution: {integrity: sha512-xrSQPUIH8n9zuyYZR0XK7Ba0h2KsjJcMkxnwaYfmv13pKs3sDkjPzVPPhlhzqBGddHb5cFEwJ9VFuFeDcxCDSw==} engines: {node: '>=18'} @@ -1846,6 +2065,13 @@ packages: '@tokenlens/models@1.3.0': resolution: {integrity: sha512-9mx7ZGeewW4ndXAiD7AT1bbCk4OpJeortbjHHyNkgap+pMPPn1chY6R5zqe1ggXIUzZ2l8VOAKfPqOvpcrisJw==} + '@tootallnate/once@2.0.0': + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} + + '@types/appdmg@0.5.5': + resolution: {integrity: sha512-G+n6DgZTZFOteITE30LnWj+HRVIGr7wMlAiLWOO02uJFWVEitaPU9JVXm9wJokkgshBawb2O1OykdcsmkkZfgg==} + '@types/babel__core@7.20.5': resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} @@ -1957,12 +2183,21 @@ packages: '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + '@types/eslint-scope@3.7.7': + resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} + + '@types/eslint@9.6.1': + resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} + '@types/estree-jsx@1.0.5': resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + '@types/fs-extra@9.0.13': + resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} + '@types/geojson@7946.0.16': resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==} @@ -2005,6 +2240,9 @@ packages: '@types/ms@2.1.0': resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} + '@types/mute-stream@0.0.4': + resolution: {integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==} + '@types/node@22.19.3': resolution: {integrity: sha512-1N9SBnWYOJTrNZCdh/yJE+t910Y128BoyY+zBLWhL3r0TYzlTmFdXrPwHL9DyFZmlEXNQQolTZh3KHV31QDhyA==} @@ -2037,6 +2275,9 @@ packages: '@types/use-sync-external-store@0.0.6': resolution: {integrity: sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==} + '@types/wrap-ansi@3.0.0': + resolution: {integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==} + '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} @@ -2112,10 +2353,77 @@ packages: peerDependencies: vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 + '@vscode/sudo-prompt@9.3.2': + resolution: {integrity: sha512-gcXoCN00METUNFeQOFJ+C9xUI0DKB+0EGMVg7wbVYRHBw2Eq3fKisDZOkRdOz3kqXRKOENMfShPOmypw1/8nOw==} + + '@webassemblyjs/ast@1.14.1': + resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} + + '@webassemblyjs/floating-point-hex-parser@1.13.2': + resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==} + + '@webassemblyjs/helper-api-error@1.13.2': + resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==} + + '@webassemblyjs/helper-buffer@1.14.1': + resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==} + + '@webassemblyjs/helper-numbers@1.13.2': + resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==} + + '@webassemblyjs/helper-wasm-bytecode@1.13.2': + resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==} + + '@webassemblyjs/helper-wasm-section@1.14.1': + resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==} + + '@webassemblyjs/ieee754@1.13.2': + resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==} + + '@webassemblyjs/leb128@1.13.2': + resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==} + + '@webassemblyjs/utf8@1.13.2': + resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==} + + '@webassemblyjs/wasm-edit@1.14.1': + resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==} + + '@webassemblyjs/wasm-gen@1.14.1': + resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==} + + '@webassemblyjs/wasm-opt@1.14.1': + resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==} + + '@webassemblyjs/wasm-parser@1.14.1': + resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==} + + '@webassemblyjs/wast-printer@1.14.1': + resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} + + '@xmldom/xmldom@0.8.11': + resolution: {integrity: sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw==} + engines: {node: '>=10.0.0'} + + '@xtuc/ieee754@1.2.0': + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + + '@xtuc/long@4.2.2': + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + + abbrev@1.1.1: + resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} + accepts@2.0.0: resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==} engines: {node: '>= 0.6'} + acorn-import-phases@1.0.4: + resolution: {integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==} + engines: {node: '>=10.13.0'} + peerDependencies: + acorn: ^8.14.0 + acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -2126,16 +2434,36 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + agent-base@7.1.4: resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} engines: {node: '>= 14'} + agentkeepalive@4.6.0: + resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==} + engines: {node: '>= 8.0.0'} + + aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + ai@5.0.117: resolution: {integrity: sha512-uE6HNkdSwxbeHGKP/YbvapwD8fMOpj87wyfT9Z00pbzOh2fpnw5acak/4kzU00SX2vtI9K0uuy+9Tf9ytw5RwA==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 + ajv-formats@2.1.1: + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + ajv-formats@3.0.1: resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} peerDependencies: @@ -2144,12 +2472,25 @@ packages: ajv: optional: true + ajv-keywords@5.1.0: + resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} + peerDependencies: + ajv: ^8.8.2 + ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} ajv@8.17.1: resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + + ansi-escapes@5.0.0: + resolution: {integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==} + engines: {node: '>=12'} + ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -2166,6 +2507,12 @@ packages: resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} engines: {node: '>=12'} + appdmg@0.6.6: + resolution: {integrity: sha512-GRmFKlCG+PWbcYF4LUNonTYmy0GjguDy6Jh9WP8mpd0T6j80XIJyXBiWlD0U+MLNhqV9Nhx49Gl9GpVToulpLg==} + engines: {node: '>=8.5'} + os: [darwin] + hasBin: true + argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} @@ -2177,9 +2524,20 @@ packages: resolution: {integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==} engines: {node: '>=8'} + async@1.5.2: + resolution: {integrity: sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==} + asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + at-least-node@1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} + + author-regex@1.0.0: + resolution: {integrity: sha512-KbWgR8wOYRAPekEmMXrYYdc7BRyhn2Ftk7KWfMUnQ43hFdojWEFRxhhRUm3/OFEdPa1r0KAvTTg9YQK57xTe0g==} + engines: {node: '>=0.8'} + awilix@12.0.5: resolution: {integrity: sha512-Qf/V/hRo6DK0FoBKJ9QiObasRxHAhcNi0mV6kW2JMawxS3zq6Un+VsZmVAZDUfvB+MjTEiJ2tUJUl4cr0JiUAw==} engines: {node: '>=16.3.0'} @@ -2193,6 +2551,9 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + base32-encode@1.2.0: + resolution: {integrity: sha512-cHFU8XeRyx0GgmoWi5qHMCVRiqU6J3MHWxVgun7jggCBUpVzm1Ir7M9dYr2whjSNc3tFeXfQ/oZjQu/4u55h9A==} + base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} @@ -2203,6 +2564,12 @@ packages: bignumber.js@9.3.1: resolution: {integrity: sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==} + bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + + bluebird@3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + body-parser@2.2.1: resolution: {integrity: sha512-nfDwkulwiZYQIGwxdy0RUmowMhKcFVcYXUU7m4QlKYim1rUtg83xm2yjZ40QjDuc291AJjjeSc9b++AWHSgSHw==} engines: {node: '>=18'} @@ -2214,6 +2581,9 @@ packages: resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + bplist-creator@0.0.8: + resolution: {integrity: sha512-Za9JKzD6fjLC16oX2wsXfc+qBEhJBJB1YPInoAQpMLhDuj5aVOv1baGeIQSq1Fr3OCqzvsoQcSBSwGId/Ja2PA==} + brace-expansion@1.1.12: resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} @@ -2235,10 +2605,20 @@ packages: buffer-equal-constant-time@1.0.1: resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + bytes@3.1.2: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} + cacache@16.1.3: + resolution: {integrity: sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + cacheable-lookup@5.0.4: resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} engines: {node: '>=10.6.0'} @@ -2284,6 +2664,9 @@ packages: character-reference-invalid@2.0.1: resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} + chardet@0.7.0: + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + chevrotain-allstar@0.3.1: resolution: {integrity: sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==} peerDependencies: @@ -2296,9 +2679,44 @@ packages: resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} + chownr@2.0.0: + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} + + chrome-trace-event@1.0.4: + resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} + engines: {node: '>=6.0'} + class-variance-authority@0.7.1: resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==} + clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + + cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + + cli-cursor@4.0.0: + resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} + + cli-truncate@3.1.0: + resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + cli-width@4.1.0: + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} + engines: {node: '>= 12'} + + cliui@7.0.4: + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} @@ -2306,6 +2724,10 @@ packages: clone-response@1.0.3: resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} + clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + clsx@2.1.1: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} @@ -2316,6 +2738,9 @@ packages: react: ^18 || ^19 || ^19.0.0-rc react-dom: ^18 || ^19 || ^19.0.0-rc + color-convert@0.5.3: + resolution: {integrity: sha512-RwBeO/B/vZR3dfKL1ye/vx8MHZ40ugzpyfeVG5GsiuGnrlMWe2o8wxBbLCpw9CsxV+wHuzYlCiWnybrIA0ling==} + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} @@ -2323,6 +2748,9 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} @@ -2330,6 +2758,17 @@ packages: comma-separated-tokens@2.0.3: resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + commander@11.1.0: + resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} + engines: {node: '>=16'} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + commander@5.1.0: + resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} + engines: {node: '>= 6'} + commander@7.2.0: resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} engines: {node: '>= 10'} @@ -2338,6 +2777,14 @@ packages: resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} engines: {node: '>= 12'} + commander@9.5.0: + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} + engines: {node: ^12.20.0 || >=14} + + compare-version@0.1.2: + resolution: {integrity: sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==} + engines: {node: '>=0.10.0'} + concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -2381,10 +2828,21 @@ packages: crelt@1.0.6: resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==} + cross-dirname@0.1.0: + resolution: {integrity: sha512-+R08/oI0nl3vfPcqftZRpytksBXDzOUveBq/NBVx0sUp1axwzPQrKinNx5yd5sxPu8j1wIy8AfnVQ+5eFdha6Q==} + + cross-spawn@6.0.6: + resolution: {integrity: sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==} + engines: {node: '>=4.8'} + cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} + cross-zip@4.0.1: + resolution: {integrity: sha512-n63i0lZ0rvQ6FXiGQ+/JFCKAUyPFhLQYJIqKaa+tSJtfKeULF/IDNDAbdnSIxgS4NTuw2b0+lj8LzfITuq+ZxQ==} + engines: {node: '>=12.10'} + css-select@5.2.2: resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} @@ -2558,6 +3016,14 @@ packages: dayjs@1.11.19: resolution: {integrity: sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==} + debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + debug@4.4.3: resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} engines: {node: '>=6.0'} @@ -2577,6 +3043,9 @@ packages: deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + defer-to-connect@2.0.1: resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} engines: {node: '>=10'} @@ -2617,6 +3086,9 @@ packages: devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + dir-compare@4.2.0: + resolution: {integrity: sha512-2xMCmOoMrdQIPHdsTawECdNPwlVFB9zGcz3kuhmBO6U3oU+UQjsue0i8ayLKpgBcm+hcXPMVSGUN9d+pvJ6+VQ==} + dom-serializer@2.0.0: resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} @@ -2633,6 +3105,9 @@ packages: domutils@3.2.2: resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} + ds-store@0.1.6: + resolution: {integrity: sha512-kY21M6Lz+76OS3bnCzjdsJSF7LBpLYGCVfavW8TgQD2XkcqIZ86W0y9qUDZu6fp7SIZzqosMDW2zi7zVFfv4hw==} + dunder-proto@1.0.1: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} @@ -2646,9 +3121,28 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + electron-installer-common@0.10.4: + resolution: {integrity: sha512-8gMNPXfAqUE5CfXg8RL0vXpLE9HAaPkgLXVoHE3BMUzogMWenf4LmwQ27BdCUrEhkjrKl+igs2IHJibclR3z3Q==} + engines: {node: '>= 10.0.0'} + + electron-installer-debian@3.2.0: + resolution: {integrity: sha512-58ZrlJ1HQY80VucsEIG9tQ//HrTlG6sfofA3nRGr6TmkX661uJyu4cMPPh6kXW+aHdq/7+q25KyQhDrXvRL7jw==} + engines: {node: '>= 10.0.0'} + os: [darwin, linux] + hasBin: true + + electron-installer-dmg@5.0.1: + resolution: {integrity: sha512-qOa1aAQdX57C+vzhDk3549dd/PRlNL4F8y736MTD1a43qptD+PvHY97Bo9gSf+OZ8iUWE7BrYSpk/FgLUe40EA==} + engines: {node: '>= 16'} + hasBin: true + electron-to-chromium@1.5.267: resolution: {integrity: sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==} + electron-winstaller@5.4.0: + resolution: {integrity: sha512-bO3y10YikuUwUuDUQRM4KfwNkKhnpVO7IPdbsrejwN9/AABJzzTQ4GeHwyzNSrVO+tEH3/Np255a3sVZpZDjvg==} + engines: {node: '>=8.0.0'} + electron@39.2.7: resolution: {integrity: sha512-KU0uFS6LSTh4aOIC3miolcbizOFP7N1M46VTYVfqIgFiuA2ilfNaOHLDS9tCMvwwHRowAsvqBrh9NgMXcTOHCQ==} engines: {node: '>= 12.20.55'} @@ -2660,10 +3154,16 @@ packages: emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + encode-utf8@1.0.3: + resolution: {integrity: sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==} + encodeurl@2.0.0: resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} engines: {node: '>= 0.8'} + encoding@0.1.13: + resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} + end-of-stream@1.4.5: resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} @@ -2683,6 +3183,12 @@ packages: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} + err-code@2.0.3: + resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} + + error-ex@1.3.4: + resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} + es-define-property@1.0.1: resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} engines: {node: '>= 0.4'} @@ -2691,6 +3197,9 @@ packages: resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} engines: {node: '>= 0.4'} + es-module-lexer@2.0.0: + resolution: {integrity: sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==} + es-object-atoms@1.1.1: resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} engines: {node: '>= 0.4'} @@ -2719,6 +3228,10 @@ packages: escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} @@ -2738,6 +3251,10 @@ packages: peerDependencies: eslint: '>=8.40' + eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + eslint-scope@8.4.0: resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2772,6 +3289,10 @@ packages: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} engines: {node: '>=4.0'} + estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} @@ -2787,6 +3308,13 @@ packages: resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} engines: {node: '>= 0.6'} + eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + + events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + eventsource-parser@3.0.6: resolution: {integrity: sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==} engines: {node: '>=18.0.0'} @@ -2795,6 +3323,13 @@ packages: resolution: {integrity: sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==} engines: {node: '>=18.0.0'} + execa@1.0.0: + resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} + engines: {node: '>=6'} + + exponential-backoff@3.1.3: + resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==} + express-rate-limit@7.5.1: resolution: {integrity: sha512-7iN8iPMDzOMHPUYllBEsQdWVB6fPDMPqwjBaFrgr4Jgr/+okjvzAy+UHlYYL/Vs0OsOrMkwS6PJDkFlJwoxUnw==} engines: {node: '>= 16'} @@ -2808,6 +3343,10 @@ packages: extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + external-editor@3.1.0: + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} + extract-zip@2.0.1: resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} engines: {node: '>= 10.17.0'} @@ -2856,6 +3395,14 @@ packages: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} + filename-reserved-regex@2.0.0: + resolution: {integrity: sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==} + engines: {node: '>=4'} + + filenamify@4.3.0: + resolution: {integrity: sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==} + engines: {node: '>=8'} + fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} @@ -2864,6 +3411,10 @@ packages: resolution: {integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==} engines: {node: '>= 18.0.0'} + find-up@2.1.0: + resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} + engines: {node: '>=4'} + find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} @@ -2875,6 +3426,13 @@ packages: flatted@3.3.3: resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} + flora-colossus@2.0.0: + resolution: {integrity: sha512-dz4HxH6pOvbUzZpZ/yXhafjbR2I8cenK5xL0KtBFb7U2ADsR+OwXifnxZjij/pZWF775uSCMzWVd+jDik2H2IA==} + engines: {node: '>= 12'} + + fmix@0.1.0: + resolution: {integrity: sha512-Y6hyofImk9JdzU8k5INtTXX1cu8LDlePWDFU5sftm9H+zKCr5SGrVjdhkvsim646cw5zD0nADj8oHyXMZmCZ9w==} + follow-redirects@1.15.11: resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==} engines: {node: '>=4.0'} @@ -2918,10 +3476,41 @@ packages: resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} engines: {node: '>= 0.8'} + fs-extra@10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + + fs-extra@11.3.3: + resolution: {integrity: sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==} + engines: {node: '>=14.14'} + + fs-extra@7.0.1: + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} + fs-extra@8.1.0: resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} engines: {node: '>=6 <7 || >=8'} + fs-extra@9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} + + fs-minipass@2.1.0: + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} + + fs-temp@1.2.1: + resolution: {integrity: sha512-okTwLB7/Qsq82G6iN5zZJFsOfZtx2/pqrA7Hk/9fvy+c+eJS9CvgGXT2uNxwnI14BDY9L/jQPkaBgSvlKfSW9w==} + + fs-xattr@0.3.1: + resolution: {integrity: sha512-UVqkrEW0GfDabw4C3HOrFlxKfx0eeigfRne69FxSBdHIP8Qt5Sq6Pu3RM9KmMlkygtC4pPKkj5CiPO5USnj2GA==} + engines: {node: '>=8.6.0'} + os: ['!win32'] + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -2930,6 +3519,14 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + galactus@1.0.0: + resolution: {integrity: sha512-R1fam6D4CyKQGNlvJne4dkNF+PvUUl7TAJInvTGa9fti9qAv95quQz29GXapA4d8Ec266mJJxFVh82M4GIIGDQ==} + engines: {node: '>= 12'} + + gar@1.0.4: + resolution: {integrity: sha512-w4n9cPWyP7aHxKxYHFQMegj7WIAsL/YX/C4Bs5Rr8s1H9M1rNtRWRsw+ovYMkXDQ5S4ZbYHsHAPmevPjPgw44w==} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + gaxios@6.7.1: resolution: {integrity: sha512-LDODD4TMYx7XXdpwxAVRAIAuB0bzv0s+ywFonY46k126qzQHT9ygyoa9tncmOiQmmDrik65UYsEkv3lbfqQ3yQ==} engines: {node: '>=14'} @@ -2946,6 +3543,12 @@ packages: resolution: {integrity: sha512-zV/5HKTfCeKWnxG0Dmrw51hEWFGfcF2xiXqcA3+J90WDuP0SvoiSO5ORvcBsifmx/FoIjgQN3oNOGaQ5PhLFkg==} engines: {node: '>=18'} + generate-function@2.3.1: + resolution: {integrity: sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==} + + generate-object-property@1.2.0: + resolution: {integrity: sha512-TuOwZWgJ2VAMEGJvAyPWvpqxSANF0LDpmyHauMjFYzaACvn+QTT/AZomvPCzVBV7yDN3OmwHQ5OvHaeLKre3JQ==} + gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} @@ -2958,6 +3561,10 @@ packages: resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==} engines: {node: '>=18'} + get-folder-size@2.0.1: + resolution: {integrity: sha512-+CEb+GDCM7tkOS2wdMKTn9vU7DgnKUTuDlehkNJKNSovdCOVxs14OfKCk4cvSaR3za4gj+OBdl9opPN9xrJ0zA==} + hasBin: true + get-intrinsic@1.3.0: resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} engines: {node: '>= 0.4'} @@ -2966,10 +3573,18 @@ packages: resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} engines: {node: '>=6'} + get-package-info@1.0.0: + resolution: {integrity: sha512-SCbprXGAPdIhKAXiG+Mk6yeoFH61JlYunqdFQFHDtLjJlDjFf6x07dsS8acO+xWt52jpdVo49AlVDnUVK1sDNw==} + engines: {node: '>= 4.0'} + get-proto@1.0.1: resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} engines: {node: '>= 0.4'} + get-stream@4.1.0: + resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} + engines: {node: '>=6'} + get-stream@5.2.0: resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} engines: {node: '>=8'} @@ -2982,6 +3597,9 @@ packages: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} + glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + glob@10.5.0: resolution: {integrity: sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==} hasBin: true @@ -2990,10 +3608,23 @@ packages: resolution: {integrity: sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==} engines: {node: 20 || >=22} + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + + glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + deprecated: Glob versions prior to v9 are no longer supported + global-agent@3.0.0: resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==} engines: {node: '>=10.0'} + global-dirs@3.0.1: + resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} + engines: {node: '>=10'} + globals@14.0.0: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} @@ -3128,6 +3759,9 @@ packages: resolution: {integrity: sha512-PmQi306+M/ct/m5s66Hrg+adPnkD5jiO6IjA7WhWw0gSBSo1EcRegwuI1deZ+wd5pzCGynCcn2DprnE4/yEV4w==} engines: {node: '>=16.9.0'} + hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + html-url-attributes@3.0.1: resolution: {integrity: sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==} @@ -3141,14 +3775,29 @@ packages: resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} engines: {node: '>= 0.8'} + http-proxy-agent@5.0.0: + resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} + engines: {node: '>= 6'} + http2-wrapper@1.0.3: resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} engines: {node: '>=10.19.0'} + https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + https-proxy-agent@7.0.6: resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} engines: {node: '>= 14'} + humanize-ms@1.2.1: + resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} + + iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} @@ -3157,6 +3806,9 @@ packages: resolution: {integrity: sha512-2Tth85cXwGFHfvRgZWszZSvdo+0Xsqmw8k8ZwxScfcBneNUraK+dxRxRm24nszx80Y0TVio8kKLt5sLE7ZCLlw==} engines: {node: '>=0.10.0'} + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} @@ -3165,17 +3817,41 @@ packages: resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} engines: {node: '>= 4'} + image-size@0.7.5: + resolution: {integrity: sha512-Hiyv+mXHfFEP7LzUL/llg9RwFxxY+o9N3JVLIeG5E7iFIFAalxvRU9UZthBdYDEVnzHMgjnKJPPpay5BWf1g9g==} + engines: {node: '>=6.9.0'} + hasBin: true + import-fresh@3.3.1: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} + imul@1.0.1: + resolution: {integrity: sha512-WFAgfwPLAjU66EKt6vRdTlKj4nAgIDQzh29JonLa4Bqtl6D8JrIMvWjCnx7xEjVNmP3U0fM5o8ZObk7d0f62bA==} + engines: {node: '>=0.10.0'} + imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + infer-owner@1.0.4: + resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + ini@2.0.0: + resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} + engines: {node: '>=10'} + inline-style-parser@0.2.7: resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==} @@ -3186,6 +3862,14 @@ packages: resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} engines: {node: '>=12'} + interpret@3.1.1: + resolution: {integrity: sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==} + engines: {node: '>=10.13.0'} + + ip-address@10.1.0: + resolution: {integrity: sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==} + engines: {node: '>= 12'} + ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} @@ -3196,6 +3880,13 @@ packages: is-alphanumerical@2.0.1: resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} + is-decimal@2.0.1: resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} @@ -3212,6 +3903,10 @@ packages: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} + is-fullwidth-code-point@4.0.0: + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} + is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -3219,6 +3914,19 @@ packages: is-hexadecimal@2.0.1: resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} + is-interactive@1.0.0: + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} + + is-lambda@1.0.1: + resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} + + is-my-ip-valid@1.0.1: + resolution: {integrity: sha512-jxc8cBcOWbNK2i2aTkCZP6i7wkHF1bqKFrwEHuN5Jtg5BSaZHUZQ/JTOJwoV41YvHnOaRyWWh72T/KvfNz9DJg==} + + is-my-json-valid@2.20.6: + resolution: {integrity: sha512-1JQwulVNjx8UqkPE/bqDaxtH4PXCe/2VRh/y3p99heOV87HG4Id5/VfDswd+YiAfHcRTfDlWgISycnHuhZq1aw==} + is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} @@ -3230,20 +3938,39 @@ packages: is-promise@4.0.0: resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} + is-property@1.0.2: + resolution: {integrity: sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==} + + is-stream@1.1.0: + resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} + engines: {node: '>=0.10.0'} + is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} + is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + is-wsl@2.2.0: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} + isbinaryfile@4.0.10: + resolution: {integrity: sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==} + engines: {node: '>= 8.0.0'} + isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} jackspeak@3.4.3: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + jiti@2.6.1: resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} hasBin: true @@ -3273,6 +4000,9 @@ packages: json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} @@ -3299,6 +4029,17 @@ packages: jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + jsonfile@6.2.0: + resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} + + jsonpointer@5.0.1: + resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} + engines: {node: '>=0.10.0'} + + junk@3.1.0: + resolution: {integrity: sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==} + engines: {node: '>=8'} + jwa@2.0.1: resolution: {integrity: sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==} @@ -3405,6 +4146,22 @@ packages: linkifyjs@4.3.2: resolution: {integrity: sha512-NT1CJtq3hHIreOianA8aSXn6Cw0JzYOuDQbOrSPe7gqFnCpKP++MQe3ODgO3oh2GJFORkAAdqredOa60z63GbA==} + listr2@7.0.2: + resolution: {integrity: sha512-rJysbR9GKIalhTbVL2tYbF2hVyDnrf7pFUZBwjPaMIdadYHmeT+EVi/Bu3qd7ETQPahTotg2WRCatXwRBW554g==} + engines: {node: '>=16.0.0'} + + load-json-file@2.0.0: + resolution: {integrity: sha512-3p6ZOGNbiX4CdvEd1VcE6yi78UrGNpjHO33noGwHCnT/o2fyllJDepsm8+mFFv/DvtwFHht5HIHSyOy5a+ChVQ==} + engines: {node: '>=4'} + + loader-runner@4.3.1: + resolution: {integrity: sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==} + engines: {node: '>=6.11.5'} + + locate-path@2.0.0: + resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} + engines: {node: '>=4'} + locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} @@ -3415,12 +4172,24 @@ packages: lodash-es@4.17.22: resolution: {integrity: sha512-XEawp1t0gxSi9x01glktRZ5HDy0HXqrM0x5pXQM98EaI0NxO6jVM7omDOxsuEo5UIASAnm2bRp1Jt/e0a2XU8Q==} + lodash.get@4.4.2: + resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} + deprecated: This package is deprecated. Use the optional chaining (?.) operator instead. + lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + + log-update@5.0.1: + resolution: {integrity: sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + longest-streak@3.1.0: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} @@ -3441,6 +4210,10 @@ packages: lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + lru-cache@7.18.3: + resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} + engines: {node: '>=12'} + lucide-react@0.542.0: resolution: {integrity: sha512-w3hD8/SQB7+lzU2r4VdFyzzOzKnUjTZIF/MQJGSSvni7Llewni4vuViRppfRAa2guOsY5k4jZyxw/i9DQHv+dw==} peerDependencies: @@ -3451,9 +4224,21 @@ packages: peerDependencies: react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 + macos-alias@0.2.12: + resolution: {integrity: sha512-yiLHa7cfJcGRFq4FrR4tMlpNHb4Vy4mWnpajlSSIFM5k4Lv8/7BbbDLzCAVogWNl0LlLhizRp1drXv0hK9h0Yw==} + os: [darwin] + magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + make-fetch-happen@10.2.1: + resolution: {integrity: sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + + map-age-cleaner@0.1.3: + resolution: {integrity: sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==} + engines: {node: '>=6'} + markdown-it-task-lists@2.1.1: resolution: {integrity: sha512-TxFAc76Jnhb2OUu+n3yz9RMu4CwGfaT788br6HhEDlvWfdeJcLUsxk1Hgw2yJio0OXsxv7pyIPmvECY7bMbluA==} @@ -3532,10 +4317,17 @@ packages: resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==} engines: {node: '>= 0.8'} + mem@4.3.0: + resolution: {integrity: sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==} + engines: {node: '>=6'} + merge-descriptors@2.0.0: resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==} engines: {node: '>=18'} + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} @@ -3679,6 +4471,10 @@ packages: resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==} engines: {node: '>=18'} + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + mimic-response@1.0.1: resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} engines: {node: '>=4'} @@ -3694,6 +4490,10 @@ packages: minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + minimatch@9.0.5: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} @@ -3701,10 +4501,51 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + minipass-collect@1.0.2: + resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} + engines: {node: '>= 8'} + + minipass-fetch@2.1.2: + resolution: {integrity: sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + + minipass-flush@1.0.5: + resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} + engines: {node: '>= 8'} + + minipass-pipeline@1.2.4: + resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} + engines: {node: '>=8'} + + minipass-sized@1.0.3: + resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} + engines: {node: '>=8'} + + minipass@3.3.6: + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} + + minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} + minipass@7.1.2: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} + minizlib@2.1.2: + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} + + mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + + mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + mlly@1.8.0: resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} @@ -3728,9 +4569,22 @@ packages: react-dom: optional: true + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + murmur-32@0.2.0: + resolution: {integrity: sha512-ZkcWZudylwF+ir3Ld1n7gL6bI2mQAzXvSobPwVtu8aYi2sbXeipeSkdcanRLzIofLcM5F53lGaKm2dk7orBi7Q==} + + mute-stream@1.0.0: + resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + nan@2.24.0: + resolution: {integrity: sha512-Vpf9qnVW1RaDkoNKFUvfxqAbtI8ncb8OJlqZ9wwpXzWPEsvsB1nvdUi6oYrHIkQ1Y/tMDnr1h4nczS0VB9Xykg==} + nanoid@3.3.11: resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -3744,13 +4598,30 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + negotiator@0.6.4: + resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==} + engines: {node: '>= 0.6'} + negotiator@1.0.0: resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==} engines: {node: '>= 0.6'} + neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + + nice-try@1.0.5: + resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} + no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + node-abi@3.86.0: + resolution: {integrity: sha512-sn9Et4N3ynsetj3spsZR729DVlGH6iBG4RiDMV7HEp3guyOW6W3S0unGpLDxT50mXortGUMax/ykUNQXdqc/Xg==} + engines: {node: '>=10'} + + node-api-version@0.2.1: + resolution: {integrity: sha512-2xP/IGGMmmSQpI1+O/k72jF/ykvZ89JeuKX3TLJAYPDVLUalrshrLHkeVcCCZqG/eEa635cr8IBYzgnDvM2O8Q==} + node-domexception@1.0.0: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} @@ -3779,10 +4650,22 @@ packages: node-releases@2.0.27: resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} + nopt@6.0.0: + resolution: {integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + hasBin: true + + normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + normalize-url@6.1.0: resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} engines: {node: '>=10'} + npm-run-path@2.0.2: + resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} + engines: {node: '>=4'} + nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} @@ -3814,6 +4697,10 @@ packages: once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + oniguruma-parser@0.12.1: resolution: {integrity: sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==} @@ -3831,21 +4718,57 @@ packages: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} + ora@5.4.1: + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} + engines: {node: '>=10'} + orderedmap@2.1.1: resolution: {integrity: sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==} + os-tmpdir@1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + p-cancelable@2.1.1: resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} engines: {node: '>=8'} + p-defer@1.0.0: + resolution: {integrity: sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==} + engines: {node: '>=4'} + + p-finally@1.0.0: + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} + + p-is-promise@2.1.0: + resolution: {integrity: sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==} + engines: {node: '>=6'} + + p-limit@1.3.0: + resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} + engines: {node: '>=4'} + p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} + p-locate@2.0.0: + resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} + engines: {node: '>=4'} + p-locate@5.0.0: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} + p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + + p-try@1.0.0: + resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} + engines: {node: '>=4'} + package-json-from-dist@1.0.1: resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} @@ -3856,9 +4779,20 @@ packages: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} + parse-author@2.0.0: + resolution: {integrity: sha512-yx5DfvkN8JsHL2xk2Os9oTia467qnvRgey4ahSm2X8epehBLx/gWLcy5KI+Y36ful5DzGbCS6RazqZGgy1gHNw==} + engines: {node: '>=0.10.0'} + + parse-color@1.0.0: + resolution: {integrity: sha512-fuDHYgFHJGbpGMgw9skY/bj3HL/Jrn4l/5rSspy00DoT4RyLnDcRvPxdZ+r6OFwIsgAuhDh4I09tAId4mI12bw==} + parse-entities@4.0.2: resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} + parse-json@2.2.0: + resolution: {integrity: sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==} + engines: {node: '>=0.10.0'} + parse5@7.3.0: resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} @@ -3872,14 +4806,29 @@ packages: path-data-parser@0.1.0: resolution: {integrity: sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==} + path-exists@3.0.0: + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} + engines: {node: '>=4'} + path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@2.0.1: + resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} + engines: {node: '>=4'} + path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + path-scurry@1.11.1: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} @@ -3891,9 +4840,17 @@ packages: path-to-regexp@8.3.0: resolution: {integrity: sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==} + path-type@2.0.0: + resolution: {integrity: sha512-dUnb5dXUf+kzhC/W/F4e5/SkluXIFf5VUHolW1Eg1irn1hGWjPGdsRcvYJ1nD6lhk8Ir7VM0bHJKsYTx8Jx9OQ==} + engines: {node: '>=4'} + pathe@2.0.3: resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + pe-library@1.0.1: + resolution: {integrity: sha512-nh39Mo1eGWmZS7y+mK/dQIqg7S1lp38DpRxkyoHf0ZcUs/HDc+yyTjuOtTvSMZHmfSLuSQaX945u05Y2Q6UWZg==} + engines: {node: '>=14', npm: '>=7'} + pend@1.2.0: resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} @@ -3908,6 +4865,10 @@ packages: resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} engines: {node: '>=12'} + pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + pkce-challenge@5.0.1: resolution: {integrity: sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ==} engines: {node: '>=16.20.0'} @@ -3915,6 +4876,10 @@ packages: pkg-types@1.3.1: resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} + plist@3.1.0: + resolution: {integrity: sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==} + engines: {node: '>=10.4.0'} + points-on-curve@0.2.0: resolution: {integrity: sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==} @@ -3925,14 +4890,40 @@ packages: resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} engines: {node: ^10 || ^12 || >=14} + postject@1.0.0-alpha.6: + resolution: {integrity: sha512-b9Eb8h2eVqNE8edvKdwqkrY6O7kAwmI8kcnBv1NScolYJbo59XUF0noFq+lxbC1yN20bmC0WBEbDC5H/7ASb0A==} + engines: {node: '>=14.0.0'} + hasBin: true + prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} + prettier@3.8.0: + resolution: {integrity: sha512-yEPsovQfpxYfgWNhCfECjG5AQaO+K3dp6XERmOepyPDVqcJm+bjyCVO3pmU+nAPe0N5dDvekfGezt/EIiRe1TA==} + engines: {node: '>=14'} + hasBin: true + + proc-log@2.0.1: + resolution: {integrity: sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + progress@2.0.3: resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} engines: {node: '>=0.4.0'} + promise-inflight@1.0.1: + resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} + peerDependencies: + bluebird: '*' + peerDependenciesMeta: + bluebird: + optional: true + + promise-retry@2.0.1: + resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} + engines: {node: '>=10'} + property-information@7.1.0: resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} @@ -4023,6 +5014,12 @@ packages: resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} engines: {node: '>=10'} + random-path@0.1.2: + resolution: {integrity: sha512-4jY0yoEaQ5v9StCl5kZbNIQlg1QheIDBrdkDn53EynpPb9FgO6//p3X/tgMnrC45XN6QZCzU1Xz/+pSSsJBpRw==} + + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} @@ -4074,10 +5071,30 @@ packages: resolution: {integrity: sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==} engines: {node: '>=0.10.0'} + read-binary-file-arch@1.0.6: + resolution: {integrity: sha512-BNg9EN3DD3GsDXX7Aa8O4p92sryjkmzYYgmgTAc6CA4uGLEDzFfxOxugu21akOxpcXHiEgsYkC6nPsQvLLLmEg==} + hasBin: true + + read-pkg-up@2.0.0: + resolution: {integrity: sha512-1orxQfbWGUiTn9XsPlChs6rLie/AV9jwZTGmu2NZw/CUDJQchXJFYE0Fq5j7+n558T1JhDWLdhyd1Zj+wLY//w==} + engines: {node: '>=4'} + + read-pkg@2.0.0: + resolution: {integrity: sha512-eFIBOPW7FGjzBuk3hdXEuNSiTZS/xEMlH49HxMyzb0hyPfu4EhVjT2DH32K1hSSmVq4sebAWnZuuY5auISUTGA==} + engines: {node: '>=4'} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + readdirp@4.1.2: resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} engines: {node: '>= 14.18.0'} + rechoir@0.8.0: + resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==} + engines: {node: '>= 10.13.0'} + regex-recursion@6.0.2: resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==} @@ -4134,6 +5151,10 @@ packages: remend@1.0.1: resolution: {integrity: sha512-152puVH0qMoRJQFnaMG+rVDdf01Jq/CaED+MBuXExurJgdbkLp0c3TIe4R12o28Klx8uyGsjvFNG05aFG69G9w==} + repeat-string@1.6.1: + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} + require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -4142,6 +5163,10 @@ packages: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} + resedit@2.0.3: + resolution: {integrity: sha512-oTeemxwoMuxxTYxXUwjkrOPfngTQehlv0/HoYFNkB4uzsP1Un1A9nI8JQKGOFkxpqkC7qkMs0lUsGrvUlbLNUA==} + engines: {node: '>=14', npm: '>=7'} + resolve-alpn@1.2.1: resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} @@ -4149,13 +5174,43 @@ packages: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} + resolve@1.22.11: + resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} + engines: {node: '>= 0.4'} + hasBin: true + responselike@2.0.1: resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} + restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + + restore-cursor@4.0.0: + resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + retry@0.12.0: + resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} + engines: {node: '>= 4'} + reusify@1.1.0: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + rfdc@1.4.1: + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} + + rimraf@2.6.3: + resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + rimraf@5.0.10: resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==} hasBin: true @@ -4200,9 +5255,17 @@ packages: scheduler@0.27.0: resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} + schema-utils@4.3.3: + resolution: {integrity: sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==} + engines: {node: '>= 10.13.0'} + semver-compare@1.0.0: resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} + semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true @@ -4220,6 +5283,9 @@ packages: resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} engines: {node: '>=10'} + serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + serve-static@2.2.1: resolution: {integrity: sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==} engines: {node: '>= 18'} @@ -4230,10 +5296,18 @@ packages: setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + shebang-command@1.2.0: + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} + engines: {node: '>=0.10.0'} + shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} + shebang-regex@1.0.0: + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} + engines: {node: '>=0.10.0'} + shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} @@ -4261,24 +5335,70 @@ packages: resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} engines: {node: '>= 0.4'} + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} + slice-ansi@5.0.0: + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} + + smart-buffer@4.2.0: + resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} + engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} + + socks-proxy-agent@7.0.0: + resolution: {integrity: sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==} + engines: {node: '>= 10'} + + socks@2.8.7: + resolution: {integrity: sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==} + engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} + source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + + spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + + spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + + spdx-license-ids@3.0.22: + resolution: {integrity: sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==} + sprintf-js@1.1.3: resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} + ssri@9.0.1: + resolution: {integrity: sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + statuses@2.0.2: resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} engines: {node: '>= 0.8'} + stream-buffers@2.2.0: + resolution: {integrity: sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg==} + engines: {node: '>= 0.10.0'} + streamdown@1.6.10: resolution: {integrity: sha512-B4Y3Z/qiXl1Dc+LzAB5c52Cd1QGRiFjaDwP+ERoj1JtCykdRDM8X6HwQnn3YkpkSk0x3R7S/6LrGe1nQiElHQQ==} peerDependencies: @@ -4292,6 +5412,9 @@ packages: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + stringify-entities@4.0.4: resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} @@ -4303,10 +5426,22 @@ packages: resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} engines: {node: '>=12'} + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + + strip-eof@1.0.0: + resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} + engines: {node: '>=0.10.0'} + strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} + strip-outer@1.0.1: + resolution: {integrity: sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==} + engines: {node: '>=0.10.0'} + style-to-js@1.1.21: resolution: {integrity: sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==} @@ -4328,6 +5463,10 @@ packages: resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} engines: {node: '>=10'} + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + tailwind-merge@3.4.0: resolution: {integrity: sha512-uSaO4gnW+b3Y2aWoWfFpX62vn2sR3skfhbjsEnaBI81WD1wBLlHZe5sWf0AqjksNdYTbGBEd0UasQMT3SNV15g==} @@ -4338,6 +5477,38 @@ packages: resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==} engines: {node: '>=6'} + tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} + engines: {node: '>=10'} + + temp@0.9.4: + resolution: {integrity: sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==} + engines: {node: '>=6.0.0'} + + terser-webpack-plugin@5.3.16: + resolution: {integrity: sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + + terser@5.46.0: + resolution: {integrity: sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==} + engines: {node: '>=10'} + hasBin: true + + tiny-each-async@2.0.3: + resolution: {integrity: sha512-5ROII7nElnAirvFn8g7H7MtpfV1daMcyfTGQwsn/x2VtyV+VPiO5CjReCJtWLvoKTDEDmZocf3cNPraiMnBXLA==} + tinyexec@1.0.2: resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==} engines: {node: '>=18'} @@ -4351,6 +5522,24 @@ packages: peerDependencies: '@tiptap/core': ^3.0.1 + tmp-promise@3.0.3: + resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==} + + tmp@0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} + + tmp@0.2.5: + resolution: {integrity: sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==} + engines: {node: '>=14.14'} + + tn1150@0.1.0: + resolution: {integrity: sha512-DbplOfQFkqG5IHcDyyrs/lkvSr3mPUVsFf/RbDppOshs22yTPnSJWEe6FkYd1txAwU/zcnR905ar2fi4kwF29w==} + engines: {node: '>=0.12'} + + to-data-view@1.1.0: + resolution: {integrity: sha512-1eAdufMg6mwgmlojAx3QeMnzB/BTVp7Tbndi3U7ftcT2zCZadjxkkmLmd97zmaxWi+sgGcgWrokmpEoy0Dn0vQ==} + to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -4372,6 +5561,10 @@ packages: trim-lines@3.0.1: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + trim-repeated@1.0.0: + resolution: {integrity: sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==} + engines: {node: '>=0.10.0'} + trough@2.2.0: resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} @@ -4399,6 +5592,14 @@ packages: resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} engines: {node: '>=10'} + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + + type-fest@1.4.0: + resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} + engines: {node: '>=10'} + type-is@2.0.1: resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} engines: {node: '>= 0.6'} @@ -4410,6 +5611,11 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' + typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} + hasBin: true + typescript@5.9.3: resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} engines: {node: '>=14.17'} @@ -4430,6 +5636,14 @@ packages: unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} + unique-filename@2.0.1: + resolution: {integrity: sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + + unique-slug@3.0.0: + resolution: {integrity: sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + unist-util-find-after@5.0.0: resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==} @@ -4455,6 +5669,14 @@ packages: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + unorm@1.6.0: + resolution: {integrity: sha512-b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA==} + engines: {node: '>= 0.4.0'} + unpipe@1.0.0: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} @@ -4501,6 +5723,13 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + username@5.1.0: + resolution: {integrity: sha512-PCKbdWw85JsYMvmCv5GH3kXmM66rCd9m1hBEDutPNv94b/pqCMT4NtcKyeWYvLFiE8b+ha1Jdl8XAaUdPn5QTg==} + engines: {node: '>=8'} + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + uuid@11.1.0: resolution: {integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==} hasBin: true @@ -4509,6 +5738,9 @@ packages: resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} hasBin: true + validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + vary@1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} @@ -4590,6 +5822,13 @@ packages: engines: {node: '>=20.0.0'} hasBin: true + watchpack@2.5.1: + resolution: {integrity: sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==} + engines: {node: '>=10.13.0'} + + wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + web-namespaces@2.0.1: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} @@ -4600,9 +5839,27 @@ packages: webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + webpack-sources@3.3.3: + resolution: {integrity: sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==} + engines: {node: '>=10.13.0'} + + webpack@5.104.1: + resolution: {integrity: sha512-Qphch25abbMNtekmEGJmeRUhLDbe+QfiWTiqpKYkpCOWY64v9eyl+KRRLmqOFA2AvKPpc9DC6+u2n76tQLBoaA==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -4612,6 +5869,10 @@ packages: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} + wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} @@ -4623,6 +5884,14 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + xmlbuilder@15.1.1: + resolution: {integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==} + engines: {node: '>=8.0'} + + xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} @@ -4630,15 +5899,26 @@ packages: yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + yaml@2.8.2: resolution: {integrity: sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==} engines: {node: '>= 14.6'} hasBin: true + yargs-parser@20.2.9: + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} + yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} + yargs@16.2.0: + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} + yargs@17.7.2: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} @@ -4650,6 +5930,10 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} + yoctocolors-cjs@2.1.3: + resolution: {integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==} + engines: {node: '>=18'} + zod-to-json-schema@3.25.1: resolution: {integrity: sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA==} peerDependencies: @@ -4847,6 +6131,232 @@ snapshots: '@chevrotain/utils@11.0.3': {} + '@electron-forge/cli@7.11.1(encoding@0.1.13)(esbuild@0.24.2)': + dependencies: + '@electron-forge/core': 7.11.1(encoding@0.1.13)(esbuild@0.24.2) + '@electron-forge/core-utils': 7.11.1 + '@electron-forge/shared-types': 7.11.1 + '@electron/get': 3.1.0 + '@inquirer/prompts': 6.0.1 + '@listr2/prompt-adapter-inquirer': 2.0.22(@inquirer/prompts@6.0.1) + chalk: 4.1.2 + commander: 11.1.0 + debug: 4.4.3 + fs-extra: 10.1.0 + listr2: 7.0.2 + log-symbols: 4.1.0 + semver: 7.7.3 + transitivePeerDependencies: + - '@swc/core' + - bluebird + - encoding + - esbuild + - supports-color + - uglify-js + - webpack-cli + + '@electron-forge/core-utils@7.11.1': + dependencies: + '@electron-forge/shared-types': 7.11.1 + '@electron/rebuild': 3.7.2 + '@malept/cross-spawn-promise': 2.0.0 + chalk: 4.1.2 + debug: 4.4.3 + find-up: 5.0.0 + fs-extra: 10.1.0 + log-symbols: 4.1.0 + parse-author: 2.0.0 + semver: 7.7.3 + transitivePeerDependencies: + - bluebird + - supports-color + + '@electron-forge/core@7.11.1(encoding@0.1.13)(esbuild@0.24.2)': + dependencies: + '@electron-forge/core-utils': 7.11.1 + '@electron-forge/maker-base': 7.11.1 + '@electron-forge/plugin-base': 7.11.1 + '@electron-forge/publisher-base': 7.11.1 + '@electron-forge/shared-types': 7.11.1 + '@electron-forge/template-base': 7.11.1 + '@electron-forge/template-vite': 7.11.1 + '@electron-forge/template-vite-typescript': 7.11.1 + '@electron-forge/template-webpack': 7.11.1 + '@electron-forge/template-webpack-typescript': 7.11.1(esbuild@0.24.2) + '@electron-forge/tracer': 7.11.1 + '@electron/get': 3.1.0 + '@electron/packager': 18.4.4 + '@electron/rebuild': 3.7.2 + '@malept/cross-spawn-promise': 2.0.0 + '@vscode/sudo-prompt': 9.3.2 + chalk: 4.1.2 + debug: 4.4.3 + fast-glob: 3.3.3 + filenamify: 4.3.0 + find-up: 5.0.0 + fs-extra: 10.1.0 + global-dirs: 3.0.1 + got: 11.8.6 + interpret: 3.1.1 + jiti: 2.6.1 + listr2: 7.0.2 + lodash: 4.17.21 + log-symbols: 4.1.0 + node-fetch: 2.7.0(encoding@0.1.13) + rechoir: 0.8.0 + semver: 7.7.3 + source-map-support: 0.5.21 + username: 5.1.0 + transitivePeerDependencies: + - '@swc/core' + - bluebird + - encoding + - esbuild + - supports-color + - uglify-js + - webpack-cli + + '@electron-forge/maker-base@7.11.1': + dependencies: + '@electron-forge/shared-types': 7.11.1 + fs-extra: 10.1.0 + which: 2.0.2 + transitivePeerDependencies: + - bluebird + - supports-color + + '@electron-forge/maker-deb@7.11.1': + dependencies: + '@electron-forge/maker-base': 7.11.1 + '@electron-forge/shared-types': 7.11.1 + optionalDependencies: + electron-installer-debian: 3.2.0 + transitivePeerDependencies: + - bluebird + - supports-color + + '@electron-forge/maker-dmg@7.11.1': + dependencies: + '@electron-forge/maker-base': 7.11.1 + '@electron-forge/shared-types': 7.11.1 + fs-extra: 10.1.0 + optionalDependencies: + electron-installer-dmg: 5.0.1 + transitivePeerDependencies: + - bluebird + - supports-color + + '@electron-forge/maker-squirrel@7.11.1': + dependencies: + '@electron-forge/maker-base': 7.11.1 + '@electron-forge/shared-types': 7.11.1 + fs-extra: 10.1.0 + optionalDependencies: + electron-winstaller: 5.4.0 + transitivePeerDependencies: + - bluebird + - supports-color + + '@electron-forge/maker-zip@7.11.1': + dependencies: + '@electron-forge/maker-base': 7.11.1 + '@electron-forge/shared-types': 7.11.1 + cross-zip: 4.0.1 + fs-extra: 10.1.0 + got: 11.8.6 + transitivePeerDependencies: + - bluebird + - supports-color + + '@electron-forge/plugin-base@7.11.1': + dependencies: + '@electron-forge/shared-types': 7.11.1 + transitivePeerDependencies: + - bluebird + - supports-color + + '@electron-forge/publisher-base@7.11.1': + dependencies: + '@electron-forge/shared-types': 7.11.1 + transitivePeerDependencies: + - bluebird + - supports-color + + '@electron-forge/shared-types@7.11.1': + dependencies: + '@electron-forge/tracer': 7.11.1 + '@electron/packager': 18.4.4 + '@electron/rebuild': 3.7.2 + listr2: 7.0.2 + transitivePeerDependencies: + - bluebird + - supports-color + + '@electron-forge/template-base@7.11.1': + dependencies: + '@electron-forge/core-utils': 7.11.1 + '@electron-forge/shared-types': 7.11.1 + '@malept/cross-spawn-promise': 2.0.0 + debug: 4.4.3 + fs-extra: 10.1.0 + semver: 7.7.3 + username: 5.1.0 + transitivePeerDependencies: + - bluebird + - supports-color + + '@electron-forge/template-vite-typescript@7.11.1': + dependencies: + '@electron-forge/shared-types': 7.11.1 + '@electron-forge/template-base': 7.11.1 + fs-extra: 10.1.0 + transitivePeerDependencies: + - bluebird + - supports-color + + '@electron-forge/template-vite@7.11.1': + dependencies: + '@electron-forge/shared-types': 7.11.1 + '@electron-forge/template-base': 7.11.1 + fs-extra: 10.1.0 + transitivePeerDependencies: + - bluebird + - supports-color + + '@electron-forge/template-webpack-typescript@7.11.1(esbuild@0.24.2)': + dependencies: + '@electron-forge/shared-types': 7.11.1 + '@electron-forge/template-base': 7.11.1 + fs-extra: 10.1.0 + typescript: 5.4.5 + webpack: 5.104.1(esbuild@0.24.2) + transitivePeerDependencies: + - '@swc/core' + - bluebird + - esbuild + - supports-color + - uglify-js + - webpack-cli + + '@electron-forge/template-webpack@7.11.1': + dependencies: + '@electron-forge/shared-types': 7.11.1 + '@electron-forge/template-base': 7.11.1 + fs-extra: 10.1.0 + transitivePeerDependencies: + - bluebird + - supports-color + + '@electron-forge/tracer@7.11.1': + dependencies: + chrome-trace-event: 1.0.4 + + '@electron/asar@3.4.1': + dependencies: + commander: 5.1.0 + glob: 7.2.3 + minimatch: 3.1.2 + '@electron/get@2.0.3': dependencies: debug: 4.4.3 @@ -4861,6 +6371,123 @@ snapshots: transitivePeerDependencies: - supports-color + '@electron/get@3.1.0': + dependencies: + debug: 4.4.3 + env-paths: 2.2.1 + fs-extra: 8.1.0 + got: 11.8.6 + progress: 2.0.3 + semver: 6.3.1 + sumchecker: 3.0.1 + optionalDependencies: + global-agent: 3.0.0 + transitivePeerDependencies: + - supports-color + + '@electron/node-gyp@https://codeload.github.com/electron/node-gyp/tar.gz/06b29aafb7708acef8b3669835c8a7857ebc92d2': + dependencies: + env-paths: 2.2.1 + exponential-backoff: 3.1.3 + glob: 8.1.0 + graceful-fs: 4.2.11 + make-fetch-happen: 10.2.1 + nopt: 6.0.0 + proc-log: 2.0.1 + semver: 7.7.3 + tar: 6.2.1 + which: 2.0.2 + transitivePeerDependencies: + - bluebird + - supports-color + + '@electron/notarize@2.5.0': + dependencies: + debug: 4.4.3 + fs-extra: 9.1.0 + promise-retry: 2.0.1 + transitivePeerDependencies: + - supports-color + + '@electron/osx-sign@1.3.3': + dependencies: + compare-version: 0.1.2 + debug: 4.4.3 + fs-extra: 10.1.0 + isbinaryfile: 4.0.10 + minimist: 1.2.8 + plist: 3.1.0 + transitivePeerDependencies: + - supports-color + + '@electron/packager@18.4.4': + dependencies: + '@electron/asar': 3.4.1 + '@electron/get': 3.1.0 + '@electron/notarize': 2.5.0 + '@electron/osx-sign': 1.3.3 + '@electron/universal': 2.0.3 + '@electron/windows-sign': 1.2.2 + '@malept/cross-spawn-promise': 2.0.0 + debug: 4.4.3 + extract-zip: 2.0.1 + filenamify: 4.3.0 + fs-extra: 11.3.3 + galactus: 1.0.0 + get-package-info: 1.0.0 + junk: 3.1.0 + parse-author: 2.0.0 + plist: 3.1.0 + prettier: 3.8.0 + resedit: 2.0.3 + resolve: 1.22.11 + semver: 7.7.3 + yargs-parser: 21.1.1 + transitivePeerDependencies: + - supports-color + + '@electron/rebuild@3.7.2': + dependencies: + '@electron/node-gyp': https://codeload.github.com/electron/node-gyp/tar.gz/06b29aafb7708acef8b3669835c8a7857ebc92d2 + '@malept/cross-spawn-promise': 2.0.0 + chalk: 4.1.2 + debug: 4.4.3 + detect-libc: 2.1.2 + fs-extra: 10.1.0 + got: 11.8.6 + node-abi: 3.86.0 + node-api-version: 0.2.1 + ora: 5.4.1 + read-binary-file-arch: 1.0.6 + semver: 7.7.3 + tar: 6.2.1 + yargs: 17.7.2 + transitivePeerDependencies: + - bluebird + - supports-color + + '@electron/universal@2.0.3': + dependencies: + '@electron/asar': 3.4.1 + '@malept/cross-spawn-promise': 2.0.0 + debug: 4.4.3 + dir-compare: 4.2.0 + fs-extra: 11.3.3 + minimatch: 9.0.5 + plist: 3.1.0 + transitivePeerDependencies: + - supports-color + + '@electron/windows-sign@1.2.2': + dependencies: + cross-dirname: 0.1.0 + debug: 4.4.3 + fs-extra: 11.3.3 + minimist: 1.2.8 + postject: 1.0.0-alpha.6 + transitivePeerDependencies: + - supports-color + '@esbuild/aix-ppc64@0.24.2': optional: true @@ -5077,10 +6704,12 @@ snapshots: '@floating-ui/utils@0.2.10': {} - '@google-cloud/local-auth@3.0.1': + '@gar/promisify@1.1.3': {} + + '@google-cloud/local-auth@3.0.1(encoding@0.1.13)': dependencies: arrify: 2.0.1 - google-auth-library: 9.15.1 + google-auth-library: 9.15.1(encoding@0.1.13) open: 7.4.2 server-destroy: 1.0.1 transitivePeerDependencies: @@ -5126,6 +6755,106 @@ snapshots: '@iconify/types': 2.0.0 mlly: 1.8.0 + '@inquirer/checkbox@3.0.1': + dependencies: + '@inquirer/core': 9.2.1 + '@inquirer/figures': 1.0.15 + '@inquirer/type': 2.0.0 + ansi-escapes: 4.3.2 + yoctocolors-cjs: 2.1.3 + + '@inquirer/confirm@4.0.1': + dependencies: + '@inquirer/core': 9.2.1 + '@inquirer/type': 2.0.0 + + '@inquirer/core@9.2.1': + dependencies: + '@inquirer/figures': 1.0.15 + '@inquirer/type': 2.0.0 + '@types/mute-stream': 0.0.4 + '@types/node': 22.19.3 + '@types/wrap-ansi': 3.0.0 + ansi-escapes: 4.3.2 + cli-width: 4.1.0 + mute-stream: 1.0.0 + signal-exit: 4.1.0 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + yoctocolors-cjs: 2.1.3 + + '@inquirer/editor@3.0.1': + dependencies: + '@inquirer/core': 9.2.1 + '@inquirer/type': 2.0.0 + external-editor: 3.1.0 + + '@inquirer/expand@3.0.1': + dependencies: + '@inquirer/core': 9.2.1 + '@inquirer/type': 2.0.0 + yoctocolors-cjs: 2.1.3 + + '@inquirer/figures@1.0.15': {} + + '@inquirer/input@3.0.1': + dependencies: + '@inquirer/core': 9.2.1 + '@inquirer/type': 2.0.0 + + '@inquirer/number@2.0.1': + dependencies: + '@inquirer/core': 9.2.1 + '@inquirer/type': 2.0.0 + + '@inquirer/password@3.0.1': + dependencies: + '@inquirer/core': 9.2.1 + '@inquirer/type': 2.0.0 + ansi-escapes: 4.3.2 + + '@inquirer/prompts@6.0.1': + dependencies: + '@inquirer/checkbox': 3.0.1 + '@inquirer/confirm': 4.0.1 + '@inquirer/editor': 3.0.1 + '@inquirer/expand': 3.0.1 + '@inquirer/input': 3.0.1 + '@inquirer/number': 2.0.1 + '@inquirer/password': 3.0.1 + '@inquirer/rawlist': 3.0.1 + '@inquirer/search': 2.0.1 + '@inquirer/select': 3.0.1 + + '@inquirer/rawlist@3.0.1': + dependencies: + '@inquirer/core': 9.2.1 + '@inquirer/type': 2.0.0 + yoctocolors-cjs: 2.1.3 + + '@inquirer/search@2.0.1': + dependencies: + '@inquirer/core': 9.2.1 + '@inquirer/figures': 1.0.15 + '@inquirer/type': 2.0.0 + yoctocolors-cjs: 2.1.3 + + '@inquirer/select@3.0.1': + dependencies: + '@inquirer/core': 9.2.1 + '@inquirer/figures': 1.0.15 + '@inquirer/type': 2.0.0 + ansi-escapes: 4.3.2 + yoctocolors-cjs: 2.1.3 + + '@inquirer/type@1.5.5': + dependencies: + mute-stream: 1.0.0 + + '@inquirer/type@2.0.0': + dependencies: + mute-stream: 1.0.0 + '@isaacs/balanced-match@4.0.1': {} '@isaacs/brace-expansion@5.0.0': @@ -5153,6 +6882,11 @@ snapshots: '@jridgewell/resolve-uri@3.1.2': {} + '@jridgewell/source-map@0.3.11': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + '@jridgewell/sourcemap-codec@1.5.5': {} '@jridgewell/trace-mapping@0.3.31': @@ -5160,6 +6894,20 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 + '@listr2/prompt-adapter-inquirer@2.0.22(@inquirer/prompts@6.0.1)': + dependencies: + '@inquirer/prompts': 6.0.1 + '@inquirer/type': 1.5.5 + + '@malept/cross-spawn-promise@1.1.1': + dependencies: + cross-spawn: 7.0.6 + optional: true + + '@malept/cross-spawn-promise@2.0.0': + dependencies: + cross-spawn: 7.0.6 + '@mermaid-js/parser@0.6.3': dependencies: langium: 3.3.1 @@ -5198,6 +6946,16 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.20.1 + '@npmcli/fs@2.1.2': + dependencies: + '@gar/promisify': 1.1.3 + semver: 7.7.3 + + '@npmcli/move-file@2.0.1': + dependencies: + mkdirp: 1.0.4 + rimraf: 3.0.2 + '@openrouter/ai-sdk-provider@1.5.4(ai@5.0.117(zod@4.2.1))(zod@4.2.1)': dependencies: '@openrouter/sdk': 0.1.27 @@ -5868,12 +7626,12 @@ snapshots: '@tailwindcss/oxide-win32-arm64-msvc': 4.1.18 '@tailwindcss/oxide-win32-x64-msvc': 4.1.18 - '@tailwindcss/vite@4.1.18(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))': + '@tailwindcss/vite@4.1.18(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.46.0)(yaml@2.8.2))': dependencies: '@tailwindcss/node': 4.1.18 '@tailwindcss/oxide': 4.1.18 tailwindcss: 4.1.18 - vite: 7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2) + vite: 7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.46.0)(yaml@2.8.2) '@tiptap/core@3.15.3(@tiptap/pm@3.15.3)': dependencies: @@ -6079,6 +7837,13 @@ snapshots: dependencies: '@tokenlens/core': 1.3.0 + '@tootallnate/once@2.0.0': {} + + '@types/appdmg@0.5.5': + dependencies: + '@types/node': 25.0.3 + optional: true + '@types/babel__core@7.20.5': dependencies: '@babel/parser': 7.28.5 @@ -6228,12 +7993,27 @@ snapshots: dependencies: '@types/ms': 2.1.0 + '@types/eslint-scope@3.7.7': + dependencies: + '@types/eslint': 9.6.1 + '@types/estree': 1.0.8 + + '@types/eslint@9.6.1': + dependencies: + '@types/estree': 1.0.8 + '@types/json-schema': 7.0.15 + '@types/estree-jsx@1.0.5': dependencies: '@types/estree': 1.0.8 '@types/estree@1.0.8': {} + '@types/fs-extra@9.0.13': + dependencies: + '@types/node': 25.0.3 + optional: true + '@types/geojson@7946.0.16': {} '@types/hast@3.0.4': @@ -6274,6 +8054,10 @@ snapshots: '@types/ms@2.1.0': {} + '@types/mute-stream@0.0.4': + dependencies: + '@types/node': 25.0.3 + '@types/node@22.19.3': dependencies: undici-types: 6.21.0 @@ -6307,6 +8091,8 @@ snapshots: '@types/use-sync-external-store@0.0.6': {} + '@types/wrap-ansi@3.0.0': {} + '@types/yauzl@2.10.3': dependencies: '@types/node': 25.0.3 @@ -6407,7 +8193,7 @@ snapshots: '@vercel/oidc@3.0.5': {} - '@vitejs/plugin-react@5.1.2(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))': + '@vitejs/plugin-react@5.1.2(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.46.0)(yaml@2.8.2))': dependencies: '@babel/core': 7.28.5 '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.5) @@ -6415,23 +8201,128 @@ snapshots: '@rolldown/pluginutils': 1.0.0-beta.53 '@types/babel__core': 7.20.5 react-refresh: 0.18.0 - vite: 7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2) + vite: 7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.46.0)(yaml@2.8.2) transitivePeerDependencies: - supports-color + '@vscode/sudo-prompt@9.3.2': {} + + '@webassemblyjs/ast@1.14.1': + dependencies: + '@webassemblyjs/helper-numbers': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + + '@webassemblyjs/floating-point-hex-parser@1.13.2': {} + + '@webassemblyjs/helper-api-error@1.13.2': {} + + '@webassemblyjs/helper-buffer@1.14.1': {} + + '@webassemblyjs/helper-numbers@1.13.2': + dependencies: + '@webassemblyjs/floating-point-hex-parser': 1.13.2 + '@webassemblyjs/helper-api-error': 1.13.2 + '@xtuc/long': 4.2.2 + + '@webassemblyjs/helper-wasm-bytecode@1.13.2': {} + + '@webassemblyjs/helper-wasm-section@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/wasm-gen': 1.14.1 + + '@webassemblyjs/ieee754@1.13.2': + dependencies: + '@xtuc/ieee754': 1.2.0 + + '@webassemblyjs/leb128@1.13.2': + dependencies: + '@xtuc/long': 4.2.2 + + '@webassemblyjs/utf8@1.13.2': {} + + '@webassemblyjs/wasm-edit@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/helper-wasm-section': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-opt': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + '@webassemblyjs/wast-printer': 1.14.1 + + '@webassemblyjs/wasm-gen@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 + + '@webassemblyjs/wasm-opt@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + + '@webassemblyjs/wasm-parser@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-api-error': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 + + '@webassemblyjs/wast-printer@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@xtuc/long': 4.2.2 + + '@xmldom/xmldom@0.8.11': {} + + '@xtuc/ieee754@1.2.0': {} + + '@xtuc/long@4.2.2': {} + + abbrev@1.1.1: {} + accepts@2.0.0: dependencies: mime-types: 3.0.2 negotiator: 1.0.0 + acorn-import-phases@1.0.4(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + acorn-jsx@5.3.2(acorn@8.15.0): dependencies: acorn: 8.15.0 acorn@8.15.0: {} + agent-base@6.0.2: + dependencies: + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + agent-base@7.1.4: {} + agentkeepalive@4.6.0: + dependencies: + humanize-ms: 1.2.1 + + aggregate-error@3.1.0: + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + ai@5.0.117(zod@4.2.1): dependencies: '@ai-sdk/gateway': 2.0.24(zod@4.2.1) @@ -6440,10 +8331,19 @@ snapshots: '@opentelemetry/api': 1.9.0 zod: 4.2.1 + ajv-formats@2.1.1(ajv@8.17.1): + optionalDependencies: + ajv: 8.17.1 + ajv-formats@3.0.1(ajv@8.17.1): optionalDependencies: ajv: 8.17.1 + ajv-keywords@5.1.0(ajv@8.17.1): + dependencies: + ajv: 8.17.1 + fast-deep-equal: 3.1.3 + ajv@6.12.6: dependencies: fast-deep-equal: 3.1.3 @@ -6458,6 +8358,14 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 + ansi-escapes@4.3.2: + dependencies: + type-fest: 0.21.3 + + ansi-escapes@5.0.0: + dependencies: + type-fest: 1.4.0 + ansi-regex@5.0.1: {} ansi-regex@6.2.2: {} @@ -6468,6 +8376,21 @@ snapshots: ansi-styles@6.2.3: {} + appdmg@0.6.6: + dependencies: + async: 1.5.2 + ds-store: 0.1.6 + execa: 1.0.0 + fs-temp: 1.2.1 + fs-xattr: 0.3.1 + image-size: 0.7.5 + is-my-json-valid: 2.20.6 + minimist: 1.2.8 + parse-color: 1.0.0 + path-exists: 4.0.0 + repeat-string: 1.6.1 + optional: true + argparse@2.0.1: {} aria-hidden@1.2.6: @@ -6476,8 +8399,15 @@ snapshots: arrify@2.0.1: {} + async@1.5.2: + optional: true + asynckit@0.4.0: {} + at-least-node@1.0.0: {} + + author-regex@1.0.0: {} + awilix@12.0.5: dependencies: camel-case: 4.1.2 @@ -6495,12 +8425,25 @@ snapshots: balanced-match@1.0.2: {} + base32-encode@1.2.0: + dependencies: + to-data-view: 1.1.0 + optional: true + base64-js@1.5.1: {} baseline-browser-mapping@2.9.11: {} bignumber.js@9.3.1: {} + bl@4.1.0: + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + + bluebird@3.7.2: {} + body-parser@2.2.1: dependencies: bytes: 3.1.2 @@ -6520,6 +8463,11 @@ snapshots: boolean@3.2.0: optional: true + bplist-creator@0.0.8: + dependencies: + stream-buffers: 2.2.0 + optional: true + brace-expansion@1.1.12: dependencies: balanced-match: 1.0.2 @@ -6545,8 +8493,38 @@ snapshots: buffer-equal-constant-time@1.0.1: {} + buffer-from@1.1.2: {} + + buffer@5.7.1: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + bytes@3.1.2: {} + cacache@16.1.3: + dependencies: + '@npmcli/fs': 2.1.2 + '@npmcli/move-file': 2.0.1 + chownr: 2.0.0 + fs-minipass: 2.1.0 + glob: 8.1.0 + infer-owner: 1.0.4 + lru-cache: 7.18.3 + minipass: 3.3.6 + minipass-collect: 1.0.2 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + mkdirp: 1.0.4 + p-map: 4.0.0 + promise-inflight: 1.0.1 + rimraf: 3.0.2 + ssri: 9.0.1 + tar: 6.2.1 + unique-filename: 2.0.1 + transitivePeerDependencies: + - bluebird + cacheable-lookup@5.0.4: {} cacheable-request@7.0.4: @@ -6593,6 +8571,8 @@ snapshots: character-reference-invalid@2.0.1: {} + chardet@0.7.0: {} + chevrotain-allstar@0.3.1(chevrotain@11.0.3): dependencies: chevrotain: 11.0.3 @@ -6611,10 +8591,40 @@ snapshots: dependencies: readdirp: 4.1.2 + chownr@2.0.0: {} + + chrome-trace-event@1.0.4: {} + class-variance-authority@0.7.1: dependencies: clsx: 2.1.1 + clean-stack@2.2.0: {} + + cli-cursor@3.1.0: + dependencies: + restore-cursor: 3.1.0 + + cli-cursor@4.0.0: + dependencies: + restore-cursor: 4.0.0 + + cli-spinners@2.9.2: {} + + cli-truncate@3.1.0: + dependencies: + slice-ansi: 5.0.0 + string-width: 5.1.2 + + cli-width@4.1.0: {} + + cliui@7.0.4: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + optional: true + cliui@8.0.1: dependencies: string-width: 4.2.3 @@ -6625,6 +8635,8 @@ snapshots: dependencies: mimic-response: 1.0.1 + clone@1.0.4: {} + clsx@2.1.1: {} cmdk@1.1.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react@19.2.3): @@ -6639,22 +8651,37 @@ snapshots: - '@types/react' - '@types/react-dom' + color-convert@0.5.3: + optional: true + color-convert@2.0.1: dependencies: color-name: 1.1.4 color-name@1.1.4: {} + colorette@2.0.20: {} + combined-stream@1.0.8: dependencies: delayed-stream: 1.0.0 comma-separated-tokens@2.0.3: {} + commander@11.1.0: {} + + commander@2.20.3: {} + + commander@5.1.0: {} + commander@7.2.0: {} commander@8.3.0: {} + commander@9.5.0: {} + + compare-version@0.1.2: {} + concat-map@0.0.1: {} concurrently@9.2.1: @@ -6693,12 +8720,24 @@ snapshots: crelt@1.0.6: {} + cross-dirname@0.1.0: {} + + cross-spawn@6.0.6: + dependencies: + nice-try: 1.0.5 + path-key: 2.0.1 + semver: 5.7.2 + shebang-command: 1.2.0 + which: 1.3.1 + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 + cross-zip@4.0.1: {} + css-select@5.2.2: dependencies: boolbase: 1.0.0 @@ -6899,6 +8938,10 @@ snapshots: dayjs@1.11.19: {} + debug@2.6.9: + dependencies: + ms: 2.0.0 + debug@4.4.3: dependencies: ms: 2.1.3 @@ -6913,6 +8956,10 @@ snapshots: deep-is@0.1.4: {} + defaults@1.0.4: + dependencies: + clone: 1.0.4 + defer-to-connect@2.0.1: {} define-data-property@1.1.4: @@ -6950,6 +8997,11 @@ snapshots: dependencies: dequal: 2.0.3 + dir-compare@4.2.0: + dependencies: + minimatch: 3.1.2 + p-limit: 3.1.0 + dom-serializer@2.0.0: dependencies: domelementtype: 2.3.0 @@ -6972,6 +9024,13 @@ snapshots: domelementtype: 2.3.0 domhandler: 5.0.3 + ds-store@0.1.6: + dependencies: + bplist-creator: 0.0.8 + macos-alias: 0.2.12 + tn1150: 0.1.0 + optional: true + dunder-proto@1.0.1: dependencies: call-bind-apply-helpers: 1.0.2 @@ -6986,8 +9045,63 @@ snapshots: ee-first@1.1.1: {} + electron-installer-common@0.10.4: + dependencies: + '@electron/asar': 3.4.1 + '@malept/cross-spawn-promise': 1.1.1 + debug: 4.4.3 + fs-extra: 9.1.0 + glob: 7.2.3 + lodash: 4.17.21 + parse-author: 2.0.0 + semver: 7.7.3 + tmp-promise: 3.0.3 + optionalDependencies: + '@types/fs-extra': 9.0.13 + transitivePeerDependencies: + - supports-color + optional: true + + electron-installer-debian@3.2.0: + dependencies: + '@malept/cross-spawn-promise': 1.1.1 + debug: 4.4.3 + electron-installer-common: 0.10.4 + fs-extra: 9.1.0 + get-folder-size: 2.0.1 + lodash: 4.17.21 + word-wrap: 1.2.5 + yargs: 16.2.0 + transitivePeerDependencies: + - supports-color + optional: true + + electron-installer-dmg@5.0.1: + dependencies: + '@types/appdmg': 0.5.5 + debug: 4.4.3 + minimist: 1.2.8 + optionalDependencies: + appdmg: 0.6.6 + transitivePeerDependencies: + - supports-color + optional: true + electron-to-chromium@1.5.267: {} + electron-winstaller@5.4.0: + dependencies: + '@electron/asar': 3.4.1 + debug: 4.4.3 + fs-extra: 7.0.1 + lodash: 4.17.21 + temp: 0.9.4 + optionalDependencies: + '@electron/windows-sign': 1.2.2 + transitivePeerDependencies: + - supports-color + optional: true + electron@39.2.7: dependencies: '@electron/get': 2.0.3 @@ -7000,8 +9114,16 @@ snapshots: emoji-regex@9.2.2: {} + encode-utf8@1.0.3: + optional: true + encodeurl@2.0.0: {} + encoding@0.1.13: + dependencies: + iconv-lite: 0.6.3 + optional: true + end-of-stream@1.4.5: dependencies: once: 1.4.0 @@ -7017,10 +9139,18 @@ snapshots: env-paths@2.2.1: {} + err-code@2.0.3: {} + + error-ex@1.3.4: + dependencies: + is-arrayish: 0.2.1 + es-define-property@1.0.1: {} es-errors@1.3.0: {} + es-module-lexer@2.0.0: {} + es-object-atoms@1.1.1: dependencies: es-errors: 1.3.0 @@ -7096,6 +9226,8 @@ snapshots: escape-html@1.0.3: {} + escape-string-regexp@1.0.5: {} + escape-string-regexp@4.0.0: {} escape-string-regexp@5.0.0: {} @@ -7115,6 +9247,11 @@ snapshots: dependencies: eslint: 9.39.2(jiti@2.6.1) + eslint-scope@5.1.1: + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + eslint-scope@8.4.0: dependencies: esrecurse: 4.3.0 @@ -7179,6 +9316,8 @@ snapshots: dependencies: estraverse: 5.3.0 + estraverse@4.3.0: {} + estraverse@5.3.0: {} estree-util-is-identifier-name@3.0.0: {} @@ -7187,12 +9326,28 @@ snapshots: etag@1.8.1: {} + eventemitter3@5.0.1: {} + + events@3.3.0: {} + eventsource-parser@3.0.6: {} eventsource@3.0.7: dependencies: eventsource-parser: 3.0.6 + execa@1.0.0: + dependencies: + cross-spawn: 6.0.6 + get-stream: 4.1.0 + is-stream: 1.1.0 + npm-run-path: 2.0.2 + p-finally: 1.0.0 + signal-exit: 3.0.7 + strip-eof: 1.0.0 + + exponential-backoff@3.1.3: {} + express-rate-limit@7.5.1(express@5.2.1): dependencies: express: 5.2.1 @@ -7232,6 +9387,12 @@ snapshots: extend@3.0.2: {} + external-editor@3.1.0: + dependencies: + chardet: 0.7.0 + iconv-lite: 0.4.24 + tmp: 0.0.33 + extract-zip@2.0.1: dependencies: debug: 4.4.3 @@ -7281,6 +9442,14 @@ snapshots: dependencies: flat-cache: 4.0.1 + filename-reserved-regex@2.0.0: {} + + filenamify@4.3.0: + dependencies: + filename-reserved-regex: 2.0.0 + strip-outer: 1.0.1 + trim-repeated: 1.0.0 + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 @@ -7296,6 +9465,10 @@ snapshots: transitivePeerDependencies: - supports-color + find-up@2.1.0: + dependencies: + locate-path: 2.0.0 + find-up@5.0.0: dependencies: locate-path: 6.0.0 @@ -7308,6 +9481,18 @@ snapshots: flatted@3.3.3: {} + flora-colossus@2.0.0: + dependencies: + debug: 4.4.3 + fs-extra: 10.1.0 + transitivePeerDependencies: + - supports-color + + fmix@0.1.0: + dependencies: + imul: 1.0.1 + optional: true + follow-redirects@1.15.11: {} foreground-child@3.3.1: @@ -7340,23 +9525,74 @@ snapshots: fresh@2.0.0: {} + fs-extra@10.1.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.2.0 + universalify: 2.0.1 + + fs-extra@11.3.3: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.2.0 + universalify: 2.0.1 + + fs-extra@7.0.1: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + optional: true + fs-extra@8.1.0: dependencies: graceful-fs: 4.2.11 jsonfile: 4.0.0 universalify: 0.1.2 + fs-extra@9.1.0: + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.11 + jsonfile: 6.2.0 + universalify: 2.0.1 + + fs-minipass@2.1.0: + dependencies: + minipass: 3.3.6 + + fs-temp@1.2.1: + dependencies: + random-path: 0.1.2 + optional: true + + fs-xattr@0.3.1: + optional: true + + fs.realpath@1.0.0: {} + fsevents@2.3.3: optional: true function-bind@1.1.2: {} - gaxios@6.7.1: + galactus@1.0.0: + dependencies: + debug: 4.4.3 + flora-colossus: 2.0.0 + fs-extra: 10.1.0 + transitivePeerDependencies: + - supports-color + + gar@1.0.4: + optional: true + + gaxios@6.7.1(encoding@0.1.13): dependencies: extend: 3.0.2 https-proxy-agent: 7.0.6 is-stream: 2.0.1 - node-fetch: 2.7.0 + node-fetch: 2.7.0(encoding@0.1.13) uuid: 9.0.1 transitivePeerDependencies: - encoding @@ -7371,9 +9607,9 @@ snapshots: transitivePeerDependencies: - supports-color - gcp-metadata@6.1.1: + gcp-metadata@6.1.1(encoding@0.1.13): dependencies: - gaxios: 6.7.1 + gaxios: 6.7.1(encoding@0.1.13) google-logging-utils: 0.0.2 json-bigint: 1.0.0 transitivePeerDependencies: @@ -7388,12 +9624,28 @@ snapshots: transitivePeerDependencies: - supports-color + generate-function@2.3.1: + dependencies: + is-property: 1.0.2 + optional: true + + generate-object-property@1.2.0: + dependencies: + is-property: 1.0.2 + optional: true + gensync@1.0.0-beta.2: {} get-caller-file@2.0.5: {} get-east-asian-width@1.4.0: {} + get-folder-size@2.0.1: + dependencies: + gar: 1.0.4 + tiny-each-async: 2.0.3 + optional: true + get-intrinsic@1.3.0: dependencies: call-bind-apply-helpers: 1.0.2 @@ -7409,11 +9661,24 @@ snapshots: get-nonce@1.0.1: {} + get-package-info@1.0.0: + dependencies: + bluebird: 3.7.2 + debug: 2.6.9 + lodash.get: 4.4.2 + read-pkg-up: 2.0.0 + transitivePeerDependencies: + - supports-color + get-proto@1.0.1: dependencies: dunder-proto: 1.0.1 es-object-atoms: 1.1.1 + get-stream@4.1.0: + dependencies: + pump: 3.0.3 + get-stream@5.2.0: dependencies: pump: 3.0.3 @@ -7426,6 +9691,8 @@ snapshots: dependencies: is-glob: 4.0.3 + glob-to-regexp@0.4.1: {} + glob@10.5.0: dependencies: foreground-child: 3.3.1 @@ -7441,6 +9708,23 @@ snapshots: minipass: 7.1.2 path-scurry: 2.0.1 + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + glob@8.1.0: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.6 + once: 1.4.0 + global-agent@3.0.0: dependencies: boolean: 3.2.0 @@ -7451,6 +9735,10 @@ snapshots: serialize-error: 7.0.1 optional: true + global-dirs@3.0.1: + dependencies: + ini: 2.0.0 + globals@14.0.0: {} globals@16.5.0: {} @@ -7473,13 +9761,13 @@ snapshots: transitivePeerDependencies: - supports-color - google-auth-library@9.15.1: + google-auth-library@9.15.1(encoding@0.1.13): dependencies: base64-js: 1.5.1 ecdsa-sig-formatter: 1.0.11 - gaxios: 6.7.1 - gcp-metadata: 6.1.1 - gtoken: 7.1.0 + gaxios: 6.7.1(encoding@0.1.13) + gcp-metadata: 6.1.1(encoding@0.1.13) + gtoken: 7.1.0(encoding@0.1.13) jws: 4.0.1 transitivePeerDependencies: - encoding @@ -7524,9 +9812,9 @@ snapshots: graceful-fs@4.2.11: {} - gtoken@7.1.0: + gtoken@7.1.0(encoding@0.1.13): dependencies: - gaxios: 6.7.1 + gaxios: 6.7.1(encoding@0.1.13) jws: 4.0.1 transitivePeerDependencies: - encoding @@ -7690,6 +9978,8 @@ snapshots: hono@4.11.3: {} + hosted-git-info@2.8.9: {} + html-url-attributes@3.0.1: {} html-void-elements@3.0.0: {} @@ -7704,11 +9994,26 @@ snapshots: statuses: 2.0.2 toidentifier: 1.0.1 + http-proxy-agent@5.0.0: + dependencies: + '@tootallnate/once': 2.0.0 + agent-base: 6.0.2 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + http2-wrapper@1.0.3: dependencies: quick-lru: 5.1.1 resolve-alpn: 1.2.1 + https-proxy-agent@5.0.1: + dependencies: + agent-base: 6.0.2 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + https-proxy-agent@7.0.6: dependencies: agent-base: 7.1.4 @@ -7716,6 +10021,14 @@ snapshots: transitivePeerDependencies: - supports-color + humanize-ms@1.2.1: + dependencies: + ms: 2.1.3 + + iconv-lite@0.4.24: + dependencies: + safer-buffer: 2.1.2 + iconv-lite@0.6.3: dependencies: safer-buffer: 2.1.2 @@ -7724,25 +10037,48 @@ snapshots: dependencies: safer-buffer: 2.1.2 + ieee754@1.2.1: {} + ignore@5.3.2: {} ignore@7.0.5: {} + image-size@0.7.5: + optional: true + import-fresh@3.3.1: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 + imul@1.0.1: + optional: true + imurmurhash@0.1.4: {} + indent-string@4.0.0: {} + + infer-owner@1.0.4: {} + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + inherits@2.0.4: {} + ini@2.0.0: {} + inline-style-parser@0.2.7: {} internmap@1.0.1: {} internmap@2.0.3: {} + interpret@3.1.1: {} + + ip-address@10.1.0: {} + ipaddr.js@1.9.1: {} is-alphabetical@2.0.1: {} @@ -7752,6 +10088,12 @@ snapshots: is-alphabetical: 2.0.1 is-decimal: 2.0.1 + is-arrayish@0.2.1: {} + + is-core-module@2.16.1: + dependencies: + hasown: 2.0.2 + is-decimal@2.0.1: {} is-docker@2.2.1: {} @@ -7760,24 +10102,51 @@ snapshots: is-fullwidth-code-point@3.0.0: {} + is-fullwidth-code-point@4.0.0: {} + is-glob@4.0.3: dependencies: is-extglob: 2.1.1 is-hexadecimal@2.0.1: {} + is-interactive@1.0.0: {} + + is-lambda@1.0.1: {} + + is-my-ip-valid@1.0.1: + optional: true + + is-my-json-valid@2.20.6: + dependencies: + generate-function: 2.3.1 + generate-object-property: 1.2.0 + is-my-ip-valid: 1.0.1 + jsonpointer: 5.0.1 + xtend: 4.0.2 + optional: true + is-number@7.0.0: {} is-plain-obj@4.1.0: {} is-promise@4.0.0: {} + is-property@1.0.2: + optional: true + + is-stream@1.1.0: {} + is-stream@2.0.1: {} + is-unicode-supported@0.1.0: {} + is-wsl@2.2.0: dependencies: is-docker: 2.2.1 + isbinaryfile@4.0.10: {} + isexe@2.0.0: {} jackspeak@3.4.3: @@ -7786,6 +10155,12 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 + jest-worker@27.5.1: + dependencies: + '@types/node': 25.0.3 + merge-stream: 2.0.0 + supports-color: 8.1.1 + jiti@2.6.1: {} joi@18.0.2: @@ -7814,6 +10189,8 @@ snapshots: json-buffer@3.0.1: {} + json-parse-even-better-errors@2.3.1: {} + json-schema-traverse@0.4.1: {} json-schema-traverse@1.0.0: {} @@ -7833,6 +10210,17 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 + jsonfile@6.2.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + jsonpointer@5.0.1: + optional: true + + junk@3.1.0: {} + jwa@2.0.1: dependencies: buffer-equal-constant-time: 1.0.1 @@ -7926,6 +10314,29 @@ snapshots: linkifyjs@4.3.2: {} + listr2@7.0.2: + dependencies: + cli-truncate: 3.1.0 + colorette: 2.0.20 + eventemitter3: 5.0.1 + log-update: 5.0.1 + rfdc: 1.4.1 + wrap-ansi: 8.1.0 + + load-json-file@2.0.0: + dependencies: + graceful-fs: 4.2.11 + parse-json: 2.2.0 + pify: 2.3.0 + strip-bom: 3.0.0 + + loader-runner@4.3.1: {} + + locate-path@2.0.0: + dependencies: + p-locate: 2.0.0 + path-exists: 3.0.0 + locate-path@6.0.0: dependencies: p-locate: 5.0.0 @@ -7934,10 +10345,25 @@ snapshots: lodash-es@4.17.22: {} + lodash.get@4.4.2: {} + lodash.merge@4.6.2: {} lodash@4.17.21: {} + log-symbols@4.1.0: + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + + log-update@5.0.1: + dependencies: + ansi-escapes: 5.0.0 + cli-cursor: 4.0.0 + slice-ansi: 5.0.0 + strip-ansi: 7.1.2 + wrap-ansi: 8.1.0 + longest-streak@3.1.0: {} lower-case@2.0.2: @@ -7954,6 +10380,8 @@ snapshots: dependencies: yallist: 3.1.1 + lru-cache@7.18.3: {} + lucide-react@0.542.0(react@19.2.3): dependencies: react: 19.2.3 @@ -7962,10 +10390,41 @@ snapshots: dependencies: react: 19.2.3 + macos-alias@0.2.12: + dependencies: + nan: 2.24.0 + optional: true + magic-string@0.30.21: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 + make-fetch-happen@10.2.1: + dependencies: + agentkeepalive: 4.6.0 + cacache: 16.1.3 + http-cache-semantics: 4.2.0 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + is-lambda: 1.0.1 + lru-cache: 7.18.3 + minipass: 3.3.6 + minipass-collect: 1.0.2 + minipass-fetch: 2.1.2 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + negotiator: 0.6.4 + promise-retry: 2.0.1 + socks-proxy-agent: 7.0.0 + ssri: 9.0.1 + transitivePeerDependencies: + - bluebird + - supports-color + + map-age-cleaner@0.1.3: + dependencies: + p-defer: 1.0.0 + markdown-it-task-lists@2.1.1: {} markdown-it@14.1.0: @@ -8157,8 +10616,16 @@ snapshots: media-typer@1.1.0: {} + mem@4.3.0: + dependencies: + map-age-cleaner: 0.1.3 + mimic-fn: 2.1.0 + p-is-promise: 2.1.0 + merge-descriptors@2.0.0: {} + merge-stream@2.0.0: {} + merge2@1.4.1: {} mermaid@11.12.2: @@ -8434,6 +10901,8 @@ snapshots: dependencies: mime-db: 1.54.0 + mimic-fn@2.1.0: {} + mimic-response@1.0.1: {} mimic-response@3.1.0: {} @@ -8446,14 +10915,60 @@ snapshots: dependencies: brace-expansion: 1.1.12 + minimatch@5.1.6: + dependencies: + brace-expansion: 2.0.2 + minimatch@9.0.5: dependencies: brace-expansion: 2.0.2 minimist@1.2.8: {} + minipass-collect@1.0.2: + dependencies: + minipass: 3.3.6 + + minipass-fetch@2.1.2: + dependencies: + minipass: 3.3.6 + minipass-sized: 1.0.3 + minizlib: 2.1.2 + optionalDependencies: + encoding: 0.1.13 + + minipass-flush@1.0.5: + dependencies: + minipass: 3.3.6 + + minipass-pipeline@1.2.4: + dependencies: + minipass: 3.3.6 + + minipass-sized@1.0.3: + dependencies: + minipass: 3.3.6 + + minipass@3.3.6: + dependencies: + yallist: 4.0.0 + + minipass@5.0.0: {} + minipass@7.1.2: {} + minizlib@2.1.2: + dependencies: + minipass: 3.3.6 + yallist: 4.0.0 + + mkdirp@0.5.6: + dependencies: + minimist: 1.2.8 + optional: true + + mkdirp@1.0.4: {} + mlly@1.8.0: dependencies: acorn: 8.15.0 @@ -8475,26 +10990,56 @@ snapshots: react: 19.2.3 react-dom: 19.2.3(react@19.2.3) + ms@2.0.0: {} + ms@2.1.3: {} + murmur-32@0.2.0: + dependencies: + encode-utf8: 1.0.3 + fmix: 0.1.0 + imul: 1.0.1 + optional: true + + mute-stream@1.0.0: {} + + nan@2.24.0: + optional: true + nanoid@3.3.11: {} nanoid@5.1.6: {} natural-compare@1.4.0: {} + negotiator@0.6.4: {} + negotiator@1.0.0: {} + neo-async@2.6.2: {} + + nice-try@1.0.5: {} + no-case@3.0.4: dependencies: lower-case: 2.0.2 tslib: 2.8.1 + node-abi@3.86.0: + dependencies: + semver: 7.7.3 + + node-api-version@0.2.1: + dependencies: + semver: 7.7.3 + node-domexception@1.0.0: {} - node-fetch@2.7.0: + node-fetch@2.7.0(encoding@0.1.13): dependencies: whatwg-url: 5.0.0 + optionalDependencies: + encoding: 0.1.13 node-fetch@3.3.2: dependencies: @@ -8513,8 +11058,23 @@ snapshots: node-releases@2.0.27: {} + nopt@6.0.0: + dependencies: + abbrev: 1.1.1 + + normalize-package-data@2.5.0: + dependencies: + hosted-git-info: 2.8.9 + resolve: 1.22.11 + semver: 5.7.2 + validate-npm-package-license: 3.0.4 + normalize-url@6.1.0: {} + npm-run-path@2.0.2: + dependencies: + path-key: 2.0.1 + nth-check@2.1.1: dependencies: boolbase: 1.0.0 @@ -8542,6 +11102,10 @@ snapshots: dependencies: wrappy: 1.0.2 + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + oniguruma-parser@0.12.1: {} oniguruma-to-es@4.3.4: @@ -8569,18 +11133,52 @@ snapshots: type-check: 0.4.0 word-wrap: 1.2.5 + ora@5.4.1: + dependencies: + bl: 4.1.0 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.9.2 + is-interactive: 1.0.0 + is-unicode-supported: 0.1.0 + log-symbols: 4.1.0 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + orderedmap@2.1.1: {} + os-tmpdir@1.0.2: {} + p-cancelable@2.1.1: {} + p-defer@1.0.0: {} + + p-finally@1.0.0: {} + + p-is-promise@2.1.0: {} + + p-limit@1.3.0: + dependencies: + p-try: 1.0.0 + p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 + p-locate@2.0.0: + dependencies: + p-limit: 1.3.0 + p-locate@5.0.0: dependencies: p-limit: 3.1.0 + p-map@4.0.0: + dependencies: + aggregate-error: 3.1.0 + + p-try@1.0.0: {} + package-json-from-dist@1.0.1: {} package-manager-detector@1.6.0: {} @@ -8589,6 +11187,15 @@ snapshots: dependencies: callsites: 3.1.0 + parse-author@2.0.0: + dependencies: + author-regex: 1.0.0 + + parse-color@1.0.0: + dependencies: + color-convert: 0.5.3 + optional: true + parse-entities@4.0.2: dependencies: '@types/unist': 2.0.11 @@ -8599,6 +11206,10 @@ snapshots: is-decimal: 2.0.1 is-hexadecimal: 2.0.1 + parse-json@2.2.0: + dependencies: + error-ex: 1.3.4 + parse5@7.3.0: dependencies: entities: 6.0.1 @@ -8612,10 +11223,18 @@ snapshots: path-data-parser@0.1.0: {} + path-exists@3.0.0: {} + path-exists@4.0.0: {} + path-is-absolute@1.0.1: {} + + path-key@2.0.1: {} + path-key@3.1.1: {} + path-parse@1.0.7: {} + path-scurry@1.11.1: dependencies: lru-cache: 10.4.3 @@ -8628,8 +11247,14 @@ snapshots: path-to-regexp@8.3.0: {} + path-type@2.0.0: + dependencies: + pify: 2.3.0 + pathe@2.0.3: {} + pe-library@1.0.1: {} + pend@1.2.0: {} picocolors@1.1.1: {} @@ -8638,6 +11263,8 @@ snapshots: picomatch@4.0.3: {} + pify@2.3.0: {} + pkce-challenge@5.0.1: {} pkg-types@1.3.1: @@ -8646,6 +11273,12 @@ snapshots: mlly: 1.8.0 pathe: 2.0.3 + plist@3.1.0: + dependencies: + '@xmldom/xmldom': 0.8.11 + base64-js: 1.5.1 + xmlbuilder: 15.1.1 + points-on-curve@0.2.0: {} points-on-path@0.2.1: @@ -8659,10 +11292,25 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 + postject@1.0.0-alpha.6: + dependencies: + commander: 9.5.0 + prelude-ls@1.2.1: {} + prettier@3.8.0: {} + + proc-log@2.0.1: {} + progress@2.0.3: {} + promise-inflight@1.0.1: {} + + promise-retry@2.0.1: + dependencies: + err-code: 2.0.3 + retry: 0.12.0 + property-information@7.1.0: {} prosemirror-changeset@2.3.1: @@ -8792,6 +11440,16 @@ snapshots: quick-lru@5.1.1: {} + random-path@0.1.2: + dependencies: + base32-encode: 1.2.0 + murmur-32: 0.2.0 + optional: true + + randombytes@2.1.0: + dependencies: + safe-buffer: 5.2.1 + range-parser@1.2.1: {} raw-body@3.0.2: @@ -8837,8 +11495,35 @@ snapshots: react@19.2.3: {} + read-binary-file-arch@1.0.6: + dependencies: + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + read-pkg-up@2.0.0: + dependencies: + find-up: 2.1.0 + read-pkg: 2.0.0 + + read-pkg@2.0.0: + dependencies: + load-json-file: 2.0.0 + normalize-package-data: 2.5.0 + path-type: 2.0.0 + + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + readdirp@4.1.2: {} + rechoir@0.8.0: + dependencies: + resolve: 1.22.11 + regex-recursion@6.0.2: dependencies: regex-utilities: 2.3.0 @@ -8934,20 +11619,56 @@ snapshots: remend@1.0.1: {} + repeat-string@1.6.1: + optional: true + require-directory@2.1.1: {} require-from-string@2.0.2: {} + resedit@2.0.3: + dependencies: + pe-library: 1.0.1 + resolve-alpn@1.2.1: {} resolve-from@4.0.0: {} + resolve@1.22.11: + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + responselike@2.0.1: dependencies: lowercase-keys: 2.0.0 + restore-cursor@3.1.0: + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + + restore-cursor@4.0.0: + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + + retry@0.12.0: {} + reusify@1.1.0: {} + rfdc@1.4.1: {} + + rimraf@2.6.3: + dependencies: + glob: 7.2.3 + optional: true + + rimraf@3.0.2: + dependencies: + glob: 7.2.3 + rimraf@5.0.10: dependencies: glob: 10.5.0 @@ -9027,9 +11748,18 @@ snapshots: scheduler@0.27.0: {} + schema-utils@4.3.3: + dependencies: + '@types/json-schema': 7.0.15 + ajv: 8.17.1 + ajv-formats: 2.1.1(ajv@8.17.1) + ajv-keywords: 5.1.0(ajv@8.17.1) + semver-compare@1.0.0: optional: true + semver@5.7.2: {} + semver@6.3.1: {} semver@7.7.3: {} @@ -9055,6 +11785,10 @@ snapshots: type-fest: 0.13.1 optional: true + serialize-javascript@6.0.2: + dependencies: + randombytes: 2.1.0 + serve-static@2.2.1: dependencies: encodeurl: 2.0.0 @@ -9068,10 +11802,16 @@ snapshots: setprototypeof@1.2.0: {} + shebang-command@1.2.0: + dependencies: + shebang-regex: 1.0.0 + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 + shebang-regex@1.0.0: {} + shebang-regex@3.0.0: {} shell-quote@1.8.3: {} @@ -9115,17 +11855,67 @@ snapshots: side-channel-map: 1.0.1 side-channel-weakmap: 1.0.2 + signal-exit@3.0.7: {} + signal-exit@4.1.0: {} + slice-ansi@5.0.0: + dependencies: + ansi-styles: 6.2.3 + is-fullwidth-code-point: 4.0.0 + + smart-buffer@4.2.0: {} + + socks-proxy-agent@7.0.0: + dependencies: + agent-base: 6.0.2 + debug: 4.4.3 + socks: 2.8.7 + transitivePeerDependencies: + - supports-color + + socks@2.8.7: + dependencies: + ip-address: 10.1.0 + smart-buffer: 4.2.0 + source-map-js@1.2.1: {} + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.6.1: {} + space-separated-tokens@2.0.2: {} + spdx-correct@3.2.0: + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.22 + + spdx-exceptions@2.5.0: {} + + spdx-expression-parse@3.0.1: + dependencies: + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.22 + + spdx-license-ids@3.0.22: {} + sprintf-js@1.1.3: optional: true + ssri@9.0.1: + dependencies: + minipass: 3.3.6 + statuses@2.0.2: {} + stream-buffers@2.2.0: + optional: true + streamdown@1.6.10(@types/mdast@4.0.4)(micromark-util-types@2.0.2)(micromark@4.0.2)(react@19.2.3): dependencies: clsx: 2.1.1 @@ -9169,6 +11959,10 @@ snapshots: emoji-regex: 9.2.2 strip-ansi: 7.1.2 + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + stringify-entities@4.0.4: dependencies: character-entities-html4: 2.1.0 @@ -9182,8 +11976,16 @@ snapshots: dependencies: ansi-regex: 6.2.2 + strip-bom@3.0.0: {} + + strip-eof@1.0.0: {} + strip-json-comments@3.1.1: {} + strip-outer@1.0.1: + dependencies: + escape-string-regexp: 1.0.5 + style-to-js@1.1.21: dependencies: style-to-object: 1.0.14 @@ -9208,12 +12010,50 @@ snapshots: dependencies: has-flag: 4.0.0 + supports-preserve-symlinks-flag@1.0.0: {} + tailwind-merge@3.4.0: {} tailwindcss@4.1.18: {} tapable@2.3.0: {} + tar@6.2.1: + dependencies: + chownr: 2.0.0 + fs-minipass: 2.1.0 + minipass: 5.0.0 + minizlib: 2.1.2 + mkdirp: 1.0.4 + yallist: 4.0.0 + + temp@0.9.4: + dependencies: + mkdirp: 0.5.6 + rimraf: 2.6.3 + optional: true + + terser-webpack-plugin@5.3.16(esbuild@0.24.2)(webpack@5.104.1(esbuild@0.24.2)): + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + jest-worker: 27.5.1 + schema-utils: 4.3.3 + serialize-javascript: 6.0.2 + terser: 5.46.0 + webpack: 5.104.1(esbuild@0.24.2) + optionalDependencies: + esbuild: 0.24.2 + + terser@5.46.0: + dependencies: + '@jridgewell/source-map': 0.3.11 + acorn: 8.15.0 + commander: 2.20.3 + source-map-support: 0.5.21 + + tiny-each-async@2.0.3: + optional: true + tinyexec@1.0.2: {} tinyglobby@0.2.15: @@ -9229,6 +12069,26 @@ snapshots: markdown-it-task-lists: 2.1.1 prosemirror-markdown: 1.13.2 + tmp-promise@3.0.3: + dependencies: + tmp: 0.2.5 + optional: true + + tmp@0.0.33: + dependencies: + os-tmpdir: 1.0.2 + + tmp@0.2.5: + optional: true + + tn1150@0.1.0: + dependencies: + unorm: 1.6.0 + optional: true + + to-data-view@1.1.0: + optional: true + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 @@ -9248,6 +12108,10 @@ snapshots: trim-lines@3.0.1: {} + trim-repeated@1.0.0: + dependencies: + escape-string-regexp: 1.0.5 + trough@2.2.0: {} ts-api-utils@2.1.0(typescript@5.9.3): @@ -9267,6 +12131,10 @@ snapshots: type-fest@0.13.1: optional: true + type-fest@0.21.3: {} + + type-fest@1.4.0: {} + type-is@2.0.1: dependencies: content-type: 1.0.5 @@ -9284,6 +12152,8 @@ snapshots: transitivePeerDependencies: - supports-color + typescript@5.4.5: {} + typescript@5.9.3: {} uc.micro@2.1.0: {} @@ -9304,6 +12174,14 @@ snapshots: trough: 2.2.0 vfile: 6.0.3 + unique-filename@2.0.1: + dependencies: + unique-slug: 3.0.0 + + unique-slug@3.0.0: + dependencies: + imurmurhash: 0.1.4 + unist-util-find-after@5.0.0: dependencies: '@types/unist': 3.0.3 @@ -9339,6 +12217,11 @@ snapshots: universalify@0.1.2: {} + universalify@2.0.1: {} + + unorm@1.6.0: + optional: true + unpipe@1.0.0: {} update-browserslist-db@1.2.3(browserslist@4.28.1): @@ -9376,10 +12259,22 @@ snapshots: dependencies: react: 19.2.3 + username@5.1.0: + dependencies: + execa: 1.0.0 + mem: 4.3.0 + + util-deprecate@1.0.2: {} + uuid@11.1.0: {} uuid@9.0.1: {} + validate-npm-package-license@3.0.4: + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + vary@1.1.2: {} vfile-location@5.0.3: @@ -9397,7 +12292,7 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2): + vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.46.0)(yaml@2.8.2): dependencies: esbuild: 0.27.2 fdir: 6.5.0(picomatch@4.0.3) @@ -9410,6 +12305,7 @@ snapshots: fsevents: 2.3.3 jiti: 2.6.1 lightningcss: 1.30.2 + terser: 5.46.0 yaml: 2.8.2 vscode-jsonrpc@8.2.0: {} @@ -9441,23 +12337,76 @@ snapshots: transitivePeerDependencies: - debug + watchpack@2.5.1: + dependencies: + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + + wcwidth@1.0.1: + dependencies: + defaults: 1.0.4 + web-namespaces@2.0.1: {} web-streams-polyfill@3.3.3: {} webidl-conversions@3.0.1: {} + webpack-sources@3.3.3: {} + + webpack@5.104.1(esbuild@0.24.2): + dependencies: + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.8 + '@types/json-schema': 7.0.15 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/wasm-edit': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + acorn: 8.15.0 + acorn-import-phases: 1.0.4(acorn@8.15.0) + browserslist: 4.28.1 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.18.4 + es-module-lexer: 2.0.0 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.1 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 4.3.3 + tapable: 2.3.0 + terser-webpack-plugin: 5.3.16(esbuild@0.24.2)(webpack@5.104.1(esbuild@0.24.2)) + watchpack: 2.5.1 + webpack-sources: 3.3.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + whatwg-url@5.0.0: dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 + which@1.3.1: + dependencies: + isexe: 2.0.0 + which@2.0.2: dependencies: isexe: 2.0.0 word-wrap@1.2.5: {} + wrap-ansi@6.2.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi@7.0.0: dependencies: ansi-styles: 4.3.0 @@ -9472,14 +12421,35 @@ snapshots: wrappy@1.0.2: {} + xmlbuilder@15.1.1: {} + + xtend@4.0.2: + optional: true + y18n@5.0.8: {} yallist@3.1.1: {} + yallist@4.0.0: {} + yaml@2.8.2: {} + yargs-parser@20.2.9: + optional: true + yargs-parser@21.1.1: {} + yargs@16.2.0: + dependencies: + cliui: 7.0.4 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 20.2.9 + optional: true + yargs@17.7.2: dependencies: cliui: 8.0.1 @@ -9497,6 +12467,8 @@ snapshots: yocto-queue@0.1.0: {} + yoctocolors-cjs@2.1.3: {} + zod-to-json-schema@3.25.1(zod@4.2.1): dependencies: zod: 4.2.1 diff --git a/apps/x/pnpm-workspace.yaml b/apps/x/pnpm-workspace.yaml index d6935779..a13650b2 100644 --- a/apps/x/pnpm-workspace.yaml +++ b/apps/x/pnpm-workspace.yaml @@ -4,4 +4,7 @@ packages: onlyBuiltDependencies: - electron + - electron-winstaller - esbuild + - fs-xattr + - macos-alias \ No newline at end of file