@toothfairyai/tfdesign 0.4.7 → 0.4.9-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/apps/web/out/404/index.html +1 -1
- package/apps/web/out/404.html +1 -1
- package/apps/web/out/__next.$oc$slug.__PAGE__.txt +3 -3
- package/apps/web/out/__next.$oc$slug.txt +3 -3
- package/apps/web/out/__next._full.txt +16 -16
- package/apps/web/out/__next._head.txt +4 -4
- package/apps/web/out/__next._index.txt +6 -7
- package/apps/web/out/__next._tree.txt +3 -3
- package/apps/web/out/_next/static/chunks/0-94cql6nl0jv.css +2 -0
- package/apps/web/out/_next/static/chunks/0-_4nyrx9a0p_.js +4586 -0
- package/apps/web/out/_next/static/chunks/012el4mxdksfa.js +1 -0
- package/apps/web/out/_next/static/chunks/033hdyh92lap-.js +1 -0
- package/apps/web/out/_next/static/chunks/{0~saitcv01ulm.js → 09kj3eb8dudq..js} +1 -3
- package/apps/web/out/_next/static/chunks/0eyc01y70gfu8.js +5 -0
- package/apps/web/out/_next/static/chunks/0gfud9-ayub5k.css +1 -0
- package/apps/web/out/_next/static/chunks/0otg4bwz5am.y.css +2 -0
- package/apps/web/out/_next/static/chunks/0qgizcmqgdduz.js +1 -0
- package/apps/web/out/_next/static/chunks/0rjd9p0m-xust.js +31 -0
- package/apps/web/out/_next/static/chunks/111k.piti8qwb.js +1 -0
- package/apps/web/out/_next/static/chunks/1434omkut_t67.js +1 -0
- package/apps/web/out/_next/static/chunks/{turbopack-0qjykn58ffuft.js → turbopack-15aa1bhzoau.r.js} +1 -3
- package/apps/web/out/_not-found/__next._full.txt +23 -19
- package/apps/web/out/_not-found/__next._head.txt +4 -4
- package/apps/web/out/_not-found/__next._index.txt +6 -7
- package/apps/web/out/_not-found/__next._not-found.__PAGE__.txt +2 -2
- package/apps/web/out/_not-found/__next._not-found.txt +3 -3
- package/apps/web/out/_not-found/__next._tree.txt +3 -3
- package/apps/web/out/_not-found/index.html +1 -1
- package/apps/web/out/_not-found/index.txt +23 -19
- package/apps/web/out/align-center.png +0 -0
- package/apps/web/out/align-right.png +0 -0
- package/apps/web/out/align-text.png +0 -0
- package/apps/web/out/app-icon.png +0 -0
- package/apps/web/out/app-icon.svg +1 -1
- package/apps/web/out/bottom-alignment.png +0 -0
- package/apps/web/out/fonts/Gilroy-Regular.woff2 +0 -0
- package/apps/web/out/fonts/Gilroy-SemiBold.woff2 +0 -0
- package/apps/web/out/html2canvas.min.js +20 -0
- package/apps/web/out/icon-add-file.png +0 -0
- package/apps/web/out/icon-copy.png +0 -0
- package/apps/web/out/icon-remove.png +0 -0
- package/apps/web/out/index.html +1 -1
- package/apps/web/out/index.txt +16 -16
- package/apps/web/out/left-alignment.png +0 -0
- package/apps/web/out/logo.svg +14 -5
- package/apps/web/out/top-alignment.png +0 -0
- package/dist/{chunk-VIER63EE.js → chunk-Q2ALQSZX.js} +590 -110
- package/dist/cli.js +29 -6
- package/dist/{server-RXVSJGZG.js → server-PZVSL7GD.js} +1 -1
- package/package.json +11 -1
- package/apps/web/out/_next/static/chunks/00.vhdzyqgugx.js.map +0 -1
- package/apps/web/out/_next/static/chunks/026q~go~dh3ct.js.map +0 -1
- package/apps/web/out/_next/static/chunks/03lp76x6ml3q7.js.map +0 -1
- package/apps/web/out/_next/static/chunks/03rwb84ufo-ml.css +0 -2
- package/apps/web/out/_next/static/chunks/03~yq9q893hmn.js.map +0 -1
- package/apps/web/out/_next/static/chunks/05z1ica28h4v4.js.map +0 -1
- package/apps/web/out/_next/static/chunks/06pwisw_r78h0.js.map +0 -1
- package/apps/web/out/_next/static/chunks/07e0~_ag4wd_2.js +0 -3
- package/apps/web/out/_next/static/chunks/0856t9l8e24kl.js +0 -3459
- package/apps/web/out/_next/static/chunks/09dn2kc7uy573.css +0 -3
- package/apps/web/out/_next/static/chunks/0_h7u0wcctdvf.js.map +0 -1
- package/apps/web/out/_next/static/chunks/0bfs9u56d4mzi.js.map +0 -1
- package/apps/web/out/_next/static/chunks/0bnhnqs10zvm0.js +0 -3
- package/apps/web/out/_next/static/chunks/0b~oqibb-klk8.js.map +0 -1
- package/apps/web/out/_next/static/chunks/0dlz0h-q.e8t5.js.map +0 -1
- package/apps/web/out/_next/static/chunks/0e2qn3b70-t2i.js +0 -34
- package/apps/web/out/_next/static/chunks/0fv_wqm4-r1hb.js +0 -12
- package/apps/web/out/_next/static/chunks/0fysc_wo2kzsu.js.map +0 -1
- package/apps/web/out/_next/static/chunks/0i-mjuoftnsa3.js +0 -3
- package/apps/web/out/_next/static/chunks/0ix3s5zdxhkjq.js +0 -12
- package/apps/web/out/_next/static/chunks/0ovz1kz3yt45_.js +0 -33
- package/apps/web/out/_next/static/chunks/0ps7zql~4nu4c.js.map +0 -1
- package/apps/web/out/_next/static/chunks/0qans9q_q-pop.js +0 -7
- package/apps/web/out/_next/static/chunks/0t3k3fodzjqbk.js +0 -3
- package/apps/web/out/_next/static/chunks/0vh07vpip-7jr.js.map +0 -1
- package/apps/web/out/_next/static/chunks/0weq586uhw-26.js.map +0 -1
- package/apps/web/out/_next/static/chunks/0y1f9xlua9~_u.css +0 -2
- package/apps/web/out/_next/static/chunks/0zvsnz1lw0thi.js.map +0 -1
- package/apps/web/out/_next/static/chunks/0~ge_azerwvf9.css.map +0 -6
- package/apps/web/out/_next/static/chunks/0~wbkak703p3z.js +0 -3
- package/apps/web/out/_next/static/chunks/11uef98fc_tfp.css.map +0 -1
- package/apps/web/out/_next/static/chunks/14hojq718_2.u.js +0 -34
- package/apps/web/out/_next/static/chunks/15j8a~eyh6.eg.css.map +0 -1
- package/apps/web/out/_next/static/chunks/16cm9w~y8~hqh.js.map +0 -1
- package/apps/web/out/_next/static/chunks/17p64lujxa85m.js +0 -3
- package/apps/web/out/agent-icons/aider.png +0 -0
- package/apps/web/out/agent-icons/amr.svg +0 -8
- package/apps/web/out/agent-icons/antigravity.svg +0 -1
- package/apps/web/out/agent-icons/claude.svg +0 -1
- package/apps/web/out/agent-icons/codex.svg +0 -1
- package/apps/web/out/agent-icons/copilot.svg +0 -1
- package/apps/web/out/agent-icons/cursor-agent.svg +0 -1
- package/apps/web/out/agent-icons/deepseek.svg +0 -1
- package/apps/web/out/agent-icons/devin.png +0 -0
- package/apps/web/out/agent-icons/gemini.svg +0 -1
- package/apps/web/out/agent-icons/grok-build.svg +0 -15
- package/apps/web/out/agent-icons/hermes.svg +0 -1
- package/apps/web/out/agent-icons/kilo.svg +0 -1
- package/apps/web/out/agent-icons/kimi.svg +0 -1
- package/apps/web/out/agent-icons/kiro.svg +0 -1
- package/apps/web/out/agent-icons/mimo.svg +0 -1
- package/apps/web/out/agent-icons/opencode.svg +0 -1
- package/apps/web/out/agent-icons/pi.svg +0 -1
- package/apps/web/out/agent-icons/qoder.svg +0 -1
- package/apps/web/out/agent-icons/qwen.svg +0 -1
- package/apps/web/out/agent-icons/reasonix.svg +0 -37
- package/apps/web/out/agent-icons/trae-cli.png +0 -0
- package/apps/web/out/agent-icons/vibe.svg +0 -1
- package/apps/web/out/brand-icon.svg +0 -5
- package/apps/web/out/desktop-pet/__next._full.txt +0 -20
- package/apps/web/out/desktop-pet/__next._head.txt +0 -6
- package/apps/web/out/desktop-pet/__next._index.txt +0 -8
- package/apps/web/out/desktop-pet/__next._tree.txt +0 -3
- package/apps/web/out/desktop-pet/__next.desktop-pet.__PAGE__.txt +0 -6
- package/apps/web/out/desktop-pet/__next.desktop-pet.txt +0 -5
- package/apps/web/out/desktop-pet/index.html +0 -1
- package/apps/web/out/desktop-pet/index.txt +0 -20
- package/apps/web/out/logo.png +0 -0
- package/apps/web/out/model-icons/black-forest-labs.svg +0 -10
- package/apps/web/out/model-icons/bytedance.svg +0 -1
- package/apps/web/out/model-icons/elevenlabs.svg +0 -1
- package/apps/web/out/model-icons/fishaudio.svg +0 -1
- package/apps/web/out/model-icons/flux.svg +0 -1
- package/apps/web/out/model-icons/google-gemini.svg +0 -1
- package/apps/web/out/model-icons/minimax.svg +0 -1
- package/apps/web/out/model-icons/openai.svg +0 -1
- package/apps/web/out/model-icons/openrouter.svg +0 -1
- package/apps/web/out/model-icons/suno.svg +0 -1
- package/apps/web/out/model-icons/x.svg +0 -1
- package/apps/web/out/official_badge.svg +0 -48
- package/apps/web/out/remixicon.woff2 +0 -0
- /package/apps/web/out/_next/static/{EOfAKklAkTBpVS50QG3jX → LZdEU9ZvDchB9VDyfg54d}/_buildManifest.js +0 -0
- /package/apps/web/out/_next/static/{EOfAKklAkTBpVS50QG3jX → LZdEU9ZvDchB9VDyfg54d}/_clientMiddlewareManifest.js +0 -0
- /package/apps/web/out/_next/static/{EOfAKklAkTBpVS50QG3jX → LZdEU9ZvDchB9VDyfg54d}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["turbopack:///[project]/apps/web/src/providers/sse.ts","turbopack:///[project]/apps/web/src/observability/stuck-run.ts","turbopack:///[project]/apps/web/src/providers/daemon.ts"],"sourcesContent":["export type ParsedSseFrame =\n | { kind: 'event'; event: string; data: Record<string, unknown>; id?: string }\n | { kind: 'comment'; comment: string }\n | { kind: 'empty' };\n\nexport function parseSseFrame(frame: string): ParsedSseFrame | null {\n const lines = frame.split('\\n');\n const comments: string[] = [];\n let event = 'message';\n let id: string | undefined;\n const dataLines: string[] = [];\n\n for (const rawLine of lines) {\n const line = rawLine.endsWith('\\r') ? rawLine.slice(0, -1) : rawLine;\n if (line.startsWith(':')) {\n comments.push(line.slice(1).trimStart());\n } else if (line.startsWith('event: ')) {\n event = line.slice(7).trim();\n } else if (line.startsWith('id: ')) {\n id = line.slice(4).trim();\n } else if (line.startsWith('data: ')) {\n dataLines.push(line.slice(6));\n }\n }\n\n if (dataLines.length === 0) {\n if (comments.length > 0) {\n return { kind: 'comment', comment: comments.join('\\n') };\n }\n return { kind: 'empty' };\n }\n\n try {\n return { kind: 'event', event, data: JSON.parse(dataLines.join('\\n')), ...(id ? { id } : {}) };\n } catch {\n return null;\n }\n}\n","// Stuck-run watchdog.\n//\n// Emits `client_run_stuck` when a run that we've seen `run_created` for\n// has not progressed within `STUCK_AFTER_MS` (no SSE events, no terminal\n// state, no cancellation). This is the web-side proxy for SSE health —\n// we don't yet instrument the full stream lifecycle (start / heartbeat /\n// disconnect) but the user-visible symptom is invariably \"I started a run\n// and nothing's happening\", so a coarse stuck-after-timeout watchdog\n// catches the most common bad outcome.\n//\n// The watchdog is fired-and-forgotten: callers tell us a run started,\n// poke us every time they see progress, and tell us when it terminates.\n// Anything else and we emit the stuck event exactly once per run.\n//\n// Tied directly to issues #2464 / #2405 / #1451 — all reported as \"run\n// stuck in working state forever\". After this lands those reports become\n// data instead of GitHub anecdotes.\n\nimport { reportSafetyEvent } from '../analytics/error-tracking';\n\nconst STUCK_AFTER_MS = 5 * 60 * 1000; // 5 minutes with no progress\n\ninterface WatchedRun {\n runId: string;\n startedAt: number;\n lastProgressAt: number;\n timer: ReturnType<typeof setTimeout>;\n emitted: boolean;\n context: Record<string, unknown>;\n}\n\nconst runs = new Map<string, WatchedRun>();\n\nexport function trackRunStart(runId: string, context: Record<string, unknown> = {}): void {\n if (typeof window === 'undefined') return;\n // Replace any prior entry — a fresh start invalidates the previous\n // watchdog (rare but possible during reconnect storms).\n cancelRun(runId);\n const now = Date.now();\n const entry: WatchedRun = {\n runId,\n startedAt: now,\n lastProgressAt: now,\n timer: scheduleEmit(runId),\n emitted: false,\n context,\n };\n runs.set(runId, entry);\n}\n\nexport function trackRunProgress(runId: string): void {\n const entry = runs.get(runId);\n if (!entry) return;\n if (entry.emitted) return;\n entry.lastProgressAt = Date.now();\n clearTimeout(entry.timer);\n entry.timer = scheduleEmit(runId);\n}\n\nexport function trackRunTerminal(runId: string, terminalState: string): void {\n const entry = runs.get(runId);\n if (!entry) return;\n clearTimeout(entry.timer);\n runs.delete(runId);\n // Don't double-emit if we already declared it stuck — the late\n // terminal arrival is still useful to know about, though, so emit a\n // recovery event so the dashboard can pair the two.\n if (entry.emitted) {\n reportSafetyEvent('client_run_unstuck', {\n run_id: runId,\n terminal_state: terminalState,\n total_duration_ms: Date.now() - entry.startedAt,\n ...entry.context,\n });\n }\n}\n\nfunction cancelRun(runId: string): void {\n const existing = runs.get(runId);\n if (!existing) return;\n clearTimeout(existing.timer);\n runs.delete(runId);\n}\n\nfunction scheduleEmit(runId: string): ReturnType<typeof setTimeout> {\n return setTimeout(() => emitStuck(runId), STUCK_AFTER_MS);\n}\n\nfunction emitStuck(runId: string): void {\n const entry = runs.get(runId);\n if (!entry) return;\n if (entry.emitted) return;\n entry.emitted = true;\n reportSafetyEvent('client_run_stuck', {\n run_id: runId,\n duration_since_last_progress_ms: Date.now() - entry.lastProgressAt,\n duration_since_start_ms: Date.now() - entry.startedAt,\n ...entry.context,\n });\n}\n\n// Test-only — flush internal state between cases.\nexport function __resetStuckRunWatchdog(): void {\n for (const entry of runs.values()) {\n clearTimeout(entry.timer);\n }\n runs.clear();\n}\n","/**\n * Daemon provider — fetch-based SSE client for /api/runs. The daemon can\n * emit three event streams depending on the agent's streamFormat:\n * - 'agent' : typed events emitted by Claude Code's stream-json parser\n * (status, text_delta, thinking_delta, tool_use, tool_result,\n * usage, raw). We forward these to the UI as AgentEvent items.\n * - 'stdout' : plain chunks from other CLIs. We wrap them in a single\n * rolling 'text' event.\n * - 'stderr' : incidental stderr. Shown only when the process exits\n * non-zero (tail appended to the error message).\n */\nimport type { AgentEvent, ChatCommentAttachment, ChatMessage } from '../types';\nimport type {\n ChatAnalyticsHints,\n ChatRunCreateResponse,\n ChatRunListResponse,\n ChatRunStatus,\n ChatRunStatusResponse,\n ChatRequest,\n ChatSseEvent,\n ChatSseStartPayload,\n DaemonAgentPayload,\n MediaExecutionPolicy,\n ResearchOptions,\n RunContextSelection,\n SseErrorPayload,\n} from '@open-design/contracts';\nimport type { StreamHandlers } from './anthropic';\n\n/**\n * Returns the front-end carrier that's about to send this request:\n * - 'desktop' when running inside the Electron shell\n * - 'web' when running in a regular browser\n * - 'unknown' in non-browser test environments (jsdom without a UA)\n *\n * The daemon uses this to label telemetry traces. Cheap, called once per\n * run so caching isn't worth the complexity.\n */\nfunction detectClientType(): 'desktop' | 'web' | 'unknown' {\n if (typeof navigator === 'undefined') return 'unknown';\n const ua = navigator.userAgent ?? '';\n if (ua.includes('Electron/')) return 'desktop';\n if (ua) return 'web';\n return 'unknown';\n}\nimport { parseSseFrame } from './sse';\nimport { trackRunProgress, trackRunStart, trackRunTerminal } from '../observability/stuck-run';\n\nconst MAX_TRANSCRIPT_MESSAGE_CHARS = 12_000;\nconst LARGE_TOOL_RESULT_CHARS = 8_000;\nconst HIGH_INPUT_TOKEN_WARNING_THRESHOLD = 200_000;\n\nexport function latestUserPromptFromHistory(history: ChatMessage[]): string {\n for (let i = history.length - 1; i >= 0; i -= 1) {\n const message = history[i];\n if (message?.role === 'user') return message.content;\n }\n return '';\n}\n\nfunction truncateForTranscript(content: string): string {\n if (content.length <= MAX_TRANSCRIPT_MESSAGE_CHARS) return content;\n const omitted = content.length - MAX_TRANSCRIPT_MESSAGE_CHARS;\n return `${content.slice(0, MAX_TRANSCRIPT_MESSAGE_CHARS)}\\n\\n[Open Design truncated ${omitted} chars from this prior message before sending it to the agent. Full content remains in persisted history.]`;\n}\n\nfunction escapeTranscriptRoleDelimiters(content: string): string {\n return content.replace(/^(## (?:user|assistant)[ \\t]*)(\\r?)$/gm, '\\\\$1$2');\n}\n\nfunction compactInput(input: unknown): string {\n if (typeof input === 'string') return input;\n try {\n return JSON.stringify(input);\n } catch {\n return String(input);\n }\n}\n\nfunction buildPriorRunContextWarning(history: ChatMessage[]): string | null {\n let highestInputTokens = 0;\n let largeToolResults = 0;\n let sawAgentBrowserCoreDump = false;\n\n for (const message of history) {\n for (const event of message.events ?? []) {\n if (event.kind === 'usage' && typeof event.inputTokens === 'number') {\n highestInputTokens = Math.max(highestInputTokens, event.inputTokens);\n }\n if (event.kind === 'tool_result') {\n if (event.content.length > LARGE_TOOL_RESULT_CHARS) largeToolResults += 1;\n if (\n event.content.includes('agent-browser skills get core') ||\n event.content.includes('Agent Browser Core') ||\n event.content.includes('name: core')\n ) {\n sawAgentBrowserCoreDump = true;\n }\n }\n if (event.kind === 'tool_use') {\n const input = compactInput(event.input);\n if (input.includes('agent-browser skills get core')) {\n sawAgentBrowserCoreDump = true;\n }\n }\n }\n }\n\n const notes: string[] = [];\n if (highestInputTokens >= HIGH_INPUT_TOKEN_WARNING_THRESHOLD) {\n notes.push(`a previous run reported ${highestInputTokens} input tokens`);\n }\n if (largeToolResults > 0) {\n notes.push(`${largeToolResults} large prior tool result${largeToolResults === 1 ? '' : 's'} exist only in persisted event history`);\n }\n if (sawAgentBrowserCoreDump) {\n notes.push('agent-browser documentation output was seen earlier; do not replay it into this turn');\n }\n if (notes.length === 0) return null;\n\n return [\n '## context warning',\n `Open Design detected ${notes.join(', ')}.`,\n 'Keep this turn compact: summarize prior tool output, read large references from temp files, and quote only task-relevant lines.',\n ].join('\\n');\n}\n\nfunction scopeHistoryToAgent(history: ChatMessage[], targetAgentId?: string): ChatMessage[] {\n if (!targetAgentId) return history;\n for (let i = history.length - 1; i >= 0; i -= 1) {\n const message = history[i];\n if (message?.role === 'assistant' && message.agentId && message.agentId !== targetAgentId) {\n return history.slice(i + 1);\n }\n }\n return history;\n}\n\n// Strip OD-specific markup that the agent emitted on a prior turn but\n// that the model would otherwise pattern-match as a template to echo.\n// Today this is `<question-form>` blocks and the ```json fenced schemas\n// some models (GPT-OSS-120B Medium, Gemini 3.5 Flash) emit alongside\n// them — leaving those literal in the transcript causes weak/medium\n// plain-stream models to re-emit an identical form on the user's\n// follow-up turn, looking like the discovery form loop never breaks\n// (see PR #3157 form-loop investigation).\n//\n// User content is preserved verbatim — a user message that legitimately\n// quotes `<question-form>` (e.g. discussing the markup with the agent)\n// must not be mangled.\nexport function sanitizePriorAssistantTurnForTranscript(content: string): string {\n let sanitized = content.replace(\n /<question-form\\b[^>]*>[\\s\\S]*?<\\/question-form>/g,\n '[question-form was emitted here on a prior turn; the user already answered, see their reply below.]',\n );\n // Strip ```json (or plain ```) fenced blocks whose body matches the\n // form schema shape — `\"questions\": [` is the strongest tell. A\n // generic JSON snippet without that key (e.g. an API response the\n // agent shared) is left intact.\n sanitized = sanitized.replace(\n /```(?:json)?\\s*\\n([\\s\\S]*?)\\n```/g,\n (match, body: string) => {\n if (/\"questions\"\\s*:\\s*\\[/.test(body)) {\n return '[form schema was echoed here on a prior turn; stripped to avoid a loop.]';\n }\n return match;\n },\n );\n return sanitized;\n}\n\nexport function buildDaemonTranscript(history: ChatMessage[], targetAgentId?: string): string {\n const scopedHistory = scopeHistoryToAgent(history, targetAgentId);\n const transcript = scopedHistory\n .map((m) => {\n const trimmed = m.content.trim();\n const sanitized =\n m.role === 'assistant'\n ? sanitizePriorAssistantTurnForTranscript(trimmed)\n : trimmed;\n return `## ${m.role}\\n${escapeTranscriptRoleDelimiters(truncateForTranscript(sanitized))}`;\n })\n .join('\\n\\n');\n const warning = buildPriorRunContextWarning(scopedHistory);\n return warning ? `${warning}\\n\\n${transcript}` : transcript;\n}\n\nexport interface DaemonStreamHandlers extends StreamHandlers {\n onAgentEvent: (ev: AgentEvent) => void;\n}\n\nexport interface DaemonStreamOptions {\n agentId: string;\n history: ChatMessage[];\n /** Legacy field accepted by older tests/callers. Daemon-owned prompt composition ignores it. */\n systemPrompt?: string;\n /** Stops the current browser-side SSE subscription. The daemon run continues. */\n signal: AbortSignal;\n /** Explicit user cancellation signal. This maps to POST /api/runs/:id/cancel. */\n cancelSignal?: AbortSignal;\n handlers: DaemonStreamHandlers;\n // The active project's id. When supplied, the daemon spawns the agent\n // with cwd = the project folder so its file tools target the right\n // workspace.\n projectId?: string | null;\n conversationId?: string | null;\n assistantMessageId?: string | null;\n clientRequestId?: string | null;\n skillId?: string | null;\n // Per-turn skill ids picked via the composer's @-mention popover. These\n // are layered onto the system prompt for this run only and do not\n // change the project's persistent `skillId`.\n skillIds?: string[];\n designSystemId?: string | null;\n // Project-relative paths the user has staged for this turn. The\n // daemon resolves them inside the project folder, validates they\n // exist, and stitches them into the user message as `@<path>` hints.\n attachments?: string[];\n commentAttachments?: ChatCommentAttachment[];\n // Per-CLI model + reasoning the user picked in the model menu. Both are\n // optional; the daemon validates them against the agent's declared\n // options and falls back to the CLI default when missing.\n model?: string | null;\n reasoning?: string | null;\n research?: ResearchOptions;\n context?: RunContextSelection;\n mediaExecution?: MediaExecutionPolicy;\n locale?: string;\n initialLastEventId?: string | null;\n onRunCreated?: (runId: string) => void;\n onRunStatus?: (status: ChatRunStatus) => void;\n onRunEventId?: (eventId: string) => void;\n // v2 analytics context propagated to run_created / run_finished.\n // Optional; the daemon only consumes these to shape PostHog props\n // (page_name / area / entry_from / DS context). Behavior never\n // depends on them.\n analyticsHints?: ChatAnalyticsHints;\n}\n\nexport interface DaemonReattachOptions {\n runId: string;\n signal: AbortSignal;\n cancelSignal?: AbortSignal;\n handlers: DaemonStreamHandlers;\n initialLastEventId?: string | null;\n onRunStatus?: (status: ChatRunStatus) => void;\n onRunEventId?: (eventId: string) => void;\n}\n\nexport const RUNS_CHANGED_EVENT = 'open-design:runs-changed';\n\nfunction notifyRunsChanged() {\n if (typeof window === 'undefined') return;\n window.dispatchEvent(new Event(RUNS_CHANGED_EVENT));\n}\n\nfunction daemonSseErrorMessage(data: SseErrorPayload): string {\n const message = String(data.error?.message ?? data.message ?? 'daemon error');\n const detail =\n data.error?.details &&\n typeof data.error.details === 'object' &&\n !Array.isArray(data.error.details) &&\n typeof data.error.details.detail === 'string'\n ? data.error.details.detail\n : null;\n if (!detail || detail === message || message.includes(detail)) return message;\n return `${message}\\n${detail}`;\n}\n\nfunction daemonSseError(data: SseErrorPayload): Error {\n const error = new Error(daemonSseErrorMessage(data)) as Error & {\n code?: string;\n details?: unknown;\n };\n if (data.error?.code) error.code = data.error.code;\n if (data.error?.details !== undefined) error.details = data.error.details;\n return error;\n}\n\nfunction shouldSuppressLifecycleExitFallback(\n agentId: string | undefined,\n exitCode: number | null,\n exitSignal: string | null,\n stderrTail: string,\n): boolean {\n if (exitCode !== 130 || exitSignal) return false;\n if (agentId === 'amr') return true;\n const normalizedStderr = stderrTail.toLowerCase();\n return (\n normalizedStderr.includes('opencode server listening') ||\n normalizedStderr.includes('opencode_server_password')\n );\n}\n\nexport async function streamViaDaemon({\n agentId,\n history,\n signal,\n cancelSignal,\n handlers,\n projectId,\n conversationId,\n assistantMessageId,\n clientRequestId,\n skillId,\n skillIds,\n designSystemId,\n attachments,\n commentAttachments,\n model,\n reasoning,\n research,\n context,\n mediaExecution,\n locale,\n initialLastEventId,\n onRunCreated,\n onRunStatus,\n onRunEventId,\n analyticsHints,\n}: DaemonStreamOptions): Promise<void> {\n const emitRunStatus = (status: ChatRunStatus) => {\n onRunStatus?.(status);\n notifyRunsChanged();\n };\n // Local CLIs are single-turn print-mode programs, so we collapse the whole\n // chat into one string. If this becomes too noisy for long histories, the\n // fix is to only include the final user turn.\n const transcript = buildDaemonTranscript(history, agentId);\n const request: ChatRequest = {\n agentId,\n message: transcript,\n currentPrompt: latestUserPromptFromHistory(history),\n projectId: projectId ?? null,\n conversationId: conversationId ?? null,\n assistantMessageId: assistantMessageId ?? null,\n clientRequestId: clientRequestId ?? null,\n skillId: skillId ?? null,\n skillIds: Array.isArray(skillIds) ? skillIds : [],\n designSystemId: designSystemId ?? null,\n attachments: attachments ?? [],\n commentAttachments: commentAttachments ?? [],\n model: model ?? null,\n reasoning: reasoning ?? null,\n locale,\n ...(context ? { context } : {}),\n ...(research ? { research } : {}),\n ...(mediaExecution ? { mediaExecution } : {}),\n ...(analyticsHints ? { analyticsHints } : {}),\n };\n const body = JSON.stringify(request);\n\n try {\n const createResp = await fetch('/api/runs', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n // Tells the daemon which front-end carrier started the run so the\n // telemetry trace can be tagged 'client:desktop' vs 'client:web'.\n // The daemon falls back to a User-Agent sniff when this header is\n // absent (e.g. third-party clients), so omitting it in tests is OK.\n 'X-OD-Client': detectClientType(),\n },\n body,\n });\n\n if (!createResp.ok) {\n const text = await createResp.text().catch(() => '');\n emitRunStatus('failed');\n handlers.onError(new Error(`daemon ${createResp.status}: ${text || 'no body'}`));\n return;\n }\n\n const created = (await createResp.json()) as ChatRunCreateResponse;\n const runId = created.runId;\n onRunCreated?.(runId);\n // Start the stuck-run watchdog. trackRunProgress is called inside the\n // SSE consumer below on every event; trackRunTerminal fires when the\n // stream resolves to a terminal state (or errors out).\n trackRunStart(runId, {\n agent_id: agentId,\n project_id: projectId ?? undefined,\n conversation_id: conversationId ?? undefined,\n client_type: detectClientType(),\n });\n notifyRunsChanged();\n emitRunStatus('queued');\n await consumeDaemonRun({\n agentId,\n runId,\n signal,\n cancelSignal,\n handlers,\n initialLastEventId,\n onRunStatus: emitRunStatus,\n onRunEventId,\n });\n } catch (err) {\n if ((err as Error).name === 'AbortError') return;\n emitRunStatus('failed');\n handlers.onError(err instanceof Error ? err : new Error(String(err)));\n }\n}\n\nexport async function reattachDaemonRun(options: DaemonReattachOptions): Promise<void> {\n await consumeDaemonRun({\n ...options,\n onRunStatus: (status) => {\n options.onRunStatus?.(status);\n notifyRunsChanged();\n },\n });\n}\n\nexport async function fetchChatRunStatus(runId: string): Promise<ChatRunStatusResponse | null> {\n try {\n const resp = await fetch(`/api/runs/${encodeURIComponent(runId)}`);\n if (!resp.ok) return null;\n return (await resp.json()) as ChatRunStatusResponse;\n } catch {\n return null;\n }\n}\n\n// Push a `tool_result` content block back into a running stream-json child.\n// Used to answer Claude's `AskUserQuestion` tool: the host card collects the\n// user's pick, formats it as one text string, and we route it through the\n// daemon's POST /api/runs/:id/tool-result. The daemon writes it as a JSONL\n// line on the still-open stdin so claude-code can resume mid-call instead\n// of auto-erroring the tool in headless mode.\nexport async function submitChatRunToolResult(\n runId: string,\n toolUseId: string,\n content: string,\n options: { isError?: boolean } = {},\n): Promise<{ ok: boolean; status?: number }> {\n try {\n const resp = await fetch(`/api/runs/${encodeURIComponent(runId)}/tool-result`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ toolUseId, content, isError: !!options.isError }),\n });\n return { ok: resp.ok, status: resp.status };\n } catch {\n return { ok: false };\n }\n}\n\n// PR #3157: Antigravity's auth banner can offer a one-click \"open\n// system terminal with agy\" button. The daemon endpoint spawns\n// osascript / x-terminal-emulator / `cmd /c start` for the user; on\n// success the new Terminal window pops up with agy running and the\n// browser opens for OAuth. The Promise resolves once the daemon kicks\n// off the spawn (not when OAuth completes), so the UI can disable the\n// button momentarily and then re-enable for a retry click after the\n// user finishes in the terminal.\nexport interface LaunchAntigravityOauthResult {\n ok: boolean;\n platform?: string;\n via?: string;\n error?: string;\n}\nexport async function launchAntigravityOauth(): Promise<LaunchAntigravityOauthResult> {\n try {\n const resp = await fetch('/api/agents/antigravity/oauth-launch', {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: '{}',\n });\n const body = (await resp.json().catch(() => null)) as\n | LaunchAntigravityOauthResult\n | null;\n if (!resp.ok) {\n return {\n ok: false,\n error:\n body?.error ?? `daemon returned ${resp.status} ${resp.statusText}`,\n };\n }\n return body ?? { ok: true };\n } catch (err) {\n return {\n ok: false,\n error: err instanceof Error ? err.message : String(err),\n };\n }\n}\n\nexport interface VelaUser {\n id: string;\n email: string;\n name?: string;\n image?: string | null;\n plan?: string;\n}\n\nexport interface VelaLoginStatus {\n loggedIn: boolean;\n loginInFlight?: boolean;\n profile: string;\n user: VelaUser | null;\n configPath: string;\n}\n\n// AMR (vela) login surfaces three thin endpoints on the daemon:\n// GET /api/integrations/vela/status — read ~/.amr/config.json projection\n// POST /api/integrations/vela/login — spawn `vela login` (vela opens browser itself)\n// POST /api/integrations/vela/login/cancel — terminate a still-pending login\n// POST /api/integrations/vela/logout — clear ~/.amr auth and Settings-backed AMR auth env\n// The Settings UI polls /status after kicking off /login to detect completion.\nexport async function fetchVelaLoginStatus(): Promise<VelaLoginStatus | null> {\n try {\n const resp = await fetch('/api/integrations/vela/status');\n if (!resp.ok) return null;\n return (await resp.json()) as VelaLoginStatus;\n } catch {\n return null;\n }\n}\n\nexport interface StartVelaLoginResult {\n ok: boolean;\n status: number;\n pid?: number;\n alreadyRunning?: boolean;\n error?: string;\n}\n\nexport async function startVelaLogin(): Promise<StartVelaLoginResult> {\n try {\n const resp = await fetch('/api/integrations/vela/login', { method: 'POST' });\n if (resp.ok) {\n const body = (await resp.json()) as { pid?: number };\n return { ok: true, status: resp.status, pid: body.pid };\n }\n const body = (await resp.json().catch(() => null)) as { error?: string } | null;\n return {\n ok: false,\n status: resp.status,\n alreadyRunning: resp.status === 409,\n error: body?.error ?? '',\n };\n } catch (err) {\n return { ok: false, status: 0, error: err instanceof Error ? err.message : String(err) };\n }\n}\n\nexport async function cancelVelaLogin(): Promise<{ ok: boolean; canceled?: boolean }> {\n try {\n const resp = await fetch('/api/integrations/vela/login/cancel', { method: 'POST' });\n if (!resp.ok) return { ok: false };\n const body = (await resp.json().catch(() => null)) as { canceled?: boolean } | null;\n return { ok: true, canceled: body?.canceled };\n } catch {\n return { ok: false };\n }\n}\n\nexport async function velaLogout(): Promise<{ ok: boolean }> {\n try {\n const resp = await fetch('/api/integrations/vela/logout', { method: 'POST' });\n return { ok: resp.ok };\n } catch {\n return { ok: false };\n }\n}\n\n// Forwards the user's assistant-turn rating to the daemon so it can emit\n// a Langfuse `score-create`. Fire-and-forget — failures are not surfaced\n// to the UI (the rating is already persisted on the message itself via\n// the PUT /messages/:id round-trip).\nexport async function reportChatRunFeedback(req: {\n runId: string;\n projectId: string;\n conversationId: string;\n assistantMessageId: string;\n rating: 'positive' | 'negative';\n reasonCodes: string[];\n hasCustomReason: boolean;\n customReason: string;\n}): Promise<void> {\n try {\n await fetch(`/api/runs/${encodeURIComponent(req.runId)}/feedback`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(req),\n });\n } catch {\n // Best-effort.\n }\n}\n\nexport async function listActiveChatRuns(\n projectId: string,\n conversationId: string,\n): Promise<ChatRunStatusResponse[]> {\n try {\n const qs = new URLSearchParams({ projectId, conversationId, status: 'active' });\n const resp = await fetch(`/api/runs?${qs.toString()}`);\n if (!resp.ok) return [];\n const body = (await resp.json()) as ChatRunListResponse;\n return body.runs ?? [];\n } catch {\n return [];\n }\n}\n\nexport async function listProjectRuns(): Promise<ChatRunStatusResponse[]> {\n try {\n const resp = await fetch('/api/runs');\n if (!resp.ok) return [];\n const body = (await resp.json()) as ChatRunListResponse;\n return body.runs ?? [];\n } catch {\n return [];\n }\n}\n\nasync function consumeDaemonRun({\n agentId,\n runId,\n signal,\n cancelSignal,\n handlers,\n initialLastEventId,\n onRunStatus,\n onRunEventId,\n}: DaemonReattachOptions & { agentId?: string }): Promise<void> {\n let acc = '';\n let stderrBuf = '';\n let exitCode: number | null = null;\n let exitSignal: string | null = null;\n let endStatus: ChatRunStatus | null = null;\n // Tracks whether the server explicitly declared `status: 'succeeded'` in\n // the SSE end payload (or via the fallback run-status fetch). Distinct\n // from `endStatus === 'succeeded'`, which can be a local fallback when\n // the SSE end event omits or sends an invalid `status` field. Only the\n // explicit declaration is allowed to bypass the exit-code/signal safety\n // net below — a missing-status fallback keeps the old behavior so a\n // failure response with `{code:1}` or `{code:null,signal:\"SIGTERM\"}` and\n // no `status` field still surfaces an error banner.\n let serverDeclaredSuccess = false;\n let lastEventId: string | null = initialLastEventId ?? null;\n let canceled = false;\n const cancelRun = () => {\n if (canceled) return;\n canceled = true;\n void fetch(`/api/runs/${encodeURIComponent(runId)}/cancel`, { method: 'POST' }).catch(() => {});\n };\n\n cancelSignal?.addEventListener('abort', cancelRun, { once: true });\n try {\n if (cancelSignal?.aborted) {\n cancelRun();\n return;\n }\n\n for (let reconnects = 0; endStatus === null && reconnects < 5;) {\n const qs = lastEventId ? `?after=${encodeURIComponent(lastEventId)}` : '';\n let resp: Response;\n try {\n resp = await fetch(`/api/runs/${encodeURIComponent(runId)}/events${qs}`, {\n method: 'GET',\n signal,\n });\n } catch (err) {\n if ((err as Error).name === 'AbortError') throw err;\n reconnects += 1;\n continue;\n }\n\n if (!resp.ok || !resp.body) {\n const text = await resp.text().catch(() => '');\n handlers.onError(new Error(`daemon ${resp.status}: ${text || 'no body'}`));\n return;\n }\n\n const reader = resp.body.getReader();\n const decoder = new TextDecoder();\n let buf = '';\n let sawStreamProgress = false;\n\n while (true) {\n const { value, done } = await reader.read();\n if (done) break;\n buf += decoder.decode(value, { stream: true });\n let idx: number;\n while ((idx = buf.indexOf('\\n\\n')) !== -1) {\n const frame = buf.slice(0, idx);\n buf = buf.slice(idx + 2);\n const parsed = parseSseFrame(frame);\n if (!parsed) continue;\n if (parsed.kind === 'comment') {\n sawStreamProgress = true;\n trackRunProgress(runId);\n continue;\n }\n if (parsed.kind !== 'event') continue;\n sawStreamProgress = true;\n trackRunProgress(runId);\n if (parsed.id) {\n lastEventId = parsed.id;\n onRunEventId?.(parsed.id);\n }\n\n const event = parsed as unknown as ChatSseEvent;\n\n if (event.event === 'stdout') {\n const chunk = String(event.data.chunk ?? '');\n acc += chunk;\n handlers.onDelta(chunk);\n handlers.onAgentEvent({ kind: 'text', text: chunk });\n continue;\n }\n\n if (event.event === 'stderr') {\n stderrBuf += event.data.chunk ?? '';\n continue;\n }\n\n if (event.event === 'agent') {\n const translated = translateAgentEvent(event.data);\n if (!translated) continue;\n if (translated.kind === 'text') {\n acc += translated.text;\n handlers.onDelta(translated.text);\n }\n handlers.onAgentEvent(translated);\n continue;\n }\n\n if (event.event === 'start') {\n const data = event.data as ChatSseStartPayload;\n onRunStatus?.('running');\n handlers.onAgentEvent({\n kind: 'status',\n label: 'starting',\n detail: typeof data.bin === 'string' ? data.bin : undefined,\n });\n continue;\n }\n\n if (event.event === 'error') {\n onRunStatus?.('failed');\n const data = event.data as SseErrorPayload;\n handlers.onError(daemonSseError(data));\n return;\n }\n\n if (event.event === 'end') {\n exitCode = typeof event.data.code === 'number' ? event.data.code : null;\n exitSignal = typeof event.data.signal === 'string' ? event.data.signal : null;\n // `serverDeclaredSuccess` records whether the server explicitly\n // set `status: 'succeeded'` in the end payload — the local\n // `'succeeded'` fallback below does not count and must keep\n // hitting the exit-code/signal safety net later.\n serverDeclaredSuccess = event.data.status === 'succeeded';\n endStatus = isChatRunStatus(event.data.status) ? event.data.status : 'succeeded';\n onRunStatus?.(endStatus);\n }\n }\n }\n reconnects = sawStreamProgress ? 0 : reconnects + 1;\n }\n\n if (endStatus === null) {\n const status = await fetchChatRunStatus(runId);\n if (status && isChatRunStatus(status.status) && status.status !== 'queued' && status.status !== 'running') {\n endStatus = status.status;\n exitCode = status.exitCode ?? null;\n exitSignal = status.signal ?? null;\n // Fallback REST path: `status.status` is explicitly declared by the\n // daemon's run record (it passed `isChatRunStatus()` above), so an\n // explicit `'succeeded'` here is just as authoritative as the SSE\n // end-event success.\n serverDeclaredSuccess = status.status === 'succeeded';\n onRunStatus?.(endStatus);\n } else {\n onRunStatus?.('failed');\n handlers.onError(new Error('daemon stream disconnected before run completed'));\n return;\n }\n }\n\n if (endStatus === 'canceled') {\n handlers.onDone(acc);\n return;\n }\n\n // Trust the server's authoritative success declaration. When the server\n // explicitly sets `status: 'succeeded'` (either in the SSE end payload\n // or via the fallback run-status fetch), the run completed cleanly even\n // if the underlying process exited via a signal — some agents (e.g.\n // ACP agents like Devin for Terminal) intentionally exit via SIGTERM\n // after a clean prompt completion because they don't shut down on\n // `stdin.end()`. The signal/non-zero-code safety net is bypassed only\n // for that explicit declaration; a missing/invalid `status` from a\n // compatible or older daemon still falls back to `endStatus =\n // 'succeeded'` for the run-status surface but must keep the safety net\n // intact so a real failure response like `{code:1}` or\n // `{code:null,signal:\"SIGTERM\"}` without `status` still surfaces an\n // error banner.\n const looksLikeFailure =\n endStatus === 'failed' ||\n (!serverDeclaredSuccess &&\n (exitSignal || (exitCode !== null && exitCode !== 0)));\n if (looksLikeFailure) {\n if (shouldSuppressLifecycleExitFallback(agentId, exitCode, exitSignal, stderrBuf)) {\n handlers.onDone(acc);\n return;\n }\n const tail = stderrBuf.trim().slice(-400);\n handlers.onError(\n new Error(`agent exited with ${exitSignal ? `signal ${exitSignal}` : `code ${exitCode}`}${tail ? `\\n${tail}` : ''}`),\n );\n return;\n }\n handlers.onDone(acc);\n } finally {\n cancelSignal?.removeEventListener('abort', cancelRun);\n // Settle the stuck-run watchdog with whatever terminal state we\n // resolved. If the watchdog was never armed (reattach paths that\n // hit the daemon for an already-finished run), trackRunTerminal\n // is a no-op for unknown runIds.\n trackRunTerminal(runId, endStatus ?? (canceled ? 'canceled' : 'unknown'));\n }\n}\n\nfunction isChatRunStatus(value: unknown): value is ChatRunStatus {\n return value === 'queued' || value === 'running' || value === 'succeeded' || value === 'failed' || value === 'canceled';\n}\n\nfunction normalizeToolInput(input: unknown): unknown {\n if (input == null || typeof input !== 'object') return input;\n const obj = input as Record<string, unknown>;\n if ('filePath' in obj && typeof obj.filePath === 'string') {\n return { ...obj, file_path: obj.filePath };\n }\n return input;\n}\n\n// Translate a raw `agent` SSE payload (what apps/daemon/src/claude-stream.ts emits)\n// into the UI's AgentEvent union. Keep this liberal — unknown types just\n// return null so the UI ignores them instead of rendering garbage.\nfunction translateAgentEvent(data: DaemonAgentPayload): AgentEvent | null {\n const t = data.type;\n if (t === 'status' && typeof data.label === 'string') {\n return {\n kind: 'status',\n label: data.label,\n detail:\n typeof data.detail === 'string'\n ? data.detail\n : typeof data.model === 'string'\n ? data.model\n : typeof data.ttftMs === 'number'\n ? `first token in ${Math.round((data.ttftMs as number) / 100) / 10}s`\n : undefined,\n };\n }\n if (t === 'text_delta' && typeof data.delta === 'string') {\n return { kind: 'text', text: data.delta };\n }\n if (t === 'thinking_delta' && typeof data.delta === 'string') {\n return { kind: 'thinking', text: data.delta };\n }\n if (t === 'thinking_start') {\n return { kind: 'status', label: 'thinking' };\n }\n if (t === 'live_artifact') {\n return {\n kind: 'live_artifact',\n action: data.action,\n projectId: data.projectId,\n artifactId: data.artifactId,\n title: data.title,\n refreshStatus: data.refreshStatus,\n };\n }\n if (t === 'live_artifact_refresh') {\n return {\n kind: 'live_artifact_refresh',\n phase: data.phase,\n projectId: data.projectId,\n artifactId: data.artifactId,\n refreshId: data.refreshId,\n title: data.title,\n refreshedSourceCount: data.refreshedSourceCount,\n error: data.error,\n };\n }\n if (t === 'tool_use' && typeof data.id === 'string' && typeof data.name === 'string') {\n return { kind: 'tool_use', id: data.id, name: data.name, input: normalizeToolInput(data.input) };\n }\n if (t === 'tool_result' && typeof data.toolUseId === 'string') {\n return {\n kind: 'tool_result',\n toolUseId: data.toolUseId,\n content: String(data.content ?? ''),\n isError: Boolean(data.isError),\n };\n }\n if (t === 'usage') {\n const usage = (data.usage ?? {}) as Record<string, number>;\n return {\n kind: 'usage',\n inputTokens: usage.input_tokens,\n outputTokens: usage.output_tokens,\n costUsd: typeof data.costUsd === 'number' ? data.costUsd : undefined,\n durationMs: typeof data.durationMs === 'number' ? data.durationMs : undefined,\n };\n }\n if (t === 'fabricated_role_marker' && typeof data.marker === 'string') {\n return {\n kind: 'status',\n label: 'warning',\n detail: `Model emitted fabricated role marker (\"${data.marker}\"). Response was truncated to prevent unauthorized instruction injection.`,\n };\n }\n if (t === 'raw' && typeof data.line === 'string') {\n return { kind: 'raw', line: data.line };\n }\n return null;\n}\n\nexport async function saveArtifact(\n identifier: string,\n title: string,\n html: string,\n): Promise<{ url: string; path: string } | null> {\n try {\n const resp = await fetch('/api/artifacts/save', {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ identifier, title, html }),\n });\n if (!resp.ok) return null;\n return (await resp.json()) as { url: string; path: string };\n } catch {\n return null;\n }\n}\n"],"names":["parseSseFrame","frame","lines","split","comments","event","id","dataLines","rawLine","line","endsWith","slice","startsWith","push","trimStart","trim","length","kind","comment","join","data","JSON","parse"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["turbopack:///[turbopack]/shared/runtime/runtime-utils.ts","turbopack:///[turbopack]/browser/runtime/base/runtime-base.ts","turbopack:///[turbopack]/browser/runtime/base/build-base.ts","turbopack:///[turbopack]/browser/runtime/dom/runtime-backend-dom.ts"],"sourcesContent":["/**\n * This file contains runtime types and functions that are shared between all\n * TurboPack ECMAScript runtimes.\n *\n * It will be prepended to the runtime code of each runtime.\n */\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\n\n/// <reference path=\"./runtime-types.d.ts\" />\n\ntype EsmNamespaceObject = Record<string, any>\n\n/**\n * Describes why a module was instantiated.\n * Shared between browser and Node.js runtimes.\n */\nenum SourceType {\n /**\n * The module was instantiated because it was included in an evaluated chunk's\n * runtime.\n * SourceData is a ChunkPath.\n */\n Runtime = 0,\n /**\n * The module was instantiated because a parent module imported it.\n * SourceData is a ModuleId.\n */\n Parent = 1,\n /**\n * The module was instantiated because it was included in a chunk's hot module\n * update.\n * SourceData is an array of ModuleIds or undefined.\n */\n Update = 2,\n}\n\ntype SourceData = ChunkPath | ModuleId | ModuleId[] | undefined\n\n// @ts-ignore Defined in `dev-base.ts`\ndeclare function getOrInstantiateModuleFromParent<M>(\n id: ModuleId,\n sourceModule: M\n): M\n\n// @ts-ignore Defined in `hmr-runtime.ts` (dev mode only)\ndeclare let devModuleCache: Record<ModuleId, any> | undefined\n\n/**\n * Flag indicating which module object type to create when a module is merged. Set to `true`\n * by each runtime that uses ModuleWithDirection (browser dev-base.ts, nodejs dev-base.ts,\n * nodejs build-base.ts). Browser production (build-base.ts) leaves it as `false` since it\n * uses plain Module objects.\n */\nlet createModuleWithDirectionFlag = false\n\nconst REEXPORTED_OBJECTS = new WeakMap<Module, ReexportedObjects>()\n\n/**\n * Constructs the `__turbopack_context__` object for a module.\n */\nfunction Context(\n this: TurbopackBaseContext<Module>,\n module: Module,\n exports: Exports\n) {\n this.m = module\n // We need to store this here instead of accessing it from the module object to:\n // 1. Make it available to factories directly, since we rewrite `this` to\n // `__turbopack_context__.e` in CJS modules.\n // 2. Support async modules which rewrite `module.exports` to a promise, so we\n // can still access the original exports object from functions like\n // `esmExport`\n // Ideally we could find a new approach for async modules and drop this property altogether.\n this.e = exports\n}\nconst contextPrototype = Context.prototype as TurbopackBaseContext<Module>\n\ntype ModuleContextMap = Record<ModuleId, ModuleContextEntry>\n\ninterface ModuleContextEntry {\n id: () => ModuleId\n module: () => any\n}\n\ninterface ModuleContext {\n // require call\n (moduleId: string): Exports | EsmNamespaceObject\n\n // async import call\n import(moduleId: string): Promise<Exports | EsmNamespaceObject>\n\n keys(): ModuleId[]\n\n resolve(moduleId: string): ModuleId\n}\n\ntype GetOrInstantiateModuleFromParent<M extends Module> = (\n moduleId: M['id'],\n parentModule: M\n) => M\n\ndeclare function getOrInstantiateRuntimeModule(\n chunkPath: ChunkPath,\n moduleId: ModuleId\n): Module\n\nconst hasOwnProperty = Object.prototype.hasOwnProperty\nconst toStringTag = typeof Symbol !== 'undefined' && Symbol.toStringTag\n\nfunction defineProp(\n obj: any,\n name: PropertyKey,\n options: PropertyDescriptor & ThisType<any>\n) {\n if (!hasOwnProperty.call(obj, name)) Object.defineProperty(obj, name, options)\n}\n\nfunction getOverwrittenModule(\n moduleCache: ModuleCache<Module>,\n id: ModuleId\n): Module {\n let module = moduleCache[id]\n if (!module) {\n if (createModuleWithDirectionFlag) {\n // set in development modes for hmr support\n module = createModuleWithDirection(id)\n } else {\n module = createModuleObject(id)\n }\n moduleCache[id] = module\n }\n return module\n}\n\n/**\n * Creates the module object. Only done here to ensure all module objects have the same shape.\n */\nfunction createModuleObject(id: ModuleId): Module {\n return {\n exports: {},\n error: undefined,\n id,\n namespaceObject: undefined,\n }\n}\n\nfunction createModuleWithDirection(id: ModuleId): ModuleWithDirection {\n return {\n exports: {},\n error: undefined,\n id,\n namespaceObject: undefined,\n parents: [],\n children: [],\n }\n}\n\ntype BindingTag = 0\nconst BindingTag_Value = 0 as BindingTag\n\n// an arbitrary sequence of bindings as\n// - a prop name\n// - BindingTag_Value, a value to be bound directly, or\n// - 1 or 2 functions to bind as getters and sdetters\ntype EsmBindings = Array<\n string | BindingTag | (() => unknown) | ((v: unknown) => void) | unknown\n>\n\n/**\n * Adds the getters to the exports object.\n */\nfunction esm(exports: Exports, bindings: EsmBindings) {\n defineProp(exports, '__esModule', { value: true })\n if (toStringTag) defineProp(exports, toStringTag, { value: 'Module' })\n let i = 0\n while (i < bindings.length) {\n const propName = bindings[i++] as string\n const tagOrFunction = bindings[i++]\n if (typeof tagOrFunction === 'number') {\n if (tagOrFunction === BindingTag_Value) {\n defineProp(exports, propName, {\n value: bindings[i++],\n enumerable: true,\n writable: false,\n })\n } else {\n throw new Error(`unexpected tag: ${tagOrFunction}`)\n }\n } else {\n const getterFn = tagOrFunction as () => unknown\n if (typeof bindings[i] === 'function') {\n const setterFn = bindings[i++] as (v: unknown) => void\n defineProp(exports, propName, {\n get: getterFn,\n set: setterFn,\n enumerable: true,\n })\n } else {\n defineProp(exports, propName, {\n get: getterFn,\n enumerable: true,\n })\n }\n }\n }\n Object.seal(exports)\n}\n\n/**\n * Makes the module an ESM with exports\n */\nfunction esmExport(\n this: TurbopackBaseContext<Module>,\n bindings: EsmBindings,\n id: ModuleId | undefined\n) {\n let module: Module\n let exports: Module['exports']\n if (id != null) {\n module = getOverwrittenModule(this.c, id)\n exports = module.exports\n } else {\n module = this.m\n exports = this.e\n }\n module.namespaceObject = exports\n esm(exports, bindings)\n}\ncontextPrototype.s = esmExport\n\ntype ReexportedObjects = Record<PropertyKey, unknown>[]\nfunction ensureDynamicExports(\n module: Module,\n exports: Exports\n): ReexportedObjects {\n let reexportedObjects: ReexportedObjects | undefined =\n REEXPORTED_OBJECTS.get(module)\n\n if (!reexportedObjects) {\n REEXPORTED_OBJECTS.set(module, (reexportedObjects = []))\n module.exports = module.namespaceObject = new Proxy(exports, {\n get(target, prop) {\n if (\n hasOwnProperty.call(target, prop) ||\n prop === 'default' ||\n prop === '__esModule'\n ) {\n return Reflect.get(target, prop)\n }\n for (const obj of reexportedObjects!) {\n const value = Reflect.get(obj, prop)\n if (value !== undefined) return value\n }\n return undefined\n },\n ownKeys(target) {\n const keys = Reflect.ownKeys(target)\n for (const obj of reexportedObjects!) {\n for (const key of Reflect.ownKeys(obj)) {\n if (key !== 'default' && !keys.includes(key)) keys.push(key)\n }\n }\n return keys\n },\n })\n }\n return reexportedObjects\n}\n\n/**\n * Dynamically exports properties from an object\n */\nfunction dynamicExport(\n this: TurbopackBaseContext<Module>,\n object: Record<string, any>,\n id: ModuleId | undefined\n) {\n let module: Module\n let exports: Exports\n if (id != null) {\n module = getOverwrittenModule(this.c, id)\n exports = module.exports\n } else {\n module = this.m\n exports = this.e\n }\n const reexportedObjects = ensureDynamicExports(module, exports)\n\n if (typeof object === 'object' && object !== null) {\n reexportedObjects.push(object)\n }\n}\ncontextPrototype.j = dynamicExport\n\nfunction exportValue(\n this: TurbopackBaseContext<Module>,\n value: any,\n id: ModuleId | undefined\n) {\n let module: Module\n if (id != null) {\n module = getOverwrittenModule(this.c, id)\n } else {\n module = this.m\n }\n module.exports = value\n}\ncontextPrototype.v = exportValue\n\nfunction exportNamespace(\n this: TurbopackBaseContext<Module>,\n namespace: any,\n id: ModuleId | undefined\n) {\n let module: Module\n if (id != null) {\n module = getOverwrittenModule(this.c, id)\n } else {\n module = this.m\n }\n module.exports = module.namespaceObject = namespace\n}\ncontextPrototype.n = exportNamespace\n\nfunction createGetter(obj: Record<string | symbol, any>, key: string | symbol) {\n return () => obj[key]\n}\n\n/**\n * @returns prototype of the object\n */\nconst getProto: (obj: any) => any = Object.getPrototypeOf\n ? (obj) => Object.getPrototypeOf(obj)\n : (obj) => obj.__proto__\n\n/** Prototypes that are not expanded for exports */\nconst LEAF_PROTOTYPES = [null, getProto({}), getProto([]), getProto(getProto)]\n\n/**\n * @param raw\n * @param ns\n * @param allowExportDefault\n * * `false`: will have the raw module as default export\n * * `true`: will have the default property as default export\n */\nfunction interopEsm(\n raw: Exports,\n ns: EsmNamespaceObject,\n allowExportDefault?: boolean\n) {\n const bindings: EsmBindings = []\n let defaultLocation = -1\n for (\n let current = raw;\n (typeof current === 'object' || typeof current === 'function') &&\n !LEAF_PROTOTYPES.includes(current);\n current = getProto(current)\n ) {\n for (const key of Object.getOwnPropertyNames(current)) {\n bindings.push(key, createGetter(raw, key))\n if (defaultLocation === -1 && key === 'default') {\n defaultLocation = bindings.length - 1\n }\n }\n }\n\n // this is not really correct\n // we should set the `default` getter if the imported module is a `.cjs file`\n if (!(allowExportDefault && defaultLocation >= 0)) {\n // Replace the binding with one for the namespace itself in order to preserve iteration order.\n if (defaultLocation >= 0) {\n // Replace the getter with the value\n bindings.splice(defaultLocation, 1, BindingTag_Value, raw)\n } else {\n bindings.push('default', BindingTag_Value, raw)\n }\n }\n\n esm(ns, bindings)\n return ns\n}\n\nfunction createNS(raw: Module['exports']): EsmNamespaceObject {\n if (typeof raw === 'function') {\n return function (this: any, ...args: any[]) {\n return raw.apply(this, args)\n }\n } else {\n return Object.create(null)\n }\n}\n\nfunction esmImport(\n this: TurbopackBaseContext<Module>,\n id: ModuleId\n): Exclude<Module['namespaceObject'], undefined> {\n const module = getOrInstantiateModuleFromParent(id, this.m)\n\n // any ES module has to have `module.namespaceObject` defined.\n if (module.namespaceObject) return module.namespaceObject\n\n // only ESM can be an async module, so we don't need to worry about exports being a promise here.\n const raw = module.exports\n return (module.namespaceObject = interopEsm(\n raw,\n createNS(raw),\n raw && (raw as any).__esModule\n ))\n}\ncontextPrototype.i = esmImport\n\nfunction asyncLoader(\n this: TurbopackBaseContext<Module>,\n moduleId: ModuleId\n): Promise<Exports> {\n const loader = this.r(moduleId) as (\n importFunction: EsmImport\n ) => Promise<Exports>\n return loader(esmImport.bind(this))\n}\ncontextPrototype.A = asyncLoader\n\n// Add a simple runtime require so that environments without one can still pass\n// `typeof require` CommonJS checks so that exports are correctly registered.\nconst runtimeRequire =\n // @ts-ignore\n typeof require === 'function'\n ? // @ts-ignore\n require\n : function require() {\n throw new Error('Unexpected use of runtime require')\n }\ncontextPrototype.t = runtimeRequire\n\nfunction commonJsRequire(\n this: TurbopackBaseContext<Module>,\n id: ModuleId\n): Exports {\n return getOrInstantiateModuleFromParent(id, this.m).exports\n}\ncontextPrototype.r = commonJsRequire\n\n/**\n * Remove fragments and query parameters since they are never part of the context map keys\n *\n * This matches how we parse patterns at resolving time. Arguably we should only do this for\n * strings passed to `import` but the resolve does it for `import` and `require` and so we do\n * here as well.\n */\nfunction parseRequest(request: string): string {\n // Per the URI spec fragments can contain `?` characters, so we should trim it off first\n // https://datatracker.ietf.org/doc/html/rfc3986#section-3.5\n const hashIndex = request.indexOf('#')\n if (hashIndex !== -1) {\n request = request.substring(0, hashIndex)\n }\n\n const queryIndex = request.indexOf('?')\n if (queryIndex !== -1) {\n request = request.substring(0, queryIndex)\n }\n\n return request\n}\n/**\n * `require.context` and require/import expression runtime.\n */\nfunction moduleContext(map: ModuleContextMap): ModuleContext {\n function moduleContext(id: string): Exports {\n id = parseRequest(id)\n if (hasOwnProperty.call(map, id)) {\n return map[id].module()\n }\n\n const e = new Error(`Cannot find module '${id}'`)\n ;(e as any).code = 'MODULE_NOT_FOUND'\n throw e\n }\n\n moduleContext.keys = (): string[] => {\n return Object.keys(map)\n }\n\n moduleContext.resolve = (id: string): ModuleId => {\n id = parseRequest(id)\n if (hasOwnProperty.call(map, id)) {\n return map[id].id()\n }\n\n const e = new Error(`Cannot find module '${id}'`)\n ;(e as any).code = 'MODULE_NOT_FOUND'\n throw e\n }\n\n moduleContext.import = async (id: string) => {\n return await (moduleContext(id) as Promise<Exports>)\n }\n\n return moduleContext\n}\ncontextPrototype.f = moduleContext\n\n/**\n * Returns the path of a chunk defined by its data.\n */\nfunction getChunkPath(chunkData: ChunkData): ChunkPath {\n return typeof chunkData === 'string' ? chunkData : chunkData.path\n}\n\nfunction isPromise<T = any>(maybePromise: any): maybePromise is Promise<T> {\n return (\n maybePromise != null &&\n typeof maybePromise === 'object' &&\n 'then' in maybePromise &&\n typeof maybePromise.then === 'function'\n )\n}\n\nfunction isAsyncModuleExt<T extends {}>(obj: T): obj is AsyncModuleExt & T {\n return turbopackQueues in obj\n}\n\nfunction createPromise<T>() {\n let resolve: (value: T | PromiseLike<T>) => void\n let reject: (reason?: any) => void\n\n const promise = new Promise<T>((res, rej) => {\n reject = rej\n resolve = res\n })\n\n return {\n promise,\n resolve: resolve!,\n reject: reject!,\n }\n}\n\n// Load the CompressedmoduleFactories of a chunk into the `moduleFactories` Map.\n// The CompressedModuleFactories format is\n// - 1 or more module ids\n// - a module factory function\n// So walking this is a little complex but the flat structure is also fast to\n// traverse, we can use `typeof` operators to distinguish the two cases.\nfunction installCompressedModuleFactories(\n chunkModules: CompressedModuleFactories,\n offset: number,\n moduleFactories: ModuleFactories,\n newModuleId?: (id: ModuleId) => void\n) {\n let i = offset\n while (i < chunkModules.length) {\n let end = i + 1\n // Find our factory function\n while (\n end < chunkModules.length &&\n typeof chunkModules[end] !== 'function'\n ) {\n end++\n }\n if (end === chunkModules.length) {\n throw new Error('malformed chunk format, expected a factory function')\n }\n\n // Install the factory for each module ID that doesn't already have one.\n // When some IDs in this group already have a factory, reuse that existing\n // group factory for the missing IDs to keep all IDs in the group consistent.\n // Otherwise, install the factory from this chunk.\n const moduleFactoryFn = chunkModules[end] as Function\n let existingGroupFactory: Function | undefined = undefined\n for (let j = i; j < end; j++) {\n const id = chunkModules[j] as ModuleId\n const existingFactory = moduleFactories.get(id)\n if (existingFactory) {\n existingGroupFactory = existingFactory\n break\n }\n }\n const factoryToInstall = existingGroupFactory ?? moduleFactoryFn\n\n let didInstallFactory = false\n for (let j = i; j < end; j++) {\n const id = chunkModules[j] as ModuleId\n if (!moduleFactories.has(id)) {\n if (!didInstallFactory) {\n if (factoryToInstall === moduleFactoryFn) {\n applyModuleFactoryName(moduleFactoryFn)\n }\n didInstallFactory = true\n }\n moduleFactories.set(id, factoryToInstall)\n newModuleId?.(id)\n }\n }\n i = end + 1 // end is pointing at the last factory advance to the next id or the end of the array.\n }\n}\n\n// everything below is adapted from webpack\n// https://github.com/webpack/webpack/blob/6be4065ade1e252c1d8dcba4af0f43e32af1bdc1/lib/runtime/AsyncModuleRuntimeModule.js#L13\n\nconst turbopackQueues = Symbol('turbopack queues')\nconst turbopackExports = Symbol('turbopack exports')\nconst turbopackError = Symbol('turbopack error')\n\nconst enum QueueStatus {\n Unknown = -1,\n Unresolved = 0,\n Resolved = 1,\n}\n\ntype AsyncQueueFn = (() => void) & { queueCount: number }\ntype AsyncQueue = AsyncQueueFn[] & {\n status: QueueStatus\n}\n\nfunction resolveQueue(queue?: AsyncQueue) {\n if (queue && queue.status !== QueueStatus.Resolved) {\n queue.status = QueueStatus.Resolved\n queue.forEach((fn) => fn.queueCount--)\n queue.forEach((fn) => (fn.queueCount-- ? fn.queueCount++ : fn()))\n }\n}\n\ntype Dep = Exports | AsyncModulePromise | Promise<Exports>\n\ntype AsyncModuleExt = {\n [turbopackQueues]: (fn: (queue: AsyncQueue) => void) => void\n [turbopackExports]: Exports\n [turbopackError]?: any\n}\n\ntype AsyncModulePromise<T = Exports> = Promise<T> & AsyncModuleExt\n\nfunction wrapDeps(deps: Dep[]): AsyncModuleExt[] {\n return deps.map((dep): AsyncModuleExt => {\n if (dep !== null && typeof dep === 'object') {\n if (isAsyncModuleExt(dep)) return dep\n if (isPromise(dep)) {\n const queue: AsyncQueue = Object.assign([], {\n status: QueueStatus.Unresolved,\n })\n\n const obj: AsyncModuleExt = {\n [turbopackExports]: {},\n [turbopackQueues]: (fn: (queue: AsyncQueue) => void) => fn(queue),\n }\n\n dep.then(\n (res) => {\n obj[turbopackExports] = res\n resolveQueue(queue)\n },\n (err) => {\n obj[turbopackError] = err\n resolveQueue(queue)\n }\n )\n\n return obj\n }\n }\n\n return {\n [turbopackExports]: dep,\n [turbopackQueues]: () => {},\n }\n })\n}\n\nfunction asyncModule(\n this: TurbopackBaseContext<Module>,\n body: (\n handleAsyncDependencies: (\n deps: Dep[]\n ) => Exports[] | Promise<() => Exports[]>,\n asyncResult: (err?: any) => void\n ) => void,\n hasAwait: boolean\n) {\n const module = this.m\n const queue: AsyncQueue | undefined = hasAwait\n ? Object.assign([], { status: QueueStatus.Unknown })\n : undefined\n\n const depQueues: Set<AsyncQueue> = new Set()\n\n const { resolve, reject, promise: rawPromise } = createPromise<Exports>()\n\n const promise: AsyncModulePromise = Object.assign(rawPromise, {\n [turbopackExports]: module.exports,\n [turbopackQueues]: (fn) => {\n queue && fn(queue)\n depQueues.forEach(fn)\n promise['catch'](() => {})\n },\n } satisfies AsyncModuleExt)\n\n const attributes: PropertyDescriptor = {\n get(): any {\n return promise\n },\n set(v: any) {\n // Calling `esmExport` leads to this.\n if (v !== promise) {\n promise[turbopackExports] = v\n }\n },\n }\n\n Object.defineProperty(module, 'exports', attributes)\n Object.defineProperty(module, 'namespaceObject', attributes)\n\n function handleAsyncDependencies(deps: Dep[]) {\n const currentDeps = wrapDeps(deps)\n\n const getResult = () =>\n currentDeps.map((d) => {\n if (d[turbopackError]) throw d[turbopackError]\n return d[turbopackExports]\n })\n\n const { promise, resolve } = createPromise<() => Exports[]>()\n\n const fn: AsyncQueueFn = Object.assign(() => resolve(getResult), {\n queueCount: 0,\n })\n\n function fnQueue(q: AsyncQueue) {\n if (q !== queue && !depQueues.has(q)) {\n depQueues.add(q)\n if (q && q.status === QueueStatus.Unresolved) {\n fn.queueCount++\n q.push(fn)\n }\n }\n }\n\n currentDeps.map((dep) => dep[turbopackQueues](fnQueue))\n\n return fn.queueCount ? promise : getResult()\n }\n\n function asyncResult(err?: any) {\n if (err) {\n reject((promise[turbopackError] = err))\n } else {\n resolve(promise[turbopackExports])\n }\n\n resolveQueue(queue)\n }\n\n body(handleAsyncDependencies, asyncResult)\n\n if (queue && queue.status === QueueStatus.Unknown) {\n queue.status = QueueStatus.Unresolved\n }\n}\ncontextPrototype.a = asyncModule\n\n/**\n * A pseudo \"fake\" URL object to resolve to its relative path.\n *\n * When UrlRewriteBehavior is set to relative, calls to the `new URL()` will construct url without base using this\n * runtime function to generate context-agnostic urls between different rendering context, i.e ssr / client to avoid\n * hydration mismatch.\n *\n * This is based on webpack's existing implementation:\n * https://github.com/webpack/webpack/blob/87660921808566ef3b8796f8df61bd79fc026108/lib/runtime/RelativeUrlRuntimeModule.js\n */\nconst relativeURL = function relativeURL(this: any, inputUrl: string) {\n const realUrl = new URL(inputUrl, 'x:/')\n const values: Record<string, any> = {}\n for (const key in realUrl) values[key] = (realUrl as any)[key]\n values.href = inputUrl\n values.pathname = inputUrl.replace(/[?#].*/, '')\n values.origin = values.protocol = ''\n values.toString = values.toJSON = (..._args: Array<any>) => inputUrl\n for (const key in values)\n Object.defineProperty(this, key, {\n enumerable: true,\n configurable: true,\n value: values[key],\n })\n}\nrelativeURL.prototype = URL.prototype\ncontextPrototype.U = relativeURL\n\n/**\n * Utility function to ensure all variants of an enum are handled.\n */\nfunction invariant(never: never, computeMessage: (arg: any) => string): never {\n throw new Error(`Invariant: ${computeMessage(never)}`)\n}\n\n/**\n * Constructs an error message for when a module factory is not available.\n */\nfunction factoryNotAvailableMessage(\n moduleId: ModuleId,\n sourceType: SourceType,\n sourceData: SourceData\n): string {\n let instantiationReason: string\n switch (sourceType) {\n case SourceType.Runtime:\n instantiationReason = `as a runtime entry of chunk ${sourceData}`\n break\n case SourceType.Parent:\n instantiationReason = `because it was required from module ${sourceData}`\n break\n case SourceType.Update:\n instantiationReason = 'because of an HMR update'\n break\n default:\n invariant(\n sourceType,\n (sourceType) => `Unknown source type: ${sourceType}`\n )\n }\n return `Module ${moduleId} was instantiated ${instantiationReason}, but the module factory is not available.`\n}\n\n/**\n * A stub function to make `require` available but non-functional in ESM.\n */\nfunction requireStub(_moduleId: ModuleId): never {\n throw new Error('dynamic usage of require is not supported')\n}\ncontextPrototype.z = requireStub\n\n// Make `globalThis` available to the module in a way that cannot be shadowed by a local variable.\ncontextPrototype.g = globalThis\n\ntype ContextConstructor<M> = {\n new (module: Module, exports: Exports): TurbopackBaseContext<M>\n}\n\nfunction applyModuleFactoryName(factory: Function) {\n // Give the module factory a nice name to improve stack traces.\n Object.defineProperty(factory, 'name', {\n value: 'module evaluation',\n })\n}\n","/**\n * This file contains runtime types and functions that are shared between all\n * Turbopack *browser* ECMAScript runtimes.\n *\n * It will be appended to the runtime code of each runtime right after the\n * shared runtime utils.\n */\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\n\n/// <reference path=\"../base/globals.d.ts\" />\n/// <reference path=\"../../../shared/runtime/runtime-utils.ts\" />\n\n// Used in WebWorkers to tell the runtime about the chunk suffix\ndeclare var TURBOPACK_ASSET_SUFFIX: string\n// Used in WebWorkers to tell the runtime about the current chunk url since it\n// can't be detected via `document.currentScript`. Note it's stored in reversed\n// order to use `push` and `pop`\ndeclare var TURBOPACK_NEXT_CHUNK_URLS: ChunkUrl[] | undefined\n\n// Injected by rust code\ndeclare var CHUNK_BASE_PATH: string\ndeclare var ASSET_SUFFIX: string\ndeclare var WORKER_FORWARDED_GLOBALS: string[]\n\ninterface TurbopackBrowserBaseContext<M> extends TurbopackBaseContext<M> {\n R: ResolvePathFromModule\n}\n\nconst browserContextPrototype =\n Context.prototype as TurbopackBrowserBaseContext<unknown>\n\n// Provided by build or dev base\ndeclare function instantiateModule(\n id: ModuleId,\n sourceType: SourceType,\n sourceData: SourceData\n): Module\n\ntype RuntimeParams = {\n otherChunks: ChunkData[]\n runtimeModuleIds: ModuleId[]\n}\n\ntype ChunkRegistrationChunk =\n | ChunkPath\n | { getAttribute: (name: string) => string | null }\n | undefined\n\ntype ChunkRegistration = [\n chunkPath: ChunkRegistrationChunk,\n ...([RuntimeParams] | CompressedModuleFactories),\n]\n\ntype ChunkList = {\n script: ChunkRegistrationChunk\n chunks: ChunkData[]\n source: 'entry' | 'dynamic'\n}\n\ninterface RuntimeBackend {\n registerChunk: (\n chunkPath: ChunkPath | ChunkScript,\n params?: RuntimeParams\n ) => void\n /**\n * Returns the same Promise for the same chunk URL.\n */\n loadChunkCached: (sourceType: SourceType, chunkUrl: ChunkUrl) => Promise<void>\n loadWebAssembly: (\n sourceType: SourceType,\n sourceData: SourceData,\n wasmChunkPath: ChunkPath,\n edgeModule: () => WebAssembly.Module,\n importsObj: WebAssembly.Imports\n ) => Promise<Exports>\n loadWebAssemblyModule: (\n sourceType: SourceType,\n sourceData: SourceData,\n wasmChunkPath: ChunkPath,\n edgeModule: () => WebAssembly.Module\n ) => Promise<WebAssembly.Module>\n}\n\ninterface DevRuntimeBackend {\n reloadChunk?: (chunkUrl: ChunkUrl) => Promise<void>\n unloadChunk?: (chunkUrl: ChunkUrl) => void\n restart: () => void\n}\n\nconst moduleFactories: ModuleFactories = new Map()\ncontextPrototype.M = moduleFactories\n\nconst availableModules: Map<ModuleId, Promise<any> | true> = new Map()\n\nconst availableModuleChunks: Map<ChunkPath, Promise<any> | true> = new Map()\n\nfunction loadChunk(\n this: TurbopackBrowserBaseContext<Module>,\n chunkData: ChunkData\n): Promise<void> {\n return loadChunkInternal(SourceType.Parent, this.m.id, chunkData)\n}\nbrowserContextPrototype.l = loadChunk\n\nfunction loadInitialChunk(chunkPath: ChunkPath, chunkData: ChunkData) {\n return loadChunkInternal(SourceType.Runtime, chunkPath, chunkData)\n}\n\nasync function loadChunkInternal(\n sourceType: SourceType,\n sourceData: SourceData,\n chunkData: ChunkData\n): Promise<void> {\n if (typeof chunkData === 'string') {\n return loadChunkPath(sourceType, sourceData, chunkData)\n }\n\n const includedList = chunkData.included || []\n const modulesPromises = includedList.map((included) => {\n if (moduleFactories.has(included)) return true\n return availableModules.get(included)\n })\n if (modulesPromises.length > 0 && modulesPromises.every((p) => p)) {\n // When all included items are already loaded or loading, we can skip loading ourselves\n await Promise.all(modulesPromises)\n return\n }\n\n const includedModuleChunksList = chunkData.moduleChunks || []\n const moduleChunksPromises = includedModuleChunksList\n .map((included) => {\n // TODO(alexkirsz) Do we need this check?\n // if (moduleFactories[included]) return true;\n return availableModuleChunks.get(included)\n })\n .filter((p) => p)\n\n let promise: Promise<unknown>\n if (moduleChunksPromises.length > 0) {\n // Some module chunks are already loaded or loading.\n\n if (moduleChunksPromises.length === includedModuleChunksList.length) {\n // When all included module chunks are already loaded or loading, we can skip loading ourselves\n await Promise.all(moduleChunksPromises)\n return\n }\n\n const moduleChunksToLoad: Set<ChunkPath> = new Set()\n for (const moduleChunk of includedModuleChunksList) {\n if (!availableModuleChunks.has(moduleChunk)) {\n moduleChunksToLoad.add(moduleChunk)\n }\n }\n\n for (const moduleChunkToLoad of moduleChunksToLoad) {\n const promise = loadChunkPath(sourceType, sourceData, moduleChunkToLoad)\n\n availableModuleChunks.set(moduleChunkToLoad, promise)\n\n moduleChunksPromises.push(promise)\n }\n\n promise = Promise.all(moduleChunksPromises)\n } else {\n promise = loadChunkPath(sourceType, sourceData, chunkData.path)\n\n // Mark all included module chunks as loading if they are not already loaded or loading.\n for (const includedModuleChunk of includedModuleChunksList) {\n if (!availableModuleChunks.has(includedModuleChunk)) {\n availableModuleChunks.set(includedModuleChunk, promise)\n }\n }\n }\n\n for (const included of includedList) {\n if (!availableModules.has(included)) {\n // It might be better to race old and new promises, but it's rare that the new promise will be faster than a request started earlier.\n // In production it's even more rare, because the chunk optimization tries to deduplicate modules anyway.\n availableModules.set(included, promise)\n }\n }\n\n await promise\n}\n\nconst loadedChunk = Promise.resolve(undefined)\nconst instrumentedBackendLoadChunks = new WeakMap<\n Promise<any>,\n Promise<any> | typeof loadedChunk\n>()\n// Do not make this async. React relies on referential equality of the returned Promise.\nfunction loadChunkByUrl(\n this: TurbopackBrowserBaseContext<Module>,\n chunkUrl: ChunkUrl\n) {\n return loadChunkByUrlInternal(SourceType.Parent, this.m.id, chunkUrl)\n}\nbrowserContextPrototype.L = loadChunkByUrl\n\n// Do not make this async. React relies on referential equality of the returned Promise.\nfunction loadChunkByUrlInternal(\n sourceType: SourceType,\n sourceData: SourceData,\n chunkUrl: ChunkUrl\n): Promise<any> {\n const thenable = BACKEND.loadChunkCached(sourceType, chunkUrl)\n let entry = instrumentedBackendLoadChunks.get(thenable)\n if (entry === undefined) {\n const resolve = instrumentedBackendLoadChunks.set.bind(\n instrumentedBackendLoadChunks,\n thenable,\n loadedChunk\n )\n entry = thenable.then(resolve).catch((cause) => {\n let loadReason: string\n switch (sourceType) {\n case SourceType.Runtime:\n loadReason = `as a runtime dependency of chunk ${sourceData}`\n break\n case SourceType.Parent:\n loadReason = `from module ${sourceData}`\n break\n case SourceType.Update:\n loadReason = 'from an HMR update'\n break\n default:\n invariant(\n sourceType,\n (sourceType) => `Unknown source type: ${sourceType}`\n )\n }\n let error = new Error(\n `Failed to load chunk ${chunkUrl} ${loadReason}${\n cause ? `: ${cause}` : ''\n }`,\n cause ? { cause } : undefined\n )\n error.name = 'ChunkLoadError'\n throw error\n })\n instrumentedBackendLoadChunks.set(thenable, entry)\n }\n\n return entry\n}\n\n// Do not make this async. React relies on referential equality of the returned Promise.\nfunction loadChunkPath(\n sourceType: SourceType,\n sourceData: SourceData,\n chunkPath: ChunkPath\n): Promise<void> {\n const url = getChunkRelativeUrl(chunkPath)\n return loadChunkByUrlInternal(sourceType, sourceData, url)\n}\n\n/**\n * Returns an absolute url to an asset.\n */\nfunction resolvePathFromModule(\n this: TurbopackBaseContext<Module>,\n moduleId: string\n): string {\n const exported = this.r(moduleId)\n return exported?.default ?? exported\n}\nbrowserContextPrototype.R = resolvePathFromModule\n\n/**\n * no-op for browser\n * @param modulePath\n */\nfunction resolveAbsolutePath(modulePath?: string): string {\n return `/ROOT/${modulePath ?? ''}`\n}\nbrowserContextPrototype.P = resolveAbsolutePath\n\n/**\n * Exports a URL with the static suffix appended.\n */\nfunction exportUrl(\n this: TurbopackBrowserBaseContext<Module>,\n url: string,\n id: ModuleId | undefined\n) {\n exportValue.call(this, `${url}${ASSET_SUFFIX}`, id)\n}\nbrowserContextPrototype.q = exportUrl\n\n/**\n * Creates a worker by instantiating the given WorkerConstructor with the\n * appropriate URL and options.\n *\n * The entrypoint is a pre-compiled worker runtime file. The params configure\n * which module chunks to load and which module to run as the entry point.\n *\n * The params are a JSON array of the following structure:\n * `[TURBOPACK_NEXT_CHUNK_URLS, ASSET_SUFFIX, ...WORKER_FORWARDED_GLOBALS values]`\n *\n * @param WorkerConstructor The Worker or SharedWorker constructor\n * @param entrypoint URL path to the worker entrypoint chunk\n * @param moduleChunks list of module chunk paths to load\n * @param workerOptions options to pass to the Worker constructor (optional)\n */\nfunction createWorker(\n WorkerConstructor: { new (url: URL, options?: object): Worker },\n entrypoint: ChunkPath,\n moduleChunks: ChunkPath[],\n workerOptions?: object\n): Worker {\n const isSharedWorker = WorkerConstructor.name === 'SharedWorker'\n\n const chunkUrls = moduleChunks\n .map((chunk) => getChunkRelativeUrl(chunk))\n .reverse()\n const params: unknown[] = [chunkUrls, ASSET_SUFFIX]\n for (const globalName of WORKER_FORWARDED_GLOBALS) {\n params.push((globalThis as Record<string, unknown>)[globalName])\n }\n\n const url = new URL(getChunkRelativeUrl(entrypoint), location.origin)\n const paramsJson = JSON.stringify(params)\n if (isSharedWorker) {\n url.searchParams.set('params', paramsJson)\n } else {\n url.hash = '#params=' + encodeURIComponent(paramsJson)\n }\n\n // Remove type: \"module\" from options since our worker entrypoint is not a module\n const options = workerOptions\n ? { ...workerOptions, type: undefined }\n : undefined\n return new WorkerConstructor(url, options)\n}\nbrowserContextPrototype.b = createWorker\n\n/**\n * Instantiates a runtime module.\n */\nfunction instantiateRuntimeModule(\n moduleId: ModuleId,\n chunkPath: ChunkPath\n): Module {\n return instantiateModule(moduleId, SourceType.Runtime, chunkPath)\n}\n/**\n * Returns the URL relative to the origin where a chunk can be fetched from.\n */\nfunction getChunkRelativeUrl(chunkPath: ChunkPath | ChunkListPath): ChunkUrl {\n return `${CHUNK_BASE_PATH}${chunkPath\n .split('/')\n .map((p) => encodeURIComponent(p))\n .join('/')}${ASSET_SUFFIX}` as ChunkUrl\n}\n\n/**\n * Return the ChunkPath from a ChunkScript.\n */\nfunction getPathFromScript(chunkScript: ChunkPath | ChunkScript): ChunkPath\nfunction getPathFromScript(\n chunkScript: ChunkListPath | ChunkListScript\n): ChunkListPath\nfunction getPathFromScript(\n chunkScript: ChunkPath | ChunkListPath | ChunkScript | ChunkListScript\n): ChunkPath | ChunkListPath {\n if (typeof chunkScript === 'string') {\n return chunkScript as ChunkPath | ChunkListPath\n }\n const chunkUrl = chunkScript.src!\n const src = decodeURIComponent(chunkUrl.replace(/[?#].*$/, ''))\n const path = src.startsWith(CHUNK_BASE_PATH)\n ? src.slice(CHUNK_BASE_PATH.length)\n : src\n return path as ChunkPath | ChunkListPath\n}\n\n/**\n * Return the ChunkUrl from a ChunkScript.\n */\nfunction getUrlFromScript(chunk: ChunkPath | ChunkScript): ChunkUrl {\n if (typeof chunk === 'string') {\n return getChunkRelativeUrl(chunk)\n } else {\n // This is already exactly what we want\n return chunk.src! as ChunkUrl\n }\n}\n\n/**\n * Determine the chunk to register. Note that this function has side-effects!\n */\nfunction getChunkFromRegistration(\n chunk: ChunkRegistrationChunk\n): ChunkPath | CurrentScript {\n if (typeof chunk === 'string') {\n return chunk\n } else if (!chunk) {\n if (typeof TURBOPACK_NEXT_CHUNK_URLS !== 'undefined') {\n return { src: TURBOPACK_NEXT_CHUNK_URLS.pop()! } as CurrentScript\n } else {\n throw new Error('chunk path empty but not in a worker')\n }\n } else {\n return { src: chunk.getAttribute('src')! } as CurrentScript\n }\n}\n\nconst regexJsUrl = /\\.js(?:\\?[^#]*)?(?:#.*)?$/\n/**\n * Checks if a given path/URL ends with .js, optionally followed by ?query or #fragment.\n */\nfunction isJs(chunkUrlOrPath: ChunkUrl | ChunkPath): boolean {\n return regexJsUrl.test(chunkUrlOrPath)\n}\n\nconst regexCssUrl = /\\.css(?:\\?[^#]*)?(?:#.*)?$/\n/**\n * Checks if a given path/URL ends with .css, optionally followed by ?query or #fragment.\n */\nfunction isCss(chunkUrl: ChunkUrl): boolean {\n return regexCssUrl.test(chunkUrl)\n}\n\nfunction loadWebAssembly(\n this: TurbopackBaseContext<Module>,\n chunkPath: ChunkPath,\n edgeModule: () => WebAssembly.Module,\n importsObj: WebAssembly.Imports\n): Promise<Exports> {\n return BACKEND.loadWebAssembly(\n SourceType.Parent,\n this.m.id,\n chunkPath,\n edgeModule,\n importsObj\n )\n}\ncontextPrototype.w = loadWebAssembly\n\nfunction loadWebAssemblyModule(\n this: TurbopackBaseContext<Module>,\n chunkPath: ChunkPath,\n edgeModule: () => WebAssembly.Module\n): Promise<WebAssembly.Module> {\n return BACKEND.loadWebAssemblyModule(\n SourceType.Parent,\n this.m.id,\n chunkPath,\n edgeModule\n )\n}\ncontextPrototype.u = loadWebAssemblyModule\n","/// <reference path=\"./runtime-base.ts\" />\n/// <reference path=\"./dummy.ts\" />\n\nconst moduleCache: ModuleCache<Module> = {}\ncontextPrototype.c = moduleCache\n\n/**\n * Gets or instantiates a runtime module.\n */\n// @ts-ignore\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction getOrInstantiateRuntimeModule(\n chunkPath: ChunkPath,\n moduleId: ModuleId\n): Module {\n const module = moduleCache[moduleId]\n if (module) {\n if (module.error) {\n throw module.error\n }\n return module\n }\n\n return instantiateModule(moduleId, SourceType.Runtime, chunkPath)\n}\n\n/**\n * Retrieves a module from the cache, or instantiate it if it is not cached.\n */\n// Used by the backend\n// @ts-ignore\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst getOrInstantiateModuleFromParent: GetOrInstantiateModuleFromParent<\n Module\n> = (id, sourceModule) => {\n const module = moduleCache[id]\n\n if (module) {\n if (module.error) {\n throw module.error\n }\n return module\n }\n\n return instantiateModule(id, SourceType.Parent, sourceModule.id)\n}\n\nfunction instantiateModule(\n id: ModuleId,\n sourceType: SourceType,\n sourceData: SourceData\n): Module {\n const moduleFactory = moduleFactories.get(id)\n if (typeof moduleFactory !== 'function') {\n // This can happen if modules incorrectly handle HMR disposes/updates,\n // e.g. when they keep a `setTimeout` around which still executes old code\n // and contains e.g. a `require(\"something\")` call.\n throw new Error(factoryNotAvailableMessage(id, sourceType, sourceData))\n }\n\n const module: Module = createModuleObject(id)\n const exports = module.exports\n\n moduleCache[id] = module\n\n // NOTE(alexkirsz) This can fail when the module encounters a runtime error.\n const context = new (Context as any as ContextConstructor<Module>)(\n module,\n exports\n )\n try {\n moduleFactory(context, module, exports)\n } catch (error) {\n module.error = error as any\n throw error\n }\n\n if (module.namespaceObject && module.exports !== module.namespaceObject) {\n // in case of a circular dependency: cjs1 -> esm2 -> cjs1\n interopEsm(module.exports, module.namespaceObject)\n }\n\n return module\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction registerChunk(registration: ChunkRegistration) {\n const chunk = getChunkFromRegistration(registration[0]) as\n | ChunkScript\n | ChunkPath\n let runtimeParams: RuntimeParams | undefined\n // When bootstrapping we are passed a single runtimeParams object so we can distinguish purely based on length\n if (registration.length === 2) {\n runtimeParams = registration[1] as RuntimeParams\n } else {\n runtimeParams = undefined\n installCompressedModuleFactories(\n registration as CompressedModuleFactories,\n /* offset= */ 1,\n moduleFactories\n )\n }\n\n return BACKEND.registerChunk(chunk, runtimeParams)\n}\n","/**\n * This file contains the runtime code specific to the Turbopack ECMAScript DOM runtime.\n *\n * It will be appended to the base runtime code.\n */\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\n\n/// <reference path=\"../../../browser/runtime/base/runtime-base.ts\" />\n/// <reference path=\"../../../shared/runtime/runtime-types.d.ts\" />\n\nfunction getAssetSuffixFromScriptSrc() {\n // TURBOPACK_ASSET_SUFFIX is set in web workers\n if (self.TURBOPACK_ASSET_SUFFIX != null) return self.TURBOPACK_ASSET_SUFFIX\n const src = document?.currentScript?.getAttribute?.('src') ?? ''\n const qi = src.indexOf('?')\n return qi >= 0 ? src.slice(qi) : ''\n}\n\ntype ChunkResolver = {\n resolved: boolean\n loadingStarted: boolean\n resolve: () => void\n reject: (error?: Error) => void\n promise: Promise<any>\n}\n\nlet BACKEND: RuntimeBackend\n\n/**\n * Maps chunk paths to the corresponding resolver.\n */\nconst chunkResolvers: Map<ChunkUrl, ChunkResolver> = new Map()\n\n;(() => {\n BACKEND = {\n async registerChunk(chunk, params) {\n let chunkPath = getPathFromScript(chunk)\n let chunkUrl = getUrlFromScript(chunk)\n\n const resolver = getOrCreateResolver(chunkUrl)\n resolver.resolve()\n\n if (params == null) {\n return\n }\n\n for (const otherChunkData of params.otherChunks) {\n const otherChunkPath = getChunkPath(otherChunkData)\n const otherChunkUrl = getChunkRelativeUrl(otherChunkPath)\n\n // Chunk might have started loading, so we want to avoid triggering another load.\n getOrCreateResolver(otherChunkUrl)\n }\n\n // This waits for chunks to be loaded, but also marks included items as available.\n await Promise.all(\n params.otherChunks.map((otherChunkData) =>\n loadInitialChunk(chunkPath, otherChunkData)\n )\n )\n\n if (params.runtimeModuleIds.length > 0) {\n for (const moduleId of params.runtimeModuleIds) {\n getOrInstantiateRuntimeModule(chunkPath, moduleId)\n }\n }\n },\n\n /**\n * Loads the given chunk, and returns a promise that resolves once the chunk\n * has been loaded.\n */\n loadChunkCached(sourceType: SourceType, chunkUrl: ChunkUrl) {\n return doLoadChunk(sourceType, chunkUrl)\n },\n\n async loadWebAssembly(\n _sourceType: SourceType,\n _sourceData: SourceData,\n wasmChunkPath: ChunkPath,\n _edgeModule: () => WebAssembly.Module,\n importsObj: WebAssembly.Imports\n ): Promise<Exports> {\n const req = fetchWebAssembly(wasmChunkPath)\n\n const { instance } = await WebAssembly.instantiateStreaming(\n req,\n importsObj\n )\n\n return instance.exports\n },\n\n async loadWebAssemblyModule(\n _sourceType: SourceType,\n _sourceData: SourceData,\n wasmChunkPath: ChunkPath,\n _edgeModule: () => WebAssembly.Module\n ): Promise<WebAssembly.Module> {\n const req = fetchWebAssembly(wasmChunkPath)\n\n return await WebAssembly.compileStreaming(req)\n },\n }\n\n function getOrCreateResolver(chunkUrl: ChunkUrl): ChunkResolver {\n let resolver = chunkResolvers.get(chunkUrl)\n if (!resolver) {\n let resolve: () => void\n let reject: (error?: Error) => void\n const promise = new Promise<void>((innerResolve, innerReject) => {\n resolve = innerResolve\n reject = innerReject\n })\n resolver = {\n resolved: false,\n loadingStarted: false,\n promise,\n resolve: () => {\n resolver!.resolved = true\n resolve()\n },\n reject: reject!,\n }\n chunkResolvers.set(chunkUrl, resolver)\n }\n return resolver\n }\n\n /**\n * Loads the given chunk, and returns a promise that resolves once the chunk\n * has been loaded.\n */\n function doLoadChunk(sourceType: SourceType, chunkUrl: ChunkUrl) {\n const resolver = getOrCreateResolver(chunkUrl)\n if (resolver.loadingStarted) {\n return resolver.promise\n }\n\n if (sourceType === SourceType.Runtime) {\n // We don't need to load chunks references from runtime code, as they're already\n // present in the DOM.\n resolver.loadingStarted = true\n\n if (isCss(chunkUrl)) {\n // CSS chunks do not register themselves, and as such must be marked as\n // loaded instantly.\n resolver.resolve()\n }\n\n // We need to wait for JS chunks to register themselves within `registerChunk`\n // before we can start instantiating runtime modules, hence the absence of\n // `resolver.resolve()` in this branch.\n\n return resolver.promise\n }\n\n if (typeof importScripts === 'function') {\n // We're in a web worker\n if (isCss(chunkUrl)) {\n // ignore\n } else if (isJs(chunkUrl)) {\n self.TURBOPACK_NEXT_CHUNK_URLS!.push(chunkUrl)\n importScripts(chunkUrl)\n } else {\n throw new Error(\n `can't infer type of chunk from URL ${chunkUrl} in worker`\n )\n }\n } else {\n // TODO(PACK-2140): remove this once all filenames are guaranteed to be escaped.\n const decodedChunkUrl = decodeURI(chunkUrl)\n\n if (isCss(chunkUrl)) {\n const previousLinks = document.querySelectorAll(\n `link[rel=stylesheet][href=\"${chunkUrl}\"],link[rel=stylesheet][href^=\"${chunkUrl}?\"],link[rel=stylesheet][href=\"${decodedChunkUrl}\"],link[rel=stylesheet][href^=\"${decodedChunkUrl}?\"]`\n )\n if (previousLinks.length > 0) {\n // CSS chunks do not register themselves, and as such must be marked as\n // loaded instantly.\n resolver.resolve()\n } else {\n const link = document.createElement('link')\n link.rel = 'stylesheet'\n link.href = chunkUrl\n link.onerror = () => {\n resolver.reject()\n }\n link.onload = () => {\n // CSS chunks do not register themselves, and as such must be marked as\n // loaded instantly.\n resolver.resolve()\n }\n // Append to the `head` for webpack compatibility.\n document.head.appendChild(link)\n }\n } else if (isJs(chunkUrl)) {\n const previousScripts = document.querySelectorAll(\n `script[src=\"${chunkUrl}\"],script[src^=\"${chunkUrl}?\"],script[src=\"${decodedChunkUrl}\"],script[src^=\"${decodedChunkUrl}?\"]`\n )\n if (previousScripts.length > 0) {\n // There is this edge where the script already failed loading, but we\n // can't detect that. The Promise will never resolve in this case.\n for (const script of Array.from(previousScripts)) {\n script.addEventListener('error', () => {\n resolver.reject()\n })\n }\n } else {\n const script = document.createElement('script')\n script.src = chunkUrl\n // We'll only mark the chunk as loaded once the script has been executed,\n // which happens in `registerChunk`. Hence the absence of `resolve()` in\n // this branch.\n script.onerror = () => {\n resolver.reject()\n }\n // Append to the `head` for webpack compatibility.\n document.head.appendChild(script)\n }\n } else {\n throw new Error(`can't infer type of chunk from URL ${chunkUrl}`)\n }\n }\n\n resolver.loadingStarted = true\n return resolver.promise\n }\n\n function fetchWebAssembly(wasmChunkPath: ChunkPath) {\n return fetch(getChunkRelativeUrl(wasmChunkPath))\n }\n})()\n"],"names":["SourceType","createModuleWithDirectionFlag","REEXPORTED_OBJECTS","WeakMap","Context","module","exports","m","e","contextPrototype","prototype","hasOwnProperty","Object","toStringTag","Symbol","defineProp","obj","name","options","call","defineProperty","getOverwrittenModule","moduleCache","id","createModuleWithDirection","createModuleObject","error","undefined","namespaceObject","parents","children","BindingTag_Value","esm","bindings","value","i","length","propName","tagOrFunction","enumerable","writable","Error","getterFn","setterFn","get","set","seal","esmExport","c","s","ensureDynamicExports","reexportedObjects","Proxy","target","prop","Reflect","ownKeys","keys","key","includes","push","dynamicExport","object","j","exportValue","v","exportNamespace","namespace","n","createGetter","getProto","getPrototypeOf","__proto__","LEAF_PROTOTYPES","interopEsm","raw","ns","allowExportDefault","defaultLocation","current","getOwnPropertyNames","splice","createNS","args","apply","create","esmImport","getOrInstantiateModuleFromParent","__esModule","asyncLoader","moduleId","loader","r","bind","A","runtimeRequire","require","require1","t","commonJsRequire","parseRequest","request","hashIndex","indexOf","substring","queryIndex","moduleContext","map","code","resolve","import","f","getChunkPath","chunkData","path","isPromise","maybePromise","then","isAsyncModuleExt","turbopackQueues","createPromise","reject","promise","Promise","res","rej","installCompressedModuleFactories","chunkModules","offset","moduleFactories","newModuleId","end","moduleFactoryFn","existingGroupFactory","existingFactory","factoryToInstall","didInstallFactory","has","applyModuleFactoryName","turbopackExports","turbopackError","resolveQueue","queue","status","forEach","fn","queueCount","wrapDeps","deps","dep","assign","err","asyncModule","body","hasAwait","depQueues","Set","rawPromise","attributes","handleAsyncDependencies","currentDeps","getResult","d","fnQueue","q","add","asyncResult","a","relativeURL","inputUrl","realUrl","URL","values","href","pathname","replace","origin","protocol","toString","toJSON","_args","configurable","U","invariant","never","computeMessage","factoryNotAvailableMessage","sourceType","sourceData","instantiationReason","requireStub","_moduleId","z","g","globalThis","factory","browserContextPrototype","Map","M","availableModules","availableModuleChunks","loadChunk","loadChunkInternal","Parent","l","loadInitialChunk","chunkPath","Runtime","loadChunkPath","includedList","included","modulesPromises","every","p","all","includedModuleChunksList","moduleChunks","moduleChunksPromises","filter","moduleChunksToLoad","moduleChunk","moduleChunkToLoad","includedModuleChunk","loadedChunk","instrumentedBackendLoadChunks","loadChunkByUrl","chunkUrl","loadChunkByUrlInternal","L","thenable","BACKEND","loadChunkCached","entry","catch","cause","loadReason","Update","url","getChunkRelativeUrl","resolvePathFromModule","exported","default","R","resolveAbsolutePath","modulePath","P","exportUrl","ASSET_SUFFIX","createWorker","WorkerConstructor","entrypoint","workerOptions","isSharedWorker","chunkUrls","chunk","reverse","params","globalName","WORKER_FORWARDED_GLOBALS","location","paramsJson","JSON","stringify","searchParams","hash","encodeURIComponent","type","b","instantiateRuntimeModule","instantiateModule","CHUNK_BASE_PATH","split","join","getPathFromScript","chunkScript","src","decodeURIComponent","startsWith","slice","getUrlFromScript","getChunkFromRegistration","TURBOPACK_NEXT_CHUNK_URLS","pop","getAttribute","regexJsUrl","isJs","chunkUrlOrPath","test","regexCssUrl","isCss","loadWebAssembly","edgeModule","importsObj","w","loadWebAssemblyModule","u","getOrInstantiateRuntimeModule","sourceModule","moduleFactory","context","registerChunk","registration","runtimeParams","getAssetSuffixFromScriptSrc","self","TURBOPACK_ASSET_SUFFIX","document","currentScript","qi","chunkResolvers","resolver","getOrCreateResolver","otherChunkData","otherChunks","otherChunkPath","otherChunkUrl","runtimeModuleIds","doLoadChunk","_sourceType","_sourceData","wasmChunkPath","_edgeModule","req","fetchWebAssembly","instance","WebAssembly","instantiateStreaming","compileStreaming","innerResolve","innerReject","resolved","loadingStarted","importScripts","decodedChunkUrl","decodeURI","previousLinks","querySelectorAll","link","createElement","rel","onerror","onload","head","appendChild","previousScripts","script","Array","from","addEventListener","fetch"],"mappings":"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","ignoreList":[0,1,2,3]}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,187,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},81246,(e,t,r)=>{"use strict";function n(e,t={}){if(t.onlyHashChange)return void e();let r=document.documentElement;if("smooth"!==r.dataset.scrollBehavior)return void e();let a=r.style.scrollBehavior;r.style.scrollBehavior="auto",t.dontForceLayout||r.getClientRects(),e(),r.style.scrollBehavior=a}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"disableSmoothScrollDuringRouteTransition",{enumerable:!0,get:function(){return n}}),e.r(187)},41716,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"HTTPAccessFallbackBoundary",{enumerable:!0,get:function(){return u}});let n=e.r(44066),a=e.r(80012),o=n._(e.r(80020)),i=e.r(82842),s=e.r(11072);e.r(187);let l=e.r(40895);class c extends o.default.Component{constructor(e){super(e),this.state={triggeredStatus:void 0,previousPathname:e.pathname}}componentDidCatch(){}static getDerivedStateFromError(e){if((0,s.isHTTPAccessFallbackError)(e))return{triggeredStatus:(0,s.getAccessFallbackHTTPStatus)(e)};throw e}static getDerivedStateFromProps(e,t){return e.pathname!==t.previousPathname&&t.triggeredStatus?{triggeredStatus:void 0,previousPathname:e.pathname}:{triggeredStatus:t.triggeredStatus,previousPathname:e.pathname}}render(){let{notFound:e,forbidden:t,unauthorized:r,children:n}=this.props,{triggeredStatus:o}=this.state,i={[s.HTTPAccessErrorStatus.NOT_FOUND]:e,[s.HTTPAccessErrorStatus.FORBIDDEN]:t,[s.HTTPAccessErrorStatus.UNAUTHORIZED]:r};if(o){let l=o===s.HTTPAccessErrorStatus.NOT_FOUND&&e,c=o===s.HTTPAccessErrorStatus.FORBIDDEN&&t,u=o===s.HTTPAccessErrorStatus.UNAUTHORIZED&&r;return l||c||u?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("meta",{name:"robots",content:"noindex"}),!1,i[o]]}):n}return n}}function u({notFound:e,forbidden:t,unauthorized:r,children:n}){let s=(0,i.useUntrackedPathname)(),d=(0,o.useContext)(l.MissingSlotContext);return e||t||r?(0,a.jsx)(c,{pathname:s,notFound:e,forbidden:t,unauthorized:r,missingSlots:d,children:n}):(0,a.jsx)(a.Fragment,{children:n})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},88779,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useRouterBFCache",{enumerable:!0,get:function(){return a}});let n=e.r(80020);function a(e,t,r){let[a,o]=(0,n.useState)(()=>({tree:e,cacheNode:t,stateKey:r,next:null}));if(a.tree===e)return a;let i={tree:e,cacheNode:t,stateKey:r,next:null},s=1,l=a,c=i;for(;null!==l&&s<1;){if(l.stateKey===r){c.next=l.next;break}{s++;let e={tree:l.tree,cacheNode:l.cacheNode,stateKey:l.stateKey,next:null};c.next=e,c=e}l=l.next}return o(i),i}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},1999,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={LoadingBoundaryProvider:function(){return j},default:function(){return A}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(81258),i=e.r(44066),s=e.r(80012),l=i._(e.r(80020)),c=o._(e.r(3469)),u=e.r(40895),d=e.r(50462),f=e.r(1188),p=e.r(81246),m=e.r(494),h=e.r(41716),g=e.r(90908),y=e.r(88779);e.r(31534);let b=e.r(88065),P=e.r(66900),_=e.r(87923),v=c.default.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,E=["bottom","height","left","right","top","width","x","y"];function O(e,t){let r=e.getClientRects();if(0===r.length)return!1;let n=1/0;for(let e=0;e<r.length;e++){let t=r[e];t.top<n&&(n=t.top)}return n>=0&&n<=t}class R extends l.default.Component{componentDidMount(){this.handlePotentialScroll()}componentDidUpdate(){this.handlePotentialScroll()}render(){return this.props.children}constructor(...e){super(...e),this.handlePotentialScroll=()=>{let{focusAndScrollRef:e,cacheNode:t}=this.props,r=e.forceScroll?e.scrollRef:t.scrollRef;if(null===r||!r.current)return;let n=null,a=e.hashFragment;if(a&&(n="top"===a?document.body:document.getElementById(a)??document.getElementsByName(a)[0]),n||(n="u"<typeof window?null:(0,v.findDOMNode)(this)),n instanceof Element){for(;!(n instanceof HTMLElement)||function(e){if(["sticky","fixed"].includes(getComputedStyle(e).position))return!0;let t=e.getBoundingClientRect();return E.every(e=>0===t[e])}(n);){if(null===n.nextElementSibling)return;n=n.nextElementSibling}r.current=!1,(0,p.disableSmoothScrollDuringRouteTransition)(()=>{if(a)return void n.scrollIntoView();let e=document.documentElement,t=e.clientHeight;!O(n,t)&&(e.scrollTop=0,O(n,t)||n.scrollIntoView())},{dontForceLayout:!0,onlyHashChange:e.onlyHashChange}),e.onlyHashChange=!1,e.hashFragment=null,n.focus()}}}}function w({children:e,cacheNode:t}){let r=(0,l.useContext)(u.GlobalLayoutRouterContext);if(!r)throw Object.defineProperty(Error("invariant global layout router not mounted"),"__NEXT_ERROR_CODE",{value:"E473",enumerable:!1,configurable:!0});return(0,s.jsx)(R,{focusAndScrollRef:r.focusAndScrollRef,cacheNode:t,children:e})}function S({tree:e,segmentPath:t,debugNameContext:r,cacheNode:n,params:a,url:o,isActive:i}){let c,f=(0,l.useContext)(u.GlobalLayoutRouterContext);if((0,l.useContext)(b.NavigationPromisesContext),!f)throw Object.defineProperty(Error("invariant global layout router not mounted"),"__NEXT_ERROR_CODE",{value:"E473",enumerable:!1,configurable:!0});let p=null!==n?n:(0,l.use)(d.unresolvedThenable),m=null!==p.prefetchRsc?p.prefetchRsc:p.rsc,h=(0,l.useDeferredValue)(p.rsc,m);if((0,_.isDeferredRsc)(h)){let e=(0,l.use)(h);null===e&&(0,l.use)(d.unresolvedThenable),c=e}else null===h&&(0,l.use)(d.unresolvedThenable),c=h;let g=c;return(0,s.jsx)(u.LayoutRouterContext.Provider,{value:{parentTree:e,parentCacheNode:p,parentSegmentPath:t,parentParams:a,parentLoadingData:null,debugNameContext:r,url:o,isActive:i},children:g})}function j({loading:e,children:t}){let r=(0,l.use)(u.LayoutRouterContext);return null===r?t:(0,s.jsx)(u.LayoutRouterContext.Provider,{value:{parentTree:r.parentTree,parentCacheNode:r.parentCacheNode,parentSegmentPath:r.parentSegmentPath,parentParams:r.parentParams,parentLoadingData:e,debugNameContext:r.debugNameContext,url:r.url,isActive:r.isActive},children:t})}function C({name:e,loading:t,children:r}){if(null!==t){let n=t[0],a=t[1],o=t[2];return(0,s.jsx)(l.Suspense,{name:e,fallback:(0,s.jsxs)(s.Fragment,{children:[a,o,n]}),children:r})}return(0,s.jsx)(s.Fragment,{children:r})}function A({parallelRouterKey:e,error:t,errorStyles:r,errorScripts:n,templateStyles:a,templateScripts:o,template:i,notFound:c,forbidden:p,unauthorized:b,segmentViewBoundaries:_}){let v=(0,l.useContext)(u.LayoutRouterContext);if(!v)throw Object.defineProperty(Error("invariant expected layout router to be mounted"),"__NEXT_ERROR_CODE",{value:"E56",enumerable:!1,configurable:!0});let{parentTree:E,parentCacheNode:O,parentSegmentPath:R,parentParams:j,parentLoadingData:x,url:k,isActive:T,debugNameContext:N}=v,D=E[0],M=null===R?[e]:R.concat([D,e]),I=E[1][e],F=O.slots;(void 0===I||null===F)&&(0,l.use)(d.unresolvedThenable);let $=I[0],L=F[e]??null,U=(0,g.createRouterCacheKey)($,!0),X=(0,y.useRouterBFCache)(I,L,U),V=[];do{let e=X.tree,l=X.cacheNode,d=X.stateKey,g=e[0],y=j;if(Array.isArray(g)){let e=g[0],t=g[1],r=g[2],n=(0,P.getParamValueFromCacheKey)(t,r);null!==n&&(y={...j,[e]:n})}let _=function(e){if("/"===e)return"/";if("string"==typeof e)if("(__SLOT__)"===e)return;else return e+"/";return e[1]+"/"}(g),v=_??N,E=void 0===_?void 0:N,O=(0,s.jsxs)(w,{cacheNode:l,children:[(0,s.jsx)(f.ErrorBoundary,{errorComponent:t,errorStyles:r,errorScripts:n,children:(0,s.jsx)(C,{name:E,loading:x,children:(0,s.jsx)(h.HTTPAccessFallbackBoundary,{notFound:c,forbidden:p,unauthorized:b,children:(0,s.jsxs)(m.RedirectBoundary,{children:[(0,s.jsx)(S,{url:k,tree:e,params:y,cacheNode:l,segmentPath:M,debugNameContext:v,isActive:T&&d===U}),null]})})})}),null]}),R=(0,s.jsxs)(u.TemplateContext.Provider,{value:O,children:[a,o,i]},d);V.push(R),X=X.next}while(null!==X)return V}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},22303,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return s}});let n=e.r(44066),a=e.r(80012),o=n._(e.r(80020)),i=e.r(40895);function s(){let e=(0,o.useContext)(i.TemplateContext);return(0,a.jsx)(a.Fragment,{children:e})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},91121,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRenderSearchParamsFromClient",{enumerable:!0,get:function(){return a}});let n=new WeakMap;function a(e){let t=n.get(e);if(t)return t;let r=Promise.resolve(e);return n.set(e,r),r}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},53516,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRenderSearchParamsFromClient",{enumerable:!0,get:function(){return n}});let n=e.r(91121).createRenderSearchParamsFromClient;("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},73948,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRenderParamsFromClient",{enumerable:!0,get:function(){return a}});let n=new WeakMap;function a(e){let t=n.get(e);if(t)return t;let r=Promise.resolve(e);return n.set(e,r),r}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},14715,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRenderParamsFromClient",{enumerable:!0,get:function(){return n}});let n=e.r(73948).createRenderParamsFromClient;("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},16507,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={accumulateRootVaryParam:function(){return y},accumulateVaryParam:function(){return g},createResponseVaryParamsAccumulator:function(){return c},createVaryParamsAccumulator:function(){return u},createVaryingParams:function(){return b},createVaryingSearchParams:function(){return P},emptyVaryParamsAccumulator:function(){return l},finishAccumulatingVaryParams:function(){return _},getMetadataVaryParamsAccumulator:function(){return d},getMetadataVaryParamsThenable:function(){return p},getRootParamsVaryParamsAccumulator:function(){return h},getVaryParamsThenable:function(){return f},getViewportVaryParamsAccumulator:function(){return m}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(23152);function i(){let e={varyParams:new Set,status:"pending",value:new Set,then(t){t&&("pending"===e.status?e.resolvers.push(t):t(e.value))},resolvers:[]};return e}let s=new Set,l={varyParams:s,status:"fulfilled",value:s,then(e){e&&e(s)},resolvers:[]};function c(){let e=i();return{head:e,rootParams:i(),segments:new Set}}function u(){let e=o.workUnitAsyncStorage.getStore();if(e)switch(e.type){case"prerender":case"prerender-runtime":{let t=e.varyParamsAccumulator;if(null!==t){let e=i();return t.segments.add(e),e}}}return null}function d(){let e=o.workUnitAsyncStorage.getStore();if(e)switch(e.type){case"prerender":case"prerender-runtime":{let t=e.varyParamsAccumulator;if(null!==t)return t.head}}return null}function f(e){return e}function p(){let e=d();return null!==e?e:null}let m=d;function h(){let e=o.workUnitAsyncStorage.getStore();if(e)switch(e.type){case"prerender":case"prerender-runtime":{let t=e.varyParamsAccumulator;if(null!==t)return t.rootParams}}return null}function g(e,t){e.varyParams.add(t)}function y(e){let t=h();null!==t&&g(t,e)}function b(e,t,r){if(null!==r)return new Proxy(t,{get:(t,n,a)=>("string"==typeof n&&(n===r||Object.prototype.hasOwnProperty.call(t,n))&&g(e,n),Reflect.get(t,n,a)),has:(t,n)=>(n===r&&g(e,r),Reflect.has(t,n)),ownKeys:t=>(g(e,r),Reflect.ownKeys(t))});let n={};for(let r in t)Object.defineProperty(n,r,{get:()=>(g(e,r),t[r]),enumerable:!0});return n}function P(e,t){let r={};for(let n in t)Object.defineProperty(r,n,{get:()=>(g(e,"?"),t[n]),enumerable:!0});return r}async function _(e){let t=e.rootParams.varyParams;for(let r of(v(e.head,t),e.segments))v(r,t);await Promise.resolve(),await Promise.resolve(),await Promise.resolve()}function v(e,t){if("pending"!==e.status)return;let r=new Set(e.varyParams);for(let e of t)r.add(e);for(let t of(e.value=r,e.status="fulfilled",e.resolvers))t(r);e.resolvers=[]}},82103,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ReflectAdapter",{enumerable:!0,get:function(){return n}});class n{static get(e,t,r){let n=Reflect.get(e,t,r);return"function"==typeof n?n.bind(e):n}static set(e,t,r,n){return Reflect.set(e,t,r,n)}static has(e,t){return Reflect.has(e,t)}static deleteProperty(e,t){return Reflect.deleteProperty(e,t)}}},16018,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createDedupedByCallsiteServerErrorLoggerDev",{enumerable:!0,get:function(){return l}});let n=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=a(void 0);if(t&&t.has(e))return t.get(e);var r={__proto__:null},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var i=n?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(r,o,i):r[o]=e[o]}return r.default=e,t&&t.set(e,r),r}(e.r(80020));function a(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(a=function(e){return e?r:t})(e)}let o={current:null},i="function"==typeof n.cache?n.cache:e=>e,s=console.warn;function l(e){return function(...t){s(e(...t))}}i(e=>{try{s(o.current)}finally{o.current=null}})},16268,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={describeHasCheckingStringProperty:function(){return s},describeStringPropertyAccess:function(){return i},wellKnownProperties:function(){return l}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function i(e,t){return o.test(t)?`\`${e}.${t}\``:`\`${e}[${JSON.stringify(t)}]\``}function s(e,t){let r=JSON.stringify(t);return`\`Reflect.has(${e}, ${r})\`, \`${r} in ${e}\`, or similar`}let l=new Set(["hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toString","valueOf","toLocaleString","then","catch","finally","status","displayName","_debugInfo","toJSON","$$typeof","__esModule","@@iterator"])},87687,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"afterTaskAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,e.r(3158).createAsyncLocalStorage)()},43840,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"afterTaskAsyncStorage",{enumerable:!0,get:function(){return n.afterTaskAsyncStorageInstance}});let n=e.r(87687)},46339,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={isRequestAPICallableInsideAfter:function(){return c},throwForSearchParamsAccessInUseCache:function(){return l},throwWithStaticGenerationBailoutErrorWithDynamicError:function(){return s}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(80574),i=e.r(43840);function s(e,t){throw Object.defineProperty(new o.StaticGenBailoutError(`Route ${e} with \`dynamic = "error"\` couldn't be rendered statically because it used ${t}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E543",enumerable:!1,configurable:!0})}function l(e,t){let r=Object.defineProperty(Error(`Route ${e.route} used \`searchParams\` inside "use cache". Accessing dynamic request data inside a cache scope is not supported. If you need some search params inside a cached function await \`searchParams\` outside of the cached function and pass only the required search params as arguments to the cached function. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E842",enumerable:!1,configurable:!0});throw Error.captureStackTrace(r,t),e.invalidDynamicUsageError??=r,r}function c(){let e=i.afterTaskAsyncStorage.getStore();return(null==e?void 0:e.rootTaskSpawnPhase)==="action"}},72755,(e,t,r)=>{"use strict";var n=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,s={},l={RequestCookies:()=>h,ResponseCookies:()=>g,parseCookie:()=>d,parseSetCookie:()=>f,stringifyCookie:()=>u};for(var c in l)n(s,c,{get:l[c],enumerable:!0});function u(e){var t;let r=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),n=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?n:`${n}; ${r.join("; ")}`}function d(e){let t=new Map;for(let r of e.split(/; */)){if(!r)continue;let e=r.indexOf("=");if(-1===e){t.set(r,"true");continue}let[n,a]=[r.slice(0,e),r.slice(e+1)];try{t.set(n,decodeURIComponent(null!=a?a:"true"))}catch{}}return t}function f(e){if(!e)return;let[[t,r],...n]=d(e),{domain:a,expires:o,httponly:i,maxage:s,path:l,samesite:c,secure:u,partitioned:f,priority:h}=Object.fromEntries(n.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var g,y,b={name:t,value:decodeURIComponent(r),domain:a,...o&&{expires:new Date(o)},...i&&{httpOnly:!0},..."string"==typeof s&&{maxAge:Number(s)},path:l,...c&&{sameSite:p.includes(g=(g=c).toLowerCase())?g:void 0},...u&&{secure:!0},...h&&{priority:m.includes(y=(y=h).toLowerCase())?y:void 0},...f&&{partitioned:!0}};let e={};for(let t in b)b[t]&&(e[t]=b[t]);return e}}t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of o(t))i.call(e,s)||void 0===s||n(e,s,{get:()=>t[s],enumerable:!(r=a(t,s))||r.enumerable});return e})(n({},"__esModule",{value:!0}),s);var p=["strict","lax","none"],m=["low","medium","high"],h=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of d(t))this._parsed.set(e,{name:e,value:r})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed);if(!e.length)return r.map(([e,t])=>t);let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===n).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,r]=1===e.length?[e[0].name,e[0].value]:e,n=this._parsed;return n.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(n).map(([e,t])=>u(t)).join("; ")),this}delete(e){let t=this._parsed,r=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>u(t)).join("; ")),r}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},g=class{constructor(e){var t,r,n;this._parsed=new Map,this._headers=e;const a=null!=(n=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?n:[];for(const e of Array.isArray(a)?a:function(e){if(!e)return[];var t,r,n,a,o,i=[],s=0;function l(){for(;s<e.length&&/\s/.test(e.charAt(s));)s+=1;return s<e.length}for(;s<e.length;){for(t=s,o=!1;l();)if(","===(r=e.charAt(s))){for(n=s,s+=1,l(),a=s;s<e.length&&"="!==(r=e.charAt(s))&&";"!==r&&","!==r;)s+=1;s<e.length&&"="===e.charAt(s)?(o=!0,s=a,i.push(e.substring(t,n)),t=s):s=n+1}else s+=1;(!o||s>=e.length)&&i.push(e.substring(t,e.length))}return i}(a)){const t=f(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed.values());if(!e.length)return r;let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===n)}has(e){return this._parsed.has(e)}set(...e){let[t,r,n]=1===e.length?[e[0].name,e[0].value,e[0]]:e,a=this._parsed;return a.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:r,...n})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=u(r);t.append("set-cookie",e)}}(a,this._headers),this}delete(...e){let[t,r]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...r,name:t,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(u).join("; ")}}},10606,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={RequestCookies:function(){return o.RequestCookies},ResponseCookies:function(){return o.ResponseCookies},stringifyCookie:function(){return o.stringifyCookie}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(72755)},77106,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={MutableRequestCookiesAdapter:function(){return m},ReadonlyRequestCookiesError:function(){return c},RequestCookiesAdapter:function(){return u},appendMutableCookies:function(){return p},areCookiesMutableInCurrentPhase:function(){return g},createCookiesWithMutableAccessCheck:function(){return h},getModifiedCookieValues:function(){return f},responseCookiesToRequestCookies:function(){return b}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(10606),i=e.r(82103),s=e.r(33383),l=e.r(9097);class c extends Error{constructor(){super("Cookies can only be modified in a Server Action or Route Handler. Read more: https://nextjs.org/docs/app/api-reference/functions/cookies#options")}static callable(){throw new c}}class u{static seal(e){return new Proxy(e,{get(e,t,r){switch(t){case"clear":case"delete":case"set":return c.callable;default:return i.ReflectAdapter.get(e,t,r)}}})}}let d=Symbol.for("next.mutated.cookies");function f(e){let t=e[d];return t&&Array.isArray(t)&&0!==t.length?t:[]}function p(e,t){let r=f(t);if(0===r.length)return!1;let n=new o.ResponseCookies(e),a=n.getAll();for(let e of r)n.set(e);for(let e of a)n.set(e);return!0}class m{static wrap(e,t){let r=new o.ResponseCookies(new Headers);for(let t of e.getAll())r.set(t);let n=[],a=new Set,c=()=>{let e=s.workAsyncStorage.getStore();if(e&&(e.pathWasRevalidated=l.ActionDidRevalidateStaticAndDynamic),n=r.getAll().filter(e=>a.has(e.name)),t){let e=[];for(let t of n){let r=new o.ResponseCookies(new Headers);r.set(t),e.push(r.toString())}t(e)}},u=new Proxy(r,{get(e,t,r){switch(t){case d:return n;case"delete":return function(...t){a.add("string"==typeof t[0]?t[0]:t[0].name);try{return e.delete(...t),u}finally{c()}};case"set":return function(...t){a.add("string"==typeof t[0]?t[0]:t[0].name);try{return e.set(...t),u}finally{c()}};default:return i.ReflectAdapter.get(e,t,r)}}});return u}}function h(e){let t=new Proxy(e.mutableCookies,{get(r,n,a){switch(n){case"delete":return function(...n){return y(e,"cookies().delete"),r.delete(...n),t};case"set":return function(...n){return y(e,"cookies().set"),r.set(...n),t};default:return i.ReflectAdapter.get(r,n,a)}}});return t}function g(e){return"action"===e.phase}function y(e,t){if(!g(e))throw new c}function b(e){let t=new o.RequestCookies(new Headers);for(let r of e.getAll())t.set(r);return t}},626,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={HeadersAdapter:function(){return s},ReadonlyHeadersError:function(){return i}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(82103);class i extends Error{constructor(){super("Headers cannot be modified. Read more: https://nextjs.org/docs/app/api-reference/functions/headers")}static callable(){throw new i}}class s extends Headers{constructor(e){super(),this.headers=new Proxy(e,{get(t,r,n){if("symbol"==typeof r)return o.ReflectAdapter.get(t,r,n);let a=r.toLowerCase(),i=Object.keys(e).find(e=>e.toLowerCase()===a);if(void 0!==i)return o.ReflectAdapter.get(t,i,n)},set(t,r,n,a){if("symbol"==typeof r)return o.ReflectAdapter.set(t,r,n,a);let i=r.toLowerCase(),s=Object.keys(e).find(e=>e.toLowerCase()===i);return o.ReflectAdapter.set(t,s??r,n,a)},has(t,r){if("symbol"==typeof r)return o.ReflectAdapter.has(t,r);let n=r.toLowerCase(),a=Object.keys(e).find(e=>e.toLowerCase()===n);return void 0!==a&&o.ReflectAdapter.has(t,a)},deleteProperty(t,r){if("symbol"==typeof r)return o.ReflectAdapter.deleteProperty(t,r);let n=r.toLowerCase(),a=Object.keys(e).find(e=>e.toLowerCase()===n);return void 0===a||o.ReflectAdapter.deleteProperty(t,a)}})}static seal(e){return new Proxy(e,{get(e,t,r){switch(t){case"append":case"delete":case"set":return i.callable;default:return o.ReflectAdapter.get(e,t,r)}}})}merge(e){return Array.isArray(e)?e.join(", "):e}static from(e){return e instanceof Headers?e:new s(e)}append(e,t){let r=this.headers[e];"string"==typeof r?this.headers[e]=[r,t]:Array.isArray(r)?r.push(t):this.headers[e]=t}delete(e){delete this.headers[e]}get(e){let t=this.headers[e];return void 0!==t?this.merge(t):null}has(e){return void 0!==this.headers[e]}set(e,t){this.headers[e]=t}forEach(e,t){for(let[r,n]of this.entries())e.call(t,n,r,this)}*entries(){for(let e of Object.keys(this.headers)){let t=e.toLowerCase(),r=this.get(t);yield[t,r]}}*keys(){for(let e of Object.keys(this.headers)){let t=e.toLowerCase();yield t}}*values(){for(let e of Object.keys(this.headers)){let t=this.get(e);yield t}}[Symbol.iterator](){return this.entries()}}},46410,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={getParamProperties:function(){return l},getSegmentParam:function(){return i},isCatchAll:function(){return s}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(67200);function i(e){let t=o.INTERCEPTION_ROUTE_MARKERS.find(t=>e.startsWith(t));return(t&&(e=e.slice(t.length)),e.startsWith("[[...")&&e.endsWith("]]"))?{paramType:"optional-catchall",paramName:e.slice(5,-2)}:e.startsWith("[...")&&e.endsWith("]")?{paramType:t?`catchall-intercepted-${t}`:"catchall",paramName:e.slice(4,-1)}:e.startsWith("[")&&e.endsWith("]")?{paramType:t?`dynamic-intercepted-${t}`:"dynamic",paramName:e.slice(1,-1)}:null}function s(e){return"catchall"===e||"catchall-intercepted-(..)(..)"===e||"catchall-intercepted-(.)"===e||"catchall-intercepted-(..)"===e||"catchall-intercepted-(...)"===e||"optional-catchall"===e}function l(e){let t=!1,r=!1;switch(e){case"catchall":case"catchall-intercepted-(..)(..)":case"catchall-intercepted-(.)":case"catchall-intercepted-(..)":case"catchall-intercepted-(...)":t=!0;break;case"optional-catchall":t=!0,r=!0}return{repeat:t,optional:r}}},46002,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return y},MiddlewareNotFoundError:function(){return v},MissingStaticPage:function(){return _},NormalizeError:function(){return b},PageNotFoundError:function(){return P},SP:function(){return h},ST:function(){return g},WEB_VITALS:function(){return o},execOnce:function(){return i},getDisplayName:function(){return d},getLocationOrigin:function(){return c},getURL:function(){return u},isAbsoluteUrl:function(){return l},isResSent:function(){return f},loadGetInitialProps:function(){return m},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return E}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=["CLS","FCP","FID","INP","LCP","TTFB"];function i(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let s=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>s.test(e);function c(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function u(){let{href:e}=window.location,t=c();return e.substring(t.length)}function d(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function m(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await m(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&f(r))return n;if(!n)throw Object.defineProperty(Error(`"${d(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return n}let h="u">typeof performance,g=h&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class y extends Error{}class b extends Error{}class P extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class _ extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class v extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function E(e){return JSON.stringify({message:e.message,stack:e.stack})}},37879,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return l},searchParamsToUrlQuery:function(){return o},urlQueryToSearchParams:function(){return s}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});function o(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function i(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function s(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,i(e));else t.set(r,i(n));return t}function l(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},66152,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"parseRelativeUrl",{enumerable:!0,get:function(){return o}});let n=e.r(46002),a=e.r(37879);function o(e,t,r=!0){let i=new URL("u"<typeof window?"http://n":(0,n.getLocationOrigin)()),s=t?new URL(t,i):e.startsWith(".")?new URL("u"<typeof window?"http://n":window.location.href):i,{pathname:l,searchParams:c,search:u,hash:d,href:f,origin:p}=e.startsWith("/")?new URL(`${s.protocol}//${s.host}${e}`):new URL(e,s);if(p!==i.origin)throw Object.defineProperty(Error(`invariant: invalid relative URL, router received ${e}`),"__NEXT_ERROR_CODE",{value:"E159",enumerable:!1,configurable:!0});return{auth:null,host:null,hostname:null,pathname:l,port:null,protocol:null,query:r?(0,a.searchParamsToUrlQuery)(c):void 0,search:u,hash:d,href:f.slice(p.length),slashes:null}}},47664,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={InstantValidationError:function(){return s},isInstantValidationError:function(){return i}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o="INSTANT_VALIDATION_ERROR";function i(e){return!!(e&&"object"==typeof e&&e instanceof Error&&e.digest===o)}class s extends Error{constructor(...e){super(...e),this.digest=o}}},94639,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assertRootParamInSamples:function(){return S},createCookiesFromSample:function(){return y},createDraftModeForValidation:function(){return _},createExhaustiveParamsProxy:function(){return v},createExhaustiveSearchParamsProxy:function(){return E},createExhaustiveURLSearchParamsProxy:function(){return O},createHeadersFromSample:function(){return P},createRelativeURLFromSamples:function(){return w},createValidationSampleTracking:function(){return m},trackMissingSampleError:function(){return h},trackMissingSampleErrorAndThrow:function(){return g}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(10606),i=e.r(77106),s=e.r(626),l=e.r(46410),c=e.r(66152),u=e.r(34232),d=e.r(47664),f=e.r(23152),p=e.r(16268);function m(){return{missingSampleErrors:[]}}function h(e){(function(){let e=null,t=f.workUnitAsyncStorage.getStore();if(t)switch(t.type){case"request":case"validation-client":e=t.validationSampleTracking??null}if(!e)throw Object.defineProperty(new u.InvariantError("Expected to have a workUnitStore that provides validationSampleTracking"),"__NEXT_ERROR_CODE",{value:"E1110",enumerable:!1,configurable:!0});return e})().missingSampleErrors.push(e)}function g(e){throw h(e),e}function y(e,t){let r=new Set,n=new o.RequestCookies(new Headers);if(e)for(let t of e)r.add(t.name),null!==t.value&&n.set(t.name,t.value);return new Proxy(i.RequestCookiesAdapter.seal(n),{get(e,n,a){if("has"===n){let o=Reflect.get(e,n,a);return function(n){return r.has(n)||g(b(t,n)),o.call(e,n)}}if("get"===n){let o=Reflect.get(e,n,a);return function(n){let a;if("string"==typeof n)a=n;else{if(!n||"object"!=typeof n||"string"!=typeof n.name)return o.call(e,n);a=n.name}return r.has(a)||g(b(t,a)),o.call(e,a)}}return Reflect.get(e,n,a)}})}function b(e,t){return Object.defineProperty(new d.InstantValidationError(`Route "${e}" accessed cookie "${t}" which is not defined in the \`samples\` of \`unstable_instant\`. Add it to the sample's \`cookies\` array, or \`{ name: "${t}", value: null }\` if it should be absent.`),"__NEXT_ERROR_CODE",{value:"E1115",enumerable:!1,configurable:!0})}function P(e,t,r){let n=e?[...e]:[];if(n.find(([e])=>"cookie"===e.toLowerCase()))throw Object.defineProperty(new d.InstantValidationError('Invalid sample: Defining cookies via a "cookie" header is not supported. Use `cookies: [{ name: ..., value: ... }]` instead.'),"__NEXT_ERROR_CODE",{value:"E1111",enumerable:!1,configurable:!0});if(t){let e=t.toString();n.push(["cookie",""!==e?e:null])}let a=new Set,o={};for(let[e,t]of n)a.add(e.toLowerCase()),null!==t&&(o[e.toLowerCase()]=t);return new Proxy(s.HeadersAdapter.seal(s.HeadersAdapter.from(o)),{get(e,t,n){if("get"===t||"has"===t){let o=Reflect.get(e,t,n);return function(t){let n=t.toLowerCase();return a.has(n)||g(Object.defineProperty(new d.InstantValidationError(`Route "${r}" accessed header "${n}" which is not defined in the \`samples\` of \`unstable_instant\`. Add it to the sample's \`headers\` array, or \`["${n}", null]\` if it should be absent.`),"__NEXT_ERROR_CODE",{value:"E1116",enumerable:!1,configurable:!0})),o.call(e,n)}}return Reflect.get(e,t,n)}})}function _(){return{get isEnabled(){return!1},enable(){throw Object.defineProperty(Error("Draft mode cannot be enabled during build-time instant validation."),"__NEXT_ERROR_CODE",{value:"E1092",enumerable:!1,configurable:!0})},disable(){throw Object.defineProperty(Error("Draft mode cannot be disabled during build-time instant validation."),"__NEXT_ERROR_CODE",{value:"E1094",enumerable:!1,configurable:!0})}}}function v(e,t,r){return new Proxy(e,{get:(n,a,o)=>("string"==typeof a&&!p.wellKnownProperties.has(a)&&a in e&&!t.has(a)&&g(Object.defineProperty(new d.InstantValidationError(`Route "${r}" accessed param "${a}" which is not defined in the \`samples\` of \`unstable_instant\`. Add it to the sample's \`params\` object.`),"__NEXT_ERROR_CODE",{value:"E1095",enumerable:!1,configurable:!0})),Reflect.get(n,a,o))})}function E(e,t,r){return new Proxy(e,{get:(e,n,a)=>("string"!=typeof n||p.wellKnownProperties.has(n)||t.has(n)||g(R(r,n)),Reflect.get(e,n,a)),has:(e,n)=>("string"!=typeof n||p.wellKnownProperties.has(n)||t.has(n)||g(R(r,n)),Reflect.has(e,n))})}function O(e,t,r){return new Proxy(e,{get(e,n,a){if("get"===n||"getAll"===n||"has"===n){let o=Reflect.get(e,n,a);return n=>("string"!=typeof n||t.has(n)||g(R(r,n)),o.call(e,n))}let o=Reflect.get(e,n,a);return"function"!=typeof o||Object.hasOwn(e,n)?o:o.bind(e)}})}function R(e,t){return Object.defineProperty(new d.InstantValidationError(`Route "${e}" accessed searchParam "${t}" which is not defined in the \`samples\` of \`unstable_instant\`. Add it to the sample's \`searchParams\` object, or \`{ "${t}": null }\` if it should be absent.`),"__NEXT_ERROR_CODE",{value:"E1098",enumerable:!1,configurable:!0})}function w(e,t,r){let n=function(e,t){let r=[];for(let n of e.split("/")){let e=(0,l.getSegmentParam)(n);if(e)switch(e.paramType){case"catchall":case"optional-catchall":{let a=t[e.paramName];if(void 0===a)a=[n];else if(!Array.isArray(a))throw Object.defineProperty(new d.InstantValidationError(`Expected sample param value for segment '${n}' to be an array of strings, got ${typeof a}`),"__NEXT_ERROR_CODE",{value:"E1104",enumerable:!1,configurable:!0});r.push(...a.map(e=>encodeURIComponent(e)));break}case"dynamic":{let a=t[e.paramName];if(void 0===a)a=n;else if("string"!=typeof a)throw Object.defineProperty(new d.InstantValidationError(`Expected sample param value for segment '${n}' to be a string, got ${typeof a}`),"__NEXT_ERROR_CODE",{value:"E1108",enumerable:!1,configurable:!0});r.push(encodeURIComponent(a));break}case"catchall-intercepted-(..)(..)":case"catchall-intercepted-(.)":case"catchall-intercepted-(..)":case"catchall-intercepted-(...)":case"dynamic-intercepted-(..)(..)":case"dynamic-intercepted-(.)":case"dynamic-intercepted-(..)":case"dynamic-intercepted-(...)":throw Object.defineProperty(new u.InvariantError("Not implemented: Validation of interception routes"),"__NEXT_ERROR_CODE",{value:"E1106",enumerable:!1,configurable:!0});default:e.paramType}else r.push(n)}return r.join("/")}(e,t??{}),a="";if(r){let e=(function(e){let t=new URLSearchParams;if(e){for(let[r,n]of Object.entries(e))if(null!=n)if(Array.isArray(n))for(let e of n)t.append(r,e);else t.set(r,n)}return t})(r).toString();e&&(a="?"+e)}return(0,c.parseRelativeUrl)(n+a,void 0,!0)}function S(e,t,r){if(t&&r in t);else{let t=e.route;g(Object.defineProperty(new d.InstantValidationError(`Route "${t}" accessed root param "${r}" which is not defined in the \`samples\` of \`unstable_instant\`. Add it to the sample's \`params\` object.`),"__NEXT_ERROR_CODE",{value:"E1114",enumerable:!1,configurable:!0}))}}},89064,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={createPrerenderSearchParamsForClientPage:function(){return P},createSearchParamsFromClient:function(){return g},createServerSearchParamsForMetadata:function(){return y},createServerSearchParamsForServerPage:function(){return b},makeErroringSearchParamsForUseCache:function(){return R}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(33383),i=e.r(16507),s=e.r(82103),l=e.r(84681),c=e.r(23152),u=e.r(34232),d=e.r(12094),f=e.r(16018),p=e.r(16268),m=e.r(46339),h=e.r(51365);function g(t){let r=o.workAsyncStorage.getStore();if(!r)throw Object.defineProperty(new u.InvariantError("Expected workStore to be initialized"),"__NEXT_ERROR_CODE",{value:"E1068",enumerable:!1,configurable:!0});let n=c.workUnitAsyncStorage.getStore();if(n)switch(n.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return _(r,n);case"validation-client":return function(t,r,n){var a;let{createExhaustiveSearchParamsProxy:o}=e.r(94639);return Promise.resolve(t=o(t,new Set(Object.keys((null==(a=n.validationSamples)?void 0:a.searchParams)??{})),r.route))}(t,r,n);case"prerender-runtime":throw Object.defineProperty(new u.InvariantError("createSearchParamsFromClient should not be called in a runtime prerender."),"__NEXT_ERROR_CODE",{value:"E769",enumerable:!1,configurable:!0});case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new u.InvariantError("createSearchParamsFromClient should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E739",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new u.InvariantError("createSearchParamsFromClient should not be called inside generateStaticParams."),"__NEXT_ERROR_CODE",{value:"E1133",enumerable:!1,configurable:!0});case"request":return v(t,r,n,!1)}(0,c.throwInvariantForMissingStore)()}function y(e,t){return b(e,(0,i.getMetadataVaryParamsAccumulator)(),t)}function b(e,t,r){let n=o.workAsyncStorage.getStore();if(!n)throw Object.defineProperty(new u.InvariantError("Expected workStore to be initialized"),"__NEXT_ERROR_CODE",{value:"E1068",enumerable:!1,configurable:!0});let a=c.workUnitAsyncStorage.getStore();if(a)switch(a.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return _(n,a);case"validation-client":throw Object.defineProperty(new u.InvariantError("createServerSearchParamsForServerPage should not be called in a client validation."),"__NEXT_ERROR_CODE",{value:"E1066",enumerable:!1,configurable:!0});case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new u.InvariantError("createServerSearchParamsForServerPage should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E747",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new u.InvariantError("createServerSearchParamsForServerPage should not be called inside generateStaticParams."),"__NEXT_ERROR_CODE",{value:"E1128",enumerable:!1,configurable:!0});case"prerender-runtime":return function(e,t,r,n){let a=w(null!==r?(0,i.createVaryingSearchParams)(r,e):e),{stagedRendering:o}=t;if(!o)return a;let s=n?h.RenderStage.EarlyRuntime:h.RenderStage.Runtime;return o.waitForStage(s).then(()=>a)}(e,a,t,r);case"request":return v(e,n,a,r)}(0,c.throwInvariantForMissingStore)()}function P(){let e=o.workAsyncStorage.getStore();if(!e)throw Object.defineProperty(new u.InvariantError("Expected workStore to be initialized"),"__NEXT_ERROR_CODE",{value:"E1068",enumerable:!1,configurable:!0});if(e.forceStatic)return Promise.resolve({});let t=c.workUnitAsyncStorage.getStore();if(t)switch(t.type){case"prerender":case"prerender-client":return(0,d.makeHangingPromise)(t.renderSignal,e.route,"`searchParams`");case"validation-client":throw Object.defineProperty(new u.InvariantError("createPrerenderSearchParamsForClientPage should not be called in a client validation."),"__NEXT_ERROR_CODE",{value:"E1061",enumerable:!1,configurable:!0});case"prerender-runtime":throw Object.defineProperty(new u.InvariantError("createPrerenderSearchParamsForClientPage should not be called in a runtime prerender."),"__NEXT_ERROR_CODE",{value:"E768",enumerable:!1,configurable:!0});case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new u.InvariantError("createPrerenderSearchParamsForClientPage should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E746",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new u.InvariantError("createPrerenderSearchParamsForClientPage should not be called inside generateStaticParams."),"__NEXT_ERROR_CODE",{value:"E1124",enumerable:!1,configurable:!0});case"prerender-ppr":case"prerender-legacy":case"request":return Promise.resolve({})}(0,c.throwInvariantForMissingStore)()}function _(e,t){if(e.forceStatic)return Promise.resolve({});switch(t.type){case"prerender":case"prerender-client":var r=e,n=t;let a=E.get(n);if(a)return a;let o=(0,d.makeHangingPromise)(n.renderSignal,r.route,"`searchParams`"),i=new Proxy(o,{get(e,t,r){if(Object.hasOwn(o,t))return s.ReflectAdapter.get(e,t,r);switch(t){case"then":return(0,l.annotateDynamicAccess)("`await searchParams`, `searchParams.then`, or similar",n),s.ReflectAdapter.get(e,t,r);case"status":return(0,l.annotateDynamicAccess)("`use(searchParams)`, `searchParams.status`, or similar",n),s.ReflectAdapter.get(e,t,r);default:return s.ReflectAdapter.get(e,t,r)}}});return E.set(n,i),i;case"prerender-ppr":case"prerender-legacy":var c=e,u=t;let f=E.get(c);if(f)return f;let p=Promise.resolve({}),h=new Proxy(p,{get(e,t,r){if(Object.hasOwn(p,t))return s.ReflectAdapter.get(e,t,r);if("string"==typeof t&&"then"===t){let e="`await searchParams`, `searchParams.then`, or similar";c.dynamicShouldError?(0,m.throwWithStaticGenerationBailoutErrorWithDynamicError)(c.route,e):"prerender-ppr"===u.type?(0,l.postponeWithTracking)(c.route,e,u.dynamicTracking):(0,l.throwToInterruptStaticGeneration)(e,c,u)}return s.ReflectAdapter.get(e,t,r)}});return E.set(c,h),h;default:return t}}function v(t,r,n,a){if(r.forceStatic)return Promise.resolve({});if(!n.asyncApiPromises)return w(t);if(n.validationSamples){let{createExhaustiveSearchParamsProxy:a}=e.r(94639),o=new Set(Object.keys(n.validationSamples.searchParams??{}));t=a(t,o,r.route)}return(a?n.asyncApiPromises.earlySharedSearchParamsParent:n.asyncApiPromises.sharedSearchParamsParent).then(()=>t)}let E=new WeakMap,O=new WeakMap;function R(){let e=o.workAsyncStorage.getStore();if(!e)throw Object.defineProperty(new u.InvariantError("Expected workStore to be initialized"),"__NEXT_ERROR_CODE",{value:"E1068",enumerable:!1,configurable:!0});let t=O.get(e);if(t)return t;let r=Promise.resolve({}),n=new Proxy(r,{get:function t(n,a,o){return Object.hasOwn(r,a)||"string"!=typeof a||"then"!==a&&p.wellKnownProperties.has(a)||(0,m.throwForSearchParamsAccessInUseCache)(e,t),s.ReflectAdapter.get(n,a,o)}});return O.set(e,n),n}function w(e){let t=E.get(e);if(t)return t;let r=Promise.resolve(e);return E.set(e,r),r}(0,f.createDedupedByCallsiteServerErrorLoggerDev)(function(e,t){let r=e?`Route "${e}" `:"This route ";return Object.defineProperty(Error(`${r}used ${t}. \`searchParams\` is a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E848",enumerable:!1,configurable:!0})})},5136,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"dynamicAccessAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,e.r(3158).createAsyncLocalStorage)()},70273,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"dynamicAccessAsyncStorage",{enumerable:!0,get:function(){return n.dynamicAccessAsyncStorageInstance}});let n=e.r(5136)},4914,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={createParamsFromClient:function(){return g},createPrerenderParamsForClientSegment:function(){return _},createServerParamsForMetadata:function(){return y},createServerParamsForRoute:function(){return b},createServerParamsForServerSegment:function(){return P}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(33383),i=e.r(16507),s=e.r(82103),l=e.r(84681),c=e.r(23152),u=e.r(34232),d=e.r(16268),f=e.r(12094),p=e.r(16018),m=e.r(70273),h=e.r(51365);function g(e){let t=o.workAsyncStorage.getStore();if(!t)throw Object.defineProperty(new u.InvariantError("Expected workStore to be initialized"),"__NEXT_ERROR_CODE",{value:"E1068",enumerable:!1,configurable:!0});let r=c.workUnitAsyncStorage.getStore();if(r)switch(r.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return v(e,null,t,r,null);case"validation-client":return O(e,t,r.validationSamples);case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new u.InvariantError("createParamsFromClient should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E736",enumerable:!1,configurable:!0});case"prerender-runtime":throw Object.defineProperty(new u.InvariantError("createParamsFromClient should not be called in a runtime prerender."),"__NEXT_ERROR_CODE",{value:"E770",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new u.InvariantError("createParamsFromClient should not be called inside generateStaticParams."),"__NEXT_ERROR_CODE",{value:"E1122",enumerable:!1,configurable:!0});case"request":if(r.validationSamples)return O(e,t,r.validationSamples);return S(e)}(0,c.throwInvariantForMissingStore)()}function y(e,t,r){return P(e,t,(0,i.getMetadataVaryParamsAccumulator)(),r)}function b(e,t=null){let r=o.workAsyncStorage.getStore();if(!r)throw Object.defineProperty(new u.InvariantError("Expected workStore to be initialized"),"__NEXT_ERROR_CODE",{value:"E1068",enumerable:!1,configurable:!0});let n=c.workUnitAsyncStorage.getStore();if(n)switch(n.type){case"prerender":case"prerender-ppr":case"prerender-legacy":return v(e,null,r,n,t);case"prerender-client":case"validation-client":throw Object.defineProperty(new u.InvariantError("createServerParamsForRoute should not be called in client contexts."),"__NEXT_ERROR_CODE",{value:"E1064",enumerable:!1,configurable:!0});case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new u.InvariantError("createServerParamsForRoute should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E738",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new u.InvariantError("createServerParamsForRoute should not be called inside generateStaticParams."),"__NEXT_ERROR_CODE",{value:"E1131",enumerable:!1,configurable:!0});case"prerender-runtime":return E(e,null,n,t,!1);case"request":return S(e)}(0,c.throwInvariantForMissingStore)()}function P(t,r,n,a){let i=o.workAsyncStorage.getStore();if(!i)throw Object.defineProperty(new u.InvariantError("Expected workStore to be initialized"),"__NEXT_ERROR_CODE",{value:"E1068",enumerable:!1,configurable:!0});let s=c.workUnitAsyncStorage.getStore();if(s)switch(s.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return v(t,r,i,s,n);case"validation-client":throw Object.defineProperty(new u.InvariantError("createServerParamsForServerSegment should not be called in client contexts."),"__NEXT_ERROR_CODE",{value:"E1101",enumerable:!1,configurable:!0});case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new u.InvariantError("createServerParamsForServerSegment should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E743",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new u.InvariantError("createServerParamsForServerSegment should not be called inside generateStaticParams."),"__NEXT_ERROR_CODE",{value:"E1120",enumerable:!1,configurable:!0});case"prerender-runtime":return E(t,r,s,n,a);case"request":if(s.asyncApiPromises&&s.validationSamples)return function(t,r,n,a,o){let{createExhaustiveParamsProxy:i}=e.r(94639),s=i(t,new Set(Object.keys(n.params??{})),r.route);return(o?a.earlySharedParamsParent:a.sharedParamsParent).then(()=>s)}(t,i,s.validationSamples,s.asyncApiPromises,a);if(s.asyncApiPromises&&function(e,t){if(t){for(let r in e)if(t.has(r))return!0}return!1}(t,s.fallbackParams))return(a?s.asyncApiPromises.earlySharedParamsParent:s.asyncApiPromises.sharedParamsParent).then(()=>t);return S(t)}(0,c.throwInvariantForMissingStore)()}function _(e){let t=o.workAsyncStorage.getStore();if(!t)throw Object.defineProperty(new u.InvariantError("Missing workStore in createPrerenderParamsForClientSegment"),"__NEXT_ERROR_CODE",{value:"E773",enumerable:!1,configurable:!0});let r=c.workUnitAsyncStorage.getStore();if(r)switch(r.type){case"prerender":case"prerender-client":let n=r.fallbackRouteParams;if(n){for(let a in e)if(n.has(a))return(0,f.makeHangingPromise)(r.renderSignal,t.route,"`params`")}break;case"validation-client":throw Object.defineProperty(new u.InvariantError("createPrerenderParamsForClientSegment should not be called in validation contexts."),"__NEXT_ERROR_CODE",{value:"E1099",enumerable:!1,configurable:!0});case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new u.InvariantError("createPrerenderParamsForClientSegment should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E734",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new u.InvariantError("createPrerenderParamsForClientSegment should not be called inside generateStaticParams."),"__NEXT_ERROR_CODE",{value:"E1126",enumerable:!1,configurable:!0})}return Promise.resolve(e)}function v(e,t,r,n,a){let o=null!==a?(0,i.createVaryingParams)(a,e,t):e;switch(n.type){case"prerender":case"prerender-client":{let t=n.fallbackRouteParams;if(t){for(let a in e)if(t.has(a))return function(e,t,r){let n=R.get(e);if(n)return n;let a=new Proxy((0,f.makeHangingPromise)(r.renderSignal,t.route,"`params`"),w);return R.set(e,a),a}(o,r,n)}break}case"prerender-ppr":{let t=n.fallbackRouteParams;if(t){for(let a in e)if(t.has(a))return function(e,t,r,n){let a=R.get(e);if(a)return a;let o={...e},i=Promise.resolve(o);return R.set(e,i),Object.keys(e).forEach(e=>{d.wellKnownProperties.has(e)||t.has(e)&&Object.defineProperty(o,e,{get(){let t=(0,d.describeStringPropertyAccess)("params",e);"prerender-ppr"===n.type?(0,l.postponeWithTracking)(r.route,t,n.dynamicTracking):(0,l.throwToInterruptStaticGeneration)(t,r,n)},enumerable:!0})}),i}(o,t,r,n)}}}return S(o)}function E(e,t,r,n,a){let o=S(null!==n?(0,i.createVaryingParams)(n,e,t):e),{stagedRendering:s}=r;if(!s)return o;let l=a?h.RenderStage.EarlyRuntime:h.RenderStage.Runtime;return s.waitForStage(l).then(()=>o)}function O(t,r,n){let{createExhaustiveParamsProxy:a}=e.r(94639);return Promise.resolve(a(t,new Set(Object.keys((null==n?void 0:n.params)??{})),r.route))}let R=new WeakMap,w={get:function(e,t,r){if("then"===t||"catch"===t||"finally"===t){let n=s.ReflectAdapter.get(e,t,r);return({[t]:(...t)=>{let r=m.dynamicAccessAsyncStorage.getStore();return r&&r.abortController.abort(Object.defineProperty(Error("Accessed fallback `params` during prerendering."),"__NEXT_ERROR_CODE",{value:"E691",enumerable:!1,configurable:!0})),new Proxy(n.apply(e,t),w)}})[t]}return s.ReflectAdapter.get(e,t,r)}};function S(e){let t=R.get(e);if(t)return t;let r=Promise.resolve(e);return R.set(e,r),r}(0,p.createDedupedByCallsiteServerErrorLoggerDev)(function(e,t){let r=e?`Route "${e}" `:"This route ";return Object.defineProperty(Error(`${r}used ${t}. \`params\` is a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E834",enumerable:!1,configurable:!0})})},4912,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ClientPageRoot",{enumerable:!0,get:function(){return l}});let n=e.r(80012),a=e.r(40895),o=e.r(80020),i=e.r(66900),s=e.r(88065);function l({Component:t,serverProvidedParams:r}){let c,u;if(null!==r)c=r.searchParams,u=r.params;else{let e=(0,o.use)(a.LayoutRouterContext);u=null!==e?e.parentParams:{},c=(0,i.urlSearchParamsToParsedUrlQuery)((0,o.use)(s.SearchParamsContext))}if("u"<typeof window){let r,a,{createSearchParamsFromClient:o}=e.r(89064);r=o(c);let{createParamsFromClient:i}=e.r(4914);return a=i(u),(0,n.jsx)(t,{params:a,searchParams:r})}{let{createRenderSearchParamsFromClient:r}=e.r(53516),a=r(c),{createRenderParamsFromClient:o}=e.r(14715),i=o(u);return(0,n.jsx)(t,{params:i,searchParams:a})}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},76499,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ClientSegmentRoot",{enumerable:!0,get:function(){return i}});let n=e.r(80012),a=e.r(40895),o=e.r(80020);function i({Component:t,slots:r,serverProvidedParams:s}){let l;if(null!==s)l=s.params;else{let e=(0,o.use)(a.LayoutRouterContext);l=null!==e?e.parentParams:{}}if("u"<typeof window){let{createParamsFromClient:a}=e.r(4914),o=a(l);return(0,n.jsx)(t,{...r,params:o})}{let{createRenderParamsFromClient:a}=e.r(14715),o=a(l);return(0,n.jsx)(t,{...r,params:o})}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},52237,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"IconMark",{enumerable:!0,get:function(){return a}});let n=e.r(80012),a=()=>"u">typeof window?null:(0,n.jsx)("meta",{name:"«nxt-icon»"})}]);
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=0b~oqibb-klk8.js.map
|