heartwood every commit a ring

Run lighthouse through `bun run --bun`, drop nodejs/npm

f10b2bcb by Isaac Bythewood · 2 days ago

Run lighthouse through `bun run --bun`, drop nodejs/npm

The --bun flag symlinks node to bun so the lighthouse shim's
`#!/usr/bin/env node` shebang resolves to bun's runtime. The runtime
image now needs only chromium and bun. Lockfile migrated to bun.lock.
modified CLAUDE.md
@@ -32,7 +32,7 @@ There are no tests or linters configured.**SEO crawler (`src/crawler/`):** In-process spider built on reqwest + scraper, modeled directly on the original Python crawler. `mod.rs` runs the BFS up to PAGE_CAP (500) with CONCURRENCY (4) and a 9-minute deadline; `fetcher.rs` handles robots.txt/sitemap loading; `parser.rs` extracts title/meta/headings/links/images/forms/json-ld/text-hash; `checks.rs` is the same 38 checks as the Python version (SEO, links, sitemap, accessibility, content, performance, security).**Lighthouse (`src/lighthouse.rs`):** Subprocess to `node_modules/.bin/lighthouse` (npm package installed at the repo root). Returns the four category scores plus a "performance details" breakdown (top weighted metrics + top opportunities by savings). 180s outer timeout against chromium hangs. Chromium is located via `CHROMIUM_BIN`, then PATH search, then a `/opt/playwright-browsers/` glob fallback (so the webdev container Just Works without per-shell env vars).**Lighthouse (`src/lighthouse.rs`):** Subprocess invokes `bun run --bun node_modules/.bin/lighthouse` (the `--bun` flag symlinks `node` → bun so the shim's `#!/usr/bin/env node` shebang resolves to bun's runtime, which lets the runtime image drop nodejs/npm). Returns the four category scores plus a "performance details" breakdown (top weighted metrics + top opportunities by savings). 180s outer timeout against chromium hangs. Chromium is located via `CHROMIUM_BIN`, then PATH search, then a `/opt/playwright-browsers/` glob fallback (so the webdev container Just Works without per-shell env vars).**Alerts (`src/alerts.rs`):** Email is sent direct-to-MX: hickory-resolver looks up the recipient domain's MX records, sorted by preference, and lettre opens an opportunistic STARTTLS SMTP connection on port 25. Discord webhooks are plain HTTP POST. Both are best-effort; failures are logged and don't break the check loop. Recipient is `ALERT_EMAIL`; webhook is `DISCORD_WEBHOOK_URL`.
@@ -49,7 +49,7 @@ There are no tests or linters configured.```status/├── Cargo.toml, Cargo.lock        # rust deps├── package.json                  # only for the lighthouse npm CLI at repo root├── package.json, bun.lock        # only for the lighthouse CLI at repo root├── Makefile, README.md           # top-level├── migrations/                   # sqlx migrations (0001_initial.sql)├── src/                          # rust source
@@ -66,7 +66,7 @@ status/│   │   └── dashboard.rs   # /<id> dashboard, /<id>/{status,recrawl,rerun-lighthouse}, build_property_context│   ├── models.rs      # PropertyRow + queries (list/get/create/delete/toggle_public)│   ├── checker.rs     # HTTP probe + alert state machine│   ├── lighthouse.rs  # subprocess to node_modules/.bin/lighthouse│   ├── lighthouse.rs  # subprocess to bun run --bun node_modules/.bin/lighthouse│   ├── crawler/       # SEO spider (mod, fetcher, parser, checks)│   ├── scheduler.rs   # 30s tokio loop with fast/slow semaphores│   ├── alerts.rs      # direct-MX email via lettre + Discord webhook (+ render_preview_html)
@@ -111,5 +111,5 @@ The binary reads `templates/`, `dist/`, and `migrations/` from cwd by default. O## Tooling- **Rust deps:** managed with `cargo` (`Cargo.toml`, `Cargo.lock`)- **JS deps:** managed with `bun` from `frontend/`. The lighthouse npm CLI is installed at the repo root with plain `npm install` so its `node_modules/.bin/lighthouse` shim resolves correctly.- **Production:** Docker (`rust:alpine` builder + `alpine:3.23` runtime, `chromium` + `nodejs` apk packages: chromium is needed for lighthouse only, since PDF runs through embedded Typst). Runtime image also installs `font-jetbrains-mono`, `ttf-dejavu`, `ttf-liberation`, and `fontconfig` so the Typst renderer can find a body sans, mono, and fallback fonts. Deployed via `git push server master` triggering a post-receive hook that runs `docker compose up --build --detach`. Data persisted to `/srv/data/status/`.- **JS deps:** managed with `bun` everywhere. Frontend deps live in `frontend/`; the lighthouse CLI is installed at the repo root with `bun install` (lockfile `bun.lock`) so its `node_modules/.bin/lighthouse` shim resolves correctly. The rust binary invokes that shim through `bun run --bun`, so no nodejs/npm is needed at any stage.- **Production:** Docker (`rust:alpine` builder + `alpine:3.23` runtime, `chromium` apk package plus bun copied from `oven/bun:alpine`: chromium is needed for lighthouse only, since PDF runs through embedded Typst). Runtime image also installs `font-jetbrains-mono`, `ttf-dejavu`, `ttf-liberation`, and `fontconfig` so the Typst renderer can find a body sans, mono, and fallback fonts. Deployed via `git push server master` triggering a post-receive hook that runs `docker compose up --build --detach`. Data persisted to `/srv/data/status/`.
modified Dockerfile
@@ -24,25 +24,29 @@ RUN --mount=type=cache,target=/usr/local/cargo/registry \# ----- runtime -----FROM alpine:3.23# nodejs + chromium for the lighthouse npm CLI. PDF reports are rendered# in-process via embedded Typst, so the chromium dep is lighthouse-only.# Fonts are for the Typst renderer (it scans system fonts at boot and embeds# the listed families into output PDFs).# chromium for the lighthouse CLI to drive (lighthouse never bundled a browser).# PDF reports are rendered in-process via embedded Typst, so the chromium dep is# lighthouse-only. Fonts are for the Typst renderer (it scans system fonts at# boot and embeds the listed families into output PDFs).RUN apk add --no-cache \    nodejs npm chromium ca-certificates \    chromium ca-certificates \    font-jetbrains-mono ttf-dejavu ttf-liberation fontconfig# bun in the runtime stage runs the lighthouse CLI via `bun run --bun`, which# symlinks node→bun so the shim's `#!/usr/bin/env node` shebang resolves to bun.COPY --from=oven/bun:alpine /usr/local/bin/bun /usr/local/bin/bunWORKDIR /appCOPY --from=builder /app/status ./statusCOPY --from=builder /app/dist ./distCOPY templates ./templatesCOPY migrations ./migrationsCOPY package.json ./COPY package.json bun.lock ./# Lighthouse npm package is required at runtime: the binary shells out to# /app/node_modules/.bin/lighthouse for site audits.RUN npm install --omit=dev --no-audit --no-fund# Lighthouse package is required at runtime: the rust binary shells out to# /app/node_modules/.bin/lighthouse via `bun run --bun` for site audits.RUN bun install --frozen-lockfile --productionRUN addgroup -S -g 1000 app && \    adduser -S -h /app -s /sbin/nologin -u 1000 -G app app && \
modified Makefile
@@ -5,8 +5,8 @@ PORT  ?= 8000.PHONY: run build start clean push pull migrate# Dev: Vite watch + cargo run concurrently. Both die on Ctrl+C.# Lighthouse runs in-process (subprocess to node_modules/.bin/lighthouse), so# the dev binary needs the npm install too.# Lighthouse runs in-process (subprocess to node_modules/.bin/lighthouse via# `bun run --bun`), so the dev binary needs the root bun install too.run: frontend/node_modules dist/.vite/manifest.json node_modules	@trap 'kill 0' EXIT INT TERM; \	(cd frontend && bun run dev) & \
@@ -45,11 +45,11 @@ pull:frontend/node_modules:	cd frontend && bun install# Lighthouse npm package, installed at the repo root because the lighthouse# binary lives at node_modules/.bin/lighthouse and reads node_modules/lighthouse# at runtime.# Lighthouse package, installed at the repo root because the lighthouse binary# lives at node_modules/.bin/lighthouse and reads node_modules/lighthouse at# runtime. Installed with bun (no nodejs/npm in the runtime image).node_modules: package.json	npm install --omit=dev --no-audit --no-fund	bun install --productiondist/.vite/manifest.json: frontend/node_modules	cd frontend && bun run build
added bun.lock
@@ -0,0 +1,417 @@{  "lockfileVersion": 1,  "configVersion": 1,  "workspaces": {    "": {      "name": "status-lighthouse",      "dependencies": {        "lighthouse": "^12.0.0",      },    },  },  "packages": {    "@formatjs/ecma402-abstract": ["@formatjs/ecma402-abstract@2.3.6", "", { "dependencies": { "@formatjs/fast-memoize": "2.2.7", "@formatjs/intl-localematcher": "0.6.2", "decimal.js": "^10.4.3", "tslib": "^2.8.0" } }, "sha512-HJnTFeRM2kVFVr5gr5kH1XP6K0JcJtE7Lzvtr3FS/so5f1kpsqqqxy5JF+FRaO6H2qmcMfAUIox7AJteieRtVw=="],    "@formatjs/fast-memoize": ["@formatjs/fast-memoize@2.2.7", "", { "dependencies": { "tslib": "^2.8.0" } }, "sha512-Yabmi9nSvyOMrlSeGGWDiH7rf3a7sIwplbvo/dlz9WCIjzIQAfy1RMf4S0X3yG724n5Ghu2GmEl5NJIV6O9sZQ=="],    "@formatjs/icu-messageformat-parser": ["@formatjs/icu-messageformat-parser@2.11.4", "", { "dependencies": { "@formatjs/ecma402-abstract": "2.3.6", "@formatjs/icu-skeleton-parser": "1.8.16", "tslib": "^2.8.0" } }, "sha512-7kR78cRrPNB4fjGFZg3Rmj5aah8rQj9KPzuLsmcSn4ipLXQvC04keycTI1F7kJYDwIXtT2+7IDEto842CfZBtw=="],    "@formatjs/icu-skeleton-parser": ["@formatjs/icu-skeleton-parser@1.8.16", "", { "dependencies": { "@formatjs/ecma402-abstract": "2.3.6", "tslib": "^2.8.0" } }, "sha512-H13E9Xl+PxBd8D5/6TVUluSpxGNvFSlN/b3coUp0e0JpuWXXnQDiavIpY3NnvSp4xhEMoXyyBvVfdFX8jglOHQ=="],    "@formatjs/intl-localematcher": ["@formatjs/intl-localematcher@0.6.2", "", { "dependencies": { "tslib": "^2.8.0" } }, "sha512-XOMO2Hupl0wdd172Y06h6kLpBz6Dv+J4okPLl4LPtzbr8f66WbIoy4ev98EBuZ6ZK4h5ydTN6XneT4QVpD7cdA=="],    "@opentelemetry/api": ["@opentelemetry/api@1.9.1", "", {}, "sha512-gLyJlPHPZYdAk1JENA9LeHejZe1Ti77/pTeFm/nMXmQH/HFZlcS/O2XJB+L8fkbrNSqhdtlvjBVjxwUYanNH5Q=="],    "@opentelemetry/api-logs": ["@opentelemetry/api-logs@0.57.2", "", { "dependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-uIX52NnTM0iBh84MShlpouI7UKqkZ7MrUszTmaypHBu4r7NofznSnQRfJ+uUeDtQDj6w8eFGg5KBLDAwAPz1+A=="],    "@opentelemetry/context-async-hooks": ["@opentelemetry/context-async-hooks@1.30.1", "", { "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-s5vvxXPVdjqS3kTLKMeBMvop9hbWkwzBpu+mUO2M7sZtlkyDJGwFe33wRKnbaYDo8ExRVBIIdwIGrqpxHuKttA=="],    "@opentelemetry/core": ["@opentelemetry/core@1.30.1", "", { "dependencies": { "@opentelemetry/semantic-conventions": "1.28.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-OOCM2C/QIURhJMuKaekP3TRBxBKxG/TWWA0TL2J6nXUtDnuCtccy49LUJF8xPFXMX+0LMcxFpCo8M9cGY1W6rQ=="],    "@opentelemetry/instrumentation": ["@opentelemetry/instrumentation@0.57.2", "", { "dependencies": { "@opentelemetry/api-logs": "0.57.2", "@types/shimmer": "^1.2.0", "import-in-the-middle": "^1.8.1", "require-in-the-middle": "^7.1.1", "semver": "^7.5.2", "shimmer": "^1.2.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-BdBGhQBh8IjZ2oIIX6F2/Q3LKm/FDDKi6ccYKcBTeilh6SNdNKveDOLk73BkSJjQLJk6qe4Yh+hHw1UPhCDdrg=="],    "@opentelemetry/instrumentation-amqplib": ["@opentelemetry/instrumentation-amqplib@0.46.1", "", { "dependencies": { "@opentelemetry/core": "^1.8.0", "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/semantic-conventions": "^1.27.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-AyXVnlCf/xV3K/rNumzKxZqsULyITJH6OVLiW6730JPRqWA7Zc9bvYoVNpN6iOpTU8CasH34SU/ksVJmObFibQ=="],    "@opentelemetry/instrumentation-connect": ["@opentelemetry/instrumentation-connect@0.43.1", "", { "dependencies": { "@opentelemetry/core": "^1.8.0", "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/semantic-conventions": "^1.27.0", "@types/connect": "3.4.38" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-ht7YGWQuV5BopMcw5Q2hXn3I8eG8TH0J/kc/GMcW4CuNTgiP6wCu44BOnucJWL3CmFWaRHI//vWyAhaC8BwePw=="],    "@opentelemetry/instrumentation-dataloader": ["@opentelemetry/instrumentation-dataloader@0.16.1", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.57.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-K/qU4CjnzOpNkkKO4DfCLSQshejRNAJtd4esgigo/50nxCB6XCyi1dhAblUHM9jG5dRm8eu0FB+t87nIo99LYQ=="],    "@opentelemetry/instrumentation-express": ["@opentelemetry/instrumentation-express@0.47.1", "", { "dependencies": { "@opentelemetry/core": "^1.8.0", "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/semantic-conventions": "^1.27.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-QNXPTWteDclR2B4pDFpz0TNghgB33UMjUt14B+BZPmtH1MwUFAfLHBaP5If0Z5NZC+jaH8oF2glgYjrmhZWmSw=="],    "@opentelemetry/instrumentation-fs": ["@opentelemetry/instrumentation-fs@0.19.1", "", { "dependencies": { "@opentelemetry/core": "^1.8.0", "@opentelemetry/instrumentation": "^0.57.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-6g0FhB3B9UobAR60BGTcXg4IHZ6aaYJzp0Ki5FhnxyAPt8Ns+9SSvgcrnsN2eGmk3RWG5vYycUGOEApycQL24A=="],    "@opentelemetry/instrumentation-generic-pool": ["@opentelemetry/instrumentation-generic-pool@0.43.1", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.57.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-M6qGYsp1cURtvVLGDrPPZemMFEbuMmCXgQYTReC/IbimV5sGrLBjB+/hANUpRZjX67nGLdKSVLZuQQAiNz+sww=="],    "@opentelemetry/instrumentation-graphql": ["@opentelemetry/instrumentation-graphql@0.47.1", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.57.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-EGQRWMGqwiuVma8ZLAZnExQ7sBvbOx0N/AE/nlafISPs8S+QtXX+Viy6dcQwVWwYHQPAcuY3bFt3xgoAwb4ZNQ=="],    "@opentelemetry/instrumentation-hapi": ["@opentelemetry/instrumentation-hapi@0.45.2", "", { "dependencies": { "@opentelemetry/core": "^1.8.0", "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/semantic-conventions": "^1.27.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-7Ehow/7Wp3aoyCrZwQpU7a2CnoMq0XhIcioFuKjBb0PLYfBfmTsFTUyatlHu0fRxhwcRsSQRTvEhmZu8CppBpQ=="],    "@opentelemetry/instrumentation-http": ["@opentelemetry/instrumentation-http@0.57.2", "", { "dependencies": { "@opentelemetry/core": "1.30.1", "@opentelemetry/instrumentation": "0.57.2", "@opentelemetry/semantic-conventions": "1.28.0", "forwarded-parse": "2.1.2", "semver": "^7.5.2" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-1Uz5iJ9ZAlFOiPuwYg29Bf7bJJc/GeoeJIFKJYQf67nTVKFe8RHbEtxgkOmK4UGZNHKXcpW4P8cWBYzBn1USpg=="],    "@opentelemetry/instrumentation-ioredis": ["@opentelemetry/instrumentation-ioredis@0.47.1", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/redis-common": "^0.36.2", "@opentelemetry/semantic-conventions": "^1.27.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-OtFGSN+kgk/aoKgdkKQnBsQFDiG8WdCxu+UrHr0bXScdAmtSzLSraLo7wFIb25RVHfRWvzI5kZomqJYEg/l1iA=="],    "@opentelemetry/instrumentation-kafkajs": ["@opentelemetry/instrumentation-kafkajs@0.7.1", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/semantic-conventions": "^1.27.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-OtjaKs8H7oysfErajdYr1yuWSjMAectT7Dwr+axIoZqT9lmEOkD/H/3rgAs8h/NIuEi2imSXD+vL4MZtOuJfqQ=="],    "@opentelemetry/instrumentation-knex": ["@opentelemetry/instrumentation-knex@0.44.1", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/semantic-conventions": "^1.27.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-U4dQxkNhvPexffjEmGwCq68FuftFK15JgUF05y/HlK3M6W/G2iEaACIfXdSnwVNe9Qh0sPfw8LbOPxrWzGWGMQ=="],    "@opentelemetry/instrumentation-koa": ["@opentelemetry/instrumentation-koa@0.47.1", "", { "dependencies": { "@opentelemetry/core": "^1.8.0", "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/semantic-conventions": "^1.27.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-l/c+Z9F86cOiPJUllUCt09v+kICKvT+Vg1vOAJHtHPsJIzurGayucfCMq2acd/A/yxeNWunl9d9eqZ0G+XiI6A=="],    "@opentelemetry/instrumentation-lru-memoizer": ["@opentelemetry/instrumentation-lru-memoizer@0.44.1", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.57.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-5MPkYCvG2yw7WONEjYj5lr5JFehTobW7wX+ZUFy81oF2lr9IPfZk9qO+FTaM0bGEiymwfLwKe6jE15nHn1nmHg=="],    "@opentelemetry/instrumentation-mongodb": ["@opentelemetry/instrumentation-mongodb@0.52.0", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/semantic-conventions": "^1.27.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-1xmAqOtRUQGR7QfJFfGV/M2kC7wmI2WgZdpru8hJl3S0r4hW0n3OQpEHlSGXJAaNFyvT+ilnwkT+g5L4ljHR6g=="],    "@opentelemetry/instrumentation-mongoose": ["@opentelemetry/instrumentation-mongoose@0.46.1", "", { "dependencies": { "@opentelemetry/core": "^1.8.0", "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/semantic-conventions": "^1.27.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-3kINtW1LUTPkiXFRSSBmva1SXzS/72we/jL22N+BnF3DFcoewkdkHPYOIdAAk9gSicJ4d5Ojtt1/HeibEc5OQg=="],    "@opentelemetry/instrumentation-mysql": ["@opentelemetry/instrumentation-mysql@0.45.1", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/semantic-conventions": "^1.27.0", "@types/mysql": "2.15.26" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-TKp4hQ8iKQsY7vnp/j0yJJ4ZsP109Ht6l4RHTj0lNEG1TfgTrIH5vJMbgmoYXWzNHAqBH2e7fncN12p3BP8LFg=="],    "@opentelemetry/instrumentation-mysql2": ["@opentelemetry/instrumentation-mysql2@0.45.2", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/semantic-conventions": "^1.27.0", "@opentelemetry/sql-common": "^0.40.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-h6Ad60FjCYdJZ5DTz1Lk2VmQsShiViKe0G7sYikb0GHI0NVvApp2XQNRHNjEMz87roFttGPLHOYVPlfy+yVIhQ=="],    "@opentelemetry/instrumentation-pg": ["@opentelemetry/instrumentation-pg@0.51.1", "", { "dependencies": { "@opentelemetry/core": "^1.26.0", "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/semantic-conventions": "^1.27.0", "@opentelemetry/sql-common": "^0.40.1", "@types/pg": "8.6.1", "@types/pg-pool": "2.0.6" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-QxgjSrxyWZc7Vk+qGSfsejPVFL1AgAJdSBMYZdDUbwg730D09ub3PXScB9d04vIqPriZ+0dqzjmQx0yWKiCi2Q=="],    "@opentelemetry/instrumentation-redis-4": ["@opentelemetry/instrumentation-redis-4@0.46.1", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/redis-common": "^0.36.2", "@opentelemetry/semantic-conventions": "^1.27.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-UMqleEoabYMsWoTkqyt9WAzXwZ4BlFZHO40wr3d5ZvtjKCHlD4YXLm+6OLCeIi/HkX7EXvQaz8gtAwkwwSEvcQ=="],    "@opentelemetry/instrumentation-tedious": ["@opentelemetry/instrumentation-tedious@0.18.1", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/semantic-conventions": "^1.27.0", "@types/tedious": "^4.0.14" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-5Cuy/nj0HBaH+ZJ4leuD7RjgvA844aY2WW+B5uLcWtxGjRZl3MNLuxnNg5DYWZNPO+NafSSnra0q49KWAHsKBg=="],    "@opentelemetry/instrumentation-undici": ["@opentelemetry/instrumentation-undici@0.10.1", "", { "dependencies": { "@opentelemetry/core": "^1.8.0", "@opentelemetry/instrumentation": "^0.57.1" }, "peerDependencies": { "@opentelemetry/api": "^1.7.0" } }, "sha512-rkOGikPEyRpMCmNu9AQuV5dtRlDmJp2dK5sw8roVshAGoB6hH/3QjDtRhdwd75SsJwgynWUNRUYe0wAkTo16tQ=="],    "@opentelemetry/redis-common": ["@opentelemetry/redis-common@0.36.2", "", {}, "sha512-faYX1N0gpLhej/6nyp6bgRjzAKXn5GOEMYY7YhciSfCoITAktLUtQ36d24QEWNA1/WA1y6qQunCe0OhHRkVl9g=="],    "@opentelemetry/resources": ["@opentelemetry/resources@1.30.1", "", { "dependencies": { "@opentelemetry/core": "1.30.1", "@opentelemetry/semantic-conventions": "1.28.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-5UxZqiAgLYGFjS4s9qm5mBVo433u+dSPUFWVWXmLAD4wB65oMCoXaJP1KJa9DIYYMeHu3z4BZcStG3LC593cWA=="],    "@opentelemetry/sdk-trace-base": ["@opentelemetry/sdk-trace-base@1.30.1", "", { "dependencies": { "@opentelemetry/core": "1.30.1", "@opentelemetry/resources": "1.30.1", "@opentelemetry/semantic-conventions": "1.28.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-jVPgBbH1gCy2Lb7X0AVQ8XAfgg0pJ4nvl8/IiQA6nxOsPvS+0zMJaFSs2ltXe0J6C8dqjcnpyqINDJmU30+uOg=="],    "@opentelemetry/semantic-conventions": ["@opentelemetry/semantic-conventions@1.40.0", "", {}, "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw=="],    "@opentelemetry/sql-common": ["@opentelemetry/sql-common@0.40.1", "", { "dependencies": { "@opentelemetry/core": "^1.1.0" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0" } }, "sha512-nSDlnHSqzC3pXn/wZEZVLuAuJ1MYMXPBwtv2qAbCa3847SaHItdE7SzUq/Jtb0KZmh1zfAbNi3AAMjztTT4Ugg=="],    "@paulirish/trace_engine": ["@paulirish/trace_engine@0.0.59", "", { "dependencies": { "legacy-javascript": "latest", "third-party-web": "latest" } }, "sha512-439NUzQGmH+9Y017/xCchBP9571J4bzhpcNhrxorf7r37wcyJZkgUfrUsRL3xl+JDcZ6ORhoFCzCw98c6S3YHw=="],    "@prisma/instrumentation": ["@prisma/instrumentation@6.11.1", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.52.0 || ^0.53.0 || ^0.54.0 || ^0.55.0 || ^0.56.0 || ^0.57.0" }, "peerDependencies": { "@opentelemetry/api": "^1.8" } }, "sha512-mrZOev24EDhnefmnZX7WVVT7v+r9LttPRqf54ONvj6re4XMF7wFTpK2tLJi4XHB7fFp/6xhYbgRel8YV7gQiyA=="],    "@puppeteer/browsers": ["@puppeteer/browsers@2.13.1", "", { "dependencies": { "debug": "^4.4.3", "extract-zip": "^2.0.1", "progress": "^2.0.3", "proxy-agent": "^6.5.0", "semver": "^7.7.4", "tar-fs": "^3.1.1", "yargs": "^17.7.2" }, "bin": { "browsers": "lib/cjs/main-cli.js" } }, "sha512-zmS4RTK9fbrc++WlAJhxYbfz3IjDeOmkK/CwwbLmk7ydfS9e2CiEeRJHEPvjDVElO/bwXbidwGA37Bsm6LzCnQ=="],    "@sentry/core": ["@sentry/core@9.47.1", "", {}, "sha512-KX62+qIt4xgy8eHKHiikfhz2p5fOciXd0Cl+dNzhgPFq8klq4MGMNaf148GB3M/vBqP4nw/eFvRMAayFCgdRQw=="],    "@sentry/node": ["@sentry/node@9.47.1", "", { "dependencies": { "@opentelemetry/api": "^1.9.0", "@opentelemetry/context-async-hooks": "^1.30.1", "@opentelemetry/core": "^1.30.1", "@opentelemetry/instrumentation": "^0.57.2", "@opentelemetry/instrumentation-amqplib": "^0.46.1", "@opentelemetry/instrumentation-connect": "0.43.1", "@opentelemetry/instrumentation-dataloader": "0.16.1", "@opentelemetry/instrumentation-express": "0.47.1", "@opentelemetry/instrumentation-fs": "0.19.1", "@opentelemetry/instrumentation-generic-pool": "0.43.1", "@opentelemetry/instrumentation-graphql": "0.47.1", "@opentelemetry/instrumentation-hapi": "0.45.2", "@opentelemetry/instrumentation-http": "0.57.2", "@opentelemetry/instrumentation-ioredis": "0.47.1", "@opentelemetry/instrumentation-kafkajs": "0.7.1", "@opentelemetry/instrumentation-knex": "0.44.1", "@opentelemetry/instrumentation-koa": "0.47.1", "@opentelemetry/instrumentation-lru-memoizer": "0.44.1", "@opentelemetry/instrumentation-mongodb": "0.52.0", "@opentelemetry/instrumentation-mongoose": "0.46.1", "@opentelemetry/instrumentation-mysql": "0.45.1", "@opentelemetry/instrumentation-mysql2": "0.45.2", "@opentelemetry/instrumentation-pg": "0.51.1", "@opentelemetry/instrumentation-redis-4": "0.46.1", "@opentelemetry/instrumentation-tedious": "0.18.1", "@opentelemetry/instrumentation-undici": "0.10.1", "@opentelemetry/resources": "^1.30.1", "@opentelemetry/sdk-trace-base": "^1.30.1", "@opentelemetry/semantic-conventions": "^1.34.0", "@prisma/instrumentation": "6.11.1", "@sentry/core": "9.47.1", "@sentry/node-core": "9.47.1", "@sentry/opentelemetry": "9.47.1", "import-in-the-middle": "^1.14.2", "minimatch": "^9.0.0" } }, "sha512-CDbkasBz3fnWRKSFs6mmaRepM2pa+tbZkrqhPWifFfIkJDidtVW40p6OnquTvPXyPAszCnDZRnZT14xyvNmKPQ=="],    "@sentry/node-core": ["@sentry/node-core@9.47.1", "", { "dependencies": { "@sentry/core": "9.47.1", "@sentry/opentelemetry": "9.47.1", "import-in-the-middle": "^1.14.2" }, "peerDependencies": { "@opentelemetry/api": "^1.9.0", "@opentelemetry/context-async-hooks": "^1.30.1 || ^2.0.0", "@opentelemetry/core": "^1.30.1 || ^2.0.0", "@opentelemetry/instrumentation": ">=0.57.1 <1", "@opentelemetry/resources": "^1.30.1 || ^2.0.0", "@opentelemetry/sdk-trace-base": "^1.30.1 || ^2.0.0", "@opentelemetry/semantic-conventions": "^1.34.0" } }, "sha512-7TEOiCGkyShJ8CKtsri9lbgMCbB+qNts2Xq37itiMPN2m+lIukK3OX//L8DC5nfKYZlgikrefS63/vJtm669hQ=="],    "@sentry/opentelemetry": ["@sentry/opentelemetry@9.47.1", "", { "dependencies": { "@sentry/core": "9.47.1" }, "peerDependencies": { "@opentelemetry/api": "^1.9.0", "@opentelemetry/context-async-hooks": "^1.30.1 || ^2.0.0", "@opentelemetry/core": "^1.30.1 || ^2.0.0", "@opentelemetry/sdk-trace-base": "^1.30.1 || ^2.0.0", "@opentelemetry/semantic-conventions": "^1.34.0" } }, "sha512-STtFpjF7lwzeoedDJV+5XA6P89BfmFwFftmHSGSe3UTI8z8IoiR5yB6X2vCjSPvXlfeOs13qCNNCEZyznxM8Xw=="],    "@tootallnate/quickjs-emscripten": ["@tootallnate/quickjs-emscripten@0.23.0", "", {}, "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA=="],    "@types/connect": ["@types/connect@3.4.38", "", { "dependencies": { "@types/node": "*" } }, "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug=="],    "@types/mysql": ["@types/mysql@2.15.26", "", { "dependencies": { "@types/node": "*" } }, "sha512-DSLCOXhkvfS5WNNPbfn2KdICAmk8lLc+/PNvnPnF7gOdMZCxopXduqv0OQ13y/yA/zXTSikZZqVgybUxOEg6YQ=="],    "@types/node": ["@types/node@25.6.2", "", { "dependencies": { "undici-types": "~7.19.0" } }, "sha512-sokuT28dxf9JT5Kady1fsXOvI4HVpjZa95NKT5y9PNTIrs2AsobR4GFAA90ZG8M+nxVRLysCXsVj6eGC7Vbrlw=="],    "@types/pg": ["@types/pg@8.6.1", "", { "dependencies": { "@types/node": "*", "pg-protocol": "*", "pg-types": "^2.2.0" } }, "sha512-1Kc4oAGzAl7uqUStZCDvaLFqZrW9qWSjXOmBfdgyBP5La7Us6Mg4GBvRlSoaZMhQF/zSj1C8CtKMBkoiT8eL8w=="],    "@types/pg-pool": ["@types/pg-pool@2.0.6", "", { "dependencies": { "@types/pg": "*" } }, "sha512-TaAUE5rq2VQYxab5Ts7WZhKNmuN78Q6PiFonTDdpbx8a1H0M1vhy3rhiMjl+e2iHmogyMw7jZF4FrE6eJUy5HQ=="],    "@types/shimmer": ["@types/shimmer@1.2.0", "", {}, "sha512-UE7oxhQLLd9gub6JKIAhDq06T0F6FnztwMNRvYgjeQSBeMc1ZG/tA47EwfduvkuQS8apbkM/lpLpWsaCeYsXVg=="],    "@types/tedious": ["@types/tedious@4.0.14", "", { "dependencies": { "@types/node": "*" } }, "sha512-KHPsfX/FoVbUGbyYvk1q9MMQHLPeRZhRJZdO45Q4YjvFkv4hMNghCWTvy7rdKessBsmtz4euWCWAB6/tVpI1Iw=="],    "@types/yauzl": ["@types/yauzl@2.10.3", "", { "dependencies": { "@types/node": "*" } }, "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q=="],    "acorn": ["acorn@8.16.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw=="],    "acorn-import-attributes": ["acorn-import-attributes@1.9.5", "", { "peerDependencies": { "acorn": "^8" } }, "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ=="],    "agent-base": ["agent-base@7.1.4", "", {}, "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ=="],    "ansi-colors": ["ansi-colors@4.1.3", "", {}, "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw=="],    "ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],    "ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="],    "ast-types": ["ast-types@0.13.4", "", { "dependencies": { "tslib": "^2.0.1" } }, "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w=="],    "atomically": ["atomically@2.1.1", "", { "dependencies": { "stubborn-fs": "^2.0.0", "when-exit": "^2.1.4" } }, "sha512-P4w9o2dqARji6P7MHprklbfiArZAWvo07yW7qs3pdljb3BWr12FIB7W+p0zJiuiVsUpRO0iZn1kFFcpPegg0tQ=="],    "axe-core": ["axe-core@4.11.4", "", {}, "sha512-KunSNx+TVpkAw/6ULfhnx+HWRecjqZGTOyquAoWHYLRSdK1tB5Ihce1ZW+UY3fj33bYAFWPu7W/GRSmmrCGuxA=="],    "b4a": ["b4a@1.8.1", "", { "peerDependencies": { "react-native-b4a": "*" }, "optionalPeers": ["react-native-b4a"] }, "sha512-aiqre1Nr0B/6DgE2N5vwTc+2/oQZ4Wh1t4NznYY4E00y8LCt6NqdRv81so00oo27D8MVKTpUa/MwUUtBLXCoDw=="],    "balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="],    "bare-events": ["bare-events@2.8.2", "", { "peerDependencies": { "bare-abort-controller": "*" }, "optionalPeers": ["bare-abort-controller"] }, "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ=="],    "bare-fs": ["bare-fs@4.7.1", "", { "dependencies": { "bare-events": "^2.5.4", "bare-path": "^3.0.0", "bare-stream": "^2.6.4", "bare-url": "^2.2.2", "fast-fifo": "^1.3.2" }, "peerDependencies": { "bare-buffer": "*" }, "optionalPeers": ["bare-buffer"] }, "sha512-WDRsyVN52eAx/lBamKD6uyw8H4228h/x0sGGGegOamM2cd7Pag88GfMQalobXI+HaEUxpCkbKQUDOQqt9wawRw=="],    "bare-os": ["bare-os@3.9.1", "", {}, "sha512-6M5XjcnsygQNPMCMPXSK379xrJFiZ/AEMNBmFEmQW8d/789VQATvriyi5r0HYTL9TkQ26rn3kgdTG3aisbrXkQ=="],    "bare-path": ["bare-path@3.0.0", "", { "dependencies": { "bare-os": "^3.0.1" } }, "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw=="],    "bare-stream": ["bare-stream@2.13.1", "", { "dependencies": { "streamx": "^2.25.0", "teex": "^1.0.1" }, "peerDependencies": { "bare-abort-controller": "*", "bare-buffer": "*", "bare-events": "*" }, "optionalPeers": ["bare-abort-controller", "bare-buffer", "bare-events"] }, "sha512-Vp0cnjYyrEC4whYTymQ+YZi6pBpfiICZO3cfRG8sy67ZNWe951urv1x4eW1BKNngw3U+3fPYb5JQvHbCtxH7Ow=="],    "bare-url": ["bare-url@2.4.3", "", { "dependencies": { "bare-path": "^3.0.0" } }, "sha512-Kccpc7ACfXaxfeInfqKcZtW4pT5YBn1mesc4sCsun6sRwtbJ4h+sNOaksUpYEJUKfN65YWC6Bw2OJEFiKxq8nQ=="],    "basic-ftp": ["basic-ftp@5.3.1", "", {}, "sha512-bopVNp6ugyA150DDuZfPFdt1KZ5a94ZDiwX4hMgZDzF+GttD80lEy8kj98kbyhLXnPvhtIo93mdnLIjpCAeeOw=="],    "brace-expansion": ["brace-expansion@2.1.0", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w=="],    "buffer-crc32": ["buffer-crc32@0.2.13", "", {}, "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ=="],    "chrome-launcher": ["chrome-launcher@1.2.1", "", { "dependencies": { "@types/node": "*", "escape-string-regexp": "^4.0.0", "is-wsl": "^2.2.0", "lighthouse-logger": "^2.0.1" }, "bin": { "print-chrome-path": "bin/print-chrome-path.cjs" } }, "sha512-qmFR5PLMzHyuNJHwOloHPAHhbaNglkfeV/xDtt5b7xiFFyU1I+AZZX0PYseMuhenJSSirgxELYIbswcoc+5H4A=="],    "chromium-bidi": ["chromium-bidi@14.0.0", "", { "dependencies": { "mitt": "^3.0.1", "zod": "^3.24.1" }, "peerDependencies": { "devtools-protocol": "*" } }, "sha512-9gYlLtS6tStdRWzrtXaTMnqcM4dudNegMXJxkR0I/CXObHalYeYcAMPrL19eroNZHtJ8DQmu1E+ZNOYu/IXMXw=="],    "cjs-module-lexer": ["cjs-module-lexer@1.4.3", "", {}, "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q=="],    "cliui": ["cliui@8.0.1", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" } }, "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ=="],    "color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="],    "color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="],    "configstore": ["configstore@7.1.0", "", { "dependencies": { "atomically": "^2.0.3", "dot-prop": "^9.0.0", "graceful-fs": "^4.2.11", "xdg-basedir": "^5.1.0" } }, "sha512-N4oog6YJWbR9kGyXvS7jEykLDXIE2C0ILYqNBZBp9iwiJpoCBWYsuAdW6PPFn6w06jjnC+3JstVvWHO4cZqvRg=="],    "csp_evaluator": ["csp_evaluator@1.1.5", "", {}, "sha512-EL/iN9etCTzw/fBnp0/uj0f5BOOGvZut2mzsiiBZ/FdT6gFQCKRO/tmcKOxn5drWZ2Ndm/xBb1SI4zwWbGtmIw=="],    "data-uri-to-buffer": ["data-uri-to-buffer@6.0.2", "", {}, "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw=="],    "debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="],    "decimal.js": ["decimal.js@10.6.0", "", {}, "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg=="],    "define-lazy-prop": ["define-lazy-prop@2.0.0", "", {}, "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og=="],    "degenerator": ["degenerator@5.0.1", "", { "dependencies": { "ast-types": "^0.13.4", "escodegen": "^2.1.0", "esprima": "^4.0.1" } }, "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ=="],    "devtools-protocol": ["devtools-protocol@0.0.1507524", "", {}, "sha512-OjaNE7qpk6GRTXtqQjAE5bGx6+c4F1zZH0YXtpZQLM92HNXx4zMAaqlKhP4T52DosG6hDW8gPMNhGOF8xbwk/w=="],    "dot-prop": ["dot-prop@9.0.0", "", { "dependencies": { "type-fest": "^4.18.2" } }, "sha512-1gxPBJpI/pcjQhKgIU91II6Wkay+dLcN3M6rf2uwP8hRur3HtQXjVrdAK3sjC0piaEuxzMwjXChcETiJl47lAQ=="],    "emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="],    "end-of-stream": ["end-of-stream@1.4.5", "", { "dependencies": { "once": "^1.4.0" } }, "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg=="],    "enquirer": ["enquirer@2.4.1", "", { "dependencies": { "ansi-colors": "^4.1.1", "strip-ansi": "^6.0.1" } }, "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ=="],    "es-errors": ["es-errors@1.3.0", "", {}, "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="],    "escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="],    "escape-string-regexp": ["escape-string-regexp@4.0.0", "", {}, "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="],    "escodegen": ["escodegen@2.1.0", "", { "dependencies": { "esprima": "^4.0.1", "estraverse": "^5.2.0", "esutils": "^2.0.2" }, "optionalDependencies": { "source-map": "~0.6.1" }, "bin": { "esgenerate": "bin/esgenerate.js", "escodegen": "bin/escodegen.js" } }, "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w=="],    "esprima": ["esprima@4.0.1", "", { "bin": { "esparse": "./bin/esparse.js", "esvalidate": "./bin/esvalidate.js" } }, "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="],    "estraverse": ["estraverse@5.3.0", "", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="],    "esutils": ["esutils@2.0.3", "", {}, "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="],    "events-universal": ["events-universal@1.0.1", "", { "dependencies": { "bare-events": "^2.7.0" } }, "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw=="],    "extract-zip": ["extract-zip@2.0.1", "", { "dependencies": { "debug": "^4.1.1", "get-stream": "^5.1.0", "yauzl": "^2.10.0" }, "optionalDependencies": { "@types/yauzl": "^2.9.1" }, "bin": { "extract-zip": "cli.js" } }, "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg=="],    "fast-fifo": ["fast-fifo@1.3.2", "", {}, "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ=="],    "fd-slicer": ["fd-slicer@1.1.0", "", { "dependencies": { "pend": "~1.2.0" } }, "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g=="],    "forwarded-parse": ["forwarded-parse@2.1.2", "", {}, "sha512-alTFZZQDKMporBH77856pXgzhEzaUVmLCDk+egLgIgHst3Tpndzz8MnKe+GzRJRfvVdn69HhpW7cmXzvtLvJAw=="],    "function-bind": ["function-bind@1.1.2", "", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="],    "get-caller-file": ["get-caller-file@2.0.5", "", {}, "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="],    "get-stream": ["get-stream@5.2.0", "", { "dependencies": { "pump": "^3.0.0" } }, "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA=="],    "get-uri": ["get-uri@6.0.5", "", { "dependencies": { "basic-ftp": "^5.0.2", "data-uri-to-buffer": "^6.0.2", "debug": "^4.3.4" } }, "sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg=="],    "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="],    "hasown": ["hasown@2.0.3", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg=="],    "http-link-header": ["http-link-header@1.1.3", "", {}, "sha512-3cZ0SRL8fb9MUlU3mKM61FcQvPfXx2dBrZW3Vbg5CXa8jFlK8OaEpePenLe1oEXQduhz8b0QjsqfS59QP4AJDQ=="],    "http-proxy-agent": ["http-proxy-agent@7.0.2", "", { "dependencies": { "agent-base": "^7.1.0", "debug": "^4.3.4" } }, "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig=="],    "https-proxy-agent": ["https-proxy-agent@7.0.6", "", { "dependencies": { "agent-base": "^7.1.2", "debug": "4" } }, "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw=="],    "image-ssim": ["image-ssim@0.2.0", "", {}, "sha512-W7+sO6/yhxy83L0G7xR8YAc5Z5QFtYEXXRV6EaE8tuYBZJnA3gVgp3q7X7muhLZVodeb9UfvjSbwt9VJwjIYAg=="],    "import-in-the-middle": ["import-in-the-middle@1.15.0", "", { "dependencies": { "acorn": "^8.14.0", "acorn-import-attributes": "^1.9.5", "cjs-module-lexer": "^1.2.2", "module-details-from-path": "^1.0.3" } }, "sha512-bpQy+CrsRmYmoPMAE/0G33iwRqwW4ouqdRg8jgbH3aKuCtOc8lxgmYXg2dMM92CRiGP660EtBcymH/eVUpCSaA=="],    "intl-messageformat": ["intl-messageformat@10.7.18", "", { "dependencies": { "@formatjs/ecma402-abstract": "2.3.6", "@formatjs/fast-memoize": "2.2.7", "@formatjs/icu-messageformat-parser": "2.11.4", "tslib": "^2.8.0" } }, "sha512-m3Ofv/X/tV8Y3tHXLohcuVuhWKo7BBq62cqY15etqmLxg2DZ34AGGgQDeR+SCta2+zICb1NX83af0GJmbQ1++g=="],    "ip-address": ["ip-address@10.2.0", "", {}, "sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA=="],    "is-core-module": ["is-core-module@2.16.2", "", { "dependencies": { "hasown": "^2.0.3" } }, "sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA=="],    "is-docker": ["is-docker@2.2.1", "", { "bin": { "is-docker": "cli.js" } }, "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ=="],    "is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="],    "is-wsl": ["is-wsl@2.2.0", "", { "dependencies": { "is-docker": "^2.0.0" } }, "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww=="],    "jpeg-js": ["jpeg-js@0.4.4", "", {}, "sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg=="],    "js-library-detector": ["js-library-detector@6.7.0", "", {}, "sha512-c80Qupofp43y4cJ7+8TTDN/AsDwLi5oOm/plBrWI+iQt485vKXCco+yVmOwEgdo9VOdsYTuV0UlTeetVPTriXA=="],    "legacy-javascript": ["legacy-javascript@0.0.1", "", {}, "sha512-lPyntS4/aS7jpuvOlitZDFifBCb4W8L/3QU0PLbUTUj+zYah8rfVjYic88yG7ZKTxhS5h9iz7duT8oUXKszLhg=="],    "lighthouse": ["lighthouse@12.8.2", "", { "dependencies": { "@paulirish/trace_engine": "0.0.59", "@sentry/node": "^9.28.1", "axe-core": "^4.10.3", "chrome-launcher": "^1.2.0", "configstore": "^7.0.0", "csp_evaluator": "1.1.5", "devtools-protocol": "0.0.1507524", "enquirer": "^2.3.6", "http-link-header": "^1.1.1", "intl-messageformat": "^10.5.3", "jpeg-js": "^0.4.4", "js-library-detector": "^6.7.0", "lighthouse-logger": "^2.0.2", "lighthouse-stack-packs": "1.12.2", "lodash-es": "^4.17.21", "lookup-closest-locale": "6.2.0", "metaviewport-parser": "0.3.0", "open": "^8.4.0", "parse-cache-control": "1.0.1", "puppeteer-core": "^24.17.1", "robots-parser": "^3.0.1", "speedline-core": "^1.4.3", "third-party-web": "^0.27.0", "tldts-icann": "^7.0.12", "ws": "^7.0.0", "yargs": "^17.3.1", "yargs-parser": "^21.0.0" }, "bin": { "lighthouse": "cli/index.js", "smokehouse": "cli/test/smokehouse/frontends/smokehouse-bin.js", "chrome-debug": "core/scripts/manual-chrome-launcher.js" } }, "sha512-+5SKYzVaTFj22MgoYDPNrP9tlD2/Ay7j3SxPSFD9FpPyVxGr4UtOQGKyrdZ7wCmcnBaFk0mCkPfARU3CsE0nvA=="],    "lighthouse-logger": ["lighthouse-logger@2.0.2", "", { "dependencies": { "debug": "^4.4.1", "marky": "^1.2.2" } }, "sha512-vWl2+u5jgOQuZR55Z1WM0XDdrJT6mzMP8zHUct7xTlWhuQs+eV0g+QL0RQdFjT54zVmbhLCP8vIVpy1wGn/gCg=="],    "lighthouse-stack-packs": ["lighthouse-stack-packs@1.12.2", "", {}, "sha512-Ug8feS/A+92TMTCK6yHYLwaFMuelK/hAKRMdldYkMNwv+d9PtWxjXEg6rwKtsUXTADajhdrhXyuNCJ5/sfmPFw=="],    "lodash-es": ["lodash-es@4.18.1", "", {}, "sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A=="],    "lookup-closest-locale": ["lookup-closest-locale@6.2.0", "", {}, "sha512-/c2kL+Vnp1jnV6K6RpDTHK3dgg0Tu2VVp+elEiJpjfS1UyY7AjOYHohRug6wT0OpoX2qFgNORndE9RqesfVxWQ=="],    "lru-cache": ["lru-cache@7.18.3", "", {}, "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA=="],    "marky": ["marky@1.3.0", "", {}, "sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ=="],    "metaviewport-parser": ["metaviewport-parser@0.3.0", "", {}, "sha512-EoYJ8xfjQ6kpe9VbVHvZTZHiOl4HL1Z18CrZ+qahvLXT7ZO4YTC2JMyt5FaUp9JJp6J4Ybb/z7IsCXZt86/QkQ=="],    "minimatch": ["minimatch@9.0.9", "", { "dependencies": { "brace-expansion": "^2.0.2" } }, "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg=="],    "mitt": ["mitt@3.0.1", "", {}, "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw=="],    "module-details-from-path": ["module-details-from-path@1.0.4", "", {}, "sha512-EGWKgxALGMgzvxYF1UyGTy0HXX/2vHLkw6+NvDKW2jypWbHpjQuj4UMcqQWXHERJhVGKikolT06G3bcKe4fi7w=="],    "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="],    "netmask": ["netmask@2.1.1", "", {}, "sha512-eonl3sLUha+S1GzTPxychyhnUzKyeQkZ7jLjKrBagJgPla13F+uQ71HgpFefyHgqrjEbCPkDArxYsjY8/+gLKA=="],    "once": ["once@1.4.0", "", { "dependencies": { "wrappy": "1" } }, "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="],    "open": ["open@8.4.2", "", { "dependencies": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", "is-wsl": "^2.2.0" } }, "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ=="],    "pac-proxy-agent": ["pac-proxy-agent@7.2.0", "", { "dependencies": { "@tootallnate/quickjs-emscripten": "^0.23.0", "agent-base": "^7.1.2", "debug": "^4.3.4", "get-uri": "^6.0.1", "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.6", "pac-resolver": "^7.0.1", "socks-proxy-agent": "^8.0.5" } }, "sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA=="],    "pac-resolver": ["pac-resolver@7.0.1", "", { "dependencies": { "degenerator": "^5.0.0", "netmask": "^2.0.2" } }, "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg=="],    "parse-cache-control": ["parse-cache-control@1.0.1", "", {}, "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg=="],    "path-parse": ["path-parse@1.0.7", "", {}, "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="],    "pend": ["pend@1.2.0", "", {}, "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg=="],    "pg-int8": ["pg-int8@1.0.1", "", {}, "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw=="],    "pg-protocol": ["pg-protocol@1.13.0", "", {}, "sha512-zzdvXfS6v89r6v7OcFCHfHlyG/wvry1ALxZo4LqgUoy7W9xhBDMaqOuMiF3qEV45VqsN6rdlcehHrfDtlCPc8w=="],    "pg-types": ["pg-types@2.2.0", "", { "dependencies": { "pg-int8": "1.0.1", "postgres-array": "~2.0.0", "postgres-bytea": "~1.0.0", "postgres-date": "~1.0.4", "postgres-interval": "^1.1.0" } }, "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA=="],    "postgres-array": ["postgres-array@2.0.0", "", {}, "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA=="],    "postgres-bytea": ["postgres-bytea@1.0.1", "", {}, "sha512-5+5HqXnsZPE65IJZSMkZtURARZelel2oXUEO8rH83VS/hxH5vv1uHquPg5wZs8yMAfdv971IU+kcPUczi7NVBQ=="],    "postgres-date": ["postgres-date@1.0.7", "", {}, "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q=="],    "postgres-interval": ["postgres-interval@1.2.0", "", { "dependencies": { "xtend": "^4.0.0" } }, "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ=="],    "progress": ["progress@2.0.3", "", {}, "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="],    "proxy-agent": ["proxy-agent@6.5.0", "", { "dependencies": { "agent-base": "^7.1.2", "debug": "^4.3.4", "http-proxy-agent": "^7.0.1", "https-proxy-agent": "^7.0.6", "lru-cache": "^7.14.1", "pac-proxy-agent": "^7.1.0", "proxy-from-env": "^1.1.0", "socks-proxy-agent": "^8.0.5" } }, "sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A=="],    "proxy-from-env": ["proxy-from-env@1.1.0", "", {}, "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="],    "pump": ["pump@3.0.4", "", { "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA=="],    "puppeteer-core": ["puppeteer-core@24.43.0", "", { "dependencies": { "@puppeteer/browsers": "2.13.1", "chromium-bidi": "14.0.0", "debug": "^4.4.3", "devtools-protocol": "0.0.1608973", "typed-query-selector": "^2.12.2", "webdriver-bidi-protocol": "0.4.1", "ws": "^8.20.0" } }, "sha512-cCRNXsUlhyPoKDz6+TiSpfZpRS3mD6Y1YFKhkdr6ik6TMfuJb7fAtXq9ThUFc4sphxObDk3BuAvdxc1Y6YOnqQ=="],    "require-directory": ["require-directory@2.1.1", "", {}, "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="],    "require-in-the-middle": ["require-in-the-middle@7.5.2", "", { "dependencies": { "debug": "^4.3.5", "module-details-from-path": "^1.0.3", "resolve": "^1.22.8" } }, "sha512-gAZ+kLqBdHarXB64XpAe2VCjB7rIRv+mU8tfRWziHRJ5umKsIHN2tLLv6EtMw7WCdP19S0ERVMldNvxYCHnhSQ=="],    "resolve": ["resolve@1.22.12", "", { "dependencies": { "es-errors": "^1.3.0", "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA=="],    "robots-parser": ["robots-parser@3.0.1", "", {}, "sha512-s+pyvQeIKIZ0dx5iJiQk1tPLJAWln39+MI5jtM8wnyws+G5azk+dMnMX0qfbqNetKKNgcWWOdi0sfm+FbQbgdQ=="],    "semver": ["semver@7.8.0", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA=="],    "shimmer": ["shimmer@1.2.1", "", {}, "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw=="],    "smart-buffer": ["smart-buffer@4.2.0", "", {}, "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg=="],    "socks": ["socks@2.8.9", "", { "dependencies": { "ip-address": "^10.1.1", "smart-buffer": "^4.2.0" } }, "sha512-LJhUYUvItdQ0LkJTmPeaEObWXAqFyfmP85x0tch/ez9cahmhlBBLbIqDFnvBnUJGagb0JbIQrkBs1wJ+yRYpEw=="],    "socks-proxy-agent": ["socks-proxy-agent@8.0.5", "", { "dependencies": { "agent-base": "^7.1.2", "debug": "^4.3.4", "socks": "^2.8.3" } }, "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw=="],    "source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="],    "speedline-core": ["speedline-core@1.4.3", "", { "dependencies": { "@types/node": "*", "image-ssim": "^0.2.0", "jpeg-js": "^0.4.1" } }, "sha512-DI7/OuAUD+GMpR6dmu8lliO2Wg5zfeh+/xsdyJZCzd8o5JgFUjCeLsBDuZjIQJdwXS3J0L/uZYrELKYqx+PXog=="],    "streamx": ["streamx@2.25.0", "", { "dependencies": { "events-universal": "^1.0.0", "fast-fifo": "^1.3.2", "text-decoder": "^1.1.0" } }, "sha512-0nQuG6jf1w+wddNEEXCF4nTg3LtufWINB5eFEN+5TNZW7KWJp6x87+JFL43vaAUPyCfH1wID+mNVyW6OHtFamg=="],    "string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="],    "strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],    "stubborn-fs": ["stubborn-fs@2.0.0", "", { "dependencies": { "stubborn-utils": "^1.0.1" } }, "sha512-Y0AvSwDw8y+nlSNFXMm2g6L51rBGdAQT20J3YSOqxC53Lo3bjWRtr2BKcfYoAf352WYpsZSTURrA0tqhfgudPA=="],    "stubborn-utils": ["stubborn-utils@1.0.2", "", {}, "sha512-zOh9jPYI+xrNOyisSelgym4tolKTJCQd5GBhK0+0xJvcYDcwlOoxF/rnFKQ2KRZknXSG9jWAp66fwP6AxN9STg=="],    "supports-preserve-symlinks-flag": ["supports-preserve-symlinks-flag@1.0.0", "", {}, "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="],    "tar-fs": ["tar-fs@3.1.2", "", { "dependencies": { "pump": "^3.0.0", "tar-stream": "^3.1.5" }, "optionalDependencies": { "bare-fs": "^4.0.1", "bare-path": "^3.0.0" } }, "sha512-QGxxTxxyleAdyM3kpFs14ymbYmNFrfY+pHj7Z8FgtbZ7w2//VAgLMac7sT6nRpIHjppXO2AwwEOg0bPFVRcmXw=="],    "tar-stream": ["tar-stream@3.2.0", "", { "dependencies": { "b4a": "^1.6.4", "bare-fs": "^4.5.5", "fast-fifo": "^1.2.0", "streamx": "^2.15.0" } }, "sha512-ojzvCvVaNp6aOTFmG7jaRD0meowIAuPc3cMMhSgKiVWws1GyHbGd/xvnyuRKcKlMpt3qvxx6r0hreCNITP9hIg=="],    "teex": ["teex@1.0.1", "", { "dependencies": { "streamx": "^2.12.5" } }, "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg=="],    "text-decoder": ["text-decoder@1.2.7", "", { "dependencies": { "b4a": "^1.6.4" } }, "sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ=="],    "third-party-web": ["third-party-web@0.27.0", "", {}, "sha512-h0JYX+dO2Zr3abCQpS6/uFjujaOjA1DyDzGQ41+oFn9VW/ARiq9g5ln7qEP9+BTzDpOMyIfsfj4OvfgXAsMUSA=="],    "tldts-core": ["tldts-core@7.0.30", "", {}, "sha512-uiHN8PIB1VmWyS98eZYja4xzlYqeFZVjb4OuYlJQnZAuJhMw4PbKQOKgHKhBdJR3FE/t5mUQ1Kd80++B+qhD1Q=="],    "tldts-icann": ["tldts-icann@7.0.30", "", { "dependencies": { "tldts-core": "^7.0.30" } }, "sha512-o+sKcCCZQOh78GHfpmlcKoef0c+UVfltkqmgKmUHWiMiUhSfer8k5mEkQL2RBqwuC90fluI7ZN50H7+I2bJ1jw=="],    "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="],    "type-fest": ["type-fest@4.41.0", "", {}, "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA=="],    "typed-query-selector": ["typed-query-selector@2.12.2", "", {}, "sha512-EOPFbyIub4ngnEdqi2yOcNeDLaX/0jcE1JoAXQDDMIthap7FoN795lc/SHfIq2d416VufXpM8z/lD+WRm2gfOQ=="],    "undici-types": ["undici-types@7.19.2", "", {}, "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg=="],    "webdriver-bidi-protocol": ["webdriver-bidi-protocol@0.4.1", "", {}, "sha512-ARrjNjtWRRs2w4Tk7nqrf2gBI0QXWuOmMCx2hU+1jUt6d00MjMxURrhxhGbrsoiZKJrhTSTzbIrc554iKI10qw=="],    "when-exit": ["when-exit@2.1.5", "", {}, "sha512-VGkKJ564kzt6Ms1dbgPP/yuIoQCrsFAnRbptpC5wOEsDaNsbCB2bnfnaA8i/vRs5tjUSEOtIuvl9/MyVsvQZCg=="],    "wrap-ansi": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="],    "wrappy": ["wrappy@1.0.2", "", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="],    "ws": ["ws@7.5.10", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": "^5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ=="],    "xdg-basedir": ["xdg-basedir@5.1.0", "", {}, "sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ=="],    "xtend": ["xtend@4.0.2", "", {}, "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="],    "y18n": ["y18n@5.0.8", "", {}, "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="],    "yargs": ["yargs@17.7.2", "", { "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", "yargs-parser": "^21.1.1" } }, "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w=="],    "yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="],    "yauzl": ["yauzl@2.10.0", "", { "dependencies": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" } }, "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g=="],    "zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="],    "@opentelemetry/core/@opentelemetry/semantic-conventions": ["@opentelemetry/semantic-conventions@1.28.0", "", {}, "sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA=="],    "@opentelemetry/instrumentation-http/@opentelemetry/semantic-conventions": ["@opentelemetry/semantic-conventions@1.28.0", "", {}, "sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA=="],    "@opentelemetry/resources/@opentelemetry/semantic-conventions": ["@opentelemetry/semantic-conventions@1.28.0", "", {}, "sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA=="],    "@opentelemetry/sdk-trace-base/@opentelemetry/semantic-conventions": ["@opentelemetry/semantic-conventions@1.28.0", "", {}, "sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA=="],    "@paulirish/trace_engine/third-party-web": ["third-party-web@0.29.0", "", {}, "sha512-nBDSJw5B7Sl1YfsATG2XkW5qgUPODbJhXw++BKygi9w6O/NKS98/uY/nR/DxDq2axEjL6halHW1v+jhm/j1DBQ=="],    "puppeteer-core/devtools-protocol": ["devtools-protocol@0.0.1608973", "", {}, "sha512-Tpm17fxYzt+J7VrGdc1k8YdRqS3YV7se/M6KeemEqvUbq/n7At1rWVuXMxQgpWkdwSdIEKYbU//Bve+Shm4YNQ=="],    "puppeteer-core/ws": ["ws@8.20.0", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA=="],  }}
deleted package-lock.json
@@ -1,2299 +0,0 @@{  "name": "status-lighthouse",  "lockfileVersion": 3,  "requires": true,  "packages": {    "": {      "name": "status-lighthouse",      "dependencies": {        "lighthouse": "^12.0.0"      }    },    "node_modules/@formatjs/ecma402-abstract": {      "version": "2.3.6",      "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.3.6.tgz",      "integrity": "sha512-HJnTFeRM2kVFVr5gr5kH1XP6K0JcJtE7Lzvtr3FS/so5f1kpsqqqxy5JF+FRaO6H2qmcMfAUIox7AJteieRtVw==",      "license": "MIT",      "dependencies": {        "@formatjs/fast-memoize": "2.2.7",        "@formatjs/intl-localematcher": "0.6.2",        "decimal.js": "^10.4.3",        "tslib": "^2.8.0"      }    },    "node_modules/@formatjs/fast-memoize": {      "version": "2.2.7",      "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.7.tgz",      "integrity": "sha512-Yabmi9nSvyOMrlSeGGWDiH7rf3a7sIwplbvo/dlz9WCIjzIQAfy1RMf4S0X3yG724n5Ghu2GmEl5NJIV6O9sZQ==",      "license": "MIT",      "dependencies": {        "tslib": "^2.8.0"      }    },    "node_modules/@formatjs/icu-messageformat-parser": {      "version": "2.11.4",      "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.11.4.tgz",      "integrity": "sha512-7kR78cRrPNB4fjGFZg3Rmj5aah8rQj9KPzuLsmcSn4ipLXQvC04keycTI1F7kJYDwIXtT2+7IDEto842CfZBtw==",      "license": "MIT",      "dependencies": {        "@formatjs/ecma402-abstract": "2.3.6",        "@formatjs/icu-skeleton-parser": "1.8.16",        "tslib": "^2.8.0"      }    },    "node_modules/@formatjs/icu-skeleton-parser": {      "version": "1.8.16",      "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.16.tgz",      "integrity": "sha512-H13E9Xl+PxBd8D5/6TVUluSpxGNvFSlN/b3coUp0e0JpuWXXnQDiavIpY3NnvSp4xhEMoXyyBvVfdFX8jglOHQ==",      "license": "MIT",      "dependencies": {        "@formatjs/ecma402-abstract": "2.3.6",        "tslib": "^2.8.0"      }    },    "node_modules/@formatjs/intl-localematcher": {      "version": "0.6.2",      "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.6.2.tgz",      "integrity": "sha512-XOMO2Hupl0wdd172Y06h6kLpBz6Dv+J4okPLl4LPtzbr8f66WbIoy4ev98EBuZ6ZK4h5ydTN6XneT4QVpD7cdA==",      "license": "MIT",      "dependencies": {        "tslib": "^2.8.0"      }    },    "node_modules/@opentelemetry/api": {      "version": "1.9.1",      "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.1.tgz",      "integrity": "sha512-gLyJlPHPZYdAk1JENA9LeHejZe1Ti77/pTeFm/nMXmQH/HFZlcS/O2XJB+L8fkbrNSqhdtlvjBVjxwUYanNH5Q==",      "license": "Apache-2.0",      "engines": {        "node": ">=8.0.0"      }    },    "node_modules/@opentelemetry/api-logs": {      "version": "0.57.2",      "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.57.2.tgz",      "integrity": "sha512-uIX52NnTM0iBh84MShlpouI7UKqkZ7MrUszTmaypHBu4r7NofznSnQRfJ+uUeDtQDj6w8eFGg5KBLDAwAPz1+A==",      "license": "Apache-2.0",      "dependencies": {        "@opentelemetry/api": "^1.3.0"      },      "engines": {        "node": ">=14"      }    },    "node_modules/@opentelemetry/context-async-hooks": {      "version": "1.30.1",      "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.30.1.tgz",      "integrity": "sha512-s5vvxXPVdjqS3kTLKMeBMvop9hbWkwzBpu+mUO2M7sZtlkyDJGwFe33wRKnbaYDo8ExRVBIIdwIGrqpxHuKttA==",      "license": "Apache-2.0",      "engines": {        "node": ">=14"      },      "peerDependencies": {        "@opentelemetry/api": ">=1.0.0 <1.10.0"      }    },    "node_modules/@opentelemetry/core": {      "version": "1.30.1",      "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.30.1.tgz",      "integrity": "sha512-OOCM2C/QIURhJMuKaekP3TRBxBKxG/TWWA0TL2J6nXUtDnuCtccy49LUJF8xPFXMX+0LMcxFpCo8M9cGY1W6rQ==",      "license": "Apache-2.0",      "dependencies": {        "@opentelemetry/semantic-conventions": "1.28.0"      },      "engines": {        "node": ">=14"      },      "peerDependencies": {        "@opentelemetry/api": ">=1.0.0 <1.10.0"      }    },    "node_modules/@opentelemetry/core/node_modules/@opentelemetry/semantic-conventions": {      "version": "1.28.0",      "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.28.0.tgz",      "integrity": "sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA==",      "license": "Apache-2.0",      "engines": {        "node": ">=14"      }    },    "node_modules/@opentelemetry/instrumentation": {      "version": "0.57.2",      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.57.2.tgz",      "integrity": "sha512-BdBGhQBh8IjZ2oIIX6F2/Q3LKm/FDDKi6ccYKcBTeilh6SNdNKveDOLk73BkSJjQLJk6qe4Yh+hHw1UPhCDdrg==",      "license": "Apache-2.0",      "dependencies": {        "@opentelemetry/api-logs": "0.57.2",        "@types/shimmer": "^1.2.0",        "import-in-the-middle": "^1.8.1",        "require-in-the-middle": "^7.1.1",        "semver": "^7.5.2",        "shimmer": "^1.2.1"      },      "engines": {        "node": ">=14"      },      "peerDependencies": {        "@opentelemetry/api": "^1.3.0"      }    },    "node_modules/@opentelemetry/instrumentation-amqplib": {      "version": "0.46.1",      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-amqplib/-/instrumentation-amqplib-0.46.1.tgz",      "integrity": "sha512-AyXVnlCf/xV3K/rNumzKxZqsULyITJH6OVLiW6730JPRqWA7Zc9bvYoVNpN6iOpTU8CasH34SU/ksVJmObFibQ==",      "license": "Apache-2.0",      "dependencies": {        "@opentelemetry/core": "^1.8.0",        "@opentelemetry/instrumentation": "^0.57.1",        "@opentelemetry/semantic-conventions": "^1.27.0"      },      "engines": {        "node": ">=14"      },      "peerDependencies": {        "@opentelemetry/api": "^1.3.0"      }    },    "node_modules/@opentelemetry/instrumentation-connect": {      "version": "0.43.1",      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-connect/-/instrumentation-connect-0.43.1.tgz",      "integrity": "sha512-ht7YGWQuV5BopMcw5Q2hXn3I8eG8TH0J/kc/GMcW4CuNTgiP6wCu44BOnucJWL3CmFWaRHI//vWyAhaC8BwePw==",      "license": "Apache-2.0",      "dependencies": {        "@opentelemetry/core": "^1.8.0",        "@opentelemetry/instrumentation": "^0.57.1",        "@opentelemetry/semantic-conventions": "^1.27.0",        "@types/connect": "3.4.38"      },      "engines": {        "node": ">=14"      },      "peerDependencies": {        "@opentelemetry/api": "^1.3.0"      }    },    "node_modules/@opentelemetry/instrumentation-dataloader": {      "version": "0.16.1",      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-dataloader/-/instrumentation-dataloader-0.16.1.tgz",      "integrity": "sha512-K/qU4CjnzOpNkkKO4DfCLSQshejRNAJtd4esgigo/50nxCB6XCyi1dhAblUHM9jG5dRm8eu0FB+t87nIo99LYQ==",      "license": "Apache-2.0",      "dependencies": {        "@opentelemetry/instrumentation": "^0.57.1"      },      "engines": {        "node": ">=14"      },      "peerDependencies": {        "@opentelemetry/api": "^1.3.0"      }    },    "node_modules/@opentelemetry/instrumentation-express": {      "version": "0.47.1",      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-express/-/instrumentation-express-0.47.1.tgz",      "integrity": "sha512-QNXPTWteDclR2B4pDFpz0TNghgB33UMjUt14B+BZPmtH1MwUFAfLHBaP5If0Z5NZC+jaH8oF2glgYjrmhZWmSw==",      "license": "Apache-2.0",      "dependencies": {        "@opentelemetry/core": "^1.8.0",        "@opentelemetry/instrumentation": "^0.57.1",        "@opentelemetry/semantic-conventions": "^1.27.0"      },      "engines": {        "node": ">=14"      },      "peerDependencies": {        "@opentelemetry/api": "^1.3.0"      }    },    "node_modules/@opentelemetry/instrumentation-fs": {      "version": "0.19.1",      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-fs/-/instrumentation-fs-0.19.1.tgz",      "integrity": "sha512-6g0FhB3B9UobAR60BGTcXg4IHZ6aaYJzp0Ki5FhnxyAPt8Ns+9SSvgcrnsN2eGmk3RWG5vYycUGOEApycQL24A==",      "license": "Apache-2.0",      "dependencies": {        "@opentelemetry/core": "^1.8.0",        "@opentelemetry/instrumentation": "^0.57.1"      },      "engines": {        "node": ">=14"      },      "peerDependencies": {        "@opentelemetry/api": "^1.3.0"      }    },    "node_modules/@opentelemetry/instrumentation-generic-pool": {      "version": "0.43.1",      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-generic-pool/-/instrumentation-generic-pool-0.43.1.tgz",      "integrity": "sha512-M6qGYsp1cURtvVLGDrPPZemMFEbuMmCXgQYTReC/IbimV5sGrLBjB+/hANUpRZjX67nGLdKSVLZuQQAiNz+sww==",      "license": "Apache-2.0",      "dependencies": {        "@opentelemetry/instrumentation": "^0.57.1"      },      "engines": {        "node": ">=14"      },      "peerDependencies": {        "@opentelemetry/api": "^1.3.0"      }    },    "node_modules/@opentelemetry/instrumentation-graphql": {      "version": "0.47.1",      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-graphql/-/instrumentation-graphql-0.47.1.tgz",      "integrity": "sha512-EGQRWMGqwiuVma8ZLAZnExQ7sBvbOx0N/AE/nlafISPs8S+QtXX+Viy6dcQwVWwYHQPAcuY3bFt3xgoAwb4ZNQ==",      "license": "Apache-2.0",      "dependencies": {        "@opentelemetry/instrumentation": "^0.57.1"      },      "engines": {        "node": ">=14"      },      "peerDependencies": {        "@opentelemetry/api": "^1.3.0"      }    },    "node_modules/@opentelemetry/instrumentation-hapi": {      "version": "0.45.2",      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-hapi/-/instrumentation-hapi-0.45.2.tgz",      "integrity": "sha512-7Ehow/7Wp3aoyCrZwQpU7a2CnoMq0XhIcioFuKjBb0PLYfBfmTsFTUyatlHu0fRxhwcRsSQRTvEhmZu8CppBpQ==",      "license": "Apache-2.0",      "dependencies": {        "@opentelemetry/core": "^1.8.0",        "@opentelemetry/instrumentation": "^0.57.1",        "@opentelemetry/semantic-conventions": "^1.27.0"      },      "engines": {        "node": ">=14"      },      "peerDependencies": {        "@opentelemetry/api": "^1.3.0"      }    },    "node_modules/@opentelemetry/instrumentation-http": {      "version": "0.57.2",      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-http/-/instrumentation-http-0.57.2.tgz",      "integrity": "sha512-1Uz5iJ9ZAlFOiPuwYg29Bf7bJJc/GeoeJIFKJYQf67nTVKFe8RHbEtxgkOmK4UGZNHKXcpW4P8cWBYzBn1USpg==",      "license": "Apache-2.0",      "dependencies": {        "@opentelemetry/core": "1.30.1",        "@opentelemetry/instrumentation": "0.57.2",        "@opentelemetry/semantic-conventions": "1.28.0",        "forwarded-parse": "2.1.2",        "semver": "^7.5.2"      },      "engines": {        "node": ">=14"      },      "peerDependencies": {        "@opentelemetry/api": "^1.3.0"      }    },    "node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/semantic-conventions": {      "version": "1.28.0",      "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.28.0.tgz",      "integrity": "sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA==",      "license": "Apache-2.0",      "engines": {        "node": ">=14"      }    },    "node_modules/@opentelemetry/instrumentation-ioredis": {      "version": "0.47.1",      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-ioredis/-/instrumentation-ioredis-0.47.1.tgz",      "integrity": "sha512-OtFGSN+kgk/aoKgdkKQnBsQFDiG8WdCxu+UrHr0bXScdAmtSzLSraLo7wFIb25RVHfRWvzI5kZomqJYEg/l1iA==",      "license": "Apache-2.0",      "dependencies": {        "@opentelemetry/instrumentation": "^0.57.1",        "@opentelemetry/redis-common": "^0.36.2",        "@opentelemetry/semantic-conventions": "^1.27.0"      },      "engines": {        "node": ">=14"      },      "peerDependencies": {        "@opentelemetry/api": "^1.3.0"      }    },    "node_modules/@opentelemetry/instrumentation-kafkajs": {      "version": "0.7.1",      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-kafkajs/-/instrumentation-kafkajs-0.7.1.tgz",      "integrity": "sha512-OtjaKs8H7oysfErajdYr1yuWSjMAectT7Dwr+axIoZqT9lmEOkD/H/3rgAs8h/NIuEi2imSXD+vL4MZtOuJfqQ==",      "license": "Apache-2.0",      "dependencies": {        "@opentelemetry/instrumentation": "^0.57.1",        "@opentelemetry/semantic-conventions": "^1.27.0"      },      "engines": {        "node": ">=14"      },      "peerDependencies": {        "@opentelemetry/api": "^1.3.0"      }    },    "node_modules/@opentelemetry/instrumentation-knex": {      "version": "0.44.1",      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-knex/-/instrumentation-knex-0.44.1.tgz",      "integrity": "sha512-U4dQxkNhvPexffjEmGwCq68FuftFK15JgUF05y/HlK3M6W/G2iEaACIfXdSnwVNe9Qh0sPfw8LbOPxrWzGWGMQ==",      "license": "Apache-2.0",      "dependencies": {        "@opentelemetry/instrumentation": "^0.57.1",        "@opentelemetry/semantic-conventions": "^1.27.0"      },      "engines": {        "node": ">=14"      },      "peerDependencies": {        "@opentelemetry/api": "^1.3.0"      }    },    "node_modules/@opentelemetry/instrumentation-koa": {      "version": "0.47.1",      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-koa/-/instrumentation-koa-0.47.1.tgz",      "integrity": "sha512-l/c+Z9F86cOiPJUllUCt09v+kICKvT+Vg1vOAJHtHPsJIzurGayucfCMq2acd/A/yxeNWunl9d9eqZ0G+XiI6A==",      "license": "Apache-2.0",      "dependencies": {        "@opentelemetry/core": "^1.8.0",        "@opentelemetry/instrumentation": "^0.57.1",        "@opentelemetry/semantic-conventions": "^1.27.0"      },      "engines": {        "node": ">=14"      },      "peerDependencies": {        "@opentelemetry/api": "^1.3.0"      }    },    "node_modules/@opentelemetry/instrumentation-lru-memoizer": {      "version": "0.44.1",      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-lru-memoizer/-/instrumentation-lru-memoizer-0.44.1.tgz",      "integrity": "sha512-5MPkYCvG2yw7WONEjYj5lr5JFehTobW7wX+ZUFy81oF2lr9IPfZk9qO+FTaM0bGEiymwfLwKe6jE15nHn1nmHg==",      "license": "Apache-2.0",      "dependencies": {        "@opentelemetry/instrumentation": "^0.57.1"      },      "engines": {        "node": ">=14"      },      "peerDependencies": {        "@opentelemetry/api": "^1.3.0"      }    },    "node_modules/@opentelemetry/instrumentation-mongodb": {      "version": "0.52.0",      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mongodb/-/instrumentation-mongodb-0.52.0.tgz",      "integrity": "sha512-1xmAqOtRUQGR7QfJFfGV/M2kC7wmI2WgZdpru8hJl3S0r4hW0n3OQpEHlSGXJAaNFyvT+ilnwkT+g5L4ljHR6g==",      "license": "Apache-2.0",      "dependencies": {        "@opentelemetry/instrumentation": "^0.57.1",        "@opentelemetry/semantic-conventions": "^1.27.0"      },      "engines": {        "node": ">=14"      },      "peerDependencies": {        "@opentelemetry/api": "^1.3.0"      }    },    "node_modules/@opentelemetry/instrumentation-mongoose": {      "version": "0.46.1",      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mongoose/-/instrumentation-mongoose-0.46.1.tgz",      "integrity": "sha512-3kINtW1LUTPkiXFRSSBmva1SXzS/72we/jL22N+BnF3DFcoewkdkHPYOIdAAk9gSicJ4d5Ojtt1/HeibEc5OQg==",      "license": "Apache-2.0",      "dependencies": {        "@opentelemetry/core": "^1.8.0",        "@opentelemetry/instrumentation": "^0.57.1",        "@opentelemetry/semantic-conventions": "^1.27.0"      },      "engines": {        "node": ">=14"      },      "peerDependencies": {        "@opentelemetry/api": "^1.3.0"      }    },    "node_modules/@opentelemetry/instrumentation-mysql": {      "version": "0.45.1",      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mysql/-/instrumentation-mysql-0.45.1.tgz",      "integrity": "sha512-TKp4hQ8iKQsY7vnp/j0yJJ4ZsP109Ht6l4RHTj0lNEG1TfgTrIH5vJMbgmoYXWzNHAqBH2e7fncN12p3BP8LFg==",      "license": "Apache-2.0",      "dependencies": {        "@opentelemetry/instrumentation": "^0.57.1",        "@opentelemetry/semantic-conventions": "^1.27.0",        "@types/mysql": "2.15.26"      },      "engines": {        "node": ">=14"      },      "peerDependencies": {        "@opentelemetry/api": "^1.3.0"      }    },    "node_modules/@opentelemetry/instrumentation-mysql2": {      "version": "0.45.2",      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mysql2/-/instrumentation-mysql2-0.45.2.tgz",      "integrity": "sha512-h6Ad60FjCYdJZ5DTz1Lk2VmQsShiViKe0G7sYikb0GHI0NVvApp2XQNRHNjEMz87roFttGPLHOYVPlfy+yVIhQ==",      "license": "Apache-2.0",      "dependencies": {        "@opentelemetry/instrumentation": "^0.57.1",        "@opentelemetry/semantic-conventions": "^1.27.0",        "@opentelemetry/sql-common": "^0.40.1"      },      "engines": {        "node": ">=14"      },      "peerDependencies": {        "@opentelemetry/api": "^1.3.0"      }    },    "node_modules/@opentelemetry/instrumentation-pg": {      "version": "0.51.1",      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-pg/-/instrumentation-pg-0.51.1.tgz",      "integrity": "sha512-QxgjSrxyWZc7Vk+qGSfsejPVFL1AgAJdSBMYZdDUbwg730D09ub3PXScB9d04vIqPriZ+0dqzjmQx0yWKiCi2Q==",      "license": "Apache-2.0",      "dependencies": {        "@opentelemetry/core": "^1.26.0",        "@opentelemetry/instrumentation": "^0.57.1",        "@opentelemetry/semantic-conventions": "^1.27.0",        "@opentelemetry/sql-common": "^0.40.1",        "@types/pg": "8.6.1",        "@types/pg-pool": "2.0.6"      },      "engines": {        "node": ">=14"      },      "peerDependencies": {        "@opentelemetry/api": "^1.3.0"      }    },    "node_modules/@opentelemetry/instrumentation-redis-4": {      "version": "0.46.1",      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-redis-4/-/instrumentation-redis-4-0.46.1.tgz",      "integrity": "sha512-UMqleEoabYMsWoTkqyt9WAzXwZ4BlFZHO40wr3d5ZvtjKCHlD4YXLm+6OLCeIi/HkX7EXvQaz8gtAwkwwSEvcQ==",      "license": "Apache-2.0",      "dependencies": {        "@opentelemetry/instrumentation": "^0.57.1",        "@opentelemetry/redis-common": "^0.36.2",        "@opentelemetry/semantic-conventions": "^1.27.0"      },      "engines": {        "node": ">=14"      },      "peerDependencies": {        "@opentelemetry/api": "^1.3.0"      }    },    "node_modules/@opentelemetry/instrumentation-tedious": {      "version": "0.18.1",      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-tedious/-/instrumentation-tedious-0.18.1.tgz",      "integrity": "sha512-5Cuy/nj0HBaH+ZJ4leuD7RjgvA844aY2WW+B5uLcWtxGjRZl3MNLuxnNg5DYWZNPO+NafSSnra0q49KWAHsKBg==",      "license": "Apache-2.0",      "dependencies": {        "@opentelemetry/instrumentation": "^0.57.1",        "@opentelemetry/semantic-conventions": "^1.27.0",        "@types/tedious": "^4.0.14"      },      "engines": {        "node": ">=14"      },      "peerDependencies": {        "@opentelemetry/api": "^1.3.0"      }    },    "node_modules/@opentelemetry/instrumentation-undici": {      "version": "0.10.1",      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-undici/-/instrumentation-undici-0.10.1.tgz",      "integrity": "sha512-rkOGikPEyRpMCmNu9AQuV5dtRlDmJp2dK5sw8roVshAGoB6hH/3QjDtRhdwd75SsJwgynWUNRUYe0wAkTo16tQ==",      "license": "Apache-2.0",      "dependencies": {        "@opentelemetry/core": "^1.8.0",        "@opentelemetry/instrumentation": "^0.57.1"      },      "engines": {        "node": ">=14"      },      "peerDependencies": {        "@opentelemetry/api": "^1.7.0"      }    },    "node_modules/@opentelemetry/redis-common": {      "version": "0.36.2",      "resolved": "https://registry.npmjs.org/@opentelemetry/redis-common/-/redis-common-0.36.2.tgz",      "integrity": "sha512-faYX1N0gpLhej/6nyp6bgRjzAKXn5GOEMYY7YhciSfCoITAktLUtQ36d24QEWNA1/WA1y6qQunCe0OhHRkVl9g==",      "license": "Apache-2.0",      "engines": {        "node": ">=14"      }    },    "node_modules/@opentelemetry/resources": {      "version": "1.30.1",      "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.30.1.tgz",      "integrity": "sha512-5UxZqiAgLYGFjS4s9qm5mBVo433u+dSPUFWVWXmLAD4wB65oMCoXaJP1KJa9DIYYMeHu3z4BZcStG3LC593cWA==",      "license": "Apache-2.0",      "dependencies": {        "@opentelemetry/core": "1.30.1",        "@opentelemetry/semantic-conventions": "1.28.0"      },      "engines": {        "node": ">=14"      },      "peerDependencies": {        "@opentelemetry/api": ">=1.0.0 <1.10.0"      }    },    "node_modules/@opentelemetry/resources/node_modules/@opentelemetry/semantic-conventions": {      "version": "1.28.0",      "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.28.0.tgz",      "integrity": "sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA==",      "license": "Apache-2.0",      "engines": {        "node": ">=14"      }    },    "node_modules/@opentelemetry/sdk-trace-base": {      "version": "1.30.1",      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.30.1.tgz",      "integrity": "sha512-jVPgBbH1gCy2Lb7X0AVQ8XAfgg0pJ4nvl8/IiQA6nxOsPvS+0zMJaFSs2ltXe0J6C8dqjcnpyqINDJmU30+uOg==",      "license": "Apache-2.0",      "dependencies": {        "@opentelemetry/core": "1.30.1",        "@opentelemetry/resources": "1.30.1",        "@opentelemetry/semantic-conventions": "1.28.0"      },      "engines": {        "node": ">=14"      },      "peerDependencies": {        "@opentelemetry/api": ">=1.0.0 <1.10.0"      }    },    "node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/semantic-conventions": {      "version": "1.28.0",      "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.28.0.tgz",      "integrity": "sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA==",      "license": "Apache-2.0",      "engines": {        "node": ">=14"      }    },    "node_modules/@opentelemetry/semantic-conventions": {      "version": "1.40.0",      "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.40.0.tgz",      "integrity": "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==",      "license": "Apache-2.0",      "engines": {        "node": ">=14"      }    },    "node_modules/@opentelemetry/sql-common": {      "version": "0.40.1",      "resolved": "https://registry.npmjs.org/@opentelemetry/sql-common/-/sql-common-0.40.1.tgz",      "integrity": "sha512-nSDlnHSqzC3pXn/wZEZVLuAuJ1MYMXPBwtv2qAbCa3847SaHItdE7SzUq/Jtb0KZmh1zfAbNi3AAMjztTT4Ugg==",      "license": "Apache-2.0",      "dependencies": {        "@opentelemetry/core": "^1.1.0"      },      "engines": {        "node": ">=14"      },      "peerDependencies": {        "@opentelemetry/api": "^1.1.0"      }    },    "node_modules/@paulirish/trace_engine": {      "version": "0.0.59",      "resolved": "https://registry.npmjs.org/@paulirish/trace_engine/-/trace_engine-0.0.59.tgz",      "integrity": "sha512-439NUzQGmH+9Y017/xCchBP9571J4bzhpcNhrxorf7r37wcyJZkgUfrUsRL3xl+JDcZ6ORhoFCzCw98c6S3YHw==",      "license": "BSD-3-Clause",      "dependencies": {        "legacy-javascript": "latest",        "third-party-web": "latest"      }    },    "node_modules/@prisma/instrumentation": {      "version": "6.11.1",      "resolved": "https://registry.npmjs.org/@prisma/instrumentation/-/instrumentation-6.11.1.tgz",      "integrity": "sha512-mrZOev24EDhnefmnZX7WVVT7v+r9LttPRqf54ONvj6re4XMF7wFTpK2tLJi4XHB7fFp/6xhYbgRel8YV7gQiyA==",      "license": "Apache-2.0",      "dependencies": {        "@opentelemetry/instrumentation": "^0.52.0 || ^0.53.0 || ^0.54.0 || ^0.55.0 || ^0.56.0 || ^0.57.0"      },      "peerDependencies": {        "@opentelemetry/api": "^1.8"      }    },    "node_modules/@puppeteer/browsers": {      "version": "2.13.1",      "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.13.1.tgz",      "integrity": "sha512-zmS4RTK9fbrc++WlAJhxYbfz3IjDeOmkK/CwwbLmk7ydfS9e2CiEeRJHEPvjDVElO/bwXbidwGA37Bsm6LzCnQ==",      "license": "Apache-2.0",      "dependencies": {        "debug": "^4.4.3",        "extract-zip": "^2.0.1",        "progress": "^2.0.3",        "proxy-agent": "^6.5.0",        "semver": "^7.7.4",        "tar-fs": "^3.1.1",        "yargs": "^17.7.2"      },      "bin": {        "browsers": "lib/cjs/main-cli.js"      },      "engines": {        "node": ">=18"      }    },    "node_modules/@sentry/core": {      "version": "9.47.1",      "resolved": "https://registry.npmjs.org/@sentry/core/-/core-9.47.1.tgz",      "integrity": "sha512-KX62+qIt4xgy8eHKHiikfhz2p5fOciXd0Cl+dNzhgPFq8klq4MGMNaf148GB3M/vBqP4nw/eFvRMAayFCgdRQw==",      "license": "MIT",      "engines": {        "node": ">=18"      }    },    "node_modules/@sentry/node": {      "version": "9.47.1",      "resolved": "https://registry.npmjs.org/@sentry/node/-/node-9.47.1.tgz",      "integrity": "sha512-CDbkasBz3fnWRKSFs6mmaRepM2pa+tbZkrqhPWifFfIkJDidtVW40p6OnquTvPXyPAszCnDZRnZT14xyvNmKPQ==",      "license": "MIT",      "dependencies": {        "@opentelemetry/api": "^1.9.0",        "@opentelemetry/context-async-hooks": "^1.30.1",        "@opentelemetry/core": "^1.30.1",        "@opentelemetry/instrumentation": "^0.57.2",        "@opentelemetry/instrumentation-amqplib": "^0.46.1",        "@opentelemetry/instrumentation-connect": "0.43.1",        "@opentelemetry/instrumentation-dataloader": "0.16.1",        "@opentelemetry/instrumentation-express": "0.47.1",        "@opentelemetry/instrumentation-fs": "0.19.1",        "@opentelemetry/instrumentation-generic-pool": "0.43.1",        "@opentelemetry/instrumentation-graphql": "0.47.1",        "@opentelemetry/instrumentation-hapi": "0.45.2",        "@opentelemetry/instrumentation-http": "0.57.2",        "@opentelemetry/instrumentation-ioredis": "0.47.1",        "@opentelemetry/instrumentation-kafkajs": "0.7.1",        "@opentelemetry/instrumentation-knex": "0.44.1",        "@opentelemetry/instrumentation-koa": "0.47.1",        "@opentelemetry/instrumentation-lru-memoizer": "0.44.1",        "@opentelemetry/instrumentation-mongodb": "0.52.0",        "@opentelemetry/instrumentation-mongoose": "0.46.1",        "@opentelemetry/instrumentation-mysql": "0.45.1",        "@opentelemetry/instrumentation-mysql2": "0.45.2",        "@opentelemetry/instrumentation-pg": "0.51.1",        "@opentelemetry/instrumentation-redis-4": "0.46.1",        "@opentelemetry/instrumentation-tedious": "0.18.1",        "@opentelemetry/instrumentation-undici": "0.10.1",        "@opentelemetry/resources": "^1.30.1",        "@opentelemetry/sdk-trace-base": "^1.30.1",        "@opentelemetry/semantic-conventions": "^1.34.0",        "@prisma/instrumentation": "6.11.1",        "@sentry/core": "9.47.1",        "@sentry/node-core": "9.47.1",        "@sentry/opentelemetry": "9.47.1",        "import-in-the-middle": "^1.14.2",        "minimatch": "^9.0.0"      },      "engines": {        "node": ">=18"      }    },    "node_modules/@sentry/node-core": {      "version": "9.47.1",      "resolved": "https://registry.npmjs.org/@sentry/node-core/-/node-core-9.47.1.tgz",      "integrity": "sha512-7TEOiCGkyShJ8CKtsri9lbgMCbB+qNts2Xq37itiMPN2m+lIukK3OX//L8DC5nfKYZlgikrefS63/vJtm669hQ==",      "license": "MIT",      "dependencies": {        "@sentry/core": "9.47.1",        "@sentry/opentelemetry": "9.47.1",        "import-in-the-middle": "^1.14.2"      },      "engines": {        "node": ">=18"      },      "peerDependencies": {        "@opentelemetry/api": "^1.9.0",        "@opentelemetry/context-async-hooks": "^1.30.1 || ^2.0.0",        "@opentelemetry/core": "^1.30.1 || ^2.0.0",        "@opentelemetry/instrumentation": ">=0.57.1 <1",        "@opentelemetry/resources": "^1.30.1 || ^2.0.0",        "@opentelemetry/sdk-trace-base": "^1.30.1 || ^2.0.0",        "@opentelemetry/semantic-conventions": "^1.34.0"      }    },    "node_modules/@sentry/opentelemetry": {      "version": "9.47.1",      "resolved": "https://registry.npmjs.org/@sentry/opentelemetry/-/opentelemetry-9.47.1.tgz",      "integrity": "sha512-STtFpjF7lwzeoedDJV+5XA6P89BfmFwFftmHSGSe3UTI8z8IoiR5yB6X2vCjSPvXlfeOs13qCNNCEZyznxM8Xw==",      "license": "MIT",      "dependencies": {        "@sentry/core": "9.47.1"      },      "engines": {        "node": ">=18"      },      "peerDependencies": {        "@opentelemetry/api": "^1.9.0",        "@opentelemetry/context-async-hooks": "^1.30.1 || ^2.0.0",        "@opentelemetry/core": "^1.30.1 || ^2.0.0",        "@opentelemetry/sdk-trace-base": "^1.30.1 || ^2.0.0",        "@opentelemetry/semantic-conventions": "^1.34.0"      }    },    "node_modules/@tootallnate/quickjs-emscripten": {      "version": "0.23.0",      "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz",      "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==",      "license": "MIT"    },    "node_modules/@types/connect": {      "version": "3.4.38",      "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz",      "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==",      "license": "MIT",      "dependencies": {        "@types/node": "*"      }    },    "node_modules/@types/mysql": {      "version": "2.15.26",      "resolved": "https://registry.npmjs.org/@types/mysql/-/mysql-2.15.26.tgz",      "integrity": "sha512-DSLCOXhkvfS5WNNPbfn2KdICAmk8lLc+/PNvnPnF7gOdMZCxopXduqv0OQ13y/yA/zXTSikZZqVgybUxOEg6YQ==",      "license": "MIT",      "dependencies": {        "@types/node": "*"      }    },    "node_modules/@types/node": {      "version": "25.6.0",      "license": "MIT",      "dependencies": {        "undici-types": "~7.19.0"      }    },    "node_modules/@types/pg": {      "version": "8.6.1",      "resolved": "https://registry.npmjs.org/@types/pg/-/pg-8.6.1.tgz",      "integrity": "sha512-1Kc4oAGzAl7uqUStZCDvaLFqZrW9qWSjXOmBfdgyBP5La7Us6Mg4GBvRlSoaZMhQF/zSj1C8CtKMBkoiT8eL8w==",      "license": "MIT",      "dependencies": {        "@types/node": "*",        "pg-protocol": "*",        "pg-types": "^2.2.0"      }    },    "node_modules/@types/pg-pool": {      "version": "2.0.6",      "resolved": "https://registry.npmjs.org/@types/pg-pool/-/pg-pool-2.0.6.tgz",      "integrity": "sha512-TaAUE5rq2VQYxab5Ts7WZhKNmuN78Q6PiFonTDdpbx8a1H0M1vhy3rhiMjl+e2iHmogyMw7jZF4FrE6eJUy5HQ==",      "license": "MIT",      "dependencies": {        "@types/pg": "*"      }    },    "node_modules/@types/shimmer": {      "version": "1.2.0",      "resolved": "https://registry.npmjs.org/@types/shimmer/-/shimmer-1.2.0.tgz",      "integrity": "sha512-UE7oxhQLLd9gub6JKIAhDq06T0F6FnztwMNRvYgjeQSBeMc1ZG/tA47EwfduvkuQS8apbkM/lpLpWsaCeYsXVg==",      "license": "MIT"    },    "node_modules/@types/tedious": {      "version": "4.0.14",      "resolved": "https://registry.npmjs.org/@types/tedious/-/tedious-4.0.14.tgz",      "integrity": "sha512-KHPsfX/FoVbUGbyYvk1q9MMQHLPeRZhRJZdO45Q4YjvFkv4hMNghCWTvy7rdKessBsmtz4euWCWAB6/tVpI1Iw==",      "license": "MIT",      "dependencies": {        "@types/node": "*"      }    },    "node_modules/@types/yauzl": {      "version": "2.10.3",      "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz",      "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==",      "license": "MIT",      "optional": true,      "dependencies": {        "@types/node": "*"      }    },    "node_modules/agent-base": {      "version": "7.1.4",      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz",      "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==",      "license": "MIT",      "engines": {        "node": ">= 14"      }    },    "node_modules/ansi-colors": {      "version": "4.1.3",      "license": "MIT",      "engines": {        "node": ">=6"      }    },    "node_modules/ansi-regex": {      "version": "5.0.1",      "license": "MIT",      "engines": {        "node": ">=8"      }    },    "node_modules/ansi-styles": {      "version": "4.3.0",      "license": "MIT",      "dependencies": {        "color-convert": "^2.0.1"      },      "engines": {        "node": ">=8"      },      "funding": {        "url": "https://github.com/chalk/ansi-styles?sponsor=1"      }    },    "node_modules/ast-types": {      "version": "0.13.4",      "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz",      "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==",      "license": "MIT",      "dependencies": {        "tslib": "^2.0.1"      },      "engines": {        "node": ">=4"      }    },    "node_modules/atomically": {      "version": "2.1.1",      "resolved": "https://registry.npmjs.org/atomically/-/atomically-2.1.1.tgz",      "integrity": "sha512-P4w9o2dqARji6P7MHprklbfiArZAWvo07yW7qs3pdljb3BWr12FIB7W+p0zJiuiVsUpRO0iZn1kFFcpPegg0tQ==",      "license": "MIT",      "dependencies": {        "stubborn-fs": "^2.0.0",        "when-exit": "^2.1.4"      }    },    "node_modules/axe-core": {      "version": "4.11.4",      "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.11.4.tgz",      "integrity": "sha512-KunSNx+TVpkAw/6ULfhnx+HWRecjqZGTOyquAoWHYLRSdK1tB5Ihce1ZW+UY3fj33bYAFWPu7W/GRSmmrCGuxA==",      "license": "MPL-2.0",      "engines": {        "node": ">=4"      }    },    "node_modules/b4a": {      "version": "1.8.1",      "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.8.1.tgz",      "integrity": "sha512-aiqre1Nr0B/6DgE2N5vwTc+2/oQZ4Wh1t4NznYY4E00y8LCt6NqdRv81so00oo27D8MVKTpUa/MwUUtBLXCoDw==",      "license": "Apache-2.0",      "peerDependencies": {        "react-native-b4a": "*"      },      "peerDependenciesMeta": {        "react-native-b4a": {          "optional": true        }      }    },    "node_modules/balanced-match": {      "version": "1.0.2",      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",      "license": "MIT"    },    "node_modules/bare-events": {      "version": "2.8.2",      "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.2.tgz",      "integrity": "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==",      "license": "Apache-2.0",      "peerDependencies": {        "bare-abort-controller": "*"      },      "peerDependenciesMeta": {        "bare-abort-controller": {          "optional": true        }      }    },    "node_modules/bare-fs": {      "version": "4.7.1",      "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.7.1.tgz",      "integrity": "sha512-WDRsyVN52eAx/lBamKD6uyw8H4228h/x0sGGGegOamM2cd7Pag88GfMQalobXI+HaEUxpCkbKQUDOQqt9wawRw==",      "license": "Apache-2.0",      "dependencies": {        "bare-events": "^2.5.4",        "bare-path": "^3.0.0",        "bare-stream": "^2.6.4",        "bare-url": "^2.2.2",        "fast-fifo": "^1.3.2"      },      "engines": {        "bare": ">=1.16.0"      },      "peerDependencies": {        "bare-buffer": "*"      },      "peerDependenciesMeta": {        "bare-buffer": {          "optional": true        }      }    },    "node_modules/bare-os": {      "version": "3.9.1",      "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.9.1.tgz",      "integrity": "sha512-6M5XjcnsygQNPMCMPXSK379xrJFiZ/AEMNBmFEmQW8d/789VQATvriyi5r0HYTL9TkQ26rn3kgdTG3aisbrXkQ==",      "license": "Apache-2.0",      "engines": {        "bare": ">=1.14.0"      }    },    "node_modules/bare-path": {      "version": "3.0.0",      "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz",      "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==",      "license": "Apache-2.0",      "dependencies": {        "bare-os": "^3.0.1"      }    },    "node_modules/bare-stream": {      "version": "2.13.1",      "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.13.1.tgz",      "integrity": "sha512-Vp0cnjYyrEC4whYTymQ+YZi6pBpfiICZO3cfRG8sy67ZNWe951urv1x4eW1BKNngw3U+3fPYb5JQvHbCtxH7Ow==",      "license": "Apache-2.0",      "dependencies": {        "streamx": "^2.25.0",        "teex": "^1.0.1"      },      "peerDependencies": {        "bare-abort-controller": "*",        "bare-buffer": "*",        "bare-events": "*"      },      "peerDependenciesMeta": {        "bare-abort-controller": {          "optional": true        },        "bare-buffer": {          "optional": true        },        "bare-events": {          "optional": true        }      }    },    "node_modules/bare-url": {      "version": "2.4.3",      "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.4.3.tgz",      "integrity": "sha512-Kccpc7ACfXaxfeInfqKcZtW4pT5YBn1mesc4sCsun6sRwtbJ4h+sNOaksUpYEJUKfN65YWC6Bw2OJEFiKxq8nQ==",      "license": "Apache-2.0",      "dependencies": {        "bare-path": "^3.0.0"      }    },    "node_modules/basic-ftp": {      "version": "5.3.1",      "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.3.1.tgz",      "integrity": "sha512-bopVNp6ugyA150DDuZfPFdt1KZ5a94ZDiwX4hMgZDzF+GttD80lEy8kj98kbyhLXnPvhtIo93mdnLIjpCAeeOw==",      "license": "MIT",      "engines": {        "node": ">=10.0.0"      }    },    "node_modules/brace-expansion": {      "version": "2.1.0",      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz",      "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==",      "license": "MIT",      "dependencies": {        "balanced-match": "^1.0.0"      }    },    "node_modules/buffer-crc32": {      "version": "0.2.13",      "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",      "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",      "license": "MIT",      "engines": {        "node": "*"      }    },    "node_modules/chrome-launcher": {      "version": "1.2.1",      "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-1.2.1.tgz",      "integrity": "sha512-qmFR5PLMzHyuNJHwOloHPAHhbaNglkfeV/xDtt5b7xiFFyU1I+AZZX0PYseMuhenJSSirgxELYIbswcoc+5H4A==",      "license": "Apache-2.0",      "dependencies": {        "@types/node": "*",        "escape-string-regexp": "^4.0.0",        "is-wsl": "^2.2.0",        "lighthouse-logger": "^2.0.1"      },      "bin": {        "print-chrome-path": "bin/print-chrome-path.cjs"      },      "engines": {        "node": ">=12.13.0"      }    },    "node_modules/chromium-bidi": {      "version": "14.0.0",      "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-14.0.0.tgz",      "integrity": "sha512-9gYlLtS6tStdRWzrtXaTMnqcM4dudNegMXJxkR0I/CXObHalYeYcAMPrL19eroNZHtJ8DQmu1E+ZNOYu/IXMXw==",      "license": "Apache-2.0",      "dependencies": {        "mitt": "^3.0.1",        "zod": "^3.24.1"      },      "peerDependencies": {        "devtools-protocol": "*"      }    },    "node_modules/cjs-module-lexer": {      "version": "1.4.3",      "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz",      "integrity": "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==",      "license": "MIT"    },    "node_modules/cliui": {      "version": "8.0.1",      "license": "ISC",      "dependencies": {        "string-width": "^4.2.0",        "strip-ansi": "^6.0.1",        "wrap-ansi": "^7.0.0"      },      "engines": {        "node": ">=12"      }    },    "node_modules/color-convert": {      "version": "2.0.1",      "license": "MIT",      "dependencies": {        "color-name": "~1.1.4"      },      "engines": {        "node": ">=7.0.0"      }    },    "node_modules/color-name": {      "version": "1.1.4",      "license": "MIT"    },    "node_modules/configstore": {      "version": "7.1.0",      "resolved": "https://registry.npmjs.org/configstore/-/configstore-7.1.0.tgz",      "integrity": "sha512-N4oog6YJWbR9kGyXvS7jEykLDXIE2C0ILYqNBZBp9iwiJpoCBWYsuAdW6PPFn6w06jjnC+3JstVvWHO4cZqvRg==",      "license": "BSD-2-Clause",      "dependencies": {        "atomically": "^2.0.3",        "dot-prop": "^9.0.0",        "graceful-fs": "^4.2.11",        "xdg-basedir": "^5.1.0"      },      "engines": {        "node": ">=18"      },      "funding": {        "url": "https://github.com/sponsors/sindresorhus"      }    },    "node_modules/csp_evaluator": {      "version": "1.1.5",      "resolved": "https://registry.npmjs.org/csp_evaluator/-/csp_evaluator-1.1.5.tgz",      "integrity": "sha512-EL/iN9etCTzw/fBnp0/uj0f5BOOGvZut2mzsiiBZ/FdT6gFQCKRO/tmcKOxn5drWZ2Ndm/xBb1SI4zwWbGtmIw==",      "license": "Apache-2.0"    },    "node_modules/data-uri-to-buffer": {      "version": "6.0.2",      "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz",      "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==",      "license": "MIT",      "engines": {        "node": ">= 14"      }    },    "node_modules/debug": {      "version": "4.4.3",      "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",      "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",      "license": "MIT",      "dependencies": {        "ms": "^2.1.3"      },      "engines": {        "node": ">=6.0"      },      "peerDependenciesMeta": {        "supports-color": {          "optional": true        }      }    },    "node_modules/decimal.js": {      "version": "10.6.0",      "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz",      "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==",      "license": "MIT"    },    "node_modules/define-lazy-prop": {      "version": "2.0.0",      "license": "MIT",      "engines": {        "node": ">=8"      }    },    "node_modules/degenerator": {      "version": "5.0.1",      "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz",      "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==",      "license": "MIT",      "dependencies": {        "ast-types": "^0.13.4",        "escodegen": "^2.1.0",        "esprima": "^4.0.1"      },      "engines": {        "node": ">= 14"      }    },    "node_modules/degenerator/node_modules/escodegen": {      "version": "2.1.0",      "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz",      "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==",      "license": "BSD-2-Clause",      "dependencies": {        "esprima": "^4.0.1",        "estraverse": "^5.2.0",        "esutils": "^2.0.2"      },      "bin": {        "escodegen": "bin/escodegen.js",        "esgenerate": "bin/esgenerate.js"      },      "engines": {        "node": ">=6.0"      },      "optionalDependencies": {        "source-map": "~0.6.1"      }    },    "node_modules/degenerator/node_modules/esprima": {      "version": "4.0.1",      "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",      "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",      "license": "BSD-2-Clause",      "bin": {        "esparse": "bin/esparse.js",        "esvalidate": "bin/esvalidate.js"      },      "engines": {        "node": ">=4"      }    },    "node_modules/degenerator/node_modules/estraverse": {      "version": "5.3.0",      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",      "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",      "license": "BSD-2-Clause",      "engines": {        "node": ">=4.0"      }    },    "node_modules/devtools-protocol": {      "version": "0.0.1507524",      "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1507524.tgz",      "integrity": "sha512-OjaNE7qpk6GRTXtqQjAE5bGx6+c4F1zZH0YXtpZQLM92HNXx4zMAaqlKhP4T52DosG6hDW8gPMNhGOF8xbwk/w==",      "license": "BSD-3-Clause"    },    "node_modules/dot-prop": {      "version": "9.0.0",      "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-9.0.0.tgz",      "integrity": "sha512-1gxPBJpI/pcjQhKgIU91II6Wkay+dLcN3M6rf2uwP8hRur3HtQXjVrdAK3sjC0piaEuxzMwjXChcETiJl47lAQ==",      "license": "MIT",      "dependencies": {        "type-fest": "^4.18.2"      },      "engines": {        "node": ">=18"      },      "funding": {        "url": "https://github.com/sponsors/sindresorhus"      }    },    "node_modules/emoji-regex": {      "version": "8.0.0",      "license": "MIT"    },    "node_modules/end-of-stream": {      "version": "1.4.5",      "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz",      "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==",      "license": "MIT",      "dependencies": {        "once": "^1.4.0"      }    },    "node_modules/enquirer": {      "version": "2.4.1",      "license": "MIT",      "dependencies": {        "ansi-colors": "^4.1.1",        "strip-ansi": "^6.0.1"      },      "engines": {        "node": ">=8.6"      }    },    "node_modules/es-errors": {      "version": "1.3.0",      "license": "MIT",      "engines": {        "node": ">= 0.4"      }    },    "node_modules/escalade": {      "version": "3.2.0",      "license": "MIT",      "engines": {        "node": ">=6"      }    },    "node_modules/escape-string-regexp": {      "version": "4.0.0",      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",      "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",      "license": "MIT",      "engines": {        "node": ">=10"      },      "funding": {        "url": "https://github.com/sponsors/sindresorhus"      }    },    "node_modules/esutils": {      "version": "2.0.3",      "license": "BSD-2-Clause",      "engines": {        "node": ">=0.10.0"      }    },    "node_modules/events-universal": {      "version": "1.0.1",      "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz",      "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==",      "license": "Apache-2.0",      "dependencies": {        "bare-events": "^2.7.0"      }    },    "node_modules/extract-zip": {      "version": "2.0.1",      "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",      "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",      "license": "BSD-2-Clause",      "dependencies": {        "debug": "^4.1.1",        "get-stream": "^5.1.0",        "yauzl": "^2.10.0"      },      "bin": {        "extract-zip": "cli.js"      },      "engines": {        "node": ">= 10.17.0"      },      "optionalDependencies": {        "@types/yauzl": "^2.9.1"      }    },    "node_modules/fast-fifo": {      "version": "1.3.2",      "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz",      "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==",      "license": "MIT"    },    "node_modules/fd-slicer": {      "version": "1.1.0",      "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",      "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",      "license": "MIT",      "dependencies": {        "pend": "~1.2.0"      }    },    "node_modules/forwarded-parse": {      "version": "2.1.2",      "resolved": "https://registry.npmjs.org/forwarded-parse/-/forwarded-parse-2.1.2.tgz",      "integrity": "sha512-alTFZZQDKMporBH77856pXgzhEzaUVmLCDk+egLgIgHst3Tpndzz8MnKe+GzRJRfvVdn69HhpW7cmXzvtLvJAw==",      "license": "MIT"    },    "node_modules/function-bind": {      "version": "1.1.2",      "license": "MIT",      "funding": {        "url": "https://github.com/sponsors/ljharb"      }    },    "node_modules/get-caller-file": {      "version": "2.0.5",      "license": "ISC",      "engines": {        "node": "6.* || 8.* || >= 10.*"      }    },    "node_modules/get-stream": {      "version": "5.2.0",      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",      "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",      "license": "MIT",      "dependencies": {        "pump": "^3.0.0"      },      "engines": {        "node": ">=8"      },      "funding": {        "url": "https://github.com/sponsors/sindresorhus"      }    },    "node_modules/get-uri": {      "version": "6.0.5",      "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.5.tgz",      "integrity": "sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==",      "license": "MIT",      "dependencies": {        "basic-ftp": "^5.0.2",        "data-uri-to-buffer": "^6.0.2",        "debug": "^4.3.4"      },      "engines": {        "node": ">= 14"      }    },    "node_modules/graceful-fs": {      "version": "4.2.11",      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",      "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",      "license": "ISC"    },    "node_modules/hasown": {      "version": "2.0.2",      "license": "MIT",      "dependencies": {        "function-bind": "^1.1.2"      },      "engines": {        "node": ">= 0.4"      }    },    "node_modules/http-link-header": {      "version": "1.1.3",      "resolved": "https://registry.npmjs.org/http-link-header/-/http-link-header-1.1.3.tgz",      "integrity": "sha512-3cZ0SRL8fb9MUlU3mKM61FcQvPfXx2dBrZW3Vbg5CXa8jFlK8OaEpePenLe1oEXQduhz8b0QjsqfS59QP4AJDQ==",      "license": "MIT",      "engines": {        "node": ">=6.0.0"      }    },    "node_modules/http-proxy-agent": {      "version": "7.0.2",      "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",      "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",      "license": "MIT",      "dependencies": {        "agent-base": "^7.1.0",        "debug": "^4.3.4"      },      "engines": {        "node": ">= 14"      }    },    "node_modules/https-proxy-agent": {      "version": "7.0.6",      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",      "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",      "license": "MIT",      "dependencies": {        "agent-base": "^7.1.2",        "debug": "4"      },      "engines": {        "node": ">= 14"      }    },    "node_modules/image-ssim": {      "version": "0.2.0",      "license": "MIT"    },    "node_modules/import-in-the-middle": {      "version": "1.15.0",      "resolved": "https://registry.npmjs.org/import-in-the-middle/-/import-in-the-middle-1.15.0.tgz",      "integrity": "sha512-bpQy+CrsRmYmoPMAE/0G33iwRqwW4ouqdRg8jgbH3aKuCtOc8lxgmYXg2dMM92CRiGP660EtBcymH/eVUpCSaA==",      "license": "Apache-2.0",      "dependencies": {        "acorn": "^8.14.0",        "acorn-import-attributes": "^1.9.5",        "cjs-module-lexer": "^1.2.2",        "module-details-from-path": "^1.0.3"      }    },    "node_modules/import-in-the-middle/node_modules/acorn": {      "version": "8.16.0",      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz",      "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==",      "license": "MIT",      "bin": {        "acorn": "bin/acorn"      },      "engines": {        "node": ">=0.4.0"      }    },    "node_modules/import-in-the-middle/node_modules/acorn-import-attributes": {      "version": "1.9.5",      "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz",      "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==",      "license": "MIT",      "peerDependencies": {        "acorn": "^8"      }    },    "node_modules/intl-messageformat": {      "version": "10.7.18",      "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.7.18.tgz",      "integrity": "sha512-m3Ofv/X/tV8Y3tHXLohcuVuhWKo7BBq62cqY15etqmLxg2DZ34AGGgQDeR+SCta2+zICb1NX83af0GJmbQ1++g==",      "license": "BSD-3-Clause",      "dependencies": {        "@formatjs/ecma402-abstract": "2.3.6",        "@formatjs/fast-memoize": "2.2.7",        "@formatjs/icu-messageformat-parser": "2.11.4",        "tslib": "^2.8.0"      }    },    "node_modules/ip-address": {      "version": "10.2.0",      "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.2.0.tgz",      "integrity": "sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==",      "license": "MIT",      "engines": {        "node": ">= 12"      }    },    "node_modules/is-core-module": {      "version": "2.16.1",      "license": "MIT",      "dependencies": {        "hasown": "^2.0.2"      },      "engines": {        "node": ">= 0.4"      },      "funding": {        "url": "https://github.com/sponsors/ljharb"      }    },    "node_modules/is-docker": {      "version": "2.2.1",      "license": "MIT",      "bin": {        "is-docker": "cli.js"      },      "engines": {        "node": ">=8"      },      "funding": {        "url": "https://github.com/sponsors/sindresorhus"      }    },    "node_modules/is-fullwidth-code-point": {      "version": "3.0.0",      "license": "MIT",      "engines": {        "node": ">=8"      }    },    "node_modules/is-wsl": {      "version": "2.2.0",      "license": "MIT",      "dependencies": {        "is-docker": "^2.0.0"      },      "engines": {        "node": ">=8"      }    },    "node_modules/jpeg-js": {      "version": "0.4.4",      "license": "BSD-3-Clause"    },    "node_modules/js-library-detector": {      "version": "6.7.0",      "license": "MIT",      "engines": {        "node": ">=12"      }    },    "node_modules/legacy-javascript": {      "version": "0.0.1",      "resolved": "https://registry.npmjs.org/legacy-javascript/-/legacy-javascript-0.0.1.tgz",      "integrity": "sha512-lPyntS4/aS7jpuvOlitZDFifBCb4W8L/3QU0PLbUTUj+zYah8rfVjYic88yG7ZKTxhS5h9iz7duT8oUXKszLhg==",      "license": "Apache-2.0"    },    "node_modules/lighthouse": {      "version": "12.8.2",      "resolved": "https://registry.npmjs.org/lighthouse/-/lighthouse-12.8.2.tgz",      "integrity": "sha512-+5SKYzVaTFj22MgoYDPNrP9tlD2/Ay7j3SxPSFD9FpPyVxGr4UtOQGKyrdZ7wCmcnBaFk0mCkPfARU3CsE0nvA==",      "license": "Apache-2.0",      "dependencies": {        "@paulirish/trace_engine": "0.0.59",        "@sentry/node": "^9.28.1",        "axe-core": "^4.10.3",        "chrome-launcher": "^1.2.0",        "configstore": "^7.0.0",        "csp_evaluator": "1.1.5",        "devtools-protocol": "0.0.1507524",        "enquirer": "^2.3.6",        "http-link-header": "^1.1.1",        "intl-messageformat": "^10.5.3",        "jpeg-js": "^0.4.4",        "js-library-detector": "^6.7.0",        "lighthouse-logger": "^2.0.2",        "lighthouse-stack-packs": "1.12.2",        "lodash-es": "^4.17.21",        "lookup-closest-locale": "6.2.0",        "metaviewport-parser": "0.3.0",        "open": "^8.4.0",        "parse-cache-control": "1.0.1",        "puppeteer-core": "^24.17.1",        "robots-parser": "^3.0.1",        "speedline-core": "^1.4.3",        "third-party-web": "^0.27.0",        "tldts-icann": "^7.0.12",        "ws": "^7.0.0",        "yargs": "^17.3.1",        "yargs-parser": "^21.0.0"      },      "bin": {        "chrome-debug": "core/scripts/manual-chrome-launcher.js",        "lighthouse": "cli/index.js",        "smokehouse": "cli/test/smokehouse/frontends/smokehouse-bin.js"      },      "engines": {        "node": ">=18.16"      }    },    "node_modules/lighthouse-logger": {      "version": "2.0.2",      "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-2.0.2.tgz",      "integrity": "sha512-vWl2+u5jgOQuZR55Z1WM0XDdrJT6mzMP8zHUct7xTlWhuQs+eV0g+QL0RQdFjT54zVmbhLCP8vIVpy1wGn/gCg==",      "license": "Apache-2.0",      "dependencies": {        "debug": "^4.4.1",        "marky": "^1.2.2"      }    },    "node_modules/lighthouse-stack-packs": {      "version": "1.12.2",      "resolved": "https://registry.npmjs.org/lighthouse-stack-packs/-/lighthouse-stack-packs-1.12.2.tgz",      "integrity": "sha512-Ug8feS/A+92TMTCK6yHYLwaFMuelK/hAKRMdldYkMNwv+d9PtWxjXEg6rwKtsUXTADajhdrhXyuNCJ5/sfmPFw==",      "license": "Apache-2.0"    },    "node_modules/lodash-es": {      "version": "4.18.1",      "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.18.1.tgz",      "integrity": "sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==",      "license": "MIT"    },    "node_modules/lookup-closest-locale": {      "version": "6.2.0",      "license": "MIT"    },    "node_modules/lru-cache": {      "version": "7.18.3",      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",      "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",      "license": "ISC",      "engines": {        "node": ">=12"      }    },    "node_modules/marky": {      "version": "1.3.0",      "resolved": "https://registry.npmjs.org/marky/-/marky-1.3.0.tgz",      "integrity": "sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ==",      "license": "Apache-2.0"    },    "node_modules/metaviewport-parser": {      "version": "0.3.0",      "resolved": "https://registry.npmjs.org/metaviewport-parser/-/metaviewport-parser-0.3.0.tgz",      "integrity": "sha512-EoYJ8xfjQ6kpe9VbVHvZTZHiOl4HL1Z18CrZ+qahvLXT7ZO4YTC2JMyt5FaUp9JJp6J4Ybb/z7IsCXZt86/QkQ==",      "license": "MIT"    },    "node_modules/minimatch": {      "version": "9.0.9",      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz",      "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==",      "license": "ISC",      "dependencies": {        "brace-expansion": "^2.0.2"      },      "engines": {        "node": ">=16 || 14 >=14.17"      },      "funding": {        "url": "https://github.com/sponsors/isaacs"      }    },    "node_modules/mitt": {      "version": "3.0.1",      "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz",      "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==",      "license": "MIT"    },    "node_modules/module-details-from-path": {      "version": "1.0.4",      "resolved": "https://registry.npmjs.org/module-details-from-path/-/module-details-from-path-1.0.4.tgz",      "integrity": "sha512-EGWKgxALGMgzvxYF1UyGTy0HXX/2vHLkw6+NvDKW2jypWbHpjQuj4UMcqQWXHERJhVGKikolT06G3bcKe4fi7w==",      "license": "MIT"    },    "node_modules/ms": {      "version": "2.1.3",      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",      "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",      "license": "MIT"    },    "node_modules/netmask": {      "version": "2.1.1",      "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.1.1.tgz",      "integrity": "sha512-eonl3sLUha+S1GzTPxychyhnUzKyeQkZ7jLjKrBagJgPla13F+uQ71HgpFefyHgqrjEbCPkDArxYsjY8/+gLKA==",      "license": "MIT",      "engines": {        "node": ">= 0.4.0"      }    },    "node_modules/once": {      "version": "1.4.0",      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",      "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",      "license": "ISC",      "dependencies": {        "wrappy": "1"      }    },    "node_modules/open": {      "version": "8.4.2",      "license": "MIT",      "dependencies": {        "define-lazy-prop": "^2.0.0",        "is-docker": "^2.1.1",        "is-wsl": "^2.2.0"      },      "engines": {        "node": ">=12"      },      "funding": {        "url": "https://github.com/sponsors/sindresorhus"      }    },    "node_modules/pac-proxy-agent": {      "version": "7.2.0",      "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.2.0.tgz",      "integrity": "sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==",      "license": "MIT",      "dependencies": {        "@tootallnate/quickjs-emscripten": "^0.23.0",        "agent-base": "^7.1.2",        "debug": "^4.3.4",        "get-uri": "^6.0.1",        "http-proxy-agent": "^7.0.0",        "https-proxy-agent": "^7.0.6",        "pac-resolver": "^7.0.1",        "socks-proxy-agent": "^8.0.5"      },      "engines": {        "node": ">= 14"      }    },    "node_modules/pac-resolver": {      "version": "7.0.1",      "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz",      "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==",      "license": "MIT",      "dependencies": {        "degenerator": "^5.0.0",        "netmask": "^2.0.2"      },      "engines": {        "node": ">= 14"      }    },    "node_modules/parse-cache-control": {      "version": "1.0.1"    },    "node_modules/path-parse": {      "version": "1.0.7",      "license": "MIT"    },    "node_modules/pend": {      "version": "1.2.0",      "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",      "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==",      "license": "MIT"    },    "node_modules/pg-int8": {      "version": "1.0.1",      "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz",      "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==",      "license": "ISC",      "engines": {        "node": ">=4.0.0"      }    },    "node_modules/pg-protocol": {      "version": "1.13.0",      "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.13.0.tgz",      "integrity": "sha512-zzdvXfS6v89r6v7OcFCHfHlyG/wvry1ALxZo4LqgUoy7W9xhBDMaqOuMiF3qEV45VqsN6rdlcehHrfDtlCPc8w==",      "license": "MIT"    },    "node_modules/pg-types": {      "version": "2.2.0",      "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz",      "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==",      "license": "MIT",      "dependencies": {        "pg-int8": "1.0.1",        "postgres-array": "~2.0.0",        "postgres-bytea": "~1.0.0",        "postgres-date": "~1.0.4",        "postgres-interval": "^1.1.0"      },      "engines": {        "node": ">=4"      }    },    "node_modules/postgres-array": {      "version": "2.0.0",      "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz",      "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==",      "license": "MIT",      "engines": {        "node": ">=4"      }    },    "node_modules/postgres-bytea": {      "version": "1.0.1",      "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.1.tgz",      "integrity": "sha512-5+5HqXnsZPE65IJZSMkZtURARZelel2oXUEO8rH83VS/hxH5vv1uHquPg5wZs8yMAfdv971IU+kcPUczi7NVBQ==",      "license": "MIT",      "engines": {        "node": ">=0.10.0"      }    },    "node_modules/postgres-date": {      "version": "1.0.7",      "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz",      "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==",      "license": "MIT",      "engines": {        "node": ">=0.10.0"      }    },    "node_modules/postgres-interval": {      "version": "1.2.0",      "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz",      "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==",      "license": "MIT",      "dependencies": {        "xtend": "^4.0.0"      },      "engines": {        "node": ">=0.10.0"      }    },    "node_modules/progress": {      "version": "2.0.3",      "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",      "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",      "license": "MIT",      "engines": {        "node": ">=0.4.0"      }    },    "node_modules/proxy-agent": {      "version": "6.5.0",      "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.5.0.tgz",      "integrity": "sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==",      "license": "MIT",      "dependencies": {        "agent-base": "^7.1.2",        "debug": "^4.3.4",        "http-proxy-agent": "^7.0.1",        "https-proxy-agent": "^7.0.6",        "lru-cache": "^7.14.1",        "pac-proxy-agent": "^7.1.0",        "proxy-from-env": "^1.1.0",        "socks-proxy-agent": "^8.0.5"      },      "engines": {        "node": ">= 14"      }    },    "node_modules/proxy-from-env": {      "version": "1.1.0",      "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",      "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",      "license": "MIT"    },    "node_modules/pump": {      "version": "3.0.4",      "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz",      "integrity": "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==",      "license": "MIT",      "dependencies": {        "end-of-stream": "^1.1.0",        "once": "^1.3.1"      }    },    "node_modules/puppeteer-core": {      "version": "24.43.0",      "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-24.43.0.tgz",      "integrity": "sha512-cCRNXsUlhyPoKDz6+TiSpfZpRS3mD6Y1YFKhkdr6ik6TMfuJb7fAtXq9ThUFc4sphxObDk3BuAvdxc1Y6YOnqQ==",      "license": "Apache-2.0",      "dependencies": {        "@puppeteer/browsers": "2.13.1",        "chromium-bidi": "14.0.0",        "debug": "^4.4.3",        "devtools-protocol": "0.0.1608973",        "typed-query-selector": "^2.12.2",        "webdriver-bidi-protocol": "0.4.1",        "ws": "^8.20.0"      },      "engines": {        "node": ">=18"      }    },    "node_modules/puppeteer-core/node_modules/devtools-protocol": {      "version": "0.0.1608973",      "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1608973.tgz",      "integrity": "sha512-Tpm17fxYzt+J7VrGdc1k8YdRqS3YV7se/M6KeemEqvUbq/n7At1rWVuXMxQgpWkdwSdIEKYbU//Bve+Shm4YNQ==",      "license": "BSD-3-Clause"    },    "node_modules/puppeteer-core/node_modules/ws": {      "version": "8.20.0",      "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.0.tgz",      "integrity": "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==",      "license": "MIT",      "engines": {        "node": ">=10.0.0"      },      "peerDependencies": {        "bufferutil": "^4.0.1",        "utf-8-validate": ">=5.0.2"      },      "peerDependenciesMeta": {        "bufferutil": {          "optional": true        },        "utf-8-validate": {          "optional": true        }      }    },    "node_modules/require-directory": {      "version": "2.1.1",      "license": "MIT",      "engines": {        "node": ">=0.10.0"      }    },    "node_modules/require-in-the-middle": {      "version": "7.5.2",      "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-7.5.2.tgz",      "integrity": "sha512-gAZ+kLqBdHarXB64XpAe2VCjB7rIRv+mU8tfRWziHRJ5umKsIHN2tLLv6EtMw7WCdP19S0ERVMldNvxYCHnhSQ==",      "license": "MIT",      "dependencies": {        "debug": "^4.3.5",        "module-details-from-path": "^1.0.3",        "resolve": "^1.22.8"      },      "engines": {        "node": ">=8.6.0"      }    },    "node_modules/resolve": {      "version": "1.22.12",      "license": "MIT",      "dependencies": {        "es-errors": "^1.3.0",        "is-core-module": "^2.16.1",        "path-parse": "^1.0.7",        "supports-preserve-symlinks-flag": "^1.0.0"      },      "bin": {        "resolve": "bin/resolve"      },      "engines": {        "node": ">= 0.4"      },      "funding": {        "url": "https://github.com/sponsors/ljharb"      }    },    "node_modules/robots-parser": {      "version": "3.0.1",      "license": "MIT",      "engines": {        "node": ">=10.0.0"      }    },    "node_modules/semver": {      "version": "7.7.4",      "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",      "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==",      "license": "ISC",      "bin": {        "semver": "bin/semver.js"      },      "engines": {        "node": ">=10"      }    },    "node_modules/shimmer": {      "version": "1.2.1",      "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz",      "integrity": "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==",      "license": "BSD-2-Clause"    },    "node_modules/smart-buffer": {      "version": "4.2.0",      "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",      "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",      "license": "MIT",      "engines": {        "node": ">= 6.0.0",        "npm": ">= 3.0.0"      }    },    "node_modules/socks": {      "version": "2.8.8",      "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.8.tgz",      "integrity": "sha512-NlGELfPrgX2f1TAAcz0WawlLn+0r3FyhhCRpFFK2CemXenPYvzMWWZINv3eDNo9ucdwme7oCHRY0Jnbs4aIkog==",      "license": "MIT",      "dependencies": {        "ip-address": "^10.1.1",        "smart-buffer": "^4.2.0"      },      "engines": {        "node": ">= 10.0.0",        "npm": ">= 3.0.0"      }    },    "node_modules/socks-proxy-agent": {      "version": "8.0.5",      "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz",      "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==",      "license": "MIT",      "dependencies": {        "agent-base": "^7.1.2",        "debug": "^4.3.4",        "socks": "^2.8.3"      },      "engines": {        "node": ">= 14"      }    },    "node_modules/source-map": {      "version": "0.6.1",      "license": "BSD-3-Clause",      "optional": true,      "engines": {        "node": ">=0.10.0"      }    },    "node_modules/speedline-core": {      "version": "1.4.3",      "license": "MIT",      "dependencies": {        "@types/node": "*",        "image-ssim": "^0.2.0",        "jpeg-js": "^0.4.1"      },      "engines": {        "node": ">=8.0"      }    },    "node_modules/streamx": {      "version": "2.25.0",      "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.25.0.tgz",      "integrity": "sha512-0nQuG6jf1w+wddNEEXCF4nTg3LtufWINB5eFEN+5TNZW7KWJp6x87+JFL43vaAUPyCfH1wID+mNVyW6OHtFamg==",      "license": "MIT",      "dependencies": {        "events-universal": "^1.0.0",        "fast-fifo": "^1.3.2",        "text-decoder": "^1.1.0"      }    },    "node_modules/string-width": {      "version": "4.2.3",      "license": "MIT",      "dependencies": {        "emoji-regex": "^8.0.0",        "is-fullwidth-code-point": "^3.0.0",        "strip-ansi": "^6.0.1"      },      "engines": {        "node": ">=8"      }    },    "node_modules/strip-ansi": {      "version": "6.0.1",      "license": "MIT",      "dependencies": {        "ansi-regex": "^5.0.1"      },      "engines": {        "node": ">=8"      }    },    "node_modules/stubborn-fs": {      "version": "2.0.0",      "resolved": "https://registry.npmjs.org/stubborn-fs/-/stubborn-fs-2.0.0.tgz",      "integrity": "sha512-Y0AvSwDw8y+nlSNFXMm2g6L51rBGdAQT20J3YSOqxC53Lo3bjWRtr2BKcfYoAf352WYpsZSTURrA0tqhfgudPA==",      "license": "MIT",      "dependencies": {        "stubborn-utils": "^1.0.1"      }    },    "node_modules/stubborn-utils": {      "version": "1.0.2",      "resolved": "https://registry.npmjs.org/stubborn-utils/-/stubborn-utils-1.0.2.tgz",      "integrity": "sha512-zOh9jPYI+xrNOyisSelgym4tolKTJCQd5GBhK0+0xJvcYDcwlOoxF/rnFKQ2KRZknXSG9jWAp66fwP6AxN9STg==",      "license": "MIT"    },    "node_modules/supports-preserve-symlinks-flag": {      "version": "1.0.0",      "license": "MIT",      "engines": {        "node": ">= 0.4"      },      "funding": {        "url": "https://github.com/sponsors/ljharb"      }    },    "node_modules/tar-fs": {      "version": "3.1.2",      "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.1.2.tgz",      "integrity": "sha512-QGxxTxxyleAdyM3kpFs14ymbYmNFrfY+pHj7Z8FgtbZ7w2//VAgLMac7sT6nRpIHjppXO2AwwEOg0bPFVRcmXw==",      "license": "MIT",      "dependencies": {        "pump": "^3.0.0",        "tar-stream": "^3.1.5"      },      "optionalDependencies": {        "bare-fs": "^4.0.1",        "bare-path": "^3.0.0"      }    },    "node_modules/tar-stream": {      "version": "3.2.0",      "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.2.0.tgz",      "integrity": "sha512-ojzvCvVaNp6aOTFmG7jaRD0meowIAuPc3cMMhSgKiVWws1GyHbGd/xvnyuRKcKlMpt3qvxx6r0hreCNITP9hIg==",      "license": "MIT",      "dependencies": {        "b4a": "^1.6.4",        "bare-fs": "^4.5.5",        "fast-fifo": "^1.2.0",        "streamx": "^2.15.0"      }    },    "node_modules/teex": {      "version": "1.0.1",      "resolved": "https://registry.npmjs.org/teex/-/teex-1.0.1.tgz",      "integrity": "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==",      "license": "MIT",      "dependencies": {        "streamx": "^2.12.5"      }    },    "node_modules/text-decoder": {      "version": "1.2.7",      "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.7.tgz",      "integrity": "sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ==",      "license": "Apache-2.0",      "dependencies": {        "b4a": "^1.6.4"      }    },    "node_modules/third-party-web": {      "version": "0.27.0",      "resolved": "https://registry.npmjs.org/third-party-web/-/third-party-web-0.27.0.tgz",      "integrity": "sha512-h0JYX+dO2Zr3abCQpS6/uFjujaOjA1DyDzGQ41+oFn9VW/ARiq9g5ln7qEP9+BTzDpOMyIfsfj4OvfgXAsMUSA==",      "license": "MIT"    },    "node_modules/tldts-core": {      "version": "7.0.30",      "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.0.30.tgz",      "integrity": "sha512-uiHN8PIB1VmWyS98eZYja4xzlYqeFZVjb4OuYlJQnZAuJhMw4PbKQOKgHKhBdJR3FE/t5mUQ1Kd80++B+qhD1Q==",      "license": "MIT"    },    "node_modules/tldts-icann": {      "version": "7.0.30",      "resolved": "https://registry.npmjs.org/tldts-icann/-/tldts-icann-7.0.30.tgz",      "integrity": "sha512-o+sKcCCZQOh78GHfpmlcKoef0c+UVfltkqmgKmUHWiMiUhSfer8k5mEkQL2RBqwuC90fluI7ZN50H7+I2bJ1jw==",      "license": "MIT",      "dependencies": {        "tldts-core": "^7.0.30"      }    },    "node_modules/tslib": {      "version": "2.8.1",      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",      "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",      "license": "0BSD"    },    "node_modules/type-fest": {      "version": "4.41.0",      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz",      "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==",      "license": "(MIT OR CC0-1.0)",      "engines": {        "node": ">=16"      },      "funding": {        "url": "https://github.com/sponsors/sindresorhus"      }    },    "node_modules/typed-query-selector": {      "version": "2.12.2",      "resolved": "https://registry.npmjs.org/typed-query-selector/-/typed-query-selector-2.12.2.tgz",      "integrity": "sha512-EOPFbyIub4ngnEdqi2yOcNeDLaX/0jcE1JoAXQDDMIthap7FoN795lc/SHfIq2d416VufXpM8z/lD+WRm2gfOQ==",      "license": "MIT"    },    "node_modules/undici-types": {      "version": "7.19.2",      "license": "MIT"    },    "node_modules/webdriver-bidi-protocol": {      "version": "0.4.1",      "resolved": "https://registry.npmjs.org/webdriver-bidi-protocol/-/webdriver-bidi-protocol-0.4.1.tgz",      "integrity": "sha512-ARrjNjtWRRs2w4Tk7nqrf2gBI0QXWuOmMCx2hU+1jUt6d00MjMxURrhxhGbrsoiZKJrhTSTzbIrc554iKI10qw==",      "license": "Apache-2.0"    },    "node_modules/when-exit": {      "version": "2.1.5",      "resolved": "https://registry.npmjs.org/when-exit/-/when-exit-2.1.5.tgz",      "integrity": "sha512-VGkKJ564kzt6Ms1dbgPP/yuIoQCrsFAnRbptpC5wOEsDaNsbCB2bnfnaA8i/vRs5tjUSEOtIuvl9/MyVsvQZCg==",      "license": "MIT"    },    "node_modules/wrap-ansi": {      "version": "7.0.0",      "license": "MIT",      "dependencies": {        "ansi-styles": "^4.0.0",        "string-width": "^4.1.0",        "strip-ansi": "^6.0.0"      },      "engines": {        "node": ">=10"      },      "funding": {        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"      }    },    "node_modules/wrappy": {      "version": "1.0.2",      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",      "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",      "license": "ISC"    },    "node_modules/ws": {      "version": "7.5.10",      "license": "MIT",      "engines": {        "node": ">=8.3.0"      },      "peerDependencies": {        "bufferutil": "^4.0.1",        "utf-8-validate": "^5.0.2"      },      "peerDependenciesMeta": {        "bufferutil": {          "optional": true        },        "utf-8-validate": {          "optional": true        }      }    },    "node_modules/xdg-basedir": {      "version": "5.1.0",      "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz",      "integrity": "sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==",      "license": "MIT",      "engines": {        "node": ">=12"      },      "funding": {        "url": "https://github.com/sponsors/sindresorhus"      }    },    "node_modules/xtend": {      "version": "4.0.2",      "license": "MIT",      "engines": {        "node": ">=0.4"      }    },    "node_modules/y18n": {      "version": "5.0.8",      "license": "ISC",      "engines": {        "node": ">=10"      }    },    "node_modules/yargs": {      "version": "17.7.2",      "license": "MIT",      "dependencies": {        "cliui": "^8.0.1",        "escalade": "^3.1.1",        "get-caller-file": "^2.0.5",        "require-directory": "^2.1.1",        "string-width": "^4.2.3",        "y18n": "^5.0.5",        "yargs-parser": "^21.1.1"      },      "engines": {        "node": ">=12"      }    },    "node_modules/yargs-parser": {      "version": "21.1.1",      "license": "ISC",      "engines": {        "node": ">=12"      }    },    "node_modules/yauzl": {      "version": "2.10.0",      "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",      "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",      "license": "MIT",      "dependencies": {        "buffer-crc32": "~0.2.3",        "fd-slicer": "~1.1.0"      }    },    "node_modules/zod": {      "version": "3.25.76",      "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz",      "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==",      "license": "MIT",      "funding": {        "url": "https://github.com/sponsors/colinhacks"      }    }  }}
modified src/lighthouse.rs
@@ -85,8 +85,14 @@ pub async fn fetch(root: &std::path::Path, url: &str) -> Result<Value, Lighthous    let chromium = find_chromium();    let mut cmd = Command::new(&bin);    cmd.arg(url)    // `bun run --bun` symlinks `node` → bun, so the lighthouse shim's    // `#!/usr/bin/env node` shebang resolves to bun's runtime. Lets us drop    // nodejs/npm from the image entirely.    let mut cmd = Command::new("bun");    cmd.arg("run")        .arg("--bun")        .arg(&bin)        .arg(url)        .arg(format!("--chrome-flags={CHROME_FLAGS}"))        .arg("--output=json")        .arg("--output-path=stdout")