From a5ffc8d4aa868d60dd6e67eab932dc38361e8c2a Mon Sep 17 00:00:00 2001 From: "Khoa.vo" Date: Fri, 19 Dec 2025 12:28:57 +0700 Subject: [PATCH] Initial commit: PureStream - Distraction-free TikTok viewer --- .dockerignore | 15 + .gitignore | 49 + Dockerfile | 71 + README.md | 186 + backend/api/__init__.py | 0 backend/api/routes/__init__.py | 0 backend/api/routes/auth.py | 90 + backend/api/routes/config.py | 89 + backend/api/routes/download.py | 40 + backend/api/routes/feed.py | 369 ++ backend/api/routes/following.py | 65 + backend/api/routes/user.py | 157 + backend/core/__init__.py | 0 backend/core/download_service.py | 38 + backend/core/feed_service.py | 302 ++ backend/core/playwright_manager.py | 509 +++ backend/following.json | 1 + backend/main.py | 58 + backend/requirements.txt | 8 + docker-compose.yml | 35 + frontend/.gitignore | 24 + frontend/README.md | 73 + frontend/eslint.config.js | 23 + frontend/index.html | 48 + frontend/package-lock.json | 4412 ++++++++++++++++++++++ frontend/package.json | 41 + frontend/postcss.config.js | 6 + frontend/public/icon-192.png | Bin 0 -> 8238 bytes frontend/public/icon-512.png | Bin 0 -> 385172 bytes frontend/public/manifest.json | 35 + frontend/public/vite.svg | 1 + frontend/src/App.css | 42 + frontend/src/App.tsx | 58 + frontend/src/assets/react.svg | 1 + frontend/src/components/DownloadList.tsx | 57 + frontend/src/components/Feed.tsx | 1100 ++++++ frontend/src/components/SearchBar.tsx | 48 + frontend/src/components/Toast.tsx | 74 + frontend/src/components/VideoPlayer.tsx | 444 +++ frontend/src/config.ts | 1 + frontend/src/index.css | 96 + frontend/src/main.tsx | 10 + frontend/src/pages/Login.tsx | 141 + frontend/src/store/authStore.ts | 63 + frontend/src/store/downloadStore.ts | 28 + frontend/src/types/index.ts | 27 + frontend/tailwind.config.js | 11 + frontend/tsconfig.app.json | 28 + frontend/tsconfig.json | 7 + frontend/tsconfig.node.json | 26 + frontend/vite.config.ts | 7 + 51 files changed, 9014 insertions(+) create mode 100644 .dockerignore create mode 100644 .gitignore create mode 100644 Dockerfile create mode 100644 README.md create mode 100644 backend/api/__init__.py create mode 100644 backend/api/routes/__init__.py create mode 100644 backend/api/routes/auth.py create mode 100644 backend/api/routes/config.py create mode 100644 backend/api/routes/download.py create mode 100644 backend/api/routes/feed.py create mode 100644 backend/api/routes/following.py create mode 100644 backend/api/routes/user.py create mode 100644 backend/core/__init__.py create mode 100644 backend/core/download_service.py create mode 100644 backend/core/feed_service.py create mode 100644 backend/core/playwright_manager.py create mode 100644 backend/following.json create mode 100644 backend/main.py create mode 100644 backend/requirements.txt create mode 100644 docker-compose.yml create mode 100644 frontend/.gitignore create mode 100644 frontend/README.md create mode 100644 frontend/eslint.config.js create mode 100644 frontend/index.html create mode 100644 frontend/package-lock.json create mode 100644 frontend/package.json create mode 100644 frontend/postcss.config.js create mode 100644 frontend/public/icon-192.png create mode 100644 frontend/public/icon-512.png create mode 100644 frontend/public/manifest.json create mode 100644 frontend/public/vite.svg create mode 100644 frontend/src/App.css create mode 100644 frontend/src/App.tsx create mode 100644 frontend/src/assets/react.svg create mode 100644 frontend/src/components/DownloadList.tsx create mode 100644 frontend/src/components/Feed.tsx create mode 100644 frontend/src/components/SearchBar.tsx create mode 100644 frontend/src/components/Toast.tsx create mode 100644 frontend/src/components/VideoPlayer.tsx create mode 100644 frontend/src/config.ts create mode 100644 frontend/src/index.css create mode 100644 frontend/src/main.tsx create mode 100644 frontend/src/pages/Login.tsx create mode 100644 frontend/src/store/authStore.ts create mode 100644 frontend/src/store/downloadStore.ts create mode 100644 frontend/src/types/index.ts create mode 100644 frontend/tailwind.config.js create mode 100644 frontend/tsconfig.app.json create mode 100644 frontend/tsconfig.json create mode 100644 frontend/tsconfig.node.json create mode 100644 frontend/vite.config.ts diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..ef16414 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,15 @@ +node_modules/ +venv/ +__pycache__/ +*.pyc +.git/ +.gitignore +*.log +*.md +.DS_Store +.vscode/ +.idea/ +cache/ +backend/session/ +playwright-report/ +test-results/ diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d430eda --- /dev/null +++ b/.gitignore @@ -0,0 +1,49 @@ +# Dependencies +node_modules/ +venv/ +__pycache__/ +*.pyc +.env + +# Build outputs +frontend/dist/ +*.egg-info/ + +# Cache +cache/ +*.cache + +# IDE +.vscode/ +.idea/ + +# OS +.DS_Store +Thumbs.db + +# Logs +*.log +npm-debug.log* + +# Session data (sensitive) +backend/session/ +*.session +backend/cookies.json +backend/cookies_netscape.txt +backend/session_metadata.json +backend/user_agent.json + +# Downloads (large files) +backend/downloads/ +downloads/ + +# Debug files +backend/debug_*.html + +# Playwright +playwright-report/ +test-results/ + +# Test files +backend/test_*.py + diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..1aba788 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,71 @@ +# Build stage for frontend +FROM node:20-alpine AS frontend-builder +WORKDIR /app/frontend +COPY frontend/package*.json ./ +RUN npm ci +COPY frontend/ ./ +RUN npm run build + +# Production stage +FROM python:3.11-slim + +# Install system dependencies for Playwright and yt-dlp +RUN apt-get update && apt-get install -y --no-install-recommends \ + wget \ + curl \ + gnupg \ + ca-certificates \ + ffmpeg \ + # Playwright dependencies + libnss3 \ + libnspr4 \ + libatk1.0-0 \ + libatk-bridge2.0-0 \ + libcups2 \ + libdrm2 \ + libxkbcommon0 \ + libxcomposite1 \ + libxdamage1 \ + libxfixes3 \ + libxrandr2 \ + libgbm1 \ + libasound2 \ + libpango-1.0-0 \ + libcairo2 \ + libatspi2.0-0 \ + libgtk-3-0 \ + fonts-liberation \ + xvfb \ + && rm -rf /var/lib/apt/lists/* + +WORKDIR /app + +# Copy backend requirements and install +COPY backend/requirements.txt ./ +RUN pip install --no-cache-dir -r requirements.txt + +# Install Playwright browsers +RUN playwright install chromium + +# Copy backend code +COPY backend/ ./backend/ + +# Copy built frontend +COPY --from=frontend-builder /app/frontend/dist ./frontend/dist + +# Create cache directory +RUN mkdir -p /app/cache && chmod 777 /app/cache + +# Environment variables +ENV PYTHONUNBUFFERED=1 +ENV CACHE_DIR=/app/cache + +# Expose port +EXPOSE 8002 + +# Health check +HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \ + CMD curl -f http://localhost:8002/health || exit 1 + +# Start the application with xvfb for headless browser support +CMD ["sh", "-c", "xvfb-run --auto-servernum --server-args='-screen 0 1920x1080x24' python -m uvicorn backend.main:app --host 0.0.0.0 --port 8002"] diff --git a/README.md b/README.md new file mode 100644 index 0000000..04a4b8c --- /dev/null +++ b/README.md @@ -0,0 +1,186 @@ +# ๐ŸŽต PureStream + +**Distraction-free TikTok viewing** - A clean, ad-free TikTok client with a beautiful minimal interface. + +![PureStream Demo](https://img.shields.io/badge/Platform-Web-blue) ![Docker](https://img.shields.io/badge/Docker-Ready-blue) ![License](https://img.shields.io/badge/License-MIT-green) + +## โœจ Features + +- ๐ŸŽฌ **Clean Video Feed** - No ads, no distractions, just content +- ๐Ÿ” **Powerful Search** - Search by username, video URL, or keywords +- ๐Ÿ‘ฅ **Follow System** - Keep track of your favorite creators +- ๐Ÿ’พ **Tab Persistence** - Switch tabs without losing your place +- ๐Ÿ‘† **Swipe Navigation** - Swipe left/right to switch tabs (mobile) +- โŒจ๏ธ **Keyboard Controls** - Arrow keys for tabs, Space for pause, Up/Down for scroll +- โค๏ธ **Heart Animations** - Double-tap to show love +- ๐Ÿ”‡ **Smart Autoplay** - Videos autoplay muted (tap to unmute) +- ๐Ÿ“ฑ **Responsive Design** - Works on desktop and mobile +- ๐Ÿณ **Docker Ready** - Easy deployment on any platform + +## ๐Ÿš€ Quick Start + +### Option 1: Docker Compose (Recommended) + +The easiest way to run PureStream on your server or Synology NAS. + +```bash +# Create a directory +mkdir purestream && cd purestream + +# Download docker-compose.yml +curl -O https://raw.githubusercontent.com/YOUR_USERNAME/purestream/main/docker-compose.yml + +# Start the application +docker-compose up -d + +# View logs +docker-compose logs -f +``` + +Access the app at: `http://your-server-ip:8002` + +### Option 2: Docker Run + +```bash +docker run -d \ + --name purestream \ + -p 8002:8002 \ + --shm-size=2g \ + -v purestream_cache:/app/cache \ + -v purestream_session:/app/backend/session \ + vndangkhoa/purestream:latest +``` + +### Option 3: Development Setup + +```bash +# Clone the repository +git clone https://github.com/YOUR_USERNAME/purestream.git +cd purestream + +# Backend setup +cd backend +python -m venv venv +source venv/bin/activate # or `venv\Scripts\activate` on Windows +pip install -r requirements.txt +playwright install chromium + +# Start backend +uvicorn main:app --host 0.0.0.0 --port 8002 --reload + +# Frontend setup (new terminal) +cd frontend +npm install +npm run dev +``` + +## ๐Ÿ–ฅ๏ธ Synology NAS Deployment + +### Using Container Manager (Docker) + +1. **Open Container Manager** โ†’ **Registry** +2. Search for `vndangkhoa/purestream` and download the `latest` tag +3. Go to **Container** โ†’ **Create** +4. Configure: + - **Port Settings**: Local `8002` โ†’ Container `8002` + - **Volume**: Create a folder for cache and map to `/app/cache` + - **Environment**: Add `PYTHONUNBUFFERED=1` + - **Resources**: Allocate at least 2GB RAM (for browser) +5. **Apply** and start the container + +### Using docker-compose on Synology + +```bash +# SSH into your NAS +ssh admin@your-nas-ip + +# Create directory +mkdir -p /volume1/docker/purestream +cd /volume1/docker/purestream + +# Create docker-compose.yml (paste the content from this repo) +nano docker-compose.yml + +# Start +docker-compose up -d +``` + +## โŒจ๏ธ Keyboard Shortcuts + +| Key | Action | +|-----|--------| +| `โ†` `โ†’` | Switch tabs | +| `โ†‘` `โ†“` | Scroll videos | +| `Space` | Play/Pause | +| `M` | Mute/Unmute | + +## ๐Ÿ”ง Environment Variables + +| Variable | Default | Description | +|----------|---------|-------------| +| `CACHE_DIR` | `/app/cache` | Video cache directory | +| `MAX_CACHE_SIZE_MB` | `500` | Maximum cache size in MB | +| `CACHE_TTL_HOURS` | `24` | Cache expiration time | + +## ๐Ÿ“ Project Structure + +``` +purestream/ +โ”œโ”€โ”€ backend/ +โ”‚ โ”œโ”€โ”€ api/ +โ”‚ โ”‚ โ””โ”€โ”€ routes/ +โ”‚ โ”‚ โ”œโ”€โ”€ auth.py # Authentication endpoints +โ”‚ โ”‚ โ””โ”€โ”€ feed.py # Feed & video proxy endpoints +โ”‚ โ”œโ”€โ”€ core/ +โ”‚ โ”‚ โ””โ”€โ”€ playwright_manager.py # Browser automation +โ”‚ โ””โ”€โ”€ main.py # FastAPI application +โ”œโ”€โ”€ frontend/ +โ”‚ โ”œโ”€โ”€ src/ +โ”‚ โ”‚ โ”œโ”€โ”€ components/ +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ Feed.tsx # Main feed component +โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ VideoPlayer.tsx # Video player +โ”‚ โ”‚ โ””โ”€โ”€ App.tsx +โ”‚ โ””โ”€โ”€ package.json +โ”œโ”€โ”€ Dockerfile +โ”œโ”€โ”€ docker-compose.yml +โ””โ”€โ”€ README.md +``` + +## ๐Ÿ” Authentication + +PureStream uses your TikTok session to fetch content. On first launch: + +1. Click **"Login with TikTok"** +2. A browser window opens - log in to TikTok normally +3. Your session is saved locally for future use + +> **Note**: Your credentials are stored locally and never sent to any external server. + +## ๐Ÿ› Troubleshooting + +### Videos not loading? +- Check if the backend is running: `curl http://localhost:8002/health` +- Check logs: `docker-compose logs -f` +- Try re-logging in (sessions can expire) + +### Browser errors on headless server? +- Ensure `shm_size: '2gb'` is set in docker-compose +- Xvfb is included in the Docker image for virtual display + +### Cache issues? +- Clear cache: `docker exec purestream rm -rf /app/cache/*` +- Restart container: `docker-compose restart` + +## ๐Ÿ“„ License + +MIT License - feel free to use, modify, and distribute. + +## ๐Ÿ™ Acknowledgments + +- Built with [FastAPI](https://fastapi.tiangolo.com/) & [React](https://react.dev/) +- Browser automation by [Playwright](https://playwright.dev/) +- Video extraction by [yt-dlp](https://github.com/yt-dlp/yt-dlp) + +--- + +**Made with โค๏ธ for distraction-free viewing** diff --git a/backend/api/__init__.py b/backend/api/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/backend/api/routes/__init__.py b/backend/api/routes/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/backend/api/routes/auth.py b/backend/api/routes/auth.py new file mode 100644 index 0000000..76ea5f7 --- /dev/null +++ b/backend/api/routes/auth.py @@ -0,0 +1,90 @@ +""" +Auth API routes - simplified to use PlaywrightManager. +""" + +from fastapi import APIRouter, Form, HTTPException +from pydantic import BaseModel +import os +import json + +from core.playwright_manager import PlaywrightManager, COOKIES_FILE + +router = APIRouter() + + +class BrowserLoginResponse(BaseModel): + status: str + message: str + cookie_count: int = 0 + + +class CredentialsRequest(BaseModel): + credentials: dict # JSON credentials in http.headers format + + +@router.post("/browser-login", response_model=BrowserLoginResponse) +async def browser_login(): + """ + Open a visible browser window for user to login to TikTok via SSL. + Waits for login completion (detected via sessionid cookie) and captures cookies. + """ + try: + result = await PlaywrightManager.browser_login(timeout_seconds=180) + return BrowserLoginResponse( + status=result["status"], + message=result["message"], + cookie_count=result.get("cookie_count", 0) + ) + except Exception as e: + print(f"DEBUG: Browser login error: {e}") + raise HTTPException(status_code=500, detail=str(e)) + + +@router.post("/credentials") +async def save_credentials(request: CredentialsRequest): + """ + Save JSON credentials (advanced login option). + Accepts the http.headers.Cookie format. + """ + try: + cookies, user_agent = PlaywrightManager.parse_json_credentials(request.credentials) + + if not cookies: + raise HTTPException(status_code=400, detail="No cookies found in credentials") + + # Convert to dict format for storage + cookie_dict = {c["name"]: c["value"] for c in cookies} + PlaywrightManager.save_credentials(cookie_dict, user_agent) + + return { + "status": "success", + "message": f"Saved {len(cookies)} cookies", + "cookie_count": len(cookies) + } + except Exception as e: + raise HTTPException(status_code=500, detail=str(e)) + + +@router.get("/status") +async def auth_status(): + """Check if we have stored cookies.""" + if os.path.exists(COOKIES_FILE) and os.path.getsize(COOKIES_FILE) > 0: + try: + with open(COOKIES_FILE, "r") as f: + cookies = json.load(f) + has_session = "sessionid" in cookies + return { + "authenticated": has_session, + "cookie_count": len(cookies) + } + except: + pass + return {"authenticated": False, "cookie_count": 0} + + +@router.post("/logout") +async def logout(): + """Clear stored credentials.""" + if os.path.exists(COOKIES_FILE): + os.remove(COOKIES_FILE) + return {"status": "success", "message": "Logged out"} diff --git a/backend/api/routes/config.py b/backend/api/routes/config.py new file mode 100644 index 0000000..ff2718c --- /dev/null +++ b/backend/api/routes/config.py @@ -0,0 +1,89 @@ +""" +Config API route - allows frontend to fetch settings from server. +""" + +from fastapi import APIRouter +from pydantic import BaseModel +from typing import List, Optional +import json +import os + +router = APIRouter() + +# Config file path +CONFIG_FILE = os.path.join(os.path.dirname(__file__), "../../config.json") + +# Default config +DEFAULT_CONFIG = { + "proxy_mode": "auto", # "thin" (faster, CDN), "full" (yt-dlp), or "auto" (prefer thin) + "cache_enabled": True, + "cache_max_mb": 500, + "suggested_accounts": [ + {"username": "@ciin_rubi", "label": "๐Ÿ‘‘ CiiN - Lisa of Vietnam"}, + {"username": "@hoaa.hanassii", "label": "๐Ÿ’ƒ ฤร o Lรช Phฦฐฦกng Hoa - Queen of Wiggle"}, + {"username": "@hoa_2309", "label": "๐Ÿ”ฅ Ngรด Ngแปc Hรฒa - Hot Trend"}, + {"username": "@minah.ne", "label": "๐ŸŽต Minah - K-pop Dancer"}, + {"username": "@lebong95", "label": "๐Ÿ’ช Lรช Bแป‘ng - Fitness Dance"}, + {"username": "@po.trann77", "label": "โœจ Trแบงn Thanh Tรขm"}, + {"username": "@gamkami", "label": "๐ŸŽฑ Gแบฅm Kami - Cute Style"}, + {"username": "@quynhalee", "label": "๐ŸŽฎ Quแปณnh Alee - Gaming Dance"}, + {"username": "@tieu_hy26", "label": "๐Ÿ‘ฐ Tiแปƒu Hรฝ - National Wife"}, + {"username": "@changmie", "label": "๐ŸŽค Changmie - Singer/Mashups"}, + {"username": "@vuthuydien", "label": "๐Ÿ˜„ Vลฉ Thแปฅy ฤiแปƒn - Humor"}, + ], + "app_name": "PureStream", + "version": "1.0.0" +} + + +def load_config() -> dict: + """Load config from file or return default.""" + try: + if os.path.exists(CONFIG_FILE): + with open(CONFIG_FILE, "r") as f: + return json.load(f) + except Exception as e: + print(f"Config load error: {e}") + + return DEFAULT_CONFIG.copy() + + +def save_config(config: dict): + """Save config to file.""" + try: + with open(CONFIG_FILE, "w") as f: + json.dump(config, f, indent=2, ensure_ascii=False) + except Exception as e: + print(f"Config save error: {e}") + + +@router.get("") +async def get_config(): + """Get app configuration for frontend.""" + return load_config() + + +class ConfigUpdate(BaseModel): + """Config update request.""" + proxy_mode: Optional[str] = None + cache_enabled: Optional[bool] = None + cache_max_mb: Optional[int] = None + suggested_accounts: Optional[List[dict]] = None + + +@router.patch("") +async def update_config(updates: ConfigUpdate): + """Update specific config values.""" + config = load_config() + + if updates.proxy_mode is not None: + config["proxy_mode"] = updates.proxy_mode + if updates.cache_enabled is not None: + config["cache_enabled"] = updates.cache_enabled + if updates.cache_max_mb is not None: + config["cache_max_mb"] = updates.cache_max_mb + if updates.suggested_accounts is not None: + config["suggested_accounts"] = updates.suggested_accounts + + save_config(config) + return config diff --git a/backend/api/routes/download.py b/backend/api/routes/download.py new file mode 100644 index 0000000..d4a442d --- /dev/null +++ b/backend/api/routes/download.py @@ -0,0 +1,40 @@ +from fastapi import APIRouter, HTTPException +from pydantic import BaseModel +from core.download_service import download_service +from fastapi.responses import FileResponse +import os + +router = APIRouter() + +class DownloadRequest(BaseModel): + url: str + +@router.post("") +async def download_video(req: DownloadRequest): + result = await download_service.download_video(req.url) + + if result["status"] == "error": + raise HTTPException(status_code=500, detail=result["message"]) + + # In a real app, we might upload to cloud storage and return a URL + # Or stream it. For now, let's return the file info. + # To actually serve the file, we can add a GET endpoint or return FileResponse here + # (though returning FileResponse on POST is valid but less common for "trigger download" flows). + + return result + +@router.get("/file/{video_id}") +async def get_downloaded_file(video_id: str): + # Security risk: path traversal. MVP only. + # We need to find the file extension... or just allow the service to return the full path in the previous call + # Let's assume content content-disposition + # This is a bit tricky without knowing the extension. + # For MVP, we'll search the dir. + + download_dir = "downloads" + for filename in os.listdir(download_dir): + if filename.startswith(video_id): + return FileResponse(path=os.path.join(download_dir, filename), filename=filename) + + raise HTTPException(status_code=404, detail="File not found") + diff --git a/backend/api/routes/feed.py b/backend/api/routes/feed.py new file mode 100644 index 0000000..9e0fcaf --- /dev/null +++ b/backend/api/routes/feed.py @@ -0,0 +1,369 @@ +""" +Feed API routes with LRU video cache for mobile optimization. +""" + +from fastapi import APIRouter, Query, HTTPException, Request +from fastapi.responses import StreamingResponse, FileResponse +from pydantic import BaseModel +from typing import Optional +import httpx +import os +import json +import tempfile +import asyncio +import hashlib +import time +import shutil + +from core.playwright_manager import PlaywrightManager + +router = APIRouter() + +# ========== LRU VIDEO CACHE ========== +CACHE_DIR = os.path.join(tempfile.gettempdir(), "purestream_cache") +MAX_CACHE_SIZE_MB = 500 # Limit cache to 500MB +MAX_CACHE_FILES = 30 # Keep max 30 videos cached +CACHE_TTL_HOURS = 2 # Videos expire after 2 hours + +def init_cache(): + """Initialize cache directory.""" + os.makedirs(CACHE_DIR, exist_ok=True) + cleanup_old_cache() + +def get_cache_key(url: str) -> str: + """Generate cache key from URL.""" + return hashlib.md5(url.encode()).hexdigest() + +def get_cached_path(url: str) -> Optional[str]: + """Check if video is cached and not expired.""" + cache_key = get_cache_key(url) + cached_file = os.path.join(CACHE_DIR, f"{cache_key}.mp4") + + if os.path.exists(cached_file): + # Check TTL + file_age_hours = (time.time() - os.path.getmtime(cached_file)) / 3600 + if file_age_hours < CACHE_TTL_HOURS: + # Touch file to update LRU + os.utime(cached_file, None) + return cached_file + else: + # Expired, delete + os.unlink(cached_file) + + return None + +def save_to_cache(url: str, source_path: str) -> str: + """Save video to cache, return cached path.""" + cache_key = get_cache_key(url) + cached_file = os.path.join(CACHE_DIR, f"{cache_key}.mp4") + + # Copy to cache + shutil.copy2(source_path, cached_file) + + # Enforce cache limits + enforce_cache_limits() + + return cached_file + +def enforce_cache_limits(): + """Remove old files if cache exceeds limits.""" + if not os.path.exists(CACHE_DIR): + return + + files = [] + total_size = 0 + + for f in os.listdir(CACHE_DIR): + fpath = os.path.join(CACHE_DIR, f) + if os.path.isfile(fpath): + stat = os.stat(fpath) + files.append((fpath, stat.st_mtime, stat.st_size)) + total_size += stat.st_size + + # Sort by modification time (oldest first) + files.sort(key=lambda x: x[1]) + + # Remove oldest until under limits + max_bytes = MAX_CACHE_SIZE_MB * 1024 * 1024 + + while (len(files) > MAX_CACHE_FILES or total_size > max_bytes) and files: + oldest = files.pop(0) + try: + os.unlink(oldest[0]) + total_size -= oldest[2] + print(f"CACHE: Removed {oldest[0]} (LRU)") + except: + pass + +def cleanup_old_cache(): + """Remove expired files on startup.""" + if not os.path.exists(CACHE_DIR): + return + + now = time.time() + for f in os.listdir(CACHE_DIR): + fpath = os.path.join(CACHE_DIR, f) + if os.path.isfile(fpath): + age_hours = (now - os.path.getmtime(fpath)) / 3600 + if age_hours > CACHE_TTL_HOURS: + try: + os.unlink(fpath) + print(f"CACHE: Expired {f}") + except: + pass + +def get_cache_stats() -> dict: + """Get cache statistics.""" + if not os.path.exists(CACHE_DIR): + return {"files": 0, "size_mb": 0} + + total = 0 + count = 0 + for f in os.listdir(CACHE_DIR): + fpath = os.path.join(CACHE_DIR, f) + if os.path.isfile(fpath): + total += os.path.getsize(fpath) + count += 1 + + return {"files": count, "size_mb": round(total / 1024 / 1024, 2)} + +# Initialize cache on module load +init_cache() + +# ========== API ROUTES ========== + +class FeedRequest(BaseModel): + """Request body for feed endpoint with optional JSON credentials.""" + credentials: Optional[dict] = None + + +@router.post("") +async def get_feed(request: FeedRequest = None): + """Get TikTok feed using network interception.""" + cookies = None + user_agent = None + + if request and request.credentials: + cookies, user_agent = PlaywrightManager.parse_json_credentials(request.credentials) + print(f"DEBUG: Using provided credentials ({len(cookies)} cookies)") + + try: + videos = await PlaywrightManager.intercept_feed(cookies, user_agent) + return videos + except Exception as e: + print(f"DEBUG: Feed error: {e}") + raise HTTPException(status_code=500, detail=str(e)) + + +@router.get("") +async def get_feed_simple(fast: bool = False): + """Simple GET endpoint to fetch feed using stored credentials.""" + try: + # Fast mode = 0 scrolls (just initial batch), Normal = 5 scrolls + scroll_count = 0 if fast else 5 + videos = await PlaywrightManager.intercept_feed(scroll_count=scroll_count) + return videos + except Exception as e: + print(f"DEBUG: Feed error: {e}") + raise HTTPException(status_code=500, detail=str(e)) + + +@router.get("/cache-stats") +async def cache_stats(): + """Get video cache statistics.""" + return get_cache_stats() + + +@router.delete("/cache") +async def clear_cache(): + """Clear video cache.""" + if os.path.exists(CACHE_DIR): + shutil.rmtree(CACHE_DIR, ignore_errors=True) + os.makedirs(CACHE_DIR, exist_ok=True) + return {"status": "cleared"} + + +@router.get("/proxy") +async def proxy_video( + url: str = Query(..., description="The TikTok video URL to proxy"), + download: bool = Query(False, description="Force download with attachment header") +): + """ + Proxy video with LRU caching for mobile optimization. + Cache hit = instant playback, cache miss = download and cache. + """ + import yt_dlp + import re + + # Check cache first + cached_path = get_cached_path(url) + if cached_path: + print(f"CACHE HIT: {url[:50]}...") + + response_headers = {} + if download: + video_id_match = re.search(r'/video/(\d+)', url) + video_id = video_id_match.group(1) if video_id_match else "tiktok_video" + response_headers["Content-Disposition"] = f'attachment; filename="{video_id}.mp4"' + + return FileResponse( + cached_path, + media_type="video/mp4", + headers=response_headers + ) + + print(f"CACHE MISS: {url[:50]}... (downloading)") + + # Load stored credentials + cookies, user_agent = PlaywrightManager.load_stored_credentials() + + # Create temp file for download + temp_dir = tempfile.mkdtemp() + output_template = os.path.join(temp_dir, "video.%(ext)s") + + # Create cookies file for yt-dlp + cookie_file_path = None + if cookies: + cookie_file = tempfile.NamedTemporaryFile(mode='w', suffix='.txt', delete=False) + cookie_file.write("# Netscape HTTP Cookie File\n") + for c in cookies: + cookie_file.write(f".tiktok.com\tTRUE\t/\tFALSE\t0\t{c['name']}\t{c['value']}\n") + cookie_file.close() + cookie_file_path = cookie_file.name + + ydl_opts = { + 'format': 'best[ext=mp4]/best', + 'outtmpl': output_template, + 'quiet': True, + 'no_warnings': True, + 'http_headers': { + 'User-Agent': user_agent, + 'Referer': 'https://www.tiktok.com/' + } + } + + if cookie_file_path: + ydl_opts['cookiefile'] = cookie_file_path + + video_path = None + + try: + loop = asyncio.get_event_loop() + + def download_video(): + with yt_dlp.YoutubeDL(ydl_opts) as ydl: + info = ydl.extract_info(url, download=True) + ext = info.get('ext', 'mp4') + return os.path.join(temp_dir, f"video.{ext}") + + video_path = await loop.run_in_executor(None, download_video) + + if not os.path.exists(video_path): + raise Exception("Video file not created") + + # Save to cache for future requests + cached_path = save_to_cache(url, video_path) + stats = get_cache_stats() + print(f"CACHED: {url[:50]}... ({stats['files']} files, {stats['size_mb']}MB total)") + + except Exception as e: + print(f"DEBUG: yt-dlp download failed: {e}") + # Cleanup + if cookie_file_path and os.path.exists(cookie_file_path): + os.unlink(cookie_file_path) + if os.path.exists(temp_dir): + shutil.rmtree(temp_dir, ignore_errors=True) + raise HTTPException(status_code=500, detail=f"Could not download video: {e}") + + # Cleanup temp (cached file is separate) + if cookie_file_path and os.path.exists(cookie_file_path): + os.unlink(cookie_file_path) + shutil.rmtree(temp_dir, ignore_errors=True) + + # Return from cache + response_headers = {} + if download: + video_id_match = re.search(r'/video/(\d+)', url) + video_id = video_id_match.group(1) if video_id_match else "tiktok_video" + response_headers["Content-Disposition"] = f'attachment; filename="{video_id}.mp4"' + + return FileResponse( + cached_path, + media_type="video/mp4", + headers=response_headers + ) + + +@router.get("/thin-proxy") +async def thin_proxy_video( + request: Request, + cdn_url: str = Query(..., description="Direct TikTok CDN URL") +): + """ + Thin proxy - just forwards CDN requests with proper headers. + Supports Range requests for buffering and seeking. + """ + + # Load stored credentials for headers + cookies, user_agent = PlaywrightManager.load_stored_credentials() + + headers = { + "User-Agent": user_agent or PlaywrightManager.DEFAULT_USER_AGENT, + "Referer": "https://www.tiktok.com/", + "Accept": "*/*", + "Accept-Language": "en-US,en;q=0.9", + "Origin": "https://www.tiktok.com", + } + + # Add cookies as header if available + if cookies: + cookie_str = "; ".join([f"{c['name']}={c['value']}" for c in cookies]) + headers["Cookie"] = cookie_str + + # Forward Range header if present + client_range = request.headers.get("Range") + if client_range: + headers["Range"] = client_range + + try: + # Create client outside stream generator to access response headers first + client = httpx.AsyncClient(timeout=60.0, follow_redirects=True) + # We need to manually close this client later or use it in the generator + + # Start the request to get headers (without reading body yet) + req = client.build_request("GET", cdn_url, headers=headers) + r = await client.send(req, stream=True) + + async def stream_from_cdn(): + try: + async for chunk in r.aiter_bytes(chunk_size=64 * 1024): + yield chunk + finally: + await r.aclose() + await client.aclose() + + response_headers = { + "Accept-Ranges": "bytes", + "Cache-Control": "public, max-age=3600", + "Content-Type": r.headers.get("Content-Type", "video/mp4"), + } + + # Forward Content-Length and Content-Range + if "Content-Length" in r.headers: + response_headers["Content-Length"] = r.headers["Content-Length"] + if "Content-Range" in r.headers: + response_headers["Content-Range"] = r.headers["Content-Range"] + + status_code = r.status_code + + return StreamingResponse( + stream_from_cdn(), + status_code=status_code, + media_type="video/mp4", + headers=response_headers + ) + + except Exception as e: + print(f"Thin proxy error: {e}") + # Ensure cleanup if possible + raise HTTPException(status_code=500, detail=str(e)) diff --git a/backend/api/routes/following.py b/backend/api/routes/following.py new file mode 100644 index 0000000..4ca1cd1 --- /dev/null +++ b/backend/api/routes/following.py @@ -0,0 +1,65 @@ +""" +Following API routes - manage followed creators. +""" + +from fastapi import APIRouter, HTTPException +from pydantic import BaseModel +import os +import json + +router = APIRouter() + +FOLLOWING_FILE = "following.json" + + +def load_following() -> list: + """Load list of followed creators.""" + if os.path.exists(FOLLOWING_FILE): + try: + with open(FOLLOWING_FILE, 'r') as f: + return json.load(f) + except: + return [] + return [] + + +def save_following(following: list): + """Save list of followed creators.""" + with open(FOLLOWING_FILE, 'w') as f: + json.dump(following, f, indent=2) + + +class FollowRequest(BaseModel): + username: str + + +@router.get("") +async def get_following(): + """Get list of followed creators.""" + return load_following() + + +@router.post("") +async def add_following(request: FollowRequest): + """Add a creator to following list.""" + username = request.username.lstrip('@') + following = load_following() + + if username not in following: + following.append(username) + save_following(following) + + return {"status": "success", "following": following} + + +@router.delete("/{username}") +async def remove_following(username: str): + """Remove a creator from following list.""" + username = username.lstrip('@') + following = load_following() + + if username in following: + following.remove(username) + save_following(following) + + return {"status": "success", "following": following} diff --git a/backend/api/routes/user.py b/backend/api/routes/user.py new file mode 100644 index 0000000..6a57783 --- /dev/null +++ b/backend/api/routes/user.py @@ -0,0 +1,157 @@ +""" +User profile API - fetch real TikTok user data. +""" + +from fastapi import APIRouter, Query, HTTPException +from pydantic import BaseModel +from typing import Optional, List +import httpx +import asyncio + +from core.playwright_manager import PlaywrightManager + +router = APIRouter() + + +class UserProfile(BaseModel): + """TikTok user profile data.""" + username: str + nickname: Optional[str] = None + avatar: Optional[str] = None + bio: Optional[str] = None + followers: Optional[int] = None + following: Optional[int] = None + likes: Optional[int] = None + verified: bool = False + + +@router.get("/profile") +async def get_user_profile(username: str = Query(..., description="TikTok username (without @)")): + """ + Fetch real TikTok user profile data. + """ + username = username.replace("@", "") + + # Load stored credentials + cookies, user_agent = PlaywrightManager.load_stored_credentials() + + if not cookies: + raise HTTPException(status_code=401, detail="Not authenticated") + + # Build cookie header + cookie_str = "; ".join([f"{c['name']}={c['value']}" for c in cookies]) + + headers = { + "User-Agent": user_agent or PlaywrightManager.DEFAULT_USER_AGENT, + "Referer": "https://www.tiktok.com/", + "Cookie": cookie_str, + "Accept": "application/json", + } + + # Try to fetch user data from TikTok's internal API + profile_url = f"https://www.tiktok.com/api/user/detail/?uniqueId={username}" + + try: + async with httpx.AsyncClient(timeout=10.0, follow_redirects=True) as client: + response = await client.get(profile_url, headers=headers) + + if response.status_code != 200: + # Fallback - return basic info + return UserProfile(username=username) + + data = response.json() + user_info = data.get("userInfo", {}) + user = user_info.get("user", {}) + stats = user_info.get("stats", {}) + + return UserProfile( + username=username, + nickname=user.get("nickname"), + avatar=user.get("avatarLarger") or user.get("avatarMedium"), + bio=user.get("signature"), + followers=stats.get("followerCount"), + following=stats.get("followingCount"), + likes=stats.get("heartCount"), + verified=user.get("verified", False) + ) + + except Exception as e: + print(f"Error fetching profile for {username}: {e}") + # Return basic fallback + return UserProfile(username=username) + + +@router.get("/profiles") +async def get_multiple_profiles(usernames: str = Query(..., description="Comma-separated usernames")): + """ + Fetch multiple TikTok user profiles at once. + """ + username_list = [u.strip().replace("@", "") for u in usernames.split(",") if u.strip()] + + if len(username_list) > 20: + raise HTTPException(status_code=400, detail="Max 20 usernames at once") + + # Fetch all profiles concurrently + tasks = [get_user_profile(u) for u in username_list] + results = await asyncio.gather(*tasks, return_exceptions=True) + + profiles = [] + for i, result in enumerate(results): + if isinstance(result, Exception): + profiles.append(UserProfile(username=username_list[i])) + else: + profiles.append(result) + + return profiles + + +@router.get("/videos") +async def get_user_videos( + username: str = Query(..., description="TikTok username (without @)"), + limit: int = Query(10, description="Max videos to fetch", ge=1, le=30) +): + """ + Fetch videos from a TikTok user's profile. + Uses Playwright to intercept the user's video list API. + """ + username = username.replace("@", "") + + # Load stored credentials + cookies, user_agent = PlaywrightManager.load_stored_credentials() + + if not cookies: + raise HTTPException(status_code=401, detail="Not authenticated") + + print(f"Fetching videos for @{username}...") + + try: + videos = await PlaywrightManager.fetch_user_videos(username, cookies, user_agent, limit) + return {"username": username, "videos": videos, "count": len(videos)} + except Exception as e: + print(f"Error fetching videos for {username}: {e}") + raise HTTPException(status_code=500, detail=str(e)) + + +@router.get("/search") +async def search_videos( + query: str = Query(..., description="Search keyword or hashtag"), + limit: int = Query(12, description="Max videos to fetch", ge=1, le=30) +): + """ + Search for videos by keyword or hashtag. + Uses Playwright to intercept TikTok search results. + """ + # Load stored credentials + cookies, user_agent = PlaywrightManager.load_stored_credentials() + + if not cookies: + raise HTTPException(status_code=401, detail="Not authenticated") + + print(f"Searching for: {query}...") + + try: + videos = await PlaywrightManager.search_videos(query, cookies, user_agent, limit) + return {"query": query, "videos": videos, "count": len(videos)} + except Exception as e: + print(f"Error searching for {query}: {e}") + raise HTTPException(status_code=500, detail=str(e)) diff --git a/backend/core/__init__.py b/backend/core/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/backend/core/download_service.py b/backend/core/download_service.py new file mode 100644 index 0000000..7957c3f --- /dev/null +++ b/backend/core/download_service.py @@ -0,0 +1,38 @@ +import yt_dlp +import os +import asyncio + +class DownloadService: + def __init__(self): + self.download_dir = "downloads" + if not os.path.exists(self.download_dir): + os.makedirs(self.download_dir) + + async def download_video(self, url: str) -> dict: + """ + Download video using yt-dlp and return metadata/file path. + """ + ydl_opts = { + 'format': 'best', + 'outtmpl': f'{self.download_dir}/%(id)s.%(ext)s', + 'noplaylist': True, + 'quiet': True, + } + + loop = asyncio.get_event_loop() + + # Run synchronous yt-dlp in a separate thread + try: + with yt_dlp.YoutubeDL(ydl_opts) as ydl: + info = await loop.run_in_executor(None, lambda: ydl.extract_info(url, download=True)) + filename = ydl.prepare_filename(info) + return { + "status": "success", + "filename": filename, + "title": info.get('title'), + "id": info.get('id') + } + except Exception as e: + return {"status": "error", "message": str(e)} + +download_service = DownloadService() diff --git a/backend/core/feed_service.py b/backend/core/feed_service.py new file mode 100644 index 0000000..9444f0a --- /dev/null +++ b/backend/core/feed_service.py @@ -0,0 +1,302 @@ +from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig, CacheMode, LLMConfig +from crawl4ai.extraction_strategy import LLMExtractionStrategy +from pydantic import BaseModel, Field +import os +import json +import asyncio +from typing import List, Optional +import yt_dlp +from cachetools import TTLCache +import time + +class VideoSchema(BaseModel): + url: str = Field(..., description="The URL to the video content") + description: str = Field(..., description="The video caption/description") + author: str = Field(..., description="The username of the creator") + +class FeedService: + # Class-level TTL cache for feed results (60 second expiry, max 10 entries) + _feed_cache: TTLCache = TTLCache(maxsize=10, ttl=60) + _browser_warmed_up: bool = False + _persistent_session_id: str = "tiktok_feed_session" + + def __init__(self): + self.api_key = os.getenv("OPENAI_API_KEY") + + async def warmup(self): + """Pre-warm the browser session on startup for faster first request.""" + if FeedService._browser_warmed_up: + return + + print("DEBUG: Warming up browser session...") + try: + browser_config = BrowserConfig(headless=True, java_script_enabled=True) + run_config = CrawlerRunConfig( + cache_mode=CacheMode.BYPASS, + session_id=FeedService._persistent_session_id, + wait_until="domcontentloaded" + ) + async with AsyncWebCrawler(config=browser_config) as crawler: + await crawler.arun(url="https://www.tiktok.com", config=run_config) + FeedService._browser_warmed_up = True + print("DEBUG: Browser session warmed up successfully!") + except Exception as e: + print(f"DEBUG: Warmup failed (non-critical): {e}") + + async def _resolve_video_url(self, url: str) -> Optional[str]: + """Resolve direct media URL using yt-dlp.""" + cookie_header = "" + user_agent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36" + + if os.path.exists("cookies.json"): + try: + with open("cookies.json", 'r') as f: + cookies_dict = json.load(f) + cookie_header = "; ".join([f"{k}={v}" for k, v in cookies_dict.items()]) + except Exception as e: + print(f"Error preparing cookies for yt-dlp: {e}") + + if os.path.exists("session_metadata.json"): + try: + with open("session_metadata.json", "r") as f: + meta = json.load(f) + user_agent = meta.get("user_agent", user_agent) + except: + pass + + ydl_opts = { + 'quiet': True, + 'no_warnings': True, + 'format': 'best', + 'http_headers': { + 'Cookie': cookie_header, + 'User-Agent': user_agent + } if cookie_header else None, + 'socket_timeout': 10, + } + + try: + loop = asyncio.get_event_loop() + with yt_dlp.YoutubeDL(ydl_opts) as ydl: + info = await loop.run_in_executor(None, lambda: ydl.extract_info(url, download=False)) + return info.get('url') + except Exception as e: + print(f"Failed to resolve URL {url}: {e}") + return None + + async def get_feed(self, source_url: str = "https://www.tiktok.com/foryou", skip_cache: bool = False) -> List[dict]: + # Check cache first (unless skip_cache is True for infinite scroll) + cache_key = source_url + if not skip_cache and cache_key in FeedService._feed_cache: + print(f"DEBUG: Returning cached results for {source_url}") + return FeedService._feed_cache[cache_key] + + # 1. Load cookies + crawl_cookies = [] + cookies_path = "cookies.json" + own_user_id = None # Track logged-in user's ID to filter out their videos + + if os.path.exists(cookies_path): + try: + with open(cookies_path, 'r') as f: + cookie_dict = json.load(f) + # Extract the logged-in user's ID from cookies + own_user_id = cookie_dict.get("living_user_id") + + for k, v in cookie_dict.items(): + crawl_cookies.append({ + "name": k, + "value": v, + "domain": ".tiktok.com", + "path": "/" + }) + print(f"DEBUG: Loaded {len(crawl_cookies)} cookies. User ID: {own_user_id}") + except Exception as e: + print(f"Error loading cookies: {e}") + + # 2. Config Crawler + default_ua = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" + user_agent = default_ua + if os.path.exists("session_metadata.json"): + try: + with open("session_metadata.json", "r") as f: + meta = json.load(f) + user_agent = meta.get("user_agent", default_ua) + except: + pass + + browser_config = BrowserConfig( + headless=True, + java_script_enabled=True, + cookies=crawl_cookies if crawl_cookies else None, + headers={ + "User-Agent": user_agent + } + ) + + # Aggressive scrolling to load many videos (12 scrolls = ~30+ videos) + run_config = CrawlerRunConfig( + cache_mode=CacheMode.BYPASS, + session_id=FeedService._persistent_session_id, + js_code=""" + // Scroll aggressively to load ~30 videos + for (let i = 0; i < 12; i++) { + window.scrollBy(0, 1500); + await new Promise(r => setTimeout(r, 800)); + } + """, + wait_for="body", + wait_until="domcontentloaded", + delay_before_return_html=10.0, + page_timeout=60000, + magic=True + ) + + try: + print(f"DEBUG: Starting crawl for: {source_url}") + async with AsyncWebCrawler(config=browser_config) as crawler: + result = await asyncio.wait_for( + crawler.arun(url=source_url, config=run_config), + timeout=90.0 + ) + + print(f"DEBUG: Crawl Success: {result.success}") + if not result.success: + print(f"DEBUG: Crawl Error: {result.error_message}") + return [] + + # Parse SIGI_STATE from HTML (TikTok's embedded data) + html = result.html if result.html else "" + videos = [] + + # Try to find video links directly from HTML + import re + + # TikTok uses relative URLs like /@username/video/1234567890 + video_pattern = r'/@([a-zA-Z0-9_.]+)/video/(\d+)' + matches = re.findall(video_pattern, html) + + # Dedupe by video ID, skip own videos, and keep first 20 + seen_ids = set() + unique_videos = [] + skipped_own = 0 + for author, video_id in matches: + # Skip videos from the logged-in user's account + if own_user_id and author == own_user_id: + skipped_own += 1 + continue + + if video_id not in seen_ids: + seen_ids.add(video_id) + unique_videos.append((author, video_id)) + if len(unique_videos) >= 30: # Get up to 30 videos per batch + break + + if skipped_own > 0: + print(f"DEBUG: Skipped {skipped_own} videos from own account") + + print(f"DEBUG: Found {len(unique_videos)} unique videos in HTML") + print(f"DEBUG: HTML length: {len(html)} characters") + + # Debug: Save HTML to file for inspection + try: + with open("debug_tiktok.html", "w") as f: + f.write(html) + print("DEBUG: Saved HTML to debug_tiktok.html") + except: + pass + + if unique_videos: + # Build video objects (author and video_id already extracted) + for author, video_id in unique_videos: + videos.append({ + "url": f"https://www.tiktok.com/@{author}/video/{video_id}", + "author": author, + "description": f"Video by @{author}" + }) + + # Resolve direct URLs in parallel + print(f"DEBUG: Resolving direct URLs for {len(videos)} videos...") + + async def resolve_item(item): + direct_url = await self._resolve_video_url(item['url']) + if direct_url: + item['url'] = direct_url + return item + return None + + resolved_items = await asyncio.gather(*[resolve_item(item) for item in videos]) + final_results = [item for item in resolved_items if item] + + # Cache results + if final_results: + FeedService._feed_cache[cache_key] = final_results + print(f"DEBUG: Cached {len(final_results)} videos") + + return final_results + else: + print("DEBUG: No video IDs found in HTML, trying SIGI_STATE...") + + # Try parsing SIGI_STATE JSON + sigi_pattern = r'' + sigi_match = re.search(sigi_pattern, html, re.DOTALL) + + if sigi_match: + try: + sigi_data = json.loads(sigi_match.group(1)) + items = sigi_data.get("ItemModule", {}) + + for item_id, item_data in list(items.items())[:10]: + author = item_data.get("author", "unknown") + desc = item_data.get("desc", "") + video_url = f"https://www.tiktok.com/@{author}/video/{item_id}" + + videos.append({ + "url": video_url, + "author": author, + "description": desc or f"Video by @{author}" + }) + + if videos: + # Resolve URLs + async def resolve_item(item): + direct_url = await self._resolve_video_url(item['url']) + if direct_url: + item['url'] = direct_url + return item + return None + + resolved_items = await asyncio.gather(*[resolve_item(item) for item in videos]) + final_results = [item for item in resolved_items if item] + + if final_results: + FeedService._feed_cache[cache_key] = final_results + print(f"DEBUG: Cached {len(final_results)} videos from SIGI_STATE") + + return final_results + except Exception as e: + print(f"DEBUG: Failed to parse SIGI_STATE: {e}") + + return [] + + except asyncio.TimeoutError: + print("DEBUG: Crawl timed out after 90s") + return [] + except Exception as e: + print(f"DEBUG: Crawl process failed: {e}") + return [] + + async def search_videos(self, query: str) -> List[dict]: + search_url = f"https://www.tiktok.com/search?q={query}" + return await self.get_feed(source_url=search_url) + + async def check_cookie_health(self) -> bool: + """Check if cookies are still valid by hitting a simple endpoint.""" + if not os.path.exists("cookies.json"): + return False + + # In a real scenario, we'd hit https://www.tiktok.com/api/user/detail/ or similar + # For now, we'll just check if the file exists and is non-empty + return os.path.getsize("cookies.json") > 0 + +feed_service = FeedService() diff --git a/backend/core/playwright_manager.py b/backend/core/playwright_manager.py new file mode 100644 index 0000000..17387e8 --- /dev/null +++ b/backend/core/playwright_manager.py @@ -0,0 +1,509 @@ +""" +PlaywrightManager - Core class for TikTok network interception. + +Uses Playwright to: +1. Parse cookies from JSON format +2. Handle browser-based SSL login +3. Intercept /item_list API responses (instead of scraping HTML) +""" + +import asyncio +import json +import os +from typing import List, Dict, Optional +from playwright.async_api import async_playwright, Response, Browser, BrowserContext + + +COOKIES_FILE = "cookies.json" +USER_AGENT_FILE = "user_agent.json" + + +class PlaywrightManager: + """Manages Playwright browser for TikTok feed interception.""" + + # Anti-detection browser args + BROWSER_ARGS = [ + "--disable-blink-features=AutomationControlled", + "--no-sandbox", + "--disable-dev-shm-usage", + ] + + DEFAULT_USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" + + @staticmethod + def parse_json_credentials(json_creds: dict) -> tuple[List[dict], str]: + """ + Parse JSON credentials in the format: + { + "http": { + "headers": {"User-Agent": "...", "Cookie": "..."}, + "cookies": {"sessionid": "...", "ttwid": "..."} + } + } + + Returns: (cookies_list, user_agent) + """ + cookies = [] + user_agent = PlaywrightManager.DEFAULT_USER_AGENT + + http_data = json_creds.get("http", {}) + headers = http_data.get("headers", {}) + cookies_dict = http_data.get("cookies", {}) + + # Get User-Agent from headers + if "User-Agent" in headers: + user_agent = headers["User-Agent"] + + # Parse cookies from the cookies dict (preferred) + if cookies_dict: + for name, value in cookies_dict.items(): + cookies.append({ + "name": name, + "value": str(value), + "domain": ".tiktok.com", + "path": "/" + }) + # Fallback: parse from Cookie header string + elif "Cookie" in headers: + cookie_str = headers["Cookie"] + for part in cookie_str.split(";"): + part = part.strip() + if "=" in part: + name, value = part.split("=", 1) + cookies.append({ + "name": name.strip(), + "value": value.strip(), + "domain": ".tiktok.com", + "path": "/" + }) + + return cookies, user_agent + + @staticmethod + def load_stored_credentials() -> tuple[List[dict], str]: + """Load cookies and user agent from stored files.""" + cookies = [] + user_agent = PlaywrightManager.DEFAULT_USER_AGENT + + if os.path.exists(COOKIES_FILE): + try: + with open(COOKIES_FILE, "r") as f: + cookie_dict = json.load(f) + for name, value in cookie_dict.items(): + cookies.append({ + "name": name, + "value": str(value), + "domain": ".tiktok.com", + "path": "/" + }) + except Exception as e: + print(f"Error loading cookies: {e}") + + if os.path.exists(USER_AGENT_FILE): + try: + with open(USER_AGENT_FILE, "r") as f: + data = json.load(f) + user_agent = data.get("user_agent", user_agent) + except: + pass + + return cookies, user_agent + + @staticmethod + def save_credentials(cookies: dict, user_agent: str): + """Save cookies and user agent to files.""" + with open(COOKIES_FILE, "w") as f: + json.dump(cookies, f, indent=2) + + with open(USER_AGENT_FILE, "w") as f: + json.dump({"user_agent": user_agent}, f) + + @staticmethod + async def browser_login(timeout_seconds: int = 180) -> dict: + """ + Open visible browser for user to login via TikTok's SSL login. + Waits for sessionid cookie to be set. + + Returns: {"status": "success/timeout", "cookies": {...}, "cookie_count": N} + """ + print("DEBUG: Opening browser for TikTok login...") + + async with async_playwright() as p: + browser = await p.chromium.launch( + headless=False, + args=PlaywrightManager.BROWSER_ARGS + ) + + context = await browser.new_context( + user_agent=PlaywrightManager.DEFAULT_USER_AGENT + ) + + page = await context.new_page() + + # Navigate to TikTok login + await page.goto("https://www.tiktok.com/login", wait_until="domcontentloaded") + print("DEBUG: Login page opened. Waiting for user to complete login...") + + # Poll for sessionid cookie + elapsed = 0 + check_interval = 2 + cookies_found = {} + + while elapsed < timeout_seconds: + await asyncio.sleep(check_interval) + elapsed += check_interval + + all_cookies = await context.cookies() + + for cookie in all_cookies: + if cookie.get("domain", "").endswith("tiktok.com"): + cookies_found[cookie["name"]] = cookie["value"] + + if "sessionid" in cookies_found: + print(f"DEBUG: Login detected! Found {len(cookies_found)} cookies.") + break + + print(f"DEBUG: Waiting for login... ({elapsed}s)") + + await browser.close() + + if "sessionid" not in cookies_found: + return { + "status": "timeout", + "message": "Login timed out. Please try again.", + "cookie_count": 0 + } + + # Save credentials + PlaywrightManager.save_credentials(cookies_found, PlaywrightManager.DEFAULT_USER_AGENT) + + return { + "status": "success", + "message": "Successfully connected to TikTok!", + "cookie_count": len(cookies_found) + } + + @staticmethod + async def intercept_feed(cookies: List[dict] = None, user_agent: str = None, scroll_count: int = 5) -> List[dict]: + """ + Navigate to TikTok For You page and intercept the /item_list API response. + + Args: + cookies: Optional list of cookies + user_agent: Optional user agent + scroll_count: Number of times to scroll to fetch more videos (0 = initial load only) + + Returns: List of video objects + """ + if not cookies: + cookies, user_agent = PlaywrightManager.load_stored_credentials() + + if not user_agent: + user_agent = PlaywrightManager.DEFAULT_USER_AGENT + + if not cookies: + print("DEBUG: No cookies available") + return [] + + print(f"DEBUG: Starting network interception with {len(cookies)} cookies (scrolls={scroll_count})") + + captured_videos = [] + + async def handle_response(response: Response): + """Capture /item_list API responses.""" + nonlocal captured_videos + + url = response.url + + # Look for TikTok's feed API + if "item_list" in url or "recommend/item" in url: + try: + data = await response.json() + + # TikTok returns videos in "itemList" or "aweme_list" + items = data.get("itemList", []) or data.get("aweme_list", []) + + for item in items: + video_data = PlaywrightManager._extract_video_data(item) + if video_data: + captured_videos.append(video_data) + + print(f"DEBUG: Captured {len(items)} videos from API") + + except Exception as e: + print(f"DEBUG: Error parsing API response: {e}") + + async with async_playwright() as p: + browser = await p.chromium.launch( + headless=True, + args=PlaywrightManager.BROWSER_ARGS + ) + + context = await browser.new_context(user_agent=user_agent) + await context.add_cookies(cookies) + + page = await context.new_page() + + # Set up response listener + page.on("response", handle_response) + + try: + # Navigate to For You page + await page.goto( + "https://www.tiktok.com/foryou", + wait_until="domcontentloaded", + timeout=30000 + ) + + # Wait for initial load - ensure we capture at least one batch + # Poll for videos if in fast mode + for _ in range(10): # Max 10 seconds wait + if len(captured_videos) > 0: + break + await asyncio.sleep(1) + + # If still no videos, maybe scroll once to trigger + if len(captured_videos) == 0: + print("DEBUG: No videos after initial load, scrolling once...") + await page.evaluate("window.scrollBy(0, 800)") + await asyncio.sleep(2) + + # Scroll loop + for i in range(scroll_count): + await page.evaluate("window.scrollBy(0, 800)") + await asyncio.sleep(1) + + # Give time for API responses to be captured + await asyncio.sleep(2) + + except Exception as e: + print(f"DEBUG: Navigation error: {e}") + + await browser.close() + + print(f"DEBUG: Total captured videos: {len(captured_videos)}") + return captured_videos + + @staticmethod + def _extract_video_data(item: dict) -> Optional[dict]: + """Extract video data from TikTok API item.""" + try: + # Handle different API response formats + video_id = item.get("id") or item.get("aweme_id") + + # Get author info + author_data = item.get("author", {}) + author = author_data.get("uniqueId") or author_data.get("unique_id") or "unknown" + + # Get description + desc = item.get("desc") or item.get("description") or "" + + # Get thumbnail/cover image + thumbnail = None + video_data = item.get("video", {}) + + # Try different thumbnail sources + if video_data.get("cover"): + thumbnail = video_data["cover"] + elif video_data.get("dynamicCover"): + thumbnail = video_data["dynamicCover"] + elif video_data.get("originCover"): + thumbnail = video_data["originCover"] + + # Get direct CDN URL (for thin proxy mode) + cdn_url = None + if video_data.get("playAddr"): + cdn_url = video_data["playAddr"] + elif video_data.get("downloadAddr"): + cdn_url = video_data["downloadAddr"] + elif video_data.get("play_addr", {}).get("url_list"): + cdn_url = video_data["play_addr"]["url_list"][0] + + # Use TikTok page URL as fallback (yt-dlp resolves this) + video_url = f"https://www.tiktok.com/@{author}/video/{video_id}" + + # Get stats (views, likes) + stats = item.get("stats", {}) or item.get("statistics", {}) + views = stats.get("playCount") or stats.get("play_count") or 0 + likes = stats.get("diggCount") or stats.get("digg_count") or 0 + + if video_id and author: + result = { + "id": str(video_id), + "url": video_url, + "author": author, + "description": desc[:200] if desc else f"Video by @{author}" + } + if thumbnail: + result["thumbnail"] = thumbnail + if cdn_url: + result["cdn_url"] = cdn_url # Direct CDN URL for thin proxy + if views: + result["views"] = views + if likes: + result["likes"] = likes + return result + + except Exception as e: + print(f"DEBUG: Error extracting video data: {e}") + + return None + + @staticmethod + async def fetch_user_videos(username: str, cookies: list, user_agent: str = None, limit: int = 10) -> list: + """ + Fetch videos from a specific user's profile page. + Uses Playwright to intercept the user's video list API. + """ + from playwright.async_api import async_playwright, Response + + if not user_agent: + user_agent = PlaywrightManager.DEFAULT_USER_AGENT + + if not cookies: + print("DEBUG: No cookies available for user videos") + return [] + + print(f"DEBUG: Fetching videos for @{username}...") + + captured_videos = [] + + async def handle_response(response: Response): + """Capture user's video list API responses.""" + nonlocal captured_videos + + url = response.url + + # Look for user's video list API + if "item_list" in url or "post/item_list" in url: + try: + data = await response.json() + + items = data.get("itemList", []) or data.get("aweme_list", []) + + for item in items: + if len(captured_videos) >= limit: + break + video_data = PlaywrightManager._extract_video_data(item) + if video_data: + captured_videos.append(video_data) + + print(f"DEBUG: Captured {len(items)} videos from user API") + + except Exception as e: + print(f"DEBUG: Error parsing user API response: {e}") + + async with async_playwright() as p: + browser = await p.chromium.launch( + headless=True, + args=PlaywrightManager.BROWSER_ARGS + ) + + context = await browser.new_context(user_agent=user_agent) + await context.add_cookies(cookies) + + page = await context.new_page() + page.on("response", handle_response) + + try: + # Navigate to user's profile page + profile_url = f"https://www.tiktok.com/@{username}" + await page.goto(profile_url, wait_until="networkidle", timeout=30000) + + # Wait for videos to load + await asyncio.sleep(2) + + # Scroll a bit to trigger more video loading + await page.evaluate("window.scrollBy(0, 500)") + await asyncio.sleep(1) + + except Exception as e: + print(f"DEBUG: Error navigating to profile: {e}") + + await browser.close() + + print(f"DEBUG: Total captured user videos: {len(captured_videos)}") + return captured_videos + + @staticmethod + async def search_videos(query: str, cookies: list, user_agent: str = None, limit: int = 12) -> list: + """ + Search for videos by keyword or hashtag. + Uses Playwright to intercept TikTok search results API. + """ + from playwright.async_api import async_playwright, Response + from urllib.parse import quote + + if not user_agent: + user_agent = PlaywrightManager.DEFAULT_USER_AGENT + + if not cookies: + print("DEBUG: No cookies available for search") + return [] + + print(f"DEBUG: Searching for '{query}'...") + + captured_videos = [] + + async def handle_response(response: Response): + """Capture search results API responses.""" + nonlocal captured_videos + + url = response.url + + # Look for search results API + if "search" in url and ("item_list" in url or "video" in url or "general" in url): + try: + data = await response.json() + + # Try different response formats + items = data.get("itemList", []) or data.get("data", []) or data.get("item_list", []) + + for item in items: + if len(captured_videos) >= limit: + break + video_data = PlaywrightManager._extract_video_data(item) + if video_data: + captured_videos.append(video_data) + + print(f"DEBUG: Captured {len(items)} videos from search API") + + except Exception as e: + print(f"DEBUG: Error parsing search API response: {e}") + + async with async_playwright() as p: + browser = await p.chromium.launch( + headless=True, + args=PlaywrightManager.BROWSER_ARGS + ) + + context = await browser.new_context(user_agent=user_agent) + await context.add_cookies(cookies) + + page = await context.new_page() + page.on("response", handle_response) + + try: + # Navigate to TikTok search page + search_url = f"https://www.tiktok.com/search/video?q={quote(query)}" + await page.goto(search_url, wait_until="networkidle", timeout=30000) + + # Wait for videos to load + await asyncio.sleep(3) + + # Scroll to trigger more loading + for _ in range(2): + await page.evaluate("window.scrollBy(0, 800)") + await asyncio.sleep(1) + + except Exception as e: + print(f"DEBUG: Error during search: {e}") + + await browser.close() + + print(f"DEBUG: Total captured search videos: {len(captured_videos)}") + return captured_videos + + +# Singleton instance +playwright_manager = PlaywrightManager() diff --git a/backend/following.json b/backend/following.json new file mode 100644 index 0000000..0637a08 --- /dev/null +++ b/backend/following.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/backend/main.py b/backend/main.py new file mode 100644 index 0000000..902b19d --- /dev/null +++ b/backend/main.py @@ -0,0 +1,58 @@ +from fastapi import FastAPI +from fastapi.middleware.cors import CORSMiddleware +from fastapi.staticfiles import StaticFiles +from fastapi.responses import FileResponse +from contextlib import asynccontextmanager +from pathlib import Path +from api.routes import auth, feed, download, following, config, user + +@asynccontextmanager +async def lifespan(app: FastAPI): + """Startup and shutdown events.""" + print("๐Ÿš€ Starting PureStream API (Network Interception Mode)...") + yield + print("๐Ÿ‘‹ Shutting down PureStream API...") + +app = FastAPI(title="PureStream API", version="2.0.0", lifespan=lifespan) + +# CORS middleware +app.add_middleware( + CORSMiddleware, + allow_origins=["http://localhost:5173", "http://127.0.0.1:5173", "*"], + allow_credentials=True, + allow_methods=["*"], + allow_headers=["*"], +) + +# Include routers +app.include_router(auth.router, prefix="/api/auth", tags=["Authentication"]) +app.include_router(feed.router, prefix="/api/feed", tags=["Feed"]) +app.include_router(download.router, prefix="/api/download", tags=["Download"]) +app.include_router(following.router, prefix="/api/following", tags=["Following"]) +app.include_router(config.router, prefix="/api/config", tags=["Config"]) +app.include_router(user.router, prefix="/api/user", tags=["User"]) + +@app.get("/health") +async def health_check(): + return {"status": "ok"} + +# Serve static frontend files in production +FRONTEND_DIR = Path(__file__).parent.parent / "frontend" / "dist" +if FRONTEND_DIR.exists(): + # Mount static assets + app.mount("/assets", StaticFiles(directory=FRONTEND_DIR / "assets"), name="assets") + + # Serve index.html for all non-API routes (SPA fallback) + @app.get("/{full_path:path}") + async def serve_spa(full_path: str): + # If requesting a file that exists, serve it + file_path = FRONTEND_DIR / full_path + if file_path.is_file(): + return FileResponse(file_path) + # Otherwise serve index.html for SPA routing + return FileResponse(FRONTEND_DIR / "index.html") + +if __name__ == "__main__": + import uvicorn + uvicorn.run("main:app", host="0.0.0.0", port=8002, reload=True) + diff --git a/backend/requirements.txt b/backend/requirements.txt new file mode 100644 index 0000000..18993a0 --- /dev/null +++ b/backend/requirements.txt @@ -0,0 +1,8 @@ +fastapi +uvicorn +yt-dlp +requests +python-multipart +websockets +python-dotenv +crawl4ai diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..5dabe75 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,35 @@ +version: '3.8' + +services: + purestream: + image: vndangkhoa/purestream:latest + container_name: purestream + restart: unless-stopped + ports: + - "8002:8002" + volumes: + # Persist video cache + - purestream_cache:/app/cache + # Persist login session (optional - for persistent TikTok login) + - purestream_session:/app/backend/session + environment: + - PYTHONUNBUFFERED=1 + - CACHE_DIR=/app/cache + - MAX_CACHE_SIZE_MB=500 + - CACHE_TTL_HOURS=24 + # Required for Playwright browser + shm_size: '2gb' + # Security: run as non-root (optional) + # user: "1000:1000" + healthcheck: + test: [ "CMD", "curl", "-f", "http://localhost:8002/health" ] + interval: 30s + timeout: 10s + retries: 3 + start_period: 60s + +volumes: + purestream_cache: + driver: local + purestream_session: + driver: local diff --git a/frontend/.gitignore b/frontend/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/frontend/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/frontend/README.md b/frontend/README.md new file mode 100644 index 0000000..d2e7761 --- /dev/null +++ b/frontend/README.md @@ -0,0 +1,73 @@ +# React + TypeScript + Vite + +This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. + +Currently, two official plugins are available: + +- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) (or [oxc](https://oxc.rs) when used in [rolldown-vite](https://vite.dev/guide/rolldown)) for Fast Refresh +- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh + +## React Compiler + +The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation). + +## Expanding the ESLint configuration + +If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules: + +```js +export default defineConfig([ + globalIgnores(['dist']), + { + files: ['**/*.{ts,tsx}'], + extends: [ + // Other configs... + + // Remove tseslint.configs.recommended and replace with this + tseslint.configs.recommendedTypeChecked, + // Alternatively, use this for stricter rules + tseslint.configs.strictTypeChecked, + // Optionally, add this for stylistic rules + tseslint.configs.stylisticTypeChecked, + + // Other configs... + ], + languageOptions: { + parserOptions: { + project: ['./tsconfig.node.json', './tsconfig.app.json'], + tsconfigRootDir: import.meta.dirname, + }, + // other options... + }, + }, +]) +``` + +You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules: + +```js +// eslint.config.js +import reactX from 'eslint-plugin-react-x' +import reactDom from 'eslint-plugin-react-dom' + +export default defineConfig([ + globalIgnores(['dist']), + { + files: ['**/*.{ts,tsx}'], + extends: [ + // Other configs... + // Enable lint rules for React + reactX.configs['recommended-typescript'], + // Enable lint rules for React DOM + reactDom.configs.recommended, + ], + languageOptions: { + parserOptions: { + project: ['./tsconfig.node.json', './tsconfig.app.json'], + tsconfigRootDir: import.meta.dirname, + }, + // other options... + }, + }, +]) +``` diff --git a/frontend/eslint.config.js b/frontend/eslint.config.js new file mode 100644 index 0000000..5e6b472 --- /dev/null +++ b/frontend/eslint.config.js @@ -0,0 +1,23 @@ +import js from '@eslint/js' +import globals from 'globals' +import reactHooks from 'eslint-plugin-react-hooks' +import reactRefresh from 'eslint-plugin-react-refresh' +import tseslint from 'typescript-eslint' +import { defineConfig, globalIgnores } from 'eslint/config' + +export default defineConfig([ + globalIgnores(['dist']), + { + files: ['**/*.{ts,tsx}'], + extends: [ + js.configs.recommended, + tseslint.configs.recommended, + reactHooks.configs.flat.recommended, + reactRefresh.configs.vite, + ], + languageOptions: { + ecmaVersion: 2020, + globals: globals.browser, + }, + }, +]) diff --git a/frontend/index.html b/frontend/index.html new file mode 100644 index 0000000..94401be --- /dev/null +++ b/frontend/index.html @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + PureStream + + + + +
+ + + diff --git a/frontend/package-lock.json b/frontend/package-lock.json new file mode 100644 index 0000000..3f81f03 --- /dev/null +++ b/frontend/package-lock.json @@ -0,0 +1,4412 @@ +{ + "name": "frontend", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "frontend", + "version": "0.0.0", + "dependencies": { + "artplayer": "^5.3.0", + "axios": "^1.13.2", + "clsx": "^2.1.1", + "framer-motion": "^12.23.26", + "lucide-react": "^0.561.0", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "react-router-dom": "^6.30.2", + "tailwind-merge": "^3.4.0", + "zustand": "^5.0.9" + }, + "devDependencies": { + "@eslint/js": "^9.9.0", + "@types/node": "^20.14.0", + "@types/react": "^18.3.3", + "@types/react-dom": "^18.3.0", + "@vitejs/plugin-react": "^4.3.1", + "autoprefixer": "^10.4.20", + "eslint": "^9.9.0", + "eslint-plugin-react-hooks": "^5.1.0-rc.0", + "eslint-plugin-react-refresh": "^0.4.9", + "globals": "^15.9.0", + "postcss": "^8.4.41", + "tailwindcss": "^3.4.10", + "typescript": "^5.5.3", + "typescript-eslint": "^8.0.1", + "vite": "^5.4.1" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz", + "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", + "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.4", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5", + "@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/generator": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", + "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.5", + "@babel/types": "^7.28.5", + "@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-compilation-targets": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.28.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", + "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", + "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.5" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", + "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", + "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz", + "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.5", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", + "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", + "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", + "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz", + "integrity": "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.1", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "9.39.2", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz", + "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", + "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@remix-run/router": { + "version": "1.23.1", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.23.1.tgz", + "integrity": "sha512-vDbaOzF7yT2Qs4vO6XV1MHcJv+3dgR1sT+l3B8xxOVhUC336prMvqrvsLL/9Dnw2xr6Qhz4J0dmS0llNAbnUmQ==", + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.27", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", + "integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.53.5.tgz", + "integrity": "sha512-iDGS/h7D8t7tvZ1t6+WPK04KD0MwzLZrG0se1hzBjSi5fyxlsiggoJHwh18PCFNn7tG43OWb6pdZ6Y+rMlmyNQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.53.5.tgz", + "integrity": "sha512-wrSAViWvZHBMMlWk6EJhvg8/rjxzyEhEdgfMMjREHEq11EtJ6IP6yfcCH57YAEca2Oe3FNCE9DSTgU70EIGmVw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.53.5.tgz", + "integrity": "sha512-S87zZPBmRO6u1YXQLwpveZm4JfPpAa6oHBX7/ghSiGH3rz/KDgAu1rKdGutV+WUI6tKDMbaBJomhnT30Y2t4VQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.53.5.tgz", + "integrity": "sha512-YTbnsAaHo6VrAczISxgpTva8EkfQus0VPEVJCEaboHtZRIb6h6j0BNxRBOwnDciFTZLDPW5r+ZBmhL/+YpTZgA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.53.5.tgz", + "integrity": "sha512-1T8eY2J8rKJWzaznV7zedfdhD1BqVs1iqILhmHDq/bqCUZsrMt+j8VCTHhP0vdfbHK3e1IQ7VYx3jlKqwlf+vw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.53.5.tgz", + "integrity": "sha512-sHTiuXyBJApxRn+VFMaw1U+Qsz4kcNlxQ742snICYPrY+DDL8/ZbaC4DVIB7vgZmp3jiDaKA0WpBdP0aqPJoBQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.53.5.tgz", + "integrity": "sha512-dV3T9MyAf0w8zPVLVBptVlzaXxka6xg1f16VAQmjg+4KMSTWDvhimI/Y6mp8oHwNrmnmVl9XxJ/w/mO4uIQONA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.53.5.tgz", + "integrity": "sha512-wIGYC1x/hyjP+KAu9+ewDI+fi5XSNiUi9Bvg6KGAh2TsNMA3tSEs+Sh6jJ/r4BV/bx/CyWu2ue9kDnIdRyafcQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.53.5.tgz", + "integrity": "sha512-Y+qVA0D9d0y2FRNiG9oM3Hut/DgODZbU9I8pLLPwAsU0tUKZ49cyV1tzmB/qRbSzGvY8lpgGkJuMyuhH7Ma+Vg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.53.5.tgz", + "integrity": "sha512-juaC4bEgJsyFVfqhtGLz8mbopaWD+WeSOYr5E16y+1of6KQjc0BpwZLuxkClqY1i8sco+MdyoXPNiCkQou09+g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.53.5.tgz", + "integrity": "sha512-rIEC0hZ17A42iXtHX+EPJVL/CakHo+tT7W0pbzdAGuWOt2jxDFh7A/lRhsNHBcqL4T36+UiAgwO8pbmn3dE8wA==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.53.5.tgz", + "integrity": "sha512-T7l409NhUE552RcAOcmJHj3xyZ2h7vMWzcwQI0hvn5tqHh3oSoclf9WgTl+0QqffWFG8MEVZZP1/OBglKZx52Q==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.53.5.tgz", + "integrity": "sha512-7OK5/GhxbnrMcxIFoYfhV/TkknarkYC1hqUw1wU2xUN3TVRLNT5FmBv4KkheSG2xZ6IEbRAhTooTV2+R5Tk0lQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.53.5.tgz", + "integrity": "sha512-GwuDBE/PsXaTa76lO5eLJTyr2k8QkPipAyOrs4V/KJufHCZBJ495VCGJol35grx9xryk4V+2zd3Ri+3v7NPh+w==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.53.5.tgz", + "integrity": "sha512-IAE1Ziyr1qNfnmiQLHBURAD+eh/zH1pIeJjeShleII7Vj8kyEm2PF77o+lf3WTHDpNJcu4IXJxNO0Zluro8bOw==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.53.5.tgz", + "integrity": "sha512-Pg6E+oP7GvZ4XwgRJBuSXZjcqpIW3yCBhK4BcsANvb47qMvAbCjR6E+1a/U2WXz1JJxp9/4Dno3/iSJLcm5auw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.53.5.tgz", + "integrity": "sha512-txGtluxDKTxaMDzUduGP0wdfng24y1rygUMnmlUJ88fzCCULCLn7oE5kb2+tRB+MWq1QDZT6ObT5RrR8HFRKqg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.53.5.tgz", + "integrity": "sha512-3DFiLPnTxiOQV993fMc+KO8zXHTcIjgaInrqlG8zDp1TlhYl6WgrOHuJkJQ6M8zHEcntSJsUp1XFZSY8C1DYbg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.53.5.tgz", + "integrity": "sha512-nggc/wPpNTgjGg75hu+Q/3i32R00Lq1B6N1DO7MCU340MRKL3WZJMjA9U4K4gzy3dkZPXm9E1Nc81FItBVGRlA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.53.5.tgz", + "integrity": "sha512-U/54pTbdQpPLBdEzCT6NBCFAfSZMvmjr0twhnD9f4EIvlm9wy3jjQ38yQj1AGznrNO65EWQMgm/QUjuIVrYF9w==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.53.5.tgz", + "integrity": "sha512-2NqKgZSuLH9SXBBV2dWNRCZmocgSOx8OJSdpRaEcRlIfX8YrKxUT6z0F1NpvDVhOsl190UFTRh2F2WDWWCYp3A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.53.5.tgz", + "integrity": "sha512-JRpZUhCfhZ4keB5v0fe02gQJy05GqboPOaxvjugW04RLSYYoB/9t2lx2u/tMs/Na/1NXfY8QYjgRljRpN+MjTQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "20.19.27", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.27.tgz", + "integrity": "sha512-N2clP5pJhB2YnZJ3PIHFk5RkygRX5WO/5f0WC08tp0wd+sv0rsJk3MqWn3CbNmT2J505a5336jaQj4ph1AdMug==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/prop-types": { + "version": "15.7.15", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz", + "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.3.27", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.27.tgz", + "integrity": "sha512-cisd7gxkzjBKU2GgdYrTdtQx1SORymWyaAFhaxQPK9bYO9ot3Y5OikQRvY0VYQtvwjeQnizCINJAenh/V7MK2w==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.3.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz", + "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^18.0.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.50.0.tgz", + "integrity": "sha512-O7QnmOXYKVtPrfYzMolrCTfkezCJS9+ljLdKW/+DCvRsc3UAz+sbH6Xcsv7p30+0OwUbeWfUDAQE0vpabZ3QLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.50.0", + "@typescript-eslint/type-utils": "8.50.0", + "@typescript-eslint/utils": "8.50.0", + "@typescript-eslint/visitor-keys": "8.50.0", + "ignore": "^7.0.0", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.50.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.50.0.tgz", + "integrity": "sha512-6/cmF2piao+f6wSxUsJLZjck7OQsYyRtcOZS02k7XINSNlz93v6emM8WutDQSXnroG2xwYlEVHJI+cPA7CPM3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.50.0", + "@typescript-eslint/types": "8.50.0", + "@typescript-eslint/typescript-estree": "8.50.0", + "@typescript-eslint/visitor-keys": "8.50.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.50.0.tgz", + "integrity": "sha512-Cg/nQcL1BcoTijEWyx4mkVC56r8dj44bFDvBdygifuS20f3OZCHmFbjF34DPSi07kwlFvqfv/xOLnJ5DquxSGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.50.0", + "@typescript-eslint/types": "^8.50.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.50.0.tgz", + "integrity": "sha512-xCwfuCZjhIqy7+HKxBLrDVT5q/iq7XBVBXLn57RTIIpelLtEIZHXAF/Upa3+gaCpeV1NNS5Z9A+ID6jn50VD4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.50.0", + "@typescript-eslint/visitor-keys": "8.50.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.50.0.tgz", + "integrity": "sha512-vxd3G/ybKTSlm31MOA96gqvrRGv9RJ7LGtZCn2Vrc5htA0zCDvcMqUkifcjrWNNKXHUU3WCkYOzzVSFBd0wa2w==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.50.0.tgz", + "integrity": "sha512-7OciHT2lKCewR0mFoBrvZJ4AXTMe/sYOe87289WAViOocEmDjjv8MvIOT2XESuKj9jp8u3SZYUSh89QA4S1kQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.50.0", + "@typescript-eslint/typescript-estree": "8.50.0", + "@typescript-eslint/utils": "8.50.0", + "debug": "^4.3.4", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.50.0.tgz", + "integrity": "sha512-iX1mgmGrXdANhhITbpp2QQM2fGehBse9LbTf0sidWK6yg/NE+uhV5dfU1g6EYPlcReYmkE9QLPq/2irKAmtS9w==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.50.0.tgz", + "integrity": "sha512-W7SVAGBR/IX7zm1t70Yujpbk+zdPq/u4soeFSknWFdXIFuWsBGBOUu/Tn/I6KHSKvSh91OiMuaSnYp3mtPt5IQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.50.0", + "@typescript-eslint/tsconfig-utils": "8.50.0", + "@typescript-eslint/types": "8.50.0", + "@typescript-eslint/visitor-keys": "8.50.0", + "debug": "^4.3.4", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.50.0.tgz", + "integrity": "sha512-87KgUXET09CRjGCi2Ejxy3PULXna63/bMYv72tCAlDJC3Yqwln0HiFJ3VJMst2+mEtNtZu5oFvX4qJGjKsnAgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.7.0", + "@typescript-eslint/scope-manager": "8.50.0", + "@typescript-eslint/types": "8.50.0", + "@typescript-eslint/typescript-estree": "8.50.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.50.0.tgz", + "integrity": "sha512-Xzmnb58+Db78gT/CCj/PVCvK+zxbnsw6F+O1oheYszJbBSdEjVhQi3C/Xttzxgi/GLmpvOggRs1RFpiJ8+c34Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.50.0", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz", + "integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.28.0", + "@babel/plugin-transform-react-jsx-self": "^7.27.1", + "@babel/plugin-transform-react-jsx-source": "^7.27.1", + "@rolldown/pluginutils": "1.0.0-beta.27", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.17.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" + } + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true, + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/artplayer": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/artplayer/-/artplayer-5.3.0.tgz", + "integrity": "sha512-yExO39MpEg4P+bxgChxx1eJfiUPE4q1QQRLCmqGhlsj+ANuaoEkR8hF93LdI5ZyrAcIbJkuEndxEiUoKobifDw==", + "license": "MIT", + "dependencies": { + "option-validator": "^2.0.6" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/autoprefixer": { + "version": "10.4.23", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.23.tgz", + "integrity": "sha512-YYTXSFulfwytnjAPlw8QHncHJmlvFKtczb8InXaAx9Q0LbfDnfEYDE55omerIJKihhmU61Ft+cAOSzQVaBUmeA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.28.1", + "caniuse-lite": "^1.0.30001760", + "fraction.js": "^5.3.4", + "picocolors": "^1.1.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/axios": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.2.tgz", + "integrity": "sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.4", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.9.9", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.9.tgz", + "integrity": "sha512-V8fbOCSeOFvlDj7LLChUcqbZrdKD9RU/VR260piF1790vT0mfLSwGc/Qzxv3IqiTukOpNtItePa0HBpMAj7MDg==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "dev": true, + "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.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001760", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001760.tgz", + "integrity": "sha512-7AAMPcueWELt1p3mi13HR/LHH0TJLT11cnwDJEs3xA4+CK/PLKeO9Kl1oru24htkyUKtkGCvAx4ohB0Ttry8Dw==", + "dev": true, + "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==", + "dev": true, + "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/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "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==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true, + "license": "MIT" + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.267", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz", + "integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==", + "dev": true, + "license": "ISC" + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.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/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.39.2", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz", + "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.1", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.39.2", + "@eslint/plugin-kit": "^0.4.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz", + "integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-react-refresh": { + "version": "0.4.26", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.26.tgz", + "integrity": "sha512-1RETEylht2O6FM/MvgnyvT+8K21wLqDNg4qD51Zj3guhjt433XbnnkVttHMyaVyAFD03QSV4LPS5iE3VQmO7XQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "eslint": ">=8.40" + } + }, + "node_modules/eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.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==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, + "license": "ISC" + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fraction.js": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz", + "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/framer-motion": { + "version": "12.23.26", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.23.26.tgz", + "integrity": "sha512-cPcIhgR42xBn1Uj+PzOyheMtZ73H927+uWPDVhUMqxy8UHt6Okavb6xIz9J/phFUHUj0OncR6UvMfJTXoc/LKA==", + "license": "MIT", + "dependencies": { + "motion-dom": "^12.23.23", + "motion-utils": "^12.23.6", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "@emotion/is-prop-valid": "*", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/is-prop-valid": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "15.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz", + "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/jiti": { + "version": "1.21.7", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", + "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "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.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT" + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lucide-react": { + "version": "0.561.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.561.0.tgz", + "integrity": "sha512-Y59gMY38tl4/i0qewcqohPdEbieBy7SovpBL9IFebhc2mDd8x4PZSOsiFRkpPcOq6bj1r/mjH/Rk73gSlIJP2A==", + "license": "ISC", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "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/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/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/motion-dom": { + "version": "12.23.23", + "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-12.23.23.tgz", + "integrity": "sha512-n5yolOs0TQQBRUFImrRfs/+6X4p3Q4n1dUEqt/H58Vx7OW6RF+foWEgmTVDhIWJIMXOuNNL0apKH2S16en9eiA==", + "license": "MIT", + "dependencies": { + "motion-utils": "^12.23.6" + } + }, + "node_modules/motion-utils": { + "version": "12.23.6", + "resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-12.23.6.tgz", + "integrity": "sha512-eAWoPgr4eFEOFfg2WjIsMoqJTW6Z8MTUCgn/GZ3VRpClWBdnbjryiA3ZSNLyxCTmCQx4RmYX6jX1iWHbenUPNQ==", + "license": "MIT" + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "dev": true, + "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/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/option-validator": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/option-validator/-/option-validator-2.0.6.tgz", + "integrity": "sha512-tmZDan2LRIRQyhUGvkff68/O0R8UmF+Btmiiz0SmSw2ng3CfPZB9wJlIjHpe/MKUZqyIZkVIXCrwr1tIN+0Dzg==", + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.3" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "dev": true, + "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.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.1.0.tgz", + "integrity": "sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-6.0.1.tgz", + "integrity": "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "lilconfig": "^3.1.1" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "jiti": ">=1.21.0", + "postcss": ">=8.0.9", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + }, + "postcss": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "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/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-refresh": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", + "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-router": { + "version": "6.30.2", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.2.tgz", + "integrity": "sha512-H2Bm38Zu1bm8KUE5NVWRMzuIyAV8p/JrOaBJAwVmp37AXG72+CZJlEBw6pdn9i5TBgLMhNDgijS4ZlblpHyWTA==", + "license": "MIT", + "dependencies": { + "@remix-run/router": "1.23.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.30.2", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.30.2.tgz", + "integrity": "sha512-l2OwHn3UUnEVUqc6/1VMmR1cvZryZ3j3NzapC2eUXO1dB0sYp5mvwdjiXhpUbRb21eFow3qSxpP8Yv6oAU824Q==", + "license": "MIT", + "dependencies": { + "@remix-run/router": "1.23.1", + "react-router": "6.30.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "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": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.53.5", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.53.5.tgz", + "integrity": "sha512-iTNAbFSlRpcHeeWu73ywU/8KuU/LZmNCSxp6fjQkJBD3ivUb8tpDrXhIxEzA05HlYMEwmtaUnb3RP+YNv162OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.53.5", + "@rollup/rollup-android-arm64": "4.53.5", + "@rollup/rollup-darwin-arm64": "4.53.5", + "@rollup/rollup-darwin-x64": "4.53.5", + "@rollup/rollup-freebsd-arm64": "4.53.5", + "@rollup/rollup-freebsd-x64": "4.53.5", + "@rollup/rollup-linux-arm-gnueabihf": "4.53.5", + "@rollup/rollup-linux-arm-musleabihf": "4.53.5", + "@rollup/rollup-linux-arm64-gnu": "4.53.5", + "@rollup/rollup-linux-arm64-musl": "4.53.5", + "@rollup/rollup-linux-loong64-gnu": "4.53.5", + "@rollup/rollup-linux-ppc64-gnu": "4.53.5", + "@rollup/rollup-linux-riscv64-gnu": "4.53.5", + "@rollup/rollup-linux-riscv64-musl": "4.53.5", + "@rollup/rollup-linux-s390x-gnu": "4.53.5", + "@rollup/rollup-linux-x64-gnu": "4.53.5", + "@rollup/rollup-linux-x64-musl": "4.53.5", + "@rollup/rollup-openharmony-arm64": "4.53.5", + "@rollup/rollup-win32-arm64-msvc": "4.53.5", + "@rollup/rollup-win32-ia32-msvc": "4.53.5", + "@rollup/rollup-win32-x64-gnu": "4.53.5", + "@rollup/rollup-win32-x64-msvc": "4.53.5", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "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", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/sucrase": { + "version": "3.35.1", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.1.tgz", + "integrity": "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "tinyglobby": "^0.2.11", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwind-merge": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.4.0.tgz", + "integrity": "sha512-uSaO4gnW+b3Y2aWoWfFpX62vn2sR3skfhbjsEnaBI81WD1wBLlHZe5sWf0AqjksNdYTbGBEd0UasQMT3SNV15g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, + "node_modules/tailwindcss": { + "version": "3.4.19", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.19.tgz", + "integrity": "sha512-3ofp+LL8E+pK/JuPLPggVAIaEuhvIz4qNcf3nA1Xn2o/7fb7s/TYpHhwGDv1ZU3PkBluUVaF8PyCHcm48cKLWQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.6.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.2", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.7", + "lilconfig": "^3.1.3", + "micromatch": "^4.0.8", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.4.47", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.2 || ^5.0 || ^6.0", + "postcss-nested": "^6.2.0", + "postcss-selector-parser": "^6.1.2", + "resolve": "^1.22.8", + "sucrase": "^3.35.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-api-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", + "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true, + "license": "Apache-2.0" + }, + "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-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-eslint": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.50.0.tgz", + "integrity": "sha512-Q1/6yNUmCpH94fbgMUMg2/BSAr/6U7GBk61kZTv1/asghQOWOjTlp9K8mixS5NcJmm2creY+UFfGeW/+OcA64A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.50.0", + "@typescript-eslint/parser": "8.50.0", + "@typescript-eslint/typescript-estree": "8.50.0", + "@typescript-eslint/utils": "8.50.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "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/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/vite": { + "version": "5.4.21", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz", + "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zustand": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.9.tgz", + "integrity": "sha512-ALBtUj0AfjJt3uNRQoL1tL2tMvj6Gp/6e39dnfT6uzpelGru8v1tPOGBzayOWbPJvujM8JojDk3E1LxeFisBNg==", + "license": "MIT", + "engines": { + "node": ">=12.20.0" + }, + "peerDependencies": { + "@types/react": ">=18.0.0", + "immer": ">=9.0.6", + "react": ">=18.0.0", + "use-sync-external-store": ">=1.2.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "immer": { + "optional": true + }, + "react": { + "optional": true + }, + "use-sync-external-store": { + "optional": true + } + } + } + } +} diff --git a/frontend/package.json b/frontend/package.json new file mode 100644 index 0000000..6acafbb --- /dev/null +++ b/frontend/package.json @@ -0,0 +1,41 @@ +{ + "name": "frontend", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc -b && vite build", + "lint": "eslint .", + "preview": "vite preview" + }, + "dependencies": { + "artplayer": "^5.3.0", + "axios": "^1.13.2", + "clsx": "^2.1.1", + "framer-motion": "^12.23.26", + "lucide-react": "^0.561.0", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "react-router-dom": "^6.30.2", + "tailwind-merge": "^3.4.0", + "zustand": "^5.0.9" + }, + "devDependencies": { + "@eslint/js": "^9.9.0", + "@types/node": "^20.14.0", + "@types/react": "^18.3.3", + "@types/react-dom": "^18.3.0", + "@vitejs/plugin-react": "^4.3.1", + "autoprefixer": "^10.4.20", + "eslint": "^9.9.0", + "eslint-plugin-react-hooks": "^5.1.0-rc.0", + "eslint-plugin-react-refresh": "^0.4.9", + "globals": "^15.9.0", + "postcss": "^8.4.41", + "tailwindcss": "^3.4.10", + "typescript": "^5.5.3", + "typescript-eslint": "^8.0.1", + "vite": "^5.4.1" + } +} diff --git a/frontend/postcss.config.js b/frontend/postcss.config.js new file mode 100644 index 0000000..d41ad63 --- /dev/null +++ b/frontend/postcss.config.js @@ -0,0 +1,6 @@ +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/frontend/public/icon-192.png b/frontend/public/icon-192.png new file mode 100644 index 0000000000000000000000000000000000000000..ce0160548414463a3131514ccdeb7916927e79af GIT binary patch literal 8238 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 e9`Jhbyt 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
+IZ~Sc!XR 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 + ); +}; diff --git a/frontend/src/components/Feed.tsx b/frontend/src/components/Feed.tsx new file mode 100644 index 0000000..33d4b8b --- /dev/null +++ b/frontend/src/components/Feed.tsx @@ -0,0 +1,1100 @@ +import React, { useState, useEffect, useRef } from 'react'; +import { VideoPlayer } from './VideoPlayer'; +import type { Video, UserProfile } from '../types'; +import axios from 'axios'; +import { API_BASE_URL } from '../config'; +import { Home, Users, Search, X, Plus } from 'lucide-react'; + +type ViewState = 'login' | 'loading' | 'feed'; +type TabType = 'foryou' | 'following' | 'search'; + +// Suggested categories for Following tab +const SUGGESTED_CATEGORIES = [ + { id: 'hot_trend', name: '๐Ÿ”ฅ Hot Trend 2024', query: 'hot trend' }, + { id: 'dance_vn', name: '๐Ÿ’ƒ Gรกi Xinh Nhแบฃy', query: 'gai xinh nhay' }, + { id: 'sexy_dance', name: 'โœจ Sexy Dance', query: 'sexy dance vietnam' }, + { id: 'music_remix', name: '๐ŸŽต Nhแบกc Remix TikTok', query: 'nhac remix tiktok' }, + { id: 'kpop_cover', name: '๐Ÿ‡ฐ๐Ÿ‡ท K-pop Cover', query: 'kpop dance cover' }, + { id: 'comedy', name: '๐Ÿ˜‚ Hร i Hฦฐแป›c', query: 'hai huoc vietnam' }, +]; + +// Vietnamese TikTok Dance Influencers +const SUGGESTED_ACCOUNTS = [ + // Dance Queens + { username: '@ciin_rubi', label: '๐Ÿ‘‘ CiiN - Lisa of Vietnam' }, + { username: '@hoaa.hanassii', label: '๐Ÿ’ƒ ฤร o Lรช Phฦฐฦกng Hoa - Queen of Wiggle' }, + { username: '@hoa_2309', label: '๐Ÿ”ฅ Ngรด Ngแปc Hรฒa - Hot Trend' }, + { username: '@minah.ne', label: '๐ŸŽต Minah - K-pop Dancer' }, + // Hot Trend Creators + { username: '@lebong95', label: '๐Ÿ’ช Lรช Bแป‘ng - Fitness Dance' }, + { username: '@po.trann77', label: 'โœจ Trแบงn Thanh Tรขm' }, + { username: '@gamkami', label: '๐ŸŽฑ Gแบฅm Kami - Cute Style' }, + { username: '@quynhalee', label: '๐ŸŽฎ Quแปณnh Alee - Gaming Dance' }, + { username: '@tieu_hy26', label: '๐Ÿ‘ฐ Tiแปƒu Hรฝ - National Wife' }, + // Music & Remix + { username: '@changmie', label: '๐ŸŽค Changmie - Singer/Mashups' }, + { username: '@vuthuydien', label: '๐Ÿ˜„ Vลฉ Thแปฅy ฤiแปƒn - Humor' }, +]; + +// Inspirational quotes for loading states +const INSPIRATION_QUOTES = [ + { text: "Dance like nobody's watching", author: "William W. Purkey" }, + { text: "Life is short, make every moment count", author: "Unknown" }, + { text: "Create the things you wish existed", author: "Unknown" }, + { text: "Be yourself; everyone else is taken", author: "Oscar Wilde" }, + { text: "Stay hungry, stay foolish", author: "Steve Jobs" }, + { text: "The only way to do great work is to love what you do", author: "Steve Jobs" }, + { text: "Dream big, start small", author: "Unknown" }, + { text: "Creativity takes courage", author: "Henri Matisse" }, +]; + +// NOTE: Keyword search is now handled by the backend /api/user/search endpoint + +export const Feed: React.FC = () => { + const [viewState, setViewState] = useState('login'); + const [activeTab, setActiveTab] = useState('foryou'); + const [videos, setVideos] = useState([]); + const [currentIndex, setCurrentIndex] = useState(0); + const [error, setError] = useState(null); + const [showAdvanced, setShowAdvanced] = useState(false); + const [jsonInput, setJsonInput] = useState(''); + const containerRef = useRef(null); + + // Following state + const [following, setFollowing] = useState([]); + const [newFollowInput, setNewFollowInput] = useState(''); + + // Suggested profiles with real data + const [suggestedProfiles, setSuggestedProfiles] = useState([]); + const [loadingProfiles, setLoadingProfiles] = useState(false); + + // Search state + const [searchInput, setSearchInput] = useState(''); + const [searchResults, setSearchResults] = useState([]); + const [isSearching, setIsSearching] = useState(false); + + // ========== SWIPE LOGIC ========== + const touchStart = useRef(null); + const touchEnd = useRef(null); + const minSwipeDistance = 50; + + const onTouchStart = (e: React.TouchEvent) => { + touchEnd.current = null; + touchStart.current = e.targetTouches[0].clientX; + }; + + const onTouchMove = (e: React.TouchEvent) => { + touchEnd.current = e.targetTouches[0].clientX; + }; + + const onTouchEnd = () => { + if (!touchStart.current || !touchEnd.current) return; + const distance = touchStart.current - touchEnd.current; + const isLeftSwipe = distance > minSwipeDistance; + const isRightSwipe = distance < -minSwipeDistance; + + if (isLeftSwipe) { + if (activeTab === 'foryou') setActiveTab('following'); + else if (activeTab === 'following') setActiveTab('search'); + } + if (isRightSwipe) { + if (activeTab === 'search') setActiveTab('following'); + else if (activeTab === 'following') setActiveTab('foryou'); + } + }; + + // Check auth status on mount + useEffect(() => { + checkAuthStatus(); + }, []); + + // Load following list when authenticated + useEffect(() => { + if (viewState === 'feed') { + loadFollowing(); + } + }, [viewState]); + + // Load suggested profiles when switching to Following tab + useEffect(() => { + if (activeTab === 'following' && suggestedProfiles.length === 0 && !loadingProfiles) { + loadSuggestedProfiles(); + } + }, [activeTab]); + + // Keyboard arrow navigation for desktop + useEffect(() => { + const handleKeyDown = (e: KeyboardEvent) => { + // Only handle when in feed view and not typing in an input + if (viewState !== 'feed') return; + const target = e.target as HTMLElement; + if (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA') return; + + if (e.key === 'ArrowRight') { + e.preventDefault(); + if (activeTab === 'foryou') setActiveTab('following'); + else if (activeTab === 'following') setActiveTab('search'); + } else if (e.key === 'ArrowLeft') { + e.preventDefault(); + if (activeTab === 'search') setActiveTab('following'); + else if (activeTab === 'following') setActiveTab('foryou'); + } + }; + + window.addEventListener('keydown', handleKeyDown); + return () => window.removeEventListener('keydown', handleKeyDown); + }, [activeTab, viewState]); + + const loadSuggestedProfiles = async () => { + setLoadingProfiles(true); + try { + const usernames = SUGGESTED_ACCOUNTS.map(a => a.username.replace('@', '')).join(','); + const res = await axios.get(`${API_BASE_URL}/user/profiles?usernames=${usernames}`); + setSuggestedProfiles(res.data); + } catch (err) { + console.error('Failed to load profiles:', err); + } finally { + setLoadingProfiles(false); + } + }; + + const checkAuthStatus = async () => { + try { + const res = await axios.get(`${API_BASE_URL}/auth/status`); + if (res.data.authenticated) { + loadFeed(); + } + } catch (err) { + console.log('Not authenticated'); + } + }; + + const loadFollowing = async () => { + try { + const res = await axios.get(`${API_BASE_URL}/following`); + setFollowing(res.data); + } catch (err) { + console.error('Failed to load following'); + } + }; + + const handleFollow = async (username: string) => { + const cleanUsername = username.replace('@', ''); + + if (following.includes(cleanUsername)) { + // Unfollow + await axios.delete(`${API_BASE_URL}/following/${cleanUsername}`); + setFollowing(prev => prev.filter(u => u !== cleanUsername)); + } else { + // Follow + await axios.post(`${API_BASE_URL}/following`, { username: cleanUsername }); + setFollowing(prev => [...prev, cleanUsername]); + } + }; + + const handleAddFollow = async () => { + if (!newFollowInput.trim()) return; + await handleFollow(newFollowInput); + setNewFollowInput(''); + }; + + const handleBrowserLogin = async () => { + setViewState('loading'); + setError(null); + + try { + const res = await axios.post(`${API_BASE_URL}/auth/browser-login`); + if (res.data.status === 'success') { + loadFeed(); + } else { + setError(res.data.message || 'Login failed'); + setViewState('login'); + } + } catch (err: any) { + setError(err.response?.data?.detail || 'Login failed'); + setViewState('login'); + } + }; + + const handleJsonLogin = async () => { + if (!jsonInput.trim()) { + setError('Please paste your credentials'); + return; + } + + setViewState('loading'); + setError(null); + + try { + const credentials = JSON.parse(jsonInput); + await axios.post(`${API_BASE_URL}/auth/credentials`, { credentials }); + loadFeed(); + } catch (err: any) { + setError(err.message || 'Invalid JSON format'); + setViewState('login'); + } + }; + + const loadFeed = async () => { + setViewState('loading'); + setError(null); + + try { + // Stage 1: Fast Load (0 scrolls, roughly 5-10 videos) + const fastRes = await axios.get(`${API_BASE_URL}/feed?fast=true`); + + let initialVideos: Video[] = []; + + if (Array.isArray(fastRes.data) && fastRes.data.length > 0) { + initialVideos = fastRes.data.map((v: any, i: number) => ({ + id: v.id || `video-${i}`, + url: v.url, + author: v.author || 'unknown', + description: v.description || '', + thumbnail: v.thumbnail, + cdn_url: v.cdn_url, + views: v.views, + likes: v.likes + })); + setVideos(initialVideos); + setViewState('feed'); + } + + // Stage 2: Background Load (Full batch) + // Silent fetch to get more videos without blocking UI + // We only do this if we got some videos initially, OR if initial failed + axios.get(`${API_BASE_URL}/feed`).then(res => { + if (Array.isArray(res.data) && res.data.length > 0) { + const moreVideos = res.data.map((v: any, i: number) => ({ + id: v.id || `video-full-${i}`, + url: v.url, + author: v.author || 'unknown', + description: v.description || '', + thumbnail: v.thumbnail, + cdn_url: v.cdn_url, + views: v.views, + likes: v.likes + })); + + // Deduplicate and append + setVideos(prev => { + const existingIds = new Set(prev.map(v => v.id)); + const distinctNew = moreVideos.filter((v: Video) => !existingIds.has(v.id)); + return [...prev, ...distinctNew]; + }); + + // If we were in login/error state, switch to feed now + setViewState(prev => prev === 'feed' ? 'feed' : 'feed'); + } + }).catch(console.error); // Silent error for background fetch + + if (initialVideos.length === 0) { + // If fast fetch failed to get videos, we wait for background... + // But simplified: show 'No videos' only if fast returned empty + // The background fetch will update UI if it finds something + if (!initialVideos.length) { + // Keep loading state until background finishes? + // Or show error? For now, let's just let the user wait or see empty + // Ideally we'd have a 'fetching more' indicator + } + } + + } catch (err: any) { + console.error('Fast feed failed', err); + // Fallback to full fetch if fast fails + axios.get(`${API_BASE_URL}/feed`).then(res => { + if (Array.isArray(res.data) && res.data.length > 0) { + const mapped = res.data.map((v: any, i: number) => ({ + id: v.id || `video-fallback-${i}`, + url: v.url, + author: v.author || 'unknown', + description: v.description || '', + thumbnail: v.thumbnail, + cdn_url: v.cdn_url, + views: v.views, + likes: v.likes + })); + setVideos(mapped); + setViewState('feed'); + } else { + setError('No videos found.'); + setViewState('login'); + } + }).catch(e => { + setError(e.response?.data?.detail || 'Failed to load feed'); + setViewState('login'); + }); + } + }; + + const [isFetching, setIsFetching] = useState(false); + const [hasMore, setHasMore] = useState(true); + + const handleScroll = () => { + if (containerRef.current) { + const { scrollTop, clientHeight } = containerRef.current; + const index = Math.round(scrollTop / clientHeight); + if (index !== currentIndex) { + setCurrentIndex(index); + } + + // Preemptive fetch at 60% + const watchedPercent = videos.length > 0 ? (index + 1) / videos.length : 0; + if (watchedPercent >= 0.6 && hasMore && !isFetching && videos.length > 0) { + loadMoreVideos(); + } + } + }; + + const loadMoreVideos = async () => { + if (isFetching || !hasMore) return; + setIsFetching(true); + + try { + const res = await axios.get(`${API_BASE_URL}/feed`); + + if (Array.isArray(res.data) && res.data.length > 0) { + const newVideos = res.data.map((v: any, i: number) => ({ + id: v.id || `video-new-${Date.now()}-${i}`, + url: v.url, + author: v.author || 'unknown', + description: v.description || '' + })); + + setVideos(prev => { + const existingIds = new Set(prev.map(v => v.id)); + const unique = newVideos.filter((v: any) => !existingIds.has(v.id)); + if (unique.length === 0) setHasMore(false); + return [...prev, ...unique]; + }); + } else { + setHasMore(false); + } + } catch (err) { + console.error('Failed to load more:', err); + } finally { + setIsFetching(false); + } + }; + + const handleLogout = async () => { + await axios.post(`${API_BASE_URL}/auth/logout`); + setVideos([]); + setViewState('login'); + }; + + // Direct username search - bypasses state update delay + const searchByUsername = async (username: string) => { + setSearchInput(`@${username}`); + setActiveTab('search'); + setIsSearching(true); + setSearchResults([]); + + try { + const res = await axios.get(`${API_BASE_URL}/user/videos?username=${username}&limit=12`); + const userVideos = res.data.videos as Video[]; + + if (userVideos.length > 0) { + setSearchResults(userVideos); + } else { + setSearchResults([{ + id: `no-videos-${username}`, + url: '', + author: username, + description: `No videos found for @${username}` + }]); + } + } catch (err) { + console.error('Error fetching user videos:', err); + setSearchResults([{ + id: `error-${username}`, + url: '', + author: username, + description: `Could not fetch videos` + }]); + } finally { + setIsSearching(false); + } + }; + + // Direct keyword search - bypasses state update delay + const searchByKeyword = async (keyword: string) => { + setSearchInput(keyword); + setActiveTab('search'); + setIsSearching(true); + setSearchResults([]); + + try { + const res = await axios.get(`${API_BASE_URL}/user/search?query=${encodeURIComponent(keyword)}&limit=12`); + const searchVideos = res.data.videos as Video[]; + + if (searchVideos.length > 0) { + setSearchResults(searchVideos); + } else { + setSearchResults([{ + id: `no-results`, + url: '', + author: 'search', + description: `No videos found for "${keyword}"` + }]); + } + } catch (err) { + console.error('Error searching:', err); + setSearchResults([{ + id: `error-search`, + url: '', + author: 'search', + description: `Search failed` + }]); + } finally { + setIsSearching(false); + } + }; + const handleSearch = async () => { + if (!searchInput.trim()) return; + + setIsSearching(true); + let input = searchInput.trim(); + const results: Video[] = []; + + // ========== PARSE INPUT TYPE ========== + + // Type 1: Full TikTok video URL (tiktok.com/@user/video/123) + const videoUrlMatch = input.match(/tiktok\.com\/@([\w.]+)\/video\/(\d+)/); + if (videoUrlMatch) { + const [, author, videoId] = videoUrlMatch; + results.push({ + id: videoId, + url: input.startsWith('http') ? input : `https://www.${input}`, + author: author, + description: `Video ${videoId} by @${author}` + }); + } + + // Type 2: Short share links (vm.tiktok.com, vt.tiktok.com) + else if (input.includes('vm.tiktok.com') || input.includes('vt.tiktok.com')) { + // These are short links - add as-is, backend will resolve + const shortId = input.split('/').pop() || 'unknown'; + results.push({ + id: `short-${shortId}`, + url: input.startsWith('http') ? input : `https://${input}`, + author: 'unknown', + description: 'Shared TikTok video (click to watch)' + }); + } + + // Type 3: Username (@user or just user) - Fetch user's videos + else if (input.startsWith('@') || /^[\w.]+$/.test(input)) { + const username = input.replace('@', ''); + + // Show loading state + results.push({ + id: `loading-${username}`, + url: '', + author: username, + description: `โณ Loading videos from @${username}...` + }); + setSearchResults(results); + + // Fetch user's videos from backend + try { + const res = await axios.get(`${API_BASE_URL}/user/videos?username=${username}&limit=12`); + const userVideos = res.data.videos as Video[]; + + if (userVideos.length > 0) { + // Replace loading with actual videos + setSearchResults(userVideos); + setIsSearching(false); + return; + } else { + // No videos found + setSearchResults([{ + id: `no-videos-${username}`, + url: '', + author: username, + description: `No videos found for @${username}` + }]); + setIsSearching(false); + return; + } + } catch (err) { + console.error('Error fetching user videos:', err); + // Fallback message + setSearchResults([{ + id: `error-${username}`, + url: '', + author: username, + description: `Could not fetch videos` + }]); + setIsSearching(false); + return; + } + } + + // Type 4: Hashtag (#trend) or Generic search term - use search API + else { + // Show loading for keyword search + results.push({ + id: `loading-search`, + url: '', + author: 'search', + description: `Searching for "${input}"...` + }); + setSearchResults(results); + + // Fetch videos using keyword search API + try { + const res = await axios.get(`${API_BASE_URL}/user/search?query=${encodeURIComponent(input)}&limit=12`); + const searchVideos = res.data.videos as Video[]; + + if (searchVideos.length > 0) { + setSearchResults(searchVideos); + setIsSearching(false); + return; + } else { + setSearchResults([{ + id: `no-results`, + url: '', + author: 'search', + description: `No videos found for "${input}"` + }]); + setIsSearching(false); + return; + } + } catch (err) { + console.error('Error searching:', err); + setSearchResults([{ + id: `error-search`, + url: '', + author: 'search', + description: `Search failed. Try a different term.` + }]); + setIsSearching(false); + return; + } + } + + setSearchResults(results); + setIsSearching(false); + + // Log for debugging + console.log('Search input:', input); + console.log('Search results:', results); + }; + + // ========== LOGIN VIEW ========== + if (viewState === 'login') { + return ( +
+
+ {/* Logo */} +
+
+
+
+ + + +
+
+

PureStream

+

Distraction-free TikTok viewing

+
+ + {error && ( +
+ {error} +
+ )} + + + +

+ Opens a browser for secure SSL login +

+ + + + {showAdvanced && ( +
+ +