[object Object]

← back to Govarbitrage

Snapshot: commit staged govarbitrage scaffold (Docker, README, apps/mobile Expo app, extension, docs, 5x report)

5c6b0bb0ce996caedac1ff54e8c58f7d629557d8 · 2026-09-12 08:11:53 -0700 · Steve Abrams

Session close-out snapshot of the staged index (local only, no remote). Also
tune .gitleaks.toml: allowlist .env.example (pure placeholder template) + the
dummy hex/dev-only/DEMO_KEY/public-actor-id values so the generic-api-key rule
stops false-positiving on the 64-hex shape. No live secrets involved; all other
rules stay active on every other file.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WcVgXtxgFs4DnQDv3fFnLD

Files touched

Diff

commit 5c6b0bb0ce996caedac1ff54e8c58f7d629557d8
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Sat Sep 12 08:11:53 2026 -0700

    Snapshot: commit staged govarbitrage scaffold (Docker, README, apps/mobile Expo app, extension, docs, 5x report)
    
    Session close-out snapshot of the staged index (local only, no remote). Also
    tune .gitleaks.toml: allowlist .env.example (pure placeholder template) + the
    dummy hex/dev-only/DEMO_KEY/public-actor-id values so the generic-api-key rule
    stops false-positiving on the 64-hex shape. No live secrets involved; all other
    rules stay active on every other file.
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01WcVgXtxgFs4DnQDv3fFnLD
---
 .dockerignore                                      |   36 +
 .env.example                                       |   58 +
 .gitleaks.toml                                     |   31 +
 5x/REPORT.md                                       |   55 +
 Dockerfile                                         |   42 +
 README.md                                          |  226 +
 apps/mobile/.claude/settings.json                  |    5 +
 apps/mobile/.gitignore                             |   52 +
 apps/mobile/.npmrc                                 |    1 +
 apps/mobile/AGENTS.md                              |    3 +
 apps/mobile/APP-STORE-LISTING.md                   |   84 +
 apps/mobile/ASC-PASTE-KIT.md                       |  288 +
 apps/mobile/CLAUDE.md                              |    1 +
 apps/mobile/LICENSE                                |   21 +
 apps/mobile/app.json                               |   55 +
 apps/mobile/device-proof-evidence/.gitignore       |   17 +
 .../device-proof-evidence/CAPTURE-RUNBOOK.md       |   43 +
 .../device-proof-evidence/COMPLETENESS-FINDING.md  |   51 +
 .../device-proof-evidence/DDI-UNBLOCK-CHECKLIST.md |   29 +
 .../mobile/device-proof-evidence/EVIDENCE-INDEX.md |   96 +
 .../GovArbUITest.xcodeproj/project.pbxproj         |  223 +
 .../project.xcworkspace/contents.xcworkspacedata   |    7 +
 .../xcshareddata/xcschemes/GovArbUITests.xcscheme  |   43 +
 .../device-proof-evidence/GovArbUITest/README.md   |   51 +
 .../device-proof-evidence/SIM-DRYRUN-FINDINGS.md   |   72 +
 .../device-proof-evidence/SUBMIT-GATE-CHECKLIST.md |   41 +
 ...2T221255Z.mov.DO-NOT-UPLOAD-simulator-fails-2.1 |  Bin 0 -> 7994412 bytes
 apps/mobile/eas.json                               |   40 +
 apps/mobile/package-lock.json                      | 7339 ++++++++++++++++++++
 apps/mobile/package.json                           |   37 +
 apps/mobile/store-assets/privacy-label.md          |   45 +
 apps/mobile/tsconfig.json                          |   18 +
 docker-compose.yml                                 |   57 +
 docs/API.md                                        |  155 +
 docs/ARCHITECTURE.md                               |  199 +
 extension/README.md                                |   92 +
 extension/manifest.json                            |   19 +
 package-lock.json                                  |    1 -
 prisma/schema.prisma                               |  533 ++
 public/.gitkeep                                    |    0
 store-assets/app-store-listing.md                  |  153 +
 tsconfig.tsbuildinfo                               |    1 +
 42 files changed, 10319 insertions(+), 1 deletion(-)

diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000..01df8e2
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,36 @@
+# Dependencies + build artifacts (rebuilt inside the image)
+node_modules
+.next
+dist
+build
+out
+coverage
+
+# Env + secrets (inject at runtime via compose / -e, never bake in)
+.env
+.env.*
+!.env.example
+
+# VCS + editor
+.git
+.gitignore
+.gitattributes
+.vscode
+.idea
+
+# Logs + OS cruft
+*.log
+.DS_Store
+npm-debug.log*
+
+# Test + tooling output
+playwright-report
+test-results
+prisma/*.db
+
+# Docs + Docker (not needed in the build context)
+Dockerfile
+docker-compose.yml
+.dockerignore
+README.md
+docs
diff --git a/.env.example b/.env.example
new file mode 100644
index 0000000..2511e2f
--- /dev/null
+++ b/.env.example
@@ -0,0 +1,58 @@
+# ---- Database (local Postgres 14 already running on this machine) ----
+DATABASE_URL="postgresql://macstudio3@localhost:5432/govarbitrage?schema=public"
+
+# ---- Local AI (Ollama) — product identification runs local-first, $0/query ----
+OLLAMA_BASE_URL="http://localhost:11434"
+OLLAMA_TEXT_MODEL="qwen3:14b"
+OLLAMA_VISION_MODEL="qwen2.5vl:7b"
+
+# ---- Cloud AI fallback (opt-in only; leave blank to stay 100% local/$0) ----
+ANTHROPIC_API_KEY=""
+AI_PROVIDER="ollama"   # "ollama" (default, local, free) | "anthropic" (opt-in, paid)
+
+# ---- Background jobs ----
+# Redis is OPTIONAL. If REDIS_URL is unset, the research worker runs in
+# direct/in-process mode (fine at this scale). Set it to enable BullMQ.
+REDIS_URL=""
+
+# ---- Auth / security ----
+AUTH_SECRET="dev-only-change-me"
+ENCRYPTION_KEY="0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"  # 32 bytes = 64 hex chars (AES-256-GCM)
+
+# Optional write-guard: if set, import + admin write endpoints require the
+# matching `x-import-token` header. Unset = open (local dev).
+IMPORT_TOKEN=""
+
+# ---- Data source: official GSA Auctions API (free, no scraping) ----
+# DEMO_KEY works for testing; get a real key at https://api.data.gov/signup/
+GSA_API_KEY="DEMO_KEY"
+
+# ---- GovDeals via Apify actor parseforge/govdeals-scraper (bypasses bot-wall) ----
+# Reading finished datasets is free; running the actor for fresh data costs
+# ~$0.0037/listing. Token is routed here by the secrets manager.
+APIFY_TOKEN=""
+APIFY_GOVDEALS_ACTOR="SZdBCF9FpwOzvByvM"
+APIFY_GOVDEALS_DATASET=""
+
+# ---- App ----
+NODE_ENV="development"
+
+# ---- Twice-daily "Top 10 Opportunities" digest (scripts/send-digest.ts) ----
+# George (DW Gmail HTTP agent) credentials are read at runtime from the George
+# MCP env in ~/.claude.json by scripts/run-digest.sh — NOT stored here.
+DIGEST_TO="steve@designerwallcoverings.com"
+APP_URL="http://localhost:3737"
+
+# ---- Public newsletter (double opt-in; TEST mode until Steve approves live) ----
+# TEST mode (default): confirmation/unsubscribe emails are logged to console +
+# logs/newsletter-outbox.jsonl, never sent. Live requires BOTH
+# NEWSLETTER_SEND_MODE=live AND NEWSLETTER_SEND_APPROVAL_TOKEN set — and the
+# actual send transport (George/SMTP) is deliberately not wired yet.
+NEWSLETTER_SEND_MODE="test"
+NEWSLETTER_SEND_APPROVAL_TOKEN=""
+NEWSLETTER_FROM_NAME="GovArbitrage Deal Digest"
+NEWSLETTER_FROM_EMAIL=""
+# CAN-SPAM: physical postal address, required in every commercial email footer.
+NEWSLETTER_MAILING_ADDRESS=""
+# Public origin used in confirm/unsubscribe links (falls back to request origin).
+NEWSLETTER_BASE_URL=""
diff --git a/.gitleaks.toml b/.gitleaks.toml
new file mode 100644
index 0000000..ef833f8
--- /dev/null
+++ b/.gitleaks.toml
@@ -0,0 +1,31 @@
+# gitleaks config for govarbitrage.
+# Keep ALL default rules (extend), and add ONLY a narrow allowlist for the App
+# Store Connect API *identifiers* that live in apps/mobile/eas.json. The ASC
+# issuer id and key id are account IDENTIFIERS, not secret key material — the
+# actual private key (AuthKey_*.p8) is referenced by a gitignored path
+# (~/.appstoreconnect/private_keys/…) and is never committed. gitleaks' generic
+# high-entropy rule false-positives on these UUID/key-id strings.
+title = "govarbitrage gitleaks config"
+
+[extend]
+useDefault = true
+
+[allowlist]
+description = "ASC API key identifiers (issuer id + key id) in eas.json — non-secret account identifiers, not key material"
+# .env.example is a pure documentation TEMPLATE — every value is a placeholder,
+# empty, or a public demo id. Allowlist the file (all rules stay active elsewhere).
+paths = [
+  '''\.env\.example$''',
+]
+regexes = [
+  '''cfbd63ed-301b-465c-aad7-49e94420ad70''',
+  '''AuthKey_72Y2TZT54R''',
+  '''72Y2TZT54R''',
+  # Placeholder/dummy values in .env.example + dev docker-compose.yml — NOT live
+  # secrets. The generic-api-key rule false-positives on the 64-hex SHAPE.
+  '''0123456789abcdef''',
+  '''dev-only-change-me''',
+  '''GSA_API_KEY="DEMO_KEY"''',
+  # Public Apify actor id (parseforge/govdeals-scraper) — an actor IDENTIFIER, not a token.
+  '''SZdBCF9FpwOzvByvM''',
+]
diff --git a/5x/REPORT.md b/5x/REPORT.md
new file mode 100644
index 0000000..68deeda
--- /dev/null
+++ b/5x/REPORT.md
@@ -0,0 +1,55 @@
+# /5x REPORT — https://govarbitrage.agentabrams.com (live, 2026-07-13 ~09:30 PT)
+
+Target: all public surfaces, live through cloudflared tunnel → pm2 govarbitrage :3737.
+Stop condition reached: TWO consecutive clean sweeps (sweeps 1 & 2, 0 defects each).
+
+## Sweep 1 — six-way + all-path + console
+| Check | Result |
+|---|---|
+| 3x runner on /newsletter (M1 HTTP, M2 headless render, M3 Playwright E2E, B4 Chrome, B5 Safari, B6 Firefox, clickthrough) | 7/7 PASS, 0 JS errors, subscribe button exercised |
+| /newsletter /deals /deals/2026-07-13 /pricing /sitemap.xml /robots.txt — HTTP + content | all 200 + expected content |
+| /login | 200; client-rendered — headless confirmed 1 password + 1 email input (curl-grep false alarm, harness limitation not a defect) |
+| Console errors (5 pages, headless networkidle) | 0 on all |
+| /pricing tier prices | $12 + $29 render |
+| sitemap.xml \<loc\> base | public origin, no localhost leak |
+| Rate-limit IP source | reads x-forwarded-for (cloudflared supplies real client IP) — no shared-bucket trap |
+
+Defects caught: 0. Fixes: none needed.
+
+## Sweep 2 — API behavior + six-way on /deals
+| Check | Result |
+|---|---|
+| POST subscribe bad email | 400 |
+| POST subscribe honeypot filled | fake-OK 200, NO outbox entry (no send) |
+| GET confirm bogus/missing token | 404 / 400 |
+| GET unsubscribe bogus token | 404 |
+| /listings (auth-walled page) publicly | 307 → login |
+| /api/listings publicly | 401 |
+| 3x runner on /deals | 7/7 PASS, 0 JS errors |
+
+Defects caught: 0. Fixes: none needed.
+
+## Final state
+All six verification layers green on both entry pages; API validation, token handling,
+honeypot, rate-limit plumbing, auth wall, sitemap, robots all correct on the LIVE origin.
+Site stayed live the whole time (no restarts needed — no fixes required).
+
+Open items (not defects): 0 CONFIRMED subscribers until Steve clicks his confirm link;
+0 deals currently clear the hot-deal gate (empty-state renders honestly).
+
+## Contrarian gate → FIX FIRST → fixed (sweeps 3-4)
+Contrarian caught 3 gaps the clean sweeps missed:
+1. /newsletter had ZERO OG/social tags (acquisition page unfurled blank) → openGraph +
+   twitter metadata added; 5 og: tags verified live.
+2. "Launching soon" copy became a lie once the digest went live → present-tense honest
+   copy on page + confirm email; stale copy verified gone.
+3. localhost fallback in sendDigestToSubscribers could put localhost unsubscribe links in
+   a real email → live mode now throws unless NEWSLETTER_BASE_URL is https; verified.
+Resilience chain verified (not a code fix): tunnel plist KeepAlive+RunAtLoad,
+com.steve.pm2-resurrect, govarbitrage in pm2 dump. Shared-tunnel SPOF documented as
+accepted infra (dedicated tunnel = future option).
+
+## Sweeps 3-4 (post-fix)
+Sweep 3: fixes verified live (OG ×5, honest copy, guard passes with https base) — clean.
+Sweep 4: 3x runner /newsletter 7/7, console clean on 4 pages — clean.
+STOP: two consecutive clean sweeps AFTER fixes. Final verdict: stable.
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..86f4aab
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,42 @@
+# syntax=docker/dockerfile:1
+
+# ---------- Stage 1: dependencies ----------
+FROM node:22-alpine AS deps
+# Prisma engines + native modules need these on alpine.
+RUN apk add --no-cache libc6-compat openssl
+WORKDIR /app
+COPY package.json package-lock.json ./
+# Install all deps (incl. dev) so `next build` + `prisma generate` can run.
+RUN npm ci
+
+# ---------- Stage 2: build ----------
+FROM node:22-alpine AS builder
+RUN apk add --no-cache libc6-compat openssl
+WORKDIR /app
+COPY --from=deps /app/node_modules ./node_modules
+COPY . .
+# Generate the Prisma client, then build Next.js.
+# (npm run build already runs `prisma generate && next build`.)
+ENV NEXT_TELEMETRY_DISABLED=1
+RUN npx prisma generate && npm run build
+
+# ---------- Stage 3: runtime ----------
+FROM node:22-alpine AS runner
+RUN apk add --no-cache libc6-compat openssl
+WORKDIR /app
+ENV NODE_ENV=production
+ENV NEXT_TELEMETRY_DISABLED=1
+ENV PORT=3000
+
+# Bring over everything needed to `next start` (no standalone output assumed).
+COPY --from=builder /app/package.json ./package.json
+COPY --from=builder /app/node_modules ./node_modules
+COPY --from=builder /app/.next ./.next
+COPY --from=builder /app/public ./public
+COPY --from=builder /app/next.config.ts ./next.config.ts
+COPY --from=builder /app/prisma ./prisma
+
+EXPOSE 3000
+
+# Straightforward production start.
+CMD ["npm", "run", "start"]
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..f398fb0
--- /dev/null
+++ b/README.md
@@ -0,0 +1,226 @@
+# GovArbitrage
+
+**GovArbitrage** discovers government-surplus auction listings, researches and
+values them, scores them for resale arbitrage, and surfaces the best
+opportunities on a dense analyst dashboard.
+
+It answers one question for every lot: *"If I win this at the current bid, what
+does it cost me all-in, what can I resell it for, how fast, and how much do I
+actually make?"* — then ranks every listing across nine named opportunity
+profiles so you can sort by whatever kind of flip you're hunting.
+
+The heavy lifting is done by **deterministic, explainable engines** (valuation,
+costs, scoring, freight, demand). AI is used only for the fuzzy step —
+identifying what a product actually *is* from a messy auction title — and it runs
+**local-first on Ollama at $0/query**, with an opt-in Anthropic fallback.
+
+---
+
+## Features
+
+- **Listing intake** from multiple government auction sources (GovDeals, Public
+  Surplus, GSA Auctions, county/state/university surplus, Municibid, Bid4Assets,
+  CSV import, browser-extension capture).
+- **AI product identification** — infers manufacturer, model, category, and a
+  new-retail anchor from the listing title/description (local Ollama text +
+  vision models; Anthropic opt-in fallback; deterministic heuristic floor).
+- **Full valuation ladder** — from a single retail anchor + condition + demand,
+  derives new/replacement/average retail, a used-market spread, wholesale /
+  liquidation / sell-today channel values, 7- / 30- / 90-day time-horizon values,
+  expected sale price, probability of sale, days-until-sold, and a confidence
+  score.
+- **20+ line-item cost breakdown** — buyer's premium, sales tax, shipping,
+  freight, insurance, packing, pickup labor, testing, repairs, certification,
+  marketplace + payment fees, storage, photography, listing labor — rolled up
+  into total investment, expected net profit, ROI, and annualized return.
+- **Recommended max bid** — back-solved from a target ROI given all
+  bid-independent costs and resale fees, so you know the ceiling before you bid.
+- **Nine scoring profiles** — Overall Opportunity, Best Arbitrage, Quick Flip,
+  Collector, Local Pickup, Easy Freight, Parts Only, High Confidence, High
+  Profit — each built from seven component sub-scores, each with a plain-English
+  explanation of *why* it scored the way it did, plus risk and drop-ship
+  feasibility ratings.
+- **Dense TanStack dashboard** — ~40 sortable/hideable columns, per-profile
+  re-ranking, server-side search + filtering (source / condition / risk /
+  closing-soon), CSV export, and a live countdown to auction close.
+- **Listing detail view** — valuation ladder, full cost breakdown, per-profile
+  score explanations, comparables, auction terms, and event history.
+- **Compliant buyer workflow** — contingent-offer interest pages and leads that
+  never represent ownership before the auction is won (see
+  [Compliance](#compliance)).
+- **Audit trail & secrets** — every listing carries a typed event log; API
+  credentials submitted to `POST /api/credentials` are encrypted at rest with
+  AES-256-GCM (`src/lib/crypto.ts`) and never returned to the client; an
+  `AuditLog` records privileged actions. Import/admin write endpoints are guarded
+  by an optional `IMPORT_TOKEN` header.
+
+### Security status (honest)
+
+**Implemented & verified:**
+
+- **Session authentication** — email/password login (`/login`), scrypt-hashed
+  passwords (`src/lib/password.ts`), signed JWT session cookies (`jose`,
+  `src/lib/session.ts`), and **Edge middleware** (`src/middleware.ts`) that gates
+  every page + API route. Unauthenticated pages redirect to `/login`; APIs return
+  401. Public exceptions: `/login`, `/api/auth/*`, the `/b/<slug>` buyer pages, and
+  the anonymous `buyer-lead` submission endpoint.
+- **Roles** — `ADMIN` / `ANALYST` / `VIEWER` on the `User` model; `hasRole()` helper
+  for role checks; login/logout/failed-login written to `AuditLog`.
+- **AES-256-GCM secret encryption** for stored provider keys (`src/lib/crypto.ts`).
+- **Write-guard** — import/admin endpoints accept a valid session **or** the
+  machine `x-import-token` header (`IMPORT_TOKEN`), enforced in middleware and again
+  in-handler (`requireWrite`).
+- **Zod** request validation on auth + write endpoints.
+
+Demo users (password `changeme`): `admin@govarbitrage.local` (ADMIN),
+`analyst@govarbitrage.local` (ANALYST).
+
+**Remaining follow-on:** request **rate-limiting** (not yet implemented) — add
+before exposing the login + public buyer-lead endpoints to the open internet.
+
+---
+
+## Tech stack
+
+| Layer            | Technology                                                        |
+| ---------------- | ----------------------------------------------------------------- |
+| Framework        | **Next.js 16** (App Router, server components, Turbopack)         |
+| Language         | **TypeScript** 5.7                                                 |
+| UI runtime       | **React 19**                                                      |
+| ORM              | **Prisma 6** (`@prisma/client` 6.19)                              |
+| Database         | **PostgreSQL 14**                                                 |
+| Styling          | **Tailwind CSS v4** (`@tailwindcss/postcss`)                      |
+| Components       | shadcn/ui-style primitives (`class-variance-authority`, `clsx`, `tailwind-merge`, `lucide-react`) |
+| Data grid        | **TanStack Table** (`@tanstack/react-table` 8)                    |
+| Validation       | **Zod**                                                           |
+| CSV              | `csv-parse`                                                       |
+| Testing          | **Vitest** (engine unit tests) + **Playwright** (e2e)            |
+| Background jobs  | **BullMQ + Redis** (optional; direct/in-process mode without it) |
+| Local AI         | **Ollama** (text + vision models)                                 |
+| Cloud AI (opt-in)| Anthropic Claude (fallback only)                                  |
+
+---
+
+## Prerequisites
+
+- **Node.js 20+**
+- **PostgreSQL** running locally (a `govarbitrage` database — Postgres 14+)
+- **Ollama** running locally for AI identification (optional; the app falls back
+  to a deterministic heuristic when no model is reachable). Pull the configured
+  models, e.g. `ollama pull qwen3:14b` and `ollama pull qwen2.5vl:7b`.
+- **Redis** (optional) only if you want BullMQ-backed background research.
+
+---
+
+## Setup
+
+```bash
+# 1. Install dependencies
+npm install
+
+# 2. Create the database
+createdb govarbitrage
+
+# 3. Configure environment
+cp .env.example .env
+#    Edit .env if your Postgres user / connection differs.
+
+# 4. Create the schema (no migration history needed for local dev)
+npx prisma db push
+
+# 5. Seed realistic sample listings + full research/valuation/scoring
+npm run db:seed
+
+# 6. Run the dev server
+npm run dev
+```
+
+The app runs on **http://localhost:3000** by default.
+
+---
+
+## npm scripts
+
+| Script              | Command                        | What it does                                          |
+| ------------------- | ------------------------------ | ----------------------------------------------------- |
+| `npm run dev`       | `next dev`                     | Start the dev server (http://localhost:3000)          |
+| `npm run build`     | `prisma generate && next build`| Generate the Prisma client, then production build     |
+| `npm run start`     | `next start`                   | Serve the production build                             |
+| `npm run lint`      | `eslint .`                     | Lint the codebase                                     |
+| `npm run typecheck` | `tsc --noEmit`                 | Type-check without emitting                           |
+| `npm run test`      | `vitest run`                   | Run the engine unit tests once                        |
+| `npm run test:watch`| `vitest`                       | Run tests in watch mode                               |
+| `npm run db:generate` | `prisma generate`            | (Re)generate the Prisma client                        |
+| `npm run db:push`   | `prisma db push`               | Push the schema to the database (no migration files)  |
+| `npm run db:migrate`| `prisma migrate dev`           | Create + apply a dev migration                        |
+| `npm run db:seed`   | `tsx prisma/seed.ts`           | Seed sample listings + run the research pipeline      |
+| `npm run worker`    | `tsx src/worker/index.ts`      | Run the BullMQ research worker (optional; requires Redis) |
+| `npm run e2e`       | `playwright test`              | Run Playwright end-to-end tests                       |
+
+> The research worker (`npm run worker`) is the BullMQ-backed background runner.
+> When `REDIS_URL` is unset, research runs in direct/in-process mode instead
+> (invoked directly through `src/pipeline/research.ts`), which is fine at this
+> scale.
+
+---
+
+## Environment variables
+
+From `.env.example`:
+
+| Variable              | Default (example)                                                     | Purpose                                                                 |
+| --------------------- | -------------------------------------------------------------------- | ---------------------------------------------------------------------- |
+| `DATABASE_URL`        | `postgresql://<user>@localhost:5432/govarbitrage?schema=public`      | Postgres connection string.                                            |
+| `OLLAMA_BASE_URL`     | `http://localhost:11434`                                            | Local Ollama endpoint.                                                 |
+| `OLLAMA_TEXT_MODEL`   | `qwen3:14b`                                                          | Ollama model for text-based product identification.                   |
+| `OLLAMA_VISION_MODEL` | `qwen2.5vl:7b`                                                       | Ollama vision model (used when listing images are supplied).          |
+| `ANTHROPIC_API_KEY`   | *(blank)*                                                            | Cloud fallback key. Leave blank to stay 100% local / $0.              |
+| `AI_PROVIDER`         | `ollama`                                                            | `ollama` (default, local, free) or `anthropic` (opt-in, paid).       |
+| `REDIS_URL`           | *(blank)*                                                            | Optional. Set to enable BullMQ background jobs; unset = in-process.   |
+| `AUTH_SECRET`         | `dev-only-change-me`                                                 | Session/auth secret. Change in production.                            |
+| `ENCRYPTION_KEY`      | 32-byte hex                                                          | AES-256-GCM key for encrypting stored API credentials at rest.        |
+| `NODE_ENV`            | `development`                                                        | Node environment.                                                     |
+
+---
+
+## How the AI layer works
+
+Product identification is the one genuinely fuzzy step in the pipeline, so it's
+the only place AI is used. It runs **local-first**:
+
+1. **Ollama text model** (`OLLAMA_TEXT_MODEL`, default `qwen3:14b`) — the default
+   path. Runs on this machine, `$0`/query. If listing images are supplied, the
+   **vision model** (`OLLAMA_VISION_MODEL`, default `qwen2.5vl:7b`) is tried
+   first.
+2. **Anthropic Claude** — an **opt-in** fallback, used only when
+   `AI_PROVIDER=anthropic` *and* `ANTHROPIC_API_KEY` is set, and only if the
+   local model didn't return a result.
+3. **Deterministic heuristic** — if no model is reachable at all, the pipeline
+   falls back to the keyword-driven demand/retail heuristic in
+   `src/engines/demand.ts`. This keeps the app fully functional and reproducible
+   offline; the AI estimate is also *blended* with the heuristic floor to avoid
+   wild outliers.
+
+Everything downstream of identification (valuation, costs, scoring) is
+deterministic math, so the numbers are reproducible and auditable rather than a
+black box.
+
+---
+
+## Compliance
+
+GovArbitrage's buyer workflow is deliberately constrained so you never
+misrepresent ownership of an item you have not yet won:
+
+- Buyer-interest pages and leads are **contingent by default**
+  (`contingent = true`) and carry a standing disclaimer:
+
+  > *"This item is not yet owned. Any offer is contingent on winning the
+  > government auction and is non-binding until the auction is won and the item
+  > is in hand."*
+
+- The workflow **only accepts contingent offers** and **never represents
+  ownership before an auction is won**. Detail views label the buyer section
+  explicitly: *"Buyer Interest (contingent — no ownership represented pre-win)."*
+
+This is a hard product rule, not a setting.
diff --git a/apps/mobile/.claude/settings.json b/apps/mobile/.claude/settings.json
new file mode 100644
index 0000000..176e6a5
--- /dev/null
+++ b/apps/mobile/.claude/settings.json
@@ -0,0 +1,5 @@
+{
+  "enabledPlugins": {
+    "expo@claude-plugins-official": true
+  }
+}
diff --git a/apps/mobile/.gitignore b/apps/mobile/.gitignore
new file mode 100644
index 0000000..94ffe1d
--- /dev/null
+++ b/apps/mobile/.gitignore
@@ -0,0 +1,52 @@
+# Learn more https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files
+
+# dependencies
+node_modules/
+
+# Expo
+.expo/
+dist/
+web-build/
+expo-env.d.ts
+
+# Native
+.kotlin/
+*.orig.*
+*.jks
+*.p8
+*.p12
+*.key
+*.mobileprovision
+
+# Metro
+.metro-health-check*
+
+# debug
+npm-debug.*
+yarn-debug.*
+yarn-error.*
+
+# macOS
+.DS_Store
+*.pem
+
+# local env files
+.env*
+.env*.local
+
+# typescript
+*.tsbuildinfo
+
+# generated native folders
+/ios
+/android
+
+# EAS ASC API key (secret)
+credentials/
+*.p8
+
+# TK-10279 physical-device proof — ignore heavy capture artifacts (keep .md analysis docs)
+device-proof-evidence/*.mov
+device-proof-evidence/*.png
+device-proof-evidence/*.log
+device-proof-evidence/*.json
diff --git a/apps/mobile/.npmrc b/apps/mobile/.npmrc
new file mode 100644
index 0000000..521a9f7
--- /dev/null
+++ b/apps/mobile/.npmrc
@@ -0,0 +1 @@
+legacy-peer-deps=true
diff --git a/apps/mobile/AGENTS.md b/apps/mobile/AGENTS.md
new file mode 100644
index 0000000..0e6bc80
--- /dev/null
+++ b/apps/mobile/AGENTS.md
@@ -0,0 +1,3 @@
+# Expo HAS CHANGED
+
+Read the exact versioned docs at https://docs.expo.dev/versions/v57.0.0/ before writing any code.
diff --git a/apps/mobile/APP-STORE-LISTING.md b/apps/mobile/APP-STORE-LISTING.md
new file mode 100644
index 0000000..71a6939
--- /dev/null
+++ b/apps/mobile/APP-STORE-LISTING.md
@@ -0,0 +1,84 @@
+# App Store listing — GovArbitrage
+
+Bundle `com.abrams.govarbitrage` · EAS `@agentabrams/govarbitrage` · team `3VAV3KMNZK`
+Paste these into App Store Connect after `eas submit` creates the app record.
+
+## Name (30 char max)
+GovArbitrage
+
+## Subtitle (30 char max)
+Underpriced gov auctions
+
+## Primary category
+Business  ·  Secondary: Finance
+
+## Promotional text (170 char max — editable anytime without review)
+Government surplus, seized, and foreclosure auctions from dozens of agencies — scored and
+ranked so the underpriced lots surface first. Find the deal before the crowd does.
+
+## Description
+GovArbitrage turns a fragmented, hard-to-monitor corner of the public market into a single
+opportunity dashboard. Government auctions — surplus, seized, and foreclosure listings
+scattered across dozens of agency portals — are pulled into one clean, searchable feed and
+scored so the lots most likely to be underpriced relative to real-world resale value rise to
+the top.
+
+Stop refreshing a dozen agency sites. Open one app, sort by opportunity, and see where the
+edge is right now.
+
+FEATURES
+• Opportunity feed — every active government auction in one consistent, searchable list,
+  sorted so the best-scored deals lead.
+• Opportunity scoring — each lot is graded against comparable market value, so underpriced
+  items are obvious at a glance.
+• Deep listing detail — full valuation, estimated cost breakdown and profit, recommended max
+  bid, risk read, and links straight to the original auction.
+• Live pull-to-refresh — the feed stays current as new lots are identified and scored.
+• Private by design — the app does no tracking and shows no ads. Nothing personal leaves your
+  device.
+
+Whether you resell, flip, or just love a good public-market deal, GovArbitrage makes the
+best government-auction opportunities easy to find.
+
+## Keywords (100 char max, comma-separated, no spaces)
+auction,government,surplus,seized,gsa,arbitrage,deals,resale,liquidation,flip,wholesale,bidding
+
+## Support URL
+https://auctions.agentabrams.com
+
+## Marketing URL (optional)
+https://auctions.agentabrams.com
+
+## Privacy Policy URL
+https://auctions.agentabrams.com/privacy
+
+## App Privacy questionnaire (Data types)
+Data Not Collected. The app links no analytics or ad SDKs, performs NO tracking, and shows no
+in-app advertising. The only data the app stores is the API server URL and (optional) access
+credentials the user types in Settings — held encrypted on-device via expo-secure-store and
+sent only to the user's configured server. It is never collected by us or a third party.
+Declare "Data Not Collected."
+
+## Age rating
+4+ (no objectionable content). Confirm during the ASC questionnaire.
+
+## Review notes (for App Review)
+• This is a NATIVE app over the auctions.agentabrams.com public JSON API (opportunities list,
+  listing detail, settings) — not a website wrapper (Guideline 4.2). There is NO WebView in
+  the app; the only outbound is opening an auction's source URL in Safari (Linking.openURL).
+• No sign-in is required to use the app. It ships pointed at the live default server
+  (https://auctions.agentabrams.com) and renders real data on first launch — a reviewer can
+  exercise the full app immediately with no account.
+• There is no user account created by the app, so Guideline 5.1.1(v) (in-app account
+  deletion) does not apply. The Settings "credentials" field is just an optional API auth
+  value for the user's own server, stored on-device.
+• The app contains NO in-app purchase and NO external-purchase link. Any "free tier / paid
+  tier" labels are display-only; billing (if any) is handled server-side on the website, not
+  in the binary — no Guideline 3.1.1 concern as shipped.
+• Export compliance: uses only standard HTTPS/system crypto — ITSAppUsesNonExemptEncryption
+  is set to false in Info.plist.
+
+## Screenshots (STILL NEEDED before Submit for Review)
+Required sizes: 6.7" (1290×2796) and 6.5" (1242×2688). Capture from a simulator run of the
+Opportunities feed, a listing detail (valuation + cost breakdown + max-bid callout), and the
+Settings screen. (Say the word — I'll boot the sim and shoot these.)
diff --git a/apps/mobile/ASC-PASTE-KIT.md b/apps/mobile/ASC-PASTE-KIT.md
new file mode 100644
index 0000000..d3d0027
--- /dev/null
+++ b/apps/mobile/ASC-PASTE-KIT.md
@@ -0,0 +1,288 @@
+# ASC PASTE KIT — GovArbitrage (iOS 1.0)  ✅ CORRECTED 2026-08-07
+
+App record **6799165231** · bundle `com.abrams.govarbitrage` · EAS `@agentabrams/govarbitrage` · team `3VAV3KMNZK`
+Inflight: https://appstoreconnect.apple.com/apps/6799165231/distribution/ios/version/inflight
+
+---
+
+## 🟥 CURRENT STATE — Apple **Guideline 2.1 · Information Needed** (captured 2026-09-01) — SUPERSEDES the pre-submission checklists below
+
+Build 5 was submitted and **entered review**; on **2026-09-01** App Review returned **Guideline 2.1 – Information Needed** (App Completeness). This is a **request for information plus a video** — it is NOT a reported code/web defect and NOT a request for a new binary. Everything below framed as "4 blockers / Add for Review → Submit" is **pre-submission history, kept for reference only, and marked SUPERSEDED** — it does not apply until this 2.1 reply is sent.
+
+> **On verbatim text:** the exact Resolution Center prose sits behind **View Submission** and was **not** captured to file (read-only console diagnosis only; a screenshot of the Rejected banner exists at `/private/tmp/tk10279-isolated.png`, not committed). The **itemized requirements** below are what WAS captured — from the TK-10279 blocker (`evidence_at` 2026-09-01T21:06Z) and the capture note (2026-09-01T21:49Z). Do not treat the wording here as a verbatim quote.
+
+**Apple's Guideline 2.1 message requested one recording + six disclosures:**
+1. **A screen recording of the app in use on a physical device running the latest OS** (simulators do not satisfy this).
+2. **Which specific device(s) and OS version** were used to test the app.
+3. The app's **main features / functionality**, its **intended audience**, and its **value / purpose** to the user.
+4. What **setup or access** is required to fully use the app (demo credentials, hardware, backend).
+5. What **external services / third-party integrations** the app uses.
+6. Whether the app's behavior/content is **consistent across all regions** where it is available (or region-specific).
+7. Whether the app accesses/provides any **regulated, protected, or licensed material** — with an explanation.
+
+**Two deliverables clear this, both drafted in this file:**
+- **(A)** the physical-device recording → see **“Physical Recording Shot List — Guideline 2.1”** below.
+- **(B)** the reply text → see **“Guideline 2.1 Reply (paste)”** below.
+
+Sending the reply and uploading the video are **customer-facing, Apple-account actions** and remain **Steve's** — the Claude Code harness hard-gates all live App Store Connect writes. No agent has replied, uploaded, or resubmitted.
+
+---
+
+> ⚠️ This file SUPERSEDES the earlier draft that said "Data Not Collected." That was WRONG —
+> the app has optional **Sign in with Apple** (`usesAppleSignIn: true`; `expo-apple-authentication`;
+> `lib/auth.ts` requests FULL_NAME+EMAIL; `/api/auth/apple` stores appleSub+email+name). Declaring
+> "collects nothing" contradicts the binary and risks a post-approval pull. Use the App Privacy
+> block below (Email + Name + User ID, App Functionality only). Verified against source 2026-08-07.
+
+Live-state verified today via ASC API + curl:
+- **Build 5 = UPLOADED & VALID** (uploaded 2026-08-07 09:41, not expired) → just ATTACH it, no rebuild.
+- Privacy URL `…/privacy` → **200** · Support `…` → **200** · `/api/listings` → **200** (reviewer sees live data, no login).
+
+> ✅ **FREE-CLIENT DEPLOY DONE + VERIFIED LIVE (2026-08-08).** The former 2.3.1/3.1.1 blocker
+> (reviewer sees an EMPTY analysis because the server redacted money-math for the FREE tier) is
+> CLEARED. Fix `0d630cf` is live on auctions.agentabrams.com. Verified via curl 2026-08-08:
+> app-client (Authorization header) → `scores: 9, costBreakdown: yes, gated: false` (reviewer
+> sees full money-math); browser (no header) → `gated: true` (paywall intact). Deploy memo now
+> in `pending-approval/_done/`. **Screenshots + submit are no longer deploy-blocked.**
+>
+> 📋 **LIVE ASC STATE — read-only API discovery 2026-08-08 (app 6799165231, version 1.0 PREPARE_FOR_SUBMISSION).**
+> Most of the listing is ALREADY SET in the console. Confirmed present: build 5 attached,
+> description (1826 chars), keywords, promo text, support+marketing URLs, name, categories
+> (Business/Finance), privacy-policy URL, **Pricing schedule = SET**, **Content Rights = USES_THIRD_PARTY_CONTENT**
+> (that judgment call is already made — the app rehosts listing photos), Export Compliance = false (non-exempt=No),
+> iPhone 6.7"/6.9" screenshots (3 shots). Age-rating declaration exists.
+>
+> ⛔ **SUPERSEDED (pre-submission history, 2026-08-08).** These four items were the *pre-submission* gaps; build 5 was later submitted, reviewed, and returned under **Guideline 2.1 · Information Needed** (see CURRENT STATE at top). The metadata paste blocks further down remain valid reference, but this "4 blockers → Submit" flow no longer describes the state — the 2.1 reply + recording do.
+>
+> 🔴 **TRUE remaining GovArbitrage blockers — exactly 4 (all Steve ASC-console; harness blocks agent writes to Apple):**
+> 1. **Subtitle** is EMPTY → paste `Gov surplus auction arbitrage` (App Information → Localizable → Subtitle).
+> 2. **iPad screenshots** = NONE, but build 5 is `supportsTablet:true` → upload the local `ipad-13/` set (2064×2752). *(6.5" iPhone is OPTIONAL — the 6.7"/6.9" set already back-fills it.)*
+> 3. **App Privacy** questionnaire = 0 data usages → declare **Email + Name + User ID** (Contact/Identifiers, linked, App Functionality, tracking = No) per the App Privacy block below. Apple blocks submit until this is answered.
+> 4. **App Review contact info** = NONE → your name/email/phone + the Notes paste block below.
+> Then **Add for Review → Submit** (build 5 attaches in one click — already attached).
+>
+> ⚠️ NOTE: an agent CANNOT do these — the Claude Code harness hard-blocks live App Store Connect
+> external writes even under a verbal "ungate" (correct: outward-facing, hard-to-reverse). Ignore the
+> earlier "one-click / nothing missing" framing; this discovered list is authoritative.
+
+---
+
+## ⛔ SUPERSEDED · ASC click-list for Steve (in order) — everything here is a console action (Apple-account gate)
+
+> **SUPERSEDED (pre-submission).** This checklist described first-time submission and is kept for reference. The app is now in a **Guideline 2.1 · Information Needed** state — the actionable path is the 2.1 reply + physical recording (top of file), not this "Add for Review → Submit" list. The paste blocks it references (Name/Subtitle/Description/Privacy/Notes) are still accurate.
+
+- [ ] **Build → Add Build → select build 5** (it's already uploaded & VALID; one click).
+- [ ] **Name** → paste block.
+- [ ] **Subtitle** → paste block.
+- [ ] **Promotional Text** → paste block.
+- [ ] **Keywords** → paste block.
+- [ ] **Description** → paste block.
+- [ ] **Support URL** + **Marketing URL** → paste block.
+- [ ] **App Information → Category**: Primary **Business**, Secondary **Finance**.
+- [ ] **App Information → Privacy Policy URL** → `https://auctions.agentabrams.com/privacy`.
+- [ ] **App Information → Content Rights** → see the "Content Rights" note below (one judgment call).
+- [ ] **App Privacy** → the **YES / Email+Name+User ID** block below (NOT "Data Not Collected").
+- [ ] **Age Rating** → run questionnaire, all "None" → 4+.
+- [ ] **App Review Information → Contact** (your name/email/phone) + **Notes** (paste block) + Sign-In required = **No**.
+- [ ] **Export Compliance** → non-exempt encryption = **No**.
+- [x] **Pricing and Availability → Price = Free** — ✅ ALREADY SET (confirmed via ASC API 2026-08-08). No action.
+- [ ] **App Privacy** → declare Email + Name + User ID (see block below) — ❗questionnaire currently EMPTY, hard submit blocker.
+- [ ] **Screenshots** → upload **iPad 13"** (`ipad-13/`, REQUIRED — build 5 is `supportsTablet:true`; currently NONE in ASC). iPhone 6.7"/6.9" ✅ already uploaded (3 shots). 6.5" optional (back-filled by 6.9").
+- [ ] **Add for Review → Submit.**
+
+---
+
+## Name — (12/30)
+```
+GovArbitrage
+```
+
+## Subtitle — (29/30)
+```
+Gov surplus auction arbitrage
+```
+
+## Promotional Text — (156/170)  *(editable anytime without review)*
+```
+Turn government surplus auctions into ranked flip opportunities — all-in cost, resale value, ROI, and your max bid computed for every lot. Bid on math, not vibes.
+```
+
+## Keywords — (99/100)  *(comma-separated, no spaces)*
+```
+surplus,auction,arbitrage,resale,flip,govdeals,gsa,reseller,liquidation,valuation,roi,bid,wholesale
+```
+
+## Description — (~1650/4000)  *(feature-accurate — verified against app/listing/[id].tsx + lib/types.ts)*
+```
+GovArbitrage turns messy government-surplus auctions into clear, ranked flip opportunities. Point it at a lot and it answers the only question that matters: if you win at the current bid, what is your all-in cost, what can you resell it for, how fast, and how much do you actually make?
+
+WHAT IT DOES
+• Aggregates listings from major government auction sources — GovDeals, GSA Auctions, Public Surplus, Municibid, Bid4Assets, and county / state / university surplus.
+• Identifies what each lot actually is from its title and photos, then anchors it to a real new-retail price.
+• Builds a full valuation ladder — replacement, average, and used-market resale across sell-today, 7-, 30-, and 90-day horizons, with an expected sale price, probability of sale, and days-to-sold.
+• Breaks down 20+ real costs — buyer's premium, sales tax, shipping, freight, packing, pickup labor, testing, repairs, marketplace and payment fees, storage — into total investment, net profit, ROI, and annualized return.
+• Back-solves your recommended max bid from a target ROI, so you know your ceiling before you bid.
+• Ranks every lot across nine opportunity profiles — Best Arbitrage, Quick Flip, Collector, Local Pickup, Easy Freight, Parts Only, High Confidence, High Profit, and Overall Opportunity — each with plain-English reasoning.
+
+WHY IT IS DIFFERENT
+The numbers come from deterministic, explainable engines — not a black box. Every value and every cost is transparent and traceable, so you can trust the recommended bid instead of eyeballing it.
+
+PRIVACY-FIRST
+No tracking. No ads. No analytics or advertising SDKs. The app works fully without an account; optional Sign in with Apple is used only to authenticate you.
+
+GovArbitrage is built for resellers, flippers, and surplus buyers who want to stop guessing and start bidding on math.
+```
+
+## Support URL
+```
+https://auctions.agentabrams.com
+```
+
+## Marketing URL  *(optional)*
+```
+https://auctions.agentabrams.com
+```
+
+## Privacy Policy URL  ✅ verified 200
+```
+https://auctions.agentabrams.com/privacy
+```
+
+## Categories
+```
+Primary:   Business
+Secondary: Finance
+```
+
+## Pricing and Availability  ⚠️ live-validation 2026-08-08 found this UNSET (hard submit blocker)
+```
+Price: Free (Tier 0)
+Availability: All territories (default)
+No in-app purchases — GovArbitrage ships as a FREE CLIENT (the "free client" decision).
+```
+
+## Age Rating
+```
+4+  — answer every content item "None"; capability questions "No"
+(Unrestricted Web Access = No; Simulated Gambling = None; Made for Kids = No)
+```
+
+---
+
+## App Privacy  ✅ CORRECT ANSWER (do NOT use "Data Not Collected")
+
+"Do you or your third-party partners collect data from this app?" → **YES**
+
+Check EXACTLY these three data types — each collected ONLY via optional Sign in with Apple:
+
+| Data type      | Category      | Linked to identity? | Used for tracking? | Purpose          |
+|----------------|---------------|---------------------|--------------------|------------------|
+| Email Address  | Contact Info  | Yes                 | No                 | App Functionality|
+| Name           | Contact Info  | Yes                 | No                 | App Functionality|
+| User ID        | Identifiers   | Yes                 | No                 | App Functionality|
+
+Leave everything else UNCHECKED (no Usage Data, no Diagnostics/Crash, no Location, no Financial
+Info, no Purchases, no Device IDs, no Advertising Data — the app links no analytics/ads SDKs).
+Tracking question → **No** (no ATT prompt required).
+Note: even if a user picks Apple "Hide My Email," you still store an email-format address → still declare Email Address.
+
+## Export Compliance
+```
+Uses non-exempt encryption? → NO
+(standard HTTPS/system crypto only; Info.plist ITSAppUsesNonExemptEncryption = false — no docs upload)
+```
+
+## Content Rights (App Information)  ⚠️ one judgment call for Steve
+The app renders government-auction listing data (titles/specs are public records) and can show
+"Listing photos" pulled from the source auctions. Two truthful options:
+- If the app only shows public government-auction FACTS + links out to the source → answer
+  **"No, it does not contain, show, or access third-party content."**
+- If it re-displays third-party auction PHOTOS in-app (it renders a "Listing photos" section) →
+  answer **"Yes, it contains third-party content"** and confirm you have the rights/permission.
+Recommendation: pick based on whether build 5 actually rehosts source photos. Flagging because
+attesting rights to third-party auction photos is the one place this could bite.
+
+## App Review Information → Notes  *(paste)*
+```
+GovArbitrage is a read-only analyst client for PUBLIC U.S. government-surplus auction listings. No account or sign-in is required to review the app.
+
+HOW TO TEST
+1) Launch the app and open the "Listings" tab. It loads live government-surplus auction opportunities immediately — the app ships preconfigured to our public API server (https://auctions.agentabrams.com), so there is no setup or login step.
+2) Tap any listing to see the full analysis: all-in cost breakdown, resale value across 7/30/90-day horizons, expected net profit, ROI, recommended max bid, and nine opportunity scores.
+3) The "Settings" tab shows the server URL plus an OPTIONAL username/password, used only by people who self-host their own GovArbitrage server. These are NOT required for review — no credentials are needed; leave those fields blank / at their defaults and data loads.
+
+PRIVACY: No tracking, no ads, no analytics SDKs. The app works without an account; the optional "Sign in with Apple" stores only your Apple ID and (if shared) name/email to authenticate you. Full policy: https://auctions.agentabrams.com/privacy
+```
+
+## App Review Information → other fields
+```
+Sign-In required: No (toggle OFF)
+Contact: your name / email / phone
+```
+
+---
+
+## Physical Recording Shot List — Guideline 2.1  *(physical device, LATEST OS — simulators do not satisfy Apple)*
+
+**Device:** iPhone `00008150-001039662E3B401C` running **iOS 26.6.1** (latest OS installed on this device).
+**App under test:** GovArbitrage 1.0 (**build 5**, EAS cloud build) — install via TestFlight; there is no local `.ipa` to side-load (Steve's on-device action if not already installed).
+**Length:** ~30–60s, one continuous take, portrait, physical device only. Capture with QuickTime (New Movie Recording → iPhone source) or the on-device screen recorder, or the scripted `device-proof-evidence/capture-lib.sh` (ffmpeg + AVFoundation). Save as `govarbitrage-device-proof-<ISO>.mov` + key still frames.
+
+Journey (verified against source: `app/(tabs)/index.tsx`, `app/listing/[id].tsx`, `app/(tabs)/settings.tsx`, `lib/auth.ts`):
+
+1. **Cold launch** — from the home screen, tap the app icon; show the splash resolve into the app (proves it launches clean on the device).
+2. **Opportunities tab** (`(tabs)/index`) — live government-surplus listings load immediately with **no login / no setup** (app ships preconfigured to `https://auctions.agentabrams.com`). Pause on the feed; optionally touch a sort chip.
+3. **Open a listing** (`listing/[id]`) — scroll slowly through the full analysis so the reviewer sees the core value: **Recommended Max Bid** callout, **Valuation** ladder (7/30/90-day), **Cost Breakdown & Profit** (all-in cost → net profit → ROI), and the **Scores** grid (nine opportunity profiles).
+4. **Settings tab** (`(tabs)/settings`) — show the server URL default, then run **Connection Test** (`handleTest` → `testConnection`) and let it return success (proves the live backend works with no credentials).
+5. **(Optional) Sign in with Apple availability** — scroll to show the **Sign in with Apple** button is **present/available** in Settings. **DO NOT tap it / do not complete sign-in** — the recording only proves the optional auth is *available*, per the TK-10279 gates.
+
+> Gate reminder: read-only device inspection + local screen recording ONLY. No ASC write, no Resolution Center reply, no binary upload, no resubmit, and no completed identity action.
+
+---
+
+## Guideline 2.1 Reply (paste) — App Review response  *(draft; Steve pastes into Resolution Center — sending is Steve's gated action)*
+
+*Facts below are verified against the mobile source and the live API; no reviewer credentials are required — the app loads live data with no login.*
+
+```
+Thank you for reviewing GovArbitrage. The requested information is below, and a screen recording of the app running on a physical iPhone (iOS 26.6.1) is attached to this Resolution Center response.
+
+1) DEVICE(S) AND OS TESTED
+Physical iPhone running iOS 26.6.1 (the latest OS on our test device). Version reviewed: 1.0 (build 5). The binary also supports iPad.
+
+2) MAIN FEATURES, INTENDED AUDIENCE, AND VALUE
+Features: GovArbitrage is a read-only analyst client for PUBLIC U.S. government-surplus auction listings. It aggregates listings from public government and institutional surplus sources (GovDeals, GovPlanet, GSA Auctions, Public Surplus, GoIndustry, Municibid, Bid4Assets, and county/state/university surplus). For any lot it computes an all-in cost breakdown (buyer's premium, sales tax, shipping/freight, packing, fees, storage, and more), a resale-value ladder across 7/30/90-day horizons, expected net profit and ROI, a recommended maximum bid back-solved from a target ROI, and nine plain-English opportunity scores. All figures come from deterministic, explainable engines.
+Audience: resellers, flippers, and surplus buyers who evaluate government-surplus auction lots before bidding.
+Value: it turns messy public-auction listings into ranked, quantified flip opportunities so a buyer decides what to bid based on computed cost, resale value, and ROI instead of guessing.
+
+3) SETUP OR ACCESS REQUIRED
+None. No account or sign-in is required to review or use the app. It ships preconfigured to our public API server (https://auctions.agentabrams.com) and loads live listings on launch — open the Opportunities tab and data appears with no setup. The Settings tab shows the server URL and an OPTIONAL username/password used ONLY by people who self-host their own GovArbitrage server; these are not required for review — no credentials are needed, so leave those fields blank / at their defaults and data loads. "Sign in with Apple" is OPTIONAL and only authenticates a user; no feature requires it.
+
+4) EXTERNAL SERVICES / THIRD-PARTY INTEGRATIONS
+- Our own public backend API at https://auctions.agentabrams.com, which serves the aggregated public-auction data (the reviewer sees live data with no login).
+- Sign in with Apple (expo-apple-authentication) for optional authentication only.
+- The app displays "listing photos" that originate from the source auction listings (third-party content, declared under Content Rights = Uses Third-Party Content).
+There are no analytics SDKs, no advertising SDKs, and no tracking.
+
+5) REGIONAL CONSISTENCY
+The app behaves identically in every region where it is available (all territories). There are no region-locked features and no per-region content gating. The interface is English and the content is public government/institutional surplus-auction listings, predominantly U.S.
+
+6) REGULATED, PROTECTED, OR LICENSED MATERIAL
+The app does not provide any regulated, licensed, or age-restricted material (no gambling, no financial-account services, no medical or similar content). It surfaces PUBLIC government-surplus auction facts — titles and specifications are public records — and rehosts listing photos from the source auctions, which is disclosed under Content Rights = Uses Third-Party Content. There is no user-generated content and no in-app purchases.
+
+Full privacy policy: https://auctions.agentabrams.com/privacy
+```
+
+---
+
+## Screenshots — ✅ READY (generated 2026-08-07, all 3 money shots per size)
+All sets live in `apps/mobile/store-assets/screenshots/`. Content: (1) Opportunities feed,
+(2) Listing detail — valuation ladder + cost breakdown + recommended max-bid + scores, (3) Settings.
+
+| ASC display set | Dimensions | Folder | Notes |
+|-----------------|-----------|--------|-------|
+| **iPhone 6.9"** | 1320×2868 | `framed-*-6.9.png` | Primary iPhone set — upload these; back-fills 6.5" too |
+| **iPhone 6.5"** | 1242×2688 | `iphone-6.5/` | Literal 6.5" set (clears the explicit "6.5-inch iPhone" blocker) |
+| **iPad 13"**    | 2064×2752 | `ipad-13/`  | Required because build 5 has `supportsTablet:true`; designed frames |
+
+Upload iPhone (6.9" or 6.5") + iPad 13" and both screenshot blockers clear.
diff --git a/apps/mobile/CLAUDE.md b/apps/mobile/CLAUDE.md
new file mode 100644
index 0000000..43c994c
--- /dev/null
+++ b/apps/mobile/CLAUDE.md
@@ -0,0 +1 @@
+@AGENTS.md
diff --git a/apps/mobile/LICENSE b/apps/mobile/LICENSE
new file mode 100644
index 0000000..30b20e3
--- /dev/null
+++ b/apps/mobile/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2015-present 650 Industries, Inc. (aka Expo)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/apps/mobile/app.json b/apps/mobile/app.json
new file mode 100644
index 0000000..360fe3b
--- /dev/null
+++ b/apps/mobile/app.json
@@ -0,0 +1,55 @@
+{
+  "expo": {
+    "name": "GovArbitrage",
+    "slug": "govarbitrage",
+    "version": "1.0.0",
+    "orientation": "portrait",
+    "icon": "./assets/icon.png",
+    "userInterfaceStyle": "dark",
+    "ios": {
+      "supportsTablet": false,
+      "bundleIdentifier": "com.abrams.govarbitrage",
+      "usesAppleSignIn": true,
+      "infoPlist": {
+        "ITSAppUsesNonExemptEncryption": false
+      }
+    },
+    "android": {
+      "adaptiveIcon": {
+        "backgroundColor": "#0D1117",
+        "foregroundImage": "./assets/android-icon-foreground.png",
+        "backgroundImage": "./assets/android-icon-background.png",
+        "monochromeImage": "./assets/android-icon-monochrome.png"
+      },
+      "package": "com.abrams.govarbitrage",
+      "predictiveBackGestureEnabled": false
+    },
+    "web": {
+      "favicon": "./assets/favicon.png"
+    },
+    "scheme": "govarbitrage",
+    "plugins": [
+      "expo-router",
+      "expo-secure-store",
+      "expo-apple-authentication",
+      [
+        "expo-splash-screen",
+        {
+          "image": "./assets/splash-icon.png",
+          "backgroundColor": "#0D1117",
+          "imageWidth": 200
+        }
+      ]
+    ],
+    "experiments": {
+      "typedRoutes": true
+    },
+    "owner": "agentabrams",
+    "extra": {
+      "router": {},
+      "eas": {
+        "projectId": "4dd4b437-1325-49f8-b90a-1674e97a4b4b"
+      }
+    }
+  }
+}
diff --git a/apps/mobile/device-proof-evidence/.gitignore b/apps/mobile/device-proof-evidence/.gitignore
new file mode 100644
index 0000000..d6b1219
--- /dev/null
+++ b/apps/mobile/device-proof-evidence/.gitignore
@@ -0,0 +1,17 @@
+# Physical-device recordings and transient capture state stay local.
+*.mov
+*.mp4
+ffmpeg.log
+rec.pid
+rec.path
+launch.txt
+
+# Raw device queries contain hardware identifiers and are reproducible.
+device-info.txt
+installed-apps.txt
+
+# Volatile live-API snapshots used to verify the reviewer journey.
+api-*.json
+first-listing-id.txt
+*.privacy-reviewed.sha256
+*.quarantined
diff --git a/apps/mobile/device-proof-evidence/CAPTURE-RUNBOOK.md b/apps/mobile/device-proof-evidence/CAPTURE-RUNBOOK.md
new file mode 100644
index 0000000..8589543
--- /dev/null
+++ b/apps/mobile/device-proof-evidence/CAPTURE-RUNBOOK.md
@@ -0,0 +1,43 @@
+# GovArbitrage — Physical-Device Proof Capture Runbook (TK-10279)
+
+**Agent:** govarb-device-proof · **Device:** physical iPhone 17 Pro Max (iOS 26.6.1; identifier intentionally kept out of git)
+**App:** GovArbitrage · bundle `com.abrams.govarbitrage` · Build 5 (ASC cloud build; no local .ipa)
+
+## GATES (never cross)
+- ❌ No App Store Connect writes · ❌ No Resolution Center reply · ❌ No binary upload · ❌ No resubmit
+- ❌ Do not complete Sign in with Apple / any identity action — only prove it is *available*
+- ✅ Read-only device inspection + local screen recording + local evidence only
+
+## Precondition
+Device must be ONLINE (unlocked + "Trust This Computer" accepted). Monitored by dev-monitor.sh.
+Set `GOVARB_DEVICE_UDID` from `xcrun devicectl list devices` before sourcing the helpers.
+
+## Steps once ONLINE
+1. **Verify device identity/OS**
+   `xcrun devicectl device info details --device "$GOVARB_DEVICE_UDID"`
+   → capture productType, osVersionNumber, deviceName → save `device-info.txt`
+2. **Confirm app installed** (build 5 via TestFlight — cannot side-load, no local .ipa)
+   `xcrun devicectl device info apps --device "$GOVARB_DEVICE_UDID" | grep -i govarbitrage`
+   - Installed → proceed. Not installed → BLOCKER: build 5 must be installed on device
+     via TestFlight (Steve action); cannot upload/install (gated). Surface + hold.
+3. **Start screen recording** of the physical device (QuickTime New Movie Recording → iPhone source,
+   or Control Center on-device recording). Save MP4/MOV to this dir.
+4. **Launch app cold** `xcrun devicectl device process launch --device <UDID> com.abrams.govarbitrage`
+5. **Drive the required journey** (taps on device — human/XCUITest):
+   cold launch → Opportunities list → open a listing → detail showing **valuation / cost / ROI / max bid**
+   → Settings → **connection test** → (optional) show **Sign in with Apple availability** (do NOT sign in).
+6. **Stop recording**, save as `govarbitrage-device-proof-<ISO>.mov`, plus key still frames.
+7. Log every step to TK-10279 as TK_AGENT=govarb-device-proof. Report evidence path. Do NOT touch ASC.
+
+## 🔒 MANDATORY before ANY upload — privacy pre-scan (added 2026-09-03)
+The first recording passed codec validation but leaked a private Messages thread → rejected.
+`verify-recording.sh` is codec-only. So BEFORE treating any recording as uploadable:
+```
+bash device-proof-evidence/verify-recording.sh <file>        # codec/duration/black
+bash device-proof-evidence/privacy-scan.sh   <file> 1        # PII pre-scan (step=1s for the real screen)
+```
+`privacy-scan.sh` samples frames through a LOCAL vision model ($0) and exits nonzero if it sees a
+notification, Messages/SMS, a name, phone, email, or a visible password. **Verified 2026-09-03: it
+flags the quarantined PII recording (4 frames, rc=1).** Use step=1 for the final screen (a <3s
+notification banner can slip a coarser sample). A CLEAN pre-scan is NECESSARY, NOT SUFFICIENT — a
+human must still eyeball the whole recording before Steve replies to Apple.
diff --git a/apps/mobile/device-proof-evidence/COMPLETENESS-FINDING.md b/apps/mobile/device-proof-evidence/COMPLETENESS-FINDING.md
new file mode 100644
index 0000000..5d851b5
--- /dev/null
+++ b/apps/mobile/device-proof-evidence/COMPLETENESS-FINDING.md
@@ -0,0 +1,51 @@
+# GovArbitrage — App-Completeness / Paywall Finding (TK-10279) — 2026-09-02
+
+Read-only probe of the LIVE backend the app depends on (https://auctions.agentabrams.com).
+No writes, no auth, no ASC actions.
+
+## FINAL VERDICT — the app is complete on a fresh free install
+
+The mobile app always sends an Authorization header, including `Basic Og==` for blank optional
+credentials. The server intentionally treats Basic/Bearer requests as native-app clients, so a fresh
+install receives the full valuation, cost, ROI, recommended-max-bid, scores, and research journey.
+No paid credential and no Sign in with Apple action are required. The browser-only observation below
+is retained as superseded diagnostic history and must not be used as the App Review conclusion.
+
+## Backend is healthy + content-rich (good 2.1 evidence)
+- `GET /api/listings` → **total: 2548** real opportunities, 25/page, `tier: FREE`.
+- Rows carry: id, source, title, category, condition, quantity, **currentBid, currentCost**, recommendedMaxBid, retailLow.
+
+## SUPERSEDED diagnostic: browser-style requests are gated
+- On the free/unauthenticated tier the detail endpoint returns `gated: true`, `costBreakdown: null`,
+  `recommendedMaxBid: null`, `scores: []`.  Confirmed identical across browser / okhttp / RN / no User-Agent
+  — so it is NOT ungated by app User-Agent; only real auth ungates it.
+- List rows on free tier: `recommendedMaxBid`, `roi`, `retailLow`, score all **null** → the card shows
+  **Current Bid only** (ROI / Max-Bid / Score blocks are conditionally hidden).
+- Detail screen with `costBreakdown` null renders **"Valuation data requires a paid tier."** and NO Max-Bid callout.
+
+## SUPERSEDED interpretation of ungate paths
+1. Sign in with Apple → Bearer JWT  ← IDENTITY ACTION, gated-off per task
+2. Basic-auth username/password in Settings  ← NOT an Apple-identity action
+3. Machine token: password prefixed `token:` → `x-import-token` header  ← NOT an identity action
+
+## Why the superseded interpretation would have mattered
+A fresh reviewer install shows real listings + working nav + connection test, but EVERY analytic
+(valuation / cost / ROI / recommended max bid — the app's core value) is behind "requires a paid tier."
+That is a classic 2.1 trigger. To record the required valuation/cost/ROI/max-bid journey, the device
+must be authenticated to a paid tier via path 2 or 3 (NOT Apple sign-in). Needs a valid paid credential.
+
+## CORRECTION (same session, deeper trace) — the app is NOT gated; it is COMPLETE on free install
+Server logic `moneyMathVisible(tier) = tierDef.showMoneyMath || isAppClient()`, and
+`isAppClient() = request has an Authorization: Basic|Bearer header`. The mobile app ALWAYS sends one
+(getAuthHeaders → buildBasicAuthHeader even with empty creds = `Basic Og==`). So a FRESH FREE install
+IS an app-client → fully UNGATED. Browsers (no auth header) stay gated; the app never is.
+
+PROVEN by replicating the app's exact header (`Authorization: Basic Og==`) against LIVE prod:
+- detail `gated:false tier:FREE` → recommendedMaxBid **$103.93**, expectedNetProfit **$182.96**,
+  totalInvestment $95.76, scores [92.66,88.46,88,82.07,80.19], research present.
+- list row → recommendedMaxBid $103.93, **roi 1.91 (191%)**, netProfit $182.96, opportunityScore 82.07, retailLow $252.
+
+Bottom line: the earlier "requires a paid tier" concern does NOT apply to the app. A plain fresh free
+install shows the FULL valuation/cost/ROI/max-bid journey with no sign-in. Strong 2.1-completeness evidence.
+Both recording passes will therefore look the same (app always ungated); a paid credential is NOT needed.
+Evidence: api-detail-appclient.json, api-listings-appclient.json.
diff --git a/apps/mobile/device-proof-evidence/DDI-UNBLOCK-CHECKLIST.md b/apps/mobile/device-proof-evidence/DDI-UNBLOCK-CHECKLIST.md
new file mode 100644
index 0000000..d95d2be
--- /dev/null
+++ b/apps/mobile/device-proof-evidence/DDI-UNBLOCK-CHECKLIST.md
@@ -0,0 +1,29 @@
+# DDI Unblock Checklist — clear CoreDeviceError 12040 for the 2.1 recording (TK-10279)
+
+**Device:** iPhone 17 Pro Max (iPhone18,2), iOS 26.6.1. Hardware identifiers are intentionally kept out of git.
+**Tooling verified (this Mac):** Xcode 26.6 · build **17F113** · devicectl 518.33 — DDI build **matches** iOS 26.6.x, and the device shows **`connected`** in `devicectl list devices`.
+
+## What the error means
+`CoreDeviceError 12040 — "developer disk image could not be mounted"` with matching Xcode ≠ a version problem. On iOS 17+/26 the DDI is personalized + mounted **on-device at connect time**, which requires the phone **unlocked, trusted, and with Developer Mode ON**. 12040 here = an on-device gate, not a Mac fix.
+
+## Do these on the iPhone, in order (Steve — on-device)
+1. **Unlock the phone and keep it unlocked** during the whole capture (auto-lock fights the mount).
+2. **Trust this Mac:** replug USB → tap **Trust** → enter passcode. (If no prompt: Settings ▸ General ▸ Transfer or Reset ▸ *Reset Location & Privacy* forces the prompt back.)
+3. **Enable Developer Mode:** Settings ▸ **Privacy & Security** ▸ **Developer Mode** ▸ **On** → phone reboots → after reboot confirm **On** and approve the prompt. *(Developer Mode only appears after a dev tool has connected once — it has here, so the toggle should be present.)*
+4. Let Xcode finish **"Preparing iPhone for development"** — open Xcode ▸ Window ▸ **Devices and Simulators**, select the phone, wait until it stops "Preparing…" and shows no yellow warning.
+
+## Re-verify from the Mac (read-only, safe to re-run)
+```sh
+export GOVARB_DEVICE_UDID="<copy from: xcrun devicectl list devices>"
+xcrun devicectl device info details --device "$GOVARB_DEVICE_UDID"        # should now return full info, no 12040
+xcrun devicectl device info apps --device "$GOVARB_DEVICE_UDID" | grep -i govarb   # confirm build 5 installed
+```
+- **Full info returns + govarbitrage listed →** unblocked; proceed to CAPTURE-RUNBOOK step 3 (record).
+- **Still 12040 →** device is locked or Developer Mode didn't stick; redo steps 1+3.
+- **Info OK but govarbitrage NOT listed →** build 5 isn't on the device: install it via **TestFlight** on the phone (Steve action — no local .ipa, cannot side-load). Then re-run.
+
+## Gates (unchanged — never cross)
+❌ No ASC writes · ❌ No Resolution Center reply/upload/resubmit · ❌ Do not complete Sign in with Apple (prove availability only) · ✅ read-only device inspection + local recording only.
+
+## Then (Steve's gated console step, after recording exists)
+Paste `../ASC-PASTE-KIT.md` → "Guideline 2.1 Reply (paste)" + attach the recording in App Store Connect ▸ Resolution Center ▸ reply to review.
diff --git a/apps/mobile/device-proof-evidence/EVIDENCE-INDEX.md b/apps/mobile/device-proof-evidence/EVIDENCE-INDEX.md
new file mode 100644
index 0000000..0c49794
--- /dev/null
+++ b/apps/mobile/device-proof-evidence/EVIDENCE-INDEX.md
@@ -0,0 +1,96 @@
+# GovArbitrage — Physical-Device Proof Evidence Index (TK-10279)
+
+Owner: govarb-device-proof · Device: iPhone 17 Pro Max (iPhone18,2), iOS 26.6.1 · App: com.abrams.govarbitrage
+GATES HELD THROUGHOUT: no App Store Connect write / reply / upload / resubmit; no Apple identity action.
+
+## SAFETY HOLD — first physical recording rejected
+
+The 34.99-second XCUITest attachment is **not valid submission evidence**. Independent visual review
+found a personal notification and a private Messages conversation with visible identifying content;
+the clip also does not show the full promised GovArbitrage journey. It is quarantined locally as
+`REJECTED-PII-DO-NOT-UPLOAD.mov.quarantined` and must never be uploaded. A clean physical recording
+with Focus/Do Not Disturb and notification previews hidden is still required.
+
+The five physical screenshots are diagnostic-only, not submission-ready proof: Settings captures show
+a configured username and masked password field, while the detail capture renders dashes for Max Bid
+and valuation rows. Do not upload these as the claimed full journey. The replacement recording must use
+blank/default optional credentials and visibly populated detail analytics.
+
+## Status: app INSTALLED on the physical device (both fixes) — clean privacy-reviewed journey recording pending
+
+### Milestones achieved autonomously (2026-09-02 PM)
+1. **Device identity verified** → `device-info.txt` (iPhone 17 Pro Max, iOS 26.6.1, dev mode enabled).
+2. **App-completeness proven** (strong 2.1 evidence) → `COMPLETENESS-FINDING.md`, `api-*-appclient.json`.
+   Live backend = 2,548 real opportunities; the app is an app-client (sends `Authorization: Basic Og==`)
+   so a FRESH FREE install is fully UNGATED and shows the full analytics: Max Bid $103.93, ROI 191%,
+   Net Profit $182.96, cost breakdown, scores. The app is complete as shipped.
+3. **Native build fixed** (SDK57 prebuilt-XCFramework failure) → `ios/Podfile.properties.json`
+   `buildReactNativeFromSource=true` + `EXPO_USE_PRECOMPILED_MODULES=false`.
+4. **Signed dev build built + INSTALLED on the physical iPhone** via the ASC key (`72Y2TZT54R`,
+   `-allowProvisioningUpdates`, Steve-approved in session) — **no TestFlight, no ASC submission**.
+   Build carries BOTH fixes: the from-source build fix AND the critical %-display fix (`389c347`,
+   which build 5 in ASC lacks). Logs: `device-signed-build.log`, `device-install.log`.
+5. **Simulator full-journey recording** (supplementary) → `govarbitrage-SIMULATOR-dryrun-*.mov` (36.4s)
+   + `still-01..04-*.png`. Real live data: List 2,516 · Detail iMac Max Bid $104 + Valuation ·
+   Settings connection test + Sign-in-with-Apple AVAILABLE (not tapped). Writeup: `SIM-DRYRUN-FINDINGS.md`.
+6. Physical-device screenshot tooling ready (`idevicescreenshot` via libimobiledevice).
+
+### Historical capture plan (superseded by the safety hold above)
+The physical iPhone auto-locks, and launching/screenshotting/recording all require it UNLOCKED; the
+per-screen journey navigation needs taps (devicectl can't open deep-links on device). So the final
+physical-device *journey* recording is a ~60-second human step:
+  1. Set Auto-Lock → Never, keep the phone unlocked (USB-connected).
+  2. Either let the armed monitor auto-capture while you tap through Opportunities → a listing
+     (Max Bid/Valuation/Cost/ROI) → Settings → connection test → show Sign-in-with-Apple available,
+     OR use iOS Control Center Screen Recording on the phone and AirDrop the .mov here.
+The unlock-capture monitor auto-launches the app + bursts device screenshots on each unlock window.
+
+### Gate reminder
+Attaching the recording + replying to Apple + any resubmit is the ONLY remaining ASC step and stays
+Steve-gated — it will be drafted to pending-approval, never auto-fired.
+
+---
+
+## REJECTED CAPTURE ATTEMPT — 2026-09-02 ~17:00 (govarb-xcuitest)
+
+XCUITest successfully produced diagnostic screenshots, but it did **not** produce acceptable App Review
+evidence. The screenshots expose configured credentials and show unpopulated analytics; the subsequent
+video exposed private content and did not complete the promised journey. The mechanics below are retained
+only to help produce a clean replacement. A standalone
+throwaway XCUITest drives the installed app by bundle id and captures each screen IN-PROCESS via
+`XCUIScreen.main.screenshot()` (bypasses the dead idevicescreenshot/DDI path on iOS 26). No human
+tapping required while the phone is unlocked.
+
+Project (scratch, does NOT touch the shared Xcode project):
+  .../scratchpad/GovArbUITest/  (single UI-testing target, team 3VAV3KMNZK, bundle
+  com.abrams.govarbitrage.uitests; signed via ASC key 72Y2TZT54R + -allowProvisioningUpdates).
+Run: `xcodebuild test -scheme GovArbUITests -destination 'platform=iOS,id=00008150-001039662E3B401C' ...`
+
+Captured for diagnostics only (run passed technically; rejected for submission after visual review):
+  - device-journey-1-cold-launch-opportunities-2026-09-02T16-59-00.png  (2492 active listings, live)
+  - device-journey-2-detail-maxbid-valuation-2026-09-02T16-59-00.png    (Late 2013 iMac detail:
+        RECOMMENDED MAX BID + VALUATION rows New/Avg Retail, Used Low/Avg/High, Wholesale)
+  - device-journey-3-settings-2026-09-02T16-59-00.png                   (full Settings screen)
+  - device-journey-4-settings-connection-test-2026-09-02T16-59-00.png   (Settings, Test Connection btn)
+  - device-journey-5-siwa-available-2026-09-02T16-59-00.png             (Sign in with Apple present)
+  Sign-in-with-Apple asserted EXISTS, never tapped. The Settings screen shows BOTH the Test Connection
+  button AND the SIWA button simultaneously, so shots 3/4/5 each contain their required control.
+
+GATES HELD: no ASC submit/reply/upload/resubmit, no Apple identity beyond dev signing, no prod/data
+writes, no remote push. App ran on live data (ungated app-client).
+
+ONE gap (optional, blocked on device lock): shots 4/5 show the PRE-tap Settings state. The follow-up
+run that adds a coordinate-tap on "Test Connection" (to capture the post-tap connection RESULT banner)
+failed at preflight with "Unlock iPhone (6) to Continue" — the phone auto-locked. To capture that
+banner: set Auto-Lock → Never, unlock, then re-run the same xcodebuild test command. The screenshot
+journey itself needs no human taps anymore.
+
+### RESOLVED 2026-09-02 23:32 — post-tap connection banner captured
+The optional gap is closed. A background watcher retried the XCUITest until the phone was unlocked
+(caught on attempt 32) and captured the full journey INCLUDING the post-tap result:
+`device-journey-4-settings-connection-test-2026-09-02T23-32-20.png` now shows the green
+"● Connected · 2030ms · Tier: PREMIUM" banner under the Test Connection button (live test vs
+auctions.agentabrams.com succeeded). Final verified set (all @2026-09-02T23-32-20):
+  device-journey-1-cold-launch-opportunities / 2-detail-maxbid-valuation / 3-settings /
+  4-settings-connection-test (post-tap Connected banner) / 5-siwa-available.
+Stale pre-tap 16-59 set removed. Task #1 fully complete; all hard gates held.
diff --git a/apps/mobile/device-proof-evidence/GovArbUITest/GovArbUITest.xcodeproj/project.pbxproj b/apps/mobile/device-proof-evidence/GovArbUITest/GovArbUITest.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..7378945
--- /dev/null
+++ b/apps/mobile/device-proof-evidence/GovArbUITest/GovArbUITest.xcodeproj/project.pbxproj
@@ -0,0 +1,223 @@
+// !$*UTF8*$!
+{
+	archiveVersion = 1;
+	classes = {
+	};
+	objectVersion = 56;
+	objects = {
+
+/* Begin PBXBuildFile section */
+		1A0000000000000000000041 /* GovArbUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A0000000000000000000040 /* GovArbUITests.swift */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+		1A0000000000000000000020 /* GovArbUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = GovArbUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
+		1A0000000000000000000040 /* GovArbUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GovArbUITests.swift; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+		1A0000000000000000000052 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+		1A0000000000000000000030 = {
+			isa = PBXGroup;
+			children = (
+				1A0000000000000000000032 /* GovArbUITests */,
+				1A0000000000000000000031 /* Products */,
+			);
+			sourceTree = "<group>";
+		};
+		1A0000000000000000000031 /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				1A0000000000000000000020 /* GovArbUITests.xctest */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+		1A0000000000000000000032 /* GovArbUITests */ = {
+			isa = PBXGroup;
+			children = (
+				1A0000000000000000000040 /* GovArbUITests.swift */,
+			);
+			path = GovArbUITests;
+			sourceTree = "<group>";
+		};
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+		1A0000000000000000000010 /* GovArbUITests */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 1A0000000000000000000061 /* Build configuration list for PBXNativeTarget "GovArbUITests" */;
+			buildPhases = (
+				1A0000000000000000000050 /* Sources */,
+				1A0000000000000000000052 /* Frameworks */,
+				1A0000000000000000000051 /* Resources */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+			);
+			name = GovArbUITests;
+			productName = GovArbUITests;
+			productReference = 1A0000000000000000000020 /* GovArbUITests.xctest */;
+			productType = "com.apple.product-type.bundle.ui-testing";
+		};
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+		1A0000000000000000000001 /* Project object */ = {
+			isa = PBXProject;
+			attributes = {
+				BuildIndependentTargetsInParallel = 1;
+				LastSwiftUpdateCheck = 2600;
+				LastUpgradeCheck = 2600;
+				TargetAttributes = {
+					1A0000000000000000000010 = {
+						CreatedOnToolsVersion = 26.0;
+					};
+				};
+			};
+			buildConfigurationList = 1A0000000000000000000060 /* Build configuration list for PBXProject "GovArbUITest" */;
+			compatibilityVersion = "Xcode 14.0";
+			developmentRegion = en;
+			hasScannedForEncodings = 0;
+			knownRegions = (
+				en,
+				Base,
+			);
+			mainGroup = 1A0000000000000000000030;
+			productRefGroup = 1A0000000000000000000031 /* Products */;
+			projectDirPath = "";
+			projectRoot = "";
+			targets = (
+				1A0000000000000000000010 /* GovArbUITests */,
+			);
+		};
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+		1A0000000000000000000051 /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+		1A0000000000000000000050 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				1A0000000000000000000041 /* GovArbUITests.swift in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXSourcesBuildPhase section */
+
+/* Begin XCBuildConfiguration section */
+		1A0000000000000000000070 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				CLANG_ENABLE_MODULES = YES;
+				CLANG_ENABLE_OBJC_ARC = YES;
+				COPY_PHASE_STRIP = NO;
+				DEBUG_INFORMATION_FORMAT = dwarf;
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
+				ENABLE_TESTABILITY = YES;
+				GCC_C_LANGUAGE_STANDARD = gnu11;
+				GCC_OPTIMIZATION_LEVEL = 0;
+				IPHONEOS_DEPLOYMENT_TARGET = 17.0;
+				ONLY_ACTIVE_ARCH = YES;
+				SDKROOT = iphoneos;
+				SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
+				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+			};
+			name = Debug;
+		};
+		1A0000000000000000000071 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				CLANG_ENABLE_MODULES = YES;
+				CLANG_ENABLE_OBJC_ARC = YES;
+				COPY_PHASE_STRIP = NO;
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				ENABLE_NS_ASSERTIONS = NO;
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
+				GCC_C_LANGUAGE_STANDARD = gnu11;
+				IPHONEOS_DEPLOYMENT_TARGET = 17.0;
+				SDKROOT = iphoneos;
+				SWIFT_COMPILATION_MODE = wholemodule;
+				SWIFT_OPTIMIZATION_LEVEL = "-O";
+				VALIDATE_PRODUCT = YES;
+			};
+			name = Release;
+		};
+		1A0000000000000000000072 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				CODE_SIGN_STYLE = Automatic;
+				CURRENT_PROJECT_VERSION = 1;
+				DEVELOPMENT_TEAM = 3VAV3KMNZK;
+				GENERATE_INFOPLIST_FILE = YES;
+				MARKETING_VERSION = 1.0;
+				PRODUCT_BUNDLE_IDENTIFIER = com.abrams.govarbitrage.uitests;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				SWIFT_EMIT_LOC_STRINGS = NO;
+				SWIFT_VERSION = 5.0;
+				TARGETED_DEVICE_FAMILY = "1,2";
+			};
+			name = Debug;
+		};
+		1A0000000000000000000073 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				CODE_SIGN_STYLE = Automatic;
+				CURRENT_PROJECT_VERSION = 1;
+				DEVELOPMENT_TEAM = 3VAV3KMNZK;
+				GENERATE_INFOPLIST_FILE = YES;
+				MARKETING_VERSION = 1.0;
+				PRODUCT_BUNDLE_IDENTIFIER = com.abrams.govarbitrage.uitests;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				SWIFT_EMIT_LOC_STRINGS = NO;
+				SWIFT_VERSION = 5.0;
+				TARGETED_DEVICE_FAMILY = "1,2";
+			};
+			name = Release;
+		};
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+		1A0000000000000000000060 /* Build configuration list for PBXProject "GovArbUITest" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				1A0000000000000000000070 /* Debug */,
+				1A0000000000000000000071 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		1A0000000000000000000061 /* Build configuration list for PBXNativeTarget "GovArbUITests" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				1A0000000000000000000072 /* Debug */,
+				1A0000000000000000000073 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+/* End XCConfigurationList section */
+	};
+	rootObject = 1A0000000000000000000001 /* Project object */;
+}
diff --git a/apps/mobile/device-proof-evidence/GovArbUITest/GovArbUITest.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/apps/mobile/device-proof-evidence/GovArbUITest/GovArbUITest.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000..919434a
--- /dev/null
+++ b/apps/mobile/device-proof-evidence/GovArbUITest/GovArbUITest.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+   version = "1.0">
+   <FileRef
+      location = "self:">
+   </FileRef>
+</Workspace>
diff --git a/apps/mobile/device-proof-evidence/GovArbUITest/GovArbUITest.xcodeproj/xcshareddata/xcschemes/GovArbUITests.xcscheme b/apps/mobile/device-proof-evidence/GovArbUITest/GovArbUITest.xcodeproj/xcshareddata/xcschemes/GovArbUITests.xcscheme
new file mode 100644
index 0000000..4719919
--- /dev/null
+++ b/apps/mobile/device-proof-evidence/GovArbUITest/GovArbUITest.xcodeproj/xcshareddata/xcschemes/GovArbUITests.xcscheme
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+   LastUpgradeVersion = "2600"
+   version = "1.7">
+   <BuildAction
+      parallelizeBuildables = "YES"
+      buildImplicitDependencies = "YES">
+      <BuildActionEntries>
+         <BuildActionEntry
+            buildForTesting = "YES"
+            buildForRunning = "NO"
+            buildForProfiling = "NO"
+            buildForArchiving = "NO"
+            buildForAnalyzing = "NO">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "1A0000000000000000000010"
+               BuildableName = "GovArbUITests.xctest"
+               BlueprintName = "GovArbUITests"
+               ReferencedContainer = "container:GovArbUITest.xcodeproj">
+            </BuildableReference>
+         </BuildActionEntry>
+      </BuildActionEntries>
+   </BuildAction>
+   <TestAction
+      buildConfiguration = "Debug"
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      shouldUseLaunchSchemeArgsEnv = "YES">
+      <Testables>
+         <TestableReference
+            skipped = "NO">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "1A0000000000000000000010"
+               BuildableName = "GovArbUITests.xctest"
+               BlueprintName = "GovArbUITests"
+               ReferencedContainer = "container:GovArbUITest.xcodeproj">
+            </BuildableReference>
+         </TestableReference>
+      </Testables>
+   </TestAction>
+</Scheme>
diff --git a/apps/mobile/device-proof-evidence/GovArbUITest/README.md b/apps/mobile/device-proof-evidence/GovArbUITest/README.md
new file mode 100644
index 0000000..ab4307d
--- /dev/null
+++ b/apps/mobile/device-proof-evidence/GovArbUITest/README.md
@@ -0,0 +1,51 @@
+# GovArbUITest — physical-device journey capture (TK-10279)
+
+Standalone, throwaway XCUITest that drives the **already-installed** GovArbitrage app
+(`com.abrams.govarbitrage`) on a physical iPhone **by bundle id** and captures each screen
+**in-process** via `XCUIScreen.main.screenshot()` as `XCTAttachment`s. This bypasses the dead
+`idevicescreenshot` / DDI screenshot path on iOS 26.
+
+It is **independent** of the shared GovArbitrage Xcode project (that one is built by other agents);
+this project has a single UI-testing target and nothing else.
+
+## What it captures
+1. `cold-launch-opportunities` — the Opportunities list on live data
+2. `detail-maxbid-valuation` — a listing detail (Recommended Max Bid + Valuation rows)
+3. `settings` — the Settings screen
+4. `settings-connection-test` — after tapping **Test Connection** (green "Connected … Tier: PREMIUM" banner)
+5. `siwa-available` — asserts the **Sign in with Apple** button EXISTS (never taps it)
+
+Because the Opportunities list holds ~2,500 cards, a full accessibility snapshot of it stalls the a11y
+server, so the big list is driven with **normalized-coordinate taps** (first card ≈ 0.5/0.30, Settings
+tab ≈ 0.75/0.95, Test Connection ≈ 0.5/0.72). Element queries are reserved for the small Settings screen.
+
+## Run
+The device must be **unlocked** (set Auto-Lock → Never); `xcodebuild` hangs at preflight otherwise.
+
+```sh
+xcodebuild test \
+  -project GovArbUITest.xcodeproj -scheme GovArbUITests \
+  -destination 'platform=iOS,id=<DEVICE_UDID>' \
+  -derivedDataPath ./DerivedData -resultBundlePath ./result.xcresult \
+  -allowProvisioningUpdates \
+  -authenticationKeyPath ~/.appstoreconnect/private_keys/AuthKey_72Y2TZT54R.p8 \
+  -authenticationKeyID 72Y2TZT54R \
+  -authenticationKeyIssuerID cfbd63ed-301b-465c-aad7-49e94420ad70
+```
+
+Signing: automatic, team `3VAV3KMNZK`, runner bundle id `com.abrams.govarbitrage.uitests`.
+
+## Extract the screenshots
+```sh
+xcrun xcresulttool export attachments --path result.xcresult --output-path attachments
+# named PNGs land under attachments/ with a manifest.json mapping human-readable names
+```
+
+## watch-capture.sh
+Background helper that retries the test until the phone is unlocked, then exports the named PNGs and
+copies them into `../` as `device-journey-<n>-<step>-<ISO>.png`. Useful when the device auto-locks
+between runs. Edit the hard-coded paths/UDID at the top before reuse.
+
+## Hard gates (local dev only)
+No App Store Connect submit/reply/upload/resubmit; no Apple identity beyond dev signing; no prod/data
+writes; no remote push. The app runs on live data (it is an ungated app-client).
diff --git a/apps/mobile/device-proof-evidence/SIM-DRYRUN-FINDINGS.md b/apps/mobile/device-proof-evidence/SIM-DRYRUN-FINDINGS.md
new file mode 100644
index 0000000..f39097d
--- /dev/null
+++ b/apps/mobile/device-proof-evidence/SIM-DRYRUN-FINDINGS.md
@@ -0,0 +1,72 @@
+# GovArbitrage — iOS Simulator Dry-Run (SUPPLEMENTARY evidence) — TK-10279
+
+**When:** 2026-09-02T22:12:55Z (UTC)
+**Device:** iPhone 17 Pro Max, iOS 26.5 (simulator udid `2061D117-F2B5-419D-82D6-E9567908D5E8`)
+**Bundle:** `com.abrams.govarbitrage`  ·  Expo SDK 57 / React Native 0.86  ·  app version 1.0.0
+**Scope:** LOCAL dev only. No App Store Connect writes/replies/uploads/resubmits, no Apple-identity
+actions (Sign in with Apple shown AVAILABLE, never tapped), no prod/data writes. This is a
+supplementary simulator record + journey validation while the physical iPhone is off-network; the
+physical-device App Review proof is handled separately.
+
+## Artifacts
+- **Recording:** `govarbitrage-SIMULATOR-dryrun-2026-09-02T221255Z.mov` (h264, 1320×2868, 36.4s, 7.99 MB)
+- **Stills:**
+  - `still-01-opportunities-list-<ISO>.png` — Opportunities list, real data
+  - `still-02-detail-maxbid-<ISO>.png` — Listing detail (Recommended Max Bid + Valuation)
+  - `still-03-settings-apple-<ISO>.png` — Settings (Sign in with Apple AVAILABLE + Test Connection + config)
+  - `still-04-list-return-<ISO>.png` — back on the list
+
+## Journey validated (all screens rendered with REAL live data from https://auctions.agentabrams.com)
+The app sends an empty Basic auth header (`admin:` → `Authorization: Basic YWRtaW46`), which the API
+treats as UNGATED, so full analytics are returned (`gated:false`, `tier:FREE`).
+
+1. **Cold launch → Opportunities list** — `2516 active listings`; ranked cards (#1 Late-2013 iMac,
+   #2/#3 MacBook Pros, #4 Vintage Apple monitor) each showing GOVDEALS source, category, MEDIUM RISK,
+   and the analytics columns **CURRENT BID $10 · NET PROFIT $183 · ROI 191.0% · SCORE 82**. Sort chips
+   (Opportunity/ROI %/Net Profit/Closing Soon/Newest) + Listings/Settings tab bar.
+2. **Listing detail** (iMac, id `cmtk1nnat00eysqssvwvbewq7`, deep-linked `govarbitrage://listing/<id>`)
+   — GOVDEALS chip, Lot #29250-189, Toledo OH, MEDIUM RISK, Drop Ship: Easy, Imported timestamp, hero
+   photo, **RECOMMENDED MAX BID $104** (rounded from 103.93; current bid $10 · 0 bids), View-on-GovDeals
+   link, and the **Valuation** table (New Retail $900 · Avg Retail $828 · Used Low/Avg/High
+   $252/$315/$410 · Wholesale $189 · …).
+3. **Settings** (`govarbitrage://settings`) — the whole screen fits one frame: **Sign in with Apple
+   button rendered and AVAILABLE (not tapped)**, Base URL `https://auctions.agentabrams.com`, Username
+   `admin`, Password, Save Settings, **Test Connection** button, About (GovArbitrage Mobile ·
+   com.abrams.govarbitrage · Expo SDK 57 / React Native 0.86).
+
+### Detail below-the-fold data (rendered on-device below the visible fold; values from the live API)
+`api-detail-appclient.json`: **Recommended Max Bid $103.93 · Net Profit $182.96 · ROI 191% ·
+Annualized return · Total Investment / Expected Returns (Cost Breakdown & Profit)** + **9 Scores**
+(Opportunity/Arbitrage/Demand/Velocity/Logistics/Condition/Competition/Buyer). These sections are
+present in the detail ScrollView beneath the Valuation table (see the code in `app/listing/[id].tsx`).
+
+## Build findings (native build could NOT be freshly rebuilt — captured, not guessed)
+Two build attempts failed on the SDK 57 / RN 0.86 **prebuilt React Native XCFramework** toolchain:
+1. `xcodebuild -configuration Release … -derivedDataPath ios/build` → EXIT 65, exact error:
+   `<unknown>:0: error: virtual filesystem overlay file '.../ios/Pods/React-Core-prebuilt/React-VFS.yaml' not found`
+   (×2) + SwiftCompile failure in `ExpoLogBox`.
+2. `npx expo run:ios --configuration Release` (default DerivedData) → EXIT 65, 1 error:
+   `❌ Script '[CP-User] Build ExpoModulesJSI xcframework' failed`.
+Both point at the new switchable-prebuilt-XCFramework script phases (React-Core-prebuilt /
+ExpoModulesJSI). A `/Users/macstudio3/Projects/govarbitrage` ↔ `/Volumes/Henry/…` symlink path
+duality (seen in the VFS error path) is the likely aggravator.
+
+**What was recorded instead:** the already-installed prior **Release** build on the simulator
+(universal Mach-O + embedded 2.8 MB `main.jsbundle`, v1.0.0, Aug 7). Every TS/JS source file
+(`app/`, `lib/`, `components/`, `constants/`, `index.ts`) predates that binary, so it faithfully
+reflects the CURRENT journey code. The only config delta since is `supportsTablet:false`
+(iPad-only; irrelevant to an iPhone-simulator recording).
+
+## Interaction limitation (why the video is deep-link-driven, not tap-driven)
+Synthetic mouse taps/scrolls into the Simulator (cliclick) do NOT reach the app — macOS
+Accessibility / Input-Monitoring is not granted to the terminal (TCC-blocked). The cursor moves but
+button/drag events are filtered. `idb`/`idb_companion` are not installed, and an XCUITest would hit
+the same failing native build. Navigation was therefore driven deterministically via the app's own
+`govarbitrage://` deep-link handler (URL handler, not synthetic input), which is faithful. The one
+tap-only item (the Test Connection RESULT) is independently proven: the cold-launched list loaded
+2516 live listings, i.e. the exact same authenticated GET the Test Connection button issues.
+
+### To capture the tap/scroll-only bits in a follow-up (optional, Steve-gated GUI grant)
+Grant the terminal (iTerm/Terminal) **Accessibility** and **Input Monitoring** in
+System Settings → Privacy & Security. Then a re-run can tap Test Connection (→ "Connected · latency ·
+tier FREE") and scroll the detail to show Cost Breakdown & Profit + Scores on-screen.
diff --git a/apps/mobile/device-proof-evidence/SUBMIT-GATE-CHECKLIST.md b/apps/mobile/device-proof-evidence/SUBMIT-GATE-CHECKLIST.md
new file mode 100644
index 0000000..832f879
--- /dev/null
+++ b/apps/mobile/device-proof-evidence/SUBMIT-GATE-CHECKLIST.md
@@ -0,0 +1,41 @@
+# Submit Gate — run the moment the 2.1 recording exists (TK-10279)
+
+Final pre-send verification before replying to Apple's **Guideline 2.1 · Information Needed**.
+Do NOT reply/attach until every box is checked. Sending is Steve's gated console action.
+
+## 1. The recording (the item that was blocking)
+- [ ] A `.mov`/`.mp4` exists in `device-proof-evidence/` from the **physical iPhone 17 Pro Max**, iOS 26.6.1 (not a simulator).
+- [ ] It shows the full shot-list journey: cold launch → Opportunities list → open a listing showing **Max Bid / Valuation / Cost / Scores** → Settings → **connection test** → (optional) **Sign in with Apple availability** (never tapped).
+- [ ] Playback is clean end-to-end, no crash, no blank/error state.
+- [ ] `./verify-recording.sh <recording.mov|recording.mp4>` returns **PASS** before upload.
+- [ ] Manual frame review confirms **no notifications, private apps, names, messages, phone numbers, email addresses, or other personal content** appears anywhere.
+- [ ] The recording remains inside GovArbitrage and visibly completes the promised detail/settings journey; codec validation alone is insufficient.
+- [ ] After that manual review, create the bound sidecar: `shasum -a 256 <recording> > <recording>.privacy-reviewed.sha256`; `readiness-probe.sh` must report recording `PASS` and privacy review `PASS`.
+
+## 2. Live backend the reviewer will exercise (re-verify same-day — was PASS 2026-09-02)
+```sh
+for p in "" /privacy /api/listings; do
+  curl -sS -o /dev/null -w "%{http_code} %{time_total}s  https://auctions.agentabrams.com$p\n" --max-time 20 "https://auctions.agentabrams.com$p"
+done
+```
+- [ ] All three return **200**. `/api/listings` still serves rows (was total=2613).
+
+## 3. ASC artifact state (re-verify same-day)
+```sh
+ASC_KEY_PATH=/Users/macstudio3/.appstoreconnect/private_keys/AuthKey_72Y2TZT54R.p8 \
+ASC_KEY_ID=72Y2TZT54R node ~/.claude/skills/ipa-status/scripts/ipa-status.mjs --ready
+```
+- [ ] GovArbitrage still shows build + description + screenshots present (SUBMIT-READY line).
+
+## 4. The reply text
+- [ ] `../ASC-PASTE-KIT.md` → "Guideline 2.1 Reply (paste)" covers all 6 disclosures Apple asked for
+      (auction source, backend `auctions.agentabrams.com`, Sign in with Apple via expo-apple-authentication,
+      third-party listing photos, all-territories consistency, public-records / no-regulated-material).
+
+## 5. Send (Steve — gated console step, only after 1–4 all checked)
+- [ ] App Store Connect ▸ **Resolution Center** ▸ reply to the 2.1 review.
+- [ ] Paste the reply text + **attach the recording**.
+- [ ] Submit the reply. (No new binary needed — this is an info+video response, not a resubmit.)
+
+## Gates (unchanged)
+❌ No ASC write until box 5 · ❌ Do not complete Sign in with Apple (availability only) · ✅ read-only re-verify above.
diff --git a/apps/mobile/device-proof-evidence/govarbitrage-SIMULATOR-dryrun-2026-09-02T221255Z.mov.DO-NOT-UPLOAD-simulator-fails-2.1 b/apps/mobile/device-proof-evidence/govarbitrage-SIMULATOR-dryrun-2026-09-02T221255Z.mov.DO-NOT-UPLOAD-simulator-fails-2.1
new file mode 100644
index 0000000..9cc18ba
Binary files /dev/null and b/apps/mobile/device-proof-evidence/govarbitrage-SIMULATOR-dryrun-2026-09-02T221255Z.mov.DO-NOT-UPLOAD-simulator-fails-2.1 differ
diff --git a/apps/mobile/eas.json b/apps/mobile/eas.json
new file mode 100644
index 0000000..f6151a6
--- /dev/null
+++ b/apps/mobile/eas.json
@@ -0,0 +1,40 @@
+{
+  "cli": {
+    "version": ">= 5.0.0",
+    "appVersionSource": "remote"
+  },
+  "build": {
+    "development": {
+      "developmentClient": true,
+      "distribution": "internal",
+      "ios": {
+        "simulator": true
+      }
+    },
+    "preview": {
+      "distribution": "internal",
+      "ios": {
+        "simulator": false
+      }
+    },
+    "production": {
+      "autoIncrement": true,
+      "ios": {
+        "image": "latest"
+      },
+      "android": {
+        "buildType": "app-bundle"
+      }
+    }
+  },
+  "submit": {
+    "production": {
+      "ios": {
+        "ascAppId": "6799165231",
+        "ascApiKeyPath": "/Users/macstudio3/.appstoreconnect/private_keys/AuthKey_72Y2TZT54R.p8",
+        "ascApiKeyId": "72Y2TZT54R",
+        "ascApiKeyIssuerId": "cfbd63ed-301b-465c-aad7-49e94420ad70"
+      }
+    }
+  }
+}
diff --git a/apps/mobile/package-lock.json b/apps/mobile/package-lock.json
new file mode 100644
index 0000000..f804459
--- /dev/null
+++ b/apps/mobile/package-lock.json
@@ -0,0 +1,7339 @@
+{
+  "name": "mobile",
+  "version": "1.0.3",
+  "lockfileVersion": 3,
+  "requires": true,
+  "packages": {
+    "": {
+      "name": "mobile",
+      "version": "1.0.3",
+      "dependencies": {
+        "@expo/vector-icons": "^15.0.2",
+        "@react-native-async-storage/async-storage": "2.2.0",
+        "expo": "~57.0.11",
+        "expo-apple-authentication": "~57.0.1",
+        "expo-constants": "~57.0.9",
+        "expo-linking": "~57.0.5",
+        "expo-router": "~57.0.11",
+        "expo-secure-store": "~57.0.1",
+        "expo-splash-screen": "~57.0.5",
+        "expo-status-bar": "~57.0.1",
+        "react": "19.2.3",
+        "react-native": "0.86.2",
+        "react-native-gesture-handler": "~2.32.0",
+        "react-native-reanimated": "4.5.1",
+        "react-native-safe-area-context": "~5.7.0",
+        "react-native-screens": "~4.26.0",
+        "react-native-worklets": "0.10.1"
+      },
+      "devDependencies": {
+        "@types/react": "~19.2.2",
+        "typescript": "~6.0.3"
+      }
+    },
+    "node_modules/@adobe/css-tools": {
+      "version": "4.5.0",
+      "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.5.0.tgz",
+      "integrity": "sha512-6OzddxPio9UiWTCemp4N8cYLV2ZN1ncRnV1cVGtve7dhPOtRkleRyx32GQCYSwDYgaHU3USMm84tNsvKzRCa1Q==",
+      "license": "MIT"
+    },
+    "node_modules/@babel/code-frame": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz",
+      "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-validator-identifier": "^7.29.7",
+        "js-tokens": "^4.0.0",
+        "picocolors": "^1.1.1"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/compat-data": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.7.tgz",
+      "integrity": "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/core": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.7.tgz",
+      "integrity": "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/code-frame": "^7.29.7",
+        "@babel/generator": "^7.29.7",
+        "@babel/helper-compilation-targets": "^7.29.7",
+        "@babel/helper-module-transforms": "^7.29.7",
+        "@babel/helpers": "^7.29.7",
+        "@babel/parser": "^7.29.7",
+        "@babel/template": "^7.29.7",
+        "@babel/traverse": "^7.29.7",
+        "@babel/types": "^7.29.7",
+        "@jridgewell/remapping": "^2.3.5",
+        "convert-source-map": "^2.0.0",
+        "debug": "^4.1.0",
+        "gensync": "^1.0.0-beta.2",
+        "json5": "^2.2.3",
+        "semver": "^6.3.1"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/babel"
+      }
+    },
+    "node_modules/@babel/core/node_modules/semver": {
+      "version": "6.3.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+      "license": "ISC",
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/@babel/generator": {
+      "version": "7.29.8",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.8.tgz",
+      "integrity": "sha512-gZbepsdh3WDtgZKWL+vTPh71LSBrm/Y4/QDZBVCcYfmeTEEuoOYwlSy+G1StfJg+/Zy550u/3TATbm7qDbbMtg==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/parser": "^7.29.8",
+        "@babel/types": "^7.29.8",
+        "@jridgewell/gen-mapping": "^0.3.12",
+        "@jridgewell/trace-mapping": "^0.3.28",
+        "jsesc": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-annotate-as-pure": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.29.7.tgz",
+      "integrity": "sha512-OoK6239jHPuSQOoS0kfTVKn0b/rVTk0seKq4Gd2UMLtmOVLjDC0ki3e+c90Trqv2gMfvJFqkiljrr568+qddiw==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/types": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-compilation-targets": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz",
+      "integrity": "sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/compat-data": "^7.29.7",
+        "@babel/helper-validator-option": "^7.29.7",
+        "browserslist": "^4.24.0",
+        "lru-cache": "^5.1.1",
+        "semver": "^6.3.1"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-compilation-targets/node_modules/semver": {
+      "version": "6.3.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+      "license": "ISC",
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/@babel/helper-create-class-features-plugin": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.29.7.tgz",
+      "integrity": "sha512-IY3ZD9Tmooqr3TUhc3DUWxiuo8xx1DWLhd5M7hQ+ZWJamqM2BbalrBJb2MisSLoYorOj75U03qULCxQTY9r3hg==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-annotate-as-pure": "^7.29.7",
+        "@babel/helper-member-expression-to-functions": "^7.29.7",
+        "@babel/helper-optimise-call-expression": "^7.29.7",
+        "@babel/helper-replace-supers": "^7.29.7",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.29.7",
+        "@babel/traverse": "^7.29.7",
+        "semver": "^6.3.1"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
+      }
+    },
+    "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": {
+      "version": "6.3.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+      "license": "ISC",
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/@babel/helper-create-regexp-features-plugin": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.29.7.tgz",
+      "integrity": "sha512-907Uymvqgg1dwUA+7IGwFAOSYzQOuzPXKNJ1yxzwPffzkYFg2q2eHi1fIOs6sXkG9NbIUMunnUlkYsfRFNvomg==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-annotate-as-pure": "^7.29.7",
+        "regexpu-core": "^6.3.1",
+        "semver": "^6.3.1"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
+      }
+    },
+    "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": {
+      "version": "6.3.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+      "license": "ISC",
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/@babel/helper-define-polyfill-provider": {
+      "version": "0.6.8",
+      "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.8.tgz",
+      "integrity": "sha512-47UwBLPpQi1NoWzLuHNjRoHlYXMwIJoBf7MFou6viC/sIHWYygpvr0B6IAyh5sBdA2nr2LPIRww8lfaUVQINBA==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-compilation-targets": "^7.28.6",
+        "@babel/helper-plugin-utils": "^7.28.6",
+        "debug": "^4.4.3",
+        "lodash.debounce": "^4.0.8",
+        "resolve": "^1.22.11"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
+      }
+    },
+    "node_modules/@babel/helper-globals": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz",
+      "integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-member-expression-to-functions": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.29.7.tgz",
+      "integrity": "sha512-j+7JYmk1JYDtACIGj0QJqqWZjoUpMoEikQGADMaHgCMCSDqd2+P32rfcibUNrGOMWrlzK1WJBdxrB3JJQZwWtg==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/traverse": "^7.29.7",
+        "@babel/types": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-module-imports": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz",
+      "integrity": "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/traverse": "^7.29.7",
+        "@babel/types": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-module-transforms": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz",
+      "integrity": "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-module-imports": "^7.29.7",
+        "@babel/helper-validator-identifier": "^7.29.7",
+        "@babel/traverse": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
+      }
+    },
+    "node_modules/@babel/helper-optimise-call-expression": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.29.7.tgz",
+      "integrity": "sha512-+kmGVjcT9RGYzoDwdwEqEvGgKe3BYq+O1iGzjFubaNgZHwYHP6lsF2Yghf4kEuv9BV7tYDZ913aBW9am6YKong==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/types": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-plugin-utils": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.29.7.tgz",
+      "integrity": "sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-remap-async-to-generator": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.29.7.tgz",
+      "integrity": "sha512-16AMiW26DbXWBbr3B8wNozKM0ydMLB892vaOaJW/fPJdnT8vJk5sdkQcU/isqUxyCE0cEoa8wZOcbgDuC4b6Og==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-annotate-as-pure": "^7.29.7",
+        "@babel/helper-wrap-function": "^7.29.7",
+        "@babel/traverse": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
+      }
+    },
+    "node_modules/@babel/helper-replace-supers": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.29.7.tgz",
+      "integrity": "sha512-atfGXWSeCiF4DnKZIfmJfQRkSw9b9gNNXR1kqKjbhG4pGYCOnkp8OcTB8E3NXjBu8NpheSnOeNKz8KT7UNFTmQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-member-expression-to-functions": "^7.29.7",
+        "@babel/helper-optimise-call-expression": "^7.29.7",
+        "@babel/traverse": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
+      }
+    },
+    "node_modules/@babel/helper-skip-transparent-expression-wrappers": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.29.7.tgz",
+      "integrity": "sha512-brcMGQaVzIeUb+6/bs1Av0f8YuNNjKY2JyvfRCsFuFsdKccEQ5Ges2y74D74NZ1Rz8lKJ9ksJkfqwQFJ/iNEyQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/traverse": "^7.29.7",
+        "@babel/types": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-string-parser": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz",
+      "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-validator-identifier": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz",
+      "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-validator-option": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz",
+      "integrity": "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-wrap-function": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.29.7.tgz",
+      "integrity": "sha512-iES0Skag9ERIF68aXadpO6dbXa03mNWK3sEqJaMnLNs/eC3l0lkImdfoy6Y09/SfkpawdAB4RjQ7PVA7TcVGdw==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/template": "^7.29.7",
+        "@babel/traverse": "^7.29.7",
+        "@babel/types": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helpers": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.7.tgz",
+      "integrity": "sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/template": "^7.29.7",
+        "@babel/types": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/parser": {
+      "version": "7.29.8",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.8.tgz",
+      "integrity": "sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/types": "^7.29.8"
+      },
+      "bin": {
+        "parser": "bin/babel-parser.js"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/@babel/plugin-proposal-decorators": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.29.7.tgz",
+      "integrity": "sha512-EtU0Hi3GvrTqD56xKmZvV/uCXK2ZbwVNPNLAquVItcAZpUhkXwWlo3Fmj0c2LxgSf2I8IDULeAepwNP1OefLXg==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-create-class-features-plugin": "^7.29.7",
+        "@babel/helper-plugin-utils": "^7.29.7",
+        "@babel/plugin-syntax-decorators": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-proposal-export-default-from": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.29.7.tgz",
+      "integrity": "sha512-p+G5BNXDcy3bOXplhY4HybQ1GxH3i2Tppmdm/3epyRu2VgJJZuUlZ61MqRTg582Q7ZLBdP7fePYvsumSEkMxcQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-syntax-decorators": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.29.7.tgz",
+      "integrity": "sha512-9MTTLbF39X6sqM92JPEsoI7++26hjZvzkxKZy64aMhWLH2mPkJ/Q3AV4QLmls3R14FpSpkOwQQfUh962JGQxxg==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-syntax-dynamic-import": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
+      "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-syntax-export-default-from": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.29.7.tgz",
+      "integrity": "sha512-foag0BB37ROhdeIX9O8G0jX7hw0UekJc04cHMrYLOnrErsnBKqJGHJ8eDRpoCFZBvEPPygmmtw4qyU97qa4oOw==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-syntax-flow": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.29.7.tgz",
+      "integrity": "sha512-ajMX6QPcyomotqwpzhkYGxcK2i/us0rs1Qo9QvUpa+Fca0FTmqrzKrctoIYLMxcOhGZldGT/BAVkRGTWBiR8gQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-syntax-jsx": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.29.7.tgz",
+      "integrity": "sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
+      "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-syntax-optional-chaining": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
+      "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-syntax-typescript": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.29.7.tgz",
+      "integrity": "sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-arrow-functions": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.29.7.tgz",
+      "integrity": "sha512-N7zArUXWzAMzm+/N0uPBeVB3Fam5lMxtUwMmDK5f/IBBS7a7p1qeUoxd/6CckXoxUdgsntq1Dh8xNW06maZbDQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-async-generator-functions": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.29.7.tgz",
+      "integrity": "sha512-d98gXZkgswvkyohMBABkhm3GeXhYj8psWfwQ2C7gtfrKGTykQa/iOIi+JJhwMjPlZ6Vm2XN+DCf3Es1EoG4ZLA==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.29.7",
+        "@babel/helper-remap-async-to-generator": "^7.29.7",
+        "@babel/traverse": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-async-to-generator": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.29.7.tgz",
+      "integrity": "sha512-pcUb2SS+RMo9TWVBwKGI5ShtoG7R+zBsFmCKDa6fe8c+hPr3XJlZgoE5j6i8W7gDjhyvy+85vmYexanvXh3d1w==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-module-imports": "^7.29.7",
+        "@babel/helper-plugin-utils": "^7.29.7",
+        "@babel/helper-remap-async-to-generator": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-block-scoping": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.29.7.tgz",
+      "integrity": "sha512-ONyr4+AZhKh8yKWInVxU9AXA9EbsyeLcL6V0dJy6M2/62vuvpGm29zzuymbTpdc451GEpDIdAyPLP3r+P61yKQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-class-properties": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.29.7.tgz",
+      "integrity": "sha512-GtcpjFvanPfzNQi3eTitsCqtRRmmqzpy/A+yhTR1HaZo1Ly3EA8ZXxlPyHdR8/IuRMYc3E4wdGBewB2QKQjAaA==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-create-class-features-plugin": "^7.29.7",
+        "@babel/helper-plugin-utils": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-class-static-block": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.29.7.tgz",
+      "integrity": "sha512-kibJgmEdX2iMwsHY2tSZNDgj8PwIlCQz7FK9KuGKO8zsuoUwSEhoNnNVp/emKWrbY4HeO6kkXfdMqRKKKXBm2A==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-create-class-features-plugin": "^7.29.7",
+        "@babel/helper-plugin-utils": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.12.0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-classes": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.29.7.tgz",
+      "integrity": "sha512-qV0OGGBVacduzQHE649JyCneOFI/maT+YKsO+K4Yi3xv2wTPNjM/W2o2gdzMwEAZz7fXNTHAe0NcSg30bIN69g==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-annotate-as-pure": "^7.29.7",
+        "@babel/helper-compilation-targets": "^7.29.7",
+        "@babel/helper-globals": "^7.29.7",
+        "@babel/helper-plugin-utils": "^7.29.7",
+        "@babel/helper-replace-supers": "^7.29.7",
+        "@babel/traverse": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-destructuring": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.29.7.tgz",
+      "integrity": "sha512-iPX8aD6H9zV5s7ZsqTdNocPN/MGQ5sSMnElKrktxjJRMnB2jN/1p2+R7GkfD6CAYoVFqy5A4XnSIUeGgJzIWpg==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.29.7",
+        "@babel/traverse": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-export-namespace-from": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.29.7.tgz",
+      "integrity": "sha512-24B2nOy2TeJSMheqwPD4DDQOV/elLSIlKxjZt4i05H5AgdPdWR3n18HnNrcJ+j76WJd9gbwb9jPjNYUy6RautA==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-flow-strip-types": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.29.7.tgz",
+      "integrity": "sha512-wRHeUjUjCZnMHmiO5bRgjFLcoEh7JyTdByOW11ahhwNa4V0bmeGEaIvt51yq0zQp2yWIpqfxXXPyUP6GFJZHOQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.29.7",
+        "@babel/plugin-syntax-flow": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-for-of": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.29.7.tgz",
+      "integrity": "sha512-zeSIHh0+E1Um1WJRXCFlHQYu2ieJNdivLLjlBEp+dIBu3S51n+SZZmIXjxnItw6pz56Cn+KvK68BIBVsxq2JiQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.29.7",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-logical-assignment-operators": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.29.7.tgz",
+      "integrity": "sha512-A0H91hh6W8MFRkp5TqJmMr39jzGD1A1E1Ysiv2O06Sfbhkapm+XyIzxWCEh5kqwOZ1/8QZ0dY3SeQ7XBqfJd5Q==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-modules-commonjs": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.29.7.tgz",
+      "integrity": "sha512-j0vCldybPC5b5dwCQOJ21uKtHzt7hxLygJTg9eF1ScfaikEDNfzn94XoW5Fi+seBR0nCyL23xaBFFkq7dTM8XQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-module-transforms": "^7.29.7",
+        "@babel/helper-plugin-utils": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.29.7.tgz",
+      "integrity": "sha512-vuFoLwr4qnv2xbZ16SQd6uPcH5FNrLHhk/Jzo++0XJFcaDsr4gjJVg6j398oMHiC+83k/GiBzviwF5KBJkPUtQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-create-regexp-features-plugin": "^7.29.7",
+        "@babel/helper-plugin-utils": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-nullish-coalescing-operator": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.29.7.tgz",
+      "integrity": "sha512-idmp1dFaekP9GbcMvG24Kvw2BfhFZjHnNJCkV4WuIY4PskJzwI3f1N5OdgYke38T7rftO6ERulFRn2cFeZwRkg==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-object-rest-spread": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.29.7.tgz",
+      "integrity": "sha512-Ld98jn4c0smUywL57m7SgsHq3OpThOa6LqZJif3G6jYOovPleoFhVrBJ1WegRApSFB2wu4+RelAj9AC9G08Z4A==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-compilation-targets": "^7.29.7",
+        "@babel/helper-plugin-utils": "^7.29.7",
+        "@babel/plugin-transform-destructuring": "^7.29.7",
+        "@babel/plugin-transform-parameters": "^7.29.7",
+        "@babel/traverse": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-optional-catch-binding": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.29.7.tgz",
+      "integrity": "sha512-sLsyndxK2VwX6yNUOakMb7Sh553ZTe/vVM1XJ+9Z5aW1ytsc8xOIwmyk05NNjN60vkc5/KqoTH6hB4V41LJhng==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-optional-chaining": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.29.7.tgz",
+      "integrity": "sha512-6GM1dhvK3gNODkXcEcMCOLEDCLSoZ/sBbro2Ax8HURyasQ4NshagQixkRFdh5niI6E4gmA/jYI/4aT7rRos3ZQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.29.7",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-parameters": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.29.7.tgz",
+      "integrity": "sha512-ZDOBqV/qLYJI0YElr8DcENEyARsFQeESqWXH6gZlghYXuPPjvweuDhP4VyEi4BlUBlLRFZVjxoZDMjxhLW766g==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-private-methods": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.29.7.tgz",
+      "integrity": "sha512-/6Rz4DK1ETDEM/bWHsPHcaEe7ZaT1EqSXjtSP/L0DijOYuaUhiRiOKcwpZ8P7zR4xXEHc2ITdiCgBm9Tpyv9ug==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-create-class-features-plugin": "^7.29.7",
+        "@babel/helper-plugin-utils": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-private-property-in-object": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.29.7.tgz",
+      "integrity": "sha512-+BNo06dnrzdNNqCm1X6YUaVv0DKk8Q+JYcoZfOkLhYWNCXzlwTSRq8zGWayT1csjcpNXV9CQTBRRbmTLZac5cA==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-annotate-as-pure": "^7.29.7",
+        "@babel/helper-create-class-features-plugin": "^7.29.7",
+        "@babel/helper-plugin-utils": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-react-display-name": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.29.7.tgz",
+      "integrity": "sha512-+1wdDMGNb4UPeY3Q4L5yLiYe6TXPXubs4NjrgRFw13hPRLJfEMw2Q5OXkee6/IfdqePIeW4Jjwe3aBh7SdKz4Q==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-react-jsx": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.29.7.tgz",
+      "integrity": "sha512-WsZulLVBUHXVj2cUcPVx6UE21TpalB6bHbSFErKT0Ib++ax24jjXe73FqlWvdylFOjiuPHYi6VCcgRad1ItN+A==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-annotate-as-pure": "^7.29.7",
+        "@babel/helper-module-imports": "^7.29.7",
+        "@babel/helper-plugin-utils": "^7.29.7",
+        "@babel/plugin-syntax-jsx": "^7.29.7",
+        "@babel/types": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-react-jsx-development": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.29.7.tgz",
+      "integrity": "sha512-Xfy3UVMF04+ypnFbkhvfqtmvwfe92qwQdbGZVonhE+6v35GzlofmOnA1szaZqzb9xYWr0nl1e5EMmzi0DNON1g==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/plugin-transform-react-jsx": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-react-pure-annotations": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.29.7.tgz",
+      "integrity": "sha512-H5E+HBgDpr6Q5t+Aj11tL7XkIui1jhbIoArVQnqjgXo5/3YxkN7ZEBcWF4RQlB0T4rrxJQbXS6kiFV6B7XTqUA==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-annotate-as-pure": "^7.29.7",
+        "@babel/helper-plugin-utils": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-runtime": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.29.7.tgz",
+      "integrity": "sha512-xmAscdE/AsqRW7vutbPNoUmu/nF5SrLKPs7aoJgEjo35lLKA/Bc0i2rMv/hr1+Y0o1bQCiVtith3u2vdgRL39Q==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-module-imports": "^7.29.7",
+        "@babel/helper-plugin-utils": "^7.29.7",
+        "babel-plugin-polyfill-corejs2": "^0.4.14",
+        "babel-plugin-polyfill-corejs3": "^0.13.0",
+        "babel-plugin-polyfill-regenerator": "^0.6.5",
+        "semver": "^6.3.1"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-runtime/node_modules/semver": {
+      "version": "6.3.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+      "license": "ISC",
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/@babel/plugin-transform-shorthand-properties": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.29.7.tgz",
+      "integrity": "sha512-I+WYbGBAiCn7nA6xBrlgPH+MB7HWb4u8pv5S0Pv7OtwNvIFvCCb24YlttKEeUFVurfBCEaOTnuhlqsb7f0Z5Dg==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-template-literals": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.29.7.tgz",
+      "integrity": "sha512-NCSEJ4sLFU2gqAub45HYh4fus2yQ36rr6ei6vpU7NdoJqCpxvEG8E6eJpscGyXP3VHD2Ny+fSXr04k1hoUrFqA==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-typescript": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.29.7.tgz",
+      "integrity": "sha512-jK52h8LaLc7JarhQV2ofeFMts4H7vnOXnqZNA6fYglBTZewRBE51KWt3BUltW1P+KoPsYkHoJeXePuz4zo2LMw==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-annotate-as-pure": "^7.29.7",
+        "@babel/helper-create-class-features-plugin": "^7.29.7",
+        "@babel/helper-plugin-utils": "^7.29.7",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.29.7",
+        "@babel/plugin-syntax-typescript": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-unicode-regex": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.29.7.tgz",
+      "integrity": "sha512-7D/x/23/d/3VqZ0QA+LGbZMlGwZjztBygSWWWsfTPoQ1oQ6Q1P6Mr3d0kk42XabyUVw+fha3LqdRsFqeKqvCyA==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-create-regexp-features-plugin": "^7.29.7",
+        "@babel/helper-plugin-utils": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/preset-typescript": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.29.7.tgz",
+      "integrity": "sha512-/Foi8vKY2EVbed/1eZx0gJEEwHAIxogrySI7rULcRIvhZzbvoE/b5qG5Ghc0WKAFKOHA9SD1x7RsFlOYdutIiQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.29.7",
+        "@babel/helper-validator-option": "^7.29.7",
+        "@babel/plugin-syntax-jsx": "^7.29.7",
+        "@babel/plugin-transform-modules-commonjs": "^7.29.7",
+        "@babel/plugin-transform-typescript": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/runtime": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.7.tgz",
+      "integrity": "sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/template": {
+      "version": "7.29.7",
+      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz",
+      "integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/code-frame": "^7.29.7",
+        "@babel/parser": "^7.29.7",
+        "@babel/types": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/traverse": {
+      "version": "7.29.8",
+      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.8.tgz",
+      "integrity": "sha512-I5z7H3bf/41ktsNVLtpN0wAa336HkqIHQ5BuPLEhTkt1jVSyZpeNKIzTgEWmlxjdg81R0IgUCcaE+Ok3NvrfZg==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/code-frame": "^7.29.7",
+        "@babel/generator": "^7.29.8",
+        "@babel/helper-globals": "^7.29.7",
+        "@babel/parser": "^7.29.8",
+        "@babel/template": "^7.29.7",
+        "@babel/types": "^7.29.8",
+        "debug": "^4.3.1"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/types": {
+      "version": "7.29.8",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.8.tgz",
+      "integrity": "sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-string-parser": "^7.29.7",
+        "@babel/helper-validator-identifier": "^7.29.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@egjs/hammerjs": {
+      "version": "2.0.17",
+      "resolved": "https://registry.npmjs.org/@egjs/hammerjs/-/hammerjs-2.0.17.tgz",
+      "integrity": "sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A==",
+      "license": "MIT",
+      "dependencies": {
+        "@types/hammerjs": "^2.0.36"
+      },
+      "engines": {
+        "node": ">=0.8.0"
+      }
+    },
+    "node_modules/@expo-google-fonts/material-symbols": {
+      "version": "0.4.42",
+      "resolved": "https://registry.npmjs.org/@expo-google-fonts/material-symbols/-/material-symbols-0.4.42.tgz",
+      "integrity": "sha512-KZmHZRcthJ3KFZZlpzHjopA9guZgWR9fb3uVZlTR0BNlvG2pw1bnYBCpkze2PB0vRllwGhAM7lWXsfmcWCbXYg==",
+      "license": "MIT AND Apache-2.0"
+    },
+    "node_modules/@expo/code-signing-certificates": {
+      "version": "0.0.6",
+      "resolved": "https://registry.npmjs.org/@expo/code-signing-certificates/-/code-signing-certificates-0.0.6.tgz",
+      "integrity": "sha512-iNe0puxwBNEcuua9gmTGzq+SuMDa0iATai1FlFTMHJ/vUmKvN/V//drXoLJkVb5i5H3iE/n/qIJxyoBnXouD0w==",
+      "license": "MIT",
+      "dependencies": {
+        "node-forge": "^1.3.3"
+      }
+    },
+    "node_modules/@expo/config": {
+      "version": "57.0.6",
+      "resolved": "https://registry.npmjs.org/@expo/config/-/config-57.0.6.tgz",
+      "integrity": "sha512-VpMJpB/De/fb9bBFVVBiK6Ntg9lt0kAleLH9hcZz85CYRUQ3jVFVA8rNC5f8y4cp2+FiiPNFp62+kEOFI6pDiw==",
+      "license": "MIT",
+      "dependencies": {
+        "@expo/config-plugins": "~57.0.6",
+        "@expo/config-types": "^57.0.2",
+        "@expo/json-file": "^11.0.1",
+        "@expo/require-utils": "^57.0.4",
+        "deepmerge": "^4.3.1",
+        "getenv": "^2.0.0",
+        "glob": "^13.0.0",
+        "resolve-workspace-root": "^2.0.0",
+        "semver": "^7.6.0",
+        "slugify": "^1.3.4"
+      }
+    },
+    "node_modules/@expo/config-plugins": {
+      "version": "57.0.7",
+      "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-57.0.7.tgz",
+      "integrity": "sha512-jvXMiNuH8W7fmU9yCk4/jVwDX2G/5rWUg5PZ22mriccEeQVS9HJjQiUHivMaK6MxEG5L9f0RPScxe/nQfnpQvg==",
+      "license": "MIT",
+      "dependencies": {
+        "@expo/config-types": "^57.0.2",
+        "@expo/json-file": "~11.0.1",
+        "@expo/plist": "^0.8.1",
+        "@expo/require-utils": "^57.0.4",
+        "@expo/sdk-runtime-versions": "^1.0.0",
+        "chalk": "^4.1.2",
+        "debug": "^4.3.5",
+        "getenv": "^2.0.0",
+        "glob": "^13.0.0",
+        "semver": "^7.5.4",
+        "slugify": "^1.6.6",
+        "xcode": "^3.0.1",
+        "xml2js": "0.6.0"
+      }
+    },
+    "node_modules/@expo/config-types": {
+      "version": "57.0.2",
+      "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-57.0.2.tgz",
+      "integrity": "sha512-ewW08OonrcRIsRKIlFvvcmmafE5zemb1ocu3HkNwtVPyRtj2w42pZCAkMIROYpcVBaPnc3mDT9UZDzwXWC3i6g==",
+      "license": "MIT"
+    },
+    "node_modules/@expo/devcert": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/@expo/devcert/-/devcert-1.2.1.tgz",
+      "integrity": "sha512-qC4eaxmKMTmJC2ahwyui6ud8f3W60Ss7pMkpBq40Hu3zyiAaugPXnZ24145U7K36qO9UHdZUVxsCvIpz2RYYCA==",
+      "license": "MIT",
+      "dependencies": {
+        "@expo/sudo-prompt": "^9.3.1",
+        "debug": "^3.1.0"
+      }
+    },
+    "node_modules/@expo/devcert/node_modules/debug": {
+      "version": "3.2.7",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+      "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+      "license": "MIT",
+      "dependencies": {
+        "ms": "^2.1.1"
+      }
+    },
+    "node_modules/@expo/devtools": {
+      "version": "57.0.1",
+      "resolved": "https://registry.npmjs.org/@expo/devtools/-/devtools-57.0.1.tgz",
+      "integrity": "sha512-GyUf+wFNkbttaX0jR7MZa9bm77U0IrLg6d2AjpxdyoXw/w4abHoXG0oFufwLMgP9zLTd5+Ct4X/ffNUTnlzZgg==",
+      "license": "MIT",
+      "dependencies": {
+        "chalk": "^4.1.2"
+      },
+      "peerDependencies": {
+        "react": "*",
+        "react-native": "*"
+      },
+      "peerDependenciesMeta": {
+        "react": {
+          "optional": true
+        },
+        "react-native": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@expo/dom-webview": {
+      "version": "57.0.1",
+      "resolved": "https://registry.npmjs.org/@expo/dom-webview/-/dom-webview-57.0.1.tgz",
+      "integrity": "sha512-lAKsME4SAq+8sf56oN0DX5TBYyruupoRxbWbD2xf9RnKY8y6x8eb9LCE5pxSN0qyWdqnp+0wmyWzDkKboThKAw==",
+      "license": "MIT",
+      "peerDependencies": {
+        "expo": "*",
+        "react": "*",
+        "react-native": "*"
+      }
+    },
+    "node_modules/@expo/env": {
+      "version": "2.4.2",
+      "resolved": "https://registry.npmjs.org/@expo/env/-/env-2.4.2.tgz",
+      "integrity": "sha512-28pqaEqwnmLduZ00Pq9HkSzE5wbj1MTwp5/n8nm8rD8MCjR9eUnVOwmNksPI3Be2ReAPO/DbPn1puy0mvoocsQ==",
+      "license": "MIT",
+      "dependencies": {
+        "chalk": "^4.0.0",
+        "debug": "^4.3.4",
+        "getenv": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=20.12.0"
+      }
+    },
+    "node_modules/@expo/expo-modules-macros-plugin": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/@expo/expo-modules-macros-plugin/-/expo-modules-macros-plugin-0.6.1.tgz",
+      "integrity": "sha512-cpsLZE4rqkc1Y3eZTkxB98jrqY1YXgetmtxFt8q89jBRmk3quRuk1BZo+VcnCSObZardjg99r1k5xijEMONFGA==",
+      "license": "MIT"
+    },
+    "node_modules/@expo/fingerprint": {
+      "version": "0.20.6",
+      "resolved": "https://registry.npmjs.org/@expo/fingerprint/-/fingerprint-0.20.6.tgz",
+      "integrity": "sha512-cmC/6BOPRbdKr77Mgjwszb8aM0hY2RKBpMRCmjSdn9zIcn2FGor/ic4fHVr46cQFa1G6RDGg1GyAjRw3US4CCQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@expo/env": "^2.4.2",
+        "@expo/spawn-async": "^1.8.0",
+        "arg": "^5.0.2",
+        "chalk": "^4.1.2",
+        "debug": "^4.3.4",
+        "getenv": "^2.0.0",
+        "glob": "^13.0.0",
+        "ignore": "^5.3.1",
+        "minimatch": "^10.2.2",
+        "resolve-from": "^5.0.0",
+        "semver": "^7.6.0"
+      },
+      "bin": {
+        "fingerprint": "bin/cli.js"
+      }
+    },
+    "node_modules/@expo/image-utils": {
+      "version": "0.11.4",
+      "resolved": "https://registry.npmjs.org/@expo/image-utils/-/image-utils-0.11.4.tgz",
+      "integrity": "sha512-pn/4770DIEOcYZr484uazuwg20FX/qaDkeMRF6J+oxejynDmEmO8wLsCudaNShFE0BhyKGQTYrs2rsRhqrqESw==",
+      "license": "MIT",
+      "dependencies": {
+        "@expo/require-utils": "^57.0.4",
+        "@expo/spawn-async": "^1.8.0",
+        "chalk": "^4.0.0",
+        "getenv": "^2.0.0",
+        "jimp-compact": "0.16.1",
+        "parse-png": "^2.1.0",
+        "semver": "^7.6.0"
+      }
+    },
+    "node_modules/@expo/inline-modules": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/@expo/inline-modules/-/inline-modules-0.1.4.tgz",
+      "integrity": "sha512-8bPSCm//dv8raYfrQ4x79rCX52vMw0QzmnYYl4eSOAvEbGvDPPRGGdbrhZZ7oihU+hI1sZNS5kYEgqODgFwfsw==",
+      "license": "MIT",
+      "dependencies": {
+        "@expo/config-plugins": "~57.0.6"
+      }
+    },
+    "node_modules/@expo/json-file": {
+      "version": "11.0.1",
+      "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-11.0.1.tgz",
+      "integrity": "sha512-zxHWj4MKKMAL29ZQSY/Fssx4Thluk40JmuGNaeS078wy/NhlFhnVi+rHHunulE3xJAJ0CM73m8VK2+GkF9eRwQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/code-frame": "^7.20.0",
+        "json5": "^2.2.3"
+      }
+    },
+    "node_modules/@expo/local-build-cache-provider": {
+      "version": "57.0.5",
+      "resolved": "https://registry.npmjs.org/@expo/local-build-cache-provider/-/local-build-cache-provider-57.0.5.tgz",
+      "integrity": "sha512-OwiNC0Uxu67TOH7TEQ94GLa4oNzNfbbItKGdy3QMfX+hCSZv2VvjcjRo5vttMHfXCnXa9KZIu3GBS9pvtDHWhA==",
+      "license": "MIT",
+      "dependencies": {
+        "@expo/config": "~57.0.6",
+        "chalk": "^4.1.2"
+      }
+    },
+    "node_modules/@expo/log-box": {
+      "version": "57.0.2",
+      "resolved": "https://registry.npmjs.org/@expo/log-box/-/log-box-57.0.2.tgz",
+      "integrity": "sha512-ZsFyfIR7YCbQAdVLzuTUmMHofZC7ZS9ywYCJNPlLc78x59cI8GwXFEIVbRjjC0uJERpNtXx/tsNNnkhexXlzMw==",
+      "license": "MIT",
+      "dependencies": {
+        "@expo/dom-webview": "^57.0.1",
+        "anser": "^1.4.9",
+        "stacktrace-parser": "^0.1.10"
+      },
+      "peerDependencies": {
+        "@expo/dom-webview": "^57.0.1",
+        "expo": "*",
+        "react": "*",
+        "react-native": "*"
+      }
+    },
+    "node_modules/@expo/metro": {
+      "version": "56.0.0",
+      "resolved": "https://registry.npmjs.org/@expo/metro/-/metro-56.0.0.tgz",
+      "integrity": "sha512-5gIgQHtEpjjvsjKfVtIv23a98LLRV0/y07PDShEwYSytAMlE3FSF8RHXqtHc1sUJL6dn7hnuIBpIbrLXXuVi0A==",
+      "license": "MIT",
+      "dependencies": {
+        "metro": "0.84.4",
+        "metro-babel-transformer": "0.84.4",
+        "metro-cache": "0.84.4",
+        "metro-cache-key": "0.84.4",
+        "metro-config": "0.84.4",
+        "metro-core": "0.84.4",
+        "metro-file-map": "0.84.4",
+        "metro-minify-terser": "0.84.4",
+        "metro-resolver": "0.84.4",
+        "metro-runtime": "0.84.4",
+        "metro-source-map": "0.84.4",
+        "metro-symbolicate": "0.84.4",
+        "metro-transform-plugins": "0.84.4",
+        "metro-transform-worker": "0.84.4"
+      }
+    },
+    "node_modules/@expo/metro-file-map": {
+      "version": "57.0.1",
+      "resolved": "https://registry.npmjs.org/@expo/metro-file-map/-/metro-file-map-57.0.1.tgz",
+      "integrity": "sha512-8JXfVstZN7QnP4NianZZnlTVboOWR0sG8trUDNajOjnbGlPln29vponXM84tY+3tAHapz5/TxE53L0ixUwqPtA==",
+      "license": "MIT",
+      "dependencies": {
+        "debug": "^4.3.4",
+        "fb-watchman": "^2.0.2",
+        "invariant": "^2.2.4",
+        "jest-worker": "^29.7.0",
+        "micromatch": "^4.0.4",
+        "walker": "^1.0.8"
+      }
+    },
+    "node_modules/@expo/osascript": {
+      "version": "2.7.1",
+      "resolved": "https://registry.npmjs.org/@expo/osascript/-/osascript-2.7.1.tgz",
+      "integrity": "sha512-Zn03EX6In7ts2lPUW2ESUSkEhEWQN1qqsiXjadtZMJOuZRkMiAg1ZQHuvz9DjByDWNJ2pBwAGyrts9lj9k389g==",
+      "license": "MIT",
+      "dependencies": {
+        "@expo/spawn-async": "^1.8.0"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@expo/package-manager": {
+      "version": "1.13.1",
+      "resolved": "https://registry.npmjs.org/@expo/package-manager/-/package-manager-1.13.1.tgz",
+      "integrity": "sha512-y/K+CaYYpZpNGZhSX4HyLT/vyIunFjNfyoxNysPBCefeLKI/VCx6f9LNPzrxayr3rCYO5bl9O8H+HRQK265Nkg==",
+      "license": "MIT",
+      "dependencies": {
+        "@expo/json-file": "^11.0.1",
+        "@expo/spawn-async": "^1.8.0",
+        "chalk": "^4.0.0",
+        "npm-package-arg": "^11.0.0",
+        "ora": "^3.4.0",
+        "resolve-workspace-root": "^2.0.0"
+      }
+    },
+    "node_modules/@expo/plist": {
+      "version": "0.8.1",
+      "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.8.1.tgz",
+      "integrity": "sha512-3gTReGIUm0oRaMClsAJYxBnVPCl6fVpsl8HS+DTVxDhW4GyVyxg9E/Znm3BvcHtUJ51RJJI14pC1wvrNilCRHw==",
+      "license": "MIT",
+      "dependencies": {
+        "@xmldom/xmldom": "^0.8.8",
+        "base64-js": "^1.5.1",
+        "xmlbuilder": "^15.1.1"
+      }
+    },
+    "node_modules/@expo/prebuild-config": {
+      "version": "57.0.10",
+      "resolved": "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-57.0.10.tgz",
+      "integrity": "sha512-myrS5NolFAQWD8g7QuqkettnkyJx3GRl603N6rlmqAMxmO5EU7sZu4EX2EsIKkva8QtpX84B0E17PsM9xXMsTQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@expo/config": "~57.0.6",
+        "@expo/config-plugins": "~57.0.6",
+        "@expo/config-types": "^57.0.2",
+        "@expo/image-utils": "^0.11.4",
+        "@expo/json-file": "^11.0.1",
+        "@react-native/normalize-colors": "0.86.2",
+        "debug": "^4.3.1",
+        "expo-modules-autolinking": "~57.0.9",
+        "resolve-from": "^5.0.0",
+        "semver": "^7.6.0"
+      }
+    },
+    "node_modules/@expo/require-utils": {
+      "version": "57.0.4",
+      "resolved": "https://registry.npmjs.org/@expo/require-utils/-/require-utils-57.0.4.tgz",
+      "integrity": "sha512-e7xbg/9BTQcsZE/oErafZXtI7kh5IgfasLJ97J5sFSzX2cA74pDvdlhW1KHVSaDkQyQv6h1LSLhsY7dEeOk7hw==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/code-frame": "^7.20.0",
+        "@babel/core": "^7.25.2",
+        "@babel/plugin-transform-modules-commonjs": "^7.24.8"
+      },
+      "peerDependencies": {
+        "typescript": "^5.0.0 || ^5.0.0-0 || ^6.0.0 || ^7.0.0"
+      },
+      "peerDependenciesMeta": {
+        "typescript": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@expo/schema-utils": {
+      "version": "57.0.2",
+      "resolved": "https://registry.npmjs.org/@expo/schema-utils/-/schema-utils-57.0.2.tgz",
+      "integrity": "sha512-fMu/jyN0l1Wzv7XkeWR4IYCx1M8ryui3FdBNGrWwbRgJ7EhxXxK8E2jxP2W3pbgUwUY0V3hG8+GyfCZwny+Lxw==",
+      "license": "MIT"
+    },
+    "node_modules/@expo/sdk-runtime-versions": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/@expo/sdk-runtime-versions/-/sdk-runtime-versions-1.0.0.tgz",
+      "integrity": "sha512-Doz2bfiPndXYFPMRwPyGa1k5QaKDVpY806UJj570epIiMzWaYyCtobasyfC++qfIXVb5Ocy7r3tP9d62hAQ7IQ==",
+      "license": "MIT"
+    },
+    "node_modules/@expo/spawn-async": {
+      "version": "1.8.0",
+      "resolved": "https://registry.npmjs.org/@expo/spawn-async/-/spawn-async-1.8.0.tgz",
+      "integrity": "sha512-eb9xxd/LbuEGSdua4NumCu/McVB9EM+F/JxB9pWgnERw4HQ9XyTNH1KapG6oqLWR8TuRK2LQfzJlmNi94CVobw==",
+      "license": "MIT",
+      "dependencies": {
+        "cross-spawn": "^7.0.6"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@expo/sudo-prompt": {
+      "version": "9.3.2",
+      "resolved": "https://registry.npmjs.org/@expo/sudo-prompt/-/sudo-prompt-9.3.2.tgz",
+      "integrity": "sha512-HHQigo3rQWKMDzYDLkubN5WQOYXJJE2eNqIQC2axC2iO3mHdwnIR7FgZVvHWtBwAdzBgAP0ECp8KqS8TiMKvgw==",
+      "license": "MIT"
+    },
+    "node_modules/@expo/vector-icons": {
+      "version": "15.1.1",
+      "resolved": "https://registry.npmjs.org/@expo/vector-icons/-/vector-icons-15.1.1.tgz",
+      "integrity": "sha512-Iu2VkcoI5vygbtYngm7jb4ifxElNVXQYdDrYkT7UCEIiKLeWnQY0wf2ZhHZ+Wro6Sc5TaumpKUOqDRpLi5rkvw==",
+      "license": "MIT",
+      "peerDependencies": {
+        "expo-font": ">=14.0.4",
+        "react": "*",
+        "react-native": "*"
+      }
+    },
+    "node_modules/@expo/xcpretty": {
+      "version": "4.4.4",
+      "resolved": "https://registry.npmjs.org/@expo/xcpretty/-/xcpretty-4.4.4.tgz",
+      "integrity": "sha512-4aQzz9vgxcNXFfo/iyNgDDYfsU5XGKKxWxZopw0cVotHiW+U8IJbIxMaxsINs6bHhtkG3StKNPcOrn3eBuxKPw==",
+      "license": "BSD-3-Clause",
+      "dependencies": {
+        "@babel/code-frame": "^7.20.0",
+        "chalk": "^4.1.0",
+        "js-yaml": "^4.1.0"
+      },
+      "bin": {
+        "excpretty": "build/cli.js"
+      }
+    },
+    "node_modules/@isaacs/ttlcache": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/@isaacs/ttlcache/-/ttlcache-1.4.1.tgz",
+      "integrity": "sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==",
+      "license": "ISC",
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@jest/schemas": {
+      "version": "29.6.3",
+      "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz",
+      "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==",
+      "license": "MIT",
+      "dependencies": {
+        "@sinclair/typebox": "^0.27.8"
+      },
+      "engines": {
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+      }
+    },
+    "node_modules/@jest/types": {
+      "version": "29.6.3",
+      "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+      "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
+      "license": "MIT",
+      "dependencies": {
+        "@jest/schemas": "^29.6.3",
+        "@types/istanbul-lib-coverage": "^2.0.0",
+        "@types/istanbul-reports": "^3.0.0",
+        "@types/node": "*",
+        "@types/yargs": "^17.0.8",
+        "chalk": "^4.0.0"
+      },
+      "engines": {
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+      }
+    },
+    "node_modules/@jridgewell/gen-mapping": {
+      "version": "0.3.13",
+      "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
+      "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
+      "license": "MIT",
+      "dependencies": {
+        "@jridgewell/sourcemap-codec": "^1.5.0",
+        "@jridgewell/trace-mapping": "^0.3.24"
+      }
+    },
+    "node_modules/@jridgewell/remapping": {
+      "version": "2.3.5",
+      "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz",
+      "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@jridgewell/gen-mapping": "^0.3.5",
+        "@jridgewell/trace-mapping": "^0.3.24"
+      }
+    },
+    "node_modules/@jridgewell/resolve-uri": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+      "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/@jridgewell/source-map": {
+      "version": "0.3.11",
+      "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz",
+      "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==",
+      "license": "MIT",
+      "dependencies": {
+        "@jridgewell/gen-mapping": "^0.3.5",
+        "@jridgewell/trace-mapping": "^0.3.25"
+      }
+    },
+    "node_modules/@jridgewell/sourcemap-codec": {
+      "version": "1.5.5",
+      "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
+      "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
+      "license": "MIT"
+    },
+    "node_modules/@jridgewell/trace-mapping": {
+      "version": "0.3.31",
+      "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
+      "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
+      "license": "MIT",
+      "dependencies": {
+        "@jridgewell/resolve-uri": "^3.1.0",
+        "@jridgewell/sourcemap-codec": "^1.4.14"
+      }
+    },
+    "node_modules/@radix-ui/primitive": {
+      "version": "1.1.7",
+      "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.7.tgz",
+      "integrity": "sha512-rqWnm76nYT8HoNNqEjpgJ7Pw/DrBj5iBTrmEPo6HTX5+VJyBNOqTdv4g89G63HuR5g0AaENoAcH7Is5fF2kZ8Q==",
+      "license": "MIT"
+    },
+    "node_modules/@radix-ui/react-collection": {
+      "version": "1.1.15",
+      "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.15.tgz",
+      "integrity": "sha512-9W+B9NPF0NaaPh/1NJd3+KqsnlLqU9H7T2rvww+fp+T/evVXdNAyYcnfRQZFOjkR1ajQp3yORlqnI8soawLvNA==",
+      "license": "MIT",
+      "dependencies": {
+        "@radix-ui/react-compose-refs": "1.1.5",
+        "@radix-ui/react-context": "1.2.2",
+        "@radix-ui/react-primitive": "2.1.10",
+        "@radix-ui/react-slot": "1.3.3"
+      },
+      "peerDependencies": {
+        "@types/react": "*",
+        "@types/react-dom": "*",
+        "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+        "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+      },
+      "peerDependenciesMeta": {
+        "@types/react": {
+          "optional": true
+        },
+        "@types/react-dom": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@radix-ui/react-compose-refs": {
+      "version": "1.1.5",
+      "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.5.tgz",
+      "integrity": "sha512-+48PbAAbq3didjJxa+OaWY2ZwgAKsNiRGyeHKszblZMQ+kcpd9pAaT11cMkGEie0vsOi3QdeTE6d5Fe3Gn61kA==",
+      "license": "MIT",
+      "peerDependencies": {
+        "@types/react": "*",
+        "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+      },
+      "peerDependenciesMeta": {
+        "@types/react": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@radix-ui/react-context": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.2.2.tgz",
+      "integrity": "sha512-RHCUGwKHDr0hDGg4X7ma4JG4/+12qxw8rkh5QKdDldlCvtja6nUx1Ef/8HVrJze81lEsgLQlqjzjGNHantgnQA==",
+      "license": "MIT",
+      "peerDependencies": {
+        "@types/react": "*",
+        "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+      },
+      "peerDependenciesMeta": {
+        "@types/react": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@radix-ui/react-dialog": {
+      "version": "1.1.23",
+      "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.23.tgz",
+      "integrity": "sha512-Ksw4WeROkO4rC9k/onilX/Ao2Cr1ku1unMNH+XSCcP4jSXYu7HDsg9n4ojMjVb22XpYjAQ9qfrFlVbru1vXDUA==",
+      "license": "MIT",
+      "dependencies": {
+        "@radix-ui/primitive": "1.1.7",
+        "@radix-ui/react-compose-refs": "1.1.5",
+        "@radix-ui/react-context": "1.2.2",
+        "@radix-ui/react-dismissable-layer": "1.1.19",
+        "@radix-ui/react-focus-guards": "1.1.6",
+        "@radix-ui/react-focus-scope": "1.1.16",
+        "@radix-ui/react-id": "1.1.4",
+        "@radix-ui/react-portal": "1.1.17",
+        "@radix-ui/react-presence": "1.1.10",
+        "@radix-ui/react-primitive": "2.1.10",
+        "@radix-ui/react-slot": "1.3.3",
+        "@radix-ui/react-use-controllable-state": "1.2.6",
+        "@radix-ui/react-use-layout-effect": "1.1.4",
+        "aria-hidden": "^1.2.4",
+        "react-remove-scroll": "^2.7.2"
+      },
+      "peerDependencies": {
+        "@types/react": "*",
+        "@types/react-dom": "*",
+        "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+        "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+      },
+      "peerDependenciesMeta": {
+        "@types/react": {
+          "optional": true
+        },
+        "@types/react-dom": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@radix-ui/react-direction": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.1.4.tgz",
+      "integrity": "sha512-5pzg4FGQNpExhnhT2zlrP1wZFaYCd1K0nYWoFAdcYoYK868IEigqMX3B3f8yIoRlAhAeDWciLI6ZdCKHF9P4Vg==",
+      "license": "MIT",
+      "peerDependencies": {
+        "@types/react": "*",
+        "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+      },
+      "peerDependenciesMeta": {
+        "@types/react": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@radix-ui/react-dismissable-layer": {
+      "version": "1.1.19",
+      "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.19.tgz",
+      "integrity": "sha512-8g4pfOL9HoKKLWGiypT+dphVqjFfmcXO5GBnhsG6zI+lxAx/8feQpr+1LSN8Re3hiZ+XkLNS4O9ztK11/LzQ6w==",
+      "license": "MIT",
+      "dependencies": {
+        "@radix-ui/primitive": "1.1.7",
+        "@radix-ui/react-compose-refs": "1.1.5",
+        "@radix-ui/react-primitive": "2.1.10",
+        "@radix-ui/react-use-callback-ref": "1.1.4",
+        "@radix-ui/react-use-effect-event": "0.0.5"
+      },
+      "peerDependencies": {
+        "@types/react": "*",
+        "@types/react-dom": "*",
+        "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+        "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+      },
+      "peerDependenciesMeta": {
+        "@types/react": {
+          "optional": true
+        },
+        "@types/react-dom": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@radix-ui/react-focus-guards": {
+      "version": "1.1.6",
+      "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.6.tgz",
+      "integrity": "sha512-RNOJjfZMTyBM6xYmV3IVGXkPjIhcBAuv48POevAXwrGJhkWZ9p1rFoIS1JFooPuT193AZmRsCPhpoVJxx6OPoQ==",
+      "license": "MIT",
+      "peerDependencies": {
+        "@types/react": "*",
+        "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+      },
+      "peerDependenciesMeta": {
+        "@types/react": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@radix-ui/react-focus-scope": {
+      "version": "1.1.16",
+      "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.16.tgz",
+      "integrity": "sha512-wmRZ2WWLvmt6KHy2rNPOdPUjwq5xOHY02+m+udwJTn0aNIox/rkskAvJTyTLGhPK6KgrUjlJUJpgmx/+wFiFIQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@radix-ui/react-compose-refs": "1.1.5",
+        "@radix-ui/react-primitive": "2.1.10",
+        "@radix-ui/react-use-callback-ref": "1.1.4"
+      },
+      "peerDependencies": {
+        "@types/react": "*",
+        "@types/react-dom": "*",
+        "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+        "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+      },
+      "peerDependenciesMeta": {
+        "@types/react": {
+          "optional": true
+        },
+        "@types/react-dom": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@radix-ui/react-id": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.4.tgz",
+      "integrity": "sha512-TMQp2llA+RYn7JcjnrMnz7wN4pcVttPZnRZo52PLQsoLVKzNlVwUeHmfePgTgRluXFvlD3GD5g5MOVVTJCO0qA==",
+      "license": "MIT",
+      "dependencies": {
+        "@radix-ui/react-use-layout-effect": "1.1.4"
+      },
+      "peerDependencies": {
+        "@types/react": "*",
+        "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+      },
+      "peerDependenciesMeta": {
+        "@types/react": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@radix-ui/react-portal": {
+      "version": "1.1.17",
+      "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.17.tgz",
+      "integrity": "sha512-vKQLcWypUnwZVvfV7UkGahH2g6ySe8M8R+zYBwPrv5byZ9QAW6cQVvNKo7GgmD+p8aYb6D9JBuvy8/WhOno2wQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@radix-ui/react-primitive": "2.1.10",
+        "@radix-ui/react-use-layout-effect": "1.1.4"
+      },
+      "peerDependencies": {
+        "@types/react": "*",
+        "@types/react-dom": "*",
+        "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+        "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+      },
+      "peerDependenciesMeta": {
+        "@types/react": {
+          "optional": true
+        },
+        "@types/react-dom": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@radix-ui/react-presence": {
+      "version": "1.1.10",
+      "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.10.tgz",
+      "integrity": "sha512-3wyzCQ6+ubRA+D4uv9m95JYLXxmOHp05qjrkjeA7uKHHtjpPggQzc6DAb0URl7j67oR0K2foO4ip27TiX037Bw==",
+      "license": "MIT",
+      "dependencies": {
+        "@radix-ui/react-use-layout-effect": "1.1.4"
+      },
+      "peerDependencies": {
+        "@types/react": "*",
+        "@types/react-dom": "*",
+        "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+        "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+      },
+      "peerDependenciesMeta": {
+        "@types/react": {
+          "optional": true
+        },
+        "@types/react-dom": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@radix-ui/react-primitive": {
+      "version": "2.1.10",
+      "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.10.tgz",
+      "integrity": "sha512-MucOnzh6hR5mid6VpkbglRAMYMjKLqRnGBbjXkzjK52fuQDd1qbkx78a5P40mkcnVXJdEVxm26E9OPAiUq7nBg==",
+      "license": "MIT",
+      "dependencies": {
+        "@radix-ui/react-slot": "1.3.3"
+      },
+      "peerDependencies": {
+        "@types/react": "*",
+        "@types/react-dom": "*",
+        "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+        "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+      },
+      "peerDependenciesMeta": {
+        "@types/react": {
+          "optional": true
+        },
+        "@types/react-dom": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@radix-ui/react-roving-focus": {
+      "version": "1.1.19",
+      "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.19.tgz",
+      "integrity": "sha512-V9jI6hDjT7l3jsCQD9bLNvDLM3tH/gdbOTp7Tefp3hbbgCGQoK7tUvrWiRlcoBHIZ809ElXwNQwVo0B98LuTXQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@radix-ui/primitive": "1.1.7",
+        "@radix-ui/react-collection": "1.1.15",
+        "@radix-ui/react-compose-refs": "1.1.5",
+        "@radix-ui/react-context": "1.2.2",
+        "@radix-ui/react-direction": "1.1.4",
+        "@radix-ui/react-id": "1.1.4",
+        "@radix-ui/react-primitive": "2.1.10",
+        "@radix-ui/react-use-callback-ref": "1.1.4",
+        "@radix-ui/react-use-controllable-state": "1.2.6",
+        "@radix-ui/react-use-is-hydrated": "0.1.3",
+        "@radix-ui/react-use-layout-effect": "1.1.4"
+      },
+      "peerDependencies": {
+        "@types/react": "*",
+        "@types/react-dom": "*",
+        "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+        "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+      },
+      "peerDependenciesMeta": {
+        "@types/react": {
+          "optional": true
+        },
+        "@types/react-dom": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@radix-ui/react-slot": {
+      "version": "1.3.3",
+      "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.3.3.tgz",
+      "integrity": "sha512-qx7oqnYbxnK9kYI9m317qmFmEgo6ywqWvbTogdj7cL9p3/yx4M48p7Rnw5z3H890cL/ow/EeWJsuTykeZVXP5Q==",
+      "license": "MIT",
+      "dependencies": {
+        "@radix-ui/react-compose-refs": "1.1.5"
+      },
+      "peerDependencies": {
+        "@types/react": "*",
+        "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+      },
+      "peerDependenciesMeta": {
+        "@types/react": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@radix-ui/react-use-callback-ref": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.4.tgz",
+      "integrity": "sha512-R6OUY2e2fA6Yn6s+VSx5KBV6Nx8LQEhu+cz7LCej18rQ1HLyg9PSC9jP/ZNx0o6FAIK9c0F1kHylzSxKsdlkrQ==",
+      "license": "MIT",
+      "peerDependencies": {
+        "@types/react": "*",
+        "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+      },
+      "peerDependenciesMeta": {
+        "@types/react": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@radix-ui/react-use-controllable-state": {
+      "version": "1.2.6",
+      "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.2.6.tgz",
+      "integrity": "sha512-uEQJGT97ZA/TgP/Hydw47lHu+/vQj6z/0jA+WeTbK1o9Rx45GImjpD0tc3W5ad3D6XTSR6e1yEO0FvGq6WQfVQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@radix-ui/primitive": "1.1.7",
+        "@radix-ui/react-use-effect-event": "0.0.5",
+        "@radix-ui/react-use-layout-effect": "1.1.4"
+      },
+      "peerDependencies": {
+        "@types/react": "*",
+        "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+      },
+      "peerDependenciesMeta": {
+        "@types/react": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@radix-ui/react-use-effect-event": {
+      "version": "0.0.5",
+      "resolved": "https://registry.npmjs.org/@radix-ui/react-use-effect-event/-/react-use-effect-event-0.0.5.tgz",
+      "integrity": "sha512-7cshFL8HGS/7HEiHH+9kL9HBwp2sa9yX18Knwek6KYWmXwM7pegMgta2AXMQKI+rq3JnfSj9x8wYqFMTdG1Jgg==",
+      "license": "MIT",
+      "dependencies": {
+        "@radix-ui/react-use-layout-effect": "1.1.4"
+      },
+      "peerDependencies": {
+        "@types/react": "*",
+        "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+      },
+      "peerDependenciesMeta": {
+        "@types/react": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@radix-ui/react-use-is-hydrated": {
+      "version": "0.1.3",
+      "resolved": "https://registry.npmjs.org/@radix-ui/react-use-is-hydrated/-/react-use-is-hydrated-0.1.3.tgz",
+      "integrity": "sha512-umO/aJ+82CpOnhDZUTbILCQf7kU/g0iv+oGs/Q8jw7IkhWBzaEP4sA268PhFAJTFetbwp3ICc6ktpI4TqtxcIw==",
+      "license": "MIT",
+      "peerDependencies": {
+        "@types/react": "*",
+        "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+      },
+      "peerDependenciesMeta": {
+        "@types/react": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@radix-ui/react-use-layout-effect": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.4.tgz",
+      "integrity": "sha512-K20DkRkUwDnxEYMBPcg3Y6voLkEy5p5QQmszZgLngKKiC7dzBR/aEuK3w1qlx2JWDUNH6FluahYdgR3BP+QbYw==",
+      "license": "MIT",
+      "peerDependencies": {
+        "@types/react": "*",
+        "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+      },
+      "peerDependenciesMeta": {
+        "@types/react": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@react-native-async-storage/async-storage": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-2.2.0.tgz",
+      "integrity": "sha512-gvRvjR5JAaUZF8tv2Kcq/Gbt3JHwbKFYfmb445rhOj6NUMx3qPLixmDx5pZAyb9at1bYvJ4/eTUipU5aki45xw==",
+      "license": "MIT",
+      "dependencies": {
+        "merge-options": "^3.0.4"
+      },
+      "peerDependencies": {
+        "react-native": "^0.0.0-0 || >=0.65 <1.0"
+      }
+    },
+    "node_modules/@react-native-masked-view/masked-view": {
+      "version": "0.3.2",
+      "resolved": "https://registry.npmjs.org/@react-native-masked-view/masked-view/-/masked-view-0.3.2.tgz",
+      "integrity": "sha512-XwuQoW7/GEgWRMovOQtX3A4PrXhyaZm0lVUiY8qJDvdngjLms9Cpdck6SmGAUNqQwcj2EadHC1HwL0bEyoa/SQ==",
+      "license": "MIT",
+      "peerDependencies": {
+        "react": ">=16",
+        "react-native": ">=0.57"
+      }
+    },
+    "node_modules/@react-native/assets-registry": {
+      "version": "0.86.2",
+      "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.86.2.tgz",
+      "integrity": "sha512-vcX/mBjWAVnWofu7KecotquI2unZ/tITwA7OGdq/mdY/zmGXIEvYhfEYyOQij/LRqi9WAL+iizInTBWnxDhK/Q==",
+      "license": "MIT",
+      "engines": {
+        "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0"
+      }
+    },
+    "node_modules/@react-native/babel-plugin-codegen": {
+      "version": "0.86.2",
+      "resolved": "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.86.2.tgz",
+      "integrity": "sha512-NNDZqOlNbH5SzgPks1jFDYH3234Rpa5e/nhZymxhIiBH3NcE3uD+rGj/HWXhH7nHF2ToGK6XbUpqy7nmJPeh+g==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/traverse": "^7.29.0",
+        "@react-native/codegen": "0.86.2"
+      },
+      "engines": {
+        "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0"
+      }
+    },
+    "node_modules/@react-native/codegen": {
+      "version": "0.86.2",
+      "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.86.2.tgz",
+      "integrity": "sha512-xKkudsahUJ1n//55g4fXk5BStVqqmZlz8HQveL45ZxcfDnwvhuYe2GymksQANFsSN+slvrarjrfq8kIxJzbceA==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/core": "^7.25.2",
+        "@babel/parser": "^7.29.0",
+        "hermes-parser": "0.36.0",
+        "invariant": "^2.2.4",
+        "nullthrows": "^1.1.1",
+        "tinyglobby": "^0.2.15",
+        "yargs": "^17.6.2"
+      },
+      "engines": {
+        "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "*"
+      }
+    },
+    "node_modules/@react-native/codegen/node_modules/hermes-estree": {
+      "version": "0.36.0",
+      "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.36.0.tgz",
+      "integrity": "sha512-A1+8zn5oss2CFP7pKsOaxorQG6FNIz1WU1VDqruLPPZl3LVgeE2C5xfFg8Ow6/Ow4mSslLLtYP1J3n38eKyW9w==",
+      "license": "MIT"
+    },
+    "node_modules/@react-native/codegen/node_modules/hermes-parser": {
+      "version": "0.36.0",
+      "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.36.0.tgz",
+      "integrity": "sha512-GdpwMmH5x6IpC1cijvcvYnlPB60Mh6kTSF/NFdYV/j56gYdi+0RIakYs+eqOV+bbO0SW7mgVVGSsTJxyPQfo3w==",
+      "license": "MIT",
+      "dependencies": {
+        "hermes-estree": "0.36.0"
+      }
+    },
+    "node_modules/@react-native/community-cli-plugin": {
+      "version": "0.86.2",
+      "resolved": "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.86.2.tgz",
+      "integrity": "sha512-YHXNKoM6Y/HjREySZ5arET2xgiHgg67r1MdwJB//MPJAJ0Xc5g0u6UHxY9VzsHO3Y07dre6s0BinYwjt1SEWvQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@react-native/dev-middleware": "0.86.2",
+        "debug": "^4.4.0",
+        "invariant": "^2.2.4",
+        "metro": "^0.84.3",
+        "metro-config": "^0.84.3",
+        "metro-core": "^0.84.3",
+        "semver": "^7.1.3"
+      },
+      "engines": {
+        "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0"
+      },
+      "peerDependencies": {
+        "@react-native-community/cli": "*",
+        "@react-native/metro-config": "0.86.2"
+      },
+      "peerDependenciesMeta": {
+        "@react-native-community/cli": {
+          "optional": true
+        },
+        "@react-native/metro-config": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@react-native/debugger-frontend": {
+      "version": "0.86.2",
+      "resolved": "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.86.2.tgz",
+      "integrity": "sha512-KGS1aV5F6cIqpnoIUhLBXyVzy1oAj8jBFGau6vX4Vy0HXRJN7p+68RU7x6NuyraHvQcR14ccMGT5TkFuNjQ4gA==",
+      "license": "BSD-3-Clause",
+      "engines": {
+        "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0"
+      }
+    },
+    "node_modules/@react-native/debugger-shell": {
+      "version": "0.86.2",
+      "resolved": "https://registry.npmjs.org/@react-native/debugger-shell/-/debugger-shell-0.86.2.tgz",
+      "integrity": "sha512-/TaVJ2+gGajZPJGrFaObUQmHmlaxAlfmOPZicl6pNKDUjzSgFMpcLkdTOExvb+USYTVdGX1XwxXyvjQdUO2bvg==",
+      "license": "MIT",
+      "dependencies": {
+        "cross-spawn": "^7.0.6",
+        "debug": "^4.4.0",
+        "fb-dotslash": "0.5.8"
+      },
+      "engines": {
+        "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0"
+      }
+    },
+    "node_modules/@react-native/dev-middleware": {
+      "version": "0.86.2",
+      "resolved": "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.86.2.tgz",
+      "integrity": "sha512-B7L0vKvg+IcEElT7Vpqh1xj5yJAqWUegjbP+bQRaorJMAYnv11GkliTnZV2AdTDfZQJWgOEx8i8LGkHkUg7bnA==",
+      "license": "MIT",
+      "dependencies": {
+        "@isaacs/ttlcache": "^1.4.1",
+        "@react-native/debugger-frontend": "0.86.2",
+        "@react-native/debugger-shell": "0.86.2",
+        "chrome-launcher": "^0.15.2",
+        "chromium-edge-launcher": "^0.3.0",
+        "connect": "^3.6.5",
+        "debug": "^4.4.0",
+        "invariant": "^2.2.4",
+        "nullthrows": "^1.1.1",
+        "open": "^7.0.3",
+        "serve-static": "^1.16.2",
+        "ws": "^7.5.10"
+      },
+      "engines": {
+        "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0"
+      }
+    },
+    "node_modules/@react-native/gradle-plugin": {
+      "version": "0.86.2",
+      "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.86.2.tgz",
+      "integrity": "sha512-2F6x14NcHMpVmfTTFKfMkpV5dZedZrLiv6PE+c3vgnesV2bjleUBydr4U+NI8VkI7OwW71L0A5qQ76I9LCrfoQ==",
+      "license": "MIT",
+      "engines": {
+        "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0"
+      }
+    },
+    "node_modules/@react-native/js-polyfills": {
+      "version": "0.86.2",
+      "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.86.2.tgz",
+      "integrity": "sha512-bIwNcGBaQ74shB5z1mRkxOpjikimuwsnOCEkZSzL67Z1FTyK1ObpENfyd2QvcvVW9Cjl+tHuw9ynpBnb2jPoJQ==",
+      "license": "MIT",
+      "engines": {
+        "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0"
+      }
+    },
+    "node_modules/@react-native/normalize-colors": {
+      "version": "0.86.2",
+      "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.86.2.tgz",
+      "integrity": "sha512-EzPFc9Y6lzYOWeso2almwXI7f8+qReHxWvT+algsOczb2UhWXIWXDoSvkdwoSfiwwmGt/ijJgKJoeHlzPkLwRg==",
+      "license": "MIT"
+    },
+    "node_modules/@react-native/virtualized-lists": {
+      "version": "0.86.2",
+      "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.86.2.tgz",
+      "integrity": "sha512-uO0J72gh3EvE+1/GHRk18QRyBDTRHRB0AraAfojsRjbT7VMuJwKrZYaKGshavoaEud6aw00ZB9/8mTMIKjjcAw==",
+      "license": "MIT",
+      "dependencies": {
+        "invariant": "^2.2.4",
+        "nullthrows": "^1.1.1"
+      },
+      "engines": {
+        "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0"
+      },
+      "peerDependencies": {
+        "@types/react": "^19.2.0",
+        "react": "*",
+        "react-native": "0.86.2"
+      },
+      "peerDependenciesMeta": {
+        "@types/react": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@sinclair/typebox": {
+      "version": "0.27.12",
+      "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.12.tgz",
+      "integrity": "sha512-hhyNJ+nbR6ZR7pToHvllEFun9TL0sbL+tk/ON75lo+Xas054uez98qRbsuNt7MBCyZKK4+8Yli/OAGZhmfBZ/g==",
+      "license": "MIT"
+    },
+    "node_modules/@testing-library/jest-dom": {
+      "version": "6.9.1",
+      "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.9.1.tgz",
+      "integrity": "sha512-zIcONa+hVtVSSep9UT3jZ5rizo2BsxgyDYU7WFD5eICBE7no3881HGeb/QkGfsJs6JTkY1aQhT7rIPC7e+0nnA==",
+      "license": "MIT",
+      "dependencies": {
+        "@adobe/css-tools": "^4.4.0",
+        "aria-query": "^5.0.0",
+        "css.escape": "^1.5.1",
+        "dom-accessibility-api": "^0.6.3",
+        "picocolors": "^1.1.1",
+        "redent": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=14",
+        "npm": ">=6",
+        "yarn": ">=1"
+      }
+    },
+    "node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": {
+      "version": "0.6.3",
+      "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz",
+      "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==",
+      "license": "MIT"
+    },
+    "node_modules/@testing-library/user-event": {
+      "version": "14.6.3",
+      "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.6.3.tgz",
+      "integrity": "sha512-6dBq67jT8lE+JTE8Exm02Kt6ze43hz1jdiSpSJwtTZiT1xQQ6b7nZYTTQ9njdArdU8XklOwaDp/AbT/eYSKF4g==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=12",
+        "npm": ">=6"
+      },
+      "peerDependencies": {
+        "@testing-library/dom": ">=7.21.4"
+      }
+    },
+    "node_modules/@types/hammerjs": {
+      "version": "2.0.46",
+      "resolved": "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.46.tgz",
+      "integrity": "sha512-ynRvcq6wvqexJ9brDMS4BnBLzmr0e14d6ZJTEShTBWKymQiHwlAyGu0ZPEFI2Fh1U53F7tN9ufClWM5KvqkKOw==",
+      "license": "MIT"
+    },
+    "node_modules/@types/istanbul-lib-coverage": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz",
+      "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==",
+      "license": "MIT"
+    },
+    "node_modules/@types/istanbul-lib-report": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz",
+      "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==",
+      "license": "MIT",
+      "dependencies": {
+        "@types/istanbul-lib-coverage": "*"
+      }
+    },
+    "node_modules/@types/istanbul-reports": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz",
+      "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@types/istanbul-lib-report": "*"
+      }
+    },
+    "node_modules/@types/node": {
+      "version": "26.1.2",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-26.1.2.tgz",
+      "integrity": "sha512-Vu4a5UFA9rIIFJ7rB/Vaafh9lrCQszopTCx6KjFboXTGQbPNasehVR5TEiithSDGyd1DEiUByggTZsg8jukeIg==",
+      "license": "MIT",
+      "dependencies": {
+        "undici-types": "~8.3.0"
+      }
+    },
+    "node_modules/@types/react": {
+      "version": "19.2.18",
+      "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.18.tgz",
+      "integrity": "sha512-AnzbBERsrLKtk2XSfTbYRLjQPdy116Sty4q+T+Bp3IC4l6jNBvreVPAHmpq9qhXQM7CXZPjLVmGMw9sy+hxQ3w==",
+      "license": "MIT",
+      "dependencies": {
+        "csstype": "^3.2.2"
+      }
+    },
+    "node_modules/@types/react-test-renderer": {
+      "version": "19.1.0",
+      "resolved": "https://registry.npmjs.org/@types/react-test-renderer/-/react-test-renderer-19.1.0.tgz",
+      "integrity": "sha512-XD0WZrHqjNrxA/MaR9O22w/RNidWR9YZmBdRGI7wcnWGrv/3dA8wKCJ8m63Sn+tLJhcjmuhOi629N66W6kgWzQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@types/react": "*"
+      }
+    },
+    "node_modules/@types/yargs": {
+      "version": "17.0.35",
+      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.35.tgz",
+      "integrity": "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==",
+      "license": "MIT",
+      "dependencies": {
+        "@types/yargs-parser": "*"
+      }
+    },
+    "node_modules/@types/yargs-parser": {
+      "version": "21.0.3",
+      "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz",
+      "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==",
+      "license": "MIT"
+    },
+    "node_modules/@ungap/structured-clone": {
+      "version": "1.3.3",
+      "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.3.tgz",
+      "integrity": "sha512-60YRaenCQcVjYEKOcG824+DRGGIQ3VKErcBoAEDJZz5bKIs2ZG+X/H9Nk+Q6EVkwJk5QNApxbrc5QtBSwtrXAg==",
+      "license": "ISC"
+    },
+    "node_modules/@xmldom/xmldom": {
+      "version": "0.8.13",
+      "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.13.tgz",
+      "integrity": "sha512-KRYzxepc14G/CEpEGc3Yn+JKaAeT63smlDr+vjB8jRfgTBBI9wRj/nkQEO+ucV8p8I9bfKLWp37uHgFrbntPvw==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=10.0.0"
+      }
+    },
+    "node_modules/abort-controller": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
+      "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
+      "license": "MIT",
+      "dependencies": {
+        "event-target-shim": "^5.0.0"
+      },
+      "engines": {
+        "node": ">=6.5"
+      }
+    },
+    "node_modules/accepts": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz",
+      "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==",
+      "license": "MIT",
+      "dependencies": {
+        "mime-types": "^3.0.0",
+        "negotiator": "^1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/acorn": {
+      "version": "8.18.0",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.18.0.tgz",
+      "integrity": "sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==",
+      "license": "MIT",
+      "bin": {
+        "acorn": "bin/acorn"
+      },
+      "engines": {
+        "node": ">=0.4.0"
+      }
+    },
+    "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/agent-cli-detector": {
+      "version": "0.1.5",
+      "resolved": "https://registry.npmjs.org/agent-cli-detector/-/agent-cli-detector-0.1.5.tgz",
+      "integrity": "sha512-6xvLw0EGPuxoYGZeqyMV4AK+WoZ31jsqb7a5pln1BTf6oDFsrgvfCJT7E7y9oAqifJZhJ3fZ0J36H7o6JzrB0Q==",
+      "license": "MIT",
+      "bin": {
+        "agent-cli-detector": "dist/cli.js"
+      },
+      "engines": {
+        "node": ">=18.18"
+      }
+    },
+    "node_modules/anser": {
+      "version": "1.4.10",
+      "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz",
+      "integrity": "sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==",
+      "license": "MIT"
+    },
+    "node_modules/ansi-escapes": {
+      "version": "4.3.2",
+      "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
+      "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
+      "license": "MIT",
+      "dependencies": {
+        "type-fest": "^0.21.3"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/ansi-escapes/node_modules/type-fest": {
+      "version": "0.21.3",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
+      "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
+      "license": "(MIT OR CC0-1.0)",
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/ansi-regex": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+      "license": "MIT",
+      "dependencies": {
+        "color-convert": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/arg": {
+      "version": "5.0.2",
+      "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
+      "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==",
+      "license": "MIT"
+    },
+    "node_modules/argparse": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+      "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+      "license": "Python-2.0"
+    },
+    "node_modules/aria-hidden": {
+      "version": "1.2.6",
+      "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.6.tgz",
+      "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==",
+      "license": "MIT",
+      "dependencies": {
+        "tslib": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/aria-query": {
+      "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz",
+      "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==",
+      "license": "Apache-2.0",
+      "dependencies": {
+        "dequal": "^2.0.3"
+      }
+    },
+    "node_modules/asap": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
+      "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==",
+      "license": "MIT"
+    },
+    "node_modules/babel-plugin-polyfill-corejs2": {
+      "version": "0.4.17",
+      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.17.tgz",
+      "integrity": "sha512-aTyf30K/rqAsNwN76zYrdtx8obu0E4KoUME29B1xj+B3WxgvWkp943vYQ+z8Mv3lw9xHXMHpvSPOBxzAkIa94w==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/compat-data": "^7.28.6",
+        "@babel/helper-define-polyfill-provider": "^0.6.8",
+        "semver": "^6.3.1"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
+      }
+    },
+    "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": {
+      "version": "6.3.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+      "license": "ISC",
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/babel-plugin-polyfill-corejs3": {
+      "version": "0.13.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz",
+      "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-define-polyfill-provider": "^0.6.5",
+        "core-js-compat": "^3.43.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
+      }
+    },
+    "node_modules/babel-plugin-polyfill-regenerator": {
+      "version": "0.6.8",
+      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.8.tgz",
+      "integrity": "sha512-M762rNHfSF1EV3SLtnCJXFoQbbIIz0OyRwnCmV0KPC7qosSfCO0QLTSuJX3ayAebubhE6oYBAYPrBA5ljowaZg==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-define-polyfill-provider": "^0.6.8"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
+      }
+    },
+    "node_modules/babel-plugin-react-compiler": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-react-compiler/-/babel-plugin-react-compiler-1.0.0.tgz",
+      "integrity": "sha512-Ixm8tFfoKKIPYdCCKYTsqv+Fd4IJ0DQqMyEimo+pxUOMUR9cVPlwTrFt9Avu+3cb6Zp3mAzl+t1MrG2fxxKsxw==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/types": "^7.26.0"
+      }
+    },
+    "node_modules/babel-plugin-react-native-web": {
+      "version": "0.21.2",
+      "resolved": "https://registry.npmjs.org/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.21.2.tgz",
+      "integrity": "sha512-SPD0J6qjJn8231i0HZhlAGH6NORe+QvRSQM2mwQEzJ2Fb3E4ruWTiiicPlHjmeWShDXLcvoorOCXjeR7k/lyWA==",
+      "license": "MIT"
+    },
+    "node_modules/babel-plugin-syntax-hermes-parser": {
+      "version": "0.36.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.36.0.tgz",
+      "integrity": "sha512-LhD0xdoedDw7ansQgXbB2DADLZIK/LRXuWNBPuVzMc5S2WK5GyT89tCM+cQzxFGO0mGyLK6D5TrVOJJzAoDy8Q==",
+      "license": "MIT",
+      "dependencies": {
+        "hermes-parser": "0.36.0"
+      }
+    },
+    "node_modules/babel-plugin-syntax-hermes-parser/node_modules/hermes-estree": {
+      "version": "0.36.0",
+      "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.36.0.tgz",
+      "integrity": "sha512-A1+8zn5oss2CFP7pKsOaxorQG6FNIz1WU1VDqruLPPZl3LVgeE2C5xfFg8Ow6/Ow4mSslLLtYP1J3n38eKyW9w==",
+      "license": "MIT"
+    },
+    "node_modules/babel-plugin-syntax-hermes-parser/node_modules/hermes-parser": {
+      "version": "0.36.0",
+      "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.36.0.tgz",
+      "integrity": "sha512-GdpwMmH5x6IpC1cijvcvYnlPB60Mh6kTSF/NFdYV/j56gYdi+0RIakYs+eqOV+bbO0SW7mgVVGSsTJxyPQfo3w==",
+      "license": "MIT",
+      "dependencies": {
+        "hermes-estree": "0.36.0"
+      }
+    },
+    "node_modules/babel-plugin-transform-flow-enums": {
+      "version": "0.0.2",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-enums/-/babel-plugin-transform-flow-enums-0.0.2.tgz",
+      "integrity": "sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/plugin-syntax-flow": "^7.12.1"
+      }
+    },
+    "node_modules/balanced-match": {
+      "version": "4.0.4",
+      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
+      "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
+      "license": "MIT",
+      "engines": {
+        "node": "18 || 20 || >=22"
+      }
+    },
+    "node_modules/base64-js": {
+      "version": "1.5.1",
+      "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+      "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ],
+      "license": "MIT"
+    },
+    "node_modules/baseline-browser-mapping": {
+      "version": "2.11.12",
+      "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.12.tgz",
+      "integrity": "sha512-r7WnVImvVCeFpf2DOXfy41aPWzeNg3H/A2X4dKmy1QL0MSyyk/e7z8ihJ3N6Nn2PsdhkVlqnEfnUE4a05P2aTA==",
+      "license": "Apache-2.0",
+      "bin": {
+        "baseline-browser-mapping": "dist/cli.cjs"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/big-integer": {
+      "version": "1.6.52",
+      "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz",
+      "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==",
+      "license": "Unlicense",
+      "engines": {
+        "node": ">=0.6"
+      }
+    },
+    "node_modules/bplist-creator": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.1.0.tgz",
+      "integrity": "sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg==",
+      "license": "MIT",
+      "dependencies": {
+        "stream-buffers": "2.2.x"
+      }
+    },
+    "node_modules/bplist-parser": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.1.tgz",
+      "integrity": "sha512-PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA==",
+      "license": "MIT",
+      "dependencies": {
+        "big-integer": "1.6.x"
+      },
+      "engines": {
+        "node": ">= 5.10.0"
+      }
+    },
+    "node_modules/brace-expansion": {
+      "version": "5.0.9",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.9.tgz",
+      "integrity": "sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==",
+      "license": "MIT",
+      "dependencies": {
+        "balanced-match": "^4.0.2"
+      },
+      "engines": {
+        "node": "20 || >=22"
+      }
+    },
+    "node_modules/braces": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+      "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+      "license": "MIT",
+      "dependencies": {
+        "fill-range": "^7.1.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/browserslist": {
+      "version": "4.28.7",
+      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.7.tgz",
+      "integrity": "sha512-JxV13hNrFxqjOc8alRbq9dK1MM79NEXYpma2B2J4wAtpWS5zIEIKqWPGCl7N4o7Uc7B7itylh7SuDujATRyyTw==",
+      "funding": [
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/browserslist"
+        },
+        {
+          "type": "tidelift",
+          "url": "https://tidelift.com/funding/github/npm/browserslist"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/ai"
+        }
+      ],
+      "license": "MIT",
+      "dependencies": {
+        "baseline-browser-mapping": "^2.10.44",
+        "caniuse-lite": "^1.0.30001806",
+        "electron-to-chromium": "^1.5.393",
+        "node-releases": "^2.0.51",
+        "update-browserslist-db": "^1.2.3"
+      },
+      "bin": {
+        "browserslist": "cli.js"
+      },
+      "engines": {
+        "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+      }
+    },
+    "node_modules/bser": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz",
+      "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==",
+      "license": "Apache-2.0",
+      "dependencies": {
+        "node-int64": "^0.4.0"
+      }
+    },
+    "node_modules/buffer-from": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
+      "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
+      "license": "MIT"
+    },
+    "node_modules/bytes": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+      "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/camelcase": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+      "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/caniuse-lite": {
+      "version": "1.0.30001807",
+      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001807.tgz",
+      "integrity": "sha512-daRXJ9EB/rdRgu7kV+TTl1YUKtlsMWblPl2sLnpg9DZae16QCegol6A1SmCE31Lm9mXC1sRWGt/krouH+/dl7Q==",
+      "funding": [
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/browserslist"
+        },
+        {
+          "type": "tidelift",
+          "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/ai"
+        }
+      ],
+      "license": "CC-BY-4.0"
+    },
+    "node_modules/chalk": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+      "license": "MIT",
+      "dependencies": {
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/chalk?sponsor=1"
+      }
+    },
+    "node_modules/chrome-launcher": {
+      "version": "0.15.2",
+      "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.15.2.tgz",
+      "integrity": "sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==",
+      "license": "Apache-2.0",
+      "dependencies": {
+        "@types/node": "*",
+        "escape-string-regexp": "^4.0.0",
+        "is-wsl": "^2.2.0",
+        "lighthouse-logger": "^1.0.0"
+      },
+      "bin": {
+        "print-chrome-path": "bin/print-chrome-path.js"
+      },
+      "engines": {
+        "node": ">=12.13.0"
+      }
+    },
+    "node_modules/chromium-edge-launcher": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/chromium-edge-launcher/-/chromium-edge-launcher-0.3.0.tgz",
+      "integrity": "sha512-p03azHlGjtyRvFEee3cyvtsRYdniSkwjkzmM/KmVnqT5d7QkkwpJBhis/zCLMYdQMVJ5tt140TBNqqrZPaWeFA==",
+      "license": "Apache-2.0",
+      "dependencies": {
+        "@types/node": "*",
+        "escape-string-regexp": "^4.0.0",
+        "is-wsl": "^2.2.0",
+        "lighthouse-logger": "^1.0.0",
+        "mkdirp": "^1.0.4"
+      }
+    },
+    "node_modules/ci-info": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
+      "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
+      "license": "MIT"
+    },
+    "node_modules/cli-cursor": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
+      "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==",
+      "license": "MIT",
+      "dependencies": {
+        "restore-cursor": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/cli-spinners": {
+      "version": "2.9.2",
+      "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz",
+      "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/client-only": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
+      "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==",
+      "license": "MIT"
+    },
+    "node_modules/cliui": {
+      "version": "8.0.1",
+      "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
+      "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
+      "license": "ISC",
+      "dependencies": {
+        "string-width": "^4.2.0",
+        "strip-ansi": "^6.0.1",
+        "wrap-ansi": "^7.0.0"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/clone": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+      "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=0.8"
+      }
+    },
+    "node_modules/color": {
+      "version": "4.2.3",
+      "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz",
+      "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==",
+      "license": "MIT",
+      "dependencies": {
+        "color-convert": "^2.0.1",
+        "color-string": "^1.9.0"
+      },
+      "engines": {
+        "node": ">=12.5.0"
+      }
+    },
+    "node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "license": "MIT",
+      "dependencies": {
+        "color-name": "~1.1.4"
+      },
+      "engines": {
+        "node": ">=7.0.0"
+      }
+    },
+    "node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "license": "MIT"
+    },
+    "node_modules/color-string": {
+      "version": "1.9.1",
+      "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz",
+      "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==",
+      "license": "MIT",
+      "dependencies": {
+        "color-name": "^1.0.0",
+        "simple-swizzle": "^0.2.2"
+      }
+    },
+    "node_modules/commander": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
+      "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/compressible": {
+      "version": "2.0.18",
+      "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
+      "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
+      "license": "MIT",
+      "dependencies": {
+        "mime-db": ">= 1.43.0 < 2"
+      },
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/compression": {
+      "version": "1.8.1",
+      "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz",
+      "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==",
+      "license": "MIT",
+      "dependencies": {
+        "bytes": "3.1.2",
+        "compressible": "~2.0.18",
+        "debug": "2.6.9",
+        "negotiator": "~0.6.4",
+        "on-headers": "~1.1.0",
+        "safe-buffer": "5.2.1",
+        "vary": "~1.1.2"
+      },
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
+    "node_modules/compression/node_modules/debug": {
+      "version": "2.6.9",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+      "license": "MIT",
+      "dependencies": {
+        "ms": "2.0.0"
+      }
+    },
+    "node_modules/compression/node_modules/ms": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+      "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+      "license": "MIT"
+    },
+    "node_modules/compression/node_modules/negotiator": {
+      "version": "0.6.4",
+      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz",
+      "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/connect": {
+      "version": "3.7.0",
+      "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz",
+      "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==",
+      "license": "MIT",
+      "dependencies": {
+        "debug": "2.6.9",
+        "finalhandler": "1.1.2",
+        "parseurl": "~1.3.3",
+        "utils-merge": "1.0.1"
+      },
+      "engines": {
+        "node": ">= 0.10.0"
+      }
+    },
+    "node_modules/connect/node_modules/debug": {
+      "version": "2.6.9",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+      "license": "MIT",
+      "dependencies": {
+        "ms": "2.0.0"
+      }
+    },
+    "node_modules/connect/node_modules/ms": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+      "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+      "license": "MIT"
+    },
+    "node_modules/convert-source-map": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+      "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+      "license": "MIT"
+    },
+    "node_modules/core-js-compat": {
+      "version": "3.50.0",
+      "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.50.0.tgz",
+      "integrity": "sha512-XGpFGbMLHwSt74YLTKho7Ib242qi6O8MSX+sRokV4oz7iKXvQWGYZthjIhjRGMxjzVkAubBO512dKGYcefmX3Q==",
+      "license": "MIT",
+      "dependencies": {
+        "browserslist": "^4.28.7"
+      },
+      "engines": {
+        "node": ">=6.4.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/core-js"
+      }
+    },
+    "node_modules/cross-spawn": {
+      "version": "7.0.6",
+      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
+      "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
+      "license": "MIT",
+      "dependencies": {
+        "path-key": "^3.1.0",
+        "shebang-command": "^2.0.0",
+        "which": "^2.0.1"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/css.escape": {
+      "version": "1.5.1",
+      "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz",
+      "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==",
+      "license": "MIT"
+    },
+    "node_modules/csstype": {
+      "version": "3.2.3",
+      "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz",
+      "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==",
+      "license": "MIT"
+    },
+    "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/decode-uri-component": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz",
+      "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=0.10"
+      }
+    },
+    "node_modules/deepmerge": {
+      "version": "4.3.1",
+      "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
+      "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/defaults": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz",
+      "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==",
+      "license": "MIT",
+      "dependencies": {
+        "clone": "^1.0.2"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/depd": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+      "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/dequal": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
+      "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/destroy": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
+      "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.8",
+        "npm": "1.2.8000 || >= 1.4.16"
+      }
+    },
+    "node_modules/detect-libc": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
+      "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
+      "license": "Apache-2.0",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/detect-node-es": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz",
+      "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==",
+      "license": "MIT"
+    },
+    "node_modules/dnssd-advertise": {
+      "version": "1.1.6",
+      "resolved": "https://registry.npmjs.org/dnssd-advertise/-/dnssd-advertise-1.1.6.tgz",
+      "integrity": "sha512-Ndrrf6BMPalkQPd/zubL+4YghH2J9NspapQ09uDXwYbvOPkP0oaqf5CkcwJ0b50kS2O3ul6yVu+jz+RY62Cejg==",
+      "license": "MIT"
+    },
+    "node_modules/ee-first": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+      "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
+      "license": "MIT"
+    },
+    "node_modules/electron-to-chromium": {
+      "version": "1.5.402",
+      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.402.tgz",
+      "integrity": "sha512-/oOpMaPT6Yg+6/1XQhyIPlzgj7Ye9zf+nNM2Uh6OcE2G2oNptWazFa+qB2Pdqqbsc9KnIDzgAntoYN0dbwOXwA==",
+      "license": "ISC"
+    },
+    "node_modules/emoji-regex": {
+      "version": "8.0.0",
+      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+      "license": "MIT"
+    },
+    "node_modules/encodeurl": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+      "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/error-stack-parser": {
+      "version": "2.1.4",
+      "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz",
+      "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==",
+      "license": "MIT",
+      "dependencies": {
+        "stackframe": "^1.3.4"
+      }
+    },
+    "node_modules/es-errors": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+      "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/escalade": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
+      "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/escape-html": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+      "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
+      "license": "MIT"
+    },
+    "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/etag": {
+      "version": "1.8.1",
+      "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+      "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/event-target-shim": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
+      "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/expo": {
+      "version": "57.0.11",
+      "resolved": "https://registry.npmjs.org/expo/-/expo-57.0.11.tgz",
+      "integrity": "sha512-R97257N39Dw0kQFuI4/RvYx95GQ+dmePdo8hxcMOjDxAT4VcCckjILJeAWCE19Jxjb92hZ5NDXAfDPkkV1RB9w==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/runtime": "^7.20.0",
+        "@expo/cli": "^57.0.13",
+        "@expo/config": "~57.0.6",
+        "@expo/config-plugins": "~57.0.7",
+        "@expo/devtools": "~57.0.1",
+        "@expo/dom-webview": "~57.0.1",
+        "@expo/fingerprint": "^0.20.6",
+        "@expo/local-build-cache-provider": "^57.0.5",
+        "@expo/log-box": "^57.0.2",
+        "@expo/metro": "~56.0.0",
+        "@expo/metro-config": "~57.0.7",
+        "@ungap/structured-clone": "^1.3.0",
+        "babel-preset-expo": "~57.0.6",
+        "expo-asset": "~57.0.9",
+        "expo-constants": "~57.0.9",
+        "expo-file-system": "~57.0.2",
+        "expo-font": "~57.0.1",
+        "expo-keep-awake": "~57.0.1",
+        "expo-modules-autolinking": "~57.0.9",
+        "expo-modules-core": "~57.0.10",
+        "pretty-format": "^29.7.0",
+        "react-refresh": "^0.14.2",
+        "whatwg-url-minimum": "^0.1.2"
+      },
+      "bin": {
+        "expo": "bin/cli",
+        "expo-modules-autolinking": "bin/autolinking",
+        "fingerprint": "bin/fingerprint"
+      },
+      "peerDependencies": {
+        "@expo/dom-webview": "*",
+        "@expo/metro-runtime": "*",
+        "react": "*",
+        "react-dom": "*",
+        "react-native": "*",
+        "react-native-web": "*",
+        "react-native-webview": "*"
+      },
+      "peerDependenciesMeta": {
+        "@expo/dom-webview": {
+          "optional": true
+        },
+        "@expo/metro-runtime": {
+          "optional": true
+        },
+        "react-dom": {
+          "optional": true
+        },
+        "react-native-web": {
+          "optional": true
+        },
+        "react-native-webview": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/expo-apple-authentication": {
+      "version": "57.0.1",
+      "resolved": "https://registry.npmjs.org/expo-apple-authentication/-/expo-apple-authentication-57.0.1.tgz",
+      "integrity": "sha512-pqAIaiTa/ycNl+XqNg5UMVT5TBgl6q6djTtoIcUmDItjVBA1IDHsQEs+leo+8+fG5hhuempZLSqBVVn+RJKKWA==",
+      "license": "MIT",
+      "peerDependencies": {
+        "expo": "*",
+        "react": "*",
+        "react-native": "*"
+      }
+    },
+    "node_modules/expo-constants": {
+      "version": "57.0.9",
+      "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-57.0.9.tgz",
+      "integrity": "sha512-Y47sGiF+U8fwicUSPdJPjB27PuU+FgLK4Mpai0ksZF5hv8jNN3HBqKuDNxsiu70uHBKf80TaR4gwMPh0pmETiQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@expo/env": "~2.4.2"
+      },
+      "peerDependencies": {
+        "expo": "*",
+        "react-native": "*"
+      }
+    },
+    "node_modules/expo-font": {
+      "version": "57.0.1",
+      "resolved": "https://registry.npmjs.org/expo-font/-/expo-font-57.0.1.tgz",
+      "integrity": "sha512-QyS9L1Kh9sKJg4gfU6rdbpxpmH+DyzBX8z6jVvXMUDoqLr1GqmkO/Wu379KCXjL///kWbhpNlbi7AgBuj4VdIQ==",
+      "license": "MIT",
+      "dependencies": {
+        "fontfaceobserver": "^2.1.0"
+      },
+      "peerDependencies": {
+        "expo": "*",
+        "react": "*",
+        "react-native": "*"
+      }
+    },
+    "node_modules/expo-glass-effect": {
+      "version": "57.0.1",
+      "resolved": "https://registry.npmjs.org/expo-glass-effect/-/expo-glass-effect-57.0.1.tgz",
+      "integrity": "sha512-m/n8maxqNcHk6ZDhuqXBfD5Kt1Iz3M8xykVgdB0iSCIXvF70IqWXmQhX8Psswhrp8eZ+3r0mAD0Jh/2gFA3QaA==",
+      "license": "MIT",
+      "peerDependencies": {
+        "expo": "*",
+        "react": "*",
+        "react-native": "*"
+      }
+    },
+    "node_modules/expo-linking": {
+      "version": "57.0.5",
+      "resolved": "https://registry.npmjs.org/expo-linking/-/expo-linking-57.0.5.tgz",
+      "integrity": "sha512-SmJI3wr0EVfeKPGf+Qgr9gUbrXk8mM0ATqYLvAX/EAzawDjohPzMJ5pTt7TYMX0Wknj4XCtyCQrGhnERMXT6cQ==",
+      "license": "MIT",
+      "dependencies": {
+        "expo-constants": "~57.0.9",
+        "invariant": "^2.2.4"
+      },
+      "peerDependencies": {
+        "react": "*",
+        "react-native": "*"
+      }
+    },
+    "node_modules/expo-modules-autolinking": {
+      "version": "57.0.9",
+      "resolved": "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-57.0.9.tgz",
+      "integrity": "sha512-lj2nsAKMMRLXSFnGgaaQrWJ2fdSpLPc/bca6Rkiw4g8zYPn7qX4MRUJgavvzm/hBrzvMnlhXVgJtidOGuwBh+w==",
+      "license": "MIT",
+      "dependencies": {
+        "@expo/require-utils": "^57.0.4",
+        "@expo/spawn-async": "^1.8.0",
+        "chalk": "^4.1.0",
+        "commander": "^7.2.0"
+      },
+      "bin": {
+        "expo-modules-autolinking": "bin/expo-modules-autolinking.js"
+      }
+    },
+    "node_modules/expo-modules-core": {
+      "version": "57.0.10",
+      "resolved": "https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-57.0.10.tgz",
+      "integrity": "sha512-aRi3G8OctoyZl8x9CLTVpbPljClfKm2eqKRgBzhcGsrH3gS1t5Y2ye7+PIZK4XK2VVP5iGqygN2b1vtqRo3xVQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@expo/expo-modules-macros-plugin": "0.6.1",
+        "expo-modules-jsi": "~57.0.4",
+        "invariant": "^2.2.4"
+      },
+      "peerDependencies": {
+        "react": "*",
+        "react-native": "*",
+        "react-native-worklets": "^0.7.4 || ^0.8.0 || ^0.9.0 || ^0.10.0"
+      },
+      "peerDependenciesMeta": {
+        "react-native-worklets": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/expo-modules-jsi": {
+      "version": "57.0.4",
+      "resolved": "https://registry.npmjs.org/expo-modules-jsi/-/expo-modules-jsi-57.0.4.tgz",
+      "integrity": "sha512-vt7FyqUqqFXiRVnBqYD7y+GSPTgeua5Ocoy0+SYt+RSHkZEA2Fyop7If3g1TYDzQObYybPRo7TG2Rle1XLaWFw==",
+      "license": "MIT",
+      "peerDependencies": {
+        "react-native": "*"
+      }
+    },
+    "node_modules/expo-router": {
+      "version": "57.0.11",
+      "resolved": "https://registry.npmjs.org/expo-router/-/expo-router-57.0.11.tgz",
+      "integrity": "sha512-kE2hz4lLkddZ94vN4nmbq5aXeo0t6FaZ8xJn/Hyn8/dQPsGlvDK0j4ZVayEUUdNmkNHsBVihgf1bl/2rCsYEzA==",
+      "license": "MIT",
+      "dependencies": {
+        "@expo/log-box": "^57.0.2",
+        "@expo/metro-runtime": "^57.0.8",
+        "@expo/schema-utils": "^57.0.2",
+        "@expo/ui": "^57.0.9",
+        "@radix-ui/react-slot": "^1.2.0",
+        "@radix-ui/react-tabs": "^1.1.12",
+        "@react-native-masked-view/masked-view": "^0.3.2",
+        "@testing-library/jest-dom": "^6.9.1",
+        "@testing-library/user-event": "^14.6.1",
+        "client-only": "^0.0.1",
+        "color": "^4.2.3",
+        "debug": "^4.3.4",
+        "escape-string-regexp": "^4.0.0",
+        "expo-glass-effect": "^57.0.1",
+        "expo-server": "^57.0.1",
+        "expo-symbols": "^57.0.2",
+        "fast-deep-equal": "^3.1.3",
+        "invariant": "^2.2.4",
+        "nanoid": "^3.3.8",
+        "query-string": "^7.1.3",
+        "react-fast-compare": "^3.2.2",
+        "react-is": "^19.1.0",
+        "react-native-drawer-layout": "^4.2.2",
+        "react-native-screens": "^4.26.0",
+        "server-only": "^0.0.1",
+        "sf-symbols-typescript": "^2.1.0",
+        "shallowequal": "^1.1.0",
+        "standard-navigation": "^0.0.5",
+        "vaul": "^1.1.2"
+      },
+      "peerDependencies": {
+        "@expo/log-box": "^57.0.2",
+        "@expo/metro-runtime": "^57.0.8",
+        "@testing-library/react-native": ">= 13.2.0",
+        "expo": "*",
+        "expo-constants": "^57.0.9",
+        "expo-linking": "^57.0.5",
+        "react": "*",
+        "react-dom": "*",
+        "react-native": "*",
+        "react-native-gesture-handler": "*",
+        "react-native-reanimated": "*",
+        "react-native-safe-area-context": ">= 5.4.0",
+        "react-native-screens": "^4.26.0",
+        "react-native-web": "*",
+        "react-server-dom-webpack": "~19.0.4 || ~19.1.5 || ~19.2.4"
+      },
+      "peerDependenciesMeta": {
+        "@testing-library/react-native": {
+          "optional": true
+        },
+        "react-dom": {
+          "optional": true
+        },
+        "react-native-gesture-handler": {
+          "optional": true
+        },
+        "react-native-reanimated": {
+          "optional": true
+        },
+        "react-native-web": {
+          "optional": true
+        },
+        "react-server-dom-webpack": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/expo-router/node_modules/@expo/metro-runtime": {
+      "version": "57.0.8",
+      "resolved": "https://registry.npmjs.org/@expo/metro-runtime/-/metro-runtime-57.0.8.tgz",
+      "integrity": "sha512-RrdehKXNtWpnm8nNs1QFhS0IauyMKR/nSQiry6dcUJs2T5EH8gYDMcMegUt9yI41K4nO3W8tr3O0xd/GZFObXQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@expo/log-box": "^57.0.2",
+        "anser": "^1.4.9",
+        "pretty-format": "^29.7.0",
+        "stacktrace-parser": "^0.1.10",
+        "whatwg-fetch": "^3.0.0"
+      },
+      "peerDependencies": {
+        "@expo/log-box": "^57.0.2",
+        "expo": "*",
+        "react": "*",
+        "react-dom": "*",
+        "react-native": "*"
+      },
+      "peerDependenciesMeta": {
+        "react-dom": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/expo-router/node_modules/@expo/ui": {
+      "version": "57.0.9",
+      "resolved": "https://registry.npmjs.org/@expo/ui/-/ui-57.0.9.tgz",
+      "integrity": "sha512-VIxvk5ncgylBj2vrIP1iLaMc3XmYucKbf0hIcg3qx9l2anB9JzaYnH7cvVgNU3RfwV8R9m/tA7lX9BP7D8uMQw==",
+      "license": "MIT",
+      "dependencies": {
+        "sf-symbols-typescript": "^2.1.0",
+        "vaul": "^1.1.2"
+      },
+      "peerDependencies": {
+        "@babel/core": "*",
+        "expo": "*",
+        "react": "*",
+        "react-dom": "*",
+        "react-native": "*",
+        "react-native-worklets": "*"
+      },
+      "peerDependenciesMeta": {
+        "@babel/core": {
+          "optional": true
+        },
+        "react-dom": {
+          "optional": true
+        },
+        "react-native-worklets": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/expo-router/node_modules/@radix-ui/react-tabs": {
+      "version": "1.1.21",
+      "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.1.21.tgz",
+      "integrity": "sha512-UKxJlZid7FVtsk/WTxj4i4uSEgj2Au+KBbS7SQyTlzMhhn+86Cz3tISZdTa87bfEfcuvZezf2ZsxD4xuEKtkog==",
+      "license": "MIT",
+      "dependencies": {
+        "@radix-ui/primitive": "1.1.7",
+        "@radix-ui/react-context": "1.2.2",
+        "@radix-ui/react-direction": "1.1.4",
+        "@radix-ui/react-id": "1.1.4",
+        "@radix-ui/react-presence": "1.1.10",
+        "@radix-ui/react-primitive": "2.1.10",
+        "@radix-ui/react-roving-focus": "1.1.19",
+        "@radix-ui/react-use-controllable-state": "1.2.6"
+      },
+      "peerDependencies": {
+        "@types/react": "*",
+        "@types/react-dom": "*",
+        "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+        "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+      },
+      "peerDependenciesMeta": {
+        "@types/react": {
+          "optional": true
+        },
+        "@types/react-dom": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/expo-router/node_modules/react-is": {
+      "version": "19.2.8",
+      "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.8.tgz",
+      "integrity": "sha512-s5un28nYxKJw5gvUHyW5PCC28CvBqLu9r3cWgzHT4Vo/5fqqkFcdRYsGcKf50WMPpjjFZS5d76fn3YCo2njKwQ==",
+      "license": "MIT"
+    },
+    "node_modules/expo-secure-store": {
+      "version": "57.0.1",
+      "resolved": "https://registry.npmjs.org/expo-secure-store/-/expo-secure-store-57.0.1.tgz",
+      "integrity": "sha512-tLa1VmSadOq19mA/dwkl99RbHyjLE0T1qqBYMY3/OsguZTI+rlrDy/DDJjupqlVtmr95hD7o1pYqx5aL+B4YMA==",
+      "license": "MIT",
+      "peerDependencies": {
+        "expo": "*"
+      }
+    },
+    "node_modules/expo-server": {
+      "version": "57.0.1",
+      "resolved": "https://registry.npmjs.org/expo-server/-/expo-server-57.0.1.tgz",
+      "integrity": "sha512-sBfVDH6dmKVHZxqUxbfkzS00PZELMZt1IpnHKxcOTMZtR/t7CtRAFrbXcisG+EyzeqHSVDacZT+1tbYfZt5D8w==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=20.16.0"
+      }
+    },
+    "node_modules/expo-splash-screen": {
+      "version": "57.0.5",
+      "resolved": "https://registry.npmjs.org/expo-splash-screen/-/expo-splash-screen-57.0.5.tgz",
+      "integrity": "sha512-ZN0LDXlhHRNFjXTYZDojXk8IfaoUIu7qa3hhoBTXgyj1UB/iewGlH6+M3Nvhun2lY2d/+xhwqMhv0hIRoBo09Q==",
+      "license": "MIT",
+      "dependencies": {
+        "@expo/config-plugins": "~57.0.6",
+        "@expo/image-utils": "^0.11.4",
+        "xml2js": "0.6.0"
+      },
+      "peerDependencies": {
+        "expo": "*"
+      }
+    },
+    "node_modules/expo-status-bar": {
+      "version": "57.0.1",
+      "resolved": "https://registry.npmjs.org/expo-status-bar/-/expo-status-bar-57.0.1.tgz",
+      "integrity": "sha512-Xwaq1gAoVRWx5dPG5VhT5RSbnI9OilhZnO5qoPBnUaBAa5VzRzfdS8q0/bsPt0jR2DKLtGuP0bQ6efMJ4RIMDg==",
+      "license": "MIT",
+      "peerDependencies": {
+        "expo": "*",
+        "react": "*",
+        "react-native": "*"
+      }
+    },
+    "node_modules/expo-symbols": {
+      "version": "57.0.2",
+      "resolved": "https://registry.npmjs.org/expo-symbols/-/expo-symbols-57.0.2.tgz",
+      "integrity": "sha512-qZ0iqOflm5lZGwRsQ5Y8sDksw3GAUKwHSX1bJBoocXf7gu14vafIXXYWte+JT9VfXAUGyKodJhLHP/GoOrcNWg==",
+      "license": "MIT",
+      "dependencies": {
+        "@expo-google-fonts/material-symbols": "^0.4.1",
+        "sf-symbols-typescript": "^2.0.0"
+      },
+      "peerDependencies": {
+        "expo": "*",
+        "expo-font": "*",
+        "react": "*",
+        "react-native": "*"
+      }
+    },
+    "node_modules/expo/node_modules/@expo/cli": {
+      "version": "57.0.13",
+      "resolved": "https://registry.npmjs.org/@expo/cli/-/cli-57.0.13.tgz",
+      "integrity": "sha512-8gjLMyx+s0dLeDHlcfjM9D9x5yrCU5C6516rmC7q/Wiyuj1fxgr/cbDSmjdpQKkjlvvfvNwtRyMk2zhvhPohiw==",
+      "license": "MIT",
+      "dependencies": {
+        "@expo/code-signing-certificates": "^0.0.6",
+        "@expo/config": "~57.0.6",
+        "@expo/config-plugins": "~57.0.7",
+        "@expo/devcert": "^1.2.1",
+        "@expo/env": "~2.4.2",
+        "@expo/image-utils": "^0.11.4",
+        "@expo/inline-modules": "^0.1.4",
+        "@expo/json-file": "^11.0.1",
+        "@expo/log-box": "^57.0.2",
+        "@expo/metro": "~56.0.0",
+        "@expo/metro-config": "~57.0.7",
+        "@expo/metro-file-map": "^57.0.1",
+        "@expo/osascript": "^2.7.1",
+        "@expo/package-manager": "^1.13.1",
+        "@expo/plist": "^0.8.1",
+        "@expo/prebuild-config": "^57.0.10",
+        "@expo/require-utils": "^57.0.4",
+        "@expo/router-server": "^57.0.5",
+        "@expo/schema-utils": "^57.0.2",
+        "@expo/spawn-async": "^1.8.0",
+        "@expo/ws-tunnel": "^2.0.0",
+        "@expo/xcpretty": "^4.4.4",
+        "@react-native/dev-middleware": "0.86.2",
+        "accepts": "^1.3.8",
+        "agent-cli-detector": "^0.1.2",
+        "arg": "^5.0.2",
+        "bplist-creator": "0.1.0",
+        "bplist-parser": "^0.3.1",
+        "chalk": "^4.0.0",
+        "ci-info": "^3.3.0",
+        "compression": "^1.7.4",
+        "connect": "^3.7.0",
+        "debug": "^4.3.4",
+        "dnssd-advertise": "^1.1.4",
+        "expo-server": "^57.0.1",
+        "fetch-nodeshim": "^0.4.10",
+        "getenv": "^2.0.0",
+        "glob": "^13.0.0",
+        "lan-network": "^0.2.1",
+        "multitars": "^1.0.0",
+        "node-forge": "^1.3.3",
+        "npm-package-arg": "^11.0.0",
+        "ora": "^3.4.0",
+        "picomatch": "^4.0.4",
+        "pretty-format": "^29.7.0",
+        "progress": "^2.0.3",
+        "prompts": "^2.3.2",
+        "resolve-from": "^5.0.0",
+        "semver": "^7.6.0",
+        "send": "^0.19.0",
+        "slugify": "^1.3.4",
+        "stacktrace-parser": "^0.1.10",
+        "structured-headers": "^0.4.1",
+        "terminal-link": "^2.1.1",
+        "toqr": "^0.1.1",
+        "wrap-ansi": "^7.0.0",
+        "ws": "^8.12.1",
+        "zod": "^3.25.76"
+      },
+      "bin": {
+        "expo-internal": "main.js"
+      },
+      "peerDependencies": {
+        "expo": "*",
+        "expo-router": "*",
+        "react-native": "*"
+      },
+      "peerDependenciesMeta": {
+        "expo-router": {
+          "optional": true
+        },
+        "react-native": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/expo/node_modules/@expo/cli/node_modules/@expo/router-server": {
+      "version": "57.0.5",
+      "resolved": "https://registry.npmjs.org/@expo/router-server/-/router-server-57.0.5.tgz",
+      "integrity": "sha512-vke39l0bo3H2q9JB/KXpAJ7HpscdTG3Mktbxanc8yn3riWzzSsnv0uxwZGZCrZrnDQzFxlLTXgbZrGkU26ng1w==",
+      "license": "MIT",
+      "dependencies": {
+        "debug": "^4.3.4"
+      },
+      "peerDependencies": {
+        "@expo/metro-runtime": "^57.0.8",
+        "expo": "*",
+        "expo-constants": "^57.0.9",
+        "expo-font": "^57.0.1",
+        "expo-router": "*",
+        "expo-server": "^57.0.1",
+        "react": "*",
+        "react-dom": "*",
+        "react-server-dom-webpack": "~19.0.1 || ~19.1.2 || ~19.2.1"
+      },
+      "peerDependenciesMeta": {
+        "@expo/metro-runtime": {
+          "optional": true
+        },
+        "expo-router": {
+          "optional": true
+        },
+        "react-dom": {
+          "optional": true
+        },
+        "react-server-dom-webpack": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/expo/node_modules/@expo/metro-config": {
+      "version": "57.0.7",
+      "resolved": "https://registry.npmjs.org/@expo/metro-config/-/metro-config-57.0.7.tgz",
+      "integrity": "sha512-bVfEkg4zF1cA62OqAdYXmFOooJ6TB/I+REi7Se6Ct+PbSC+89TwSqWXnYx34L08eIs4z+1ilgbATakTZpgefmQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/code-frame": "^7.20.0",
+        "@babel/core": "^7.20.0",
+        "@babel/generator": "^7.20.5",
+        "@expo/config": "~57.0.6",
+        "@expo/env": "~2.4.2",
+        "@expo/json-file": "~11.0.1",
+        "@expo/metro": "~56.0.0",
+        "@expo/require-utils": "^57.0.4",
+        "@expo/spawn-async": "^1.8.0",
+        "@jridgewell/gen-mapping": "^0.3.13",
+        "@jridgewell/remapping": "^2.3.5",
+        "@jridgewell/sourcemap-codec": "^1.5.5",
+        "browserslist": "^4.25.0",
+        "chalk": "^4.1.0",
+        "debug": "^4.3.2",
+        "getenv": "^2.0.0",
+        "glob": "^13.0.0",
+        "hermes-parser": "^0.36.0",
+        "jsc-safe-url": "^0.2.4",
+        "lightningcss": "^1.30.1",
+        "picomatch": "^4.0.4",
+        "postcss": "^8.5.14",
+        "resolve-from": "^5.0.0"
+      },
+      "peerDependencies": {
+        "expo": "*"
+      },
+      "peerDependenciesMeta": {
+        "expo": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/expo/node_modules/@expo/ws-tunnel": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/@expo/ws-tunnel/-/ws-tunnel-2.0.0.tgz",
+      "integrity": "sha512-j+JfTRdCk820J9dU0sA2SqshQIKFOMo7ED84w9MJFcebfbNQgsLztEY/SABDkGnjatrW4xGqnUhVRxSBVyCkXw==",
+      "license": "MIT",
+      "peerDependencies": {
+        "ws": "^8.0.0"
+      }
+    },
+    "node_modules/expo/node_modules/accepts": {
+      "version": "1.3.8",
+      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
+      "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
+      "license": "MIT",
+      "dependencies": {
+        "mime-types": "~2.1.34",
+        "negotiator": "0.6.3"
+      },
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/expo/node_modules/babel-preset-expo": {
+      "version": "57.0.6",
+      "resolved": "https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-57.0.6.tgz",
+      "integrity": "sha512-ASyy0iP7yPQtq2QaMEnZG4O7YQ/x4sTMguk7PZcow2OHFnWsBpX6v+UCmh/uwCzGfD1q93jDQEuACWwWx4kSrw==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/generator": "^7.20.5",
+        "@babel/helper-module-imports": "^7.25.9",
+        "@babel/plugin-proposal-decorators": "^7.12.9",
+        "@babel/plugin-proposal-export-default-from": "^7.24.7",
+        "@babel/plugin-syntax-dynamic-import": "^7.8.3",
+        "@babel/plugin-syntax-export-default-from": "^7.24.7",
+        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
+        "@babel/plugin-syntax-optional-chaining": "^7.8.3",
+        "@babel/plugin-transform-async-generator-functions": "^7.25.4",
+        "@babel/plugin-transform-async-to-generator": "^7.24.7",
+        "@babel/plugin-transform-block-scoping": "^7.25.0",
+        "@babel/plugin-transform-class-properties": "^7.25.4",
+        "@babel/plugin-transform-class-static-block": "^7.27.1",
+        "@babel/plugin-transform-classes": "^7.25.4",
+        "@babel/plugin-transform-destructuring": "^7.24.8",
+        "@babel/plugin-transform-export-namespace-from": "^7.25.9",
+        "@babel/plugin-transform-flow-strip-types": "^7.25.2",
+        "@babel/plugin-transform-for-of": "^7.24.7",
+        "@babel/plugin-transform-logical-assignment-operators": "^7.24.7",
+        "@babel/plugin-transform-modules-commonjs": "^7.24.8",
+        "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7",
+        "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7",
+        "@babel/plugin-transform-object-rest-spread": "^7.24.7",
+        "@babel/plugin-transform-optional-catch-binding": "^7.24.7",
+        "@babel/plugin-transform-optional-chaining": "^7.24.8",
+        "@babel/plugin-transform-parameters": "^7.24.7",
+        "@babel/plugin-transform-private-methods": "^7.24.7",
+        "@babel/plugin-transform-private-property-in-object": "^7.24.7",
+        "@babel/plugin-transform-react-display-name": "^7.24.7",
+        "@babel/plugin-transform-react-jsx": "^7.28.6",
+        "@babel/plugin-transform-react-jsx-development": "^7.27.1",
+        "@babel/plugin-transform-react-pure-annotations": "^7.27.1",
+        "@babel/plugin-transform-runtime": "^7.24.7",
+        "@babel/plugin-transform-typescript": "^7.25.2",
+        "@babel/plugin-transform-unicode-regex": "^7.24.7",
+        "@babel/preset-typescript": "^7.23.0",
+        "@react-native/babel-plugin-codegen": "0.86.2",
+        "babel-plugin-react-compiler": "^1.0.0",
+        "babel-plugin-react-native-web": "~0.21.0",
+        "babel-plugin-syntax-hermes-parser": "^0.36.0",
+        "babel-plugin-transform-flow-enums": "^0.0.2",
+        "debug": "^4.3.4"
+      },
+      "peerDependencies": {
+        "@babel/runtime": "^7.20.0",
+        "expo": "*",
+        "expo-widgets": "^57.0.8",
+        "react-refresh": ">=0.14.0 <1.0.0"
+      },
+      "peerDependenciesMeta": {
+        "@babel/runtime": {
+          "optional": true
+        },
+        "expo": {
+          "optional": true
+        },
+        "expo-widgets": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/expo/node_modules/ci-info": {
+      "version": "3.9.0",
+      "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
+      "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/sibiraj-s"
+        }
+      ],
+      "license": "MIT",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/expo/node_modules/expo-asset": {
+      "version": "57.0.9",
+      "resolved": "https://registry.npmjs.org/expo-asset/-/expo-asset-57.0.9.tgz",
+      "integrity": "sha512-FXlwwW5ThJ2kwXqVX0VcYcDrbmzPDUGPYJOuQZYfsdVB+TLA8LmOgU0Y5ykzLmLs5ONiqs/YjT6Uubv1NUQFzg==",
+      "license": "MIT",
+      "dependencies": {
+        "@expo/image-utils": "^0.11.4",
+        "expo-constants": "~57.0.9"
+      },
+      "peerDependencies": {
+        "expo": "*",
+        "react": "*",
+        "react-native": "*"
+      }
+    },
+    "node_modules/expo/node_modules/expo-file-system": {
+      "version": "57.0.2",
+      "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-57.0.2.tgz",
+      "integrity": "sha512-bPgzpaOJ3NWHZxV++Osj/1QoFzFe/QOo1jBF4EODJdiZgrrxyi2dv+7PLhKuut5QqPBuihUOITRh3s5jhRtA5A==",
+      "license": "MIT",
+      "peerDependencies": {
+        "expo": "*",
+        "react-native": "*"
+      }
+    },
+    "node_modules/expo/node_modules/expo-keep-awake": {
+      "version": "57.0.1",
+      "resolved": "https://registry.npmjs.org/expo-keep-awake/-/expo-keep-awake-57.0.1.tgz",
+      "integrity": "sha512-28lkFImeXTS+bhAjuCFV7w7tW5bXg27BJVrxv+nC/nyYa86qEa0oFeHwqol6ha5k4pdVDQgBF09GM4A1k76Ssg==",
+      "license": "MIT",
+      "peerDependencies": {
+        "expo": "*",
+        "react": "*"
+      }
+    },
+    "node_modules/expo/node_modules/hermes-estree": {
+      "version": "0.36.1",
+      "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.36.1.tgz",
+      "integrity": "sha512-guv1nQ6IJ7S83NRFPWc3SA7IBZrdNC9kapwOq6uXvF4wP+sDCgjzQbKPCoyYmoyZRzztF/n/c36l/rccCZSiCw==",
+      "license": "MIT"
+    },
+    "node_modules/expo/node_modules/hermes-parser": {
+      "version": "0.36.1",
+      "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.36.1.tgz",
+      "integrity": "sha512-GApNk4zLHi2UWoWZZkx7LNCOSzLSc5lB55pZ/PhK7ycFeg7u5LcF88p/WbpIi1XUDtE0MpHE3uRR3u3KB7TjSQ==",
+      "license": "MIT",
+      "dependencies": {
+        "hermes-estree": "0.36.1"
+      }
+    },
+    "node_modules/expo/node_modules/mime-db": {
+      "version": "1.52.0",
+      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+      "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/expo/node_modules/mime-types": {
+      "version": "2.1.35",
+      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+      "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+      "license": "MIT",
+      "dependencies": {
+        "mime-db": "1.52.0"
+      },
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/expo/node_modules/negotiator": {
+      "version": "0.6.3",
+      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
+      "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/expo/node_modules/picomatch": {
+      "version": "4.0.5",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz",
+      "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/jonschlinkert"
+      }
+    },
+    "node_modules/expo/node_modules/ws": {
+      "version": "8.21.2",
+      "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.2.tgz",
+      "integrity": "sha512-54dMVAo4WIe6SKy3vBgN+9bJZqqQ8IMRevAkOLQALhi49qkkQDQfWdAZ8KQlXiEabw88ARXXdUrlvtbKQX+aKw==",
+      "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/exponential-backoff": {
+      "version": "3.1.3",
+      "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.3.tgz",
+      "integrity": "sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==",
+      "license": "Apache-2.0"
+    },
+    "node_modules/fast-deep-equal": {
+      "version": "3.1.3",
+      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+      "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+      "license": "MIT"
+    },
+    "node_modules/fb-dotslash": {
+      "version": "0.5.8",
+      "resolved": "https://registry.npmjs.org/fb-dotslash/-/fb-dotslash-0.5.8.tgz",
+      "integrity": "sha512-XHYLKk9J4BupDxi9bSEhkfss0m+Vr9ChTrjhf9l2iw3jB5C7BnY4GVPoMcqbrTutsKJso6yj2nAB6BI/F2oZaA==",
+      "license": "(MIT OR Apache-2.0)",
+      "bin": {
+        "dotslash": "bin/dotslash"
+      },
+      "engines": {
+        "node": ">=20"
+      }
+    },
+    "node_modules/fb-watchman": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz",
+      "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==",
+      "license": "Apache-2.0",
+      "dependencies": {
+        "bser": "2.1.1"
+      }
+    },
+    "node_modules/fetch-nodeshim": {
+      "version": "0.4.10",
+      "resolved": "https://registry.npmjs.org/fetch-nodeshim/-/fetch-nodeshim-0.4.10.tgz",
+      "integrity": "sha512-m6I8ALe4L4XpdETy7MJZWs6L1IVMbjs99bwbpIKphxX+0CTns4IKDWJY0LWfr4YsFjfg+z1TjzTMU8lKl8rG0w==",
+      "license": "MIT"
+    },
+    "node_modules/fill-range": {
+      "version": "7.1.1",
+      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+      "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+      "license": "MIT",
+      "dependencies": {
+        "to-regex-range": "^5.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/filter-obj": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz",
+      "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/finalhandler": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
+      "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
+      "license": "MIT",
+      "dependencies": {
+        "debug": "2.6.9",
+        "encodeurl": "~1.0.2",
+        "escape-html": "~1.0.3",
+        "on-finished": "~2.3.0",
+        "parseurl": "~1.3.3",
+        "statuses": "~1.5.0",
+        "unpipe": "~1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/finalhandler/node_modules/debug": {
+      "version": "2.6.9",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+      "license": "MIT",
+      "dependencies": {
+        "ms": "2.0.0"
+      }
+    },
+    "node_modules/finalhandler/node_modules/ms": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+      "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+      "license": "MIT"
+    },
+    "node_modules/flow-enums-runtime": {
+      "version": "0.0.6",
+      "resolved": "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.6.tgz",
+      "integrity": "sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==",
+      "license": "MIT"
+    },
+    "node_modules/fontfaceobserver": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/fontfaceobserver/-/fontfaceobserver-2.3.0.tgz",
+      "integrity": "sha512-6FPvD/IVyT4ZlNe7Wcn5Fb/4ChigpucKYSvD6a+0iMoLn2inpo711eyIcKjmDtE5XNcgAkSH9uN/nfAeZzHEfg==",
+      "license": "BSD-2-Clause"
+    },
+    "node_modules/fresh": {
+      "version": "0.5.2",
+      "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+      "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/function-bind": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+      "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+      "license": "MIT",
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/gensync": {
+      "version": "1.0.0-beta.2",
+      "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+      "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/get-caller-file": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+      "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+      "license": "ISC",
+      "engines": {
+        "node": "6.* || 8.* || >= 10.*"
+      }
+    },
+    "node_modules/get-nonce": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz",
+      "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/getenv": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/getenv/-/getenv-2.0.0.tgz",
+      "integrity": "sha512-VilgtJj/ALgGY77fiLam5iD336eSWi96Q15JSAG1zi8NRBysm3LXKdGnHb4m5cuyxvOLQQKWpBZAT6ni4FI2iQ==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/glob": {
+      "version": "13.0.6",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz",
+      "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==",
+      "license": "BlueOak-1.0.0",
+      "dependencies": {
+        "minimatch": "^10.2.2",
+        "minipass": "^7.1.3",
+        "path-scurry": "^2.0.2"
+      },
+      "engines": {
+        "node": "18 || 20 || >=22"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "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/has-flag": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/hasown": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz",
+      "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==",
+      "license": "MIT",
+      "dependencies": {
+        "function-bind": "^1.1.2"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/hermes-compiler": {
+      "version": "250829098.0.16",
+      "resolved": "https://registry.npmjs.org/hermes-compiler/-/hermes-compiler-250829098.0.16.tgz",
+      "integrity": "sha512-xsgzk+mUyvt9t1nUbF8USBlYxajTUtPJhVZ86q85s/SEoMKCF+52YZcudb0ENSnV3T3lV9mgB3s6R7+pH90zgw==",
+      "license": "MIT"
+    },
+    "node_modules/hermes-estree": {
+      "version": "0.35.0",
+      "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.35.0.tgz",
+      "integrity": "sha512-xVx5Opwy8Oo1I5yGpVRhCvWL/iV3M+ylksSKVNlxxD90cpDpR/AR1jLYqK8HWihm065a6UI3HeyAmYzwS8NOOg==",
+      "license": "MIT"
+    },
+    "node_modules/hermes-parser": {
+      "version": "0.35.0",
+      "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.35.0.tgz",
+      "integrity": "sha512-9JLjeHxBx8T4CAsydZR49PNZUaix+WpQJwu9p2010lu+7Kwl6D/7wYFFJxoz+aXkaaClp9Zfg6W6/zVlSJORaA==",
+      "license": "MIT",
+      "dependencies": {
+        "hermes-estree": "0.35.0"
+      }
+    },
+    "node_modules/hoist-non-react-statics": {
+      "version": "3.3.2",
+      "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
+      "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
+      "license": "BSD-3-Clause",
+      "dependencies": {
+        "react-is": "^16.7.0"
+      }
+    },
+    "node_modules/hoist-non-react-statics/node_modules/react-is": {
+      "version": "16.13.1",
+      "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
+      "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
+      "license": "MIT"
+    },
+    "node_modules/hosted-git-info": {
+      "version": "7.0.2",
+      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz",
+      "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==",
+      "license": "ISC",
+      "dependencies": {
+        "lru-cache": "^10.0.1"
+      },
+      "engines": {
+        "node": "^16.14.0 || >=18.0.0"
+      }
+    },
+    "node_modules/hosted-git-info/node_modules/lru-cache": {
+      "version": "10.4.3",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
+      "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
+      "license": "ISC"
+    },
+    "node_modules/http-errors": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz",
+      "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==",
+      "license": "MIT",
+      "dependencies": {
+        "depd": "~2.0.0",
+        "inherits": "~2.0.4",
+        "setprototypeof": "~1.2.0",
+        "statuses": "~2.0.2",
+        "toidentifier": "~1.0.1"
+      },
+      "engines": {
+        "node": ">= 0.8"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/express"
+      }
+    },
+    "node_modules/http-errors/node_modules/statuses": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz",
+      "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "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/ignore": {
+      "version": "5.3.2",
+      "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
+      "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 4"
+      }
+    },
+    "node_modules/image-size": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.2.1.tgz",
+      "integrity": "sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw==",
+      "license": "MIT",
+      "dependencies": {
+        "queue": "6.0.2"
+      },
+      "bin": {
+        "image-size": "bin/image-size.js"
+      },
+      "engines": {
+        "node": ">=16.x"
+      }
+    },
+    "node_modules/indent-string": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
+      "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/inherits": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+      "license": "ISC"
+    },
+    "node_modules/invariant": {
+      "version": "2.2.4",
+      "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+      "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+      "license": "MIT",
+      "dependencies": {
+        "loose-envify": "^1.0.0"
+      }
+    },
+    "node_modules/is-arrayish": {
+      "version": "0.3.4",
+      "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.4.tgz",
+      "integrity": "sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA==",
+      "license": "MIT"
+    },
+    "node_modules/is-core-module": {
+      "version": "2.16.2",
+      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.2.tgz",
+      "integrity": "sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==",
+      "license": "MIT",
+      "dependencies": {
+        "hasown": "^2.0.3"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-docker": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
+      "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
+      "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",
+      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+      "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/is-number": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+      "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=0.12.0"
+      }
+    },
+    "node_modules/is-plain-obj": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+      "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/is-wsl": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+      "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+      "license": "MIT",
+      "dependencies": {
+        "is-docker": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/isexe": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+      "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+      "license": "ISC"
+    },
+    "node_modules/jest-get-type": {
+      "version": "29.6.3",
+      "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz",
+      "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==",
+      "license": "MIT",
+      "engines": {
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+      }
+    },
+    "node_modules/jest-util": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz",
+      "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==",
+      "license": "MIT",
+      "dependencies": {
+        "@jest/types": "^29.6.3",
+        "@types/node": "*",
+        "chalk": "^4.0.0",
+        "ci-info": "^3.2.0",
+        "graceful-fs": "^4.2.9",
+        "picomatch": "^2.2.3"
+      },
+      "engines": {
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+      }
+    },
+    "node_modules/jest-util/node_modules/ci-info": {
+      "version": "3.9.0",
+      "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
+      "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/sibiraj-s"
+        }
+      ],
+      "license": "MIT",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/jest-validate": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz",
+      "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==",
+      "license": "MIT",
+      "dependencies": {
+        "@jest/types": "^29.6.3",
+        "camelcase": "^6.2.0",
+        "chalk": "^4.0.0",
+        "jest-get-type": "^29.6.3",
+        "leven": "^3.1.0",
+        "pretty-format": "^29.7.0"
+      },
+      "engines": {
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+      }
+    },
+    "node_modules/jest-worker": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz",
+      "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==",
+      "license": "MIT",
+      "dependencies": {
+        "@types/node": "*",
+        "jest-util": "^29.7.0",
+        "merge-stream": "^2.0.0",
+        "supports-color": "^8.0.0"
+      },
+      "engines": {
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+      }
+    },
+    "node_modules/jest-worker/node_modules/supports-color": {
+      "version": "8.1.1",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+      "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+      "license": "MIT",
+      "dependencies": {
+        "has-flag": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/supports-color?sponsor=1"
+      }
+    },
+    "node_modules/jimp-compact": {
+      "version": "0.16.1",
+      "resolved": "https://registry.npmjs.org/jimp-compact/-/jimp-compact-0.16.1.tgz",
+      "integrity": "sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww==",
+      "license": "MIT"
+    },
+    "node_modules/js-tokens": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+      "license": "MIT"
+    },
+    "node_modules/js-yaml": {
+      "version": "4.3.1",
+      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.1.tgz",
+      "integrity": "sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ==",
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/puzrin"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/nodeca"
+        }
+      ],
+      "license": "MIT",
+      "dependencies": {
+        "argparse": "^2.0.1"
+      },
+      "bin": {
+        "js-yaml": "bin/js-yaml.js"
+      }
+    },
+    "node_modules/jsc-safe-url": {
+      "version": "0.2.4",
+      "resolved": "https://registry.npmjs.org/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz",
+      "integrity": "sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==",
+      "license": "0BSD"
+    },
+    "node_modules/jsesc": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
+      "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
+      "license": "MIT",
+      "bin": {
+        "jsesc": "bin/jsesc"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/json5": {
+      "version": "2.2.3",
+      "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+      "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+      "license": "MIT",
+      "bin": {
+        "json5": "lib/cli.js"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/kleur": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
+      "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/lan-network": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/lan-network/-/lan-network-0.2.1.tgz",
+      "integrity": "sha512-ONPnazC96VKDntab9j9JKwIWhZ4ZUceB4A9Epu4Ssg0hYFmtHZSeQ+n15nIwTFmcBUKtExOer8WTJ4GF9MO64A==",
+      "license": "MIT",
+      "bin": {
+        "lan-network": "dist/lan-network-cli.js"
+      }
+    },
+    "node_modules/leven": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
+      "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/lighthouse-logger": {
+      "version": "1.4.2",
+      "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.4.2.tgz",
+      "integrity": "sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==",
+      "license": "Apache-2.0",
+      "dependencies": {
+        "debug": "^2.6.9",
+        "marky": "^1.2.2"
+      }
+    },
+    "node_modules/lighthouse-logger/node_modules/debug": {
+      "version": "2.6.9",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+      "license": "MIT",
+      "dependencies": {
+        "ms": "2.0.0"
+      }
+    },
+    "node_modules/lighthouse-logger/node_modules/ms": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+      "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+      "license": "MIT"
+    },
+    "node_modules/lightningcss": {
+      "version": "1.33.0",
+      "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.33.0.tgz",
+      "integrity": "sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==",
+      "license": "MPL-2.0",
+      "dependencies": {
+        "detect-libc": "^2.0.3"
+      },
+      "engines": {
+        "node": ">= 12.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      },
+      "optionalDependencies": {
+        "lightningcss-android-arm64": "1.33.0",
+        "lightningcss-darwin-arm64": "1.33.0",
+        "lightningcss-darwin-x64": "1.33.0",
+        "lightningcss-freebsd-x64": "1.33.0",
+        "lightningcss-linux-arm-gnueabihf": "1.33.0",
+        "lightningcss-linux-arm64-gnu": "1.33.0",
+        "lightningcss-linux-arm64-musl": "1.33.0",
+        "lightningcss-linux-x64-gnu": "1.33.0",
+        "lightningcss-linux-x64-musl": "1.33.0",
+        "lightningcss-win32-arm64-msvc": "1.33.0",
+        "lightningcss-win32-x64-msvc": "1.33.0"
+      }
+    },
+    "node_modules/lightningcss-android-arm64": {
+      "version": "1.33.0",
+      "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.33.0.tgz",
+      "integrity": "sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg==",
+      "cpu": [
+        "arm64"
+      ],
+      "license": "MPL-2.0",
+      "optional": true,
+      "os": [
+        "android"
+      ],
+      "engines": {
+        "node": ">= 12.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
+    "node_modules/lightningcss-darwin-arm64": {
+      "version": "1.33.0",
+      "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.33.0.tgz",
+      "integrity": "sha512-Sciaz8eenNTKn9b3t7+xr0ipTp9YxKQY4npwQ3mrRuL0BAVHBLyZxofhaKBAVtzmtRZ/zTyo0/to4B1uWG/Djg==",
+      "cpu": [
+        "arm64"
+      ],
+      "license": "MPL-2.0",
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": ">= 12.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
+    "node_modules/lightningcss-darwin-x64": {
+      "version": "1.33.0",
+      "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.33.0.tgz",
+      "integrity": "sha512-Z5UPAxzrjlWNNyGy6i65cJzzvgJ5D3T6wMvs+gWpY9d7qRhANrxqAp6LhxIgZhWEw18RfJTGcRxjuLIBr+m8XQ==",
+      "cpu": [
+        "x64"
+      ],
+      "license": "MPL-2.0",
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": ">= 12.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
+    "node_modules/lightningcss-freebsd-x64": {
+      "version": "1.33.0",
+      "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.33.0.tgz",
+      "integrity": "sha512-QQM/Ti/hQajJwCY+RiWuCZ9sdtI/XQk7nDK5vC8kkdwixezOlDgvDx7+RT+QjK6FcFT4MpsuoBnHIo/O3StRRg==",
+      "cpu": [
+        "x64"
+      ],
+      "license": "MPL-2.0",
+      "optional": true,
+      "os": [
+        "freebsd"
+      ],
+      "engines": {
+        "node": ">= 12.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
+    "node_modules/lightningcss-linux-arm-gnueabihf": {
+      "version": "1.33.0",
+      "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.33.0.tgz",
+      "integrity": "sha512-N7FVBe6iS24MlM6R/4RBTxGhQheZGs7tiQ9U32UtF75NzP5Q7xWPRqLBCKxlRQRk3rY1jCIPLzx7WzOhuUIRLQ==",
+      "cpu": [
+        "arm"
+      ],
+      "license": "MPL-2.0",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 12.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
+    "node_modules/lightningcss-linux-arm64-gnu": {
+      "version": "1.33.0",
+      "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.33.0.tgz",
+      "integrity": "sha512-j2v/itmy4HlNxlc6voKXYgBqNi0Ng2LShg4z7GufpEgs05P+2suBVyi9I6YHq5uoVFx9ETin3eCEhLVyXGQnKg==",
+      "cpu": [
+        "arm64"
+      ],
+      "libc": [
+        "glibc"
+      ],
+      "license": "MPL-2.0",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 12.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
+    "node_modules/lightningcss-linux-arm64-musl": {
+      "version": "1.33.0",
+      "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.33.0.tgz",
+      "integrity": "sha512-yiO5ROMuYQgXbC60yjZU5CYSFZGKXL0HFATXt9mHJn1+zW55oCtMI9NfcVhYLMFDL7gV7oBPon/EmMMGg2OvtQ==",
+      "cpu": [
+        "arm64"
+      ],
+      "libc": [
+        "musl"
+      ],
+      "license": "MPL-2.0",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 12.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
+    "node_modules/lightningcss-linux-x64-gnu": {
+      "version": "1.33.0",
+      "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.33.0.tgz",
+      "integrity": "sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg==",
+      "cpu": [
+        "x64"
+      ],
+      "libc": [
+        "glibc"
+      ],
+      "license": "MPL-2.0",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 12.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
+    "node_modules/lightningcss-linux-x64-musl": {
+      "version": "1.33.0",
+      "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.33.0.tgz",
+      "integrity": "sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw==",
+      "cpu": [
+        "x64"
+      ],
+      "libc": [
+        "musl"
+      ],
+      "license": "MPL-2.0",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 12.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
+    "node_modules/lightningcss-win32-arm64-msvc": {
+      "version": "1.33.0",
+      "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.33.0.tgz",
+      "integrity": "sha512-1K+MPfLSFVpphzpdbfkhlWk6wBrTObBzS2T6db10PNOZgR9GoVsAWzwNyuhUYYbTp23j+4RrncfujZ4uAzXvwA==",
+      "cpu": [
+        "arm64"
+      ],
+      "license": "MPL-2.0",
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">= 12.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
+    "node_modules/lightningcss-win32-x64-msvc": {
+      "version": "1.33.0",
+      "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.33.0.tgz",
+      "integrity": "sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA==",
+      "cpu": [
+        "x64"
+      ],
+      "license": "MPL-2.0",
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">= 12.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
+    "node_modules/lodash.debounce": {
+      "version": "4.0.8",
+      "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
+      "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
+      "license": "MIT"
+    },
+    "node_modules/lodash.throttle": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz",
+      "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==",
+      "license": "MIT"
+    },
+    "node_modules/log-symbols": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
+      "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
+      "license": "MIT",
+      "dependencies": {
+        "chalk": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/log-symbols/node_modules/ansi-styles": {
+      "version": "3.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+      "license": "MIT",
+      "dependencies": {
+        "color-convert": "^1.9.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/log-symbols/node_modules/chalk": {
+      "version": "2.4.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+      "license": "MIT",
+      "dependencies": {
+        "ansi-styles": "^3.2.1",
+        "escape-string-regexp": "^1.0.5",
+        "supports-color": "^5.3.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/log-symbols/node_modules/color-convert": {
+      "version": "1.9.3",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+      "license": "MIT",
+      "dependencies": {
+        "color-name": "1.1.3"
+      }
+    },
+    "node_modules/log-symbols/node_modules/color-name": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+      "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
+      "license": "MIT"
+    },
+    "node_modules/log-symbols/node_modules/escape-string-regexp": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+      "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=0.8.0"
+      }
+    },
+    "node_modules/log-symbols/node_modules/has-flag": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+      "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/log-symbols/node_modules/supports-color": {
+      "version": "5.5.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+      "license": "MIT",
+      "dependencies": {
+        "has-flag": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/loose-envify": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+      "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+      "license": "MIT",
+      "dependencies": {
+        "js-tokens": "^3.0.0 || ^4.0.0"
+      },
+      "bin": {
+        "loose-envify": "cli.js"
+      }
+    },
+    "node_modules/lru-cache": {
+      "version": "5.1.1",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+      "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+      "license": "ISC",
+      "dependencies": {
+        "yallist": "^3.0.2"
+      }
+    },
+    "node_modules/makeerror": {
+      "version": "1.0.12",
+      "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz",
+      "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==",
+      "license": "BSD-3-Clause",
+      "dependencies": {
+        "tmpl": "1.0.5"
+      }
+    },
+    "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/memoize-one": {
+      "version": "5.2.1",
+      "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz",
+      "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==",
+      "license": "MIT"
+    },
+    "node_modules/merge-options": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz",
+      "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==",
+      "license": "MIT",
+      "dependencies": {
+        "is-plain-obj": "^2.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/merge-stream": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
+      "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
+      "license": "MIT"
+    },
+    "node_modules/metro": {
+      "version": "0.84.4",
+      "resolved": "https://registry.npmjs.org/metro/-/metro-0.84.4.tgz",
+      "integrity": "sha512-8ETTubqfD6ornDy2zYDvRcKnVDOXdFJsjetYDBsY4oAsb6NJkiwFR+FaMESyGppFmQUyBQA4H4sFGxzcQSGtFA==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/code-frame": "^7.29.0",
+        "@babel/core": "^7.25.2",
+        "@babel/generator": "^7.29.1",
+        "@babel/parser": "^7.29.0",
+        "@babel/template": "^7.28.6",
+        "@babel/traverse": "^7.29.0",
+        "@babel/types": "^7.29.0",
+        "accepts": "^2.0.0",
+        "ci-info": "^2.0.0",
+        "connect": "^3.6.5",
+        "debug": "^4.4.0",
+        "error-stack-parser": "^2.0.6",
+        "flow-enums-runtime": "^0.0.6",
+        "graceful-fs": "^4.2.4",
+        "hermes-parser": "0.35.0",
+        "image-size": "^1.0.2",
+        "invariant": "^2.2.4",
+        "jest-worker": "^29.7.0",
+        "jsc-safe-url": "^0.2.2",
+        "lodash.throttle": "^4.1.1",
+        "metro-babel-transformer": "0.84.4",
+        "metro-cache": "0.84.4",
+        "metro-cache-key": "0.84.4",
+        "metro-config": "0.84.4",
+        "metro-core": "0.84.4",
+        "metro-file-map": "0.84.4",
+        "metro-resolver": "0.84.4",
+        "metro-runtime": "0.84.4",
+        "metro-source-map": "0.84.4",
+        "metro-symbolicate": "0.84.4",
+        "metro-transform-plugins": "0.84.4",
+        "metro-transform-worker": "0.84.4",
+        "mime-types": "^3.0.1",
+        "nullthrows": "^1.1.1",
+        "serialize-error": "^2.1.0",
+        "source-map": "^0.5.6",
+        "throat": "^5.0.0",
+        "ws": "^7.5.10",
+        "yargs": "^17.6.2"
+      },
+      "bin": {
+        "metro": "src/cli.js"
+      },
+      "engines": {
+        "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0"
+      }
+    },
+    "node_modules/metro-babel-transformer": {
+      "version": "0.84.4",
+      "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.84.4.tgz",
+      "integrity": "sha512-rvCfz8snl9h20VcvpOHxZuHP1SlAkv4HXbzw7nyyVwu6Eqo5PRerbakQ9XmUCOsRy70spJ37O+G1TK8oMzo48g==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/core": "^7.25.2",
+        "flow-enums-runtime": "^0.0.6",
+        "hermes-parser": "0.35.0",
+        "metro-cache-key": "0.84.4",
+        "nullthrows": "^1.1.1"
+      },
+      "engines": {
+        "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0"
+      }
+    },
+    "node_modules/metro-cache": {
+      "version": "0.84.4",
+      "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.84.4.tgz",
+      "integrity": "sha512-gpcFQdSLUwUCk71saKoE64jLFbx2nwTfVCcPSULMNT8QYq0p1eZZE29Jvd0HtT/UlhC3ZOutLxJME5xqD2JUZg==",
+      "license": "MIT",
+      "dependencies": {
+        "exponential-backoff": "^3.1.1",
+        "flow-enums-runtime": "^0.0.6",
+        "https-proxy-agent": "^7.0.5",
+        "metro-core": "0.84.4"
+      },
+      "engines": {
+        "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0"
+      }
+    },
+    "node_modules/metro-cache-key": {
+      "version": "0.84.4",
+      "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.84.4.tgz",
+      "integrity": "sha512-wVO79aGrkYImpnaVS4+d5RrRBRPX31QtvKB3wKGBuiNSznduZTQHzsrJZRroFJSwnygrzdsGUtDQPuqqFjFdvw==",
+      "license": "MIT",
+      "dependencies": {
+        "flow-enums-runtime": "^0.0.6"
+      },
+      "engines": {
+        "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0"
+      }
+    },
+    "node_modules/metro-config": {
+      "version": "0.84.4",
+      "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.84.4.tgz",
+      "integrity": "sha512-PMotGDjXcXLWo2TMRH+VR99phFNgYTwqh4OoieIKK3yTJa1Jmkl+fZJxDO0jfBvNF+WESHciHvpNuBtXaF3B0Q==",
+      "license": "MIT",
+      "dependencies": {
+        "connect": "^3.6.5",
+        "flow-enums-runtime": "^0.0.6",
+        "jest-validate": "^29.7.0",
+        "metro": "0.84.4",
+        "metro-cache": "0.84.4",
+        "metro-core": "0.84.4",
+        "metro-runtime": "0.84.4",
+        "yaml": "^2.6.1"
+      },
+      "engines": {
+        "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0"
+      }
+    },
+    "node_modules/metro-core": {
+      "version": "0.84.4",
+      "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.84.4.tgz",
+      "integrity": "sha512-HONpWC5LGXZn3ffkd4Hu6AIrfE7j4Z0g0wMo/goV24WOB3lhuFZ40KgvaDiSw8iyQHloMYay5N/wPX+z8oN/PQ==",
+      "license": "MIT",
+      "dependencies": {
+        "flow-enums-runtime": "^0.0.6",
+        "lodash.throttle": "^4.1.1",
+        "metro-resolver": "0.84.4"
+      },
+      "engines": {
+        "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0"
+      }
+    },
+    "node_modules/metro-file-map": {
+      "version": "0.84.4",
+      "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.84.4.tgz",
+      "integrity": "sha512-KSVDi/u60hKPx++NLu3MTIvyjzNoJnFAF8PQFxaj1jiSka/wjw+Ua6sNuJ0TDHQv+7AAoFQxeMgaRAe8Yic5wQ==",
+      "license": "MIT",
+      "dependencies": {
+        "debug": "^4.4.0",
+        "fb-watchman": "^2.0.0",
+        "flow-enums-runtime": "^0.0.6",
+        "graceful-fs": "^4.2.4",
+        "invariant": "^2.2.4",
+        "jest-worker": "^29.7.0",
+        "micromatch": "^4.0.4",
+        "nullthrows": "^1.1.1",
+        "walker": "^1.0.7"
+      },
+      "engines": {
+        "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0"
+      }
+    },
+    "node_modules/metro-minify-terser": {
+      "version": "0.84.4",
+      "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.84.4.tgz",
+      "integrity": "sha512-5qpbaVOMC7CPitIpuewzVeGw7E+C3ykbv2mqTjQLl85Z3annSVGlSCTcsZjqXZzjupfK4Ztj3dDc4kc44NZwtQ==",
+      "license": "MIT",
+      "dependencies": {
+        "flow-enums-runtime": "^0.0.6",
+        "terser": "^5.15.0"
+      },
+      "engines": {
+        "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0"
+      }
+    },
+    "node_modules/metro-resolver": {
+      "version": "0.84.4",
+      "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.84.4.tgz",
+      "integrity": "sha512-1qLgbxQ5ZGhhutuPot1Yp348ofDsATL2WkrHF65TobqTT9K3P9qJXw38bomk7ncp5B7OYMfWwtyBZo1lCV792A==",
+      "license": "MIT",
+      "dependencies": {
+        "flow-enums-runtime": "^0.0.6"
+      },
+      "engines": {
+        "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0"
+      }
+    },
+    "node_modules/metro-runtime": {
+      "version": "0.84.4",
+      "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.84.4.tgz",
+      "integrity": "sha512-Jibypds4g7AhzdRKY+kDoj51s5EXMwgyp5ddtlreDAsWefMdOx+agWqgm0H2XSZ/ueanHHVM89fnf5OJnlxa8Q==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/runtime": "^7.25.0",
+        "flow-enums-runtime": "^0.0.6"
+      },
+      "engines": {
+        "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0"
+      }
+    },
+    "node_modules/metro-source-map": {
+      "version": "0.84.4",
+      "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.84.4.tgz",
+      "integrity": "sha512-jbWkPxIesVuo1IWkvezmMJld6iu8nD62GsrZiV6jP37AOdbo4OBq1FJ+qkOg8sV05wAHB//jAbziuW0SlJfW4g==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/traverse": "^7.29.0",
+        "@babel/types": "^7.29.0",
+        "flow-enums-runtime": "^0.0.6",
+        "invariant": "^2.2.4",
+        "metro-symbolicate": "0.84.4",
+        "nullthrows": "^1.1.1",
+        "ob1": "0.84.4",
+        "source-map": "^0.5.6",
+        "vlq": "^1.0.0"
+      },
+      "engines": {
+        "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0"
+      }
+    },
+    "node_modules/metro-symbolicate": {
+      "version": "0.84.4",
+      "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.84.4.tgz",
+      "integrity": "sha512-OnfpacxUqGPZQ27t8qK9mFa7uqHIlVWeqRqkCbvMvreEBiamEeOn8krKtcwgP5M4cYDPwuSmCTopHMVthqG4zA==",
+      "license": "MIT",
+      "dependencies": {
+        "flow-enums-runtime": "^0.0.6",
+        "invariant": "^2.2.4",
+        "metro-source-map": "0.84.4",
+        "nullthrows": "^1.1.1",
+        "source-map": "^0.5.6",
+        "vlq": "^1.0.0"
+      },
+      "bin": {
+        "metro-symbolicate": "src/index.js"
+      },
+      "engines": {
+        "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0"
+      }
+    },
+    "node_modules/metro-transform-plugins": {
+      "version": "0.84.4",
+      "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.84.4.tgz",
+      "integrity": "sha512-kehr6HbAecqD0/a3xLXobELdPaAmRAl8bel0qagPF4vhZtux93nS8S4eq2kgKt6J2GnQpVjSoW1PXdst04mwow==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/core": "^7.25.2",
+        "@babel/generator": "^7.29.1",
+        "@babel/template": "^7.28.6",
+        "@babel/traverse": "^7.29.0",
+        "flow-enums-runtime": "^0.0.6",
+        "nullthrows": "^1.1.1"
+      },
+      "engines": {
+        "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0"
+      }
+    },
+    "node_modules/metro-transform-worker": {
+      "version": "0.84.4",
+      "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.84.4.tgz",
+      "integrity": "sha512-W1IYMvvXTu4MxYr7d9h7CeG2vpIr3bmLLIavkPY4O1ilzDrvS8z/NEe6y+pC44Ff7raMXQgYSfdqDUwN/i39gg==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/core": "^7.25.2",
+        "@babel/generator": "^7.29.1",
+        "@babel/parser": "^7.29.0",
+        "@babel/types": "^7.29.0",
+        "flow-enums-runtime": "^0.0.6",
+        "metro": "0.84.4",
+        "metro-babel-transformer": "0.84.4",
+        "metro-cache": "0.84.4",
+        "metro-cache-key": "0.84.4",
+        "metro-minify-terser": "0.84.4",
+        "metro-source-map": "0.84.4",
+        "metro-transform-plugins": "0.84.4",
+        "nullthrows": "^1.1.1"
+      },
+      "engines": {
+        "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0"
+      }
+    },
+    "node_modules/micromatch": {
+      "version": "4.0.8",
+      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+      "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
+      "license": "MIT",
+      "dependencies": {
+        "braces": "^3.0.3",
+        "picomatch": "^2.3.1"
+      },
+      "engines": {
+        "node": ">=8.6"
+      }
+    },
+    "node_modules/mime": {
+      "version": "1.6.0",
+      "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+      "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+      "license": "MIT",
+      "bin": {
+        "mime": "cli.js"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/mime-db": {
+      "version": "1.54.0",
+      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
+      "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/mime-types": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz",
+      "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==",
+      "license": "MIT",
+      "dependencies": {
+        "mime-db": "^1.54.0"
+      },
+      "engines": {
+        "node": ">=18"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/express"
+      }
+    },
+    "node_modules/mimic-fn": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
+      "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/min-indent": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
+      "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/minimatch": {
+      "version": "10.2.6",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.6.tgz",
+      "integrity": "sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==",
+      "license": "BlueOak-1.0.0",
+      "dependencies": {
+        "brace-expansion": "^5.0.8"
+      },
+      "engines": {
+        "node": "18 || 20 || >=22"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/minipass": {
+      "version": "7.1.3",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz",
+      "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==",
+      "license": "BlueOak-1.0.0",
+      "engines": {
+        "node": ">=16 || 14 >=14.17"
+      }
+    },
+    "node_modules/mkdirp": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+      "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+      "license": "MIT",
+      "bin": {
+        "mkdirp": "bin/cmd.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "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/multitars": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/multitars/-/multitars-1.0.1.tgz",
+      "integrity": "sha512-Do9rHaSDfQ2Fk5Dpg2RjQ4M48Ol7rSq1gvKn/dXJYnhKEm8RRjjUvyiGDDEhJqb0hJPGjRaTB1kx6beqKO/i6Q==",
+      "license": "MIT"
+    },
+    "node_modules/nanoid": {
+      "version": "3.3.17",
+      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.17.tgz",
+      "integrity": "sha512-xQLf0A3HOMlgHq0n247/LRuAOYmB7dXJ/DvAxGvsSBij45XtBSmQycu+F8ODbHwns/XyFZagyL1+J0Offw1E0g==",
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/ai"
+        }
+      ],
+      "license": "MIT",
+      "bin": {
+        "nanoid": "bin/nanoid.cjs"
+      },
+      "engines": {
+        "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+      }
+    },
+    "node_modules/negotiator": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz",
+      "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/node-forge": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.4.0.tgz",
+      "integrity": "sha512-LarFH0+6VfriEhqMMcLX2F7SwSXeWwnEAJEsYm5QKWchiVYVvJyV9v7UDvUv+w5HO23ZpQTXDv/GxdDdMyOuoQ==",
+      "license": "(BSD-3-Clause OR GPL-2.0)",
+      "engines": {
+        "node": ">= 6.13.0"
+      }
+    },
+    "node_modules/node-int64": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
+      "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==",
+      "license": "MIT"
+    },
+    "node_modules/node-releases": {
+      "version": "2.0.53",
+      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.53.tgz",
+      "integrity": "sha512-D9UOmYG3UH1V+ENW56t5QXBwJw1YEY18ruVeus89Rw+SyIgjPkCO84bRzO3uNIYosJbNwiabWVn48o3uJLjxFQ==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=18"
+      }
+    },
+    "node_modules/npm-package-arg": {
+      "version": "11.0.3",
+      "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.3.tgz",
+      "integrity": "sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==",
+      "license": "ISC",
+      "dependencies": {
+        "hosted-git-info": "^7.0.0",
+        "proc-log": "^4.0.0",
+        "semver": "^7.3.5",
+        "validate-npm-package-name": "^5.0.0"
+      },
+      "engines": {
+        "node": "^16.14.0 || >=18.0.0"
+      }
+    },
+    "node_modules/nullthrows": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz",
+      "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==",
+      "license": "MIT"
+    },
+    "node_modules/ob1": {
+      "version": "0.84.4",
+      "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.84.4.tgz",
+      "integrity": "sha512-eJXMpz4aQHXF/YBB9ddqZDIS+ooO91hObo9FoW/xBkr54/zCwYYCDqT/O54vNo8kOkWs5Ou/y28NgdrV0edQNA==",
+      "license": "MIT",
+      "dependencies": {
+        "flow-enums-runtime": "^0.0.6"
+      },
+      "engines": {
+        "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0"
+      }
+    },
+    "node_modules/on-finished": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+      "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==",
+      "license": "MIT",
+      "dependencies": {
+        "ee-first": "1.1.1"
+      },
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/on-headers": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz",
+      "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/onetime": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
+      "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==",
+      "license": "MIT",
+      "dependencies": {
+        "mimic-fn": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/open": {
+      "version": "7.4.2",
+      "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz",
+      "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==",
+      "license": "MIT",
+      "dependencies": {
+        "is-docker": "^2.0.0",
+        "is-wsl": "^2.1.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/ora": {
+      "version": "3.4.0",
+      "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz",
+      "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==",
+      "license": "MIT",
+      "dependencies": {
+        "chalk": "^2.4.2",
+        "cli-cursor": "^2.1.0",
+        "cli-spinners": "^2.0.0",
+        "log-symbols": "^2.2.0",
+        "strip-ansi": "^5.2.0",
+        "wcwidth": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/ora/node_modules/ansi-regex": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz",
+      "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/ora/node_modules/ansi-styles": {
+      "version": "3.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+      "license": "MIT",
+      "dependencies": {
+        "color-convert": "^1.9.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/ora/node_modules/chalk": {
+      "version": "2.4.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+      "license": "MIT",
+      "dependencies": {
+        "ansi-styles": "^3.2.1",
+        "escape-string-regexp": "^1.0.5",
+        "supports-color": "^5.3.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/ora/node_modules/color-convert": {
+      "version": "1.9.3",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+      "license": "MIT",
+      "dependencies": {
+        "color-name": "1.1.3"
+      }
+    },
+    "node_modules/ora/node_modules/color-name": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+      "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
+      "license": "MIT"
+    },
+    "node_modules/ora/node_modules/escape-string-regexp": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+      "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=0.8.0"
+      }
+    },
+    "node_modules/ora/node_modules/has-flag": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+      "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/ora/node_modules/strip-ansi": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+      "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+      "license": "MIT",
+      "dependencies": {
+        "ansi-regex": "^4.1.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/ora/node_modules/supports-color": {
+      "version": "5.5.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+      "license": "MIT",
+      "dependencies": {
+        "has-flag": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/parse-png": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/parse-png/-/parse-png-2.1.0.tgz",
+      "integrity": "sha512-Nt/a5SfCLiTnQAjx3fHlqp8hRgTL3z7kTQZzvIMS9uCAepnCyjpdEc6M/sz69WqMBdaDBw9sF1F1UaHROYzGkQ==",
+      "license": "MIT",
+      "dependencies": {
+        "pngjs": "^3.3.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/parseurl": {
+      "version": "1.3.3",
+      "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+      "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/path-key": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+      "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/path-parse": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+      "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+      "license": "MIT"
+    },
+    "node_modules/path-scurry": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz",
+      "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==",
+      "license": "BlueOak-1.0.0",
+      "dependencies": {
+        "lru-cache": "^11.0.0",
+        "minipass": "^7.1.2"
+      },
+      "engines": {
+        "node": "18 || 20 || >=22"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/path-scurry/node_modules/lru-cache": {
+      "version": "11.5.2",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.2.tgz",
+      "integrity": "sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==",
+      "license": "BlueOak-1.0.0",
+      "engines": {
+        "node": "20 || >=22"
+      }
+    },
+    "node_modules/picocolors": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+      "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
+      "license": "ISC"
+    },
+    "node_modules/picomatch": {
+      "version": "2.3.2",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz",
+      "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=8.6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/jonschlinkert"
+      }
+    },
+    "node_modules/plist": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/plist/-/plist-3.1.1.tgz",
+      "integrity": "sha512-ZIfcLJC+7E7FBFnDxm9MPmt7D+DidyQ26lewieO75AdhA2ayMtsJSES0iWzqJQbcVRSrTufQoy0DR94xHue0oA==",
+      "license": "MIT",
+      "dependencies": {
+        "@xmldom/xmldom": "^0.9.10",
+        "base64-js": "^1.5.1",
+        "xmlbuilder": "^15.1.1"
+      },
+      "engines": {
+        "node": ">=10.4.0"
+      }
+    },
+    "node_modules/plist/node_modules/@xmldom/xmldom": {
+      "version": "0.9.10",
+      "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.9.10.tgz",
+      "integrity": "sha512-A9gOqLdi6cV4ibazAjcQufGj0B1y/vDqYrcuP6d/6x8P27gRS8643Dj9o1dEKtB6O7fwxb2FgBmJS2mX7gpvdw==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=14.6"
+      }
+    },
+    "node_modules/pngjs": {
+      "version": "3.4.0",
+      "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz",
+      "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=4.0.0"
+      }
+    },
+    "node_modules/postcss": {
+      "version": "8.5.26",
+      "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.26.tgz",
+      "integrity": "sha512-u82N74LFzG8ca+dD8puPnplTXoGH4fTPpVGuIbt36G3qvNlkvfD0lEAZSxaly3KX8TS/L1A1gsCEmvKmBcVbkQ==",
+      "funding": [
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/postcss/"
+        },
+        {
+          "type": "tidelift",
+          "url": "https://tidelift.com/funding/github/npm/postcss"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/ai"
+        }
+      ],
+      "license": "MIT",
+      "dependencies": {
+        "nanoid": "^3.3.17",
+        "picocolors": "^1.1.1",
+        "source-map-js": "^1.2.1"
+      },
+      "engines": {
+        "node": "^10 || ^12 || >=14"
+      }
+    },
+    "node_modules/pretty-format": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz",
+      "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@jest/schemas": "^29.6.3",
+        "ansi-styles": "^5.0.0",
+        "react-is": "^18.0.0"
+      },
+      "engines": {
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+      }
+    },
+    "node_modules/pretty-format/node_modules/ansi-styles": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+      "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/proc-log": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz",
+      "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==",
+      "license": "ISC",
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.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/promise": {
+      "version": "8.3.0",
+      "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz",
+      "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==",
+      "license": "MIT",
+      "dependencies": {
+        "asap": "~2.0.6"
+      }
+    },
+    "node_modules/prompts": {
+      "version": "2.4.2",
+      "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz",
+      "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==",
+      "license": "MIT",
+      "dependencies": {
+        "kleur": "^3.0.3",
+        "sisteransi": "^1.0.5"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/query-string": {
+      "version": "7.1.3",
+      "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.3.tgz",
+      "integrity": "sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==",
+      "license": "MIT",
+      "dependencies": {
+        "decode-uri-component": "^0.2.2",
+        "filter-obj": "^1.1.0",
+        "split-on-first": "^1.0.0",
+        "strict-uri-encode": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/queue": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz",
+      "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==",
+      "license": "MIT",
+      "dependencies": {
+        "inherits": "~2.0.3"
+      }
+    },
+    "node_modules/range-parser": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+      "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/react": {
+      "version": "19.2.3",
+      "resolved": "https://registry.npmjs.org/react/-/react-19.2.3.tgz",
+      "integrity": "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/react-devtools-core": {
+      "version": "6.1.5",
+      "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-6.1.5.tgz",
+      "integrity": "sha512-ePrwPfxAnB+7hgnEr8vpKxL9cmnp7F322t8oqcPshbIQQhDKgFDW4tjhF2wjVbdXF9O/nyuy3sQWd9JGpiLPvA==",
+      "license": "MIT",
+      "dependencies": {
+        "shell-quote": "^1.6.1",
+        "ws": "^7"
+      }
+    },
+    "node_modules/react-fast-compare": {
+      "version": "3.2.2",
+      "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz",
+      "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==",
+      "license": "MIT"
+    },
+    "node_modules/react-freeze": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/react-freeze/-/react-freeze-1.0.4.tgz",
+      "integrity": "sha512-r4F0Sec0BLxWicc7HEyo2x3/2icUTrRmDjaaRyzzn+7aDyFZliszMDOgLVwSnQnYENOlL1o569Ze2HZefk8clA==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=10"
+      },
+      "peerDependencies": {
+        "react": ">=17.0.0"
+      }
+    },
+    "node_modules/react-is": {
+      "version": "18.3.1",
+      "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz",
+      "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==",
+      "license": "MIT"
+    },
+    "node_modules/react-native": {
+      "version": "0.86.2",
+      "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.86.2.tgz",
+      "integrity": "sha512-zbJXGZpwfZGA79Z9ob6Atvfx4nAQL8yJBa35s58E4Oo+khPykfQP2sTeumkKbjwajFYfVayg8pj7Il9nIfTk7A==",
+      "license": "MIT",
+      "dependencies": {
+        "@react-native/assets-registry": "0.86.2",
+        "@react-native/codegen": "0.86.2",
+        "@react-native/community-cli-plugin": "0.86.2",
+        "@react-native/gradle-plugin": "0.86.2",
+        "@react-native/js-polyfills": "0.86.2",
+        "@react-native/normalize-colors": "0.86.2",
+        "@react-native/virtualized-lists": "0.86.2",
+        "abort-controller": "^3.0.0",
+        "anser": "^1.4.9",
+        "ansi-regex": "^5.0.0",
+        "babel-plugin-syntax-hermes-parser": "0.36.0",
+        "base64-js": "^1.5.1",
+        "commander": "^12.0.0",
+        "flow-enums-runtime": "^0.0.6",
+        "hermes-compiler": "250829098.0.16",
+        "invariant": "^2.2.4",
+        "memoize-one": "^5.0.0",
+        "metro-runtime": "^0.84.3",
+        "metro-source-map": "^0.84.3",
+        "nullthrows": "^1.1.1",
+        "pretty-format": "^29.7.0",
+        "promise": "^8.3.0",
+        "react-devtools-core": "^6.1.5",
+        "react-refresh": "^0.14.0",
+        "regenerator-runtime": "^0.13.2",
+        "scheduler": "0.27.0",
+        "semver": "^7.1.3",
+        "stacktrace-parser": "^0.1.10",
+        "tinyglobby": "^0.2.15",
+        "whatwg-fetch": "^3.0.0",
+        "ws": "^7.5.10",
+        "yargs": "^17.6.2"
+      },
+      "bin": {
+        "react-native": "cli.js"
+      },
+      "engines": {
+        "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0"
+      },
+      "peerDependencies": {
+        "@react-native/jest-preset": "0.86.2",
+        "@types/react": "^19.1.1",
+        "react": "^19.2.3"
+      },
+      "peerDependenciesMeta": {
+        "@react-native/jest-preset": {
+          "optional": true
+        },
+        "@types/react": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/react-native-drawer-layout": {
+      "version": "4.2.10",
+      "resolved": "https://registry.npmjs.org/react-native-drawer-layout/-/react-native-drawer-layout-4.2.10.tgz",
+      "integrity": "sha512-O6TQdZ5LSm3dqnuR4rX9KPtE+9dVg7jsezEYz1l01rkQTe4fQvYZIoPu2sZFl5X2N70uhRdjnPULySVR3sBUwA==",
+      "license": "MIT",
+      "dependencies": {
+        "color": "^4.2.3",
+        "use-latest-callback": "^0.2.4"
+      },
+      "peerDependencies": {
+        "react": ">= 18.2.0",
+        "react-native": "*",
+        "react-native-gesture-handler": ">= 2.0.0",
+        "react-native-reanimated": ">= 2.0.0"
+      }
+    },
+    "node_modules/react-native-gesture-handler": {
+      "version": "2.32.0",
+      "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.32.0.tgz",
+      "integrity": "sha512-uYIMOKlKENORq2SABE+jIjbPU+h5I/sQKcq2v16zRq848nwEp1fWRVwML4QWqijc8UcXJC25o54S8GQd4Mf2OA==",
+      "license": "MIT",
+      "dependencies": {
+        "@egjs/hammerjs": "^2.0.17",
+        "@types/react-test-renderer": "^19.1.0",
+        "hoist-non-react-statics": "^3.3.0",
+        "invariant": "^2.2.4"
+      },
+      "peerDependencies": {
+        "react": "*",
+        "react-native": "*"
+      }
+    },
+    "node_modules/react-native-is-edge-to-edge": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/react-native-is-edge-to-edge/-/react-native-is-edge-to-edge-1.3.1.tgz",
+      "integrity": "sha512-NIXU/iT5+ORyCc7p0z2nnlkouYKX425vuU1OEm6bMMtWWR9yvb+Xg5AZmImTKoF9abxCPqrKC3rOZsKzUYgYZA==",
+      "license": "MIT",
+      "peerDependencies": {
+        "react": "*",
+        "react-native": "*"
+      }
+    },
+    "node_modules/react-native-reanimated": {
+      "version": "4.5.1",
+      "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-4.5.1.tgz",
+      "integrity": "sha512-RnMvtDuR+68ig864gAvZCOdZehqhC5rFmMo0kn+ARfgVSTvFeF6IFLBVgMPUu0KwihaapEyW24WRi6nEyy1kSA==",
+      "license": "MIT",
+      "dependencies": {
+        "react-native-is-edge-to-edge": "^1.3.1",
+        "semver": "^7.7.3"
+      },
+      "peerDependencies": {
+        "react": "*",
+        "react-native": "0.83 - 0.86",
+        "react-native-worklets": "0.10.x"
+      }
+    },
+    "node_modules/react-native-safe-area-context": {
+      "version": "5.7.0",
+      "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-5.7.0.tgz",
+      "integrity": "sha512-/9/MtQz8ODphjsLdZ+GZAIcC/RtoqW9EeShf7Uvnfgm/pzYrJ75y3PV/J1wuAV1T5Dye5ygq4EAW20RoBq0ABQ==",
+      "license": "MIT",
+      "peerDependencies": {
+        "react": "*",
+        "react-native": "*"
+      }
+    },
+    "node_modules/react-native-screens": {
+      "version": "4.26.2",
+      "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-4.26.2.tgz",
+      "integrity": "sha512-2XnWsZToKj76trGtEZzx5ELD/qOICFEprEeUntImmitQFVUkea27fiWdUSITArI356Y1qynpXZINW+Unbhky/A==",
+      "license": "MIT",
+      "dependencies": {
+        "react-freeze": "^1.0.0",
+        "warn-once": "^0.1.0"
+      },
+      "peerDependencies": {
+        "react": "*",
+        "react-native": "*"
+      }
+    },
+    "node_modules/react-native-worklets": {
+      "version": "0.10.1",
+      "resolved": "https://registry.npmjs.org/react-native-worklets/-/react-native-worklets-0.10.1.tgz",
+      "integrity": "sha512-62mRM19bDpfpdI8HLkEErcdOsrAPDtE9lA/sw+5lLRpzBHNhxaoj9QyY2KjXqUmirelxkX4zuPGTC3VdA0feJA==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/plugin-transform-arrow-functions": "^7.27.1",
+        "@babel/plugin-transform-class-properties": "^7.28.6",
+        "@babel/plugin-transform-classes": "^7.28.6",
+        "@babel/plugin-transform-nullish-coalescing-operator": "^7.28.6",
+        "@babel/plugin-transform-optional-chaining": "^7.28.6",
+        "@babel/plugin-transform-shorthand-properties": "^7.27.1",
+        "@babel/plugin-transform-template-literals": "^7.27.1",
+        "@babel/plugin-transform-unicode-regex": "^7.27.1",
+        "@babel/preset-typescript": "^7.28.5",
+        "@babel/types": "^7.27.1",
+        "convert-source-map": "^2.0.0",
+        "semver": "^7.7.4"
+      },
+      "peerDependencies": {
+        "@babel/core": "*",
+        "@react-native/metro-config": "*",
+        "react": "*",
+        "react-native": "0.83 - 0.86"
+      }
+    },
+    "node_modules/react-native/node_modules/commander": {
+      "version": "12.1.0",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz",
+      "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=18"
+      }
+    },
+    "node_modules/react-refresh": {
+      "version": "0.14.2",
+      "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz",
+      "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/react-remove-scroll": {
+      "version": "2.7.2",
+      "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.7.2.tgz",
+      "integrity": "sha512-Iqb9NjCCTt6Hf+vOdNIZGdTiH1QSqr27H/Ek9sv/a97gfueI/5h1s3yRi1nngzMUaOOToin5dI1dXKdXiF+u0Q==",
+      "license": "MIT",
+      "dependencies": {
+        "react-remove-scroll-bar": "^2.3.7",
+        "react-style-singleton": "^2.2.3",
+        "tslib": "^2.1.0",
+        "use-callback-ref": "^1.3.3",
+        "use-sidecar": "^1.1.3"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "peerDependencies": {
+        "@types/react": "*",
+        "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc"
+      },
+      "peerDependenciesMeta": {
+        "@types/react": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/react-remove-scroll-bar": {
+      "version": "2.3.8",
+      "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz",
+      "integrity": "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==",
+      "license": "MIT",
+      "dependencies": {
+        "react-style-singleton": "^2.2.2",
+        "tslib": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "peerDependencies": {
+        "@types/react": "*",
+        "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+      },
+      "peerDependenciesMeta": {
+        "@types/react": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/react-style-singleton": {
+      "version": "2.2.3",
+      "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz",
+      "integrity": "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==",
+      "license": "MIT",
+      "dependencies": {
+        "get-nonce": "^1.0.0",
+        "tslib": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "peerDependencies": {
+        "@types/react": "*",
+        "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc"
+      },
+      "peerDependenciesMeta": {
+        "@types/react": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/redent": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
+      "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
+      "license": "MIT",
+      "dependencies": {
+        "indent-string": "^4.0.0",
+        "strip-indent": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/regenerate": {
+      "version": "1.4.2",
+      "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
+      "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==",
+      "license": "MIT"
+    },
+    "node_modules/regenerate-unicode-properties": {
+      "version": "10.2.2",
+      "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.2.tgz",
+      "integrity": "sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==",
+      "license": "MIT",
+      "dependencies": {
+        "regenerate": "^1.4.2"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/regenerator-runtime": {
+      "version": "0.13.11",
+      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
+      "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==",
+      "license": "MIT"
+    },
+    "node_modules/regexpu-core": {
+      "version": "6.4.0",
+      "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.4.0.tgz",
+      "integrity": "sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==",
+      "license": "MIT",
+      "dependencies": {
+        "regenerate": "^1.4.2",
+        "regenerate-unicode-properties": "^10.2.2",
+        "regjsgen": "^0.8.0",
+        "regjsparser": "^0.13.0",
+        "unicode-match-property-ecmascript": "^2.0.0",
+        "unicode-match-property-value-ecmascript": "^2.2.1"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/regjsgen": {
+      "version": "0.8.0",
+      "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz",
+      "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==",
+      "license": "MIT"
+    },
+    "node_modules/regjsparser": {
+      "version": "0.13.2",
+      "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.2.tgz",
+      "integrity": "sha512-NgRBy2Nx/bE+9F27nVHnqcN5HjyLmecqsqx2PJHu3/IEtADD4WuxuXIVExD5PoSDFVrl78dOonfcOe5O+5nbzQ==",
+      "license": "BSD-2-Clause",
+      "dependencies": {
+        "jsesc": "~3.1.0"
+      },
+      "bin": {
+        "regjsparser": "bin/parser"
+      }
+    },
+    "node_modules/require-directory": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+      "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/resolve": {
+      "version": "1.22.12",
+      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.12.tgz",
+      "integrity": "sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==",
+      "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/resolve-from": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+      "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/resolve-workspace-root": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/resolve-workspace-root/-/resolve-workspace-root-2.0.1.tgz",
+      "integrity": "sha512-nR23LHAvaI6aHtMg6RWoaHpdR4D881Nydkzi2CixINyg9T00KgaJdJI6Vwty+Ps8WLxZHuxsS0BseWjxSA4C+w==",
+      "license": "MIT"
+    },
+    "node_modules/restore-cursor": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
+      "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==",
+      "license": "MIT",
+      "dependencies": {
+        "onetime": "^2.0.0",
+        "signal-exit": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/safe-buffer": {
+      "version": "5.2.1",
+      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+      "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ],
+      "license": "MIT"
+    },
+    "node_modules/sax": {
+      "version": "1.6.1",
+      "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.1.tgz",
+      "integrity": "sha512-42tBVwLWnaQvW5zc4HbZrTuWccECCZfBi92FDuwtqxasH+JbPB3/FOKb1m222K42R4WxuxzzMsTswfzgtSu64Q==",
+      "license": "BlueOak-1.0.0",
+      "engines": {
+        "node": ">=11.0.0"
+      }
+    },
+    "node_modules/scheduler": {
+      "version": "0.27.0",
+      "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz",
+      "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==",
+      "license": "MIT"
+    },
+    "node_modules/semver": {
+      "version": "7.8.5",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz",
+      "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==",
+      "license": "ISC",
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/send": {
+      "version": "0.19.2",
+      "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz",
+      "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==",
+      "license": "MIT",
+      "dependencies": {
+        "debug": "2.6.9",
+        "depd": "2.0.0",
+        "destroy": "1.2.0",
+        "encodeurl": "~2.0.0",
+        "escape-html": "~1.0.3",
+        "etag": "~1.8.1",
+        "fresh": "~0.5.2",
+        "http-errors": "~2.0.1",
+        "mime": "1.6.0",
+        "ms": "2.1.3",
+        "on-finished": "~2.4.1",
+        "range-parser": "~1.2.1",
+        "statuses": "~2.0.2"
+      },
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
+    "node_modules/send/node_modules/debug": {
+      "version": "2.6.9",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+      "license": "MIT",
+      "dependencies": {
+        "ms": "2.0.0"
+      }
+    },
+    "node_modules/send/node_modules/debug/node_modules/ms": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+      "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+      "license": "MIT"
+    },
+    "node_modules/send/node_modules/encodeurl": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
+      "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/send/node_modules/on-finished": {
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+      "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+      "license": "MIT",
+      "dependencies": {
+        "ee-first": "1.1.1"
+      },
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/send/node_modules/statuses": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz",
+      "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/serialize-error": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz",
+      "integrity": "sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/serve-static": {
+      "version": "1.16.3",
+      "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz",
+      "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==",
+      "license": "MIT",
+      "dependencies": {
+        "encodeurl": "~2.0.0",
+        "escape-html": "~1.0.3",
+        "parseurl": "~1.3.3",
+        "send": "~0.19.1"
+      },
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
+    "node_modules/serve-static/node_modules/encodeurl": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
+      "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/server-only": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/server-only/-/server-only-0.0.1.tgz",
+      "integrity": "sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==",
+      "license": "MIT"
+    },
+    "node_modules/setprototypeof": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
+      "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
+      "license": "ISC"
+    },
+    "node_modules/sf-symbols-typescript": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/sf-symbols-typescript/-/sf-symbols-typescript-2.2.0.tgz",
+      "integrity": "sha512-TPbeg0b7ylrswdGCji8FRGFAKuqbpQlLbL8SOle3j1iHSs5Ob5mhvMAxWN2UItOjgALAB5Zp3fmMfj8mbWvXKw==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/shallowequal": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz",
+      "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==",
+      "license": "MIT"
+    },
+    "node_modules/shebang-command": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+      "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+      "license": "MIT",
+      "dependencies": {
+        "shebang-regex": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/shebang-regex": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+      "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/shell-quote": {
+      "version": "1.10.0",
+      "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.10.0.tgz",
+      "integrity": "sha512-w1aiOKwKuRgtwAReIIj89puqg+I7GvX4IbLrvmhXbzQsj1+Zwi4VO3+fa6ZF91TWSjIxoEkKnMeHcLEODK5ZXA==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/signal-exit": {
+      "version": "3.0.7",
+      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+      "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
+      "license": "ISC"
+    },
+    "node_modules/simple-plist": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-1.3.1.tgz",
+      "integrity": "sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw==",
+      "license": "MIT",
+      "dependencies": {
+        "bplist-creator": "0.1.0",
+        "bplist-parser": "0.3.1",
+        "plist": "^3.0.5"
+      }
+    },
+    "node_modules/simple-swizzle": {
+      "version": "0.2.4",
+      "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.4.tgz",
+      "integrity": "sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==",
+      "license": "MIT",
+      "dependencies": {
+        "is-arrayish": "^0.3.1"
+      }
+    },
+    "node_modules/sisteransi": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
+      "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
+      "license": "MIT"
+    },
+    "node_modules/slugify": {
+      "version": "1.6.9",
+      "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.9.tgz",
+      "integrity": "sha512-vZ7rfeehZui7wQs438JXBckYLkIIdfHOXsaVEUMyS5fHo1483l1bMdo0EDSWYclY0yZKFOipDy4KHuKs6ssvdg==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=8.0.0"
+      }
+    },
+    "node_modules/source-map": {
+      "version": "0.5.7",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+      "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
+      "license": "BSD-3-Clause",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/source-map-js": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
+      "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
+      "license": "BSD-3-Clause",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/source-map-support": {
+      "version": "0.5.21",
+      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
+      "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
+      "license": "MIT",
+      "dependencies": {
+        "buffer-from": "^1.0.0",
+        "source-map": "^0.6.0"
+      }
+    },
+    "node_modules/source-map-support/node_modules/source-map": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+      "license": "BSD-3-Clause",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/split-on-first": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz",
+      "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/stackframe": {
+      "version": "1.3.4",
+      "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz",
+      "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==",
+      "license": "MIT"
+    },
+    "node_modules/stacktrace-parser": {
+      "version": "0.1.11",
+      "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.11.tgz",
+      "integrity": "sha512-WjlahMgHmCJpqzU8bIBy4qtsZdU9lRlcZE3Lvyej6t4tuOuv1vk57OW3MBrj6hXBFx/nNoC9MPMTcr5YA7NQbg==",
+      "license": "MIT",
+      "dependencies": {
+        "type-fest": "^0.7.1"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/standard-navigation": {
+      "version": "0.0.5",
+      "resolved": "https://registry.npmjs.org/standard-navigation/-/standard-navigation-0.0.5.tgz",
+      "integrity": "sha512-YAmzwAiiQVocZxO/VGPFiQHcu5pKiz09QIGC0MK6aRMoa3E0QkoTQgcqJr7ZZ3OMiNhu4DkaGElFI5htjOIDbw==",
+      "license": "MIT"
+    },
+    "node_modules/statuses": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
+      "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/stream-buffers": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz",
+      "integrity": "sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg==",
+      "license": "Unlicense",
+      "engines": {
+        "node": ">= 0.10.0"
+      }
+    },
+    "node_modules/strict-uri-encode": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz",
+      "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/string-width": {
+      "version": "4.2.3",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+      "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",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+      "license": "MIT",
+      "dependencies": {
+        "ansi-regex": "^5.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/strip-indent": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
+      "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
+      "license": "MIT",
+      "dependencies": {
+        "min-indent": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/structured-headers": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/structured-headers/-/structured-headers-0.4.1.tgz",
+      "integrity": "sha512-0MP/Cxx5SzeeZ10p/bZI0S6MpgD+yxAhi1BOQ34jgnMXsCq3j1t6tQnZu+KdlL7dvJTLT3g9xN8tl10TqgFMcg==",
+      "license": "MIT"
+    },
+    "node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+      "license": "MIT",
+      "dependencies": {
+        "has-flag": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/supports-hyperlinks": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz",
+      "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==",
+      "license": "MIT",
+      "dependencies": {
+        "has-flag": "^4.0.0",
+        "supports-color": "^7.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/supports-preserve-symlinks-flag": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+      "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/terminal-link": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz",
+      "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==",
+      "license": "MIT",
+      "dependencies": {
+        "ansi-escapes": "^4.2.1",
+        "supports-hyperlinks": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/terser": {
+      "version": "5.49.2",
+      "resolved": "https://registry.npmjs.org/terser/-/terser-5.49.2.tgz",
+      "integrity": "sha512-rGbJiKeQ4WDe3EXlDAIaQcwftVfv2Q8o1awFNfvXolJYKkb1AuZY1RTOmqx4LJXZENbWZA7eIsYGHuEzHsi1nQ==",
+      "license": "BSD-2-Clause",
+      "dependencies": {
+        "@jridgewell/source-map": "^0.3.3",
+        "acorn": "^8.15.0",
+        "commander": "^2.20.0",
+        "source-map-support": "~0.5.20"
+      },
+      "bin": {
+        "terser": "bin/terser"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/terser/node_modules/commander": {
+      "version": "2.20.3",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+      "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+      "license": "MIT"
+    },
+    "node_modules/throat": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz",
+      "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==",
+      "license": "MIT"
+    },
+    "node_modules/tinyglobby": {
+      "version": "0.2.17",
+      "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz",
+      "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==",
+      "license": "MIT",
+      "dependencies": {
+        "fdir": "^6.5.0",
+        "picomatch": "^4.0.4"
+      },
+      "engines": {
+        "node": ">=12.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/SuperchupuDev"
+      }
+    },
+    "node_modules/tinyglobby/node_modules/fdir": {
+      "version": "6.5.0",
+      "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
+      "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=12.0.0"
+      },
+      "peerDependencies": {
+        "picomatch": "^3 || ^4"
+      },
+      "peerDependenciesMeta": {
+        "picomatch": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/tinyglobby/node_modules/picomatch": {
+      "version": "4.0.5",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz",
+      "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/jonschlinkert"
+      }
+    },
+    "node_modules/tmpl": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz",
+      "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==",
+      "license": "BSD-3-Clause"
+    },
+    "node_modules/to-regex-range": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+      "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+      "license": "MIT",
+      "dependencies": {
+        "is-number": "^7.0.0"
+      },
+      "engines": {
+        "node": ">=8.0"
+      }
+    },
+    "node_modules/toidentifier": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
+      "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=0.6"
+      }
+    },
+    "node_modules/toqr": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/toqr/-/toqr-0.1.1.tgz",
+      "integrity": "sha512-FWAPzCIHZHnrE/5/w9MPk0kK25hSQSH2IKhYh9PyjS3SG/+IEMvlwIHbhz+oF7xl54I+ueZlVnMjyzdSwLmAwA==",
+      "license": "MIT"
+    },
+    "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": "0.7.1",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz",
+      "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==",
+      "license": "(MIT OR CC0-1.0)",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/typescript": {
+      "version": "6.0.3",
+      "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz",
+      "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==",
+      "dev": true,
+      "license": "Apache-2.0",
+      "bin": {
+        "tsc": "bin/tsc",
+        "tsserver": "bin/tsserver"
+      },
+      "engines": {
+        "node": ">=14.17"
+      }
+    },
+    "node_modules/undici-types": {
+      "version": "8.3.0",
+      "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-8.3.0.tgz",
+      "integrity": "sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==",
+      "license": "MIT"
+    },
+    "node_modules/unicode-canonical-property-names-ecmascript": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz",
+      "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/unicode-match-property-ecmascript": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz",
+      "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==",
+      "license": "MIT",
+      "dependencies": {
+        "unicode-canonical-property-names-ecmascript": "^2.0.0",
+        "unicode-property-aliases-ecmascript": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/unicode-match-property-value-ecmascript": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz",
+      "integrity": "sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/unicode-property-aliases-ecmascript": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz",
+      "integrity": "sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/unpipe": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+      "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/update-browserslist-db": {
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz",
+      "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==",
+      "funding": [
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/browserslist"
+        },
+        {
+          "type": "tidelift",
+          "url": "https://tidelift.com/funding/github/npm/browserslist"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/ai"
+        }
+      ],
+      "license": "MIT",
+      "dependencies": {
+        "escalade": "^3.2.0",
+        "picocolors": "^1.1.1"
+      },
+      "bin": {
+        "update-browserslist-db": "cli.js"
+      },
+      "peerDependencies": {
+        "browserslist": ">= 4.21.0"
+      }
+    },
+    "node_modules/use-callback-ref": {
+      "version": "1.3.3",
+      "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.3.tgz",
+      "integrity": "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==",
+      "license": "MIT",
+      "dependencies": {
+        "tslib": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "peerDependencies": {
+        "@types/react": "*",
+        "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc"
+      },
+      "peerDependenciesMeta": {
+        "@types/react": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/use-latest-callback": {
+      "version": "0.2.6",
+      "resolved": "https://registry.npmjs.org/use-latest-callback/-/use-latest-callback-0.2.6.tgz",
+      "integrity": "sha512-FvRG9i1HSo0wagmX63Vrm8SnlUU3LMM3WyZkQ76RnslpBrX694AdG4A0zQBx2B3ZifFA0yv/BaEHGBnEax5rZg==",
+      "license": "MIT",
+      "peerDependencies": {
+        "react": ">=16.8"
+      }
+    },
+    "node_modules/use-sidecar": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.3.tgz",
+      "integrity": "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==",
+      "license": "MIT",
+      "dependencies": {
+        "detect-node-es": "^1.1.0",
+        "tslib": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "peerDependencies": {
+        "@types/react": "*",
+        "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc"
+      },
+      "peerDependenciesMeta": {
+        "@types/react": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/utils-merge": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+      "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.4.0"
+      }
+    },
+    "node_modules/uuid": {
+      "version": "7.0.3",
+      "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz",
+      "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==",
+      "deprecated": "uuid@10 and below is no longer supported.  For ESM codebases, update to uuid@latest.  For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028).",
+      "license": "MIT",
+      "bin": {
+        "uuid": "dist/bin/uuid"
+      }
+    },
+    "node_modules/validate-npm-package-name": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz",
+      "integrity": "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==",
+      "license": "ISC",
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/vary": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+      "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/vaul": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/vaul/-/vaul-1.1.2.tgz",
+      "integrity": "sha512-ZFkClGpWyI2WUQjdLJ/BaGuV6AVQiJ3uELGk3OYtP+B6yCO7Cmn9vPFXVJkRaGkOJu3m8bQMgtyzNHixULceQA==",
+      "license": "MIT",
+      "dependencies": {
+        "@radix-ui/react-dialog": "^1.1.1"
+      },
+      "peerDependencies": {
+        "react": "^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc",
+        "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc"
+      }
+    },
+    "node_modules/vlq": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz",
+      "integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==",
+      "license": "MIT"
+    },
+    "node_modules/walker": {
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz",
+      "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==",
+      "license": "Apache-2.0",
+      "dependencies": {
+        "makeerror": "1.0.12"
+      }
+    },
+    "node_modules/warn-once": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/warn-once/-/warn-once-0.1.1.tgz",
+      "integrity": "sha512-VkQZJbO8zVImzYFteBXvBOZEl1qL175WH8VmZcxF2fZAoudNhNDvHi+doCaAEdU2l2vtcIwa2zn0QK5+I1HQ3Q==",
+      "license": "MIT"
+    },
+    "node_modules/wcwidth": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
+      "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==",
+      "license": "MIT",
+      "dependencies": {
+        "defaults": "^1.0.3"
+      }
+    },
+    "node_modules/whatwg-fetch": {
+      "version": "3.6.20",
+      "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz",
+      "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==",
+      "license": "MIT"
+    },
+    "node_modules/whatwg-url-minimum": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/whatwg-url-minimum/-/whatwg-url-minimum-0.1.2.tgz",
+      "integrity": "sha512-XPEm0XFQWNVG292lII1PrRRJl3sItrs7CettZ4ncYxuDVpLyy+NwlGyut2hXI0JswcJUxeCH+CyOJK0ZzAXD6A==",
+      "license": "MIT"
+    },
+    "node_modules/which": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+      "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+      "license": "ISC",
+      "dependencies": {
+        "isexe": "^2.0.0"
+      },
+      "bin": {
+        "node-which": "bin/node-which"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/wrap-ansi": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+      "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+      "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/ws": {
+      "version": "7.5.13",
+      "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.13.tgz",
+      "integrity": "sha512-rsKI6xDBFVf4r/x8XyChGK04QR/XHroxs/jUcoWvtEZM8TPU/X/uIY9B1CsSzYws9ZJb/6bbBu7dPhFW00CAoA==",
+      "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/xcode": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/xcode/-/xcode-3.0.1.tgz",
+      "integrity": "sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA==",
+      "license": "Apache-2.0",
+      "dependencies": {
+        "simple-plist": "^1.1.0",
+        "uuid": "^7.0.3"
+      },
+      "engines": {
+        "node": ">=10.0.0"
+      }
+    },
+    "node_modules/xml2js": {
+      "version": "0.6.0",
+      "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.0.tgz",
+      "integrity": "sha512-eLTh0kA8uHceqesPqSE+VvO1CDDJWMwlQfB6LuN6T8w6MaDJ8Txm8P7s5cHD0miF0V+GGTZrDQfxPZQVsur33w==",
+      "license": "MIT",
+      "dependencies": {
+        "sax": ">=0.6.0",
+        "xmlbuilder": "~11.0.0"
+      },
+      "engines": {
+        "node": ">=4.0.0"
+      }
+    },
+    "node_modules/xml2js/node_modules/xmlbuilder": {
+      "version": "11.0.1",
+      "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
+      "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=4.0"
+      }
+    },
+    "node_modules/xmlbuilder": {
+      "version": "15.1.1",
+      "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz",
+      "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=8.0"
+      }
+    },
+    "node_modules/y18n": {
+      "version": "5.0.8",
+      "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+      "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+      "license": "ISC",
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/yallist": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+      "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+      "license": "ISC"
+    },
+    "node_modules/yaml": {
+      "version": "2.9.0",
+      "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz",
+      "integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==",
+      "license": "ISC",
+      "bin": {
+        "yaml": "bin.mjs"
+      },
+      "engines": {
+        "node": ">= 14.6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/eemeli"
+      }
+    },
+    "node_modules/yargs": {
+      "version": "17.7.3",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.3.tgz",
+      "integrity": "sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==",
+      "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",
+      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+      "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+      "license": "ISC",
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "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"
+      }
+    }
+  }
+}
diff --git a/apps/mobile/package.json b/apps/mobile/package.json
new file mode 100644
index 0000000..006b26f
--- /dev/null
+++ b/apps/mobile/package.json
@@ -0,0 +1,37 @@
+{
+  "name": "mobile",
+  "version": "1.0.3",
+  "main": "index.ts",
+  "dependencies": {
+    "@expo/vector-icons": "^15.0.2",
+    "@react-native-async-storage/async-storage": "2.2.0",
+    "expo": "~57.0.11",
+    "expo-apple-authentication": "~57.0.1",
+    "expo-constants": "~57.0.9",
+    "expo-linking": "~57.0.5",
+    "expo-router": "~57.0.11",
+    "expo-secure-store": "~57.0.1",
+    "expo-splash-screen": "~57.0.5",
+    "expo-status-bar": "~57.0.1",
+    "react": "19.2.3",
+    "react-native": "0.86.2",
+    "react-native-gesture-handler": "~2.32.0",
+    "react-native-reanimated": "4.5.1",
+    "react-native-safe-area-context": "~5.7.0",
+    "react-native-screens": "~4.26.0",
+    "react-native-worklets": "0.10.1"
+  },
+  "devDependencies": {
+    "@types/react": "~19.2.2",
+    "typescript": "~6.0.3"
+  },
+  "scripts": {
+    "start": "expo start",
+    "android": "expo run:android",
+    "ios": "expo run:ios",
+    "web": "expo start --web",
+    "lint:fin": "node scripts/lint-financial-format.mjs",
+    "test:unit": "node --test --experimental-strip-types tests/*.test.mjs"
+  },
+  "private": true
+}
diff --git a/apps/mobile/store-assets/privacy-label.md b/apps/mobile/store-assets/privacy-label.md
new file mode 100644
index 0000000..56242be
--- /dev/null
+++ b/apps/mobile/store-assets/privacy-label.md
@@ -0,0 +1,45 @@
+# App Privacy label — GovArbitrage (draft)
+
+App Store Connect → GovArbitrage → App Privacy. Answer these to match what the NATIVE binary
+actually does (cross-checked against the code — see notes). Draft only.
+
+## Does this app collect data? → NO
+The native app collects no data for us or any third party.
+
+### Data types collected
+| Data type | Collected? | Notes |
+|---|---|---|
+| Everything | No | The app links no analytics/ads SDK and creates no account. |
+
+- The only values the app persists are the **API base URL** and an optional **access
+  credential**, both typed by the user in Settings and stored **encrypted on-device**
+  (`expo-secure-store`). They are sent only to the user's configured server; we never receive
+  them. Per Apple's definition this is not "collection" (not sent off-device to the developer
+  or a third party) → declare **Data Not Collected**.
+
+## Tracking → NONE
+- **Not** used to track you. No ATT prompt required, and no `NSUserTrackingUsageDescription`
+  is (or should be) added.
+- Cross-check / evidence: no analytics or ad SDK appears in `package.json` or the source; all
+  network calls are plain `fetch()` to the user's configured `/api/*` endpoints
+  (`lib/api.ts`). There is no WebView (so no third-party script surface either).
+
+## Data NOT collected (declare "Not Collected")
+- Location, Contacts, Health, Financial info, Browsing history, Search history,
+  Identifiers (IDFA), Usage Data, Diagnostics, Photos, Audio, User Content.
+
+## Account deletion (Guideline 5.1.1(v)) — N/A
+- The app creates **no user account**. The Settings "credentials" field is an optional API
+  auth value for the user's own server, stored on-device — there is no account to delete.
+  Do not describe the app as having "accounts" in the listing/review notes.
+
+## No permissions requested
+- The app touches no camera, location, photos, contacts, microphone, notifications, or
+  tracking APIs — so there are NO `NS*UsageDescription` strings to add (a common binary
+  rejection). This is a genuinely low-permission app.
+
+## Reviewer note (for the App Review "Notes" field)
+"Native app over the auctions.agentabrams.com JSON API — not a web wrapper, no WebView. Opens
+with real data against the default server; no sign-in needed. The app does no ad/analytics
+tracking and has no in-app purchase. The Settings credential field is an optional API auth
+value for the user's own server, stored encrypted on-device."
diff --git a/apps/mobile/tsconfig.json b/apps/mobile/tsconfig.json
new file mode 100644
index 0000000..a74f665
--- /dev/null
+++ b/apps/mobile/tsconfig.json
@@ -0,0 +1,18 @@
+{
+  "extends": "expo/tsconfig.base",
+  "compilerOptions": {
+    "strict": true,
+    "paths": {
+      "@/*": [
+        "./*"
+      ]
+    }
+  },
+  "include": [
+    "**/*.ts",
+    "**/*.tsx",
+    ".expo/types/**/*.d.ts",
+    "expo-env.d.ts",
+    ".expo/types/**/*.ts"
+  ]
+}
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000..f056620
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,57 @@
+# GovArbitrage — local/dev stack.
+#
+# First run: bring up the db, then push the schema + seed it, e.g.:
+#   docker compose up -d db
+#   docker compose run --rm web npx prisma db push
+#   docker compose run --rm web npm run db:seed
+# (i.e. run `npx prisma db push && npm run db:seed` against the db service),
+# then `docker compose up web`.
+
+services:
+  db:
+    image: postgres:16-alpine
+    environment:
+      POSTGRES_DB: govarbitrage
+      POSTGRES_USER: govarbitrage
+      POSTGRES_PASSWORD: govarbitrage
+    ports:
+      - "5432:5432"
+    volumes:
+      - db-data:/var/lib/postgresql/data
+    healthcheck:
+      test: ["CMD-SHELL", "pg_isready -U govarbitrage -d govarbitrage"]
+      interval: 5s
+      timeout: 5s
+      retries: 10
+
+  # Optional — only needed if you enable BullMQ background jobs (REDIS_URL set).
+  redis:
+    image: redis:7-alpine
+    ports:
+      - "6379:6379"
+    volumes:
+      - redis-data:/data
+
+  web:
+    build:
+      context: .
+      dockerfile: Dockerfile
+    depends_on:
+      db:
+        condition: service_healthy
+    environment:
+      DATABASE_URL: "postgresql://govarbitrage:govarbitrage@db:5432/govarbitrage?schema=public"
+      REDIS_URL: "redis://redis:6379"
+      NODE_ENV: "production"
+      # Local AI (Ollama) runs on the host; from inside the container reach it via
+      # host.docker.internal. Leave AI opt-out to fall back to the heuristic.
+      OLLAMA_BASE_URL: "http://host.docker.internal:11434"
+      AI_PROVIDER: "ollama"
+      AUTH_SECRET: "dev-only-change-me"
+      ENCRYPTION_KEY: "0123456789abcdef0123456789abcdef"
+    ports:
+      - "3000:3000"
+
+volumes:
+  db-data:
+  redis-data:
diff --git a/docs/API.md b/docs/API.md
new file mode 100644
index 0000000..376f494
--- /dev/null
+++ b/docs/API.md
@@ -0,0 +1,155 @@
+# GovArbitrage — HTTP API
+
+All endpoints live under the Next.js App Router (`src/app/api`) and are marked
+`dynamic = "force-dynamic"`. Responses are JSON. The base URL in local
+development is `http://localhost:3000`.
+
+The following endpoints exist today. Additional endpoints (listing **import**,
+**buyer** interest/lead capture) may be added.
+
+---
+
+## `GET /api/listings`
+
+Returns a paginated, filtered, sorted page of listings flattened into
+`ListingRow` shape. Filtering, per-profile score selection, sorting, and
+pagination are handled by `queryListings()` in `src/lib/listings.ts`.
+
+### Query parameters
+
+| Param                | Type                          | Default              | Notes                                                                                 |
+| -------------------- | ----------------------------- | -------------------- | ------------------------------------------------------------------------------------- |
+| `search`             | string                        | —                    | Case-insensitive contains-match across `title`, `manufacturer`, `model`, `sourceAuctionId`. |
+| `source`             | `AuctionSource` enum          | —                    | Exact match, e.g. `GOVDEALS`, `PUBLIC_SURPLUS`, `GSA_AUCTIONS`, `COUNTY`, `STATE_SURPLUS`, `UNIVERSITY_SURPLUS`, `MUNICIBID`, `BID4ASSETS`, `CSV`, `EXTENSION`, `OTHER`. |
+| `category`           | string                        | —                    | Case-insensitive contains-match on `category`.                                        |
+| `condition`          | `Condition` enum              | —                    | Exact match: `NEW`, `LIKE_NEW`, `USED_GOOD`, `USED_FAIR`, `FOR_PARTS`, `UNKNOWN`.     |
+| `risk`               | `LOW` \| `MEDIUM` \| `HIGH`   | —                    | Post-filter on the selected profile's risk rating.                                    |
+| `closingWithinHours` | number                        | —                    | Only listings whose `closingAt` is between now and now + N hours.                     |
+| `sort`               | `keyof ListingRow`            | `opportunityScore`   | Any `ListingRow` field (see response fields below).                                   |
+| `dir`                | `asc` \| `desc`               | `desc`               | Sort direction. Numeric fields sort numerically; others by locale string compare.     |
+| `page`               | number                        | `1`                  | 1-based page index.                                                                   |
+| `pageSize`           | number                        | `50`                 | Rows per page.                                                                         |
+| `profile`            | `ScoreProfile` enum           | `OVERALL_OPPORTUNITY`| Which score profile drives the score columns + `risk`/`dropShip`. One of `OVERALL_OPPORTUNITY`, `BEST_ARBITRAGE`, `QUICK_FLIP`, `COLLECTOR`, `LOCAL_PICKUP`, `EASY_FREIGHT`, `PARTS_ONLY`, `HIGH_CONFIDENCE`, `HIGH_PROFIT`. |
+
+### Response
+
+```json
+{
+  "rows": [ /* ListingRow[] */ ],
+  "total": 128,
+  "page": 1,
+  "pageSize": 50
+}
+```
+
+- `total` is the count **after** filtering (including the risk post-filter), before pagination.
+- `rows` is the current page slice.
+
+### `ListingRow` fields
+
+Each row is denormalized from `Listing + Research + CostBreakdown + chosen Score`
+by `flattenListing()`. Money fields are numbers (USD); score fields are 0..100;
+`roi` is a ratio (e.g. `0.42` = 42%). Fields typed `| null` are null when the
+underlying research/cost/score is absent.
+
+| Field                                  | Type            | Source                                                            |
+| -------------------------------------- | --------------- | ---------------------------------------------------------------- |
+| `id`                                   | string          | Listing id                                                       |
+| `source`                               | string          | `AuctionSource`                                                  |
+| `sourceAuctionId`                      | string          | Lot/auction number on the source site                            |
+| `sourceUrl`                            | string \| null  |                                                                  |
+| `title`                                | string          |                                                                  |
+| `category`                             | string \| null  |                                                                  |
+| `manufacturer`                         | string \| null  |                                                                  |
+| `model`                                | string \| null  |                                                                  |
+| `condition`                            | string          | `Condition`                                                      |
+| `quantity`                             | number          |                                                                  |
+| `currentBid`                           | number          | Live current bid                                                 |
+| `currentCost`                          | number          | Acquisition-in: winning bid + buyer premium + sales tax          |
+| `recommendedMaxBid`                    | number          | Back-solved from target ROI (`CostBreakdown`)                    |
+| `retailLow`                            | number \| null  | `avgRetail`                                                      |
+| `retailAverage`                        | number \| null  | `avgRetail`                                                      |
+| `retailHigh`                           | number \| null  | `newRetail`                                                      |
+| `usedLow` / `usedAverage` / `usedHigh` | number \| null  | `usedLow` / `usedSoldPrice` / `usedHigh`                         |
+| `wholesale`                            | number \| null  | `wholesaleValue`                                                 |
+| `liquidation`                          | number \| null  | `liquidationValue`                                               |
+| `sellNow`                              | number \| null  | `sellTodayValue`                                                 |
+| `value7Day` / `value30Day` / `value90Day` | number \| null | Time-horizon values                                            |
+| `expectedSale`                         | number \| null  | `expectedSalePrice`                                              |
+| `shipping`                             | number          | Cost line item                                                   |
+| `freight`                              | number          | Cost line item                                                   |
+| `repairs`                              | number          | Cost line item                                                   |
+| `marketplaceFees`                      | number          | Cost line item                                                   |
+| `netProfit`                            | number          | `expectedNetProfit`                                             |
+| `roi`                                  | number          | Ratio                                                            |
+| `risk`                                 | string          | Selected profile's risk (`LOW`/`MEDIUM`/`HIGH`)                 |
+| `confidence`                           | number \| null  | `confidenceScore` 0..100                                        |
+| `opportunityScore`                     | number          | Selected profile's `value`                                      |
+| `arbitrageScore`                       | number          | Component sub-score                                              |
+| `demandScore`                          | number          | Component sub-score                                              |
+| `velocityScore`                        | number          | Component sub-score                                              |
+| `logisticsScore`                       | number          | Component sub-score                                              |
+| `conditionScore`                       | number          | Component sub-score                                              |
+| `competitionScore`                     | number          | Component sub-score                                              |
+| `buyerScore`                           | number          | Component sub-score                                              |
+| `dropShip`                             | string          | Selected profile's drop-ship feasibility                        |
+| `closingAt`                            | string \| null  | ISO 8601                                                         |
+| `researchStatus`                       | string          | `ResearchStatus`                                                |
+| `imageUrl`                             | string \| null  | First image URL                                                 |
+
+### Example
+
+```bash
+curl 'http://localhost:3000/api/listings?source=GOVDEALS&condition=USED_GOOD&profile=BEST_ARBITRAGE&sort=netProfit&dir=desc&closingWithinHours=48&page=1&pageSize=25'
+```
+
+---
+
+## `GET /api/listings/[id]`
+
+Returns a single full listing with all relations, or `404`.
+
+### Path parameters
+
+| Param | Type   | Notes        |
+| ----- | ------ | ------------ |
+| `id`  | string | Listing id.  |
+
+### Response
+
+The raw Prisma `Listing` record including these relations:
+
+- `research` (1:1)
+- `costBreakdown` (1:1)
+- `scores` — ordered by `value` descending
+- `comparables` — ordered by `price` descending
+- `notes` — ordered by `createdAt` descending
+- `events` — ordered by `createdAt` descending, most recent **20**
+- `buyerLeads` — ordered by `createdAt` descending
+- `buyerPage` (1:1)
+- `outcome` (1:1)
+
+On a missing id:
+
+```json
+{ "error": "Not found" }
+```
+
+with HTTP status `404`.
+
+### Example
+
+```bash
+curl 'http://localhost:3000/api/listings/clx0abc123'
+```
+
+---
+
+## Notes
+
+- Both endpoints are read-only `GET`s and force dynamic rendering (no caching).
+- `GET /api/listings` returns money as plain numbers (Prisma `Decimal` values are
+  converted to `number` in `flattenListing()`); `GET /api/listings/[id]` returns
+  the raw Prisma payload, where `Decimal` fields serialize as JSON strings.
+- Import and buyer-workflow write endpoints are not yet implemented and may be
+  added.
diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md
new file mode 100644
index 0000000..06fa598
--- /dev/null
+++ b/docs/ARCHITECTURE.md
@@ -0,0 +1,199 @@
+# GovArbitrage — Architecture
+
+GovArbitrage is a Next.js 16 App-Router application over a Prisma/Postgres data
+model. Its core is a set of **deterministic engines** that turn a single
+AI-supplied retail anchor into a full valuation, cost, and scoring picture for
+each auction listing. AI is confined to product *identification*; everything else
+is reproducible math.
+
+---
+
+## Data-flow diagram
+
+```
+                 ┌─────────────────────────────────────────────┐
+ Import source   │  GovDeals / Public Surplus / GSA / county /  │
+ (auction site,  │  state / university / Municibid / Bid4Assets │
+  CSV, extension)│  / CSV / browser extension                   │
+                 └───────────────────────┬─────────────────────┘
+                                         │  create
+                                         ▼
+                                 ┌───────────────┐
+                                 │  Listing row  │  (Prisma)
+                                 └───────┬───────┘
+                                         │  runResearch(listingId)
+                                         ▼
+        ┌────────────────────────────────────────────────────────────┐
+        │  Research pipeline  (src/pipeline/research.ts)               │
+        │                                                             │
+        │  identify ──► value ──► cost ──► score ──► persist          │
+        │     │           │        │        │                         │
+        │  ai.ts      valuation  costs   scoring                      │
+        │ (Ollama-   .ts        .ts +   .ts  (+ freight.ts,           │
+        │  first)              freight       demand.ts heuristic)     │
+        └───────────────────────────┬────────────────────────────────┘
+                                    │  upsert (single transaction)
+                                    ▼
+     ┌──────────────┬───────────────┬───────────────┬────────────────┐
+     │  Research    │ CostBreakdown │  Score[] (×9)  │  Comparable[]  │
+     │  row         │ row           │  + ListingEvent│                │
+     └──────┬───────┴───────┬───────┴───────┬────────┴────────────────┘
+            │               │               │
+            ▼               ▼               ▼
+     ┌───────────────────────────────────────────────────────────────┐
+     │  Read layer:  src/lib/listings.ts (flatten) · dashboard.ts     │
+     └───────────────────────────┬───────────────────────────────────┘
+                                 ▼
+            ┌────────────────────────────────────────┐
+            │  Dashboard (page.tsx + listings-table)  │
+            │  · API routes (/api/listings, /[id])    │
+            │  · Listing detail (/listings/[id])      │
+            └────────────────────────────────────────┘
+```
+
+---
+
+## Layers
+
+### 1. Data model (`prisma/schema.prisma`)
+
+Money is stored as `Decimal(14,2)`; scores are `Float` 0..100; probabilities are
+`Float` 0..1.
+
+| Model                | Role                                                                                     |
+| -------------------- | ---------------------------------------------------------------------------------------- |
+| **Listing**          | The auction lot. Source + `sourceAuctionId` (unique together), title/description/category, AI-identified attributes (manufacturer, model, serial, sku, year), condition, quantity, weight/dimensions, location, live auction state (`currentBid`, `bidCount`, `closingAt`, `imageUrls`), `identifiedBy`/`identifyRaw`, and a `researchStatus`. Owns all the relations below. |
+| **Research**         | 1:1 valuation output — retail estimates, used-market spread, channel values (wholesale/liquidation/sell-today), 7/30/90-day horizon values, expected sale price, probability of sale, days-until-sold, confidence, sources JSON, and a summary. |
+| **CostBreakdown**    | 1:1 cost sheet — 20+ line items plus the rollups `expectedReturns`, `totalInvestment`, `expectedNetProfit`, `roi`, `annualizedReturn`, and `recommendedMaxBid`; `assumptions` JSON records the basis for each estimate. |
+| **Score**            | One row **per scoring profile** (unique `[listingId, profile]`) — the profile `value`, the seven component sub-scores, `risk`, `dropShip`, a plain-English `explanation`, and structured `factors`. |
+| **Comparable**       | Sold / active / retail comps backing a valuation (`kind`, title, price, url, source, soldAt). |
+| **BuyerInterestPage**| Compliant, contingent-only interest page for a listing (slug, headline, `contingent` default true, `published`, standing `disclaimer`). |
+| **BuyerLead**        | A captured buyer lead with an optional **contingent** offer (never ownership). |
+| **AuctionOutcome**   | Tracks the lifecycle: WATCHING → BID_PLACED → WON/LOST/ABANDONED, plus max bid set, won price, actual sale. |
+| **Note**             | Freeform analyst notes on a listing.                                                     |
+| **ListingEvent**     | Typed, append-only event log (IMPORTED, RESEARCH_STARTED/COMPLETED/FAILED, SCORED, PRICE_CHANGED, NOTE_ADDED, BUYER_LEAD_ADDED, OUTCOME_CHANGED, MANUAL_EDIT). |
+| **SavedView**        | A persisted dashboard configuration (filters, sort, columns, pinned, grouping) as JSON. |
+| **User**             | Auth principal (email, passwordHash, role ADMIN/ANALYST/VIEWER).                          |
+| **ApiCredential**    | Per-user provider credential stored **AES-256-GCM encrypted at rest** (ciphertext/iv/authTag), never returned to the client. |
+| **AuditLog**         | Privileged-action audit trail (action, entity, entityId, ip, meta).                      |
+
+### 2. Deterministic engines (`src/engines`)
+
+Constants for every engine live in `src/engines/constants.ts` (condition→retail
+factors, repair factors, per-source buyer premiums, fee rates, prep-cost
+assumptions, freight threshold, target ROI). Shared types live in
+`src/engines/types.ts`. Each engine has a colocated Vitest test
+(`*.test.ts`).
+
+- **`valuation.ts`** — `computeValuation()` derives the full price ladder from a
+  single **retail anchor** (`newRetail`) plus item facts. Per-unit retail figures
+  (new / replacement / average), a used-market spread anchored on
+  `CONDITION_RETAIL_FACTOR`, channel values (wholesale = 0.6× used, liquidation =
+  0.42×, sell-today = 1.1× liquidation), demand-scaled time-horizon values
+  (7/30/90-day), a demand-weighted **expected sale price** (scaled by quantity),
+  **probability of sale** (demand + condition), **days-until-sold** (demand-driven),
+  and a **confidence score** built from identification confidence + number of
+  comparables.
+
+- **`costs.ts`** — `computeCosts()` computes 20+ line items split into
+  bid-independent `fixedCosts()` (freight/shipping via `freight.ts`, insurance,
+  packing, pickup labor, testing, repairs, certification, storage, photography,
+  listing labor, plus resale-side marketplace + payment fees) and bid-dependent
+  costs (buyer's premium by source, sales tax). Rolls up to `expectedReturns`,
+  `totalInvestment`, `expectedNetProfit`, `roi`, and `annualizedReturn` (ROI
+  compounded over the holding period). Then **back-solves `recommendedMaxBid`** —
+  the highest bid that still clears `TARGET_ROI` given all bid-independent costs
+  and resale fees — and records its `assumptions`.
+
+- **`scoring.ts`** — `computeScores()` first computes **seven component
+  sub-scores** via `computeComponents()` (arbitrage from ROI with diminishing
+  returns, demand, velocity, logistics, condition, competition, buyer readiness),
+  plus `computeRisk()` (LOW/MEDIUM/HIGH) and `computeDropShip()`
+  (EASY/MODERATE/DIFFICULT/INFEASIBLE). It then produces **nine named profiles**
+  (`OVERALL_OPPORTUNITY`, `BEST_ARBITRAGE`, `QUICK_FLIP`, `COLLECTOR`,
+  `LOCAL_PICKUP`, `EASY_FREIGHT`, `PARTS_ONLY`, `HIGH_CONFIDENCE`, `HIGH_PROFIT`),
+  each a weighted blend of the components plus profile-specific adjustments, and
+  each carrying a **plain-English `explanation`** naming its top drivers, ROI,
+  time-to-sell, risk, and drop-ship rating.
+
+- **`freight.ts`** — `estimateFreight()` maps total lot weight to a logistics
+  cost: parcel tiers below `FREIGHT_THRESHOLD_LBS` (150 lb), LTL freight (base +
+  per-hundredweight) above it. Returns whether the item ships as freight and a
+  human-readable `basis`.
+
+- **`demand.ts`** — a deterministic, keyword-driven demand + retail-floor
+  heuristic. Matches listing text against category signals (electronics, medical,
+  lab, industrial, office/furniture, cameras, networking, tools, vehicles) and a
+  premium-brand list. Used both as the **fallback when no AI model is reachable**
+  and as a sanity floor for AI estimates.
+
+### 3. Research pipeline (`src/pipeline/research.ts`)
+
+`runResearch(listingId, opts)` orchestrates the whole flow and is **idempotent**
+(all writes are upserts, safe to re-run):
+
+1. Marks the listing `IN_PROGRESS`.
+2. Runs the demand heuristic on the listing text.
+3. **Identity + anchor resolution** with priority *overrides → AI → heuristic*.
+   When `opts.useAI` is set, calls `identifyProduct()`; AI's `estimatedNewRetail`
+   is blended against the heuristic floor and its demand/confidence are clamped.
+4. **Valuation** → `computeValuation()`.
+5. **Costs** → `computeCosts()` (winning bid modeled as the current bid; local
+   pickup inferred from weight + auction terms via `inferLocalPickup()`).
+6. **Scores** → `computeScores()`.
+7. **Persist** in a single `prisma.$transaction`: upserts `Research`,
+   `CostBreakdown`, replaces `Comparable[]`, upserts all nine `Score` rows,
+   updates the listing to `COMPLETE` (optionally writing back identity), and
+   appends a `RESEARCH_COMPLETED` `ListingEvent`.
+
+Returns a compact summary (`expectedNetProfit`, `roi`, `overallScore`,
+`identifiedBy`). The seeder (`prisma/seed.ts`) drives this pipeline with
+deterministic anchors + comparables to produce realistic sample data.
+
+### 4. AI layer (`src/lib/ai.ts`)
+
+Local-first product identification. `identifyProduct()` tries the Ollama vision
+model (when images are supplied), then the Ollama text model, then — only if
+`AI_PROVIDER=anthropic` and `ANTHROPIC_API_KEY` is set — an Anthropic Claude
+fallback. All calls fail soft (return `null`), letting the pipeline fall back to
+the heuristic. `ollamaReachable()` powers health checks. See the README's
+["How the AI layer works"](../README.md#how-the-ai-layer-works) section.
+
+### 5. API routes (`src/app/api/listings`)
+
+- **`route.ts`** — `GET /api/listings`, parses query params into `QueryParams`
+  and delegates to `queryListings()`; `dynamic = "force-dynamic"`.
+- **`[id]/route.ts`** — `GET /api/listings/[id]`, returns the full listing with
+  all relations (research, costBreakdown, scores, comparables, notes, events,
+  buyerLeads, buyerPage, outcome) or 404.
+
+The read/query logic lives in `src/lib/listings.ts`: `flattenListing()`
+denormalizes `Listing + Research + CostBreakdown + chosen Score` into a flat
+`ListingRow`, and `queryListings()` applies filtering (source/condition/category/
+search/closing-soon), per-profile score selection, risk post-filtering, sorting,
+and pagination. See [API.md](./API.md).
+
+### 6. UI (`src/app`, `src/components`)
+
+- **`src/app/page.tsx`** — the dashboard. Server component: fetches
+  `getDashboardStats()` (`src/lib/dashboard.ts`) for the summary cards
+  (`DashboardCards`) and renders the client `ListingsTable`.
+- **`src/components/listings-table.tsx`** — the dense **TanStack Table**. ~40
+  sortable/hideable columns, a profile selector that re-ranks server-side,
+  server-side search + source/condition/risk filters (debounced fetch to
+  `/api/listings`), column-visibility menu, CSV export, sticky first column, and
+  row-click into the detail view.
+- **`src/app/listings/[id]/page.tsx`** — the listing detail. Server component
+  rendering the image gallery, headline metrics, the full valuation ladder, the
+  line-item cost breakdown + profit rollup, per-profile score **explanations**,
+  comparables, auction terms + risk, the compliant buyer-interest section, and
+  event history.
+- **`src/components/ui/*`** — shadcn/ui-style primitives (`card`, `badge`,
+  `button`, `input`) built on `class-variance-authority` + `tailwind-merge`.
+
+### Configuration notes
+
+`next.config.ts` pins the Turbopack workspace root, marks `@prisma/client`,
+`bullmq`, and `ioredis` as `serverExternalPackages`, and allows remote images
+from any host. Tailwind v4 is wired via `postcss.config.mjs`
+(`@tailwindcss/postcss`).
diff --git a/extension/README.md b/extension/README.md
new file mode 100644
index 0000000..7925211
--- /dev/null
+++ b/extension/README.md
@@ -0,0 +1,92 @@
+# GovArbitrage Capture — Chrome Extension
+
+A standalone Manifest V3 Chrome extension that scrapes the government-surplus
+auction page you're viewing (GovDeals, Public Surplus, GSA Auctions, or any
+generic auction page) and POSTs the extracted listing into the GovArbitrage app.
+
+No build step, no npm — it's plain vanilla JS and loads directly as an unpacked
+extension.
+
+## Load it (unpacked)
+
+1. Open `chrome://extensions` in Chrome (or any Chromium browser).
+2. Toggle **Developer mode** on (top-right).
+3. Click **Load unpacked**.
+4. Select this `extension/` folder.
+5. The **GovArbitrage Capture** icon appears in the toolbar. Pin it for easy
+   access.
+
+After editing any file, click the **↻ reload** icon on the extension card in
+`chrome://extensions` to pick up changes.
+
+## Use it
+
+1. Navigate to an auction/item page on GovDeals, Public Surplus, or GSA
+   Auctions (or any other auction page — it falls back to generic extraction).
+2. Click the extension icon to open the popup.
+3. Confirm the **API base URL** (defaults to `http://localhost:3000`; your
+   choice is saved to `chrome.storage.local` and persists).
+4. Click **Capture this page** — the extracted JSON appears in the preview.
+5. Review it, then click **Send to GovArbitrage** to POST it to the app.
+
+## How it works
+
+- **`popup.js`** uses `chrome.scripting.executeScript` to inject
+  **`content.js`** into the active tab, then calls its
+  `extractGovArbitrageListing()` function and displays the returned object.
+  Extraction is done programmatically (no persistent content script) so the
+  extension only touches a page when you explicitly ask it to.
+- **`content.js`** detects the source from `location.hostname`, parses the
+  auction/lot id from the URL (query string first, then path, then visible
+  label), and pulls title, description, category, current bid, bid count,
+  closing date, location, images, and terms with site-specific selectors plus
+  defensive fallbacks. It never throws — every access is guarded — so a partial
+  page still yields a valid (partial) object.
+- **`background.js`** is a near-empty MV3 service worker (logs install,
+  optionally relays a `PING`/`PONG` message).
+
+## App endpoint
+
+The popup POSTs the captured JSON to:
+
+```
+POST {apiBase}/api/import/extension
+Content-Type: application/json
+```
+
+**Note:** this import endpoint is being added on the GovArbitrage app side. The
+extension does not depend on the app internals — it just sends the JSON shape
+below. On success it looks for `{ id }` or `{ listing: { id } }` in the
+response and shows the listing id; any non-2xx response is surfaced as an error.
+
+## Captured JSON shape
+
+The object `content.js` emits (field names deliberately match the app's Prisma
+`Listing` model; `source` uses the `AuctionSource` enum, and the extension's
+values are `EXTENSION`-origin listings):
+
+```json
+{
+  "source": "GOVDEALS | PUBLIC_SURPLUS | GSA_AUCTIONS | OTHER",
+  "sourceAuctionId": "string (auction/lot number)",
+  "sourceUrl": "string (full page URL)",
+  "title": "string",
+  "description": "string",
+  "category": "string",
+  "currentBid": 0,
+  "bidCount": 0,
+  "closingAt": "ISO-8601 string | null",
+  "locationCity": "string",
+  "locationState": "string",
+  "locationZip": "string",
+  "imageUrls": ["string", "..."],
+  "auctionTerms": "string",
+  "capturedAt": "ISO-8601 string"
+}
+```
+
+Types: `currentBid` and `bidCount` are numbers; `closingAt` is an ISO string or
+`null`; `imageUrls` is an array of absolute URL strings; all other fields are
+strings (possibly empty). The app should map `source` into the `AuctionSource`
+enum, store the values as an `EXTENSION`-origin `Listing`, and enforce the
+`@@unique([source, sourceAuctionId])` constraint (upsert on re-capture).
diff --git a/extension/manifest.json b/extension/manifest.json
new file mode 100644
index 0000000..70bf2ea
--- /dev/null
+++ b/extension/manifest.json
@@ -0,0 +1,19 @@
+{
+  "manifest_version": 3,
+  "name": "GovArbitrage Capture",
+  "version": "0.1.0",
+  "description": "Capture a government-surplus auction page (GovDeals, Public Surplus, GSA Auctions, or generic) and send the extracted listing into the GovArbitrage app.",
+  "permissions": ["activeTab", "scripting", "storage"],
+  "host_permissions": [
+    "https://www.govdeals.com/*",
+    "https://www.publicsurplus.com/*",
+    "https://gsaauctions.gov/*"
+  ],
+  "action": {
+    "default_popup": "popup.html",
+    "default_title": "GovArbitrage Capture"
+  },
+  "background": {
+    "service_worker": "background.js"
+  }
+}
diff --git a/package-lock.json b/package-lock.json
index c1fb172..6497e70 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -5362,7 +5362,6 @@
       "version": "2.3.2",
       "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
       "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
-      "dev": true,
       "hasInstallScript": true,
       "license": "MIT",
       "optional": true,
diff --git a/prisma/schema.prisma b/prisma/schema.prisma
new file mode 100644
index 0000000..b2b2339
--- /dev/null
+++ b/prisma/schema.prisma
@@ -0,0 +1,533 @@
+// GovArbitrage — data model
+// Money is stored as Decimal(14,2). Scores are Float 0..100. Probabilities Float 0..1.
+
+generator client {
+  provider = "prisma-client-js"
+}
+
+datasource db {
+  provider = "postgresql"
+  url      = env("DATABASE_URL")
+}
+
+// ------------------------------------------------------------------ enums
+
+enum AuctionSource {
+  GOVDEALS
+  PUBLIC_SURPLUS
+  GSA_AUCTIONS
+  COUNTY
+  STATE_SURPLUS
+  UNIVERSITY_SURPLUS
+  MUNICIBID
+  BID4ASSETS
+  GOINDUSTRY
+  NETWORK_INTL
+  GRAYS_AU
+  GOVPLANET
+  CSV
+  EXTENSION
+  OTHER
+}
+
+enum Condition {
+  NEW
+  LIKE_NEW
+  USED_GOOD
+  USED_FAIR
+  FOR_PARTS
+  UNKNOWN
+}
+
+// Lifecycle of a listing on its SOURCE site (not Steve's buyer workflow —
+// that's AuctionOutcome). ACTIVE = still live/biddable; ENDED = auction closed
+// (past closingAt); REMOVED = pulled/sold/404 on the source. Only ACTIVE
+// listings show on the live grid.
+enum ListingStatus {
+  ACTIVE
+  ENDED
+  REMOVED
+}
+
+enum ResearchStatus {
+  PENDING
+  QUEUED
+  IN_PROGRESS
+  COMPLETE
+  FAILED
+}
+
+enum RiskLevel {
+  LOW
+  MEDIUM
+  HIGH
+}
+
+enum DropShipFeasibility {
+  EASY
+  MODERATE
+  DIFFICULT
+  INFEASIBLE
+}
+
+enum ScoreProfile {
+  OVERALL_OPPORTUNITY
+  BEST_ARBITRAGE
+  QUICK_FLIP
+  COLLECTOR
+  LOCAL_PICKUP
+  EASY_FREIGHT
+  PARTS_ONLY
+  HIGH_CONFIDENCE
+  HIGH_PROFIT
+}
+
+enum ComparableKind {
+  SOLD
+  ACTIVE
+  RETAIL
+}
+
+enum OutcomeStatus {
+  WATCHING
+  BID_PLACED
+  WON
+  LOST
+  ABANDONED
+}
+
+enum Role {
+  ADMIN
+  ANALYST
+  VIEWER
+}
+
+// Subscription tier for the paid-alerts SaaS. FREE is the default for any new
+// account; STANDARD/PREMIUM are set by a (TEST) Stripe subscription webhook.
+enum Tier {
+  FREE
+  STANDARD
+  PREMIUM
+}
+
+// Double-opt-in newsletter lifecycle. PENDING until the confirm link is
+// clicked; UNSUBSCRIBED rows are kept (suppression list) so a re-subscribe
+// re-issues a fresh confirm rather than silently re-adding.
+enum SubscriberStatus {
+  PENDING
+  CONFIRMED
+  UNSUBSCRIBED
+}
+
+enum EventType {
+  IMPORTED
+  RESEARCH_STARTED
+  RESEARCH_COMPLETED
+  RESEARCH_FAILED
+  SCORED
+  PRICE_CHANGED
+  NOTE_ADDED
+  BUYER_LEAD_ADDED
+  OUTCOME_CHANGED
+  STATUS_CHANGE
+  HOT_ALERTED
+  MANUAL_EDIT
+}
+
+// ------------------------------------------------------------------ core
+
+model Listing {
+  id              String        @id @default(cuid())
+  source          AuctionSource
+  sourceAuctionId String // the auction/lot number on the source site
+  sourceUrl       String?
+  title           String
+  description     String?
+  category        String?
+
+  // AI/OCR/vision-identified product attributes
+  manufacturer String?
+  model        String?
+  serialNumber String?
+  sku          String?
+  year         Int?
+  condition    Condition @default(UNKNOWN)
+  quantity     Int       @default(1)
+  accessories  String?
+  missingParts String?
+  weightLbs    Float?
+  dimensions   String? // "L x W x H in"
+  auctionTerms String?
+
+  // location + logistics
+  locationCity  String?
+  locationState String?
+  locationZip   String?
+
+  // live auction state
+  currentBid   Decimal   @default(0) @db.Decimal(14, 2)
+  bidCount     Int       @default(0)
+  closingAt    DateTime?
+  imageUrls    String[]  @default([])
+  identifiedBy String? // "ollama:qwen2.5vl" | "manual" | "extension"
+  identifyRaw  Json? // raw model output for auditability
+
+  researchStatus ResearchStatus @default(PENDING)
+
+  // source-liveness lifecycle + fast removal
+  listingStatus  ListingStatus @default(ACTIVE)
+  endedAt        DateTime? // when marked ENDED/REMOVED
+  lastSeenAt     DateTime  @default(now()) // last time confirmed live on source
+  livenessCheckedAt DateTime? // last Tier-2 network re-verify
+
+  // HOT DEAL alerting (dedup so we alert each deal once)
+  hotAlertedAt   DateTime?
+
+  createdAt DateTime @default(now())
+  updatedAt DateTime @updatedAt
+
+  research       Research?
+  costBreakdown  CostBreakdown?
+  scores         Score[]
+  comparables    Comparable[]
+  notes          Note[]
+  events         ListingEvent[]
+  buyerPage      BuyerInterestPage?
+  buyerLeads     BuyerLead[]
+  outcome        AuctionOutcome?
+  agentFindings  AgentFinding[]
+
+  @@unique([source, sourceAuctionId])
+  @@index([researchStatus])
+  @@index([category])
+  @@index([closingAt])
+  @@index([listingStatus])
+  @@index([hotAlertedAt])
+}
+
+// Valuation research output for a listing
+model Research {
+  id        String   @id @default(cuid())
+  listingId String   @unique
+  listing   Listing  @relation(fields: [listingId], references: [id], onDelete: Cascade)
+
+  // retail estimates
+  newRetail        Decimal? @db.Decimal(14, 2)
+  newReplacement   Decimal? @db.Decimal(14, 2)
+  avgRetail        Decimal? @db.Decimal(14, 2)
+
+  // used market
+  usedSoldPrice    Decimal? @db.Decimal(14, 2)
+  usedAskingPrice  Decimal? @db.Decimal(14, 2)
+  usedLow          Decimal? @db.Decimal(14, 2)
+  usedHigh         Decimal? @db.Decimal(14, 2)
+
+  // channel values
+  wholesaleValue   Decimal? @db.Decimal(14, 2)
+  liquidationValue Decimal? @db.Decimal(14, 2)
+  sellTodayValue   Decimal? @db.Decimal(14, 2)
+
+  // time-horizon values
+  value7Day        Decimal? @db.Decimal(14, 2)
+  value30Day       Decimal? @db.Decimal(14, 2)
+  value90Day       Decimal? @db.Decimal(14, 2)
+
+  // outcome estimates
+  expectedSalePrice Decimal? @db.Decimal(14, 2)
+  probabilityOfSale Float? // 0..1
+  daysUntilSold     Int?
+  confidenceScore   Float? // 0..100
+
+  sources   Json? // [{name,url,kind,price}]
+  summary   String?
+  model     String? // which model produced this
+  createdAt DateTime @default(now())
+  updatedAt DateTime @updatedAt
+}
+
+// All acquisition + resale costs for a listing
+model CostBreakdown {
+  id        String  @id @default(cuid())
+  listingId String  @unique
+  listing   Listing @relation(fields: [listingId], references: [id], onDelete: Cascade)
+
+  winningBid       Decimal @default(0) @db.Decimal(14, 2)
+  buyerPremium     Decimal @default(0) @db.Decimal(14, 2)
+  salesTax         Decimal @default(0) @db.Decimal(14, 2)
+  shipping         Decimal @default(0) @db.Decimal(14, 2)
+  freight          Decimal @default(0) @db.Decimal(14, 2)
+  insurance        Decimal @default(0) @db.Decimal(14, 2)
+  packing          Decimal @default(0) @db.Decimal(14, 2)
+  pickupLabor      Decimal @default(0) @db.Decimal(14, 2)
+  testing          Decimal @default(0) @db.Decimal(14, 2)
+  repairs          Decimal @default(0) @db.Decimal(14, 2)
+  certification    Decimal @default(0) @db.Decimal(14, 2)
+  marketplaceFees  Decimal @default(0) @db.Decimal(14, 2)
+  paymentFees      Decimal @default(0) @db.Decimal(14, 2)
+  storage          Decimal @default(0) @db.Decimal(14, 2)
+  photography      Decimal @default(0) @db.Decimal(14, 2)
+  listingLabor     Decimal @default(0) @db.Decimal(14, 2)
+
+  expectedReturns  Decimal @default(0) @db.Decimal(14, 2)
+  totalInvestment  Decimal @default(0) @db.Decimal(14, 2)
+  expectedNetProfit Decimal @default(0) @db.Decimal(14, 2)
+  roi              Float   @default(0) // ratio, e.g. 0.42 = 42%
+  annualizedReturn Float   @default(0)
+  recommendedMaxBid Decimal @default(0) @db.Decimal(14, 2)
+
+  assumptions Json? // basis for each estimate (freight table row, fee %, etc.)
+  createdAt   DateTime @default(now())
+  updatedAt   DateTime @updatedAt
+}
+
+// One row per scoring profile for a listing, each with a human explanation
+model Score {
+  id        String       @id @default(cuid())
+  listingId String
+  listing   Listing      @relation(fields: [listingId], references: [id], onDelete: Cascade)
+  profile   ScoreProfile
+  value     Float // 0..100
+
+  // component sub-scores (0..100) the profile is composed from
+  arbitrage   Float @default(0)
+  demand      Float @default(0)
+  velocity    Float @default(0)
+  logistics   Float @default(0)
+  condition   Float @default(0)
+  competition Float @default(0)
+  buyer       Float @default(0)
+
+  risk        RiskLevel           @default(MEDIUM)
+  dropShip    DropShipFeasibility @default(MODERATE)
+  explanation String // "why it got this score", plain English
+  factors     Json? // structured [{label, weight, contribution}]
+
+  createdAt DateTime @default(now())
+  updatedAt DateTime @updatedAt
+
+  @@unique([listingId, profile])
+  @@index([profile, value])
+}
+
+model Comparable {
+  id        String         @id @default(cuid())
+  listingId String
+  listing   Listing        @relation(fields: [listingId], references: [id], onDelete: Cascade)
+  kind      ComparableKind
+  title     String
+  price     Decimal        @db.Decimal(14, 2)
+  url       String?
+  source    String? // "ebay" | "amazon" | manufacturer domain
+  soldAt    DateTime?
+  createdAt DateTime       @default(now())
+
+  @@index([listingId, kind])
+}
+
+// ------------------------------------------------------------------ buyer workflow (compliant)
+
+model BuyerInterestPage {
+  id            String   @id @default(cuid())
+  listingId     String   @unique
+  listing       Listing  @relation(fields: [listingId], references: [id], onDelete: Cascade)
+  slug          String   @unique
+  headline      String
+  // Compliance: contingent offers only, no ownership representation pre-win.
+  contingent    Boolean  @default(true)
+  published     Boolean  @default(false)
+  estDelivered  Decimal? @db.Decimal(14, 2)
+  disclaimer    String   @default("This item is not yet owned. Any offer is contingent on winning the government auction and is non-binding until the auction is won and the item is in hand.")
+  createdAt     DateTime @default(now())
+  updatedAt     DateTime @updatedAt
+}
+
+model BuyerLead {
+  id           String   @id @default(cuid())
+  listingId    String
+  listing      Listing  @relation(fields: [listingId], references: [id], onDelete: Cascade)
+  name         String
+  email        String
+  phone        String?
+  offer        Decimal? @db.Decimal(14, 2)
+  contingent   Boolean  @default(true)
+  notes        String?
+  createdAt    DateTime @default(now())
+
+  @@index([listingId])
+}
+
+model AuctionOutcome {
+  id          String        @id @default(cuid())
+  listingId   String        @unique
+  listing     Listing       @relation(fields: [listingId], references: [id], onDelete: Cascade)
+  status      OutcomeStatus @default(WATCHING)
+  maxBidSet   Decimal?      @db.Decimal(14, 2)
+  wonPrice    Decimal?      @db.Decimal(14, 2)
+  actualSale  Decimal?      @db.Decimal(14, 2)
+  soldAt      DateTime?
+  createdAt   DateTime      @default(now())
+  updatedAt   DateTime      @updatedAt
+}
+
+// ------------------------------------------------------------------ workspace
+
+model Note {
+  id        String   @id @default(cuid())
+  listingId String
+  listing   Listing  @relation(fields: [listingId], references: [id], onDelete: Cascade)
+  body      String
+  author    String?
+  createdAt DateTime @default(now())
+
+  @@index([listingId])
+}
+
+model ListingEvent {
+  id        String    @id @default(cuid())
+  listingId String
+  listing   Listing   @relation(fields: [listingId], references: [id], onDelete: Cascade)
+  type      EventType
+  message   String
+  meta      Json?
+  createdAt DateTime  @default(now())
+
+  @@index([listingId, createdAt])
+}
+
+model SavedView {
+  id        String   @id @default(cuid())
+  name      String
+  ownerId   String?
+  config    Json // { filters, sort, columns, pinned, grouping }
+  createdAt DateTime @default(now())
+  updatedAt DateTime @updatedAt
+}
+
+// ------------------------------------------------------------------ security
+
+model User {
+  id           String          @id @default(cuid())
+  email        String          @unique
+  name         String?
+  passwordHash String
+  // Sign in with Apple — the Apple `sub` (stable per-app user id). Null for
+  // password/admin users; set for accounts created via /api/auth/apple.
+  appleSub     String?         @unique
+  role         Role            @default(ANALYST)
+  // Paid-alerts SaaS subscription
+  tier                 Tier    @default(FREE)
+  stripeCustomerId     String?
+  stripeSubscriptionId String?
+  createdAt    DateTime        @default(now())
+  credentials  ApiCredential[]
+  auditLogs    AuditLog[]
+}
+
+// Public newsletter subscriber for the twice-daily Top-10 digest.
+// email is stored lowercase; tokens are single-purpose URL-safe secrets.
+model Subscriber {
+  id               String           @id @default(cuid())
+  email            String           @unique
+  status           SubscriberStatus @default(PENDING)
+  confirmToken     String           @unique
+  unsubscribeToken String           @unique
+  source           String           @default("newsletter_page")
+  createdAt        DateTime         @default(now())
+  confirmedAt      DateTime?
+  unsubscribedAt   DateTime?
+
+  @@index([status])
+}
+
+model ApiCredential {
+  id        String   @id @default(cuid())
+  userId    String
+  user      User     @relation(fields: [userId], references: [id], onDelete: Cascade)
+  provider  String // "anthropic" | "ebay" | ...
+  // Stored encrypted at rest (AES-256-GCM). Never returned to the client.
+  ciphertext String
+  iv         String
+  authTag    String
+  createdAt DateTime @default(now())
+
+  @@unique([userId, provider])
+}
+
+model AuditLog {
+  id        String   @id @default(cuid())
+  userId    String?
+  user      User?    @relation(fields: [userId], references: [id], onDelete: SetNull)
+  action    String
+  entity    String?
+  entityId  String?
+  ip        String?
+  meta      Json?
+  createdAt DateTime @default(now())
+
+  @@index([createdAt])
+  @@index([action])
+}
+
+// ------------------------------------------------------------------ agent layer
+
+// One row per agent execution (appraiser / skeptic / scout). status is a plain
+// string (RUNNING | OK | FAILED) so new states never need a migration.
+model AgentRun {
+  id             String         @id @default(cuid())
+  agent          String // "appraiser" | "skeptic" | "scout"
+  startedAt      DateTime       @default(now())
+  finishedAt     DateTime?
+  status         String         @default("RUNNING") // RUNNING | OK | FAILED
+  itemsProcessed Int            @default(0)
+  summary        String?
+  findings       AgentFinding[]
+
+  @@index([agent, startedAt])
+  @@index([startedAt])
+}
+
+// A single observation an agent made during a run. listingId is optional and
+// SetNull-on-delete; listingTitle is denormalized so findings stay readable
+// after a listing is purged.
+model AgentFinding {
+  id           String   @id @default(cuid())
+  runId        String
+  run          AgentRun @relation(fields: [runId], references: [id], onDelete: Cascade)
+  agent        String
+  listingId    String?
+  listing      Listing? @relation(fields: [listingId], references: [id], onDelete: SetNull)
+  listingTitle String?
+  kind         String // CLONE_VALUATION | LOW_CONFIDENCE | CLOSING_DATA_STALE | REAPPRAISED | AI_FALLBACK | HOT_CLOSING
+  severity     String // INFO | WARN | CRITICAL
+  title        String
+  detail       String?
+  createdAt    DateTime @default(now())
+
+  @@index([runId])
+  @@index([listingId])
+  @@index([createdAt])
+  @@index([severity])
+}
+
+// ------------------------------------------------------------------ digest archive
+
+enum DigestSlot {
+  AM
+  PM
+}
+
+// Frozen record of each digest run. The public /deals archive pages render
+// these snapshots so archive URLs stay stable and indexable instead of
+// re-querying live listings that expire out from under a crawled page.
+model DigestSnapshot {
+  id        String     @id @default(cuid())
+  date      String // YYYY-MM-DD in America/Los_Angeles (the digest's home timezone)
+  slot      DigestSlot
+  dealsJson Json // public-safe serialized Top-10 (see src/lib/digest-snapshot.ts)
+  dealCount Int
+  isSeed    Boolean    @default(false) // fabricated demo data — excluded from all public reads
+  createdAt DateTime   @default(now())
+
+  @@unique([date, slot])
+  @@index([date])
+}
diff --git a/public/.gitkeep b/public/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/store-assets/app-store-listing.md b/store-assets/app-store-listing.md
new file mode 100644
index 0000000..cda16a6
--- /dev/null
+++ b/store-assets/app-store-listing.md
@@ -0,0 +1,153 @@
+# GovArbitrage — App Store Connect listing (paste-ready)
+
+App record: **6799165231** · bundle `com.abrams.govarbitrage` · build #5 (v1.0.0)
+Drafted 2026-08-07. Everything below is copy-paste into ASC → App Information / 1.0 Prepare for Submission.
+
+---
+
+## Name (≤30)
+GovArbitrage
+
+## Subtitle (≤30)
+Gov surplus auction arbitrage
+
+## Promotional Text (≤170, editable anytime)
+Turn government surplus auctions into ranked flip opportunities — all-in cost, resale value, ROI, and your max bid computed for every lot. Stop guessing. Bid on math.
+
+## Keywords (≤100, comma-separated, no spaces)
+surplus,auction,arbitrage,resale,flip,govdeals,gsa,reseller,liquidation,valuation,roi,bid,wholesale
+
+## Description (≤4000)
+GovArbitrage turns messy government-surplus auctions into clear, ranked flip opportunities. Point it at a lot and it answers the only question that matters: if you win at the current bid, what is your all-in cost, what can you resell it for, how fast, and how much do you actually make?
+
+WHAT IT DOES
+• Aggregates listings from major government auction sources — GovDeals, GSA Auctions, Public Surplus, Municibid, Bid4Assets, and county / state / university surplus.
+• Identifies what each lot actually is from its title and photos, then anchors it to a real new-retail price.
+• Builds a full valuation ladder — replacement, average, and used-market resale across sell-today, 7-, 30-, and 90-day horizons, with an expected sale price, probability of sale, and days-to-sold.
+• Breaks down 20+ real costs — buyer's premium, sales tax, shipping, freight, packing, pickup labor, testing, repairs, marketplace and payment fees, storage — into total investment, net profit, ROI, and annualized return.
+• Back-solves your recommended max bid from a target ROI, so you know your ceiling before you bid.
+• Ranks every lot across nine opportunity profiles — Best Arbitrage, Quick Flip, Collector, Local Pickup, Easy Freight, Parts Only, High Confidence, High Profit, and Overall Opportunity — each with plain-English reasoning.
+
+WHY IT IS DIFFERENT
+The numbers come from deterministic, explainable engines — not a black box. Every value and every cost is transparent and traceable, so you can trust the recommended bid instead of eyeballing it.
+
+PRIVACY-FIRST
+No tracking. No ads. No analytics or advertising SDKs. The app works fully without an account; optional Sign in with Apple is used only to authenticate you.
+
+GovArbitrage is built for resellers, flippers, and surplus buyers who want to stop guessing and start bidding on math.
+
+## URLs
+- Privacy Policy URL: https://auctions.agentabrams.com/privacy   ← (goes live after the redeploy below)
+- Support URL:        https://auctions.agentabrams.com
+- Marketing URL:      https://auctions.agentabrams.com
+
+## Category
+Primary: Business   ·   Secondary: Finance
+
+## Age rating
+Answer the questionnaire "None" across the board → expected 4+.
+
+---
+
+## ⚠️ Before you hit "Submit for Review" — two things I can't do for you
+
+1. **Redeploy the web app to auctions.agentabrams.com** so `/privacy` is live publicly.
+   The privacy page + the public-exemption fix are committed (612c4d6), but the CURRENT
+   deploy on auctions.agentabrams.com is older (it 404s on /privacy). Apple WILL reject a
+   privacy URL that 404s. Deploy the current `main`, then verify:
+   `curl -s -o /dev/null -w "%{http_code}\n" https://auctions.agentabrams.com/privacy` → must be `200`.
+
+2. **App Review access — RESOLVED (low risk).** Verified against the live API 2026-08-07:
+   the app ships preconfigured to https://auctions.agentabrams.com and `/api/listings` returns
+   real data with NO auth, so a reviewer sees live listings on launch — no empty-app rejection.
+   Sensitive endpoints (/api/credentials) correctly stay 401-gated. Paste the note below into
+   ASC → App Review Information, and set "Sign-In required" = NO.
+
+### App Review Information → Notes (copy-paste)
+GovArbitrage is a read-only analyst client for PUBLIC U.S. government-surplus auction listings. No account or sign-in is required to review the app.
+
+HOW TO TEST
+1) Launch the app and open the "Listings" tab. It loads live government-surplus auction opportunities immediately — the app ships preconfigured to our public API server (https://auctions.agentabrams.com), so there is no setup or login step.
+2) Tap any listing to see the full analysis: all-in cost breakdown, resale value across 7/30/90-day horizons, expected net profit, ROI, recommended max bid, and nine opportunity scores.
+3) The "Settings" tab shows the server URL plus an OPTIONAL username/password, used only by people who self-host their own GovArbitrage server. These are NOT required for review — leave the defaults and data loads. To exercise the credential field anyway, use Username: admin  Password: DW2024!
+
+PRIVACY: No tracking, no ads, no analytics SDKs. The app works without an account; the optional "Sign in with Apple" stores only your Apple ID and (if shared) name/email to authenticate you. Full policy: https://auctions.agentabrams.com/privacy
+
+### App Review Information → other fields
+- Sign-In required: **No** (toggle off)
+- Contact: your name / email / phone (Apple only contacts you here if there's a question)
+
+---
+
+## App Privacy questionnaire (ASC → App Privacy → Get Started)
+
+⚠️ NOT "Data Not Collected" — the app has optional **Sign in with Apple** (lib/auth.ts requests
+FULL_NAME + EMAIL scopes; /api/auth/apple stores appleSub + email + name). Declaring "collects
+nothing" would contradict the app and risk a pull. Below is the accurate, still-clean label.
+The privacy page was updated to match (src/app/privacy/page.tsx — publishes on next deploy).
+
+**Q: "Do you or your third-party partners collect data from this app?" → YES**
+
+Then check EXACTLY these three data types (all collected ONLY via optional Sign in with Apple):
+
+| Data type (grid) | Category | Linked to identity? | Used for tracking? | Purpose |
+|---|---|---|---|---|
+| **Email Address** | Contact Info | Yes | No | App Functionality |
+| **Name** | Contact Info | Yes | No | App Functionality |
+| **User ID** | Identifiers | Yes | No | App Functionality |
+
+For each of the three, on the next screens select:
+- Purpose → **App Functionality** (only)
+- "Is this data linked to the user's identity?" → **Yes**
+- "Do you use this data for tracking?" → **No**
+
+**Leave everything else UNCHECKED** — no Usage Data, no Diagnostics/Crash, no Location, no
+Financial Info, no Purchases, no Contacts, no Search/Browsing History, no Device IDs, no
+Advertising Data. (The app links no analytics/crash/ads SDKs — verified in package.json.)
+
+**Tracking question:** the app does **NOT** track — no data is used to track across other
+companies' apps/websites, so no App Tracking Transparency (ATT) prompt is required.
+
+Notes:
+- If a user picks Apple's "Hide My Email," you still store an email-format address → still
+  declare **Email Address** (correct either way).
+- This label is consistent with the updated privacy policy's "What the iOS app collects"
+  section (default = nothing; optional Apple sign-in = Apple ID + name/email for auth only).
+
+## Screenshots (required, you provide)
+6.7" and 6.5" iPhone at minimum. Capture the dense analyst dashboard + a listing detail
+(the valuation ladder + cost breakdown + the nine-profile scores) — those are the money shots.
+
+---
+
+## Age Rating questionnaire (ASC → Age Rating → Set Up / Edit)
+
+GovArbitrage is a business/finance data tool — no objectionable content. Answer every
+content-frequency question **None**, and the capability questions **No**. Result → **4+**.
+
+Content categories — all **None**:
+- Cartoon or Fantasy Violence — None
+- Realistic Violence — None
+- Prolonged Graphic or Sadistic Realistic Violence — None
+- Sexual Content or Nudity / Graphic Sexual Content and Nudity — None
+- Profanity or Crude Humor — None
+- Mature / Suggestive Themes — None
+- Horror / Fear Themes — None
+- Alcohol, Tobacco, or Drug Use or References — None
+- Simulated Gambling — None
+- Medical / Treatment Information — None
+
+Capabilities / other:
+- **Unrestricted Web Access → No.** The app opens external government-auction source links
+  in the system browser; it has no in-app open-ended web browser.
+- **Gambling (real) & Contests → No.** Bidding analysis for government-surplus auctions is
+  commerce, not gambling — no wagering, no games of chance in the app.
+- **Made for Kids → No.**
+- **Age Assurance / parental controls → not applicable.**
+
+Expected result: **4+**.
+
+Note on the two questions people second-guess:
+- "Simulated Gambling" = slot-machine / casino simulations. Auction bidding is NOT gambling → None.
+- "Unrestricted Web Access" = an in-app browser that can reach any site. Opening a source URL
+  in Safari is NOT that → No.
diff --git a/tsconfig.tsbuildinfo b/tsconfig.tsbuildinfo
new file mode 100644
index 0000000..4430610
--- /dev/null
+++ b/tsconfig.tsbuildinfo
@@ -0,0 +1 @@
+{"fileNames":["./node_modules/typescript/lib/lib.es5.d.ts","./node_modules/typescript/lib/lib.es2015.d.ts","./node_modules/typescript/lib/lib.es2016.d.ts","./node_modules/typescript/lib/lib.es2017.d.ts","./node_modules/typescript/lib/lib.es2018.d.ts","./node_modules/typescript/lib/lib.es2019.d.ts","./node_modules/typescript/lib/lib.es2020.d.ts","./node_modules/typescript/lib/lib.es2021.d.ts","./node_modules/typescript/lib/lib.es2022.d.ts","./node_modules/typescript/lib/lib.dom.d.ts","./node_modules/typescript/lib/lib.dom.iterable.d.ts","./node_modules/typescript/lib/lib.es2015.core.d.ts","./node_modules/typescript/lib/lib.es2015.collection.d.ts","./node_modules/typescript/lib/lib.es2015.generator.d.ts","./node_modules/typescript/lib/lib.es2015.iterable.d.ts","./node_modules/typescript/lib/lib.es2015.promise.d.ts","./node_modules/typescript/lib/lib.es2015.proxy.d.ts","./node_modules/typescript/lib/lib.es2015.reflect.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2016.array.include.d.ts","./node_modules/typescript/lib/lib.es2016.intl.d.ts","./node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","./node_modules/typescript/lib/lib.es2017.date.d.ts","./node_modules/typescript/lib/lib.es2017.object.d.ts","./node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2017.string.d.ts","./node_modules/typescript/lib/lib.es2017.intl.d.ts","./node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","./node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","./node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","./node_modules/typescript/lib/lib.es2018.intl.d.ts","./node_modules/typescript/lib/lib.es2018.promise.d.ts","./node_modules/typescript/lib/lib.es2018.regexp.d.ts","./node_modules/typescript/lib/lib.es2019.array.d.ts","./node_modules/typescript/lib/lib.es2019.object.d.ts","./node_modules/typescript/lib/lib.es2019.string.d.ts","./node_modules/typescript/lib/lib.es2019.symbol.d.ts","./node_modules/typescript/lib/lib.es2019.intl.d.ts","./node_modules/typescript/lib/lib.es2020.bigint.d.ts","./node_modules/typescript/lib/lib.es2020.date.d.ts","./node_modules/typescript/lib/lib.es2020.promise.d.ts","./node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2020.string.d.ts","./node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2020.intl.d.ts","./node_modules/typescript/lib/lib.es2020.number.d.ts","./node_modules/typescript/lib/lib.es2021.promise.d.ts","./node_modules/typescript/lib/lib.es2021.string.d.ts","./node_modules/typescript/lib/lib.es2021.weakref.d.ts","./node_modules/typescript/lib/lib.es2021.intl.d.ts","./node_modules/typescript/lib/lib.es2022.array.d.ts","./node_modules/typescript/lib/lib.es2022.error.d.ts","./node_modules/typescript/lib/lib.es2022.intl.d.ts","./node_modules/typescript/lib/lib.es2022.object.d.ts","./node_modules/typescript/lib/lib.es2022.string.d.ts","./node_modules/typescript/lib/lib.es2022.regexp.d.ts","./node_modules/typescript/lib/lib.decorators.d.ts","./node_modules/typescript/lib/lib.decorators.legacy.d.ts","./node_modules/@types/react/global.d.ts","./node_modules/csstype/index.d.ts","./node_modules/@types/react/index.d.ts","./node_modules/next/dist/styled-jsx/types/css.d.ts","./node_modules/next/dist/styled-jsx/types/macro.d.ts","./node_modules/next/dist/styled-jsx/types/style.d.ts","./node_modules/next/dist/styled-jsx/types/global.d.ts","./node_modules/next/dist/styled-jsx/types/index.d.ts","./node_modules/next/dist/server/get-page-files.d.ts","./node_modules/@types/node/compatibility/disposable.d.ts","./node_modules/@types/node/compatibility/indexable.d.ts","./node_modules/@types/node/compatibility/iterators.d.ts","./node_modules/@types/node/compatibility/index.d.ts","./node_modules/@types/node/globals.typedarray.d.ts","./node_modules/@types/node/buffer.buffer.d.ts","./node_modules/@types/node/globals.d.ts","./node_modules/@types/node/web-globals/abortcontroller.d.ts","./node_modules/@types/node/web-globals/domexception.d.ts","./node_modules/@types/node/web-globals/events.d.ts","../../node_modules/buffer/index.d.ts","./node_modules/undici-types/header.d.ts","./node_modules/undici-types/readable.d.ts","./node_modules/undici-types/file.d.ts","./node_modules/undici-types/fetch.d.ts","./node_modules/undici-types/formdata.d.ts","./node_modules/undici-types/connector.d.ts","./node_modules/undici-types/client.d.ts","./node_modules/undici-types/errors.d.ts","./node_modules/undici-types/dispatcher.d.ts","./node_modules/undici-types/global-dispatcher.d.ts","./node_modules/undici-types/global-origin.d.ts","./node_modules/undici-types/pool-stats.d.ts","./node_modules/undici-types/pool.d.ts","./node_modules/undici-types/handlers.d.ts","./node_modules/undici-types/balanced-pool.d.ts","./node_modules/undici-types/agent.d.ts","./node_modules/undici-types/mock-interceptor.d.ts","./node_modules/undici-types/mock-agent.d.ts","./node_modules/undici-types/mock-client.d.ts","./node_modules/undici-types/mock-pool.d.ts","./node_modules/undici-types/mock-errors.d.ts","./node_modules/undici-types/proxy-agent.d.ts","./node_modules/undici-types/env-http-proxy-agent.d.ts","./node_modules/undici-types/retry-handler.d.ts","./node_modules/undici-types/retry-agent.d.ts","./node_modules/undici-types/api.d.ts","./node_modules/undici-types/interceptors.d.ts","./node_modules/undici-types/util.d.ts","./node_modules/undici-types/cookies.d.ts","./node_modules/undici-types/patch.d.ts","./node_modules/undici-types/websocket.d.ts","./node_modules/undici-types/eventsource.d.ts","./node_modules/undici-types/filereader.d.ts","./node_modules/undici-types/diagnostics-channel.d.ts","./node_modules/undici-types/content-type.d.ts","./node_modules/undici-types/cache.d.ts","./node_modules/undici-types/index.d.ts","./node_modules/@types/node/web-globals/fetch.d.ts","./node_modules/@types/node/web-globals/navigator.d.ts","./node_modules/@types/node/web-globals/storage.d.ts","./node_modules/@types/node/web-globals/streams.d.ts","./node_modules/@types/node/assert.d.ts","./node_modules/@types/node/assert/strict.d.ts","./node_modules/@types/node/async_hooks.d.ts","./node_modules/@types/node/buffer.d.ts","./node_modules/@types/node/child_process.d.ts","./node_modules/@types/node/cluster.d.ts","./node_modules/@types/node/console.d.ts","./node_modules/@types/node/constants.d.ts","./node_modules/@types/node/crypto.d.ts","./node_modules/@types/node/dgram.d.ts","./node_modules/@types/node/diagnostics_channel.d.ts","./node_modules/@types/node/dns.d.ts","./node_modules/@types/node/dns/promises.d.ts","./node_modules/@types/node/domain.d.ts","./node_modules/@types/node/events.d.ts","./node_modules/@types/node/fs.d.ts","./node_modules/@types/node/fs/promises.d.ts","./node_modules/@types/node/http.d.ts","./node_modules/@types/node/http2.d.ts","./node_modules/@types/node/https.d.ts","./node_modules/@types/node/inspector.d.ts","./node_modules/@types/node/inspector.generated.d.ts","./node_modules/@types/node/module.d.ts","./node_modules/@types/node/net.d.ts","./node_modules/@types/node/os.d.ts","./node_modules/@types/node/path.d.ts","./node_modules/@types/node/perf_hooks.d.ts","./node_modules/@types/node/process.d.ts","./node_modules/@types/node/punycode.d.ts","./node_modules/@types/node/querystring.d.ts","./node_modules/@types/node/readline.d.ts","./node_modules/@types/node/readline/promises.d.ts","./node_modules/@types/node/repl.d.ts","./node_modules/@types/node/sea.d.ts","./node_modules/@types/node/sqlite.d.ts","./node_modules/@types/node/stream.d.ts","./node_modules/@types/node/stream/promises.d.ts","./node_modules/@types/node/stream/consumers.d.ts","./node_modules/@types/node/stream/web.d.ts","./node_modules/@types/node/string_decoder.d.ts","./node_modules/@types/node/test.d.ts","./node_modules/@types/node/timers.d.ts","./node_modules/@types/node/timers/promises.d.ts","./node_modules/@types/node/tls.d.ts","./node_modules/@types/node/trace_events.d.ts","./node_modules/@types/node/tty.d.ts","./node_modules/@types/node/url.d.ts","./node_modules/@types/node/util.d.ts","./node_modules/@types/node/v8.d.ts","./node_modules/@types/node/vm.d.ts","./node_modules/@types/node/wasi.d.ts","./node_modules/@types/node/worker_threads.d.ts","./node_modules/@types/node/zlib.d.ts","./node_modules/@types/node/index.d.ts","./node_modules/@types/react/canary.d.ts","./node_modules/@types/react/experimental.d.ts","./node_modules/@types/react-dom/index.d.ts","./node_modules/@types/react-dom/canary.d.ts","./node_modules/@types/react-dom/experimental.d.ts","./node_modules/next/dist/lib/fallback.d.ts","./node_modules/next/dist/compiled/webpack/webpack.d.ts","./node_modules/next/dist/shared/lib/modern-browserslist-target.d.ts","./node_modules/next/dist/shared/lib/entry-constants.d.ts","./node_modules/next/dist/shared/lib/constants.d.ts","./node_modules/next/dist/lib/bundler.d.ts","./node_modules/next/dist/server/config.d.ts","./node_modules/next/dist/lib/load-custom-routes.d.ts","./node_modules/next/dist/shared/lib/image-config.d.ts","./node_modules/next/dist/build/webpack/plugins/subresource-integrity-plugin.d.ts","./node_modules/next/dist/server/body-streams.d.ts","./node_modules/next/dist/server/request/search-params.d.ts","./node_modules/next/dist/shared/lib/segment-cache/vary-params-decoding.d.ts","./node_modules/next/dist/server/app-render/vary-params.d.ts","./node_modules/next/dist/server/request/params.d.ts","./node_modules/next/dist/server/route-kind.d.ts","./node_modules/next/dist/server/route-definitions/route-definition.d.ts","./node_modules/next/dist/server/route-matches/route-match.d.ts","./node_modules/next/dist/client/components/app-router-headers.d.ts","./node_modules/next/dist/server/lib/cache-control.d.ts","./node_modules/next/dist/shared/lib/app-router-types.d.ts","./node_modules/next/dist/server/lib/cache-handlers/types.d.ts","./node_modules/next/dist/server/use-cache/use-cache-wrapper.d.ts","./node_modules/next/dist/server/resume-data-cache/cache-store.d.ts","./node_modules/next/dist/server/resume-data-cache/resume-data-cache.d.ts","./node_modules/next/dist/lib/constants.d.ts","./node_modules/next/dist/server/render-result.d.ts","./node_modules/next/dist/server/response-cache/types.d.ts","./node_modules/next/dist/server/response-cache/index.d.ts","./node_modules/@types/react/jsx-runtime.d.ts","./node_modules/next/dist/next-devtools/userspace/pages/pages-dev-overlay-setup.d.ts","./node_modules/next/dist/build/static-paths/types.d.ts","./node_modules/next/dist/server/route-definitions/app-page-route-definition.d.ts","./node_modules/next/dist/build/adapter/setup-node-env.external.d.ts","./node_modules/next/dist/server/instrumentation/types.d.ts","./node_modules/next/dist/lib/setup-exception-listeners.d.ts","./node_modules/next/dist/lib/worker.d.ts","./node_modules/next/dist/server/lib/experimental/ppr.d.ts","./node_modules/next/dist/lib/page-types.d.ts","./node_modules/next/dist/build/segment-config/app/app-segment-config.d.ts","./node_modules/next/dist/build/segment-config/pages/pages-segment-config.d.ts","./node_modules/next/dist/build/analysis/get-page-static-info.d.ts","./node_modules/next/dist/build/webpack/loaders/get-module-build-info.d.ts","./node_modules/next/dist/build/webpack/plugins/middleware-plugin.d.ts","./node_modules/next/dist/server/require-hook.d.ts","./node_modules/next/dist/server/node-polyfill-crypto.d.ts","./node_modules/next/dist/server/node-environment-baseline.d.ts","./node_modules/next/dist/server/node-environment-extensions/error-inspect.d.ts","./node_modules/next/dist/server/node-environment-extensions/console-file.d.ts","./node_modules/next/dist/server/node-environment-extensions/console-exit.d.ts","./node_modules/next/dist/server/node-environment-extensions/console-dim.external.d.ts","./node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.d.ts","./node_modules/next/dist/server/node-environment-extensions/random.d.ts","./node_modules/next/dist/server/node-environment-extensions/date.d.ts","./node_modules/next/dist/server/node-environment-extensions/web-crypto.d.ts","./node_modules/next/dist/server/node-environment-extensions/node-crypto.d.ts","./node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.d.ts","./node_modules/next/dist/server/node-environment.d.ts","./node_modules/next/dist/build/page-extensions-type.d.ts","./node_modules/next/dist/server/route-modules/app-page/module.compiled.d.ts","./node_modules/next/dist/server/route-definitions/app-route-route-definition.d.ts","./node_modules/next/dist/server/lib/i18n-provider.d.ts","./node_modules/next/dist/server/web/next-url.d.ts","./node_modules/next/dist/compiled/@edge-runtime/cookies/index.d.ts","./node_modules/next/dist/server/web/spec-extension/cookies.d.ts","./node_modules/next/dist/server/web/spec-extension/request.d.ts","./node_modules/next/dist/shared/lib/deep-readonly.d.ts","./node_modules/next/dist/server/lib/incremental-cache/index.d.ts","./node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.d.ts","./node_modules/next/dist/build/webpack/plugins/flight-manifest-plugin.d.ts","./node_modules/next/dist/build/webpack/plugins/next-font-manifest-plugin.d.ts","./node_modules/next/dist/server/route-definitions/locale-route-definition.d.ts","./node_modules/next/dist/server/route-definitions/pages-route-definition.d.ts","./node_modules/next/dist/shared/lib/mitt.d.ts","./node_modules/next/dist/client/with-router.d.ts","./node_modules/next/dist/client/router.d.ts","./node_modules/next/dist/client/route-loader.d.ts","./node_modules/next/dist/client/page-loader.d.ts","./node_modules/next/dist/shared/lib/bloom-filter.d.ts","./node_modules/next/dist/shared/lib/router/router.d.ts","./node_modules/next/dist/shared/lib/router-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/loadable-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/loadable.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.d.ts","./node_modules/next/dist/client/components/readonly-url-search-params.d.ts","./node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.d.ts","./node_modules/next/dist/client/flight-data-helpers.d.ts","./node_modules/next/dist/client/components/segment-cache/cache-key.d.ts","./node_modules/next/dist/client/components/router-reducer/fetch-server-response.d.ts","./node_modules/next/dist/client/components/segment-cache/types.d.ts","./node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.d.ts","./node_modules/next/dist/client/components/segment-cache/scheduler.d.ts","./node_modules/next/dist/client/components/segment-cache/cache-map.d.ts","./node_modules/next/dist/client/components/segment-cache/vary-path.d.ts","./node_modules/next/dist/client/components/segment-cache/cache.d.ts","./node_modules/next/dist/client/components/router-reducer/ppr-navigations.d.ts","./node_modules/next/dist/client/components/segment-cache/navigation.d.ts","./node_modules/next/dist/client/components/router-reducer/router-reducer-types.d.ts","./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.d.ts","./node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.d.ts","./node_modules/next/dist/server/route-modules/pages/module.compiled.d.ts","./node_modules/next/dist/build/templates/pages.d.ts","./node_modules/next/dist/server/route-modules/pages/module.d.ts","./node_modules/next/dist/server/render.d.ts","./node_modules/next/dist/build/webpack/plugins/pages-manifest-plugin.d.ts","./node_modules/next/dist/server/route-definitions/pages-api-route-definition.d.ts","./node_modules/next/dist/server/route-matches/pages-api-route-match.d.ts","./node_modules/next/dist/server/route-matchers/route-matcher.d.ts","./node_modules/next/dist/server/route-matcher-providers/route-matcher-provider.d.ts","./node_modules/next/dist/server/route-matcher-managers/route-matcher-manager.d.ts","./node_modules/next/dist/server/normalizers/normalizer.d.ts","./node_modules/next/dist/server/normalizers/locale-route-normalizer.d.ts","./node_modules/next/dist/server/normalizers/request/pathname-normalizer.d.ts","./node_modules/next/dist/server/normalizers/request/suffix.d.ts","./node_modules/next/dist/server/normalizers/request/rsc.d.ts","./node_modules/next/dist/server/normalizers/request/next-data.d.ts","./node_modules/next/dist/server/after/builtin-request-context.d.ts","./node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.d.ts","./node_modules/next/dist/server/route-modules/pages/builtin/_error.d.ts","./node_modules/next/dist/server/load-default-error-components.d.ts","./node_modules/next/dist/server/base-server.d.ts","./node_modules/next/dist/server/after/after.d.ts","./node_modules/next/dist/server/after/after-context.d.ts","./node_modules/next/dist/server/use-cache/cache-life.d.ts","./node_modules/next/dist/server/app-render/work-async-storage-instance.d.ts","./node_modules/next/dist/server/lib/lazy-result.d.ts","./node_modules/next/dist/server/app-render/create-error-handler.d.ts","./node_modules/next/dist/shared/lib/action-revalidation-kind.d.ts","./node_modules/next/dist/server/app-render/work-async-storage.external.d.ts","./node_modules/next/dist/server/async-storage/work-store.d.ts","./node_modules/next/dist/server/web/http.d.ts","./node_modules/next/dist/client/components/hooks-server-context.d.ts","./node_modules/next/dist/server/route-modules/app-route/shared-modules.d.ts","./node_modules/next/dist/client/components/redirect-status-code.d.ts","./node_modules/next/dist/client/components/redirect-error.d.ts","./node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.d.ts","./node_modules/next/dist/server/async-storage/draft-mode-provider.d.ts","./node_modules/next/dist/server/web/spec-extension/adapters/headers.d.ts","./node_modules/next/dist/server/app-render/cache-signal.d.ts","./node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.d.ts","./node_modules/next/dist/server/app-render/instant-validation/instant-validation-error.d.ts","./node_modules/next/dist/shared/lib/router/utils/parse-relative-url.d.ts","./node_modules/next/dist/server/app-render/instant-validation/instant-samples.d.ts","./node_modules/next/dist/server/app-render/dynamic-rendering.d.ts","./node_modules/next/dist/server/app-render/work-unit-async-storage-instance.d.ts","./node_modules/next/dist/server/lib/implicit-tags.d.ts","./node_modules/next/dist/server/app-render/staged-rendering.d.ts","./node_modules/next/dist/server/app-render/work-unit-async-storage.external.d.ts","./node_modules/next/dist/build/templates/app-route.d.ts","./node_modules/next/dist/server/app-render/action-async-storage-instance.d.ts","./node_modules/next/dist/server/app-render/action-async-storage.external.d.ts","./node_modules/next/dist/server/route-modules/app-route/module.d.ts","./node_modules/next/dist/server/route-modules/app-route/module.compiled.d.ts","./node_modules/next/dist/build/segment-config/app/app-segments.d.ts","./node_modules/next/dist/build/get-supported-browsers.d.ts","./node_modules/next/dist/build/utils.d.ts","./node_modules/next/dist/build/rendering-mode.d.ts","./node_modules/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.d.ts","./node_modules/next/dist/server/lib/cpu-profile.d.ts","./node_modules/next/dist/build/turborepo-access-trace/types.d.ts","./node_modules/next/dist/build/turborepo-access-trace/result.d.ts","./node_modules/next/dist/build/turborepo-access-trace/helpers.d.ts","./node_modules/next/dist/build/turborepo-access-trace/index.d.ts","./node_modules/next/dist/export/routes/types.d.ts","./node_modules/next/dist/export/types.d.ts","./node_modules/next/dist/export/worker.d.ts","./node_modules/next/dist/build/worker.d.ts","./node_modules/next/dist/build/index.d.ts","./node_modules/next/dist/lib/coalesced-function.d.ts","./node_modules/next/dist/server/lib/router-utils/types.d.ts","./node_modules/next/dist/trace/types.d.ts","./node_modules/next/dist/trace/trace.d.ts","./node_modules/next/dist/trace/shared.d.ts","./node_modules/next/dist/trace/index.d.ts","./node_modules/next/dist/build/load-jsconfig.d.ts","./node_modules/@next/env/dist/index.d.ts","./node_modules/next/dist/build/webpack/plugins/telemetry-plugin/use-cache-tracker-utils.d.ts","./node_modules/next/dist/build/webpack/plugins/telemetry-plugin/telemetry-plugin.d.ts","./node_modules/next/dist/telemetry/storage.d.ts","./node_modules/next/dist/build/build-context.d.ts","./node_modules/next/dist/build/webpack-config.d.ts","./node_modules/next/dist/build/swc/generated-native.d.ts","./node_modules/next/dist/build/define-env.d.ts","./node_modules/next/dist/build/swc/index.d.ts","./node_modules/next/dist/build/swc/types.d.ts","./node_modules/next/dist/server/dev/parse-version-info.d.ts","./node_modules/next/dist/next-devtools/shared/types.d.ts","./node_modules/next/dist/server/dev/dev-indicator-server-state.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/cache-indicator.d.ts","./node_modules/next/dist/server/lib/parse-stack.d.ts","./node_modules/next/dist/next-devtools/server/shared.d.ts","./node_modules/next/dist/next-devtools/shared/stack-frame.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/utils/get-error-by-type.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/container/runtime-error/render-error.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/shared.d.ts","./node_modules/next/dist/server/dev/debug-channel.d.ts","./node_modules/next/dist/server/dev/hot-reloader-types.d.ts","./node_modules/next/dist/server/web/spec-extension/fetch-event.d.ts","./node_modules/next/dist/server/web/spec-extension/response.d.ts","./node_modules/next/dist/build/segment-config/middleware/middleware-config.d.ts","./node_modules/next/dist/server/web/types.d.ts","./node_modules/next/dist/shared/lib/router/utils/parse-url.d.ts","./node_modules/next/dist/server/base-http/node.d.ts","./node_modules/next/dist/server/lib/async-callback-set.d.ts","./node_modules/next/dist/shared/lib/router/utils/route-regex.d.ts","./node_modules/next/dist/shared/lib/router/utils/route-matcher.d.ts","./node_modules/sharp/lib/index.d.ts","./node_modules/next/dist/server/image-optimizer.d.ts","./node_modules/next/dist/server/next-server.d.ts","./node_modules/next/dist/server/lib/types.d.ts","./node_modules/next/dist/server/lib/lru-cache.d.ts","./node_modules/next/dist/server/lib/dev-bundler-service.d.ts","./node_modules/next/dist/server/dev/static-paths-worker.d.ts","./node_modules/next/dist/server/dev/next-dev-server.d.ts","./node_modules/next/dist/server/next.d.ts","./node_modules/next/dist/server/lib/render-server.d.ts","./node_modules/next/dist/server/lib/router-server.d.ts","./node_modules/next/dist/shared/lib/router/utils/path-match.d.ts","./node_modules/next/dist/server/lib/router-utils/filesystem.d.ts","./node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.d.ts","./node_modules/next/dist/server/lib/router-utils/router-server-context.d.ts","./node_modules/next/dist/server/route-modules/route-module.d.ts","./node_modules/next/dist/server/load-components.d.ts","./node_modules/next/dist/server/web/adapter.d.ts","./node_modules/next/dist/server/app-render/types.d.ts","./node_modules/next/dist/build/webpack/loaders/metadata/types.d.ts","./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.d.ts","./node_modules/next/dist/server/lib/app-dir-module.d.ts","./node_modules/next/dist/server/app-render/app-render.d.ts","./node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.d.ts","./node_modules/next/dist/client/components/error-boundary.d.ts","./node_modules/next/dist/client/components/layout-router.d.ts","./node_modules/next/dist/client/components/render-from-template-context.d.ts","./node_modules/next/dist/client/components/client-page.d.ts","./node_modules/next/dist/client/components/client-segment.d.ts","./node_modules/next/dist/client/components/http-access-fallback/error-boundary.d.ts","./node_modules/next/dist/lib/metadata/types/alternative-urls-types.d.ts","./node_modules/next/dist/lib/metadata/types/extra-types.d.ts","./node_modules/next/dist/lib/metadata/types/metadata-types.d.ts","./node_modules/next/dist/lib/metadata/types/manifest-types.d.ts","./node_modules/next/dist/lib/metadata/types/opengraph-types.d.ts","./node_modules/next/dist/lib/metadata/types/twitter-types.d.ts","./node_modules/next/dist/lib/metadata/types/metadata-interface.d.ts","./node_modules/next/dist/lib/metadata/types/resolvers.d.ts","./node_modules/next/dist/lib/metadata/types/icons.d.ts","./node_modules/next/dist/lib/metadata/resolve-metadata.d.ts","./node_modules/next/dist/lib/metadata/metadata.d.ts","./node_modules/next/dist/lib/framework/boundary-components.d.ts","./node_modules/next/dist/server/app-render/rsc/preloads.d.ts","./node_modules/next/dist/server/app-render/rsc/postpone.d.ts","./node_modules/next/dist/server/app-render/rsc/taint.d.ts","./node_modules/next/dist/server/app-render/collect-segment-data.d.ts","./node_modules/next/dist/server/app-render/instant-validation/instant-validation.d.ts","./node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.d.ts","./node_modules/next/dist/server/app-render/entry-base.d.ts","./node_modules/next/dist/build/templates/app-page.d.ts","./node_modules/next/dist/server/route-modules/app-page/helpers/prerender-manifest-matcher.d.ts","./node_modules/@types/react/jsx-dev-runtime.d.ts","./node_modules/@types/react/compiler-runtime.d.ts","./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.d.ts","./node_modules/@types/react-dom/client.d.ts","./node_modules/@types/react-dom/static.d.ts","./node_modules/@types/react-dom/server.d.ts","./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.d.ts","./node_modules/next/dist/server/route-modules/app-page/module.d.ts","./node_modules/next/dist/server/request/fallback-params.d.ts","./node_modules/next/dist/server/web/spec-extension/image-response.d.ts","./node_modules/next/dist/server/web/spec-extension/user-agent.d.ts","./node_modules/next/dist/server/web/spec-extension/url-pattern.d.ts","./node_modules/next/dist/server/after/index.d.ts","./node_modules/next/dist/server/request/connection.d.ts","./node_modules/next/dist/server/web/exports/index.d.ts","./node_modules/next/dist/server/request-meta.d.ts","./node_modules/next/dist/cli/next-test.d.ts","./node_modules/next/dist/shared/lib/size-limit.d.ts","./node_modules/next/dist/server/config-shared.d.ts","./node_modules/next/dist/server/base-http/index.d.ts","./node_modules/next/dist/server/api-utils/index.d.ts","./node_modules/next/dist/build/adapter/build-complete.d.ts","./node_modules/next/dist/types.d.ts","./node_modules/next/dist/shared/lib/html-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/utils.d.ts","./node_modules/next/dist/pages/_app.d.ts","./node_modules/next/app.d.ts","./node_modules/next/dist/server/web/spec-extension/unstable-cache.d.ts","./node_modules/next/dist/server/web/spec-extension/revalidate.d.ts","./node_modules/next/dist/server/web/spec-extension/unstable-no-store.d.ts","./node_modules/next/dist/server/use-cache/cache-tag.d.ts","./node_modules/next/cache.d.ts","./node_modules/next/dist/pages/_document.d.ts","./node_modules/next/document.d.ts","./node_modules/next/dist/shared/lib/dynamic.d.ts","./node_modules/next/dynamic.d.ts","./node_modules/next/dist/pages/_error.d.ts","./node_modules/next/dist/client/components/catch-error.d.ts","./node_modules/next/dist/api/error.d.ts","./node_modules/next/error.d.ts","./node_modules/next/dist/shared/lib/head.d.ts","./node_modules/next/head.d.ts","./node_modules/next/dist/server/request/cookies.d.ts","./node_modules/next/dist/server/request/headers.d.ts","./node_modules/next/dist/server/request/draft-mode.d.ts","./node_modules/next/headers.d.ts","./node_modules/next/dist/shared/lib/get-img-props.d.ts","./node_modules/next/dist/client/image-component.d.ts","./node_modules/next/dist/shared/lib/image-external.d.ts","./node_modules/next/image.d.ts","./node_modules/next/dist/client/link.d.ts","./node_modules/next/link.d.ts","./node_modules/next/dist/client/components/unrecognized-action-error.d.ts","./node_modules/next/dist/client/components/redirect.d.ts","./node_modules/next/dist/client/components/not-found.d.ts","./node_modules/next/dist/client/components/forbidden.d.ts","./node_modules/next/dist/client/components/unauthorized.d.ts","./node_modules/next/dist/client/components/unstable-rethrow.server.d.ts","./node_modules/next/dist/client/components/unstable-rethrow.d.ts","./node_modules/next/dist/client/components/navigation.react-server.d.ts","./node_modules/next/dist/client/components/navigation.d.ts","./node_modules/next/navigation.d.ts","./node_modules/next/router.d.ts","./node_modules/next/dist/client/script.d.ts","./node_modules/next/script.d.ts","./node_modules/next/dist/compiled/@edge-runtime/primitives/url.d.ts","./node_modules/next/dist/compiled/@vercel/og/satori/index.d.ts","./node_modules/next/dist/compiled/@vercel/og/types.d.ts","./node_modules/next/server.d.ts","./node_modules/next/types/global.d.ts","./node_modules/next/types/compiled.d.ts","./node_modules/next/types.d.ts","./node_modules/next/index.d.ts","./node_modules/next/image-types/global.d.ts","./.next/types/routes.d.ts","./next-env.d.ts","./next.config.ts","./node_modules/playwright-core/types/protocol.d.ts","./node_modules/playwright-core/types/structs.d.ts","./node_modules/zod/v3/helpers/typeAliases.d.cts","./node_modules/zod/v3/helpers/util.d.cts","./node_modules/zod/v3/index.d.cts","./node_modules/zod/v3/ZodError.d.cts","./node_modules/zod/v3/locales/en.d.cts","./node_modules/zod/v3/errors.d.cts","./node_modules/zod/v3/helpers/parseUtil.d.cts","./node_modules/zod/v3/helpers/enumUtil.d.cts","./node_modules/zod/v3/helpers/errorUtil.d.cts","./node_modules/zod/v3/helpers/partialUtil.d.cts","./node_modules/zod/v3/standard-schema.d.cts","./node_modules/zod/v3/types.d.cts","./node_modules/zod/v3/external.d.cts","./node_modules/zod/index.d.cts","./node_modules/playwright-core/types/types.d.ts","./node_modules/playwright-core/index.d.ts","./node_modules/playwright/types/test.d.ts","./node_modules/playwright/test.d.ts","./node_modules/@playwright/test/index.d.ts","./playwright.config.ts","./node_modules/@vitest/spy/optional-types.d.ts","./node_modules/@vitest/spy/dist/index.d.ts","./node_modules/tinyrainbow/dist/index.d.ts","./node_modules/@standard-schema/spec/dist/index.d.ts","./node_modules/@vitest/pretty-format/dist/index.d.ts","./node_modules/@vitest/utils/dist/types.d-BCElaP-c.d.ts","./node_modules/@vitest/utils/dist/diff.d.ts","./node_modules/@vitest/utils/dist/display.d.ts","./node_modules/@types/deep-eql/index.d.ts","./node_modules/assertion-error/index.d.ts","./node_modules/@types/chai/index.d.ts","./node_modules/@vitest/expect/dist/index.d.ts","./node_modules/vite/types/hmrPayload.d.ts","./node_modules/vite/dist/node/chunks/moduleRunnerTransport.d.ts","./node_modules/vite/types/customEvent.d.ts","./node_modules/@types/estree/index.d.ts","./node_modules/rollup/dist/rollup.d.ts","./node_modules/rollup/dist/parseAst.d.ts","./node_modules/vite/types/hot.d.ts","./node_modules/vite/dist/node/module-runner.d.ts","./node_modules/esbuild/lib/main.d.ts","./node_modules/vite/types/internal/terserOptions.d.ts","./node_modules/source-map-js/source-map.d.ts","./node_modules/postcss/lib/previous-map.d.ts","./node_modules/postcss/lib/input.d.ts","./node_modules/postcss/lib/css-syntax-error.d.ts","./node_modules/postcss/lib/declaration.d.ts","./node_modules/postcss/lib/root.d.ts","./node_modules/postcss/lib/warning.d.ts","./node_modules/postcss/lib/lazy-result.d.ts","./node_modules/postcss/lib/no-work-result.d.ts","./node_modules/postcss/lib/processor.d.ts","./node_modules/postcss/lib/result.d.ts","./node_modules/postcss/lib/document.d.ts","./node_modules/postcss/lib/rule.d.ts","./node_modules/postcss/lib/node.d.ts","./node_modules/postcss/lib/comment.d.ts","./node_modules/postcss/lib/container.d.ts","./node_modules/postcss/lib/at-rule.d.ts","./node_modules/postcss/lib/list.d.ts","./node_modules/postcss/lib/postcss.d.ts","./node_modules/postcss/lib/postcss.d.mts","./node_modules/vite/types/internal/cssPreprocessorOptions.d.ts","./node_modules/lightningcss/node/ast.d.ts","./node_modules/lightningcss/node/targets.d.ts","./node_modules/lightningcss/node/index.d.ts","./node_modules/vite/types/internal/lightningcssOptions.d.ts","./node_modules/vite/types/importGlob.d.ts","./node_modules/vite/types/metadata.d.ts","./node_modules/vite/dist/node/index.d.ts","./node_modules/@vitest/utils/dist/types.d.ts","./node_modules/@vitest/utils/dist/helpers.d.ts","./node_modules/@vitest/utils/dist/timers.d.ts","./node_modules/@vitest/utils/dist/index.d.ts","./node_modules/@vitest/runner/dist/tasks.d-DEYaIMIu.d.ts","./node_modules/@vitest/runner/dist/index.d.ts","./node_modules/vitest/dist/chunks/traces.d.D2T_R8rx.d.ts","./node_modules/@vitest/snapshot/dist/environment.d-DOJxxZV9.d.ts","./node_modules/@vitest/snapshot/dist/rawSnapshot.d-D_X3-62x.d.ts","./node_modules/@vitest/snapshot/dist/index.d.ts","./node_modules/vitest/dist/chunks/config.d.A1h_Y6Jt.d.ts","./node_modules/vitest/dist/chunks/environment.d.CrsxCzP1.d.ts","./node_modules/vitest/dist/chunks/rpc.d.B_8sPU0w.d.ts","./node_modules/vitest/dist/chunks/worker.d.ZpHpO4yb.d.ts","./node_modules/vitest/dist/chunks/browser.d.BcoexmFG.d.ts","./node_modules/vitest/optional-types.d.ts","./node_modules/@vitest/runner/dist/utils.d.ts","./node_modules/tinybench/dist/index.d.ts","./node_modules/vitest/dist/chunks/benchmark.d.DAaHLpsq.d.ts","./node_modules/@vitest/mocker/dist/types.d-BjI5eAwu.d.ts","./node_modules/@vitest/mocker/dist/index.d-B41z0AuW.d.ts","./node_modules/@vitest/mocker/dist/index.d.ts","./node_modules/@vitest/utils/dist/source-map.d.ts","./node_modules/vitest/dist/chunks/coverage.d.BZtK59WP.d.ts","./node_modules/@vitest/utils/dist/serialize.d.ts","./node_modules/@vitest/utils/dist/error.d.ts","./node_modules/vitest/dist/browser.d.ts","./node_modules/vitest/browser/context.d.ts","./node_modules/@vitest/snapshot/dist/manager.d.ts","./node_modules/vitest/dist/chunks/reporters.d.DtoKVV2s.d.ts","./node_modules/vitest/dist/chunks/plugin.d.DwFIiJ7i.d.ts","./node_modules/vitest/dist/config.d.ts","./node_modules/vitest/config.d.ts","./vitest.config.ts","./node_modules/@prisma/client/runtime/library.d.ts","./node_modules/.prisma/client/index.d.ts","./node_modules/.prisma/client/default.d.ts","./node_modules/@prisma/client/default.d.ts","./src/lib/db.ts","./src/lib/ai.ts","./node_modules/clsx/clsx.d.mts","./node_modules/tailwind-merge/dist/types.d.ts","./src/lib/utils.ts","./src/engines/demand.ts","./src/engines/types.ts","./src/engines/constants.ts","./src/engines/valuation.ts","./src/engines/freight.ts","./src/engines/costs.ts","./src/engines/scoring.ts","./src/pipeline/research.ts","./src/lib/password.ts","./prisma/seed.ts","./src/lib/hot-deals.ts","./scripts/hot-deal-alert.ts","./src/importers/ingest.ts","./src/importers/apify-govdeals.ts","./scripts/import-apify-govdeals.ts","./src/importers/govdeals-free.ts","./scripts/import-govdeals-free.ts","./src/importers/govplanet-free.ts","./scripts/import-govplanet-free.ts","./src/importers/grays-free.ts","./scripts/import-grays.ts","./src/importers/gsa.ts","./scripts/import-gsa.ts","./src/importers/municibid-free.ts","./scripts/import-municibid-free.ts","./src/importers/publicsurplus-free.ts","./scripts/import-publicsurplus-free.ts","./scripts/liveness-sweep.ts","./node_modules/playwright/index.d.ts","./scripts/probe-govdeals.ts","./src/lib/digest-snapshot.ts","./scripts/seed-digest-snapshots.ts","./src/lib/listings.ts","./src/lib/digest-top.ts","./scripts/send-digest.ts","./node_modules/dotenv/config.d.ts","./src/lib/newsletter.ts","./src/lib/send-digest.ts","./scripts/send-newsletter-digest.ts","./scripts/set-admin.ts","./node_modules/jose/dist/types/types.d.ts","./node_modules/jose/dist/types/jwe/compact/decrypt.d.ts","./node_modules/jose/dist/types/jwe/flattened/decrypt.d.ts","./node_modules/jose/dist/types/jwe/general/decrypt.d.ts","./node_modules/jose/dist/types/jwe/general/encrypt.d.ts","./node_modules/jose/dist/types/jws/compact/verify.d.ts","./node_modules/jose/dist/types/jws/flattened/verify.d.ts","./node_modules/jose/dist/types/jws/general/verify.d.ts","./node_modules/jose/dist/types/jwt/verify.d.ts","./node_modules/jose/dist/types/jwt/decrypt.d.ts","./node_modules/jose/dist/types/jwe/compact/encrypt.d.ts","./node_modules/jose/dist/types/jwe/flattened/encrypt.d.ts","./node_modules/jose/dist/types/jws/compact/sign.d.ts","./node_modules/jose/dist/types/jws/flattened/sign.d.ts","./node_modules/jose/dist/types/jws/general/sign.d.ts","./node_modules/jose/dist/types/jwt/sign.d.ts","./node_modules/jose/dist/types/jwt/encrypt.d.ts","./node_modules/jose/dist/types/jwk/thumbprint.d.ts","./node_modules/jose/dist/types/jwk/embedded.d.ts","./node_modules/jose/dist/types/jwks/local.d.ts","./node_modules/jose/dist/types/jwks/remote.d.ts","./node_modules/jose/dist/types/jwt/unsecured.d.ts","./node_modules/jose/dist/types/key/export.d.ts","./node_modules/jose/dist/types/key/import.d.ts","./node_modules/jose/dist/types/util/decode_protected_header.d.ts","./node_modules/jose/dist/types/util/decode_jwt.d.ts","./node_modules/jose/dist/types/util/errors.d.ts","./node_modules/jose/dist/types/key/generate_key_pair.d.ts","./node_modules/jose/dist/types/key/generate_secret.d.ts","./node_modules/jose/dist/types/util/base64url.d.ts","./node_modules/jose/dist/types/index.d.ts","./src/lib/session.ts","./src/lib/fleet-sso.ts","./src/middleware.ts","./src/agents/framework.ts","./src/agents/appraiser.ts","./src/agents/skeptic-rules.ts","./src/agents/skeptic.ts","./src/agents/scout.ts","./src/agents/run.ts","./node_modules/vitest/dist/chunks/global.d.DVsSRdQ5.d.ts","./node_modules/vitest/optional-runtime-types.d.ts","./node_modules/vitest/dist/chunks/suite.d.udJtyAgw.d.ts","./node_modules/vitest/dist/chunks/evaluatedModules.d.BxJ5omdx.d.ts","./node_modules/vitest/dist/runners.d.ts","./node_modules/expect-type/dist/utils.d.ts","./node_modules/expect-type/dist/overloads.d.ts","./node_modules/expect-type/dist/branding.d.ts","./node_modules/expect-type/dist/messages.d.ts","./node_modules/expect-type/dist/index.d.ts","./node_modules/vitest/dist/index.d.ts","./src/agents/skeptic-rules.test.ts","./src/lib/site.ts","./src/app/robots.ts","./src/app/sitemap.ts","./src/lib/places.ts","./src/lib/rate-limit.ts","./src/lib/tiers.ts","./src/lib/current-user.ts","./src/app/api/agents/search/route.ts","./src/app/api/auth/apple/route.ts","./src/app/api/auth/login/route.ts","./src/app/api/auth/logout/route.ts","./src/app/api/auth/me/route.ts","./node_modules/stripe/esm/net/HttpClient.d.ts","./node_modules/stripe/esm/StripeContext.d.ts","./node_modules/stripe/esm/apiVersion.d.ts","./node_modules/stripe/esm/lib.d.ts","./node_modules/stripe/esm/StripeResource.d.ts","./node_modules/stripe/esm/crypto/CryptoProvider.d.ts","./node_modules/stripe/esm/StripeEmitter.d.ts","./node_modules/stripe/esm/platform/PlatformFunctions.d.ts","./node_modules/stripe/esm/Decimal.d.ts","./node_modules/stripe/esm/shared.d.ts","./node_modules/stripe/esm/resources/Billing/MeterEventSummaries.d.ts","./node_modules/stripe/esm/resources/Billing/Meters.d.ts","./node_modules/stripe/esm/resources/Coupons.d.ts","./node_modules/stripe/esm/resources/PromotionCodes.d.ts","./node_modules/stripe/esm/resources/Discounts.d.ts","./node_modules/stripe/esm/resources/TaxRates.d.ts","./node_modules/stripe/esm/resources/CreditNoteLineItems.d.ts","./node_modules/stripe/esm/resources/FeeRefunds.d.ts","./node_modules/stripe/esm/resources/Capabilities.d.ts","./node_modules/stripe/esm/resources/BankAccounts.d.ts","./node_modules/stripe/esm/resources/Cards.d.ts","./node_modules/stripe/esm/resources/ExternalAccounts.d.ts","./node_modules/stripe/esm/resources/LoginLinks.d.ts","./node_modules/stripe/esm/multipart.d.ts","./node_modules/stripe/esm/resources/FileLinks.d.ts","./node_modules/stripe/esm/resources/Files.d.ts","./node_modules/stripe/esm/resources/Persons.d.ts","./node_modules/stripe/esm/resources/Applications.d.ts","./node_modules/stripe/esm/resources/TaxIds.d.ts","./node_modules/stripe/esm/resources/Accounts.d.ts","./node_modules/stripe/esm/resources/PaymentIntentAmountDetailsLineItems.d.ts","./node_modules/stripe/esm/resources/Mandates.d.ts","./node_modules/stripe/esm/resources/SourceTransactions.d.ts","./node_modules/stripe/esm/resources/Sources.d.ts","./node_modules/stripe/esm/resources/CustomerSources.d.ts","./node_modules/stripe/esm/resources/SetupIntents.d.ts","./node_modules/stripe/esm/resources/SetupAttempts.d.ts","./node_modules/stripe/esm/resources/PaymentMethods.d.ts","./node_modules/stripe/esm/resources/Reviews.d.ts","./node_modules/stripe/esm/resources/PaymentIntents.d.ts","./node_modules/stripe/esm/resources/TransferReversals.d.ts","./node_modules/stripe/esm/resources/Transfers.d.ts","./node_modules/stripe/esm/resources/Charges.d.ts","./node_modules/stripe/esm/resources/ApplicationFees.d.ts","./node_modules/stripe/esm/resources/ConnectCollectionTransfers.d.ts","./node_modules/stripe/esm/resources/CustomerCashBalanceTransactions.d.ts","./node_modules/stripe/esm/resources/Disputes.d.ts","./node_modules/stripe/esm/resources/Payouts.d.ts","./node_modules/stripe/esm/resources/ReserveTransactions.d.ts","./node_modules/stripe/esm/resources/TaxDeductedAtSources.d.ts","./node_modules/stripe/esm/resources/Topups.d.ts","./node_modules/stripe/esm/resources/Issuing/Cardholders.d.ts","./node_modules/stripe/esm/resources/Issuing/PhysicalBundles.d.ts","./node_modules/stripe/esm/resources/Issuing/PersonalizationDesigns.d.ts","./node_modules/stripe/esm/resources/Issuing/Cards.d.ts","./node_modules/stripe/esm/resources/Issuing/Tokens.d.ts","./node_modules/stripe/esm/resources/Issuing/Disputes.d.ts","./node_modules/stripe/esm/resources/Issuing/Transactions.d.ts","./node_modules/stripe/esm/resources/Issuing/Authorizations.d.ts","./node_modules/stripe/esm/resources/Issuing/index.d.ts","./node_modules/stripe/esm/resources/BalanceTransactionSources.d.ts","./node_modules/stripe/esm/resources/BalanceTransactions.d.ts","./node_modules/stripe/esm/resources/Refunds.d.ts","./node_modules/stripe/esm/resources/Entitlements/Features.d.ts","./node_modules/stripe/esm/resources/Entitlements/ActiveEntitlements.d.ts","./node_modules/stripe/esm/resources/Entitlements/ActiveEntitlementSummaries.d.ts","./node_modules/stripe/esm/resources/Entitlements/index.d.ts","./node_modules/stripe/esm/resources/ProductFeatures.d.ts","./node_modules/stripe/esm/resources/Prices.d.ts","./node_modules/stripe/esm/resources/TaxCodes.d.ts","./node_modules/stripe/esm/resources/Products.d.ts","./node_modules/stripe/esm/resources/Plans.d.ts","./node_modules/stripe/esm/resources/SubscriptionItems.d.ts","./node_modules/stripe/esm/resources/ConfirmationTokens.d.ts","./node_modules/stripe/esm/resources/TestHelpers/ConfirmationTokens.d.ts","./node_modules/stripe/esm/resources/TestHelpers/Customers.d.ts","./node_modules/stripe/esm/resources/TestHelpers/Refunds.d.ts","./node_modules/stripe/esm/resources/TestHelpers/TestClocks.d.ts","./node_modules/stripe/esm/resources/TestHelpers/Issuing/Authorizations.d.ts","./node_modules/stripe/esm/resources/TestHelpers/Issuing/Cards.d.ts","./node_modules/stripe/esm/resources/TestHelpers/Issuing/PersonalizationDesigns.d.ts","./node_modules/stripe/esm/resources/TestHelpers/Issuing/Transactions.d.ts","./node_modules/stripe/esm/resources/TestHelpers/Issuing/index.d.ts","./node_modules/stripe/esm/resources/Terminal/Locations.d.ts","./node_modules/stripe/esm/resources/Terminal/Readers.d.ts","./node_modules/stripe/esm/resources/TestHelpers/Terminal/Readers.d.ts","./node_modules/stripe/esm/resources/TestHelpers/Terminal/index.d.ts","./node_modules/stripe/esm/resources/Treasury/CreditReversals.d.ts","./node_modules/stripe/esm/resources/Treasury/DebitReversals.d.ts","./node_modules/stripe/esm/resources/Treasury/OutboundPayments.d.ts","./node_modules/stripe/esm/resources/Treasury/OutboundTransfers.d.ts","./node_modules/stripe/esm/resources/Treasury/ReceivedCredits.d.ts","./node_modules/stripe/esm/resources/Treasury/ReceivedDebits.d.ts","./node_modules/stripe/esm/resources/Treasury/TransactionEntries.d.ts","./node_modules/stripe/esm/resources/Treasury/Transactions.d.ts","./node_modules/stripe/esm/resources/Treasury/InboundTransfers.d.ts","./node_modules/stripe/esm/resources/TestHelpers/Treasury/InboundTransfers.d.ts","./node_modules/stripe/esm/resources/TestHelpers/Treasury/OutboundPayments.d.ts","./node_modules/stripe/esm/resources/TestHelpers/Treasury/OutboundTransfers.d.ts","./node_modules/stripe/esm/resources/TestHelpers/Treasury/ReceivedCredits.d.ts","./node_modules/stripe/esm/resources/TestHelpers/Treasury/ReceivedDebits.d.ts","./node_modules/stripe/esm/resources/TestHelpers/Treasury/index.d.ts","./node_modules/stripe/esm/resources/TestHelpers/index.d.ts","./node_modules/stripe/esm/resources/SubscriptionSchedules.d.ts","./node_modules/stripe/esm/resources/Subscriptions.d.ts","./node_modules/stripe/esm/resources/InvoiceLineItems.d.ts","./node_modules/stripe/esm/resources/PaymentRecords.d.ts","./node_modules/stripe/esm/resources/InvoicePayments.d.ts","./node_modules/stripe/esm/resources/ShippingRates.d.ts","./node_modules/stripe/esm/resources/Invoices.d.ts","./node_modules/stripe/esm/resources/CreditNotes.d.ts","./node_modules/stripe/esm/resources/LineItems.d.ts","./node_modules/stripe/esm/resources/PaymentLinks.d.ts","./node_modules/stripe/esm/resources/Checkout/Sessions.d.ts","./node_modules/stripe/esm/resources/Checkout/index.d.ts","./node_modules/stripe/esm/resources/CustomerBalanceTransactions.d.ts","./node_modules/stripe/esm/resources/CashBalances.d.ts","./node_modules/stripe/esm/resources/FundingInstructions.d.ts","./node_modules/stripe/esm/resources/Customers.d.ts","./node_modules/stripe/esm/resources/Billing/Alerts.d.ts","./node_modules/stripe/esm/resources/Billing/CreditBalanceSummary.d.ts","./node_modules/stripe/esm/resources/Billing/CreditGrants.d.ts","./node_modules/stripe/esm/resources/Billing/CreditBalanceTransactions.d.ts","./node_modules/stripe/esm/resources/Billing/MeterEvents.d.ts","./node_modules/stripe/esm/resources/Billing/MeterEventAdjustments.d.ts","./node_modules/stripe/esm/resources/Billing/AlertTriggereds.d.ts","./node_modules/stripe/esm/resources/Billing/index.d.ts","./node_modules/stripe/esm/resources/BillingPortal/Configurations.d.ts","./node_modules/stripe/esm/resources/BillingPortal/Sessions.d.ts","./node_modules/stripe/esm/resources/BillingPortal/index.d.ts","./node_modules/stripe/esm/resources/Climate/Suppliers.d.ts","./node_modules/stripe/esm/resources/Climate/Products.d.ts","./node_modules/stripe/esm/resources/Climate/Orders.d.ts","./node_modules/stripe/esm/resources/Climate/index.d.ts","./node_modules/stripe/esm/resources/FinancialConnections/AccountOwners.d.ts","./node_modules/stripe/esm/resources/FinancialConnections/AccountOwnerships.d.ts","./node_modules/stripe/esm/resources/FinancialConnections/Accounts.d.ts","./node_modules/stripe/esm/resources/FinancialConnections/Sessions.d.ts","./node_modules/stripe/esm/resources/FinancialConnections/Transactions.d.ts","./node_modules/stripe/esm/resources/FinancialConnections/index.d.ts","./node_modules/stripe/esm/resources/Identity/VerificationReports.d.ts","./node_modules/stripe/esm/resources/Identity/VerificationSessions.d.ts","./node_modules/stripe/esm/resources/Identity/index.d.ts","./node_modules/stripe/esm/resources/Radar/EarlyFraudWarnings.d.ts","./node_modules/stripe/esm/resources/Radar/PaymentEvaluations.d.ts","./node_modules/stripe/esm/resources/Radar/ValueListItems.d.ts","./node_modules/stripe/esm/resources/Radar/ValueLists.d.ts","./node_modules/stripe/esm/resources/Radar/index.d.ts","./node_modules/stripe/esm/resources/Reporting/ReportRuns.d.ts","./node_modules/stripe/esm/resources/Reporting/ReportTypes.d.ts","./node_modules/stripe/esm/resources/Reporting/index.d.ts","./node_modules/stripe/esm/resources/Reserve/Plans.d.ts","./node_modules/stripe/esm/resources/Reserve/Holds.d.ts","./node_modules/stripe/esm/resources/Reserve/Releases.d.ts","./node_modules/stripe/esm/resources/Reserve/index.d.ts","./node_modules/stripe/esm/resources/Sigma/ScheduledQueryRuns.d.ts","./node_modules/stripe/esm/resources/Sigma/index.d.ts","./node_modules/stripe/esm/resources/Tax/Associations.d.ts","./node_modules/stripe/esm/resources/Tax/CalculationLineItems.d.ts","./node_modules/stripe/esm/resources/Tax/Calculations.d.ts","./node_modules/stripe/esm/resources/Tax/Registrations.d.ts","./node_modules/stripe/esm/resources/Tax/Settings.d.ts","./node_modules/stripe/esm/resources/Tax/TransactionLineItems.d.ts","./node_modules/stripe/esm/resources/Tax/Transactions.d.ts","./node_modules/stripe/esm/resources/Tax/index.d.ts","./node_modules/stripe/esm/resources/Terminal/Configurations.d.ts","./node_modules/stripe/esm/resources/Terminal/ConnectionTokens.d.ts","./node_modules/stripe/esm/resources/Terminal/OnboardingLinks.d.ts","./node_modules/stripe/esm/resources/Terminal/index.d.ts","./node_modules/stripe/esm/resources/Treasury/FinancialAccountFeatures.d.ts","./node_modules/stripe/esm/resources/Treasury/FinancialAccounts.d.ts","./node_modules/stripe/esm/resources/Treasury/index.d.ts","./node_modules/stripe/esm/resources/Balance.d.ts","./node_modules/stripe/esm/resources/BalanceSettings.d.ts","./node_modules/stripe/esm/resources/InvoiceItems.d.ts","./node_modules/stripe/esm/resources/Quotes.d.ts","./node_modules/stripe/esm/resources/SourceMandateNotifications.d.ts","./node_modules/stripe/esm/resources/Events.d.ts","./node_modules/stripe/esm/Webhooks.d.ts","./node_modules/stripe/esm/resources/AccountLinks.d.ts","./node_modules/stripe/esm/resources/AccountSessions.d.ts","./node_modules/stripe/esm/resources/ApplePayDomains.d.ts","./node_modules/stripe/esm/resources/CountrySpecs.d.ts","./node_modules/stripe/esm/resources/CustomerSessions.d.ts","./node_modules/stripe/esm/resources/EphemeralKeys.d.ts","./node_modules/stripe/esm/resources/ExchangeRates.d.ts","./node_modules/stripe/esm/resources/InvoiceRenderingTemplates.d.ts","./node_modules/stripe/esm/resources/OAuth.d.ts","./node_modules/stripe/esm/resources/PaymentAttemptRecords.d.ts","./node_modules/stripe/esm/resources/PaymentMethodConfigurations.d.ts","./node_modules/stripe/esm/resources/PaymentMethodDomains.d.ts","./node_modules/stripe/esm/resources/Tokens.d.ts","./node_modules/stripe/esm/resources/WebhookEndpoints.d.ts","./node_modules/stripe/esm/ResourceNamespace.d.ts","./node_modules/stripe/esm/resources.d.ts","./node_modules/stripe/esm/resources/Apps/Secrets.d.ts","./node_modules/stripe/esm/resources/Apps/index.d.ts","./node_modules/stripe/esm/resources/Forwarding/Requests.d.ts","./node_modules/stripe/esm/resources/Forwarding/index.d.ts","./node_modules/stripe/esm/resources/V2/DeletedObject.d.ts","./node_modules/stripe/esm/resources/V2/Billing/MeterEvents.d.ts","./node_modules/stripe/esm/resources/V2/Billing/MeterEventAdjustments.d.ts","./node_modules/stripe/esm/resources/V2/Billing/MeterEventSession.d.ts","./node_modules/stripe/esm/resources/V2/Billing/MeterEventStream.d.ts","./node_modules/stripe/esm/resources/V2/Billing/index.d.ts","./node_modules/stripe/esm/resources/V2/Commerce/ProductCatalogImports.d.ts","./node_modules/stripe/esm/resources/V2/Commerce/ProductCatalog/Imports.d.ts","./node_modules/stripe/esm/resources/V2/Commerce/ProductCatalog/index.d.ts","./node_modules/stripe/esm/resources/V2/Commerce/index.d.ts","./node_modules/stripe/esm/resources/V2/V2Amounts.d.ts","./node_modules/stripe/esm/resources/V2/Core/AccountPersons.d.ts","./node_modules/stripe/esm/resources/V2/Core/Accounts/Persons.d.ts","./node_modules/stripe/esm/resources/V2/Core/AccountPersonTokens.d.ts","./node_modules/stripe/esm/resources/V2/Core/Accounts/PersonTokens.d.ts","./node_modules/stripe/esm/resources/V2/Core/Accounts.d.ts","./node_modules/stripe/esm/resources/V2/Core/AccountLinks.d.ts","./node_modules/stripe/esm/resources/V2/Core/AccountTokens.d.ts","./node_modules/stripe/esm/resources/V2/Core/Events.d.ts","./node_modules/stripe/esm/resources/V2/Core/EventDestinations.d.ts","./node_modules/stripe/esm/resources/V2/Core/index.d.ts","./node_modules/stripe/esm/resources/V2/index.d.ts","./node_modules/stripe/esm/stripe.core.d.ts","./node_modules/stripe/esm/Types.d.ts","./node_modules/stripe/esm/RequestSender.d.ts","./node_modules/stripe/esm/Error.d.ts","./node_modules/stripe/esm/stripe.esm.node.d.ts","./src/lib/billing.ts","./src/app/api/billing/checkout/route.ts","./src/app/api/billing/webhook/route.ts","./src/lib/crypto.ts","./src/lib/auth.ts","./src/app/api/credentials/route.ts","./src/app/api/import/apify-govdeals/route.ts","./node_modules/csv-parse/lib/index.d.ts","./node_modules/csv-parse/lib/sync.d.ts","./src/importers/csv.ts","./src/app/api/import/csv/route.ts","./src/app/api/import/extension/route.ts","./src/app/api/import/gsa/route.ts","./src/importers/scrape.ts","./src/lib/ssrf-guard.ts","./src/app/api/import/url/route.ts","./src/app/api/listings/route.ts","./src/lib/listing-detail.ts","./src/app/api/listings/[id]/route.ts","./src/app/api/listings/[id]/buyer-lead/route.ts","./src/app/api/listings/[id]/buyer-page/route.ts","./src/app/api/newsletter/result-page.ts","./src/app/api/newsletter/confirm/route.ts","./src/app/api/newsletter/subscribe/route.ts","./src/app/api/newsletter/unsubscribe/route.ts","./src/engines/costs.test.ts","./src/engines/scoring.test.ts","./src/engines/valuation.test.ts","./src/lib/auth.test.ts","./src/lib/crypto.test.ts","./src/lib/dashboard.ts","./src/lib/listing-detail.test.ts","./src/lib/marketplace-links.ts","./src/lib/marketplace-links.test.ts","./src/lib/money-math-visibility.test.ts","./src/lib/places.test.ts","./src/lib/rate-limit.test.ts","./src/lib/reports.ts","./src/lib/selling-avenues.ts","./node_modules/bullmq/dist/esm/classes/async-fifo-queue.d.ts","./node_modules/bullmq/dist/esm/interfaces/backoff-options.d.ts","./node_modules/bullmq/dist/esm/types/keep-jobs.d.ts","./node_modules/bullmq/dist/esm/interfaces/parent-options.d.ts","./node_modules/cron-parser/types/common.d.ts","./node_modules/cron-parser/types/index.d.ts","./node_modules/bullmq/dist/esm/interfaces/repeat-options.d.ts","./node_modules/bullmq/dist/esm/interfaces/base-job-options.d.ts","./node_modules/bullmq/dist/esm/types/deduplication-options.d.ts","./node_modules/bullmq/dist/esm/types/job-options.d.ts","./node_modules/bullmq/dist/esm/types/job-progress.d.ts","./node_modules/bullmq/dist/esm/interfaces/parent.d.ts","./node_modules/bullmq/dist/esm/interfaces/job-json.d.ts","./node_modules/bullmq/dist/esm/types/job-json-sandbox.d.ts","./node_modules/bullmq/dist/esm/interfaces/minimal-job.d.ts","./node_modules/bullmq/dist/esm/types/backoff-strategy.d.ts","./node_modules/bullmq/dist/esm/classes/backoffs.d.ts","./node_modules/bullmq/dist/esm/types/repeat-strategy.d.ts","./node_modules/bullmq/dist/esm/interfaces/advanced-options.d.ts","./node_modules/bullmq/dist/esm/enums/parent-command.d.ts","./node_modules/bullmq/dist/esm/interfaces/child-message.d.ts","./node_modules/bullmq/dist/esm/interfaces/redis-client.d.ts","./node_modules/bullmq/dist/esm/interfaces/connection.d.ts","./node_modules/bullmq/dist/esm/types/database-type.d.ts","./node_modules/bullmq/dist/esm/types/finished-status.d.ts","./node_modules/bullmq/dist/esm/types/job-scheduler-template-options.d.ts","./node_modules/bullmq/dist/esm/types/job-type.d.ts","./node_modules/bullmq/dist/esm/types/index.d.ts","./node_modules/bullmq/node_modules/ioredis/built/types.d.ts","./node_modules/bullmq/node_modules/ioredis/built/Command.d.ts","./node_modules/bullmq/node_modules/ioredis/built/ScanStream.d.ts","./node_modules/bullmq/node_modules/ioredis/built/utils/RedisCommander.d.ts","./node_modules/bullmq/node_modules/ioredis/built/transaction.d.ts","./node_modules/bullmq/node_modules/ioredis/built/utils/Commander.d.ts","./node_modules/bullmq/node_modules/ioredis/built/connectors/AbstractConnector.d.ts","./node_modules/bullmq/node_modules/ioredis/built/connectors/ConnectorConstructor.d.ts","./node_modules/bullmq/node_modules/ioredis/built/connectors/SentinelConnector/types.d.ts","./node_modules/bullmq/node_modules/ioredis/built/connectors/SentinelConnector/SentinelIterator.d.ts","./node_modules/bullmq/node_modules/ioredis/built/connectors/SentinelConnector/index.d.ts","./node_modules/bullmq/node_modules/ioredis/built/connectors/StandaloneConnector.d.ts","./node_modules/bullmq/node_modules/ioredis/built/redis/RedisOptions.d.ts","./node_modules/bullmq/node_modules/ioredis/built/cluster/util.d.ts","./node_modules/bullmq/node_modules/ioredis/built/cluster/ClusterOptions.d.ts","./node_modules/bullmq/node_modules/ioredis/built/cluster/index.d.ts","./node_modules/denque/index.d.ts","./node_modules/bullmq/node_modules/ioredis/built/SubscriptionSet.d.ts","./node_modules/bullmq/node_modules/ioredis/built/DataHandler.d.ts","./node_modules/bullmq/node_modules/ioredis/built/Redis.d.ts","./node_modules/bullmq/node_modules/ioredis/built/Pipeline.d.ts","./node_modules/bullmq/node_modules/ioredis/built/index.d.ts","./node_modules/bullmq/dist/esm/interfaces/redis-options.d.ts","./node_modules/bullmq/dist/esm/enums/child-command.d.ts","./node_modules/bullmq/dist/esm/enums/error-code.d.ts","./node_modules/bullmq/dist/esm/enums/metrics-time.d.ts","./node_modules/bullmq/dist/esm/enums/telemetry-attributes.d.ts","./node_modules/bullmq/dist/esm/enums/index.d.ts","./node_modules/bullmq/dist/esm/interfaces/telemetry.d.ts","./node_modules/bullmq/dist/esm/interfaces/queue-options.d.ts","./node_modules/bullmq/dist/esm/interfaces/flow-job.d.ts","./node_modules/bullmq/dist/esm/interfaces/ioredis-events.d.ts","./node_modules/bullmq/dist/esm/interfaces/job-scheduler-json.d.ts","./node_modules/bullmq/dist/esm/interfaces/lock-manager-worker-context.d.ts","./node_modules/bullmq/dist/esm/interfaces/metrics-options.d.ts","./node_modules/bullmq/dist/esm/interfaces/metrics.d.ts","./node_modules/bullmq/dist/esm/classes/queue-keys.d.ts","./node_modules/bullmq/dist/esm/interfaces/script-queue-context.d.ts","./node_modules/bullmq/dist/esm/interfaces/minimal-queue.d.ts","./node_modules/bullmq/dist/esm/interfaces/parent-message.d.ts","./node_modules/bullmq/dist/esm/interfaces/queue-meta.d.ts","./node_modules/bullmq/dist/esm/interfaces/rate-limiter-options.d.ts","./node_modules/bullmq/dist/esm/interfaces/redis-streams.d.ts","./node_modules/bullmq/dist/esm/interfaces/repeatable-job.d.ts","./node_modules/bullmq/dist/esm/interfaces/repeatable-options.d.ts","./node_modules/bullmq/dist/esm/interfaces/retry-options.d.ts","./node_modules/bullmq/dist/esm/interfaces/sandboxed-job.d.ts","./node_modules/bullmq/dist/esm/interfaces/sandboxed-job-processor.d.ts","./node_modules/bullmq/dist/esm/interfaces/sandboxed-options.d.ts","./node_modules/bullmq/dist/esm/interfaces/worker-options.d.ts","./node_modules/bullmq/dist/esm/interfaces/receiver.d.ts","./node_modules/bullmq/dist/esm/interfaces/index.d.ts","./node_modules/bullmq/dist/esm/classes/child.d.ts","./node_modules/bullmq/dist/esm/classes/child-pool.d.ts","./node_modules/bullmq/dist/esm/classes/child-processor.d.ts","./node_modules/bullmq/dist/esm/classes/errors/connection-closed-error.d.ts","./node_modules/bullmq/dist/esm/classes/errors/delayed-error.d.ts","./node_modules/bullmq/dist/esm/classes/errors/rate-limit-error.d.ts","./node_modules/bullmq/dist/esm/classes/errors/unrecoverable-error.d.ts","./node_modules/bullmq/dist/esm/classes/errors/waiting-children-error.d.ts","./node_modules/bullmq/dist/esm/classes/errors/waiting-error.d.ts","./node_modules/bullmq/dist/esm/classes/errors/index.d.ts","./node_modules/bullmq/dist/esm/classes/scripts.d.ts","./node_modules/bullmq/dist/esm/classes/redis-connection.d.ts","./node_modules/bullmq/dist/esm/classes/queue-base.d.ts","./node_modules/bullmq/dist/esm/classes/queue-events.d.ts","./node_modules/bullmq/dist/esm/classes/job.d.ts","./node_modules/bullmq/dist/esm/classes/flow-producer.d.ts","./node_modules/bullmq/dist/esm/classes/ioredis-client.d.ts","./node_modules/bullmq/dist/esm/classes/node-redis-client.d.ts","./node_modules/bullmq/dist/esm/classes/bun-redis-client.d.ts","./node_modules/bullmq/dist/esm/classes/job-scheduler.d.ts","./node_modules/node-abort-controller/index.d.ts","./node_modules/bullmq/dist/esm/classes/abort-controller.d.ts","./node_modules/bullmq/dist/esm/classes/lock-manager.d.ts","./node_modules/bullmq/dist/esm/classes/queue-events-producer.d.ts","./node_modules/bullmq/dist/esm/classes/queue-getters.d.ts","./node_modules/bullmq/dist/esm/classes/repeat.d.ts","./node_modules/bullmq/dist/esm/classes/queue.d.ts","./node_modules/bullmq/dist/esm/classes/sandbox.d.ts","./node_modules/bullmq/dist/esm/types/processor.d.ts","./node_modules/bullmq/dist/esm/classes/worker.d.ts","./node_modules/bullmq/dist/esm/classes/index.d.ts","./node_modules/bullmq/dist/esm/utils/index.d.ts","./node_modules/bullmq/dist/esm/utils/create-scripts.d.ts","./node_modules/bullmq/dist/esm/index.d.ts","./src/worker/index.ts","./tests/e2e/smoke.spec.ts","./src/app/layout.tsx","./src/components/ui/card.tsx","./src/components/dashboard-cards.tsx","./node_modules/@tanstack/table-core/build/lib/utils.d.ts","./node_modules/@tanstack/table-core/build/lib/core/table.d.ts","./node_modules/@tanstack/table-core/build/lib/features/ColumnVisibility.d.ts","./node_modules/@tanstack/table-core/build/lib/features/ColumnOrdering.d.ts","./node_modules/@tanstack/table-core/build/lib/features/ColumnPinning.d.ts","./node_modules/@tanstack/table-core/build/lib/features/RowPinning.d.ts","./node_modules/@tanstack/table-core/build/lib/core/headers.d.ts","./node_modules/@tanstack/table-core/build/lib/features/ColumnFaceting.d.ts","./node_modules/@tanstack/table-core/build/lib/features/GlobalFaceting.d.ts","./node_modules/@tanstack/table-core/build/lib/filterFns.d.ts","./node_modules/@tanstack/table-core/build/lib/features/ColumnFiltering.d.ts","./node_modules/@tanstack/table-core/build/lib/features/GlobalFiltering.d.ts","./node_modules/@tanstack/table-core/build/lib/sortingFns.d.ts","./node_modules/@tanstack/table-core/build/lib/features/RowSorting.d.ts","./node_modules/@tanstack/table-core/build/lib/aggregationFns.d.ts","./node_modules/@tanstack/table-core/build/lib/features/ColumnGrouping.d.ts","./node_modules/@tanstack/table-core/build/lib/features/RowExpanding.d.ts","./node_modules/@tanstack/table-core/build/lib/features/ColumnSizing.d.ts","./node_modules/@tanstack/table-core/build/lib/features/RowPagination.d.ts","./node_modules/@tanstack/table-core/build/lib/features/RowSelection.d.ts","./node_modules/@tanstack/table-core/build/lib/core/row.d.ts","./node_modules/@tanstack/table-core/build/lib/core/cell.d.ts","./node_modules/@tanstack/table-core/build/lib/core/column.d.ts","./node_modules/@tanstack/table-core/build/lib/types.d.ts","./node_modules/@tanstack/table-core/build/lib/columnHelper.d.ts","./node_modules/@tanstack/table-core/build/lib/utils/getCoreRowModel.d.ts","./node_modules/@tanstack/table-core/build/lib/utils/getExpandedRowModel.d.ts","./node_modules/@tanstack/table-core/build/lib/utils/getFacetedMinMaxValues.d.ts","./node_modules/@tanstack/table-core/build/lib/utils/getFacetedRowModel.d.ts","./node_modules/@tanstack/table-core/build/lib/utils/getFacetedUniqueValues.d.ts","./node_modules/@tanstack/table-core/build/lib/utils/getFilteredRowModel.d.ts","./node_modules/@tanstack/table-core/build/lib/utils/getGroupedRowModel.d.ts","./node_modules/@tanstack/table-core/build/lib/utils/getPaginationRowModel.d.ts","./node_modules/@tanstack/table-core/build/lib/utils/getSortedRowModel.d.ts","./node_modules/@tanstack/table-core/build/lib/index.d.ts","./node_modules/@tanstack/react-table/build/lib/index.d.ts","./node_modules/class-variance-authority/dist/types.d.ts","./node_modules/class-variance-authority/dist/index.d.ts","./src/components/ui/badge.tsx","./src/components/ui/button.tsx","./src/components/ui/input.tsx","./src/components/listings-table.tsx","./src/components/logout-button.tsx","./src/app/page.tsx","./src/app/agent-ops/page.tsx","./src/components/agent-finder.tsx","./src/app/agents/page.tsx","./src/components/offer-form.tsx","./src/app/b/[slug]/page.tsx","./src/app/billing/success/page.tsx","./src/app/deals/page.tsx","./src/app/deals/[date]/page.tsx","./src/app/listings/[id]/page.tsx","./src/app/login/page.tsx","./src/app/newsletter/SubscribeForm.tsx","./src/app/newsletter/page.tsx","./src/app/pricing/UpgradeButton.tsx","./src/app/pricing/page.tsx","./src/app/privacy/page.tsx","./src/app/reports/page.tsx","./src/app/selling-avenues/page.tsx","./.next/types/cache-life.d.ts","./.next/types/validator.ts","./node_modules/@babel/types/lib/index.d.ts","./node_modules/@types/babel__generator/index.d.ts","./node_modules/@babel/parser/typings/babel-parser.d.ts","./node_modules/@types/babel__template/index.d.ts","./node_modules/@types/babel__traverse/index.d.ts","./node_modules/@types/babel__core/index.d.ts","./node_modules/@types/json-schema/index.d.ts","./node_modules/@types/json5/index.d.ts","../../node_modules/@types/ms/index.d.ts","../../node_modules/@types/debug/index.d.ts"],"fileIdsList":[[74,124,141,142,1190],[74,124,141,142],[74,124,141,142,466,467,468,469],[74,124,141,142,209,507,510,513,730,731,732,733,734,962,963,966,967,971,972,973,976,977,979,980,981,983,984,985,1116,1162,1163,1165,1167,1168,1169,1170,1171,1172,1174,1176,1177,1178,1179],[74,124,141,142,511,512,513],[74,124,141,142,167,209,511],[74,124,141,142,623],[74,124,141,142,622],[74,124,141,142,1182],[74,124,141,142,535],[74,124,141,142,624],[62,74,124,141,142,1153],[74,124,141,142,1134],[74,124,141,142,1119,1142],[74,124,141,142,1142],[74,124,141,142,1142,1153],[74,124,141,142,1128,1142,1153],[74,124,141,142,1133,1142,1153],[74,124,141,142,1123,1142],[74,124,141,142,1131,1142,1153],[74,124,141,142,1129],[74,124,141,142,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152],[74,124,141,142,1132],[74,124,141,142,1119,1120,1121,1122,1123,1124,1125,1126,1127,1129,1130,1132,1134,1135,1136,1137,1138,1139,1140,1141],[74,124,141,142,1182,1183,1184,1185,1186],[74,124,141,142,1182,1184],[74,124,141,142,546,547],[74,121,122,124,141,142],[74,123,124,141,142],[124,141,142],[74,124,129,141,142,159],[74,124,125,130,135,141,142,144,156,167],[74,124,125,126,135,141,142,144],[69,70,71,74,124,141,142],[74,124,127,141,142,168],[74,124,128,129,136,141,142,145],[74,124,129,141,142,156,164],[74,124,130,132,135,141,142,144],[74,123,124,131,141,142],[74,124,132,133,141,142],[74,124,134,135,141,142],[74,123,124,135,141,142],[74,124,135,136,137,141,142,156,167],[74,124,135,136,137,141,142,151,156,159],[74,116,124,132,135,138,141,142,144,156,167],[74,124,135,136,138,139,141,142,144,156,164,167],[74,124,138,140,141,142,156,164,167],[72,73,74,75,76,77,78,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173],[74,124,135,141,142],[74,124,141,142,143,167],[74,124,132,135,141,142,144,156],[74,124,141,142,145],[74,124,141,142,146],[74,123,124,141,142,147],[74,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173],[74,124,141,142,149],[74,124,141,142,150],[74,124,135,141,142,151,152],[74,124,141,142,151,153,168,170],[74,124,136,141,142],[74,124,135,141,142,156,157,159],[74,124,141,142,158,159],[74,124,141,142,156,157],[74,124,141,142,159],[74,124,141,142,160],[74,121,124,141,142,156,161,167],[74,124,135,141,142,162,163],[74,124,141,142,162,163],[74,124,129,141,142,144,156,164],[74,124,141,142,165],[74,124,141,142,144,166],[74,124,138,141,142,150,167],[74,124,129,141,142,168],[74,124,141,142,156,169],[74,124,141,142,143,170],[74,124,141,142,171],[74,116,124,141,142],[74,116,124,135,137,141,142,147,156,159,167,169,170,172],[74,124,141,142,156,173],[62,66,74,124,141,142,175,176,177,179,461,506],[62,74,124,141,142],[62,66,74,124,141,142,175,176,177,178,442,461,506],[62,66,74,124,141,142,175,176,178,179,461,506],[62,74,124,141,142,179,442,443],[62,74,124,141,142,179,442],[62,66,74,124,141,142,176,177,178,179,461,506],[62,66,74,124,141,142,175,177,178,179,461,506],[60,61,74,124,141,142],[74,124,141,142,539,540,541,544,545,548],[74,124,141,142,607],[74,124,141,142,607,608],[74,124,141,142,544,591,592],[74,124,141,142,544,591],[74,124,141,142,591],[74,124,141,142,542,591,595,596],[74,124,141,142,542,591,595],[74,124,141,142,538],[74,124,141,142,542,543],[74,124,141,142,542],[74,124,141,142,542,543,588,612],[74,124,141,142,588],[74,124,141,142,542,545,588,589,590],[74,124,141,142,1100],[74,124,141,142,1001,1014,1015],[74,124,141,142,1021],[74,124,141,142,1079,1080],[74,124,141,142,1027,1079],[74,124,125,135,141,142,172,1079],[74,124,141,142,1083,1084,1085,1086,1087,1088],[74,124,135,141,142,1064,1079,1091,1094],[74,124,141,142,1000,1016,1064,1080,1081,1082,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1102,1103,1104,1105,1106,1107,1109],[74,124,141,142,1021,1049],[74,124,141,142,1027,1079,1091,1092,1094],[74,124,141,142,1027,1079,1090,1093],[74,124,141,142,1079,1101],[74,124,135,141,142,1023,1055,1064,1079,1090,1091,1094],[74,124,141,142,1079,1091,1092],[74,124,141,142,1027,1079,1091,1092],[74,124,141,142,1027,1079,1092,1094],[74,124,141,142,1027,1079,1091,1094,1099,1104,1105],[74,124,135,141,142,1021,1027,1079],[74,124,141,142,1081,1094],[74,124,141,142,167,1027,1079,1091,1092,1094,1099,1101,1102,1105,1108],[74,124,141,142,1019,1051,1052,1053,1054],[74,124,141,142,1027,1055,1079,1108,1110,1111,1112],[74,124,141,142,1015,1017],[74,124,141,142,1001,1002,1003,1006],[74,124,141,142,1019],[74,124,135,141,142,1021],[74,124,141,142,1027,1057],[74,124,141,142,1001,1003,1006,1007,1011,1012,1014,1018,1020,1021,1022,1050,1056,1057,1058,1059,1060,1061,1062,1063,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078],[74,124,141,142,1009,1010,1011],[74,124,141,142,1027],[74,124,141,142,1055,1056],[74,124,141,142,1003,1009,1010,1011,1012,1013],[74,124,141,142,1022,1054,1056,1065],[74,124,141,142,1012,1051],[74,124,141,142,1009],[74,124,141,142,1007,1018,1050,1056],[74,124,141,142,156],[74,124,141,142,1005],[74,124,141,142,1074],[74,124,141,142,1014,1027],[74,124,125,141,142,172],[74,124,141,142,1022,1023,1057,1064],[74,124,141,142,1055],[74,124,141,142,1002,1018,1056,1057,1062,1069,1076],[74,124,141,142,1014],[74,124,141,142,1002,1008,1009,1010,1013,1015,1017,1023,1024,1025,1026],[74,124,141,142,1012],[74,124,141,142,1007,1008],[74,124,141,142,1024],[74,124,141,142,1094],[74,124,141,142,1006],[74,124,141,142,1079,1090],[74,124,141,142,1027,1049,1055,1079,1101],[74,124,141,142,174,1028],[74,124,135,141,142,174,1028,1044,1045],[74,124,141,142,1029,1033,1043,1047],[74,124,135,141,142,174,1028,1029,1030,1032,1033,1040,1043,1044,1046],[74,124,141,142,156,174],[74,124,141,142,1029],[74,124,132,141,142,174,1033,1040,1041],[74,124,135,141,142,174,1028,1029,1030,1032,1033,1041,1042,1047],[74,124,132,141,142,174],[74,124,141,142,1028],[74,124,141,142,1034],[74,124,141,142,1036],[74,124,135,141,142,164,174,1028,1034,1036,1037,1042],[74,124,141,142,1040],[74,124,141,142,144,164,174,1028,1034],[74,124,141,142,1028,1029,1030,1031,1034,1038,1039,1040,1041,1042,1043,1047,1048],[74,124,141,142,1033,1035,1038,1039],[74,124,141,142,1031],[74,124,141,142,144,164,174],[74,124,141,142,1028,1029,1031],[74,124,141,142,628,1155],[74,124,141,142,628],[74,124,141,142,1004],[74,124,141,142,968],[74,124,141,142,716,717],[74,124,141,142,716,717,718,719],[74,124,141,142,716,718],[74,124,141,142,716],[74,124,141,142,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700],[74,124,141,142,671],[74,124,141,142,581,582],[74,124,141,142,464],[74,124,141,142,412,475,476],[74,124,141,142,184,185,187,199,223,338,349,457],[74,124,141,142,187,218,219,220,222,457],[74,124,141,142,187,355,357,359,360,362,457,459],[74,124,141,142,187,221,258,457],[74,124,141,142,185,187,198,199,205,211,216,337,338,339,348,457,459],[74,124,141,142,457],[74,124,141,142,194,200,219,239,334],[74,124,141,142,187],[74,124,141,142,180,194,200],[74,124,141,142,366],[74,124,141,142,363,364,366],[74,124,141,142,363,365,457],[74,124,138,141,142,239,436,454],[74,124,138,141,142,310,313,329,334,454],[74,124,138,141,142,282,454],[74,124,141,142,342],[74,124,141,142,341,342,343],[74,124,141,142,341],[68,74,124,138,141,142,180,187,199,205,211,217,219,223,224,237,238,305,335,336,349,457,461],[74,124,141,142,184,187,221,258,355,356,361,457,509],[74,124,141,142,221,509],[74,124,141,142,184,238,407,457,509],[74,124,141,142,509],[74,124,141,142,187,221,222,509],[74,124,141,142,358,509],[74,124,141,142,224,337,340,347],[62,74,124,141,142,412],[74,124,141,142,150,194,209],[74,124,141,142,194,209],[62,74,124,141,142,279],[62,74,124,141,142,209],[62,74,124,141,142,200,209,412],[74,124,141,142,194,265,279,280,491,498],[74,124,141,142,264,492,493,494,495,497],[74,124,141,142,315],[74,124,141,142,315,316],[74,124,141,142,198,200,267,268],[74,124,141,142,200,274,275],[74,124,141,142,200,269,277],[74,124,141,142,274],[74,124,141,142,192,200,267,268,269,270,271,272,273,274,277],[74,124,141,142,200,267,274,275,276,278],[74,124,141,142,200,268,270,271],[74,124,141,142,268,270,273,275],[74,124,141,142,496],[74,124,141,142,200],[62,74,124,141,142,188,485],[62,74,124,141,142,167],[62,74,124,141,142,221,256],[62,74,124,141,142,221,349],[74,124,141,142,254,259],[62,74,124,141,142,255,463],[62,66,74,124,138,141,142,175,176,177,178,179,461,505],[74,124,138,141,142,200],[74,124,138,141,142,199,204,285,302,344,345,349,404,406,457,458],[74,124,141,142,237,346],[74,124,141,142,461],[74,124,141,142,186],[62,74,124,141,142,191,194,409,425,427],[74,124,141,142,150,194,409,424,425,426,508],[74,124,141,142,418,419,420,421,422,423],[74,124,141,142,420],[74,124,141,142,424],[74,124,141,142,209,373,374,376],[62,74,124,141,142,200,367,368,369,370,375],[74,124,141,142,373,375],[74,124,141,142,371],[74,124,141,142,372],[62,74,124,141,142,209,255,463],[62,74,124,141,142,209,462,463],[62,74,124,141,142,209,463],[74,124,141,142,302,303],[74,124,141,142,303],[74,124,138,141,142,458,463],[74,124,141,142,332],[74,123,124,141,142,331],[74,124,141,142,194,200,206,208,310,323,327,329,406,409,446,447,454,458],[74,124,141,142,200,249,271],[74,124,141,142,310,321,324,329],[62,74,124,141,142,191,194,310,313,329,332,366,413,414,415,416,417,428,429,430,431,432,433,434,435,509],[74,124,141,142,191,194,219,310,317,318,319,322,323],[74,124,141,142,156,200,219,321,328,409,410,454],[74,124,141,142,325],[74,124,138,141,142,150,188,200,204,214,246,247,250,302,305,370,404,405,446,457,458,459,461,509],[74,124,141,142,191,192,194],[74,124,141,142,310],[74,123,124,141,142,219,246,247,304,305,306,307,308,309,458],[74,124,141,142,329],[74,123,124,141,142,193,194,204,208,244,310,317,318,319,320,321,324,325,326,327,328,447],[74,124,138,141,142,244,245,317,458,459],[74,124,141,142,219,247,302,305,310,406,458],[74,124,138,141,142,457,459],[74,124,138,141,142,156,454,458,459],[74,124,138,141,142,150,180,194,199,206,208,211,214,221,241,246,247,248,249,250,285,286,288,291,293,296,297,298,299,301,349,404,406,454,457,458,459],[74,124,138,141,142,156],[74,124,141,142,187,188,189,217,454,455,456,461,463,509],[74,124,141,142,184,185,457],[74,124,141,142,378],[74,124,138,141,142,156,167,196,362,366,367,368,369,370,376,377,509],[74,124,141,142,150,167,180,194,196,208,211,247,286,291,301,302,355,382,383,384,390,393,394,404,406,454,457],[74,124,141,142,211,217,224,237,247,305,457],[74,124,138,141,142,167,188,199,208,247,388,454,457],[74,124,141,142,408],[74,124,138,141,142,378,391,392,401],[74,124,141,142,454,457],[74,124,141,142,307,447],[74,124,141,142,208,246,349,463],[74,124,138,141,142,150,186,291,351,355,384,390,393,396,454],[74,124,138,141,142,224,237,355,397],[74,124,141,142,187,248,349,399,457,459],[74,124,138,141,142,167,370,457],[74,124,138,141,142,221,248,349,350,351,360,378,398,400,457],[68,74,124,138,141,142,246,403,461,463],[74,124,141,142,300,404],[74,124,138,141,142,150,194,197,199,200,206,208,214,223,224,237,247,250,286,288,298,301,302,349,382,383,384,385,387,389,404,406,454,463],[74,124,138,141,142,156,224,390,395,401,454],[74,124,141,142,227,228,229,230,231,232,233,234,235,236],[74,124,141,142,241,292],[74,124,141,142,294],[74,124,141,142,292],[74,124,141,142,294,295],[74,124,138,141,142,198,199,200,204,205,458],[74,124,138,141,142,150,186,188,206,210,246,249,250,284,404,454,459,461,463],[74,124,138,141,142,150,167,190,197,198,208,210,247,402,447,453,458],[74,124,141,142,317],[74,124,141,142,318],[74,124,141,142,200,211,446],[74,124,141,142,319],[74,124,141,142,193],[74,124,141,142,195,207],[74,124,138,141,142,195,199,206],[74,124,141,142,202,207],[74,124,141,142,203],[74,124,141,142,195,196],[74,124,141,142,195,251],[74,124,141,142,195],[74,124,141,142,197,241,290],[74,124,141,142,289],[74,124,141,142,194,196,197],[74,124,141,142,197,287],[74,124,141,142,194,196],[74,124,141,142,246,349],[74,124,141,142,446],[74,124,138,141,142,167,206,208,212,246,349,403,406,409,410,411,437,438,441,445,447,454,458],[74,124,141,142,260,263,265,266,279,280],[62,74,124,141,142,177,179,209,439,440],[62,74,124,141,142,177,179,209,439,440,444],[74,124,141,142,333],[74,124,141,142,219,240,245,246,310,311,312,313,314,316,329,330,332,335,403,406,457,459],[74,124,141,142,279],[74,124,138,141,142,284,454],[74,124,141,142,284],[74,124,138,141,142,206,252,281,283,285,403,454,461,463],[74,124,141,142,260,261,262,263,265,266,279,280,462],[68,74,124,138,141,142,150,167,195,196,208,214,246,247,250,349,401,402,404,454,457,458,461],[74,124,141,142,191,194,201],[74,124,141,142,245,247,379,382],[74,124,141,142,245,380,448,449,450,451,452],[74,124,138,141,142,241,457],[74,124,138,141,142],[74,124,141,142,244,329],[74,124,141,142,243],[74,124,141,142,245,298],[74,124,141,142,242,244,457],[74,124,138,141,142,190,245,379,380,381,454,457,458],[62,74,124,141,142,194,200,278],[62,74,124,141,142,192],[74,124,141,142,182,183],[62,74,124,141,142,188],[62,74,124,141,142,194,264],[62,68,74,124,141,142,246,250,461,463],[74,124,141,142,188,485,486],[62,74,124,141,142,259],[62,74,124,141,142,150,167,186,253,255,257,258,463],[74,124,141,142,194,221,458],[74,124,141,142,194,386],[62,74,124,136,138,141,142,150,184,186,259,357,461,462],[62,74,124,141,142,175,176,177,178,179,461,506],[62,63,64,65,66,74,124,141,142],[74,124,129,141,142],[74,124,141,142,352,353,354],[74,124,141,142,352],[62,66,74,124,138,140,141,142,150,174,175,176,177,178,179,180,186,214,219,396,424,459,460,463,506],[74,124,141,142,471],[74,124,141,142,473],[74,124,141,142,477],[74,124,141,142,479],[74,124,141,142,481,482,483],[74,124,141,142,487],[67,74,124,141,142,465,470,472,474,478,480,484,488,490,500,501,503,507,508,509,510],[74,124,141,142,489],[74,124,141,142,499],[74,124,141,142,255],[74,124,141,142,502],[74,123,124,141,142,245,379,380,382,448,449,451,452,504,506],[74,124,141,142,174],[74,124,141,142,532],[74,124,125,136,141,142,156,516,517,520,531],[74,124,141,142,533],[74,124,141,142,534],[74,124,141,142,575],[74,124,141,142,573,575],[74,124,141,142,564,572,573,574,576,578],[74,124,141,142,562],[74,124,141,142,565,570,575,578],[74,124,141,142,561,578],[74,124,141,142,565,566,569,570,571,578],[74,124,141,142,565,566,567,569,570,578],[74,124,141,142,562,563,564,565,566,570,571,572,574,575,576,578],[74,124,141,142,578],[74,124,141,142,560,562,563,564,565,566,567,569,570,571,572,573,574,575,576,577],[74,124,141,142,560,578],[74,124,141,142,565,567,568,570,571,578],[74,124,141,142,569,578],[74,124,141,142,570,571,575,578],[74,124,141,142,563,573],[74,124,141,142,554,586,587],[74,124,141,142,553,554],[74,124,141,142,957,958],[74,124,141,142,735,738,956,957],[74,124,141,142,956,957],[74,124,141,142,957],[74,124,141,142,738,956,957],[74,124,135,141,142,174,735,736,738,956,958],[74,124,141,142,740,742,912],[74,124,138,141,142,174,735,736,737,957],[74,124,141,142,174,957],[74,124,135,138,141,142,174,735,740,741,957],[74,124,141,142,747,748,750,759,760,763,764,766,768,770,771,772,773,774,776,777,778,781,782,785,796,797,803,804,805,806,807,808,838,839,841,842,843,844,845,847,853,907,908,909,910,912,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,956],[74,124,141,142,738,739],[74,124,141,142,738,739,744,753,756,757,760,761,763],[74,124,141,142,738,739,744],[74,124,141,142,738,739,744,752,762,764,777,796],[74,124,141,142,930,956],[74,124,141,142,752,775,776,777,778,779,780,781,782,783,784,785,794,797],[74,124,141,142,738,739,744,795],[74,124,141,142,744,764,853],[74,124,141,142,854],[74,124,141,142,738,739,744,746,853],[74,124,141,142,738,739,853],[74,124,141,142,738,739,744,837,844,856],[74,124,141,142,738,739,744,837,853],[74,124,141,142,738,739,744,745],[74,124,141,142,745,746,854,855,856,857,858,859,860,956],[74,124,141,142,738,739,744,762],[74,124,141,142,738,739,862],[74,124,141,142,862,863,956],[74,124,141,142,764],[74,124,141,142,738,739,744,762,764,766,769,772,773,774,776,778,796,797,853],[74,124,141,142,738,739,744,747,748,749,750,763,764,770,774,839,843,844,846,847,853],[74,124,141,142,848,956],[74,124,141,142,738,739,744,865,866],[74,124,141,142,738,739,744,865],[74,124,141,142,865,866,867,956],[74,124,141,142,738,739,744,771,777,853],[74,124,141,142,744,749,750,861],[74,124,141,142,738,739,744,749,750,751,797,843,844,850,853,861],[74,124,141,142,744,844,845,849,853],[74,124,141,142,774,796,797,853],[74,124,141,142,754,755,764,768],[74,124,141,142,738,739,744,749,754,763,769,772,780,837,839,850,851,852],[74,124,141,142,747,748,853],[74,124,141,142,738,739,744,760,774,777,796],[74,124,141,142,738,799],[74,124,141,142,738,739,744,798],[74,124,141,142,798,799,800,956],[74,124,141,142,738,739,744,747,748,749,750,752,753,756,760,761,762,763,764,766,767,768,769,770,772,773,774,776,777,778,780,781,782,785,794,797,801,803,805,806,837,838,839,842,844,845,847,849,851,853,861,864,868,874,877,882,885,889,891,899,903,906,907,908,909,910,911],[74,124,141,142,754,755],[74,124,141,142,744,778,796],[74,124,141,142,738,739,744,760],[74,124,141,142,738,739,744,758,759],[74,124,141,142,738,869],[74,124,141,142,738,739,744,853,869,870],[74,124,141,142,738,739,853,871],[74,124,141,142,869,870,871,872,873,956],[74,124,141,142,932,956],[74,124,141,142,744],[74,124,141,142,738,739,744,875],[74,124,141,142,875,876,956],[74,124,141,142,738,739,744,749,750,803,837,844,853],[74,124,141,142,744,749,803,839,861],[74,124,141,142,738,739,744,774,777,841,844],[74,124,141,142,738,739,744,749,750,762,763,764,769,770,772,774,837,839,840,842,843,853,861],[74,124,141,142,738,739,744,786,789,790,792,796],[74,124,141,142,738,739,744,786,788],[74,124,141,142,738,739,744,760,792,796],[74,124,141,142,738,739,744,760,787],[74,124,141,142,738,739,744,789],[74,124,141,142,738,739,744,786,789,790,791,793,796],[74,124,141,142,786,787,788,789,790,791,792,793,956],[74,124,141,142,744,749,750,803],[74,124,141,142,738,739,772],[74,124,141,142,738,739,957],[74,124,141,142,738,739,744,766,772],[74,124,141,142,738,739,744,762,764,765,769,770,772,773,777,853],[74,124,141,142,738,739,744,762,763,764,843,846],[74,124,141,142,738,739,744,756,778,796],[74,124,141,142,744,760],[74,124,141,142,738,739,744,805],[74,124,141,142,801],[74,124,141,142,738,739,744,802,803,804],[74,124,141,142,738,739,744,747,853],[74,124,141,142,738,739,744,749,750,762,764,837,838,839,844,846,853],[74,124,141,142,738,739,744,774,777],[74,124,141,142,738,739,744,772],[74,124,141,142,738,739,744,880],[74,124,141,142,878,879,880,881,956],[74,124,141,142,738,739,744,774,775,777,796],[74,124,141,142,883,884,956],[74,124,141,142,744,777,886],[74,124,141,142,744,781,797,886,887],[74,124,141,142,886,887,888],[74,124,141,142,738,739,744,762,764,766,769,770,772,774,853],[74,124,141,142,738,739,744,762,764,766,769,771,772,774,853],[74,124,141,142,738,739,744,804],[74,124,141,142,890,956],[74,124,141,142,768],[74,124,141,142,738,739,744,767],[74,124,141,142,738,739,744,749,750,803,806],[74,124,141,142,738,739,744,747,748,749,750,762,763,764,772,803,806,837,839,853],[74,124,141,142,738,739,744,749,750,762,763,764,769,770,772,803,807,837,838,844,853],[74,124,141,142,738,739,744,893],[74,124,141,142,738,739,744,897],[74,124,141,142,892,893,894,895,896,897,898,956],[74,124,141,142,738,739,744,762,764,853],[74,124,141,142,738,739,744,769,770,772,774,777,797,818],[74,124,141,142,818,819,900,901,902,956],[74,124,141,142,738,739,744,808],[74,124,141,142,738,739,780],[74,124,141,142,738,739,744,793],[74,124,141,142,738,739,789],[74,124,141,142,738,739,788],[74,124,141,142,738,739,744,792],[74,124,141,142,813,814,815,816,956],[74,124,141,142,738,739,797],[74,124,141,142,738,739,819],[74,124,141,142,820,956],[74,124,141,142,738,739,830],[74,124,141,142,738,739,824],[74,124,141,142,738,739,825],[74,124,141,142,738,739,826],[74,124,141,142,738,739,827],[74,124,141,142,831,832,833,834,835,956],[74,124,141,142,809,810,811,812,817,821,836,956],[74,124,141,142,738,739,744,754,755],[74,124,141,142,738,739,744,768,796],[74,124,141,142,744,776,796,797],[74,124,141,142,738,739,744,764,775,777,796],[74,124,141,142,738,739,744,829],[74,124,141,142,738,739,744,904],[74,124,141,142,738,739,744,766,829],[74,124,141,142,738,739,744,782,822,824,825,829],[74,124,141,142,738,739,744,794,822,823,824,825,826,827,829,830],[74,124,141,142,738,739,744,794,822,823,824,825,826,827,828,830],[74,124,141,142,822,823,824,825,826,827,828,829,830,904,905,956],[74,124,141,142,935,936,937,938,956],[74,124,141,142,738,739,744,940],[74,124,141,142,941,956],[74,124,141,142,940,942,956],[74,124,141,142,738,739,744,944],[74,124,141,142,738,739,744,944,946,948,956],[74,124,141,142,738,739,744,947],[74,124,141,142,738,739,744,934,945],[74,124,141,142,738,739,744,934,952],[74,124,141,142,736,738,739,744,861,943,954],[74,124,141,142,945,947,949,950,951,952,953,956],[74,124,141,142,934,939,943,954,956],[74,124,141,142,743],[74,124,141,142,735,736,737,738,739,740,742,744,747,748,749,750,751,752,753,754,755,756,757,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,794,795,796,797,801,802,803,804,805,806,807,808,837,838,839,840,841,842,843,844,845,846,847,849,850,851,852,853,861,864,868,874,877,882,885,889,891,899,903,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,929,931,933,955,957,958,959],[74,88,92,124,141,142,167],[74,88,124,141,142,156,167],[74,83,124,141,142],[74,85,88,124,141,142,164,167],[74,124,141,142,144,164],[74,83,124,141,142,174],[74,85,88,124,141,142,144,167],[74,80,81,84,87,124,135,141,142,156,167],[74,88,95,124,141,142],[74,80,86,124,141,142],[74,88,109,110,124,141,142],[74,84,88,124,141,142,159,167,174],[74,109,124,141,142,174],[74,82,83,124,141,142,174],[74,88,124,141,142],[74,82,83,84,85,86,87,88,89,90,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,110,111,112,113,114,115,124,141,142],[74,88,103,124,141,142],[74,88,95,96,124,141,142],[74,86,88,96,97,124,141,142],[74,87,124,141,142],[74,80,83,88,124,141,142],[74,88,92,96,97,124,141,142],[74,92,124,141,142],[74,86,88,91,124,141,142,167],[74,80,85,88,95,124,141,142],[74,83,88,109,124,141,142,172,174],[74,124,141,142,550],[74,124,135,136,138,139,140,141,142,144,156,164,167,173,174,550,551,552,554,555,557,558,559,579,580,584,585,586,587],[74,124,141,142,550,551,552,556],[74,124,141,142,552],[74,124,141,142,583],[74,124,141,142,554,587],[74,124,141,142,614],[74,124,141,142,549,619,711],[74,124,141,142,539,542,544,545,589,590,591,593,594,597,598,610,611,613,711],[74,124,141,142,593,604,605,711],[74,124,141,142,593,594,601,711],[74,124,141,142,542,544,593,594,597,711],[74,124,141,142,557],[74,124,141,142,542,549,593,594,597,606,711],[74,124,141,142,587,617,619],[74,124,127,136,141,142,156,542,544,549,587,591,593,594,597,598,601,602,603,606,609,610,611,615,616,619,711],[74,124,141,142,557,593,594,597,711],[74,124,141,142,593,604,605,606,711],[74,124,141,142,557,593,598,599,600,711],[74,124,127,136,141,142,156,542,544,549,557,587,591,593,594,597,598,599,600,601,602,603,604,605,606,609,610,611,615,616,617,618,619,711],[74,124,141,142,539,542,544,549,557,591,593,594,597,598,599,600,601,602,604,605,606,609,711,712,713,714,715,720],[74,124,141,142,542,544,593,594,597,598,604,605,606,711,713],[74,124,141,142,530],[74,124,141,142,518,519,520],[74,124,141,142,521,522],[74,124,141,142,518,519,521,523,524,529],[74,124,141,142,519,521],[74,124,141,142,529],[74,124,141,142,521],[74,124,141,142,518,519,521,524,525,526,527,528],[74,124,141,142,209,536],[74,124,129,141,142,209,625,638,639],[74,124,136,141,142,146,167,209,626,630,641],[74,124,141,142,209,626,643,644],[74,124,141,142,209,626,643,646],[74,124,141,142,209,626,643,648],[74,124,141,142,209,626,643,650],[74,124,141,142,209,626,643,652],[74,124,141,142,209,626,643,654],[74,124,141,142,209,626,643,656],[74,124,136,141,142,146,167,209,626],[74,124,141,142,209,659],[74,124,136,141,142,146,167,209,625,626,661],[74,124,136,141,142,146,167,209,626,630,664],[74,124,141,142,209,666,668],[74,124,129,141,142,209,626,639],[74,124,141,142,209,626,638,705],[74,124,141,142,209,626],[74,124,136,141,142,146,167,209,626,705,706,708,709],[74,124,141,142,209,626,705],[74,124,141,142,209,707,721],[74,124,141,142,209],[74,124,141,142,209,626,664,705,707],[74,124,141,142,209,490,626,1117,1157],[74,124,141,142,209,490,729,1161,1164],[74,124,141,142,209,507,726,727,729],[74,124,129,141,142,209,507,531,626,639,701,702,727],[74,124,141,142,209,507,531,626,639,702,727],[74,124,141,142,209,507,702],[74,124,141,142,209,507,729],[74,124,141,142,209,507,625,729,961],[74,124,141,142,209,507,625,626,728,961],[74,124,141,142,209,507,531,626,964,965],[74,124,141,142,209,507,643,644,965],[74,124,141,142,209,507,643,965,970],[74,124,141,142,209,507,643,965],[74,124,141,142,209,507,643,652,965],[74,124,141,142,209,507,643,965,974,975],[74,124,141,142,209,507,531,626,727],[74,124,141,142,209,507,626,965],[74,124,141,142,209,507,978],[74,124,141,142,209,507,663,728,729],[74,124,141,142,209,507,626,982],[74,124,141,142,209,507,531,626,667,727],[74,124,141,142,209,507,626,667,982],[74,124,141,142,209,500,626,630,1117,1157,1166],[74,124,141,142,209,490,625,626,728,729],[74,124,141,142,209,490,500,511,661,723],[74,124,141,142,209,490,511,661,723],[74,124,141,142,209,508,511,723],[74,124,141,142,209,490,500,630,978,993,1117,1157],[62,74,124,141,142,209,500,1117,1158,1159],[74,124,141,142,209,490,511,1173],[74,124,141,142,209,729,991,1118,1160,1161],[74,124,141,142,209,511,728,729,1175],[74,124,141,142,209,511],[74,124,141,142,209,490,630,998,1117],[74,124,141,142,209,511,723],[74,124,141,142,209,490,511,999,1117,1157],[74,124,141,142,209,511,661,723],[62,74,124,141,142,209,1117,1157,1158,1159],[74,124,141,142,209,630,991,1117],[62,74,124,141,142,209,500,630,663,993,1154,1157,1158,1159],[74,124,141,142,209,500,1158],[62,74,124,141,142,209,1158,1159],[74,124,141,142,209,630,1156],[74,124,141,142,209,630],[74,124,141,142,209,632],[74,124,141,142,209,632,636,721],[74,124,141,142,209,630,632,633,635],[74,124,141,142,209,630,633],[74,124,141,142,209,637,721],[74,124,141,142,209,630,632],[74,124,141,142,209,634,721],[74,124,141,142,209,630,632,633],[74,124,141,142,209,643],[74,124,141,142,209,643,969],[74,124,141,142,209,625,626,638],[74,124,141,142,209,643,659],[74,124,141,142,209,639,702,721],[74,124,141,142,209,625,728,960],[74,124,141,142,209,721,964],[74,124,129,141,142,209],[74,124,141,142,209,484,625,626,702,728],[74,124,141,142,209,625],[74,124,141,142,209,625,626,641],[74,124,141,142,209,663],[74,124,141,142,209,625,721,978],[74,124,141,142,209,625,626,729],[74,124,141,142,209,625,626],[74,124,141,142,209,721,993],[74,124,141,142,209,721,728,729],[74,124,129,137,141,142,146,209],[74,124,141,142,209,721,726],[74,124,141,142,209,721,727],[74,124,141,142,209,507],[74,124,141,142,209,626,641,661,667],[74,124,141,142,209,701],[74,124,133,141,142,209],[74,124,141,142,209,628,629],[74,124,141,142,209,507,702,703],[74,124,141,142,209,626,627,630,631,632,634,635,636,637],[74,124,141,142,209,626,627,638,1113],[74,124,141,142,167,209,620]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"7e29f41b158de217f94cb9676bf9cbd0cd9b5a46e1985141ed36e075c52bf6ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"dc782ff85b2cb10075ecffc158af7bfb27ff97bf8491c917efea0c3d622d5ac4","impliedFormat":1},{"version":"acd8fd5090ac73902278889c38336ff3f48af6ba03aa665eb34a75e7ba1dccc4","impliedFormat":1},{"version":"d6258883868fb2680d2ca96bc8b1352cab69874581493e6d52680c5ffecdb6cc","impliedFormat":1},{"version":"1b61d259de5350f8b1e5db06290d31eaebebc6baafd5f79d314b5af9256d7153","impliedFormat":1},{"version":"f258e3960f324a956fc76a3d3d9e964fff2244ff5859dcc6ce5951e5413ca826","impliedFormat":1},{"version":"643f7232d07bf75e15bd8f658f664d6183a0efaca5eb84b48201c7671a266979","impliedFormat":1},{"version":"21da358700a3893281ce0c517a7a30cbd46be020d9f0c3f2834d0a8ad1f5fc75","impliedFormat":1},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"808069bba06b6768b62fd22429b53362e7af342da4a236ed2d2e1c89fcca3b4a","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9501cc13ce624c72b61f12b3963e84fad210fbdf0ffbc4590e08460a3f04eba","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d97fb21da858fb18b8ae72c314e9743fd52f73ebe2764e12af1db32fc03f853f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fa06ada475b910e2106c98c68b10483dc8811d0c14a8a8dd36efb2672485b29","impliedFormat":1},{"version":"33e5e9aba62c3193d10d1d33ae1fa75c46a1171cf76fef750777377d53b0303f","impliedFormat":1},{"version":"2b06b93fd01bcd49d1a6bd1f9b65ddcae6480b9a86e9061634d6f8e354c1468f","impliedFormat":1},{"version":"6a0cd27e5dc2cfbe039e731cf879d12b0e2dded06d1b1dedad07f7712de0d7f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f5c844119c43e51ce777c509267f14d6aaf31eafb2c2b002ca35584cd13b29","impliedFormat":1},{"version":"e60477649d6ad21542bd2dc7e3d9ff6853d0797ba9f689ba2f6653818999c264","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4c829ab315f57c5442c6667b53769975acbf92003a66aef19bce151987675bd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"b2ade7657e2db96d18315694789eff2ddd3d8aea7215b181f8a0b303277cc579","impliedFormat":1},{"version":"78dbea00e90d2df8ea3dbef0cc379d95b8be9b71cd6bde4c28728f306811803b","impliedFormat":1},{"version":"4d631b81fa2f07a0e63a9a143d6a82c25c5f051298651a9b69176ba28930756d","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e1e46d0a9837ee058c100501080c920fa98081ea3956af0374308ba6f22a33e","impliedFormat":1},{"version":"272ca407e0c9068bdc5152552d876e68037ceae3de62e529306403e973dec8e1","impliedFormat":1},{"version":"fa7834c715d5357e4540cee40ce96c3250ddb67a7b879a6b7fa0e86d6696f121","impliedFormat":1},{"version":"22dfb07a7ab15b66ac043829056fe70124844636ae719551812ac631ba04985b","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"e208f73ef6a980104304b0d2ca5f6bf1b85de6009d2c7e404028b875020fa8f2","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6f137d651076822d4fe884287e68fd61785a0d3d1fdb250a5059b691fa897db","impliedFormat":1},{"version":"24826ed94a78d5c64bd857570fdbd96229ad41b5cb654c08d75a9845e3ab7dde","impliedFormat":1},{"version":"8b479a130ccb62e98f11f136d3ac80f2984fdc07616516d29881f3061f2dd472","impliedFormat":1},{"version":"928af3d90454bf656a52a48679f199f64c1435247d6189d1caf4c68f2eaf921f","affectsGlobalScope":true,"impliedFormat":1},{"version":"bceb58df66ab8fb00170df20cd813978c5ab84be1d285710c4eb005d8e9d8efb","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"4f9d8ca0c417b67b69eeb54c7ca1bedd7b56034bb9bfd27c5d4f3bc4692daca7","impliedFormat":1},{"version":"0cb167c371eaa8c869f8a7656a7296f2e4fae43b4d8b803a680236b24794e5f9","impliedFormat":1},{"version":"0a839dba0287cc0481ad4beedd48a1c64acf1e212ae865d1315f7007ca215161","impliedFormat":1},{"version":"38dc4655376cd1a4bd6bb3763d92949233e33d38d3dd3cbea7bbf218175a38ef","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"d61e0a64cd175208ac0b83670151a9a6b5916f0d1ffcdc5c29c90b1cebfc5045","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"48a679952eefe4cb776d5a0e1ccba2d3eb53b57448bbb7abc1fcebcbd5440188","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"2d14da6ecb49bf828d83948765ec2d3a579d476bbb9645e749610baa6ec880ca","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"5b7aa3c4c1a5d81b411e8cb302b45507fea9358d3569196b27eb1a27ae3a90ef","affectsGlobalScope":true,"impliedFormat":1},{"version":"5987a903da92c7462e0b35704ce7da94d7fdc4b89a984871c0e2b87a8aae9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea08a0345023ade2b47fbff5a76d0d0ed8bff10bc9d22b83f40858a8e941501c","impliedFormat":1},{"version":"0aef708fb4c7a6b915e8305cbfac40cd207b032dbaabe9a01889a5fff3254681","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"ad9bdafb4e7abf14cc53ce7970486a84c87831e62891e5dfe798ddcd55e84701","affectsGlobalScope":true,"impliedFormat":1},{"version":"358765d5ea8afd285d4fd1532e78b88273f18cb3f87403a9b16fef61ac9fdcfe","impliedFormat":1},{"version":"71d3ae6a5e73ca4130762560425e00984ebaff64d5353a3333d1bb7eb86ef336","impliedFormat":1},{"version":"2beff543f6e9a9701df88daeee3cdd70a34b4a1c11cb4c734472195a5cb2af54","impliedFormat":1},{"version":"2e07abf27aa06353d46f4448c0bbac73431f6065eef7113128a5cd804d0c384d","impliedFormat":1},{"version":"be1cc4d94ea60cbe567bc29ed479d42587bf1e6cba490f123d329976b0fe4ee5","impliedFormat":1},{"version":"42bc0e1a903408137c3df2b06dfd7e402cdab5bbfa5fcfb871b22ebfdb30bd0b","impliedFormat":1},{"version":"9894dafe342b976d251aac58e616ac6df8db91fb9d98934ff9dd103e9e82578f","impliedFormat":1},{"version":"413df52d4ea14472c2fa5bee62f7a40abd1eb49be0b9722ee01ee4e52e63beb2","impliedFormat":1},{"version":"db6d2d9daad8a6d83f281af12ce4355a20b9a3e71b82b9f57cddcca0a8964a96","impliedFormat":1},{"version":"446a50749b24d14deac6f8843e057a6355dd6437d1fac4f9e5ce4a5071f34bff","impliedFormat":1},{"version":"182e9fcbe08ac7c012e0a6e2b5798b4352470be29a64fdc114d23c2bab7d5106","impliedFormat":1},{"version":"2f4e6b4d39426a1b85ecf4bdeb9dddbf4d9b3397d95d8555d46f925c9519ec7d","impliedFormat":1},{"version":"78a2869ad0cbf3f9045dda08c0d4562b7e1b2bfe07b19e0db072f5c3c56e9584","impliedFormat":1},{"version":"89d5d28d4f57e000b836ac273079be1b75710e28ce14750d081fb420d37e2ca5","impliedFormat":1},{"version":"fd4e24ccff3966390600d7f5d6aa1fed5a512e92ada735ea5fbc933d313ad3d3","impliedFormat":1},{"version":"b7cddfe1aa6b86b5fad3c9ccb30d05b3ccb165aebbf112f48d2d8a5f69dd98b1","impliedFormat":1},{"version":"a86f82d646a739041d6702101afa82dcb935c416dd93cbca7fd754fd0282ce1f","impliedFormat":1},{"version":"ad0d1d75d129b1c80f911be438d6b61bfa8703930a8ff2be2f0e1f8a91841c64","impliedFormat":1},{"version":"bd2c7ada3dee03653d3f601011d30072194bc3970cd93208f9588fbdc0c69347","impliedFormat":1},{"version":"e480da45d32313e7174b265674da504f075f59ef326852f0c5a5d863b438ae85","impliedFormat":1},{"version":"ad54850f61fcf5d014e11be80d2f46fea9265cfa7e77456da876f7833ef81769","impliedFormat":1},{"version":"6f7c9e8bd2b5b6a080b07080065f94900bd3c7e5ebbd3047bc33fcce2fab1dd8","impliedFormat":1},{"version":"3e7efde639c6a6c3edb9847b3f61e308bf7a69685b92f665048c45132f51c218","impliedFormat":1},{"version":"df45ca1176e6ac211eae7ddf51336dc075c5314bc5c253651bae639defd5eec5","impliedFormat":1},{"version":"8a0e762ceb20c7e72504feef83d709468a70af4abccb304f32d6b9bac1129b2c","impliedFormat":1},{"version":"da5950ee2a90721df6f3fba45f5d05308f7e4c35835392215dd2cd404505e2de","impliedFormat":1},{"version":"ce75b1aebb33d510ff28af960a9221410a3eaf7f18fc5f21f9404075fba77256","impliedFormat":1},{"version":"f42d5fed19610d485c646a0c430e768115567d078c7fc855c57b0c578b3d6cd3","impliedFormat":1},{"version":"ee8df1cb8d0faaca4013a1b442e99130769ce06f438d18d510fed95890067563","impliedFormat":1},{"version":"d5630f2ad9b4541e5ce891648121022f9412ecdca1820baa1f0104f70fd7eff7","impliedFormat":1},{"version":"4d15375ab13497104bc8fe56fdef2b5fd6853f29255737d23a33fa306ff7fd69","impliedFormat":1},{"version":"2cd3fc1d0d6a1e85baffd2d4f50f5efb192b5446eef567e97c94765402f0aad4","impliedFormat":1},{"version":"e4cbf2f1e89ecccaddd2c045e600ae41b732295953fb06247c7dcbc2d281ed30","impliedFormat":1},{"version":"6dcedaef57dff0d79a05ab0ab602cde74db803d1e765468bf91263786a383e1b","impliedFormat":1},{"version":"8c1697d90c394a6fd955b98eae01238eff628e129b987a68aea10f898a48e7da","impliedFormat":1},{"version":"7580e62139cb2b44a0270c8d01abcbfcba2819a02514a527342447fa69b34ef1","impliedFormat":1},{"version":"b838d4c72740eb0afd284bf7575b74c624b105eff2e8c7b4aeead57e7ac320ff","impliedFormat":1},{"version":"f374cb24e93e7798c4d9e83ff872fa52d2cdb36306392b840a6ddf46cb925cb6","impliedFormat":1},{"version":"d10d63718e1646c2279e3b33831f82c60e31f622b2b7020f1196409ca4c09242","impliedFormat":1},{"version":"106c6025f1d99fd468fd8bf6e5bda724e11e5905a4076c5d29790b6c3745e50c","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"148679c6d0f449210a96e7d2e562d589e56fcde87f843a92808b3ff103f1a774","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"02436d7e9ead85e09a2f8e27d5f47d9464bced31738dec138ca735390815c9f0","impliedFormat":1},{"version":"f8d5ff8eafd37499f2b6a98659dd9b45a321de186b8db6b6142faed0fea3de77","impliedFormat":1},{"version":"c86fe861cf1b4c46a0fb7d74dffe596cf679a2e5e8b1456881313170f092e3fa","impliedFormat":1},{"version":"a22dd55aa4d39906252000ab8e8a1b83b195eef7f4274eb51e457c1f11cf6580","impliedFormat":1},{"version":"540cc83ab772a2c6bc509fe1354f314825b5dba3669efdfbe4693ecd3048e34f","impliedFormat":1},{"version":"121b0696021ab885c570bbeb331be8ad82c6efe2f3b93a6e63874901bebc13e3","impliedFormat":1},{"version":"612d9da66bb046a9c1e2e8d026245ded881fc4b9f98cbfae714415d57ee0ae0b","impliedFormat":1},{"version":"32c2ad9494dad5d11b0564a619fee18f388db6c1e9e2cd3c360b3122549691eb","impliedFormat":1},{"version":"6c301d40aec56a74ec7bd7324e31a728dadf9bfba3e96def02938d3d973534ec","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"aa14cee20aa0db79f8df101fc027d929aec10feb5b8a8da3b9af3895d05b7ba2","impliedFormat":1},{"version":"493c700ac3bd317177b2eb913805c87fe60d4e8af4fb39c41f04ba81fae7e170","impliedFormat":1},{"version":"aeb554d876c6b8c818da2e118d8b11e1e559adbe6bf606cc9a611c1b6c09f670","impliedFormat":1},{"version":"acf5a2ac47b59ca07afa9abbd2b31d001bf7448b041927befae2ea5b1951d9f9","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"d71291eff1e19d8762a908ba947e891af44749f3a2cbc5bd2ec4b72f72ea795f","impliedFormat":1},{"version":"c0480e03db4b816dff2682b347c95f2177699525c54e7e6f6aa8ded890b76be7","impliedFormat":1},{"version":"25a5f6fd3a2243c859eddc99ab5fba11d970af2fe7a5df9c32b7668f76f97b01","impliedFormat":1},{"version":"8d207e1f9d2c30d6f77dfa693f3827c3fbf0d89240297e10bdfe1041d433df68","impliedFormat":1},{"version":"b620391fe8060cf9bedc176a4d01366e6574d7a71e0ac0ab344a4e76576fcbb8","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"2652448ac55a2010a1f71dd141f828b682298d39728f9871e1cdf8696ef443fd","impliedFormat":1},{"version":"d682336018141807fb602709e2d95a192828fcb8d5ba06dda3833a8ea98f69e3","impliedFormat":1},{"version":"6124e973eab8c52cabf3c07575204efc1784aca6b0a30c79eb85fe240a857efa","impliedFormat":1},{"version":"0d891735a21edc75df51f3eb995e18149e119d1ce22fd40db2b260c5960b914e","impliedFormat":1},{"version":"3b414b99a73171e1c4b7b7714e26b87d6c5cb03d200352da5342ab4088a54c85","impliedFormat":1},{"version":"4fbd3116e00ed3a6410499924b6403cc9367fdca303e34838129b328058ede40","impliedFormat":1},{"version":"9c82171d836c47486074e4ca8e059735bf97b205e70b196535b5efd40cbe1bc5","impliedFormat":1},{"version":"8c70ddc0c22d85e56011d49fddfaae3405eb53d47b59327b9dd589e82df672e7","impliedFormat":1},{"version":"2f9c89cbb29d362290531b48880a4024f258c6033aaeb7e59fbc62db26819650","impliedFormat":1},{"version":"a365c4d3bed3be4e4e20793c999c51f5cd7e6792322f14650949d827fbcd170f","impliedFormat":1},{"version":"c5426dbfc1cf90532f66965a7aa8c1136a78d4d0f96d8180ecbfc11d7722f1a5","impliedFormat":1},{"version":"65a15fc47900787c0bd18b603afb98d33ede930bed1798fc984d5ebb78b26cf9","impliedFormat":1},{"version":"9d202701f6e0744adb6314d03d2eb8fc994798fc83d91b691b75b07626a69801","impliedFormat":1},{"version":"de9d2df7663e64e3a91bf495f315a7577e23ba088f2949d5ce9ec96f44fba37d","impliedFormat":1},{"version":"c7af78a2ea7cb1cd009cfb5bdb48cd0b03dad3b54f6da7aab615c2e9e9d570c5","impliedFormat":1},{"version":"1ee45496b5f8bdee6f7abc233355898e5bf9bd51255db65f5ff7ede617ca0027","impliedFormat":1},{"version":"273782b8454e78f6a8b30d2cfbf6860499c930595095fcc1689637115f0eddda","affectsGlobalScope":true,"impliedFormat":1},{"version":"3fbdd025f9d4d820414417eeb4107ffa0078d454a033b506e22d3a23bc3d9c41","affectsGlobalScope":true,"impliedFormat":1},{"version":"dba114fb6a32b355a9cfc26ca2276834d72fe0e94cd2c3494005547025015369","impliedFormat":1},{"version":"a8f8e6ab2fa07b45251f403548b78eaf2022f3c2254df3dc186cb2671fe4996d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa6c12a7c0f6b84d512f200690bfc74819e99efae69e4c95c4cd30f6884c526e","impliedFormat":1},{"version":"f1c32f9ce9c497da4dc215c3bc84b722ea02497d35f9134db3bb40a8d918b92b","impliedFormat":1},{"version":"b73c319af2cc3ef8f6421308a250f328836531ea3761823b4cabbd133047aefa","affectsGlobalScope":true,"impliedFormat":1},{"version":"e433b0337b8106909e7953015e8fa3f2d30797cea27141d1c5b135365bb975a6","impliedFormat":1},{"version":"9f9bb6755a8ce32d656ffa4763a8144aa4f274d6b69b59d7c32811031467216e","impliedFormat":1},{"version":"5c32bdfbd2d65e8fffbb9fbda04d7165e9181b08dad61154961852366deb7540","impliedFormat":1},{"version":"ddff7fc6edbdc5163a09e22bf8df7bef75f75369ebd7ecea95ba55c4386e2441","impliedFormat":1},{"version":"0c05e9842ec4f8b7bfebfd3ca61604bb8c914ba8da9b5337c4f25da427a005f2","impliedFormat":1},{"version":"faed7a5153215dbd6ebe76dfdcc0af0cfe760f7362bed43284be544308b114cf","impliedFormat":1},{"version":"7029e566b8df176f703fb59fd437a38670c7a0e02c58b2d66dfb5b2e2b2defdb","impliedFormat":1},{"version":"7f2aa4d4989a82530aaac3f72b3dceca90e9c25bee0b1a327e8a08a1262435ad","impliedFormat":1},{"version":"d96b39301d0ded3f1a27b47759676a33a02f6f5049bfcbde81e533fd10f50dcb","impliedFormat":1},{"version":"e9f147ecca73d9346a4c073432843c159ccbe50bdcb678a78f6da10eae2cecf4","impliedFormat":1},{"version":"de061f7d72bd65c06fc1419f841dfdcb29a8e22fe6fa527d1e6eb20b897d4de0","impliedFormat":1},{"version":"663beafc2446079574570cba86e9b15f986f908ddb1b01274509970126fee945","impliedFormat":1},{"version":"a3102887d5058bf4cb5b37fa6964c09e9527c42053b3b5c642b89878620748de","impliedFormat":1},{"version":"0aaaa1727edd29673d85c9b26d7ca4d54e5407a48586903c51b48b7f7d196f61","impliedFormat":1},{"version":"d35bca0b261bff02635758c48e8ab99c61c420d0dfabbcf467e847171d876b7d","impliedFormat":1},{"version":"3bc12c40d90c342ff88a3d876996c555ed5cbee5fe8c3308a240b321f401ee46","impliedFormat":1},{"version":"ba130768aae855a5477e9e148e5c879548e6e7ccbcc56fd1934c8a18ea5b7569","impliedFormat":1},{"version":"2e4f37ffe8862b14d8e24ae8763daaa8340c0df0b859d9a9733def0eee7562d9","impliedFormat":1},{"version":"d38530db0601215d6d767f280e3a3c54b2a83b709e8d9001acb6f61c67e965fc","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"b499af2054a037a162b3b72cd886f48bbf32a3502c865c6e29fac7d2ab3ce0b5","impliedFormat":1},{"version":"b83cb14474fa60c5f3ec660146b97d122f0735627f80d82dd03e8caa39b4388c","impliedFormat":1},{"version":"48773ca557b0319c2ee62ae249cf52a81709e8be139920d6479a66274de7c4ed","impliedFormat":1},{"version":"7274fbffbd7c9589d8d0ffba68157237afd5cecff1e99881ea3399127e60572f","impliedFormat":1},{"version":"b73cbf0a72c8800cf8f96a9acfe94f3ad32ca71342a8908b8ae484d61113f647","impliedFormat":1},{"version":"bae6dd176832f6423966647382c0d7ba9e63f8c167522f09a982f086cd4e8b23","impliedFormat":1},{"version":"20865ac316b8893c1a0cc383ccfc1801443fbcc2a7255be166cf90d03fac88c9","impliedFormat":1},{"version":"c9958eb32126a3843deedda8c22fb97024aa5d6dd588b90af2d7f2bfac540f23","impliedFormat":1},{"version":"461d0ad8ae5f2ff981778af912ba71b37a8426a33301daa00f21c6ccb27f8156","impliedFormat":1},{"version":"e927c2c13c4eaf0a7f17e6022eee8519eb29ef42c4c13a31e81a611ab8c95577","impliedFormat":1},{"version":"fcafff163ca5e66d3b87126e756e1b6dfa8c526aa9cd2a2b0a9da837d81bbd72","impliedFormat":1},{"version":"70246ad95ad8a22bdfe806cb5d383a26c0c6e58e7207ab9c431f1cb175aca657","impliedFormat":1},{"version":"f00f3aa5d64ff46e600648b55a79dcd1333458f7a10da2ed594d9f0a44b76d0b","impliedFormat":1},{"version":"772d8d5eb158b6c92412c03228bd9902ccb1457d7a705b8129814a5d1a6308fc","impliedFormat":1},{"version":"802e797bcab5663b2c9f63f51bdf67eff7c41bc64c0fd65e6da3e7941359e2f7","impliedFormat":1},{"version":"b01bd582a6e41457bc56e6f0f9de4cb17f33f5f3843a7cf8210ac9c18472fb0f","impliedFormat":1},{"version":"8b4327413e5af38cd8cb97c59f48c3c866015d5d642f28518e3a891c469f240e","impliedFormat":1},{"version":"4cceef18d7f088e797a463e90b7a9dad10c6bc667724b7686e3e740ae00122be","impliedFormat":1},{"version":"7ee86fbb3754388e004de0ef9e6505485ddfb3be7640783d6d015711c03d302d","impliedFormat":1},{"version":"cc1954b539604b1e562319119ac7e888172208b32ca873f9a357a92c826bd046","impliedFormat":1},{"version":"a67b87d0281c97dfc1197ef28dfe397fc2c865ccd41f7e32b53f647184cc7307","impliedFormat":1},{"version":"771ffb773f1ddd562492a6b9aaca648192ac3f056f0e1d997678ff97dbb6bf9b","impliedFormat":1},{"version":"43e96a3d5d1411ab40ba2f61d6a3192e58177bcf3b133a80ad2a16591611726d","impliedFormat":1},{"version":"232f70c0cf2b432f3a6e56a8dc3417103eb162292a9fd376d51a3a9ea5fbbf6f","impliedFormat":1},{"version":"bb8f2dbc03533abca2066ce4655c119bff353dd4514375beb93c08590c03e023","impliedFormat":1},{"version":"706dd95827e7ebaabda91d5db2b755233e0952d98570e9c032b0f066a15c1177","affectsGlobalScope":true,"impliedFormat":1},{"version":"0b103e9abfe82d14c0ad06a55d9f91d6747154ef7cacc73cf27ecad2bfb3afcf","impliedFormat":1},{"version":"cd9304972e6d616197fb44fce00540a904f38b54306a1951b5dbeaf3c01ab5bd","impliedFormat":1},{"version":"77438e2c397a3db78407621cfc57241a305b310ddea2c185f1d555248297f587","impliedFormat":1},{"version":"120599fd965257b1f4d0ff794bc696162832d9d8467224f4665f713a3119078b","impliedFormat":1},{"version":"43ba4f2fa8c698f5c304d21a3ef596741e8e85a810b7c1f9b692653791d8d97a","impliedFormat":1},{"version":"5433f33b0a20300cca35d2f229a7fc20b0e8477c44be2affeb21cb464af60c76","impliedFormat":1},{"version":"db036c56f79186da50af66511d37d9fe77fa6793381927292d17f81f787bb195","impliedFormat":1},{"version":"a6805fcafed712aea7759f8bc731014f9d22738c1d6ef9d43b8091d1d48346d5","impliedFormat":1},{"version":"c49469a5349b3cc1965710b5b0f98ed6c028686aa8450bcb3796728873eb923e","impliedFormat":1},{"version":"4a889f2c763edb4d55cb624257272ac10d04a1cad2ed2948b10ed4a7fda2a428","impliedFormat":1},{"version":"7bb79aa2fead87d9d56294ef71e056487e848d7b550c9a367523ee5416c44cfa","impliedFormat":1},{"version":"d88ea80a6447d7391f52352ec97e56b52ebec934a4a4af6e2464cfd8b39c3ba8","impliedFormat":1},{"version":"142617b3cdf902b69c6464c9fbd942b60ab3e733ca18c032b19e0f7e2adbefe8","impliedFormat":1},{"version":"0b603555f1881f87256ffd6344d3e3ed6d466c2e701eabf381f28be8c2125892","impliedFormat":1},{"version":"897e4f7662488e3ecc79e743bdd3b78f13bdb69a97851afa5b440c4211e32ea9","impliedFormat":1},{"version":"e2e1c6d3b2d93add5200bd7bc1a8cccb4e446836b2111ece45db8683a2c765de","impliedFormat":1},{"version":"251b03d5cd243854ce870d9a9a39f491faf69898c5d6b5eee28cc7649c57417b","impliedFormat":1},{"version":"27ff4196654e6373c9af16b6165120e2dd2169f9ad6abb5c935af5abd8c7938c","impliedFormat":1},{"version":"2c4de79f406d137390608e8c0a44fba2ff8e00bacfcae7c9d1781fef10e9440d","impliedFormat":1},{"version":"07ba23a10465791be5d22deaf5ef7de7658774ddff53721e5ea17fedea1bc721","impliedFormat":1},{"version":"dca8c645c5afeb03b1ecedbf16323f33e7d0afaa6256c8e047e6e38087a97f53","impliedFormat":1},{"version":"775f181bd4a533d6f8b5e55ec1d9f1624559720ae8a70e9432258da26b38d27c","impliedFormat":1},{"version":"796273b2edc72e78a04e86d7c58ae94d370ab93a0ddf40b1aa85a37a1c29ecd7","impliedFormat":1},{"version":"5df15a69187d737d6d8d066e189ae4f97e41f4d53712a46b2710ff9f8563ec9f","impliedFormat":1},{"version":"7715134a0cf07dd41a9da2895d708625a3a303a0385e355ecaaf0b8bfaef2550","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"622694a8522b46f6310c2a9b5d2530dde1e2854cb5829354e6d1ff8f371cf469","impliedFormat":1},{"version":"cd8ce8d68567f62dd580b3c3c37777ac3f5b81944c7417f5ea83030eab533385","impliedFormat":1},{"version":"e5c939d896565dcac0f6fbdbada11284e7728ef26a069561c09aa5aa4a788393","impliedFormat":1},{"version":"9e2739b32f741859263fdba0244c194ca8e96da49b430377930b8f721d77c000","impliedFormat":1},{"version":"a9e6c0ff3f8186fccd05752cf75fc94e147c02645087ac6de5cc16403323d870","impliedFormat":1},{"version":"49af4b52f0d4d2304c5f2c6fe5fab3e153e0acc38830d0202821b877c097dd02","impliedFormat":1},{"version":"49c346823ba6d4b12278c12c977fb3a31c06b9ca719015978cb145eb86da1c61","impliedFormat":1},{"version":"bfac6e50eaa7e73bb66b7e052c38fdc8ccfc8dbde2777648642af33cf349f7f1","impliedFormat":1},{"version":"92f7c1a4da7fbfd67a2228d1687d5c2e1faa0ba865a94d3550a3941d7527a45d","impliedFormat":1},{"version":"f53b120213a9289d9a26f5af90c4c686dd71d91487a0aa5451a38366c70dc64b","impliedFormat":1},{"version":"e68b8e5a1df7c1be2bc105141456ecba70215806e1c28bfbc5c12bfce4be6e68","impliedFormat":1},{"version":"511c8f02329808d47d00b859c532ae9115590048b17325a946c74dac48428650","impliedFormat":1},{"version":"57d67b72e06059adc5e9454de26bbfe567d412b962a501d263c75c2db430f40e","impliedFormat":1},{"version":"b5f9e66625783eefcbe3d2da074b2e7ba2066d61ce3fc6ef4f22805ad946cab4","impliedFormat":1},{"version":"e37115962d284b9f7a37c2bdd2add50f88365dde41f5e0ff591ffc48a8ec7575","impliedFormat":1},{"version":"6459054aabb306821a043e02b89d54da508e3a6966601a41e71c166e4ea1474f","impliedFormat":1},{"version":"bb37588926aba35c9283fe8d46ebf4e79ffe976343105f5c6d45f282793352b2","impliedFormat":1},{"version":"f89488602bec98a142072fae7ea5ba99431a569ff580c64b7be39896474799d8","impliedFormat":1},{"version":"bbbc47961f39a57df103cf4ca3bb8f8732b4b6678a18225a0aa76d59c466956c","impliedFormat":1},{"version":"2e6114a7dd6feeef85b2c80120fdbfb59a5529c0dcc5bfa8447b6996c97a69f5","impliedFormat":1},{"version":"2ffb043dc5163458e473b7010859f86e01dc4edffcae0a93d885d028b426a546","impliedFormat":1},{"version":"c8f004e6036aa1c764ad4ec543cf89a5c1893a9535c80ef3f2b653e370de45e6","impliedFormat":1},{"version":"dd80b1e600d00f5c6a6ba23f455b84a7db121219e68f89f10552c54ba46e4dc9","impliedFormat":1},{"version":"b064c36f35de7387d71c599bfcf28875849a1dbc733e82bd26cae3d1cd060521","impliedFormat":1},{"version":"05c7280d72f3ed26f346cbe7cbbbb002fb7f15739197cbbee6ab3fd1a6cb9347","impliedFormat":1},{"version":"8de9fe97fa9e00ec00666fa77ab6e91b35d25af8ca75dabcb01e14ad3299b150","impliedFormat":1},{"version":"04b7b2e0832dfd3c31e81df3975e8d8fda28e7ff999b0aa2932608a8f6661d5c","impliedFormat":1},{"version":"ca2d34c6ed5cbd3070b8b6f32f42ae54adcc6499c1e4b99f0a5798b3f27cc653","impliedFormat":1},{"version":"9ec68995e66dd6b9dac834bf5ae85fde802714ea2e82151a5d1d53ef01b463ef","impliedFormat":1},{"version":"5c4d626b4902f2ef8a1cc146d761d276cef988016dc674e3b98fbad70e64bc9f","impliedFormat":1},{"version":"fdfaa0aad899524962e2955287b5b991ffe3be50f64e02eb60c933ca44644a94","impliedFormat":1},{"version":"53c972a0f9bc3a4ec70fff7314123ea8cfcf75b3703046f767d2dc1eea87b2fb","impliedFormat":1},{"version":"f974e4a06953682a2c15d5bd5114c0284d5abf8bc0fe4da25cb9159427b70072","impliedFormat":1},{"version":"50256e9c31318487f3752b7ac12ff365c8949953e04568009c8705db802776fb","impliedFormat":1},{"version":"7d73b24e7bf31dfb8a931ca6c4245f6bb0814dfae17e4b60c9e194a631fe5f7b","impliedFormat":1},{"version":"d130c5f73768de51402351d5dc7d1b36eaec980ca697846e53156e4ea9911476","impliedFormat":1},{"version":"413586add0cfe7369b64979d4ec2ed56c3f771c0667fbde1bf1f10063ede0b08","impliedFormat":1},{"version":"06472528e998d152375ad3bd8ebcb69ff4694fd8d2effaf60a9d9f25a37a097a","impliedFormat":1},{"version":"7303b45138d2511035056a5901a1490ebdcbf055cbb1276f8629c5121cbe733e","impliedFormat":1},{"version":"27f874cd5327507eeff699a74567f60c1215b94509f4308633a7b01922471ed2","impliedFormat":1},{"version":"a401617604fa1f6ce437b81689563dfdc377069e4c58465dbd8d16069aede0a5","impliedFormat":1},{"version":"2c6cf04bc525caf6546e859e8ef10bfb9573837ec0bc5ec7b53a7b1b8ca72781","impliedFormat":1},{"version":"8695dec09ad439b0ceef3776ea68a232e381135b516878f0901ed2ea114fd0fe","impliedFormat":1},{"version":"304b44b1e97dd4c94697c3313df89a578dca4930a104454c99863f1784a54357","impliedFormat":1},{"version":"0a437ae178f999b46b6153d79095b60c42c996bc0458c04955f1c996dc68b971","impliedFormat":1},{"version":"74b2a5e5197bd0f2e0077a1ea7c07455bbea67b87b0869d9786d55104006784f","impliedFormat":1},{"version":"4a7baeb6325920044f66c0f8e5e6f1f52e06e6d87588d837bdf44feb6f35c664","impliedFormat":1},{"version":"87cc05fe13108f02e12da7e3efd8e360fef78d96a0c9e11408ea1b1b9fb3e03d","impliedFormat":1},{"version":"1abbf67c218d23c2ce76887caac2df6c7dab3d97ba2b65348432b876f510002a","impliedFormat":1},{"version":"1a82deef4c1d39f6882f28d275cad4c01f907b9b39be9cbc472fcf2cf051e05b","impliedFormat":1},{"version":"4b20fcf10a5413680e39f5666464859fc56b1003e7dfe2405ced82371ebd49b6","impliedFormat":1},{"version":"c06ef3b2569b1c1ad99fcd7fe5fba8d466e2619da5375dfa940a94e0feea899b","impliedFormat":1},{"version":"f7d628893c9fa52ba3ab01bcb5e79191636c4331ee5667ecc6373cbccff8ae12","impliedFormat":1},{"version":"1d879125d1ec570bf04bc1f362fdbe0cb538315c7ac4bcfcdf0c1e9670846aa6","impliedFormat":1},{"version":"dad97c99382889e9c7d1a9d8275500ff71235130fae9f8916fdbf3641d56e592","impliedFormat":1},{"version":"a6dba407fc287f1e25454e75028c91bbc00675f2d1c4e8b3edcc36c08611a486","impliedFormat":1},{"version":"d663134457d8d669ae0df34eabd57028bddc04fc444c4bc04bc5215afc91e1f4","impliedFormat":1},{"version":"e91f7b1344577a02f051b9b471f33044fef8334a76dc9e1de003d17595a5219b","impliedFormat":1},{"version":"c0723195c85e19656d6b5b9fdb81d3f3403c1ae4679e722c6ea058c516b38d12","impliedFormat":1},{"version":"b55eb9f72166093b5460d34b34f5d8699c968de3bc3fc696e40f2c93f2ebf650","impliedFormat":1},{"version":"71d9eb4c4e99456b78ae182fb20a5dfc20eb1667f091dbb9335b3c017dd1c783","impliedFormat":1},{"version":"cfa846a7b7847a1d973605fbb8c91f47f3a0f0643c18ac05c47077ebc72e71c7","impliedFormat":1},{"version":"1594da19968752a22b2ac48c2d0e60575700e745c577a8a4a676b841238ad5bb","impliedFormat":1},{"version":"e0cee12109e0a10a4c3d6769fcc7644b7c1ea7f52365bea51728f5af29f8a137","impliedFormat":1},{"version":"7d4254b4c6c67a29d5e7f65e67d72540480ac2cfb041ca484847f5ae70480b62","impliedFormat":1},{"version":"3536968defef8a75514f547ead5e2e9c1e984820290ec9b00c5fdfb6ef786535","impliedFormat":1},{"version":"d83773870080c30a230e322ce13a9c6f3398e8dacea4ea8a83e26370f3bac23e","impliedFormat":1},{"version":"dcfeaf98d66314fec29a9076c4290e45d0b196a65827becc19138e9c7b855f37","impliedFormat":1},{"version":"6849fe9210fe4946d5f085bfed36758f33dc6ae15a751338d178dd4daa017c46","impliedFormat":1},{"version":"888cda0fa66d7f74e985a3f7b1af1f64b8ff03eb3d5e80d051c3cbdeb7f32ab7","impliedFormat":1},{"version":"60681e13f3545be5e9477acb752b741eae6eaf4cc01658a25ec05bff8b82a2ef","impliedFormat":1},{"version":"ffae4e1e06aa848a1e4bcef162cd1c48e5909b26223515981310af9c036bdfc7","impliedFormat":1},{"version":"a57b1802794433adec9ff3fed12aa79d671faed86c49b09e02e1ac41b4f1d33a","impliedFormat":1},{"version":"34e16eb7c31768a11a08aebcfb3d70d7b8f0b016197e98d8419e566ceae6d6c8","impliedFormat":1},{"version":"f94ec1f7e4b709d26960306c9082a7a1b728a6e13089346aa48ba57c74cbf47e","impliedFormat":1},{"version":"9a11cb4033405e96c247cd5aa29790212aaffdd127869e8a5219103f0b389fd5","impliedFormat":1},{"version":"01479d9d5a5dda16d529b91811375187f61a06e74be294a35ecce77e0b9e8d6c","impliedFormat":1},{"version":"aff5213585cb72e94054dfe17250ff315f3569b3919d1ef1ad235f37c4ee894e","impliedFormat":1},{"version":"fb2ea35e1be6388d722d7725e2b49c697d34d9c890c3b96758faaeb86d35cef8","impliedFormat":1},{"version":"ce0df82a9ae6f914ba08409d4d883983cc08e6d59eb2df02d8e4d68309e7848b","impliedFormat":1},{"version":"1a4dc28334a926d90ba6a2d811ba0ff6c22775fcc13679521f034c124269fd40","impliedFormat":1},{"version":"f05315ff85714f0b87cc0b54bcd3dde2716e5a6b99aedcc19cad02bf2403e08c","impliedFormat":1},{"version":"5fad3b31fc17a5bc58095118a8b160f5260964787c52e7eb51e3d4fcf5d4a6f0","impliedFormat":1},{"version":"72105519d0390262cf0abe84cf41c926ade0ff475d35eb21307b2f94de985778","impliedFormat":1},{"version":"456006a6975b26c0a1785feddae165f6d307e2d601ffde27e21fc4a790e448a4","impliedFormat":1},{"version":"c857e0aae3f5f444abd791ec81206020fbcc1223e187316677e026d1c1d6fe08","impliedFormat":1},{"version":"ccf6dd45b708fb74ba9ed0f2478d4eb9195c9dfef0ff83a6092fa3cf2ff53b4f","impliedFormat":1},{"version":"1fe0d18b111e1145a7e7601855bccd4ca20f24e3b9a5aba6bb1fa9d1a7059170","impliedFormat":1},{"version":"5632c3c26d420c063eebe64c45b1248b9492a67bf44f1d0c57e9dc8f6cf449bb","impliedFormat":1},{"version":"0df5aa619ab12993a39ea6dae062ee46eadbb4d738916460e636ada52bced75b","impliedFormat":1},{"version":"8fca3039857709484e5893c05c1f9126ab7451fa6c29e19bb8c2411a2e937345","impliedFormat":1},{"version":"35069c2c417bd7443ae7c7cafd1de02f665bf015479fec998985ffbbf500628c","impliedFormat":1},{"version":"10ab7be91f87ebe8916b62cf28af2e45b5601fc7b0e311adf838f912c6b31dd8","impliedFormat":1},{"version":"bc636fbc08e0979ceb7eb0731a33000283d77a33b62e1f71ee65be50394e40ba","impliedFormat":1},{"version":"7e0b7f91c5ab6e33f511efc640d36e6f933510b11be24f98836a20a2dc914c2d","impliedFormat":1},{"version":"045b752f44bf9bbdcaffd882424ab0e15cb8d11fa94e1448942e338c8ef19fba","impliedFormat":1},{"version":"2894c56cad581928bb37607810af011764a2f511f575d28c9f4af0f2ef02d1ab","impliedFormat":1},{"version":"0a72186f94215d020cb386f7dca81d7495ab6c17066eb07d0f44a5bf33c1b21a","impliedFormat":1},{"version":"75bbd3be047d539988a0ff0b56384ef7a6a25f3b676ad96bee547d44c31622a7","impliedFormat":1},{"version":"42960001a776b089ade681ab5cfddc936e0afb0615133ec1841f3dee89d3e1bf","impliedFormat":1},{"version":"0aedb02516baf3e66b2c1db9fef50666d6ed257edac0f866ea32f1aa05aa474f","impliedFormat":1},{"version":"da47712b394d944328245482603bc6f416d3949b67c9392279caab595076b510","affectsGlobalScope":true,"impliedFormat":1},{"version":"37d0071d8f0a06dc55c2c5e0ec3391affd4fd107c53410bf358196ec0bf3923f","impliedFormat":1},{"version":"b213dad76ca37fd552274c9499056e1c0d9c1bd38a55bb7f68b22ba6b84c3ad7","impliedFormat":1},{"version":"c30436b130b6218b7714314dc41d3f459590db4bdf099eecd51cb1bda32109a8","impliedFormat":1},{"version":"20fa37b636fdcc1746ea0738f733d0aed17890d1cd7cb1b2f37010222c23f13e","impliedFormat":1},{"version":"d90b9f1520366d713a73bd30c5a9eb0040d0fb6076aff370796bc776fd705943","impliedFormat":1},{"version":"bc03c3c352f689e38c0ddd50c39b1e65d59273991bfc8858a9e3c0ebb79c023b","impliedFormat":1},{"version":"19df3488557c2fc9b4d8f0bac0fd20fb59aa19dec67c81f93813951a81a867f8","affectsGlobalScope":true,"impliedFormat":1},{"version":"b25350193e103ae90423c5418ddb0ad1168dc9c393c9295ef34980b990030617","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef86adb77316505c6b471da1d9b8c9e428867c2566270e8894d4d773a1c4dc2","impliedFormat":1},{"version":"5a49adaef698b7ad7e6127949fa1b0bbd3d46b7cbd11c54e392a4dcdd51f5190","impliedFormat":1},{"version":"6ee598cdfdd0fa52039dca135b3dfff7b49035dc13292143e0a93843e3861967","impliedFormat":1},{"version":"27be6622e2922a1b412eb057faa854831b95db9db5035c3f6d4b677b902ab3b7","impliedFormat":1},{"version":"5c634644d45a1b6bc7b05e71e05e52ec04f3d73d9ac85d5927f647a5f965181a","impliedFormat":1},{"version":"2489bf04d77dc025ba67f49f1a56eb24b9db477d5ff88123d887e163ed1776aa","impliedFormat":1},{"version":"63a7595a5015e65262557f883463f934904959da563b4f788306f699411e9bac","impliedFormat":1},{"version":"4ba137d6553965703b6b55fd2000b4e07ba365f8caeb0359162ad7247f9707a6","impliedFormat":1},{"version":"0b77b819b5417775fccb20c678293cf614c054a5b1a65421a5b933a9124ba998","impliedFormat":1},{"version":"eb5acb58487367e502d994b57e2c58255d8241f481ea8efa8e79af23af3f41c2","impliedFormat":1},{"version":"9252d498a77517aab5d8d4b5eb9d71e4b225bbc7123df9713e08181de63180f6","impliedFormat":1},{"version":"b1f1d57fde8247599731b24a733395c880a6561ec0c882efaaf20d7df968c5af","impliedFormat":1},{"version":"f1f4095f04343ad6e6825eba41eb50f1555685560dde164179a467e65c4a921c","impliedFormat":1},{"version":"35e6379c3f7cb27b111ad4c1aa69538fd8e788ab737b8ff7596a1b40e96f4f90","impliedFormat":1},{"version":"1fffe726740f9787f15b532e1dc870af3cd964dbe29e191e76121aa3dd8693f2","impliedFormat":1},{"version":"5a3ea721d03a361ccbdd7390ccd75f6e84cbca3a3f01f4b331ecc9af31890c49","impliedFormat":1},{"version":"e7dfaee4af38d45b1cab8a1ee0b3bc1f85ddcf64545ed391d675d78ae6526274","affectsGlobalScope":true,"impliedFormat":1},{"version":"e8daa443eaf9a27fd382cc1f8ebe30330c0f4d89511cfb469166874806751d35","impliedFormat":1},{"version":"af48e58339188d5737b608d41411a9c054685413d8ae88b8c1d0d9bfabdf6e7e","impliedFormat":1},{"version":"616775f16134fa9d01fc677ad3f76e68c051a056c22ab552c64cc281a9686790","impliedFormat":1},{"version":"65c24a8baa2cca1de069a0ba9fba82a173690f52d7e2d0f1f7542d59d5eb4db0","impliedFormat":1},{"version":"f9fe6af238339a0e5f7563acee3178f51db37f32a2e7c09f85273098cee7ec49","impliedFormat":1},{"version":"1de8c302fd35220d8f29dea378a4ae45199dc8ff83ca9923aca1400f2b28848a","impliedFormat":1},{"version":"77e71242e71ebf8528c5802993697878f0533db8f2299b4d36aa015bae08a79c","impliedFormat":1},{"version":"98a787be42bd92f8c2a37d7df5f13e5992da0d967fab794adbb7ee18370f9849","impliedFormat":1},{"version":"332248ee37cca52903572e66c11bef755ccc6e235835e63d3c3e60ddda3e9b93","impliedFormat":1},{"version":"94e8cc88ae2ef3d920bb3bdc369f48436db123aa2dc07f683309ad8c9968a1e1","impliedFormat":1},{"version":"4545c1a1ceca170d5d83452dd7c4994644c35cf676a671412601689d9a62da35","impliedFormat":1},{"version":"320f4091e33548b554d2214ce5fc31c96631b513dffa806e2e3a60766c8c49d9","impliedFormat":1},{"version":"a2d648d333cf67b9aeac5d81a1a379d563a8ffa91ddd61c6179f68de724260ff","impliedFormat":1},{"version":"d90d5f524de38889d1e1dbc2aeef00060d779f8688c02766ddb9ca195e4a713d","impliedFormat":1},{"version":"07ed3ddab975995eea41b22f3010506fb9f5fb301d04820b07d7a1aee5477d7c","impliedFormat":1},{"version":"969d8b0965849f4bae7cab0ba90bd1e1220e95999c2c6f01117fa7500901c017","impliedFormat":1},{"version":"6ec840ee5e2bc103f557fe38b1d585ee250540468713d7634ee066de372bf332","impliedFormat":1},{"version":"b0309e1eda99a9e76f87c18992d9c3689b0938266242835dd4611f2b69efe456","impliedFormat":1},{"version":"47699512e6d8bebf7be488182427189f999affe3addc1c87c882d36b7f2d0b0e","impliedFormat":1},{"version":"6ceb10ca57943be87ff9debe978f4ab73593c0c85ee802c051a93fc96aaf7a20","impliedFormat":1},{"version":"1de3ffe0cc28a9fe2ac761ece075826836b5a02f340b412510a59ba1d41a505a","impliedFormat":1},{"version":"e46d6cc08d243d8d0d83986f609d830991f00450fb234f5b2f861648c42dc0d8","impliedFormat":1},{"version":"1c0a98de1323051010ce5b958ad47bc1c007f7921973123c999300e2b7b0ecc0","impliedFormat":1},{"version":"ff863d17c6c659440f7c5c536e4db7762d8c2565547b2608f36b798a743606ca","impliedFormat":1},{"version":"5412ad0043cd60d1f1406fc12cb4fb987e9a734decbdd4db6f6acf71791e36fe","impliedFormat":1},{"version":"ad036a85efcd9e5b4f7dd5c1a7362c8478f9a3b6c3554654ca24a29aa850a9c5","impliedFormat":1},{"version":"fedebeae32c5cdd1a85b4e0504a01996e4a8adf3dfa72876920d3dd6e42978e7","impliedFormat":1},{"version":"e297c0a524edee7677939122f90027bfbe5f2698939d9a85728e5044b39c7124","impliedFormat":1},{"version":"cdf21eee8007e339b1b9945abf4a7b44930b1d695cc528459e68a3adc39a622e","impliedFormat":1},{"version":"bc9ee0192f056b3d5527bcd78dc3f9e527a9ba2bdc0a2c296fbc9027147df4b2","impliedFormat":1},{"version":"b62381cae176db34f003cc6172ee8f3e0122014889d66391aa73698105cf4934","impliedFormat":1},{"version":"1d9c0a9a6df4e8f29dc84c25c5aa0bb1da5456ebede7a03e03df08bb8b27bae6","impliedFormat":1},{"version":"84380af21da938a567c65ef95aefb5354f676368ee1a1cbb4cae81604a4c7d17","impliedFormat":1},{"version":"1af3e1f2a5d1332e136f8b0b95c0e6c0a02aaabd5092b36b64f3042a03debf28","impliedFormat":1},{"version":"30d8da250766efa99490fc02801047c2c6d72dd0da1bba6581c7e80d1d8842a4","impliedFormat":1},{"version":"03566202f5553bd2d9de22dfab0c61aa163cabb64f0223c08431fb3fc8f70280","impliedFormat":1},{"version":"41eb514d9ce0a6e87957f08a4b7af70d93f87637f37dee706e2d92a6601c25a9","impliedFormat":1},{"version":"e7765aa8bcb74a38b3230d212b4547686eb9796621ffb4367a104451c3f9614f","impliedFormat":1},{"version":"1de80059b8078ea5749941c9f863aa970b4735bdbb003be4925c853a8b6b4450","impliedFormat":1},{"version":"1d079c37fa53e3c21ed3fa214a27507bda9991f2a41458705b19ed8c2b61173d","impliedFormat":1},{"version":"5bf5c7a44e779790d1eb54c234b668b15e34affa95e78eada73e5757f61ed76a","impliedFormat":1},{"version":"5835a6e0d7cd2738e56b671af0e561e7c1b4fb77751383672f4b009f4e161d70","impliedFormat":1},{"version":"4b7f74b772140395e7af67c4841be1ab867c11b3b82a51b1aeb692822b76c872","impliedFormat":1},{"version":"7bd01f0f28cd3aeb2046274d85208e245965f6f2948edf4f7b2057bcf9f22ccc","impliedFormat":99},{"version":"d2f2cf2b8cc92bea913cda4a076e0f790b23a21e84f989d12f0116a7fe3906e0","impliedFormat":99},{"version":"6de125ea94866c736c6d58d68eb15272cf7d1020a5b459fea1c660027eca9a90","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5b20bc288ee49989c95b20847fc93b96bf61cc0845598897a6a53a967dd7d07","affectsGlobalScope":true,"impliedFormat":1},{"version":"064ac1c2ac4b2867c2ceaa74bbdce0cb6a4c16e7c31a6497097159c18f74aa7c","impliedFormat":1},{"version":"3dc14e1ab45e497e5d5e4295271d54ff689aeae00b4277979fdd10fa563540ae","impliedFormat":1},{"version":"d3b315763d91265d6b0e7e7fa93cfdb8a80ce7cdd2d9f55ba0f37a22db00bdb8","impliedFormat":1},{"version":"b789bf89eb19c777ed1e956dbad0925ca795701552d22e68fd130a032008b9f9","impliedFormat":1},{"version":"40bf3da769d6a689390ed2ee2c099d0d2e8c0ef2b3747a3fd41b5a8ab07268e3","affectsGlobalScope":true},"7b550dda9686c16f36a17bf9051d5dbf31e98555b30d114ac49fc49a1e712651",{"version":"9f0b9aa5f8c1045f98e7a6e1bd787caa48050450f1ce859c09b0cfbbc85c4c6e","signature":"435a1e418e8338be3f39614b96b81a9aa2700bc8c27bc6b98f064ff9ce17c363"},{"version":"17c6561066a9708a09115ad4b49ff23cf81a607f54278c9b9b5865964906f415","impliedFormat":1},{"version":"32727845ab5bd8a9ef3e4844c567c09f6d418fcf0f90d381c00652a6f23e7f6e","impliedFormat":1},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"833e92c058d033cde3f29a6c7603f517001d1ddd8020bc94d2067a3bc69b2a8e","impliedFormat":1},{"version":"08b2fae7b0f553ad9f79faec864b179fc58bc172e295a70943e8585dd85f600c","impliedFormat":1},{"version":"f12edf1672a94c578eca32216839604f1e1c16b40a1896198deabf99c882b340","impliedFormat":1},{"version":"e3498cf5e428e6c6b9e97bd88736f26d6cf147dedbfa5a8ad3ed8e05e059af8a","impliedFormat":1},{"version":"dba3f34531fd9b1b6e072928b6f885aa4d28dd6789cbd0e93563d43f4b62da53","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"2329d90062487e1eaca87b5e06abcbbeeecf80a82f65f949fd332cfcf824b87b","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"4fdb529707247a1a917a4626bfb6a293d52cd8ee57ccf03830ec91d39d606d6d","impliedFormat":1},{"version":"a9ebb67d6bbead6044b43714b50dcb77b8f7541ffe803046fdec1714c1eba206","impliedFormat":1},{"version":"5780b706cece027f0d4444fbb4e1af62dc51e19da7c3d3719f67b22b033859b9","impliedFormat":1},{"version":"60200590d8ecf247a6e9c769c6b79bd8e688c3af14ef208072d0c6954b25f125","impliedFormat":1},{"version":"7a8ec10b0834eb7183e4bfcd929838ac77583828e343211bb73676d1e47f6f01","impliedFormat":1},{"version":"6e8044a9ca35eb66823c9ddddf826ca28bf900cd0cb3d31b3007277d094dc21e","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f00324f263189b385c3a9383b1f4dae6237697bcf0801f96aa35c340512d79c","impliedFormat":1},{"version":"ec8997c2e5cea26befc76e7bf990750e96babb16977673a9ff3b5c0575d01e48","impliedFormat":1},{"version":"633775c57ac402a6f05d12d57eccb906d8324364341281d6cdd0de774d13ae64","signature":"50f8a125795ffacae7f3107820dc660812d53c75c1d9c3ac82fd3d4ee1073958"},{"version":"c76c02846ba7d40b9b3488f0e8d75d02cbdee2f0bc5fcd55dd3bd2e1457646ea","impliedFormat":99},{"version":"4ead13a482c539b77394b2a97e3b877b809eac596390371cea490286f53b996a","impliedFormat":99},{"version":"06db2f8ba1d1dfacf04529cb731081ab23f133f29c7608ebdfbcab356996827c","impliedFormat":99},{"version":"bdd14f07b4eca0b4b5203b85b8dbc4d084c749fa590bee5ea613e1641dcd3b29","impliedFormat":99},{"version":"3a582c6e8906f5b094ccf0de6cc6f4f8a54b05a34f52517aba5c9c7f704f6b28","impliedFormat":99},{"version":"ef13c73d6157a32933c612d476c1524dd674cf5b9a88571d7d6a0d147544d529","impliedFormat":99},{"version":"49ab4f1d153a252779958fc87b700743d32b5ffa42addd70ae23ad3f429daa5c","impliedFormat":99},{"version":"0528f6d21f7a02d4092895090d2dd86104bd5a3e79eced96d5a1a7dd90943d17","impliedFormat":99},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"2eeffcee5c1661ddca53353929558037b8cf305ffb86a803512982f99bcab50d","impliedFormat":99},{"version":"9afb4cb864d297e4092a79ee2871b5d3143ea14153f62ef0bb04ede25f432030","affectsGlobalScope":true,"impliedFormat":99},{"version":"5c935b7fc4ddc1410ea1cd7cd4e35ed106a6e4920dd27a9480a40fd224359dc3","affectsGlobalScope":true,"impliedFormat":99},{"version":"a7ca8df4f2931bef2aa4118078584d84a0b16539598eaadf7dce9104dfaa381c","impliedFormat":1},{"version":"10073cdcf56982064c5337787cc59b79586131e1b28c106ede5bff362f912b70","impliedFormat":99},{"version":"72950913f4900b680f44d8cab6dd1ea0311698fc1eefb014eb9cdfc37ac4a734","impliedFormat":1},{"version":"751764bb94219b4ce8f5475dc35d3de2e432fea01a0c9610cd7f69ad05e398c6","impliedFormat":1},{"version":"ee70b8037ecdf0de6c04f35277f253663a536d7e38f1539d270e4e916d225a3f","affectsGlobalScope":true,"impliedFormat":1},{"version":"a660aa95476042d3fdcc1343cf6bb8fdf24772d31712b1db321c5a4dcc325434","impliedFormat":1},{"version":"36977c14a7f7bfc8c0426ae4343875689949fb699f3f84ecbe5b300ebf9a2c55","impliedFormat":1},{"version":"ff0a83c9a0489a627e264ffcb63f2264b935b20a502afa3a018848139e3d8575","impliedFormat":99},{"version":"161c8e0690c46021506e32fda85956d785b70f309ae97011fd27374c065cac9b","affectsGlobalScope":true,"impliedFormat":1},{"version":"f582b0fcbf1eea9b318ab92fb89ea9ab2ebb84f9b60af89328a91155e1afce72","impliedFormat":1},{"version":"402e5c534fb2b85fa771170595db3ac0dd532112c8fa44fc23f233bc6967488b","impliedFormat":1},{"version":"52dcc257df5119fb66d864625112ce5033ac51a4c2afe376a0b299d2f7f76e4a","impliedFormat":1},{"version":"e5bab5f871ef708d52d47b3e5d0aa72a08ee7a152f33931d9a60809711a2a9a3","impliedFormat":1},{"version":"e16dc2a81595736024a206c7d5c8a39bfe2e6039208ef29981d0d95434ba8fcf","impliedFormat":1},{"version":"cc4a4903fb698ca1d961d4c10dce658aa3a479faf40509d526f122b044eaf6a4","impliedFormat":1},{"version":"19ee8416e6473ed6c7adb868fa796b5653cf0fa2a337658e677eaa0d134388c3","impliedFormat":1},{"version":"1328ab4e442614b28cdb3d4b414cf68325c0da0dca07287a338d0654b7a00261","impliedFormat":1},{"version":"a039dc21f045919f3cbee2ec13812cc6cc3eebc99dae4be00973230f468d19a6","impliedFormat":1},{"version":"3fbe57af01460e49dcd29df55d6931e1672bc6f1be0fb073d11410bc16f9037d","impliedFormat":1},{"version":"f760be449e8562ec5c09bb5187e8e1eabf3c113c0c58cddda53ef8c69f3e2131","impliedFormat":1},{"version":"44325ed13294fce6ab825b82947bbeed2611db7dad9d9135260192f375e5a189","impliedFormat":1},{"version":"e392e8fb5b514eafc585601c1d781485aa6dd6a320e75daf1064a4c6918a1b45","impliedFormat":1},{"version":"46e4a36e8ddbdfb4e7330e11c81c970dc8b218611df9183d39c41c5f8c653b55","impliedFormat":1},{"version":"370bde134aa8c2abc926d0e99d3a4d5d5dba65c6ee65459137e4f02670cbf841","impliedFormat":1},{"version":"6332f565867cf4a740a70e30f31cefba37ef7cebcf74f22eab8d744fde6d193e","impliedFormat":1},{"version":"2977b7884aedc895a1d0c9c210c7cf3272c29d6959a08a6fa3ff71e0aff08175","impliedFormat":1},{"version":"17f2922d41ddd032830a91371c948cd9ce903b35c95adca72271a54584f19b0b","impliedFormat":1},{"version":"3eed76ede2a1a14d7c9bb0a642041282dcc264811139d3dd275c9fe14efc9840","impliedFormat":1},{"version":"e3cf0611709328b449ec13f8c436712d62003620ce480139fae46ce001c2ee9f","impliedFormat":1},{"version":"8d369483f0c2b9ee388129cfdb6a43bc8112b377e86a41884bd06e19ce04f4c1","impliedFormat":99},{"version":"960bd764c62ac43edc24eaa2af958a4b4f1fa5d27df5237e176d0143b36a39c6","affectsGlobalScope":true,"impliedFormat":1},{"version":"3fd8a5aefd8c3feb3936ca66f5aa89dff7bf6e6537b4158dbd0f6e0d65ed3b9e","impliedFormat":1},{"version":"a18642ddf216f162052a16cba0944892c4c4c977d3306a87cb673d46abbb0cbf","impliedFormat":1},{"version":"41c41c6e90133bb2a14f7561f29944771886e5535945b2b372e2f6ed6987746e","impliedFormat":1},{"version":"4ec16d7a4e366c06a4573d299e15fe6207fc080f41beac5da06f4af33ea9761e","impliedFormat":1},{"version":"59f8dc89b9e724a6a667f52cdf4b90b6816ae6c9842ce176d38fcc973669009e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e4af494f7a14b226bbe732e9c130d8811f8c7025911d7c58dd97121a85519715","impliedFormat":1},{"version":"cbb1c5ba5dbabe42c19ca31b83e48fec95895484fe1d1a8fb649b69ea224c5b8","impliedFormat":99},{"version":"b5ce343886d23392be9c8280e9f24a87f1d7d3667f6672c2fe4aa61fa4ece7d4","impliedFormat":99},{"version":"72ce5b734c05da85c85a6f6dc05823b051d6aa41acaedeeb1d17c72f3b4efa72","impliedFormat":99},{"version":"b0857bb28fd5236ace84280f79a25093f919fd0eff13e47cc26ea03de60a7294","impliedFormat":99},{"version":"5e43e0824f10cd8c48e7a8c5c673638488925a12c31f0f9e0957965c290eb14c","impliedFormat":99},{"version":"53cf4076f42b29b8d411259d168d51b3a0274c42c8814e5b44dfa8803a35d4fc","impliedFormat":99},{"version":"a39461ee1f27cf3e6cfd63d21045713d26d521da55ea4d8efccb705f689e6dbb","impliedFormat":99},{"version":"61bb64660ee150f3ab618340e15cca0a81664801bede7c966ca0eca3a952fe63","impliedFormat":99},{"version":"42a12f2faa483c9b48195ed794d22698162274e755f6e07219c2351c4f08d732","impliedFormat":99},{"version":"ec0c42bb0f465e4993f2bc68a6ce9df9a2dcbc7b83e21748f82f1b69561938e3","impliedFormat":99},{"version":"f50ff37a9cbbe74475f426474d9827083c7c2c138a954d28f1690df338f69291","impliedFormat":99},{"version":"61fd6c17235d530c40f543dd7c40afab091d91c1ef890baeed30db6d82b04b28","impliedFormat":99},{"version":"bcbd3becd08b4515225880abea0dbfbbf0d1181ce3af8f18f72f61edbe4febfb","impliedFormat":99},{"version":"091767bc841f937654ed597d49e023ed59850355e746ae1a6f20ab31076ee1fb","impliedFormat":99},{"version":"19c6d6135af59693698d384050b45a8a049493500add442f58e4bd7c8a255ab6","impliedFormat":99},{"version":"6a0dba12d55314638a8c51108b20fe2f68f1364a619d098918bda91c22dec154","impliedFormat":99},{"version":"8124828a11be7db984fcdab052fd4ff756b18edcfa8d71118b55388176210923","impliedFormat":99},{"version":"2b39c6cf59088713babbfc3e20ee85f1375d40e66953156fa658346b8346f24f","impliedFormat":99},{"version":"69bf2422313487956e4dacf049f30cb91b34968912058d244cb19e4baa24da97","impliedFormat":99},{"version":"6987dfb4b0c4e02112cc4e548e7a77b3d9ddfeffa8c8a2db13ceac361a4567d9","impliedFormat":99},{"version":"5e2ba3d18d78aebbde1f34bde356e41e9c76eeaeaeee56a37036596a9eff4211","impliedFormat":99},{"version":"8280ae8ccc0493b32d1742d585357ab9f0a508ea050af25a5a20d64010d0a5cf","impliedFormat":99},{"version":"7adfd9f9056ecd4ae6c65fde2a98654960c662714c73f048478959d04c09e144","impliedFormat":99},{"version":"437b7613a30a2fcde463f7b707c6d5567a8823fbc51de50b8641bf5b1d126fad","impliedFormat":99},{"version":"63ea959e28c110923f495576e614fb8b36c09b6828b467b2c7cd7f03b03ccf9f","impliedFormat":99},{"version":"1601a95dbb33059fc3d12638ed2a9aecff899e339c5c0f3a0b28768866d385b4","impliedFormat":99},{"version":"56fc978580577d30f4c2cdb5b1eb9217b66ed66537dd27141256f426e4b8dd68","impliedFormat":99},{"version":"2c5413050a2580becf9d82dd7e3006b95623e96f145356bf73230cd635352f70","impliedFormat":99},{"version":"860bedc71ead192ea4a0ea5ef4686e65724d14b391ebd1a6671a7044e6bd8e15","impliedFormat":99},{"version":"7c0a845bee4a084cbb8654709f48e5f13e2f6d45e5e2dde7c57cadf79fd9e3d5","impliedFormat":99},{"version":"7fa6fdc6eeeb3850e6b3166836f8c9199594c4f4bed3cee02cac0ca33d71894d","impliedFormat":99},{"version":"e53757f3e6688e8be16b36ccbeedc85637e607353fc67ff7b6665d6005aeaa12","impliedFormat":99},{"version":"88ba2660f5b024c7afd02ea700bc0c677687e17e34f0a94c3256ddb55e0f1c5d","impliedFormat":99},{"version":"7bbff6783e96c691a41a7cf12dd5486b8166a01b0c57d071dbcfca55c9525ec4","impliedFormat":99},{"version":"f35b9394ab2ab6fa8ef96f1da7121fa35c20ff6bbbc4fc3dcd3d9939f2088778","signature":"4b96dd19fd2949d28ce80e913412b0026dc421e5bf6c31d87c7b5eb11b5753b4"},{"version":"b845876de475c230a1e012150db8d2c2a62bd6835a93e8cd23ebb10f7de16266","impliedFormat":1},{"version":"814f738579780b6de88a0c2e9d45241172f0d0e5678f88055456dc025091cb88","impliedFormat":1},{"version":"d5eb5865d4cbaa9985cc3cfb920b230cdcf3363f1e70903a08dc4baab80b0ce1","impliedFormat":1},{"version":"51ebca098538b252953b1ef83c165f25b52271bfb6049cd09d197dddd4cd43c5","impliedFormat":1},{"version":"fcc2e352acaf704cdeb56c3ac4faad61fcd1980d3b30b578e1b36cb5e473d4b6","signature":"142bd2b0d072e07e87cb7f1f7a66a5beb6ee8bcf895f1488e92dc8db1f736d69"},{"version":"0e3ac895662d6f12987ecea09aa8f12d6de2a05607503322c0655a9cbea896ff","signature":"9b0c5a4886ff14e0fc3293dbdccfc9f326219a75107ba82753bcca05b48e866a"},{"version":"c57b441e0c0a9cbdfa7d850dae1f8a387d6f81cbffbc3cd0465d530084c2417d","impliedFormat":99},{"version":"26c57c9f839e6d2048d6c25e81f805ba0ca32a28fd4d824399fd5456c9b0575b","impliedFormat":1},{"version":"2dd8be064ad2e359d5f6a2afa7d0d370002803a5a52d2ba454a5de746de0f841","signature":"e0c2dd1cd4edee2cbf542c344b9fbd146a4c62d84c44fc3e06f6341a78d19533"},{"version":"13826bddff48ed1ef0094aa1f876654713cae0273ee378cc7305238563bbf95f","signature":"99244e3b5838e153ec6be3893a3a1013511a170bfc41a3593c3b2a6ca6d3af6a"},{"version":"721724ebc3d4730552e56054973e8ea2005536558044a7a445219c4a2b2ecf2f","signature":"271893659c054640a8c33a32dcb2017c9ded19c645e55f277c03429ed025e7a2"},{"version":"577f326dca745320d546c4a52a95ad3ccbb0e8e4e601a65e550201d5071e2086","signature":"af5107e040beac673491eb5664583f900380f07a355ea66f56740d7019686e87"},{"version":"914bb038739070238d31247b0664d87e9a9cb015f1046f0c06d0043c43bea18f","signature":"066a41c25d0e8fb7fbec909c7a57178c59348c3d0532b467fe0f7e69a4a53531"},{"version":"1dea6fd481abca43b854f1186b229337c8c8f6c8a8943ea3e8f84f19fb138853","signature":"01813a9e9bc387289f8d132cc83c01c968c191b8edc8c4c65c19c3441ae7e371"},{"version":"81f6ebb2fb7b9439f7c9159d3f2ea245b872c4be9261b2dbded89a5e84ba8f1f","signature":"13fd8b255e869b5fa0affe8267e8cbdf090725b3ef4217e886b60d1e31d48167"},{"version":"9554230a35fec1689830cf0d99e2af7560f2d537062627daca3f04d7a9c1b48c","signature":"32a97c54bee6be6c662499f2470ba13ae919e3ecef466647a75750b12545dceb"},{"version":"78e473a9351602aabc4fe438609772dd9b434445554dcf66ac4a5ddf0dc45f38","signature":"c60a0077296cbd78aa2f9594148baea0efadc4b96e3a6478dafc79d5867f3284"},{"version":"1f9cc2df4b0ea9bd8d4f52ebe786a8fd9354cec753e602b9716a19f6de124fd6","signature":"3fd8a8e3dd63e2a4b747baf6e9a31877e54672250d090469d6eb4d8cbede770a"},{"version":"1f2c9a068d63f3231019cb46ffbcaa7a970616b4b69116ef048b26014ee81c92","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0649c12dc6656b855f8bad3c7a062839c8826b7d267af21998edbbf5af1c57d8","signature":"48161c0abcd84f1b26644bb1ca002ea156c9cd02e706e1dd475c9b3231239b1c"},{"version":"c52e3c4d819a8dd20dc28d4152e736a84dd2c9975db92c9c028a6bca06e3d7de","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"adc710c8f13b6a1b22ee70c9486a1ac50b06c1944def32707c5062a8a40e40f5","signature":"6168268066858f4fafb56fc41eb0b1af0de626ce9531395f19a2735566fb85c2"},{"version":"a4e112bb9e88ed09332d19f96d1a132a98373367834c2a4be65dad0bbafb0705","signature":"1a0bcf03b00e07828f5e872fdbaab220709fa2688da57ce13b50932ecb1f3293"},{"version":"08c160c9ee99f01cbab81f6cb2b58dd761268deb4ab6da3b3decfeb41a82641b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"58b0cb42e21ec1cb34f0538410ccf3c61d9a3a04a0da52ba7b2e004b002c6f81","signature":"d35d1ff3014e736cdc9b149e8ed1cbbb18e18e445ed6474da610be28acd57a0b"},{"version":"d7f3f75c5c554302b87f6003d105bafd07bdc872e87aa944f76c0b51189a0f40","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e1272b30f014037900795addf0939d1ce07b007011197faf38801c1610adeda3","signature":"0b6de03966b8ded6ef56c822097d233ece4783beca4e8782434e2a0927a8ee63"},{"version":"16ae8bdc1bcdc8056515e5c4d00538113e2797fd473468c3c2793a4172b18ae4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"7cc4c2c27c160662136352203731c195623bcf35b99959d36e8f04cf3e8532f7","signature":"c9ea8ea67a409de77c0e2fce372e3771c36bff087f636609e2107be709217b07"},{"version":"f17484eb748b174e1a7d3c0c35dd1a4e0b3f7d1adcc76d8bff009f7485d05706","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"91e9e422f6ed78ee4fe3645e0b0328307a1db432fb93f7c22af91c1425afc91c","signature":"f5e4dfa32980b7fed9214685625164b5e8f788d1de807fa4a06d5b3b59aa694c"},{"version":"6e9ac8cabbd6f21f80171e11f28e5af2103c249476d8d265a7d23c78479e564f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b1f4b0d7b6352c729d9ade29c7f1ac55b7b44baf180fb6c14b21b24c17c20388","signature":"7557d7d75c45d107500f7dbc0112ae4c5022535cb724cb5fbdc27bee4128de1e"},{"version":"6679c8b2c0ef6f2b9427c0038d1f2bee69b6de6dab24e578ef58b51cd1d52be9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"15259d746bd936940b342dfe479443759f11c2b9d8b41459dd02684e6c410d2a","signature":"e445c525a623a48759e0e46bd5daac5dfeb8ede67c5fd1df85fc6e326bfdd01f"},{"version":"3a4b7796803f1ec612e8937fee46be4e48d53846ce338606567d7a783892cb5f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0340f5162637c4aa4d42a9f492f2d02ebe34179119276e7c92f3d331d3387afa","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b07f64ff6ec710998a62b07377fbda0ab4c313ba1f0055bfe9faa22cffedd47c","impliedFormat":1},{"version":"ddc4b1f1617c1a91983d9cecb50fbf0ad840d3079ad67c6db66c6afd0827ce4b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"cb4e23f9522e57ef260848fbd6e4124b0ef3b2e61c76e3172e6f921f432d09b4","signature":"1a875976a051a5abd4ddcab5f650ca40c75b9280f4a5c1ba5b3b67a59ff62620"},{"version":"3a0ebef3ee6b11fd0d2a292b9e846664ad183cd36748b431e174985b367a6b7e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b728abb6b5a6493a49c4121f93d2db90dbda28d74ea2be77305de5cd43f4fb94","signature":"3661a28309bb6fce50e17773f139dcf1d3cbd7e9c544486f24c34f19e4b208aa"},{"version":"7b89e69ad5fb02f0c55aeb1ce68219ecc9d85db336aaa577e86662c7863097fa","signature":"8a17a975523784d8861bc406b3897ceeba2cf5cc2014b5d8e6a119c03a51e4f1"},{"version":"764aff335275defef023dda5112961e653685accaf39ccddfb8cb2d746023430","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"8426e1a7c34c1af0ee0f89a776af116e68ce5527dafe99e71070503ce1e5c75d","signature":"eb80255ca14f1330ff1a361901a02d0bbd7b48c87b0c20ab90b341206922a0b5"},{"version":"a294ed8ec9a9921f697afef1a031cb1901c0a7d459b55a98e71f95ed4943a4ba","signature":"dc58e6afeb974a2a055366dec38054cce2b00d5716aafaf329267b4e32949538"},{"version":"e16767aabcef24ff02b3c229de4e6839ce206bf9d84eee9d3b6185cf33c31ac9","signature":"4ffc694a13cfb6aa43e3926e1d8e05ded8727af2e95835063c1d98e75c5d7ad6"},{"version":"e67ccb5aa3e56a52e853e4bb2acd1ae036a7a39748e5d46469b504c609f3150c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ef52b983c108a10854a26ee467a86c9b5f87024563d48defe3b0e8f4a1af4a51","impliedFormat":99},{"version":"a380cd0a371b5b344c2f679a932593f02445571f9de0014bdf013dddf2a77376","impliedFormat":99},{"version":"dbbcd13911daafc1554acc17dad18ab92f91b5b8f084c6c4370cb8c60520c3b6","impliedFormat":99},{"version":"9c06dd902f40b340b062fff14d3ef579b67c65007fbaba56497422a21e2e5911","impliedFormat":99},{"version":"b026daf5c00c8f2abdb49008322a7d51fbadcd7b200a99ee7a4452dbd40f0420","impliedFormat":99},{"version":"e130a73d7e1e34953b1964c17c218fd14fccd1df6f15f111352b0d53291311bb","impliedFormat":99},{"version":"4ddecad872558e2b3df434ef0b01114d245e7a18a86afa6e7b5c68e75f9b8f76","impliedFormat":99},{"version":"924e513606180beab310a21ece1fe85dc3f1cc159bd894861b01bbe46764d7ca","impliedFormat":99},{"version":"270ceb915b1304c042b6799de28ff212cfa4baf06900d3a8bc4b79f62f00c8a7","impliedFormat":99},{"version":"1b3174ea6e3b4ae157c88eb28bf8e6d67f044edc9c552daf5488628fd8e5be97","impliedFormat":99},{"version":"6564db88fa4cf3bae5c8e0de01c701c6228eaeef1118b4ad6a49a8aaf8556350","impliedFormat":99},{"version":"9c5a4a21ed5686b2ea080557488b966c3aeea641ef1aa8975a10e5fc59dd569f","impliedFormat":99},{"version":"5585ed538922e2e58655218652dcb262f08afa902f26f490cdec4967887ac31a","impliedFormat":99},{"version":"b46de7238d9d2243b27a21797e4772ba91465caae9c31f21dc43748dc9de9cd0","impliedFormat":99},{"version":"625fdbce788630c62f793cb6c80e0072ce0b8bf1d4d0a9922430671164371e0b","impliedFormat":99},{"version":"b6790300d245377671c085e76e9ef359b3cbba6821b913d6ce6b2739d00b9fb1","impliedFormat":99},{"version":"c92c9dc7415bf7969931ac5339f21c65687909b32d05ac89789b411372e52991","impliedFormat":99},{"version":"a36c717362d06d76e7332d9c1d2744c2c5e4b4a5da6218ef7b4a299a62d23a6d","impliedFormat":99},{"version":"a61f8455fd21cec75a8288cd761f5bcc72441848841eb64aa09569e9d8929ff0","impliedFormat":99},{"version":"b135437aa8444e851e10cb514b4a73141813e0adcfcc06d702df6aa0fd922587","impliedFormat":99},{"version":"cc82fa360f22d73b4cc7f446d08ad52b11f5aba66aa04b1ed8feb11a509e8aff","impliedFormat":99},{"version":"466e7296272b827c55b53a7858502de733733558966e2e3a7cc78274e930210a","impliedFormat":99},{"version":"364a5c527037fdd7d494ab0a97f510d3ceda30b8a4bc598b490c135f959ff3c6","impliedFormat":99},{"version":"f198de1cd91b94acc7f4d72cbccc11abadb1570bedc4ede174810e1f6985e06e","impliedFormat":99},{"version":"83d2dab980f2d1a2fe333f0001de8f42c831a438159d47b77c686ae405891b7f","impliedFormat":99},{"version":"ca369bcbdafc423d1a9dccd69de98044534900ff8236d2dd970b52438afb5355","impliedFormat":99},{"version":"5b90280e84e8eba347caaefc18210de3ce6ac176f5e82705a28e7f497dcc8689","impliedFormat":99},{"version":"34e2f00467aa6f46c1d7955f8d57bffb48ccc6ad2bbc847d0b1ccef1d55a9c3c","impliedFormat":99},{"version":"f09dfae4ff5f84c1341d74208e9b442659c32d039e9d27c09f79a203755e953d","impliedFormat":99},{"version":"e7878d8cd1fd0d0f1c55dcd8f5539f4c22e44993852f588dd194bd666b230727","impliedFormat":99},{"version":"0d22b18cb407b03331edf3413b93e568da71130c906fd69911090df2abf55414","impliedFormat":99},{"version":"c9c7c7a002564778f4b06ee408fdcebbd5c45b362c878ed7585d0252040f318e","signature":"190bc31e887d3b57e4ca3edd393ae4ce43f513309f8b20180acaf36ace8d81e4"},{"version":"5ebbb52830de5ecef0bf1196782f5df8352b93995fba66d326708c9c3ebe457e","signature":"9e280703beb5208a50a713b707389aa9a5dcd8b4169ff3435978e94454168ccb"},{"version":"d06a7ad2fdcc78708fcc06db94613bc2d67a712cd29fd706184ced33308bc72c","signature":"1a5909e33923f02624823f353313584b1050af3027d538fe151f15c1e42c1f7c"},{"version":"6aba454dd2d0c94c81df6e5c0af2533fd5d45740a831371e543118b2fb8f1b2f","signature":"06ce51799ccf19481c5b39b73da2ec73def1505c566ff45ca47f4278a2cc3c10"},{"version":"40aa85154cdfa87db587e2c844df7c097e9684f58726924ba9c52848ca0e7ef3","signature":"6d68038bc09cdceb810eac785b2697f2ef4cf3208ef3b3fc463c6405c9f7345b"},{"version":"b08e11b7dcf58480156b728d8138a8091c74831d14cf6641c6adfd703ea8336f","signature":"4a9b9d1b8b3bb30310a53d633ceeeb9cb5cfde62bf1d2a472fb606f91d16af14"},{"version":"329c157e4f6e03d2ac6bb7162c045e53180b5a4e8c90c8222025e0e8522d1d43","signature":"74321132794820662d1fd69daf5b070389e94f9d7d9d336a244ea48f50130e55"},{"version":"f00b58c4fbc967b9f289beb51e81804cc4fd32814cd595e66cbeb121cc474568","signature":"4da0e3b59a6b945fc599ee7fb4b3f99fb87f4f2ba2cd3ca9c6ddc65b421aa21b"},{"version":"3daee58b19e82dff31eaa60420bc24e4640247672a58c4cf75635dd92db8b4f0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4ffba3c5848b4fe62ee59b754fd5f256ad9656a0db6d37b9a2a8cb40dfc7ac21","impliedFormat":99},{"version":"c76c02846ba7d40b9b3488f0e8d75d02cbdee2f0bc5fcd55dd3bd2e1457646ea","impliedFormat":99},{"version":"32b35cf0dc3a1b1a7118b61c34ce2ad1a29695851679f9ec34e0776f2ece2a69","impliedFormat":99},{"version":"b413fbc6658fe2774f8bf9a15cf4c53e586fc38a2d5256b3b9647da242c14389","impliedFormat":99},{"version":"59e5e964b84fdb2378e9455e4e59405030e4ed2b4c6f891ce395f17796af3cbb","impliedFormat":99},{"version":"dd51e53752b310bd20c9b1a87bbf12b1fe2be7fe40f505b43199496481096275","impliedFormat":1},{"version":"a87be4662442b3feeffc331ecafe6b36cafd08727e2d7f2425a5099577e7fd18","impliedFormat":1},{"version":"cd4cd9220a1ba793bc935e76d8e5481c110a90d9868ae7866a182ee71cdb6abb","impliedFormat":1},{"version":"0a7fb8619b10bc05fd933ca9ac1c8b2ab2220be7a57b57565c3ac158595494ef","impliedFormat":1},{"version":"c4a5f91feb9c5a6b2a91089d959c38391b79a961db3b9cc73b8877d57ad7dcdc","impliedFormat":1},{"version":"90ba95a763101bb61b8a799731a2ed60b5016b8135c1a2d5186862d4b534d4a1","impliedFormat":99},{"version":"3f9a59292f0f47b458d6b228652c675b5c1aeb7adccb99d1ec9ed0bb2b3b328d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c435659e451c271fc23fe39edc4d8b520b8cd74685316ea20d9fe40e406f80c1","signature":"f99709f13b0a7ca6adad14919a8adc5f4d16c786eccc5e75bc436468249f50ad"},{"version":"b0298d7990f250660f2ff2ec30c387e6088a52f949753f4b1c208eeae8d9968f","signature":"5f5303388c23daf221df682ba0e6ed13924ad3a925fae5ec71f4cdfb6adf1b79"},{"version":"3f57545676f1fe83033455f5158781bfa6e9a9a0c1839777974cae9b414ef381","signature":"a2d6b0579d4d2be4674823db4a6f1f14c44545efdac8bdba750fb33a0f53002f"},{"version":"52d4e2d57a560cdaa95111fd49d1d14d7f75f79270396b96ca4d3cf89baae35f","signature":"b870bb15e6753ecf295676777249a7dd19c271f1440e21b8d23e4bdf3917856e"},{"version":"f5cd26776cacb2b61f948d316ea9bc2ec07ba9cecaaab8f99d601b1214025946","signature":"1ba1f985850caa2082576a7c2ae2728fcce67001889cd6328c32a4ae4b2942fa"},{"version":"a20646b7df596f9f3d2614126f246574f6235a4049b0414793e7fc2297df110e","signature":"3459d2cb97efe699d09232e3541f87014cb29f53388a2256abc7d3ace9215625"},{"version":"68b248dbff87c4b674ab305bac7acd36c3d7813d5c59f9ff8edbd221bc09e086","signature":"a56cfed91ea3dbb5ca46cd7f3d8b45316f2e6a1f4132af29fdc5b9819b5406ee"},{"version":"590c2b76de73c03c5d75514961c0cf03603f2f7521b8e6ba1416382cd911eb59","signature":"dccc4e870657cace175fef718ab32cc0b190e03b86b75849e472c7363d6189c6"},{"version":"af42845e21c931b71769ac80bac96c3246d37b9eb15b3440e7e284cd6b8ed300","signature":"7e331b20786c105d557a28d787b73feff36caafe86eede29ce76552b86f07d56"},{"version":"ab100d5ba3017771f9ca889661f40ed03507021a7b7ccf30fd49e494ddba158a","signature":"7e331b20786c105d557a28d787b73feff36caafe86eede29ce76552b86f07d56"},{"version":"e20135f01c270e423a3a0ecd925ddf43a09aa9b43f988077a61917b4c37b1b2b","signature":"f9530fac67df325ddd89005afc271ba4f78634d66a3b6acc49cffcc87f450c25"},{"version":"c569e80986c2db1274bd5581fde40c556f3b8f39e76c36c6c0daf08c654d1a4f","signature":"e3342a501a3721852fa2bf8f71a1ef77691745608d3380588140d8290746c0dc"},{"version":"529e8d544daef015d9b7e08f3327f487ff5c1fdc9ae00969b90fe6d7f662c410","impliedFormat":99},{"version":"32d72e24ec52676fbd422d6109ba2e7326f8cb0ae09d62433609994d772b1218","impliedFormat":99},{"version":"e94825a54ccc0d3ee220d8194d3871735a633bc9840af4c228b90572ec8f9bca","impliedFormat":99},{"version":"ed5ac3ea851a0e455e615a7c926d3cda913d4171337486950069b9c2fb6db907","impliedFormat":99},{"version":"97c9b25718cea0d37894c5dd9f7e7fff4f8bcbc56ca3bba011c074560be291f1","impliedFormat":99},{"version":"abfdbcd2e417125d1b38209aa079bfec08b42611feedaebf29be8676e74c43cc","impliedFormat":99},{"version":"6d7a5d9f2190bd6d5086a130b3ef5231d7bc8a3d923133628544b265611a3afc","impliedFormat":99},{"version":"403e455c8e79b78dd1884e79d6c6aa77cd0eb8a500ad26a39c03ecccc96187d8","impliedFormat":99},{"version":"7debb6b27ee0e7383618739a56fd13d9332d58a97eb1001f57ec2d4c1f133536","impliedFormat":99},{"version":"828968bfd8325c1e6b427043673be3aee122dd5125ea5ff3adcdb56cb62ac202","impliedFormat":99},{"version":"29862235bb48e3e8892a5e95aa464810a6c0282ca549f4c0f65cc2329c4ed90a","impliedFormat":99},{"version":"f865992ea8a69f28d58dd1c276d5721df7fd32acb1baac46ee9f2ab1b4ac7148","impliedFormat":99},{"version":"3ec9cc0d5ff3509a3800802248b56f72d0bd4ddbbf4ced7238ced162f6792bf9","impliedFormat":99},{"version":"b09e328891c9b6c1e363a0dabc2b7e9bbab7ce95f4c1a42e3ebc1cb957aebe2e","impliedFormat":99},{"version":"9989a9063fc9c82bc1c1d1fc3363b90a2e9874f625d044dcc2f726b4ac0eff74","impliedFormat":99},{"version":"a861ffb4131dc6c01a9918b0c2d9eb907963a363019c8cf8441c195cc7271eb3","impliedFormat":99},{"version":"7dbfd2dc59802603b4d9d9cd35bfa777da1cd030ffc78f618701772d70c44d7a","impliedFormat":99},{"version":"5c62f873da6df6521abedd307fc544d6736d04604ae168233a63e4ee38ddce51","impliedFormat":99},{"version":"441d1761b0cdea56381964395929a7dc78cc8294f07550a4a7cbd7a471982d49","impliedFormat":99},{"version":"0a5ea01b61f08bb7fe4aee10e148a43bd63cd09c0e48c80c81853a31c63e81f1","impliedFormat":99},{"version":"0765436722d07c50dd64a72cb2ca2b828ae4d8b6c58cce1c7d69b16ed69b911f","impliedFormat":99},{"version":"a99b58cde0c933aafa9a6d539796dd39a2b6faa5868b9329611b7820e4813ed2","impliedFormat":99},{"version":"b70468dd5cce06b4500b9c744b46645bb0810bbb3f16d6f6d8a6ba099d3e3db3","impliedFormat":99},{"version":"fcad406a5312d678f0e3d9ce37e175fc3108075dda7507b33de434d815db8c3a","impliedFormat":99},{"version":"637470d7618d80acc44ce21720e911b1956fb8f35fcd7c29fca8b676569257fd","impliedFormat":99},{"version":"bbc35778ba8327cc2595d22a0492b38a4f5a23c156fe83a4f6c16e16d771a80d","impliedFormat":99},{"version":"1bf505b116e5c3adb7a621d3177726ec218b39b6fbb343a5ca9131bb4c4e4a2e","impliedFormat":99},{"version":"0d40d64f4e5b821a820ca61cd3338fed6feaea4734081098ab99bf8b22b7a558","impliedFormat":99},{"version":"f8f793150b733a84ba31dc32b764f914c2b9f7ba3da22392c8700729556311de","impliedFormat":99},{"version":"45a86d3d3cb4c51d3ef64d2e0f5551ed913ab36f5a522a1e683859b963b20864","impliedFormat":99},{"version":"1e5ac74ec58a751a57547db79f5d0c7f55de7103b3cd608df9b865f1c20e6ec0","impliedFormat":99},{"version":"fa31117b2f9329bcbaa72c5be895a75b74c1a4d8f2c3d2efe5483679e3e21e34","impliedFormat":99},{"version":"b784c2ceea6c1279bff4ab353e5a5c5b358fde3c734fdecf85cc1db5cb44c93d","impliedFormat":99},{"version":"c08fb9233e497eb092616e3081963b6dd70103bba3ff633c072d6d944eae134e","impliedFormat":99},{"version":"22ca8010367254aeee193d066acb7beba74fcb28c8e197bc4a4b4e4a6c3cbd54","impliedFormat":99},{"version":"36623fa5d097e9cfd56c9e12174d4d597f11946e8a1768441aada243dd2c6ad8","impliedFormat":99},{"version":"8dc7ed869ebc983e11a1efd9b696c863b51d6546d225d7b22ae86a892bfb75cb","impliedFormat":99},{"version":"44eac542e0103f7afded458f607f26a7f3c2ddaf8214fb417955e76158f843f9","impliedFormat":99},{"version":"0e5bf871c5afa81fd718a5b276f6a7670846ed459db52fa477267d6b9584e5d8","impliedFormat":99},{"version":"cb816d30908c10eac8d05be80c6f57eddc311deb8fb7e67f712d72445e36562e","impliedFormat":99},{"version":"a4965dec5a8d5a1bd151f788d8e1e2300c4314907adc4b70e205df9bf1de1846","impliedFormat":99},{"version":"757b25663615b67539b212022e464ab8738fe9584798abd2f1dfee3ae2bed28a","impliedFormat":99},{"version":"02978cce808e17ec86ca7f339aaf18665f59122fa99788c07f58f3d0242d7458","impliedFormat":99},{"version":"58e0c95210443e453ee55336f21bb03e770430bd19722041a77a2e86fc73df95","impliedFormat":99},{"version":"3217478b66cbc150f70691f22995b9f47d37706a904299a00cb293f8bed70a5b","impliedFormat":99},{"version":"aba7430768196c0d2dda6ad7660d4bd1ce5abb9394d5ec506fddf897cd055c17","impliedFormat":99},{"version":"ee866da8002c997f01f44fea43acb5289d41b63dbeafab73989ea94bc24284b8","impliedFormat":99},{"version":"bdf8e7a5231d55fb3d4e630c0b278b07a340858bef4bd92aa8688ab17aae26a2","impliedFormat":99},{"version":"4d0d48b4534a83b374888c23427400974ad8e61c7d0e20c8b6e9f1ee1bc7a264","impliedFormat":99},{"version":"c89ecda51758810cde711384913cef5a52a609b120f7ff5b1b158781e8ef4a8c","impliedFormat":99},{"version":"24c42aeeb11009fb88b3dcd9e1f3712794f470b9455f3a0c088582c77c59e1af","impliedFormat":99},{"version":"4771b79f499e7e11ea5fb73b3f0c753e3a581ab3979ff79ef11f557598648ad4","impliedFormat":99},{"version":"686a8e7fccdc6134d9cda4c086dbdbd47c39e6d61283f799fa59926df1fc9cc3","impliedFormat":99},{"version":"b7406c56308e89d5b252d086c59dd576649a90a6df3d6e902898794fb39068a2","impliedFormat":99},{"version":"085eb3daaaa37b9fc38e714066405e6d07c2daf49dd7c1675e51b35c43183b43","impliedFormat":99},{"version":"c41ebe0a43da393b746ae9ff7e614cca4f2429de76f08f5a1d722f49ad1874d4","impliedFormat":99},{"version":"d9fadd424e1e942f0bd948b93b98daf5f64db718fd51a2e63abea12a6b592179","impliedFormat":99},{"version":"485f3bc3d532f74a54b2a8ef285e4c367cbc6e97a41d76a5f2f3e25ee4c30f9c","impliedFormat":99},{"version":"54e9f026eb79d1b19176166ad9a8e087983fcb5deba42b7bde3f869093382693","impliedFormat":99},{"version":"d91e9adbac77e36164dc1ae518de21c45e6250086669a68768752029fb14f8cb","impliedFormat":99},{"version":"816caf3469d8486812807a1eecf3b2bff4fa654abbbf07a97c4f553819ec5106","impliedFormat":99},{"version":"5474a2ddb1d1509609b4d0b6ca5efc3659001a41b499952e9e80dec94b83a324","impliedFormat":99},{"version":"9cbb71f9d9c5ca7817fafee5714930de62d5bd9e935415733dcb41058ffbd95b","impliedFormat":99},{"version":"3240b3195a4a6f07397873c3d3d781d6bdac6daffef7d0e9404df25696b83821","impliedFormat":99},{"version":"8f15effea4aaabc51743128521875aba6e565e414f6d7d3311b8c2d2578e18a4","impliedFormat":99},{"version":"bd03a8a341fd6c86470267cdb4ffad025d1e31e2930c7b1b99cea0ea8ab1104c","impliedFormat":99},{"version":"dd393055b0154d9a66dc722e51fbfa4e147c86d2d0e8e289516eaabdde558057","impliedFormat":99},{"version":"f0c704f2d6e9a1c1af817d64c475e3060a6b61bdfe839b5d2080ea9305f09887","impliedFormat":99},{"version":"ba4471d25a0c25e54f245fbf35359e420fcd148594041a984ed021ac12c515c9","impliedFormat":99},{"version":"7ecccd7c8eb4c52bccfb5e30db1a681e6df544ffdb2e23c565b0e2765fa0c5bc","impliedFormat":99},{"version":"814ff646ef9d7ec28c867d20acdb6ab2ecc2e7620c4f06c8f5412c83e3518e7e","impliedFormat":99},{"version":"361753ee88631c6d574eceef6db3a2b73424517609fb289b37ee2b2f44762a3c","impliedFormat":99},{"version":"79dcfe755d32c5fb77051770d6b4d2b693dee0989d130e6dff14c7f655f97905","impliedFormat":99},{"version":"5f95099d59b083dee76d572422c8024ef6fd0d6c4dea3aaf4bd722385e113efa","impliedFormat":99},{"version":"e220fb4bed90fbfa989802ceeb8750d121f5c16ccb878959c601a54334a4cdbc","impliedFormat":99},{"version":"f673abb24aaa4a63c541eef767d22e443799ddc5ab30a2269d646682a4946394","impliedFormat":99},{"version":"0c1d42ef8bcac5f74e1113e96712f5fded4971c452911263db62d98f9f51cb82","impliedFormat":99},{"version":"b67ec1a98713742f49348d7ca2368e7ba20f5b6395bc96afdb96e99347321366","impliedFormat":99},{"version":"f0ca722c0c74e4ac885706e69e65291f8947ac5e7fae8df529cf70248bcee262","impliedFormat":99},{"version":"a90c4ed5b632a156a7682988502d5bfefc4048ff4c41d0fa505badc0c3892545","impliedFormat":99},{"version":"376eef489231c1d626a6f24d89c1029d907ad7918c0a7191419ee6be69cf90ab","impliedFormat":99},{"version":"84a68486a1e143e34a165bdc64707e74d33118a1c6adde37591223503d4e8870","impliedFormat":99},{"version":"71d6cca9ebf54d9b498f684827c00002b1cead83eb441356d49d4ce1c9759301","impliedFormat":99},{"version":"9d69a63f8f1291547b0cca886f411ee81409a4c4ed11b30f3ca0d62b2c7d011f","impliedFormat":99},{"version":"e56c9d974fc0576b8dc0828175ae02b2586a71662290ecfb7fce0b674e66ab8a","impliedFormat":99},{"version":"cc0af6c56da3ab10ddac0b3c805d652bf0521be6b04f83afb9baa4df1415b313","impliedFormat":99},{"version":"b7aeb363b1649acac16d5b469685e2a067ff4dc8b0b2125bca941dbb6d63e7c0","impliedFormat":99},{"version":"b59a03bf860b1a674b58e831293ce1e2e24ed82d99740aa72e6a11040da9f01c","impliedFormat":99},{"version":"a677ed4d34f7277672e6900be1a0f6d9a58c918ae8a27049b3371828beb8ca47","impliedFormat":99},{"version":"c700c12ca238ac0353519457fba7f7778435d63774ed7dd92877923d7096dde3","impliedFormat":99},{"version":"0192e23340ffd7728fdb1afe9467bd9ff5b9781a7f4db7e887b35ca3530f97f7","impliedFormat":99},{"version":"bc740847a63f5ec6966b84b463b6cf01a991cc12c44bfe0348ea6a81cd19b35b","impliedFormat":99},{"version":"27a2f50f54467594bb1e868224a8797388708742d44b3145fbbc3320a6c8b094","impliedFormat":99},{"version":"56e8d4cd2453b11cb2c618d1b9bbc38b8bcb70eccf7e27e3623a29928dfb1ca1","impliedFormat":99},{"version":"067917a51b18cbea081c237c1c40797c597e8aea855ed9b6916f5a9550ecc002","impliedFormat":99},{"version":"732a8272b91add5d02f8edf9b11a8b415ad2cda5ccba60117cbbe47e9058a6e8","impliedFormat":99},{"version":"5a72a1a08a5a56f38b2ef6a39dd31c59e0e9ba59c7d480dbdec8cac0c3d2c9c5","impliedFormat":99},{"version":"41dc9805e5387625abb6466f9dad47048aab6cfc4a49885a17a65e662ca6d055","impliedFormat":99},{"version":"aa39ccd035dcf30f31ae0cd380e4d9e265c24e4e0914cd2e7862a392d74314b3","impliedFormat":99},{"version":"fde1d645673ad1273c0a347e97528e7830f4877c1fc58966a4a7ff386977aaac","impliedFormat":99},{"version":"aed8029500a40d0b604a1925f0ad677e9b2319a95afbf38168689c5a771389af","impliedFormat":99},{"version":"41931e7f38f9d140b01f98af2234df54cd48e640012fc7ec781e8d49bef24ba5","impliedFormat":99},{"version":"07703ad6a4d604ff6e9c5174012622f7c50e6fe9bb5887cce185a526809f4dad","impliedFormat":99},{"version":"55a07d10fbddbe53638a77ffa085849a50af65edf8eb670a33d5be8b9ee25fd5","impliedFormat":99},{"version":"5d2bd3f265e2d9f1f7dd2d465e64a0c418d0b0bd5673f6dcf5ab5b0709946ae9","impliedFormat":99},{"version":"b9c289167bc15bfbd04b01165d9ba6794ff9c633d72d7da8b990d359ca8d7e2b","impliedFormat":99},{"version":"10259f5668f1fa9f2a97a74015d9afb5dd15cc8c66f5fe49a399fca55c5f1dad","impliedFormat":99},{"version":"feaeadcfe3c44fbf3dd427110db8adf8cefe45dffde44c5ba6a743e15b39a366","impliedFormat":99},{"version":"6944a8f65e43f69e025dd6c9c9c812d34be4544ea9bc7b7c02a5b7ba2f558d84","impliedFormat":99},{"version":"eb2e01c778bf6a3f486afd2d7dcfaf901026934f05a1f3454711689ca48424d8","impliedFormat":99},{"version":"e26d86344fd4cc53836775c5e0674700d69d5015079e8c98f13cebaa944c9315","impliedFormat":99},{"version":"402aa7b07284961beb87aa330ab30f60b3b9d378640a5a451f20555bec349ee0","impliedFormat":99},{"version":"c9725424318766a173194979413b408a807a0a5714cd69e5e51b520bde2c52b8","impliedFormat":99},{"version":"c57697d3e7e7fbb325ceeee238cb5a8876ed8e471f678d280069e164da4c5c1e","impliedFormat":99},{"version":"9764aef246ae9c1f9a5e4993df2ca338fa2c1431fccb4da88c197782e74e2b5e","impliedFormat":99},{"version":"752de46112146307379db6263890bf0a48c47f87a33335fabf53543e246e60d9","impliedFormat":99},{"version":"d9e55de2e36ed1d789753b2890ead19a590406c934bf15f5c7ea43ce6fa78ac6","impliedFormat":99},{"version":"06b7ca3e1c5036f619676330c1f754b1fcab751bbf42edce96bf1819cb6986b4","impliedFormat":99},{"version":"06829e5eed0e849a8252349f72b39b0a64ab0d74e07512c567c2ac7c3fe24bff","impliedFormat":99},{"version":"2ea629a5a83f71f726649dcf0a159a11ae1f552ad7b443b2a0b8fa3340246be2","impliedFormat":99},{"version":"f7eb2e49492915c67a813d1789fed2855319e7e13dd2d55e6efb7aae421abeb9","impliedFormat":99},{"version":"0f2039589483249286cd2e42e8c75e5ecb0bd9ee85ca8e895a157ee3238df634","impliedFormat":99},{"version":"29d02be45ca6a4a3e5ff116d005bc3c8b0349cc855ab0451cebff02858c5dc2a","impliedFormat":99},{"version":"ee1a2bbd2002638a9625fd7fba1ab1e183559bfb68146f571ed7e4f4cf72d009","impliedFormat":99},{"version":"6ec96e6005ceaa870aedd4a2f0ad6e1a9e96982ac3b50de05bf3495abf0a8869","impliedFormat":99},{"version":"c7741d898b0bbb21e03d0b8b12bf5baffe664c862b4d4425c998cc6b7a990705","impliedFormat":99},{"version":"de15f01052140852a9f9d141338c464af482c450db75a081ac78a8fb632609b6","impliedFormat":99},{"version":"c28401f7e250fd756718138e83679c06f35f105e48992e65eb0ae86e191637cb","impliedFormat":99},{"version":"f8019962e492f57c915e7715175929fd357d97e4c01568de0c1babecccee6113","impliedFormat":99},{"version":"dc0843ab204253271a7a4c2f9257a82fa9cb453060f7b60c1b788bfde473d0e0","impliedFormat":99},{"version":"6c3393492c9dd87bdc15e1be2b2120bb163f0cc4be2930f86054efec8b6d3fd3","impliedFormat":99},{"version":"54dfbe8c796abd6d65e478bd791ea7b84085bdd23ead6dd0991ebeb824e6b806","impliedFormat":99},{"version":"9eaac18db6d588dd1202bbac766dab1d7561f33253fbac9b5d503787d9ea451d","impliedFormat":99},{"version":"fbf4f337d8cee2619f24317ad5abfc2015b8006fbef668d7fac5e919033be975","impliedFormat":99},{"version":"86ebb0cdb36cc752597ae8d300148180d8eec489f6025ea5911fa2cbecece081","impliedFormat":99},{"version":"727a4bf89e28dc475c5f9316eece04b14a4b6b9ab277834364239e2f1d2cd9f7","impliedFormat":99},{"version":"4f77f53ffc88fc4afd8f89559f6ebc7c78eb96c3cb6d321b37f398a7a7c911be","impliedFormat":99},{"version":"2fb26f7701fbd742c355cc65f5bdd11a1700d0c34c72b9dc16550016a2fcc3a5","impliedFormat":99},{"version":"aa59534cf8e215f3ed236dafec9353ebd11037bb5b908837825b098f7d364a1c","impliedFormat":99},{"version":"394d1bd06ac39d580db73938e084b22a832381cbcec002715a7119a4b8d2a692","impliedFormat":99},{"version":"a2d8025ac4f51cb494dba9d65b3be176b3eb297bd174cbcb856a2a76eb0df874","impliedFormat":99},{"version":"4cc3862ec78e9b7783f567742f47dd6d6838e646708a512a11b8d27aa9c74130","impliedFormat":99},{"version":"010ba8a40f13ea3f55af47072d1937a6daedbffccc5c507b8cfb33ed45f1e815","impliedFormat":99},{"version":"116c79190f08958c32c45a4f72fdcdf58df72416b32b1d54d6947b13c850201c","impliedFormat":99},{"version":"08ded000262ff0a2ad5d3ef95a0dd90e9505e08bea7ee8e18dc8fccba1bce55a","impliedFormat":99},{"version":"c3e2dbf9a763326f9e03744ead8e07cbd118d52b40813100aa2b716f158606e4","impliedFormat":99},{"version":"51dacfdf9476eca7002cb3a75089dd4fed37c0027abbf3380214119a9aa62fe4","impliedFormat":99},{"version":"050a0677931689dcaa7cd72dec5144256a8e8662e07c313479e7b09471dd8d7a","impliedFormat":99},{"version":"b19c40d229c131754b22173023b333ac2fbaa9317b0a8348ea97dbc7ddf5da75","impliedFormat":99},{"version":"5681612b1dc37cf330b971d4f1f77fc48cbadc18c654f34e1a0416a99fa2c709","impliedFormat":99},{"version":"903c5c6df619e2b85d3bbc7dd881ce90b415b90b7bd4674d025606f1c962f54a","impliedFormat":99},{"version":"46603c02eb1cb18f3be9886a8c04f3162c5e4c1fb7912f04caf80c2109e1e89f","impliedFormat":99},{"version":"bd677fa2528eea20a8b71aaa62f64cf2610c2b3541239da69b41a92c44813111","impliedFormat":99},{"version":"25247edf0256bf357d25178d3e46d90e5199684e4fc7837886d40aba90022b64","impliedFormat":99},{"version":"3106b775494342e60566941c9dd32bcd3380179bf525edf6626da1ddcbcd3632","impliedFormat":99},{"version":"74d3d469b1cecb5dafd09afafaf2829b05bd3a219bc88f19458d3768b07a7e2b","impliedFormat":99},{"version":"e3b15eeed6240702c063be50ce8e933856ae72c1814ae4d36c62f97f288054ee","impliedFormat":99},{"version":"8fa64844cb79114ad676e59db56a5e903c5c43b84ede7e8af3622ab6014f8fe8","impliedFormat":99},{"version":"bc91699dd47e0414a62fbd5df0362f0868bbdc360b189085ca65f271123186c7","impliedFormat":99},{"version":"7283ac5c7df6620f505cf6a64d92b0fb3a6eceac0764c6b3550969b98519a705","impliedFormat":99},{"version":"fdbc4014159458cfcd72a8c3e221e6e21cc44bdc5f670e667acb7ce56bfb8da9","impliedFormat":99},{"version":"941a69d94e5e072ecce094c833ab59434256271361509f4960af1f009aa430b7","impliedFormat":99},{"version":"fc5145b9186234bd41a03b93cb9b956752453056f56e1c36f163f85a5717ae6b","impliedFormat":99},{"version":"2c85bc627145116f3df21f3ed407cc99f5655ad2fcc427bbf57e3b3a0341ea47","impliedFormat":99},{"version":"420739326941762fdf50e14dee4b21a291c06b30cbc58430665ffee9bcbb4b6d","impliedFormat":99},{"version":"90a0a34f6792df8718d8c8d6ed77cf7051d9965a85c0d12cce38f61d706691c0","impliedFormat":99},{"version":"d9cfc4635923eb5c22406f97afdaa0272115af9cfe0fa3f33cd96fa5589187e6","impliedFormat":99},{"version":"a1ade9e632507960b944757f14f836872e567c1e23927eda1c1bcd6b49dce932","impliedFormat":99},{"version":"1fc7bc7871ce771290e11568dcde444ad70fcf8533c1d4fc4ac3a96a4b9ee69e","impliedFormat":99},{"version":"d7cbf83a92ab17f946f155886d55fd14b2e3426ba21fdc6430858ff03735eddb","impliedFormat":99},{"version":"3312143e8158416f98f28b3fedb5bde6c25bc73e46a95451680159eb88868d58","impliedFormat":99},{"version":"3a50148ffaa42c4e23e88522b47c4defd902657ee9eec365979f70625b2e43ac","impliedFormat":99},{"version":"82ab37de5dad558cf74f37a6a033f189480181f8ddf2ea096a60ac28925e1869","impliedFormat":99},{"version":"be055428284687d327cab5cd348976b8ddc588c0ce7de4355437c569ee17556d","impliedFormat":99},{"version":"69f233a54425829456296ec42ab6e23c9a473570d8b084ad52f2421d70ed17e8","impliedFormat":99},{"version":"61f7544cc8d1fad9fa7936304584ce314d3918a31f43d7738f187b9cd1799283","impliedFormat":99},{"version":"0fe6c53bfea404986540d104103db46224830f6912963c90d20f4c195c7000aa","impliedFormat":99},{"version":"bbaa79ab6b210412f9c5befa186d257c181557b819b765f81349c2c593663084","impliedFormat":99},{"version":"e1f6de16c583124f18d59c672f96272fa1662a05f834075c7ca899c1095ab29e","impliedFormat":99},{"version":"66c5847742803134b02bf07c53997c8dab3e4bb4ff428ef861a2450bf7744f61","impliedFormat":99},{"version":"3e80ac50e17c60be70575505005c9c28fd69150273ced8d50d73eed68cfdbf16","impliedFormat":99},{"version":"67022bb9c3b2174baf06917f426d832e447b2e6865be713b9fc18082ea437a51","impliedFormat":99},{"version":"1f3a97a978eaaf934f1f92682bf05bcfc11b8b4a00821d6e4d8c7d6bcff0fc79","impliedFormat":99},{"version":"a771f93d971c945eacad088d558d2015aca8ac0bc533ada8e317f3883f105f32","impliedFormat":99},{"version":"d5d9ba4cdb84bb2cb3207bb01e4ba70ac6ba3432cf6963b028c06388b0cd8656","impliedFormat":99},{"version":"cdb6410d699f7e0833b9e30c344c541c7ee94abe6959a4b714eb98dcda4bfa29","impliedFormat":99},{"version":"9fc6a5e9bb59cf074c5f26e636291aca55429165b98a5ecff9aa4830518f6588","impliedFormat":99},{"version":"1d96a4321e615ed3f7f49351803f592bbabed2edbef1bda6b3ca000b2d684964","impliedFormat":99},{"version":"1067134f9a5c26d079705b4c39112060809b57e481dc6ff954709eeddffe7b46","impliedFormat":99},{"version":"a67a88f62e9948f5cbe6dfc3be4ddb620308f230604e790b5c36a8892b0a5f41","impliedFormat":99},{"version":"0e6ef2d24419cca5b5f020f5f926c24a8a50fb77062feb87f0d759b4455c31b3","impliedFormat":99},{"version":"5b67e62aa4c0817a18ed22992e3a328f2b6402bd2ee4f9ae2dd66a3c3486529a","impliedFormat":99},{"version":"07d6c4bd82310842450b13c63ed0df3ef083ba72a714da9034b815aba390964a","impliedFormat":99},{"version":"74d927443bacd8d7d92a6a377a728e74b1a3ced3c5d96bc04634abb234ed3a8e","impliedFormat":99},{"version":"94c3242169324a0b2212dc12395d17aab5a96b23267f03e0e4142e2cc134c7ec","impliedFormat":99},{"version":"809497b80815e115f27c9b890800931546635a66248b0872332ed47271b6b5a1","impliedFormat":99},{"version":"066f08fd6c8dfe113a509eeb436cdd387747ba544522118c4b6ab6de03e9bfdb","impliedFormat":99},{"version":"abbffa103d638428f06bb6c7bd66b4df1a263846a109881fd9cd6f9402eef25a","impliedFormat":99},{"version":"b85c0b46394017e55622fa7006777655604ebbc87a3b8d1cacf91fb643626f42","impliedFormat":99},{"version":"50596833b2659cbe98f138d233ab3da041734f73a82e96873ccb5056a94f3389","impliedFormat":99},{"version":"75dd74b7c8bde65a3fe491d088b671b75c60ea6a5795c651d8f929dec7bfd0d8","impliedFormat":99},{"version":"7c0a712adc8b64053a0cabf69da09e852f2c64c6a69a662a8648e76de10fdebb","impliedFormat":99},{"version":"7a4369be79b072e7aaa9db48893ab0ef903713cadab764b876b0322ccb213986","impliedFormat":99},{"version":"cbbf88f53c2d00ec848ea9781ff435afbd6776f9dae08ba685e6f64a33711984","impliedFormat":99},{"version":"678d5374d492b91f6d50e6b2f1d4316a131dd6369a1db694e6dcb3569e2aa280","impliedFormat":99},{"version":"3adb720c0fb748257083b6e533d094cb87e7ea330b5d5808588366a181e3432b","impliedFormat":99},{"version":"c9b878138e7dc0f9147ab1ed01cf08533635e50b44d4dbc30345b83ba1237a73","impliedFormat":99},{"version":"da116c018987e5391a646bf242f63305c1afed4dbdc477783f56aca76ed108b7","impliedFormat":99},{"version":"5e96285ab528ff0ddf3393a5d04d8c68b3e881e1fe7ae0fee92966a98112d327","impliedFormat":99},{"version":"8615e46872d20ffe0a8ff44b9ce593f64f79a8d309ac4859e8b59906f9aa8762","impliedFormat":99},{"version":"59d97bc6e943ee2771965639aa795a7ae38b4be58fa26b392720d982786e25a6","impliedFormat":99},{"version":"57ecafef6c1584972a47dc439ddbf5d4cf7ca8891c38847a50562b288c806bb9","impliedFormat":99},{"version":"25a333b9b2020a43a5c4a75c277741c7ede6c01461105b5d0768aaa461de6938","impliedFormat":99},{"version":"964c9bbcfc4a0ca4bc58e1e68341497d8f9bd8ae85c92b33c8b9ab2f0b561775","impliedFormat":99},{"version":"7a32ba7e3b2a4b4e2c71ff2e054c39b73b1e75f1bce260488c2a375797a12e3f","impliedFormat":99},{"version":"7eb276f1e044aeac0873eebcfa0b526bae347809cfa5894dfaf565bb8c2da530","impliedFormat":99},{"version":"1432cbf6c940718ca09b6b458243a9b9cb26bc21c4fed5bbfa199aedf7494e9b","impliedFormat":99},{"version":"9e2ec128354b9c4d3791a82f8ec753739c1716eb73f6ad9d4d6626e733dc7280","impliedFormat":99},{"version":"ab5dcdc2177280000506e0fb519c5fe5c886c9b19c4736886e697d3fb9d59f40","impliedFormat":99},{"version":"0ff58c9fd971479765373fe7f9a5050aea113369701300402698e1b046eda2ab","impliedFormat":99},{"version":"8f5dfad393e0abcdeec04e6a2537e2b385933e7492ced75b2f856b6e36e9e2c2","impliedFormat":99},{"version":"03c25c1f785b19bd04f05c2a65aa3f05eb4bbfe1e51dbf9b9dea54cbf951aa11","impliedFormat":99},{"version":"aa6c68ae030bc57e2cf901448a1ab94f340bab7dfe544b45f8469ecc8fb11e54","impliedFormat":99},{"version":"a5b30514ffe27bad364000d64fe92e9ea518dace05333e2dafc396c9c96058a7","impliedFormat":99},{"version":"f6c181d754f301199d23bd69d50733b29864682b7b5f714edab4841e50b0fd3c","impliedFormat":99},{"version":"d3774ffc91b1ea70a5c2d23487c23dc19cef4b28f41485d21b65498f41d8f9fe","impliedFormat":99},{"version":"ad2763c49963087aaf8a8201ddc9033beed1f6bb3a7b452f9f1514ccb07472c4","signature":"5090530eb8d97f97cfd5f6398bb2d43fea5012296ef585170df7cdf8512f8493"},{"version":"3aeeceff12a7cd32712710fd408d4430eb76e51d544fd727f5f20679a599e9f7","signature":"e92f46aaca3e689acaf3a9805403b1d67fb2c0310000eb5f57efe7a206c713cf"},{"version":"cb9513a65cf977946a89a3cd86c81edd96d3763ed5380f2adf548eec557a4be6","signature":"62fb16ae6458343a2a17134b73a02dc67661dad08df3cca4236bec43dc50778d"},{"version":"679aae45e5d25c52930481492ba734c8d9f8365afa387eb32eed802bbb6390a3","signature":"7e274c66c252be79fb9ed9b80c637b227720761a2101d7ad7669e4d2da2aac4b"},{"version":"95757567c3eae684463764b755bf63f8b06c4c4fe431a3572f53bcee6a478e2e","signature":"e0bbb2d0a6349aad3f5325677bfea8aa309227286adcb9e87ba5111519ad2a4d"},{"version":"ce5f56d6bff967d7e1ea50da3040befeec3cdc7bc4987b78477bad21949b565a","signature":"a646c8dc342691ab6d2e39b0456237ab23658c47d6018f11ad2d6ebc0de3fcc5"},{"version":"cc5a72fa52efeb8250acddb23082df9c9964c92245e5bae3e40d9413fe67d594","signature":"16673b87a673f233605dee2a50db52c6818dbf85723eaab65737c47586c454d2"},{"version":"54495480ae5dde36bef1a11d1e3bd30ea5f12371265ebe6602b873574b747949","impliedFormat":99},{"version":"b00c9417e14c16bab467bf36adc1fa1bf559a2380d981be15dc03cf775ac1338","impliedFormat":99},{"version":"0eb38ef97f42012ee06ccde92cc366dc957214a6f13260a02bb058069b3bd918","signature":"dd991c771650ac815b6620828040056e608122c87e4547c303f1034152d2a267"},{"version":"8e2f1ff84912df23045bed6be053b0cd66a4e888e35a52e5462c031099188303","signature":"132b198468e76399b2ece12a0e98aa8c22317602d3686065676e61e6f816122d"},{"version":"b2a5c7ed8112d3f441be388d4506dec86ad22bcd4e99ef9041d323b0c8ded3b0","signature":"d4a4a27dc0bba7fa14e0ace2c01beae9c27bf1272c90fb793365792ae1bce806"},{"version":"631af761180cd9e0b57342aaeb7f51ac81069c42fbb1057cd11cb0359cb8399f","signature":"0ee60d7775f4f4b81dba16e0c655d3299cf3203983beb0d8100af284c173ef98"},{"version":"17c6bceaf89a7808c63a6314557fe16b5be83ab8038e55d8db3a434b151a6f9a","signature":"beb312fe57b0535b7db8d466a1b8218ee1413918db95c58c32d2db1db7d7ed90"},{"version":"8825b6b7db155ecd14da55e446ef07b5ae51c23fa68622b445029770fb4497aa","signature":"9a109f54567851a3444f9a4cbbbb62852d9d739cb634015a9c885ace34f52ee5"},{"version":"e08bedafb6e58855f22eefc04e67ec625a67f49502fa43ad9b17f20e9bab2849","signature":"1cf361776919b62ae14c529e810ce9db75852f82a071ed16e55e12fc5eff64f3"},{"version":"42680aac00cb11d3ee4e8b1a8d8323ee42ddd49538ea58f8ed9b3058bc4a6c0c","signature":"f0552fb4a3d0ca7e1e6614ac405acf43f48d16509ae31536ce5d648d0a84a500"},{"version":"fcecf7d4f11e26a5c98fb10cba848623d6b464923148448dd6dffa46c5b81a8e","signature":"fca068d51090bbfcf8a0ab83515db9d2f0443f8fef9c7d12f3e43d17cfee9941"},{"version":"86ca2659445316b84d17fe9816680439eeb99c4eea34297c54e6160984ad432d","signature":"8f5fd5812174eb92125d356bfa4c704b7fdce1774ae35dbdfc6ea64538168706"},{"version":"14dea0fe4e028c70c6953836fac906646772b58e1e449430713699ab7287a552","signature":"1fb2c41e5d2595cd6d1a8b4d90a31ed91f8ab6a58f629545a6311812fb7e13c5"},{"version":"45664206e1336e3cc277478e6a602f984bb95dd7a43b7e90372c0e852440b453","signature":"1fb2c41e5d2595cd6d1a8b4d90a31ed91f8ab6a58f629545a6311812fb7e13c5"},{"version":"665d0201791fabff9968966557e699e8e7252ea96dbdd8fc3a18c65993939026","signature":"d4979ab62166ee0ba223bb33865b11779d6580f81af5b83ec3af05e11bfa9153"},{"version":"f044ce33f6ec952e69a0a1c0968109e18b3f6cb9e14b1bcee9dd18ad15d02a52","signature":"fab46f81c25c96bf557c46d1c5eb7ff030b6d75db69061b8a08ca111e165e69a"},{"version":"942ed24cced033028b208654b7383b951341d3219d77d89742f38a96890c6ead","signature":"7e331b20786c105d557a28d787b73feff36caafe86eede29ce76552b86f07d56"},{"version":"ea947066afec2242017a535e7637491240f2618d6c9ea934e0585627a1d137d2","signature":"fab46f81c25c96bf557c46d1c5eb7ff030b6d75db69061b8a08ca111e165e69a"},{"version":"abc6bdd956558f9d288ad12e09186d227b3daf259088885ab3ce720b4d1b2d75","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"29a7f5cc3b6877b83b8eab680cee12d38aedab3eace2e1958e9364c8cecabde6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4cb5242c21fa3fd85dcc7a5543b524144f32cfe77502b184844b7cced5605425","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3750bfecb24a7c32b5e08d9395f04178d38df6d9b6b16179c239d63493285621","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"dbac363ba86444493b659c2812002f87331265ebd9a9fb11939b854657f2f103","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"09691065fbea0e79c90c89c90e80da674a7a5533df56ae38e67f097e208c15aa","signature":"86c04c35d0f00e20bb7c3354a5510a5460c48b547f8b278c00fdfbfce326c3c2"},{"version":"bbfeab549e13ab39a9d8eedc74f4789b3984dc28611e5abfdedb9fa0e6be7934","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c949718e7fd2f0dc6f295e104bb2bea704ab25422e80d67f5aa084e237533225","signature":"b03c6625add8e4f0247904cbf92ea9409ddd5a1246192e8d8093791c4b5140ec"},{"version":"afa4ea8fa730d96d65438d81fcf3e676508a23af50aa46e2662269119472aa8c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ced3c1c3acf41cde6acee128d23238b74b7fb7818ea1ca5a3165ea79a0d22691","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d9302c1fd89fac7e1a49e66564d1ee1243999372e15b0fe5ba1d0871b53dc7c2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"aa04259cef694de6b7d0d2e81c0d438177273ee65e7b09467b5d89f5b8a39f9d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ce3fc7a8b68a8b318e7a63a4ff59350baf3f8033f024c02b5b9af4b089e9b1b0","signature":"8e0a6785300064d2eb4c86a054a89710ae6025e4798d145a45aa99e2434ea93b"},{"version":"48aef202edb1d9730a41d5b477dd04a384d0dd88c6dacc587819480e7df039d1","signature":"74f8b1d0ba6b1baf1a0b49d707543b60f032b1e7acd67b39ff80f3dd27dc9593"},{"version":"663266b8782a8b327a5196efa1b3627805e3e4fc712d6a4380f5e6571e45a813","impliedFormat":1},{"version":"5aa42b32993e161aaf93d992300494377d38c8883e15fde44d5c7949313058af","impliedFormat":1},{"version":"b75dd83280bdfd4880c04cadd7f5edf6b23305850e436b1e5b92c3847090d031","impliedFormat":1},{"version":"eae784573a5c4c55c65b86accb356b21b5f597c3484c1bd344e647bc92ebe572","impliedFormat":1},{"version":"827eb54656695635a6e25543f711f0fe86d1083e5e1c0e84f394ffc122bd3ad7","impliedFormat":1},{"version":"2309cee540edc190aa607149b673b437cb8807f4e8d921bf7f5a50e6aa8d609c","impliedFormat":1},{"version":"901de16fbacf42f8cbe7fb2e3dc7d33cd91548a54459438fdface0b30a6a29cd","impliedFormat":1},{"version":"c4a8a08d13b2aba4fb5e798f7d2d5691192d4383cf7c0686845d80a167fc5f42","impliedFormat":1},{"version":"243248596db650ce6f8907cbb3a8076a5ab6888a39c37debc11a81c2f9f9d247","impliedFormat":1},{"version":"1460f16c4b7fc66d2dde3ce1a4ab97d480c27fb84a4e429355a21e76cd471e19","impliedFormat":1},{"version":"c5d73bf762b7b0e75fcdf691e21e31c9db9913931b200b9990f07f49ab2edff3","impliedFormat":1},{"version":"de38157a9f1be75a02ea8358be48a4d50ba31785fedd6a4f9ce7387d77ac9a22","impliedFormat":1},{"version":"76a5f88a99d386a1ea9209a9f8f33a3f2c2f17bc445a4078950a49c0624bae3d","impliedFormat":1},{"version":"65357b3849688962f59c625718650ad31ff59e6c23f244b4086f0d96558405d6","impliedFormat":1},{"version":"3f2fed2d0130ee5356cc1cb8782d7c974d37eccce4f1de871f7744ce61463eb4","impliedFormat":1},{"version":"471486ab7c5c95c3df63c0fbebe6871b9535eedff8b582557dfd66fcbf946d5b","impliedFormat":1},{"version":"45e82f28a80d855bab2355d5e46cc8edd7f2679fc5bfb0905dcf01ce59a5c347","impliedFormat":1},{"version":"48f7cd72c6f8ec5b2f70f50a8d4e6f47494e0d228015efb50c36fc6eab33c7ff","impliedFormat":1},{"version":"a8aa7a344599265ef9c2aba0433a805227b2c9b0e743106fab4d6f0c6966f536","impliedFormat":1},{"version":"806bed2ed4bf1c6ebb74a391531e98d361a0e23a31601fddb33dd90e31436b6d","impliedFormat":1},{"version":"9b92a4d989efc3eeefdca5f95f10267504abc7748ecff400b533cdf54dcdbd68","impliedFormat":1},{"version":"16e6feb2ea29757a0cdd16c8fe2bdf059a612a5474ea30019ae60d9fe309442a","impliedFormat":1},{"version":"2f45dc6e152333f5d28bb660e4543bfd41412b5af16b9a6331b7fd0b4982885e","impliedFormat":1},{"version":"ea4eadfe3d8b0447ecea1cbbf7aad70423cca9350bc9103a1d80cebc37e6bdb3","impliedFormat":1},{"version":"b88645280562793af76ab59052d87e4846ac5ef19af054c729fbb87c73481a59","impliedFormat":1},{"version":"a1f43b06dd37b1f6c5c7821881960dfe55038b468eafb324ad90ce5e9b448d2a","impliedFormat":1},{"version":"15b142d522e96e1962bd54c75560f6994cc8fe9a1640a36de2268fdb95e58fb5","impliedFormat":1},{"version":"de79263f32ea34b3f9282b19251626eeb3a3aef8d96491b731a3c0fb5cca2e77","impliedFormat":1},{"version":"332680a9475bd631519399f9796c59502aa499aa6f6771734eec82fa40c6d654","impliedFormat":1},{"version":"191bee6605de2b5210f29f22df04f5b5e6bdcc1f6e21fb07091d40eeeb75fd72","impliedFormat":1},{"version":"d83f3c0362467589b3a65d3a83088c068099c665a39061bf9b477f16708fa0f9","impliedFormat":1},{"version":"180e527dbc1f5ae2bbb79d0a3db1ada49258783d7e6299559e0f2ed663b4afec","impliedFormat":1},{"version":"29994a97447d10d003957bcc0c9355c272d8cf0f97143eb1ade331676e860945","impliedFormat":1},{"version":"f4260022f7af38e533d364ea62eb7ae01b0a32050033d7f6772073e1dc908025","impliedFormat":1},{"version":"9cddf06f2bc6753a8628670a737754b5c7e93e2cfe982a300a0b43cf98a7d032","impliedFormat":1},{"version":"3f8e68bd94e82fe4362553aa03030fcf94c381716ce3599d242535b0d9953e49","impliedFormat":1},{"version":"63e628515ec7017458620e1624c594c9bd76382f606890c8eebf2532bcab3b7c","impliedFormat":1},{"version":"355d5e2ba58012bc059e347a70aa8b72d18d82f0c3491e9660adaf852648f032","impliedFormat":1},{"version":"311cc121259b3e0c3c08304fc25b525aa02ba0f9bf55b3e7c60b0dbb7422014e","impliedFormat":1},{"version":"74c269b43d39e5ece20b2cca49c14e64c05b01e46407200d7558301d0fcaabf4","impliedFormat":1},{"version":"ec09bd95866efe38cd00ebb79dfa7a26563d600fa4a30db0f7c6d68f8f6d2b06","impliedFormat":1},{"version":"482d0ac70d56aa79941be30da6df28e926a007f835eed70cf7b5f3135368d1f6","impliedFormat":1},{"version":"7dd19397d5a090c9f8cd762bae67bd0ad6f782abe422594fb71168fb578673b0","impliedFormat":1},{"version":"84cbf6204ada0ee2f80493e55e45befa079954788718efd6dcc103183104e3c0","impliedFormat":1},{"version":"ed849d616865076f44a41c87f27698f7cdf230290c44bafc71d7c2bc6919b202","impliedFormat":1},{"version":"9a0a0af04065ddfecc29d2b090659fce57f46f64c7a04a9ba63835ef2b2d0efa","impliedFormat":1},{"version":"10297d22a9209a718b9883a384db19249b206a0897e95f2b9afeed3144601cb0","impliedFormat":1},{"version":"034b8b5912823744c986986f24432bf3fa7bfa671e69316b672f3f2db5166ce4","impliedFormat":1},{"version":"34d206f6ba993e601dade2791944bdf742ab0f7a8caccc661106c87438f4f904","impliedFormat":1},{"version":"05ca49cc7ba9111f6c816ecfadb9305fffeb579840961ee8286cc89749f06ebd","impliedFormat":1},{"version":"14bad5bea17b4e0f2495b5dac89a936e139338e2c87716bffd3c281ae7a9fec6","impliedFormat":1},{"version":"b8a122e51c2ee902b44d86ff806011d216af54be75844a4d3c366d80776a4d33","impliedFormat":1},{"version":"0850c98ca2cccae6ce2aad363f6eb370c401fbc279a64607fff90c0f87973a91","impliedFormat":1},{"version":"d0f62192ec787f1592a5b86760a44350d1c925883a573eadc12d60862890dffe","impliedFormat":1},{"version":"4ef34562ac49a16a1681d51d6e8ece677657782cf1a464e010224cbbe0bb071f","impliedFormat":1},{"version":"a66ad696f2785dd00374b8dee6fab5c58c049c0efe24b3c214fbe6aec3f53d6e","impliedFormat":1},{"version":"f226f29f5594bd479f27648f42423ffa1a1460cafc7b1ba04bd013b28cba710f","impliedFormat":1},{"version":"63f859a315e9711f383d06b7a2b940804e51078d85e896980816f46f1b6021a8","impliedFormat":1},{"version":"f8da2a3bec435c09f9a10d9f150949bf0ebb0c3508f074887dbb2d3e33ce302b","impliedFormat":1},{"version":"397b46c6a95826d26714b5481addc606de72d8229b092e236f0d78a9e7226d29","impliedFormat":1},{"version":"5f47fb5b000c03fdcae71e6e017261898a37f0892532cb713ce95c8950462d80","impliedFormat":1},{"version":"8142d5eaa44b4dbb68dbe87b5f05b148c5a74a6fa7abd3cb3aa80a7ed4a05150","impliedFormat":1},{"version":"6c66369276512eac5b53eaca735d7472b5ffca417977c3976a66b84059f2af2b","impliedFormat":1},{"version":"225deff02f4d1c91e2d6c71dec9f18feae510aa729a9774024f30278f4c6b8fe","impliedFormat":1},{"version":"6c24f6dcbb3bf8235bf8da995a7290ffbd9d557a760cf2deb380ce91a989b765","impliedFormat":1},{"version":"e48415a5a97a5e6c22cc4fdcb3172805ce68a1d41d0a056d71bff9ced2186d43","impliedFormat":1},{"version":"adec507ee458a691b72254991a7903a10c052019d8cdc7ffe359d9f373e7401f","impliedFormat":1},{"version":"9b74326515d17f03809cfbea6de789772ff7d0c759a08a59bfa5242bda98d35b","impliedFormat":1},{"version":"09788d0d992a6d2471f35019ab68b39105c44ebf17f2051cf3e228a39e91885a","impliedFormat":1},{"version":"0ea47413eaffe144782a44058205c31130b382dee0e2f66b62b5188eac57039e","impliedFormat":1},{"version":"c0591738dbfe11a36959f16ab40bc98b2a430c4565770ef6257574546079d791","impliedFormat":1},{"version":"3cf3dc0f53d71795cd7c461346e9aa3c713f8a5138015776aa6d4b8ff9e0cb26","impliedFormat":1},{"version":"ca73451ec7771379b6b1271dcda0d0b2146da80b329136a09ad692529a073965","impliedFormat":1},{"version":"fad74233657c4e0346822942ac3716a20b16fb053ca00c1260a08a81cc76df89","impliedFormat":1},{"version":"43f0a7dead8b25e1c101a060ea31d6df548a9303c58aa7498d0285fd4ecaac1c","impliedFormat":1},{"version":"fced7c59acecb0ac631505fcbc5a1ce0c6420e2494a256321e9359093efb7a1f","impliedFormat":1},{"version":"8c42fbcae55a41f9c48f644ff9743fab827a9d38f5a6bd486f17c6460f8a099b","impliedFormat":1},{"version":"793c2b5a225ca7569320b2f9f3a43cc20a08e83fbd6587f5c24c7a05feaee6d0","impliedFormat":1},{"version":"cf841c4bfb05b4b1d3826773ff77a47bb0dc17c665a4dbff7d6c4a6d9042d50c","impliedFormat":1},{"version":"597b9bd9363840016d7e8c6839cccd22f85079484bae7e444e80cf24645529af","impliedFormat":1},{"version":"bd15222c3f016a97d7062a0018f7fe0d130be508ca276b43dcafa8c9032a3ea4","impliedFormat":1},{"version":"4f5f11b73282262904f4c1bc5ffb76631b40ac8b54ae01bde274cb9242d6cb2f","impliedFormat":1},{"version":"9e6dcb736749cc84304b38c5a1101b299659dbc3871bab5d1544ee8f8dc73e5b","impliedFormat":1},{"version":"3f8f36996bff2e0d4f6bb2b11e1a684489b511032473180f44d0b23f38a53800","impliedFormat":1},{"version":"4e4559e8e4ea7d87f914014074559e515de78308bacc733a7ea76f795de178a3","impliedFormat":1},{"version":"13ecb31795209aa56b1837b9d46cc5494da392f594132bc5b3a56c067e12ea1c","impliedFormat":1},{"version":"e34a28e978cf430e062c91d03987f2b42360b33e6207738b40494acd4a97004b","impliedFormat":1},{"version":"5cc10d0295e594c961bd020cc76845097928f550fa3d58468114e5225054f76c","impliedFormat":1},{"version":"99c4cd704c85c3b9a215977d1d10ad34f1c6bbc5784e0ddaaf6fe8090030eaf3","impliedFormat":1},{"version":"7dc695c4ab01309d1d1b43201700560054feadddf8d0bbfc79d981bff03c1db0","impliedFormat":1},{"version":"ab0db8d8a821582e3f49739e5267466d964b64f4aeea5ba379ac7759c7adc531","impliedFormat":1},{"version":"f6e9e0411de308207892802c52be06bf25df281ace623cbf7870583e28b3f12b","impliedFormat":1},{"version":"307067699cff7c3c8a77d9e69aef5291f0141cfbbbeb0954804589e6701238cc","impliedFormat":1},{"version":"11741962da8818dfe175a7e01a483149d085b569dc5e021c83a94203d686996a","impliedFormat":1},{"version":"e58ec6f129b33de21aa444c87a6e538effe82b5f2a7d07c101fc258e2e66f73d","impliedFormat":1},{"version":"e3e78772154f790f8b0a6eaeaba5b4c816567d9d30f9c8655ed29cb9438e5455","impliedFormat":1},{"version":"e17369650fdfac36437e8559b86b2d6172d090594696976082903ba856a2a979","impliedFormat":1},{"version":"69cab7f70e702f3a517d6e47428b4d2d76b56bc355e6f85e305d1b6f6d700f7b","impliedFormat":1},{"version":"8a95a499afe7cd2aa6161b68aa3f7599e9ae7d12697171384f540e268d846746","impliedFormat":1},{"version":"2967840927e96b345f7b8250ad35e7436aae73c77d9767a2b43f2606ab107cf3","impliedFormat":1},{"version":"0e6387b87925a10ba52cd0de685a4f7e2d9dd402dbac560dce8934e8e34007d0","impliedFormat":1},{"version":"77515d8e0ceb4f4bae7d0c9aafe9fd764a5f25601569ecbac3240cacfe136f14","impliedFormat":1},{"version":"b07d72a408bfcf125c24cfba3db38207687711b800b98ab417e5ada59438c554","impliedFormat":1},{"version":"ef5aa9871f3b8dac96d4ef93e22eec539527d739c6a7e0c7fa7101fa343bfd77","impliedFormat":1},{"version":"47507ff33fbe83627bdf11136400594a249e8012508425bb2846b7268f966f00","impliedFormat":1},{"version":"4a1a0f21b3c4fc0d217392d82445a34fcc8c9ed6f79fdc4d14b8353e3c74eaf3","impliedFormat":1},{"version":"e041d566f765b48ddf66ffd085fb120951cf28e92d129751351e72f8c96d99fa","impliedFormat":1},{"version":"5a59c1315ed5ca8f899fc6527f23a15dc9a38107175a5fffd473db25bcd1fd4a","impliedFormat":1},{"version":"20a5515b81a828fc10b066aa5f88a5eb68323d23b8a10d8e9dc7edb6ebdd2bd7","impliedFormat":1},{"version":"f2c24a1e4bc555e203dab5b749b718b1cdf73ecf57d8a8872ff163cbc03b1a68","impliedFormat":1},{"version":"0dcea4e3a40e7408ec9a6aeacb721ce8289fc99d5f2be600146a472d6d1590b8","impliedFormat":1},{"version":"2093f341c5cba3058c29f9344e59ecfa22dc6559c7eb9f00497a108e09301a55","impliedFormat":1},{"version":"15aba6a4199ce9e4f3c1ec397a468f6aaaeba973649ca4f1c016225b46a5feaf","impliedFormat":1},{"version":"a1ca7f7788853a2ff3670bf1112a92fa503686b10d58339318fec5862bd209a6","impliedFormat":1},{"version":"3ca43707542a62c1a27809fe092854d524c988ff60333a82ed3405054eebdb32","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"294e6718a831e43541c3fe229cab5821c34a336e6e541f305b289f5e4da9b81d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"793a8172e30a8f15e6aeef14ffecfeff6d5b741747c7910dd73bd08a3e5171a3","signature":"d50234446709c93924529c0508fb514f3a19916424febb911dd43644b268c3ce"},{"version":"e19e34a298a58faec541fb58680948639a2c78f3008e9845dd8d186c696f754f","signature":"9fb36d3de78d11c8e077d12edba6792689e2edcd790656e69cb51928fe7a5f9a"},{"version":"32a06e6fca5898586ad83f1b37d401ad950afd0bba1a08f39d73e589393428af","signature":"7aefa32d37658c047fa5003114c9d88d7a028b7134aa3e4618a57342ab06583c"},{"version":"e7c2f40dc99121500ad108a4f86541d29cac105ed018f994c7c5a2836e77b257","impliedFormat":1},{"version":"90e930283286ab117ab89f00589cf89ab5e9992bc57e79f303b36ee14649bdd9","impliedFormat":1},{"version":"6d48a6c907c668a6d6eda66acec4242e367c983e073100e35c1e234c424ad1a4","impliedFormat":1},{"version":"68a0e898d6c39160f1326ef922508914498c7a2d0b5a0d9222b7928d343214eb","impliedFormat":1},{"version":"69d96a8522b301a9e923ac4e42dd37fc942763740b183dffa3d51aca87f978d5","impliedFormat":1},{"version":"ff2fadad64868f1542a69edeadf5c5519e9c89e33bec267605298f8d172417c7","impliedFormat":1},{"version":"2866ae69517d6605a28d0c8d5dff4f15a0b876eeb8e5a1cbc51631d9c6793d3f","impliedFormat":1},{"version":"f8c4434aa8cbd4ede2a75cbc5532b6a12c9cac67c3095ed907e54f3f89d2e628","impliedFormat":1},{"version":"0b8adc0ae60a47acf65575952eee568b3d497f9975e3162f408052a99e65f488","impliedFormat":1},{"version":"ede9879d22f7ce68a8c99e455acab32fc45091c6eed9625549742b03e1f1ac1a","impliedFormat":1},{"version":"0e8c007c6e404da951c3d98a489ac0a3e9b6567648b997c03445ac69d7938c1c","impliedFormat":1},{"version":"f2a4866bed198a7c804b58ee39efe74c66ecdcf2dfebef0b9895d534a50790c4","impliedFormat":1},{"version":"ad72538d0c5e417ee6621e1b54691c274bcacaa1807c9895c5fa6d40b45fb631","impliedFormat":1},{"version":"4f851c59f3112702f6178e76204f839e3156daa98b5b7d7e3fc407a6c5764118","impliedFormat":1},{"version":"57511f723968d2f41dd2d55b9fbc5d0f3107af4e4227db0fb357c904bd34e690","impliedFormat":1},{"version":"9585df69c074d82dda33eadd6e5dccd164659f59b09bd5a0d25874770cf6042d","impliedFormat":1},{"version":"f6f6ce3e3718c2e7592e09d91c43b44318d47bca8ee353426252c694127f2dcb","impliedFormat":1},{"version":"4f70076586b8e194ef3d1b9679d626a9a61d449ba7e91dfc73cbe3904b538aa0","impliedFormat":1},{"version":"6d5838c172ff503ef37765b86019b80e3abe370105b2e1c4510d6098b0e84414","impliedFormat":1},{"version":"1876dac2baa902e2b7ebed5e03b95f338192dc03a6e4b0731733d675ba4048f3","impliedFormat":1},{"version":"8086407dd2a53ce700125037abf419bddcce43c14b3cf5ea3ac1ebded5cad011","impliedFormat":1},{"version":"c2501eb4c4e05c2d4de551a4bace9c28d06a0d89b228443f69eb3d7f9049fbd6","impliedFormat":1},{"version":"1829f790849d54ea3d736c61fdefd3237bede9c5784f4c15dfdafb7e0a9b8f63","impliedFormat":1},{"version":"5392feeda1bf0a1cc755f7339ea486b7a4d0d019774da8057ddc85347359ed63","impliedFormat":1},{"version":"c998117afca3af8432598c7e8d530d8376d0ca4871a34137db8caa1e94d94818","impliedFormat":1},{"version":"4e465f7e9a161a5a5248a18af79dbfbf06e8e1255bfdc8f63ab15475a2ba48bd","impliedFormat":1},{"version":"e0353c5070349846fe9835d782a8ce338d6d4172c603d14a6b364d6354957a4e","impliedFormat":1},{"version":"323133630008263f857a6d8350e36fb7f6e8d221ec0a425b075c20290570c020","impliedFormat":1},{"version":"c04e691d64b97e264ca4d000c287a53f2a75527556962cdbe3e8e2b301dac906","impliedFormat":1},{"version":"3733dba5107de9152f98da9bcb21bf6c91ac385f3b22f30ed08d0dc5e74c966f","impliedFormat":1},{"version":"d3ec922ddd9677696ee0552f10e95c4e59f85bb8c93fd76cd41b2dd93988ff39","impliedFormat":1},{"version":"0492c0d35e05c0fdd638980e02f3a7cdec18b311959fc730d85ed7e1d4ff38a7","impliedFormat":1},{"version":"c7122ba860d3497fa04a112d424ee88b50c482360042972bcf0917c5b82f4484","impliedFormat":1},{"version":"838f52090a0d39dce3c42e0ccb0db8db250c712c1fa2cd36799910c8f8a7f7bf","impliedFormat":1},{"version":"116ec624095373939de9edb03619916226f5e5b6e93cd761c4bda4efecb104fc","impliedFormat":1},{"version":"8e6b8259bfd8c8c3d6ed79349b7f2f69476d255aede2cd6c0acb0869ad8c6fdd","impliedFormat":1},{"version":"2fbe402f0ee5aa8ab55367f88030f79d46211c0a0f342becaa9f648bf8534e9d","impliedFormat":1},{"version":"b94258ef37e67474ac5522e9c519489a55dcb3d4a8f645e335fc68ea2215fe88","impliedFormat":1},{"version":"4f54baaec251aa9f828a39a85a03e1d99aab20ac513d209c7e079205d36339fa","signature":"da00e8eb1c3f4c129bf490df86b9af683a94716799a0a16897352ee3d1bfbc9e"},{"version":"90761be39efe97af5bf38f549b00bf32dde1e158be0b66f5e1585f67b159591b","signature":"607dbe079354917d98dd1875a145739cb49e74b3d94dd869e1a2f85583baaa57"},{"version":"3da2168c6db272a11e951831f6f1263c7ccdad2b121ed943d55e4ca7fe24ec90","signature":"06bb08dc08e8e56403d40f72bc9955837a6515b963bd1c981f6eb56fc84a0479"},{"version":"e32177e390adceb749a9a0e0fcca122bbe579bdb2be26c2e3c4374ecb5bd52fb","signature":"22b84675bb14912a716ac79a0050b9a56e27123dcc67fbc5278a7974ebf7e172"},{"version":"2c101f7e227a2d7a22a877768446416a8a48a6905141bb27750cd1c637d7c91a","signature":"fe061a0f2b9c05a869507b7b1c062fdb49352c28937e8300ef1dc076c247c941"},{"version":"7d05cd84768a97a8cfdcb327aaa04bedb0d8c4c9de196f57bb7412f88664965e","signature":"20b8d283b7eaafbf9f4ff48683607754ddd7e8d3eb1e443ae81a2237693580a3"},{"version":"e3c5eae71bd1030d8a3803f08c464ca36c8fb6461968ec635a116f281503d27b","signature":"e9fd1ef20d74d868f2bc859f59456d2e78f00e07aac5ea5c9bdf2e3517e8ed25"},{"version":"9b874b13e2a6171e5eb30879624bbdc327cb67d09889275a16619555f709ad7b","signature":"072640ecf57572cb0ca6a352bccf20ed1c412d4f8d9b8c40da8ef4296aef60c4"},{"version":"0e4c6e06a165e5f8d18405d3a75b9fa6d77b20229a9992cf8265471066119607","signature":"6619969800f098c670d9779fe509538dd11173cdc7cc5a55013960105bf4122b"},{"version":"4898334867a74fc12b8b600f8b082bee887e5a645efdbfbfdaba20e9369c50ca","signature":"42c724e1d4be365a85b955fa9fe997cec71ff8e891f9739ee2ba4c609bc0733c"},{"version":"1507561a9f374ce0d54b9389fd66c1564938313e58d1a6e50fd83e968e2d5948","signature":"59445f8f04918983bfa7d55ac4e41e8121e6dd0ba59c035c81be896d48d20327"},{"version":"f903da0cb5899a64e71f2061df2a3d66cc235450fe42fa62e8226e8a1ca92194","signature":"64e80122802b645ce278661b2e33078d583a1570dd5c6e94f83c796d78a47635"},{"version":"01190da768f64390b2cccd2ade441c5a4898ae87eec393371d1b53a73b99745d","signature":"bfae61e91d0f24327c0c5b1285af04c61531f29c4eb5c5fb1db3b275ab54c8ef"},{"version":"180f2160e984c19a727d330f407a7f692227543a70c6d305ed7d2db5b52a14aa","signature":"cb3063f6af64db0f221d2bcdf994be187014e2a7522fc66f51335aa509b225bf"},{"version":"5b3e21bac8c57868f01824bdb59eb69ebd0e3458b3a797096f0c4d62bf86f4cf","signature":"17d040b3bb80172d0cd8be8193f2b100aee94d67e90fcedc208cd3604c17304c"},{"version":"4f579255f8a91edb718dc7cf682a424f2784668be6953679aff7b7f57845bd32","signature":"45b373ad2e114de335dd3eaf62f9658266d71c2f34537489f88f3b4815fa72f8"},{"version":"caddb53940855ed5c7e162cf32d0b3938587de758e720ab554e8b9a0142e9143","signature":"9b391761b31f4e33f0d8a69472e750dd500b9899734a0464089621abbc5db2e4"},{"version":"896836ffb1129447b42857fc9bba287ea298d8228bbc15abfdaa8c0afec6698b","signature":"dd46478187e065db0e493394aabd50f1d1935cf0a668981b4bb9b6d3ad2e5a24"},{"version":"fb0ef8b51cbee9a36cfa782b18c1205b8cbe9a2809613d8e5c22e1a7cbd6c09c","signature":"65ec2a92e4365c17d2541a4543492fdd66b0485f62055134ec91e09d7742087e"},{"version":"bd57ebab2fb0479efd2663a90f7ab7a30d62daf843de80bc72912ff6d489597d","signature":"901153cca971c1ba43a56722523cebfc9471632ef8a502d922fbb2ce91db9ddd"},{"version":"784af067fe7a69bb0b885453ae6d3a9b362adf4219af873e0d1cb19e3dc53cb7","signature":"9bb1690168450b066c372d43ce9ba80b96ae30744d602e1a50b285a5b10b38d6"},{"version":"75670048da96a4c0ea30aaea9e357914c2627949de8e4302eb77c98c93d4cfde","signature":"f60d744c24fdfb18724c6eb0304f2503d872c2d8596c13910dabdea5e20f097c"},{"version":"5e29095fa940c4bc7f796e0915bdc080b1e822a6d7a5c8c1c456d1f24ee30298","signature":"92fed5e72a46791c863b5c3d58c3ab87637193ec029ff226cdff52578d8aa195"},"d1986184a09a52db8228cb2bb2a61a8c05c9354e5b93cec8e2628d8579c892d7",{"version":"ef96a37139a5a914860ef81406de8c83cc738ea3028c5e4732eb9cd27d3647cc","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"556ccd493ec36c7d7cb130d51be66e147b91cc1415be383d71da0f1e49f742a9","impliedFormat":1},{"version":"b6d03c9cfe2cf0ba4c673c209fcd7c46c815b2619fd2aad59fc4229aaef2ed43","impliedFormat":1},{"version":"95aba78013d782537cc5e23868e736bec5d377b918990e28ed56110e3ae8b958","impliedFormat":1},{"version":"670a76db379b27c8ff42f1ba927828a22862e2ab0b0908e38b671f0e912cc5ed","impliedFormat":1},{"version":"13b77ab19ef7aadd86a1e54f2f08ea23a6d74e102909e3c00d31f231ed040f62","impliedFormat":1},{"version":"069bebfee29864e3955378107e243508b163e77ab10de6a5ee03ae06939f0bb9","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","impliedFormat":1},{"version":"fb893a0dfc3c9fb0f9ca93d0648694dd95f33cbad2c0f2c629f842981dfd4e2e","impliedFormat":1},{"version":"89e326922cadcc2331d7e851011cf9f0456a681aaf3c95b48b81f8d80e8cdfba","impliedFormat":1}],"root":[[513,515],537,621,626,627,[630,658],[660,665],[667,670],[702,710],[722,734],[961,967],[970,999],[1114,1118],[1157,1181]],"options":{"allowJs":true,"esModuleInterop":true,"jsx":4,"module":99,"skipLibCheck":true,"strict":true,"target":9,"verbatimModuleSyntax":false},"referencedMap":[[1191,1],[1190,2],[79,2],[1180,3],[513,2],[1181,4],[514,5],[515,6],[624,7],[623,8],[1184,9],[1182,2],[357,2],[536,10],[625,11],[622,2],[541,2],[1154,12],[1133,13],[1143,14],[1140,14],[1141,15],[1125,15],[1139,15],[1120,14],[1126,16],[1129,17],[1134,18],[1122,16],[1123,15],[1136,19],[1121,16],[1127,16],[1130,16],[1135,16],[1137,15],[1124,15],[1138,15],[1132,20],[1128,21],[1153,22],[1131,23],[1142,24],[1119,15],[1144,15],[1145,15],[1146,15],[1147,15],[1148,15],[1149,15],[1150,15],[1151,15],[1152,15],[1187,25],[1183,9],[1185,26],[1186,9],[548,27],[546,2],[553,2],[1188,2],[1189,2],[121,28],[122,28],[123,29],[74,30],[124,31],[125,32],[126,33],[69,2],[72,34],[70,2],[71,2],[127,35],[128,36],[129,37],[130,38],[131,39],[132,40],[133,40],[134,41],[135,42],[136,43],[137,44],[75,2],[73,2],[138,45],[139,46],[140,47],[174,48],[141,49],[142,2],[143,50],[144,51],[145,52],[146,53],[147,54],[148,55],[149,56],[150,57],[151,58],[152,58],[153,59],[154,2],[155,60],[156,61],[158,62],[157,63],[159,64],[160,65],[161,66],[162,67],[163,68],[164,69],[165,70],[166,71],[167,72],[168,73],[169,74],[170,75],[171,76],[76,2],[77,2],[78,2],[117,77],[118,2],[119,2],[120,64],[172,78],[173,79],[178,80],[442,81],[179,82],[177,83],[444,84],[443,85],[175,86],[440,2],[176,87],[60,2],[62,88],[439,81],[209,81],[549,89],[608,90],[609,91],[607,2],[542,2],[593,92],[592,93],[604,92],[595,94],[597,95],[616,95],[596,96],[539,97],[538,2],[544,98],[545,99],[613,100],[589,101],[591,102],[612,2],[610,101],[590,2],[543,99],[588,2],[547,2],[1101,103],[1000,2],[1016,104],[1098,105],[1081,106],[1082,107],[1080,108],[1083,2],[1084,2],[1089,109],[1085,2],[1086,2],[1087,2],[1088,2],[1095,110],[1110,111],[1096,112],[1099,113],[1094,114],[1102,115],[1097,105],[1092,116],[1103,117],[1093,118],[1104,119],[1064,2],[1106,120],[1091,121],[1105,113],[1107,122],[1090,107],[1109,123],[1051,2],[1052,2],[1055,124],[1053,2],[1019,2],[1054,2],[1113,125],[1018,126],[1001,2],[1007,127],[1020,128],[1022,129],[1058,130],[1079,131],[1059,2],[1012,132],[1060,133],[1061,134],[1062,2],[1063,2],[1014,135],[1066,136],[1067,137],[1003,2],[1011,138],[1068,2],[1057,139],[1069,2],[1078,2],[1021,140],[1050,112],[1070,2],[1006,141],[1071,2],[1072,2],[1073,2],[1075,142],[1074,143],[1076,144],[1065,145],[1056,146],[1077,147],[1015,148],[1023,2],[1008,2],[1024,2],[1027,149],[1013,150],[1009,151],[1010,2],[1025,138],[1026,152],[1002,2],[1108,153],[1017,154],[1112,155],[1111,156],[1029,157],[1046,158],[1048,159],[1047,160],[1030,161],[1045,162],[1042,163],[1043,164],[1041,165],[1034,166],[1035,167],[1037,168],[1038,169],[1036,170],[1039,171],[1049,172],[1040,173],[1032,174],[1028,175],[1033,176],[1031,157],[1156,177],[1155,178],[628,2],[1004,2],[1005,179],[61,2],[968,161],[969,180],[1044,2],[666,2],[558,2],[718,181],[720,182],[719,183],[717,184],[716,2],[701,185],[672,186],[681,186],[673,186],[682,186],[674,186],[675,186],[689,186],[688,186],[690,186],[691,186],[683,186],[676,186],[684,186],[677,186],[685,186],[678,186],[680,186],[687,186],[686,186],[692,186],[679,186],[693,186],[698,186],[699,186],[694,186],[671,2],[700,2],[696,186],[695,186],[697,186],[581,2],[583,187],[582,2],[465,188],[470,3],[477,189],[460,190],[213,2],[221,191],[361,192],[364,193],[336,2],[349,194],[356,195],[238,2],[338,2],[219,2],[335,196],[381,197],[220,2],[211,198],[363,199],[365,200],[366,201],[437,202],[330,203],[283,204],[343,205],[344,206],[342,207],[341,2],[337,208],[362,209],[222,210],[407,2],[408,211],[249,212],[223,213],[250,212],[286,212],[189,212],[359,214],[358,2],[348,215],[455,2],[198,2],[476,216],[415,217],[416,218],[412,219],[494,2],[313,2],[417,220],[413,221],[499,222],[498,223],[493,2],[264,2],[316,224],[315,2],[492,225],[414,81],[269,226],[276,227],[278,228],[268,2],[273,229],[275,230],[277,231],[272,232],[270,2],[274,233],[495,2],[491,2],[497,234],[496,2],[267,235],[486,236],[489,237],[257,238],[256,239],[255,240],[502,81],[254,241],[243,2],[504,2],[505,81],[506,242],[181,2],[345,243],[346,244],[347,245],[185,2],[350,2],[205,246],[180,2],[429,81],[187,247],[428,248],[427,249],[418,2],[419,2],[426,2],[421,2],[424,250],[420,2],[422,251],[425,252],[423,251],[218,2],[215,2],[216,212],[370,2],[375,253],[376,254],[374,255],[372,256],[373,257],[368,2],[435,220],[210,220],[464,258],[471,259],[475,260],[304,261],[303,2],[298,2],[451,262],[459,263],[331,264],[332,265],[410,266],[320,2],[433,267],[308,81],[325,268],[436,269],[321,2],[324,270],[322,2],[434,271],[431,272],[430,2],[432,2],[328,2],[406,273],[193,274],[306,275],[310,276],[326,277],[329,278],[318,279],[311,280],[458,281],[384,282],[302,283],[190,284],[457,285],[186,286],[377,287],[369,2],[378,288],[395,289],[367,2],[394,290],[68,2],[389,291],[214,2],[409,292],[385,2],[199,2],[201,2],[340,2],[393,293],[217,2],[241,294],[327,295],[247,296],[307,2],[392,2],[371,2],[397,297],[398,298],[339,2],[400,299],[402,300],[401,301],[351,2],[391,284],[404,302],[301,303],[390,304],[396,305],[226,2],[230,2],[229,2],[228,2],[233,2],[227,2],[236,2],[235,2],[232,2],[231,2],[234,2],[237,306],[225,2],[293,307],[292,2],[297,308],[294,309],[296,310],[299,308],[295,309],[206,311],[285,312],[454,313],[452,2],[481,314],[483,315],[447,316],[482,317],[194,318],[191,318],[224,2],[208,319],[207,320],[203,321],[204,322],[212,323],[240,323],[251,323],[287,324],[252,324],[196,325],[195,2],[291,326],[290,327],[289,328],[288,329],[197,330],[438,331],[239,332],[446,333],[411,334],[441,335],[445,336],[334,337],[333,338],[314,339],[300,340],[282,341],[284,342],[281,343],[403,344],[305,2],[469,2],[202,345],[405,346],[453,347],[312,2],[242,348],[319,349],[317,350],[244,351],[379,352],[448,2],[245,353],[380,353],[467,2],[466,2],[468,2],[450,2],[449,2],[382,354],[309,2],[279,355],[200,356],[258,2],[184,357],[246,2],[473,81],[183,2],[485,358],[266,81],[479,220],[265,359],[462,360],[263,358],[188,2],[487,361],[261,81],[262,81],[253,2],[182,2],[260,362],[259,363],[248,364],[323,57],[383,57],[399,2],[387,365],[386,2],[271,235],[192,2],[280,81],[456,246],[463,366],[63,81],[66,367],[67,368],[64,81],[65,2],[360,369],[355,370],[354,2],[353,371],[352,2],[461,372],[472,373],[474,374],[478,375],[480,376],[484,377],[512,378],[488,378],[511,379],[490,380],[500,381],[501,382],[503,383],[507,384],[510,246],[509,2],[508,385],[1100,2],[533,386],[516,2],[517,386],[532,387],[659,388],[535,389],[534,388],[576,390],[574,391],[575,392],[563,393],[564,391],[571,394],[562,395],[567,396],[577,2],[568,397],[573,398],[579,399],[578,400],[561,401],[569,402],[570,403],[565,404],[572,390],[566,405],[555,406],[554,407],[388,161],[560,2],[743,2],[959,408],[958,409],[928,410],[736,2],[741,411],[739,412],[957,413],[913,414],[737,2],[740,2],[738,415],[758,411],[735,416],[742,417],[929,418],[914,419],[915,419],[764,420],[916,421],[778,422],[762,2],[930,421],[931,423],[907,419],[908,421],[795,424],[796,425],[754,426],[860,427],[854,428],[855,429],[857,430],[856,431],[859,419],[745,2],[858,419],[746,432],[861,433],[862,434],[863,435],[864,436],[753,437],[755,426],[851,2],[777,438],[848,439],[849,440],[867,441],[866,442],[865,421],[868,443],[808,444],[779,437],[917,421],[747,421],[751,445],[845,446],[850,447],[780,448],[918,429],[769,449],[853,450],[749,451],[781,452],[800,453],[799,454],[798,421],[801,455],[919,419],[912,456],[920,421],[756,457],[752,458],[759,459],[760,460],[869,2],[870,461],[871,462],[872,463],[873,421],[874,464],[932,421],[933,465],[852,466],[875,421],[876,467],[877,468],[909,469],[840,470],[842,471],[921,421],[844,472],[793,473],[786,459],[789,474],[791,475],[788,476],[787,421],[790,477],[792,478],[794,479],[846,480],[757,2],[766,481],[922,482],[923,483],[765,2],[774,484],[847,485],[924,421],[925,421],[772,444],[841,483],[782,486],[761,487],[806,488],[803,488],[802,489],[805,490],[748,491],[910,492],[878,493],[879,494],[880,421],[881,495],[882,496],[797,497],[883,459],[884,419],[885,498],[887,499],[886,466],[888,500],[889,501],[783,2],[773,493],[771,502],[770,503],[843,504],[890,459],[891,505],[911,506],[767,2],[768,507],[807,508],[838,509],[839,510],[892,419],[893,466],[894,511],[895,421],[896,421],[897,466],[898,512],[899,513],[804,421],[784,2],[763,514],[750,421],[900,459],[901,419],[818,421],[902,419],[819,515],[903,516],[809,517],[810,518],[813,519],[814,520],[815,521],[816,522],[817,523],[811,524],[820,525],[821,526],[812,421],[831,527],[832,528],[833,529],[834,530],[835,531],[836,532],[837,533],[926,534],[785,535],[775,536],[776,537],[822,538],[823,538],[904,2],[905,539],[830,540],[824,540],[825,540],[826,541],[827,538],[828,542],[829,543],[906,544],[936,419],[937,419],[938,419],[935,419],[939,545],[941,546],[942,547],[940,466],[943,548],[950,419],[947,2],[945,466],[951,549],[949,550],[948,551],[946,552],[953,553],[952,554],[954,555],[934,2],[944,2],[955,556],[927,421],[744,557],[956,558],[960,558],[629,2],[605,2],[540,2],[58,2],[59,2],[10,2],[11,2],[13,2],[12,2],[2,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[3,2],[22,2],[23,2],[4,2],[24,2],[28,2],[25,2],[26,2],[27,2],[29,2],[30,2],[31,2],[5,2],[32,2],[33,2],[34,2],[35,2],[6,2],[39,2],[36,2],[37,2],[38,2],[40,2],[7,2],[41,2],[46,2],[47,2],[42,2],[43,2],[44,2],[45,2],[8,2],[51,2],[48,2],[49,2],[50,2],[52,2],[9,2],[53,2],[54,2],[55,2],[57,2],[56,2],[1,2],[95,559],[105,560],[94,559],[115,561],[86,562],[85,563],[114,385],[108,564],[113,565],[88,566],[102,567],[87,568],[111,569],[83,570],[82,385],[112,571],[84,572],[89,573],[90,2],[93,573],[80,2],[116,574],[106,575],[97,576],[98,577],[100,578],[96,579],[99,580],[109,385],[91,581],[92,582],[101,583],[81,140],[104,575],[103,573],[107,2],[110,584],[551,585],[587,586],[557,587],[552,585],[550,2],[556,588],[585,2],[580,2],[584,589],[559,2],[586,590],[615,591],[620,592],[614,593],[606,594],[602,595],[598,596],[611,2],[599,94],[714,597],[711,598],[618,599],[617,600],[600,601],[713,602],[594,2],[601,603],[619,604],[721,605],[715,606],[712,2],[603,2],[531,607],[521,608],[523,609],[530,610],[525,2],[526,2],[524,611],[527,612],[518,2],[519,2],[520,607],[522,613],[528,2],[529,614],[537,615],[640,616],[642,617],[645,618],[647,619],[649,620],[651,621],[653,622],[655,623],[657,624],[658,625],[660,626],[662,627],[665,628],[669,629],[670,630],[706,631],[705,632],[710,633],[709,634],[722,635],[707,636],[708,637],[1163,638],[1165,639],[730,640],[731,641],[732,642],[733,643],[734,644],[962,645],[963,646],[966,647],[967,648],[971,649],[972,650],[973,651],[976,652],[980,653],[981,654],[979,655],[977,656],[983,657],[982,636],[984,658],[985,659],[1167,660],[1168,661],[1170,662],[1169,663],[1116,664],[1171,665],[1172,666],[1173,220],[1174,667],[1162,668],[1175,220],[1176,669],[1177,670],[1178,671],[724,672],[1179,673],[725,674],[1164,675],[1118,676],[1160,677],[1161,678],[1166,679],[1157,680],[1158,680],[1117,681],[1159,681],[633,682],[986,683],[636,684],[631,681],[635,685],[987,686],[637,687],[632,636],[988,688],[634,689],[644,690],[970,691],[646,690],[648,690],[650,690],[652,690],[643,692],[654,690],[656,690],[974,693],[627,636],[989,694],[965,643],[961,695],[990,696],[964,697],[729,698],[991,632],[626,699],[661,700],[664,701],[703,636],[641,632],[992,702],[978,703],[663,704],[994,705],[993,636],[995,706],[667,707],[639,697],[996,708],[726,636],[997,709],[727,710],[998,632],[999,636],[668,711],[702,712],[723,636],[975,713],[728,699],[630,714],[704,715],[638,716],[1114,717],[1115,615],[621,718]],"affectedFilesPendingEmit":[1181,515,537,640,642,645,647,649,651,653,655,657,658,660,662,665,669,670,706,705,710,709,722,707,708,1163,1165,730,731,732,733,734,962,963,966,967,971,972,973,976,980,981,979,977,983,982,984,985,1167,1168,1170,1169,1116,1171,1172,1173,1174,1162,1175,1176,1177,1178,724,1179,725,1164,1118,1160,1161,1166,1157,1158,1117,1159,633,986,636,631,635,987,637,632,988,634,644,970,646,648,650,652,643,654,656,974,627,989,965,961,990,964,729,991,626,661,664,703,641,992,978,663,994,993,995,667,639,996,726,997,727,998,999,668,702,723,975,728,630,704,638,1114,1115,621],"version":"5.9.3"}
\ No newline at end of file

← c62e153 TK-11464 fix (re-commit): gate orderBy nulls-ordering to nul  ·  back to Govarbitrage  ·  auto-data-snapshot: 2026-09-12T13:27:22 (1 data files) — tsc 91c4705 →