failproofai 1.0.3 → 1.0.4-beta.2
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/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +5 -5
- package/.next/standalone/.next/prerender-manifest.json +5 -5
- package/.next/standalone/.next/required-server-files.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +6 -6
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +15 -15
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +14 -14
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/api/audit/invite/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/audit/invite/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/audit/run/route.js +4 -4
- package/.next/standalone/.next/server/app/api/audit/run/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/audit/run/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/audit/status/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/audit/status/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/login-request/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/login-request/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/login-verify/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/login-verify/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/logout/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/status/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/download/[project]/[session]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/download/[project]/[session]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/audit/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/audit/page/server-reference-manifest.json +37 -4
- package/.next/standalone/.next/server/app/audit/page.js +2 -2
- package/.next/standalone/.next/server/app/audit/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/audit/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +15 -15
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +14 -14
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/policies/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +14 -14
- package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/projects/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/settings/page/server-reference-manifest.json +4 -4
- package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/chunks/{[externals]__0-9ti7z._.js → [externals]__1lh7m5d._.js} +1 -1
- package/.next/standalone/.next/server/chunks/{[externals]__0u3wrvq._.js → [externals]__1rqkg_y._.js} +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0o07qi9._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1adacul._.js +1 -1
- package/.next/standalone/.next/server/chunks/{_1-akg6w._.js → _08w6xzm._.js} +2 -2
- package/.next/standalone/.next/server/chunks/_0tovk6q._.js +1 -1
- package/.next/standalone/.next/server/chunks/_0trp3yc._.js +1 -1
- package/.next/standalone/.next/server/chunks/_1ek68ln._.js +4 -4
- package/.next/standalone/.next/server/chunks/lib_telemetry_ts_0dctyyw._.js +1 -1
- package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_01r25oi._.js +2 -2
- package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_09z9-p7._.js +2 -2
- package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_1nxcc4v._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_hooks_fp-home_ts_09kv0bn._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__013jr2b._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__01wy8d-._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__02npjtd._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0da85px._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ftmoxc._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0oa1lav._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0p-5p8u._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0rgu2r3._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0s740oi._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1p2otjt._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0-oij9d._.js +23 -0
- package/.next/standalone/.next/server/chunks/ssr/_08x1r5t._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0l2hi_d._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0oq1dh6._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_1es2j7i._.js +47 -13
- package/.next/standalone/.next/server/chunks/ssr/_1u8-lu2._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_policies_page_actions_1sp2-yo.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/app_audit__components_audit-dashboard_tsx_0p9ud47._.js +1 -69
- package/.next/standalone/.next/server/chunks/ssr/app_audit__components_rerun-button_tsx_0blihgw._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_1kp6l3x._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_19dqvpc._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_settings_settings-client_tsx_20lq-mq._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_13n822a._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_11bnuzn._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/src_hooks_builtin-policies_ts_09j2ndl._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_hooks_fp-config_ts_04t589g._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_hooks_fp-home_ts_0je3xkv._.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +5 -5
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +54 -21
- package/.next/standalone/.next/static/chunks/010bv1w6j171t.js +1 -0
- package/.next/standalone/.next/static/chunks/04r6ch8uf_n8m.js +1 -0
- package/.next/standalone/.next/static/chunks/{29-iqnp9v_axt.css → 0o-hh5_turzlz.css} +1 -1
- package/.next/standalone/.next/static/chunks/{40nr6ehj4p3cw.css → 0qmsunv04x4na.css} +1 -1
- package/.next/standalone/.next/static/chunks/{0ollg-nnu3t3e.js → 0wz8yftk18ts2.js} +1 -1
- package/.next/standalone/.next/static/chunks/0zebh1n9jkfbt.js +1 -0
- package/.next/standalone/.next/static/chunks/1eyl7fzkmnkf_.js +1 -0
- package/.next/standalone/.next/static/chunks/1pb1oztsbwcss.js +1 -0
- package/.next/standalone/.next/static/chunks/{1-_zkmnm-jwei.js → 2aquitk72k2op.js} +1 -1
- package/.next/standalone/.next/static/chunks/2bi_1y0a_smt7.js +6 -0
- package/.next/standalone/.next/static/chunks/{42yfkhekx440s.js → 2ej3b8gk5ittu.js} +1 -1
- package/.next/standalone/.next/static/chunks/{354-n7p7labpn.js → 2zafgs90r_leq.js} +1 -1
- package/.next/standalone/.next/static/chunks/{2xm5mj1d21b4n.js → 32spub4wqjem-.js} +1 -1
- package/.next/standalone/.next/static/chunks/{1a6u7l3giejch.js → 3m4upvybtrexd.js} +1 -1
- package/.next/standalone/.next/static/chunks/{2k9f4tyv04809.css → 3uyhmm01g64k4.css} +1 -0
- package/.next/standalone/.next/static/chunks/{turbopack-2x-o099q64i8h.js → turbopack-3s3c-u_u_l0u9.js} +1 -1
- package/.next/standalone/.opencode/plugins/failproofai.mjs +51 -27
- package/.next/standalone/app/actions/get-leaks.ts +100 -0
- package/.next/standalone/app/audit/_components/audit-dashboard.tsx +112 -33
- package/.next/standalone/app/audit/_components/audit-poster.tsx +29 -10
- package/.next/standalone/app/audit/_components/come-back-better-section.tsx +6 -1
- package/.next/standalone/app/audit/_components/empty-state.tsx +4 -1
- package/.next/standalone/app/audit/_components/how-to-improve-section.tsx +19 -5
- package/.next/standalone/app/audit/_components/leak-section.tsx +179 -0
- package/.next/standalone/app/audit/_components/share-templates.ts +110 -44
- package/.next/standalone/app/audit/audit-styles.css +114 -1
- package/.next/standalone/fp-cloud-cli/CHANGELOG.md +26 -3
- package/.next/standalone/fp-cloud-cli/fp_cli/_click_compat.py +31 -8
- package/.next/standalone/fp-cloud-cli/fp_cli/permissions.py +1 -0
- package/.next/standalone/fp-cloud-cli/pyproject.toml +9 -2
- package/.next/standalone/fp-cloud-cli/tests/test_click_compat.py +54 -0
- package/.next/standalone/fp-cloud-cli/uv.lock +9 -12
- package/.next/standalone/lib/auth/api-server-client.ts +28 -0
- package/.next/standalone/lib/claude-sessions.ts +101 -27
- package/.next/standalone/node_modules/@next/env/package.json +1 -1
- package/.next/standalone/node_modules/next/dist/build/swc/index.js +1 -1
- package/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +1 -1
- package/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +1 -1
- package/.next/standalone/node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.prod.js +1 -1
- package/.next/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +5 -5
- package/.next/standalone/node_modules/next/dist/experimental/testmode/fetch.js +10 -2
- package/.next/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
- package/.next/standalone/node_modules/next/dist/lib/typescript/runTypeScriptCli.js +2 -2
- package/.next/standalone/node_modules/next/dist/lib/verify-typescript-setup.js +3 -1
- package/.next/standalone/node_modules/next/dist/server/config.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +2 -2
- package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/lib/app-info-log.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js +17 -4
- package/.next/standalone/node_modules/next/dist/server/lib/start-server.js +1 -1
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/escape-path-delimiters.js +1 -1
- package/.next/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
- package/.next/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
- package/.next/standalone/node_modules/next/dist/telemetry/events/version.js +2 -2
- package/.next/standalone/node_modules/next/package.json +11 -11
- package/.next/standalone/package.json +14 -13
- package/.next/standalone/sdk/python/CHANGELOG.md +155 -0
- package/.next/standalone/sdk/python/README.md +8 -0
- package/.next/standalone/sdk/python/examples/evaluator_worker.py +121 -0
- package/.next/standalone/sdk/python/failproofai_sdk/_version.py +1 -1
- package/.next/standalone/sdk/python/failproofai_sdk/evaluator/__init__.py +101 -0
- package/.next/standalone/sdk/python/failproofai_sdk/evaluator/__main__.py +49 -0
- package/.next/standalone/sdk/python/failproofai_sdk/evaluator/_sandbox_runner.py +63 -0
- package/.next/standalone/sdk/python/failproofai_sdk/evaluator/authoring.py +404 -0
- package/.next/standalone/sdk/python/failproofai_sdk/evaluator/client.py +299 -0
- package/.next/standalone/sdk/python/failproofai_sdk/evaluator/protocol.py +754 -0
- package/.next/standalone/sdk/python/failproofai_sdk/evaluator/runtime.py +936 -0
- package/.next/standalone/sdk/python/failproofai_sdk/evaluator/source.py +684 -0
- package/.next/standalone/sdk/python/tests/fixtures/evaluator_v2/README.md +28 -0
- package/.next/standalone/sdk/python/tests/fixtures/evaluator_v2/contract.json +252 -0
- package/.next/standalone/sdk/python/tests/test_evaluator_authoring.py +124 -0
- package/.next/standalone/sdk/python/tests/test_evaluator_client.py +253 -0
- package/.next/standalone/sdk/python/tests/test_evaluator_example.py +35 -0
- package/.next/standalone/sdk/python/tests/test_evaluator_http_e2e.py +636 -0
- package/.next/standalone/sdk/python/tests/test_evaluator_main.py +47 -0
- package/.next/standalone/sdk/python/tests/test_evaluator_protocol.py +246 -0
- package/.next/standalone/sdk/python/tests/test_evaluator_review_fixes.py +164 -0
- package/.next/standalone/sdk/python/tests/test_evaluator_runtime.py +1103 -0
- package/.next/standalone/sdk/python/tests/test_evaluator_source.py +430 -0
- package/.next/standalone/sdk/python/tests/test_zero_dependencies.py +17 -0
- package/.next/standalone/sdk/python/uv.lock +29 -29
- package/.next/standalone/server.js +1 -1
- package/README.md +13 -58
- package/dist/cli.mjs +5368 -8756
- package/dist/worker.mjs +539 -312
- package/lib/auth/api-server-client.ts +28 -0
- package/lib/claude-sessions.ts +101 -27
- package/package.json +14 -13
- package/pi-extension/index.ts +42 -4
- package/scripts/changelog-open.py +115 -0
- package/src/audit/cli.ts +134 -0
- package/src/audit/desktop-notify.ts +420 -0
- package/src/audit/harm-report.ts +101 -0
- package/src/audit/index.ts +141 -13
- package/src/audit/leak-fingerprint.ts +200 -0
- package/src/audit/leak-notice.ts +161 -0
- package/src/audit/leak-record.ts +232 -0
- package/src/audit/leak-scan.ts +292 -0
- package/src/audit/leak-store.ts +217 -0
- package/src/audit/macos-notifier.ts +310 -0
- package/src/audit/redact-example.ts +266 -14
- package/src/audit/report-harm.ts +12 -1
- package/src/audit/report.ts +6 -3
- package/src/audit/schedule-cli.ts +37 -0
- package/src/audit/scoring.ts +49 -0
- package/src/audit/types.ts +41 -0
- package/src/hooks/builtin-policies.ts +67 -2
- package/src/hooks/configure-wizard.ts +20 -0
- package/src/hooks/fp-config.ts +71 -11
- package/src/hooks/fp-home.ts +27 -0
- package/src/hooks/handler.ts +59 -1
- package/src/hooks/integrations.ts +47 -13
- package/src/hooks/notice.ts +155 -0
- package/src/hooks/uninstall-cli.ts +15 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1b5jzxr._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0j6gd_k._.js +0 -23
- package/.next/standalone/.next/server/chunks/ssr/_0v8eebd._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_1ylae7o._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_1zopuov._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_html-to-image_es_index_1ao30b1.js +0 -3
- package/.next/standalone/.next/static/chunks/03slu0c8_71y7.js +0 -1
- package/.next/standalone/.next/static/chunks/0nm11ysn0153h.js +0 -1
- package/.next/standalone/.next/static/chunks/0u64yey446k4f.css +0 -1
- package/.next/standalone/.next/static/chunks/1r9676mkvihto.js +0 -1
- package/.next/standalone/.next/static/chunks/30pct5s734jua.js +0 -6
- package/.next/standalone/.next/static/chunks/3pibxnbhjza7n.js +0 -69
- package/.next/standalone/.next/static/chunks/3qfoeqhy5l10x.js +0 -1
- package/.next/standalone/.next/static/chunks/3zkg2s2vzxc3d.js +0 -1
- package/.next/standalone/.next/static/chunks/41b5ptaocvi_l.js +0 -1
- /package/.next/standalone/.next/static/{JBYgkXkA1PS48m9P_hKNw → aKNv4Kmv98Xpwns0Xa-C-}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{JBYgkXkA1PS48m9P_hKNw → aKNv4Kmv98Xpwns0Xa-C-}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{JBYgkXkA1PS48m9P_hKNw → aKNv4Kmv98Xpwns0Xa-C-}/_ssgManifest.js +0 -0
|
@@ -4,8 +4,14 @@
|
|
|
4
4
|
* Claude stores transcripts at:
|
|
5
5
|
* <CLAUDE_PROJECTS_PATH>/<encoded-cwd>/<sessionId>.jsonl
|
|
6
6
|
*
|
|
7
|
-
* Subagent transcripts (when a session spawned subagents) live alongside
|
|
7
|
+
* Subagent transcripts (when a session spawned subagents) live alongside, in two
|
|
8
|
+
* shapes — a direct child, and one nested per workflow run:
|
|
8
9
|
* <CLAUDE_PROJECTS_PATH>/<encoded-cwd>/<sessionId>/subagents/<agentId>.jsonl
|
|
10
|
+
* <CLAUDE_PROJECTS_PATH>/<encoded-cwd>/<sessionId>/subagents/workflows/<runId>/<agentId>.jsonl
|
|
11
|
+
*
|
|
12
|
+
* Everything below `subagents/` is walked to a bounded depth rather than one
|
|
13
|
+
* level, because the second shape arrived after this module was written and the
|
|
14
|
+
* miss was most of the corpus. See `collectSubagentTranscripts`.
|
|
9
15
|
*
|
|
10
16
|
* The parser for these files lives in `lib/log-entries.ts` (`parseLogContent`,
|
|
11
17
|
* `parseSessionLog`). This module exposes discovery only — the audit pipeline
|
|
@@ -70,6 +76,99 @@ export function listClaudeProjects(): ClaudeProjectFolder[] {
|
|
|
70
76
|
/** Lists every JSONL transcript under one Claude project folder, including
|
|
71
77
|
* subagent transcripts under `<sessionId>/subagents/`. Returns [] on missing
|
|
72
78
|
* or unreadable paths. */
|
|
79
|
+
/**
|
|
80
|
+
* Depth of nesting allowed below `subagents/`.
|
|
81
|
+
*
|
|
82
|
+
* The two shapes that exist today need 0 and 2 (`<agent>.jsonl` and
|
|
83
|
+
* `workflows/<runId>/<agent>.jsonl`). The cap is here so an unexpected layout —
|
|
84
|
+
* or a symlink cycle a future Claude build introduces — costs a bounded walk
|
|
85
|
+
* rather than an audit that never returns, and it is deliberately loose enough
|
|
86
|
+
* that a third shape lands inside it without another release.
|
|
87
|
+
*/
|
|
88
|
+
const MAX_SUBAGENT_DEPTH = 5;
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Collect every `.jsonl` beneath a session's `subagents/` directory.
|
|
92
|
+
*
|
|
93
|
+
* This used to read only the DIRECT children of `subagents/`, which was correct
|
|
94
|
+
* for the layout Claude shipped when it was written and silently wrong the day
|
|
95
|
+
* workflow runs started nesting their agents one level further down. On a
|
|
96
|
+
* machine that uses them the miss is most of the corpus: 1,839 transcripts on
|
|
97
|
+
* disk, 1,741 under `subagents/`, and 1,679 of those inside
|
|
98
|
+
* `subagents/workflows/<runId>/` — so the audit was walking 160 files, 8.7% of
|
|
99
|
+
* the evidence, and reporting the result as though it had read everything.
|
|
100
|
+
*
|
|
101
|
+
* ## Session ids come from the relative path, not the basename
|
|
102
|
+
*
|
|
103
|
+
* Every workflow run writes a `journal.jsonl` beside its agents, so basenames
|
|
104
|
+
* are NOT unique below this directory — 1,741 files share 1,613 distinct names
|
|
105
|
+
* on the machine this was found on. A basename id would collide those 128 files
|
|
106
|
+
* onto ~one row each, and `sessionId` is what the cache, the per-session
|
|
107
|
+
* detector state and the example attribution are keyed by, so the collision
|
|
108
|
+
* would silently merge unrelated sessions rather than fail.
|
|
109
|
+
*
|
|
110
|
+
* Nor is the path below `subagents/` unique on its own. A workflow run id is
|
|
111
|
+
* reused when its session is resumed, so `wf_3d609e92-a38/journal.jsonl` exists
|
|
112
|
+
* under two different parent sessions in the same project — found by asserting
|
|
113
|
+
* uniqueness over the real corpus, not by reasoning about it.
|
|
114
|
+
*
|
|
115
|
+
* The id is therefore the PARENT SESSION id followed by the path relative to
|
|
116
|
+
* `subagents/`, minus the extension, joined with `__`:
|
|
117
|
+
* `<parentUuid>__workflows__wf_123__agent-abc`. That is a filesystem path
|
|
118
|
+
* within the project, so it is unique by construction rather than by argument,
|
|
119
|
+
* and it names the session the subagent belongs to. `__` is safe as the joiner
|
|
120
|
+
* because no id Claude generates contains one — verified against 1,741 real
|
|
121
|
+
* files, zero hits. Top-level session ids are untouched.
|
|
122
|
+
*
|
|
123
|
+
* Symlinks are not followed. Nothing in the layout uses them, and following one
|
|
124
|
+
* is how a directory walk turns into an infinite loop.
|
|
125
|
+
*/
|
|
126
|
+
function collectSubagentTranscripts(
|
|
127
|
+
dir: string,
|
|
128
|
+
relPrefix: string,
|
|
129
|
+
project: ClaudeProjectFolder,
|
|
130
|
+
out: ClaudeTranscriptFile[],
|
|
131
|
+
depth: number,
|
|
132
|
+
): void {
|
|
133
|
+
if (depth > MAX_SUBAGENT_DEPTH) return;
|
|
134
|
+
let entries: import("node:fs").Dirent[];
|
|
135
|
+
try {
|
|
136
|
+
entries = readdirSync(dir, { withFileTypes: true });
|
|
137
|
+
} catch {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
for (const entry of entries) {
|
|
141
|
+
if (entry.isSymbolicLink()) continue;
|
|
142
|
+
if (entry.isDirectory()) {
|
|
143
|
+
collectSubagentTranscripts(
|
|
144
|
+
join(dir, entry.name),
|
|
145
|
+
relPrefix ? `${relPrefix}__${entry.name}` : entry.name,
|
|
146
|
+
project,
|
|
147
|
+
out,
|
|
148
|
+
depth + 1,
|
|
149
|
+
);
|
|
150
|
+
continue;
|
|
151
|
+
}
|
|
152
|
+
if (!entry.isFile() || !entry.name.endsWith(".jsonl")) continue;
|
|
153
|
+
const stem = entry.name.slice(0, -".jsonl".length);
|
|
154
|
+
const transcriptPath = join(dir, entry.name);
|
|
155
|
+
try {
|
|
156
|
+
const s = statSync(transcriptPath);
|
|
157
|
+
out.push({
|
|
158
|
+
projectName: project.name,
|
|
159
|
+
cwd: project.cwd,
|
|
160
|
+
sessionId: relPrefix ? `${relPrefix}__${stem}` : stem,
|
|
161
|
+
transcriptPath,
|
|
162
|
+
mtimeMs: s.mtimeMs,
|
|
163
|
+
sizeBytes: s.size,
|
|
164
|
+
isSubagent: true,
|
|
165
|
+
});
|
|
166
|
+
} catch {
|
|
167
|
+
// unreadable — skip
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
|
|
73
172
|
export function listClaudeTranscripts(project: ClaudeProjectFolder): ClaudeTranscriptFile[] {
|
|
74
173
|
const out: ClaudeTranscriptFile[] = [];
|
|
75
174
|
let entries: import("node:fs").Dirent[];
|
|
@@ -99,34 +198,9 @@ export function listClaudeTranscripts(project: ClaudeProjectFolder): ClaudeTrans
|
|
|
99
198
|
// unreadable — skip
|
|
100
199
|
}
|
|
101
200
|
} else if (entry.isDirectory() && UUID_RE.test(entry.name)) {
|
|
102
|
-
// Subagent transcripts at <sessionId>/subagents/<agentId>.jsonl
|
|
103
201
|
const subDir = join(project.path, entry.name, "subagents");
|
|
104
202
|
if (!existsSync(subDir)) continue;
|
|
105
|
-
|
|
106
|
-
try {
|
|
107
|
-
subEntries = readdirSync(subDir, { withFileTypes: true });
|
|
108
|
-
} catch {
|
|
109
|
-
continue;
|
|
110
|
-
}
|
|
111
|
-
for (const sub of subEntries) {
|
|
112
|
-
if (!sub.isFile() || !sub.name.endsWith(".jsonl")) continue;
|
|
113
|
-
const agentId = sub.name.slice(0, -".jsonl".length);
|
|
114
|
-
const transcriptPath = join(subDir, sub.name);
|
|
115
|
-
try {
|
|
116
|
-
const s = statSync(transcriptPath);
|
|
117
|
-
out.push({
|
|
118
|
-
projectName: project.name,
|
|
119
|
-
cwd: project.cwd,
|
|
120
|
-
sessionId: agentId,
|
|
121
|
-
transcriptPath,
|
|
122
|
-
mtimeMs: s.mtimeMs,
|
|
123
|
-
sizeBytes: s.size,
|
|
124
|
-
isSubagent: true,
|
|
125
|
-
});
|
|
126
|
-
} catch {
|
|
127
|
-
// unreadable — skip
|
|
128
|
-
}
|
|
129
|
-
}
|
|
203
|
+
collectSubagentTranscripts(subDir, entry.name, project, out, 0);
|
|
130
204
|
}
|
|
131
205
|
}
|
|
132
206
|
|
|
@@ -139,7 +139,7 @@ var HmrTarget = /*#__PURE__*/ function(HmrTarget) {
|
|
|
139
139
|
HmrTarget["Server"] = "server";
|
|
140
140
|
return HmrTarget;
|
|
141
141
|
}({});
|
|
142
|
-
const nextVersion = "16.3.
|
|
142
|
+
const nextVersion = "16.3.4";
|
|
143
143
|
const ArchName = (0, _os.arch)();
|
|
144
144
|
const PlatformName = (0, _os.platform)();
|
|
145
145
|
function infoLog(...args) {
|
|
@@ -179,5 +179,5 @@ Ways to fix this:
|
|
|
179
179
|
- [block] Set \`export const instant = false\` to allow a blocking route
|
|
180
180
|
|
|
181
181
|
Learn more: https://nextjs.org/docs/messages/blocking-prerender-dynamic`),"__NEXT_ERROR_CODE",{value:"E1437",enumerable:!1,configurable:!0})),r,h);n.dynamicErrors.push(m)}(e,C,r,F,B,a,y);return}if(!$.aborted){let r=t.componentStack;if("string"==typeof r){let t=e;if(e&&"object"==typeof e&&"digest"in e&&"string"==typeof e.digest){let r=C.reactServerErrorsByDigest.get(e.digest);void 0!==r&&(t=r)}!function(e,t,r,n){let a=t3.exec(n);if(a){let i=tQ.exec(n);if(i&&i.index<a.index)return;let s=re(Object.defineProperty(Error(`Route "${e.route}": Could not validate \`instant\` because an error prevented the target segment from rendering.`,{cause:r}),"__NEXT_ERROR_CODE",{value:"E1338",enumerable:!1,configurable:!0}),n,null);t.validationPreventingErrors.push(s)}else{let e=re(Object.defineProperty(Error("An error occurred while attempting to validate instant UI. This error may be preventing the validation from completing.",{cause:r}),"__NEXT_ERROR_CODE",{value:"E1118",enumerable:!1,configurable:!0}),n,null);t.thrownErrorsOutsideBoundary.push(e)}}(C,F,t,r)}}return rc(e)?void console.error(e):rf(e)}});return $.addEventListener("abort",()=>{D.abort()},{once:!0}),e},()=>{tr.workUnitAsyncStorage.run(z,I.abort.bind(I))}),{preludeIsEmpty:t}=await eC(e);i=rs(C,t?rt.Empty:rt.Full,F,q,y,d)}catch(e){i=rs(C,rt.Errored,F,q,y,d)}if(!Array.isArray(i)||0===i.length)return i;if(null===r&&j.hasAmbiguousErrors){if(void 0!==f&&!await n1(f))return[];let r=await O(e,t,y);if(Array.isArray(r)&&r.length>0)return r}return i}let j=y(w),I=j.length,D=null;for(let e=I-1;e>=0;e--){let t=j[e];for(let r=t;r>=0;r--){let t=v[S];if(null==h||h(`Trying ${t} at depth ${e}`+(r>0?` + groupDepth ${r}...`:"...")),void 0!==f&&!await n1(f))return[];let n=await A(e,r);if(Array.isArray(n)){if(n.length>0)return null==h||h(` ${t} at depth ${e}+${r}: ❌ Failed (${n.length} errors)`),n;null==h||h(` ${t} at depth ${e}+${r}: ✅ Passed`)}else null===n?null==h||h(` No config at depth ${e}+${r}, skipping.`):D=n}}return D?(null==h||h(`⏸ All depths passed without real errors; surfacing deferred missing-boundary fallback`),D instanceof AggregateError)?D.errors:[D]:(null==h||h(`✅ All depths passed`),[])}async function sz(e,t,r,a,i,s,o){let{componentMod:l}=t,u=2===e,{clientModules:c}=(0,rA.QJ)(),d=-1/0,f=r,h=new iE;(0,iQ.trackPendingModules)(h);let p=o?nX(o):nX(),m=new AbortController,g=new AbortController,y=new AbortController,v=new tO({abortSignal:g.signal,abandonController:y,syncIO:sx(e),finalStage:null});f.resumeDataCache=p,f.stagedRendering=v,f.needsSessionShell=u,f.cacheSignal=h,f.asyncApiPromises=s$(v,f.cookies,f.mutableCookies,f.headers),f.controller=void 0,f.renderSignal=void 0;let b=await i(f),S=e=>{!0===y.signal.aborted||(h.hasPendingReads()?y.abort():v.advanceStage(e))},w=await iw(()=>{v.advanceStage(tP.ShellStatic),d=performance.now()+performance.timeOrigin;let e=tr.workUnitAsyncStorage.run(f,eI,l,b,c,{onError:s(m.signal,!1),startTime:d,filterStackFrame:n,signal:m.signal});m.signal.addEventListener("abort",()=>{let{reason:e}=m.signal;g.abort(e)},{once:!0});let t=sC(e,v,g.signal);return t.catch(()=>{}),{accumulatedChunksPromise:t}},()=>{S(tP.Static)},()=>{S(tP.ShellRuntime)},()=>{S(tP.Runtime)},()=>{S(tP.Dynamic)});if(v.currentStage!==tP.Abandoned)return{accumulatedChunksPromise:w.accumulatedChunksPromise,startTime:d,stageController:v,requestStore:f};await h.cacheReady(),tr.workUnitAsyncStorage.run(f,m.abort.bind(m)),f=a();let _=new AbortController,E=new AbortController,R=new tO({abortSignal:E.signal,abandonController:null,syncIO:sx(e),finalStage:null});f.resumeDataCache=nW(p),f.stagedRendering=R,f.needsSessionShell=u,f.cacheSignal=null,f.asyncApiPromises=s$(R,f.cookies,f.mutableCookies,f.headers),f.controller=_,f.renderSignal=E.signal;let k=await i(f);return{accumulatedChunksPromise:(await iw(()=>{R.advanceStage(tP.ShellStatic),d=performance.now()+performance.timeOrigin;let e=tr.workUnitAsyncStorage.run(f,eI,l,k,c,{onError:s(_.signal,!0),startTime:d,filterStackFrame:n,signal:_.signal});_.signal.addEventListener("abort",()=>{E.abort(_.signal.reason)},{once:!0});let t=sC(e,R,null);return t.catch(()=>{}),{accumulatedChunksPromise:t}},()=>R.advanceStage(tP.Static),()=>R.advanceStage(tP.ShellRuntime),()=>R.advanceStage(tP.Runtime),()=>R.advanceStage(tP.Dynamic))).accumulatedChunksPromise,startTime:d,stageController:R,requestStore:f}}async function sV(e,t){let r=async()=>{let r;try{r=await C.workAsyncStorage.exit(async()=>sX(e,t))}catch(e){console.error(Object.defineProperty(new ey.z("An unexpected error occurred during instant validation",{cause:e}),"__NEXT_ERROR_CODE",{value:"E1097",enumerable:!1,configurable:!0})),r=!1}if(!r)throw console.error("Stopping prerender due to instant validation errors."),new tR};if(!process.env.__NEXT_TEST_MODE||!process.env.NEXT_TEST_LOG_VALIDATION)return await r();{let t=String(Date.now()),n=e.workStore.route;console.error(e4({type:"validation_start",requestId:t,url:n}));try{return await r()}finally{console.error(e4({type:"validation_end",requestId:t,url:n}))}}}async function sX(e,t){let r="1"===process.env.NEXT_PRIVATE_DEBUG_VALIDATION?console.log:void 0,{workStore:n}=e,a=n.route,i=e.componentMod.routeModule.userland.loaderTree,s=await i6(i);s&&0!==s.length||(s=[{}]),null==r||r("Resolved samples:",s);let o=function(e,t){let r=nN(e),{pathnameRouteParamSegments:n,params:a}=function(e,t){let r=[],n={},a=[{tree:e,depth:0,currentPath:[]}];for(;a.length>0;){let{tree:e,depth:i,currentPath:s}=a.shift(),{segment:o,parallelRoutes:l}=r5(e),u=s,c=i,d=n$(o);if(d&&"route-group"!==d.type&&"parallel-route"!==d.type&&(u=[...s,d],c=i+1),(null==d?void 0:d.type)==="dynamic"){let{paramName:e,paramType:a}=d.param;if(i<t.segments.length){let n=t.segments[i];if("dynamic"===n.type){if(e!==n.param.paramName)continue;(function(e,t){for(let r=0;r<e.length;r++){let n=e[r],a=t.segments[r];if(n.type!==a.type)return!1;if(n.interceptionMarker!==a.interceptionMarker)return!1;if("static"===n.type&&"static"===a.type&&n.name!==a.name)return!1;if("dynamic"===n.type&&"dynamic"===a.type&&n.param.paramType!==a.param.paramType&&n.param.paramName!==a.param.paramName)return!1}return!0})(s,t)&&r.push({name:o,paramName:e,paramType:a})}}if(!n.hasOwnProperty(e)){let r=nL(e,a,i,t,n);void 0!==r&&(n[e]=r)}}for(let e of Object.values(l))a.push({tree:e,depth:c,currentPath:u})}return{pathnameRouteParamSegments:r,params:n}}(t.userland.loaderTree,r),i=n.map(({paramName:e,paramType:t})=>({paramName:e,paramType:t}));!function(e,t,r,n){let a=[{tree:e,depth:0}];for(;a.length>0;){let{tree:e,depth:i}=a.pop(),{segment:s,parallelRoutes:o}=r5(e),l=n$(s);if((null==l?void 0:l.type)==="dynamic"&&!t.hasOwnProperty(l.param.paramName)&&!n.some(e=>e.paramName===l.param.paramName)){let{paramName:e,paramType:a}=l.param,s=nL(e,a,i,r,t);void 0!==s?t[e]=s:"optional-catchall"!==a&&n.push({paramName:e,paramType:a})}let u=i;for(let e of(l&&"route-group"!==l.type&&"parallel-route"!==l.type&&u++,Object.values(o)))a.push({tree:e,depth:u})}}(t.userland.loaderTree,a,r,i);if(0===i.length)return null;let s=Math.random().toString(16).slice(2),o=new Map;for(let{paramName:e,paramType:t}of i)o.set(e,[`%%drp:${e}:${s}%%`,rm[t]]);return o}(a,e.componentMod.routeModule);for(let n=0;n<s.length;n++){let i,l=s[n];null==r||r(`Validating sample (${n+1}/${s.length}):`,l);try{i=await i_.consoleAsyncStorage.run({dim:!0},()=>sW(e,l,o,t))}catch(e){if((0,rd.R)(e))i=[e];else throw e}if(i.length>0){null==r||r(`❌ Sample failed validation (${i.length} errors)`);let e=s.length>1?` (sample ${n+1} of ${s.length})`:"";for(let e of i)console.error(e);return console.error(`Build-time instant validation failed for route "${a}"${e}.`),tz(a),!1}null==r||r("✅ Sample validated successfully")}return!0}async function sW(e,t,r,n){let i,s,{workStore:o}=e,l=e.componentMod.routeModule.userland.loaderTree,u=await sk(e.renderOpts,l),c=o.route,{createCookiesFromSample:d,createHeadersFromSample:f,createDraftModeForValidation:h,createRelativeURLFromSamples:p,createValidationSampleTracking:m}=a("./dist/esm/server/app-render/instant-validation/instant-samples.js"),g=p(c,t.params,t.searchParams),y=t.params??{},v=null;if(r){let e=new Map;for(let[t,n]of r)t in y||e.set(t,n);v=e}let b=sr(y,v,!1),S=nA(l,b);({query:s,...i}=g);let{AfterContext:w}=a("./dist/esm/server/after/after-context.js"),_={isStaticGeneration:!1,page:o.page,route:o.route,requestStartTime:o.requestStartTime,incrementalCache:o.incrementalCache,cacheLifeProfiles:o.cacheLifeProfiles,useCacheTimeout:o.useCacheTimeout,staticPageGenerationTimeout:o.staticPageGenerationTimeout,isBuildTimePrerendering:!1,fetchCache:o.fetchCache,isOnDemandRevalidate:!1,requestId:o.requestId,htmlRequestId:o.htmlRequestId,isDraftMode:!1,isPrefetchRequest:!1,buildId:o.buildId,deploymentId:o.deploymentId,reactLoadableManifest:o.reactLoadableManifest,assetPrefix:o.assetPrefix,nonce:o.nonce,afterContext:new w({waitUntil(e){e.catch(()=>{})},onClose(){},onTaskError(){}}),cacheComponentsEnabled:o.cacheComponentsEnabled,validationLevel:o.validationLevel,previouslyRevalidatedTags:[],refreshTagsByCacheKind:new Map,runInCleanSnapshot:o.runInCleanSnapshot,shouldTrackFetchMetrics:!1,reactServerErrorsByDigest:new Map};return C.workAsyncStorage.run(_,async()=>{let r={componentMod:e.componentMod,url:i,renderOpts:e.renderOpts,workStore:_,parsedRequestHeaders:e.parsedRequestHeaders,getDynamicParamFromSegment:b,interpolatedParams:y,fallbackRouteParams:v,query:s,isPrefetch:!1,isPossibleServerAction:!1,requestTimestamp:e.requestTimestamp,appUsingSizeAdjustment:e.appUsingSizeAdjustment,flightRouterState:void 0,requestId:e.requestId,htmlRequestId:e.htmlRequestId,pagePath:e.pagePath,assetPrefix:e.assetPrefix,isNotFoundPath:e.isNotFoundPath,nonce:e.nonce,res:e.res,sharedContext:e.sharedContext,implicitTags:e.implicitTags},a={params:t.params,searchParams:t.searchParams},o=()=>{let r=d(t.cookies,c),n=new en.VO(new Headers),i=f(t.headers,t.cookies,c),s=h();return{type:"request",phase:"render",implicitTags:e.implicitTags,url:{pathname:g.pathname,search:g.search},headers:i,cookies:r,mutableCookies:n,userspaceMutableCookies:n,draftMode:s,rootParams:S,validationSamples:a,validationSampleTracking:m(),resumeDataCache:null,stagedRendering:null,asyncApiPromises:void 0}},p=rh(!0,!0,_.reactServerErrorsByDigest,()=>{}),{accumulatedChunksPromise:w,startTime:E,stageController:R,requestStore:k}=await sz(u,r,o(),o,e=>tr.workUnitAsyncStorage.run(e,sm,l,r,{is404:!1}),e=>function(t){let r=rf(t);return r?r:e.aborted?void 0:p(t)},n),x=await w,P={[tP.Static]:R.getStageEndTime(tP.Static),[tP.ShellRuntime]:R.getStageEndTime(tP.ShellRuntime),[tP.Runtime]:R.getStageEndTime(tP.Runtime)},C=k.validationSampleTracking;if(C.missingSampleErrors.length>0)return C.missingSampleErrors;if(R.currentStage===tP.Abandoned&&R.syncInterruptReason)return[R.syncInterruptReason];let T=m(),A={componentMod:r.componentMod,getDynamicParamFromSegment:r.getDynamicParamFromSegment,query:r.query,implicitTags:r.implicitTags,nonce:r.nonce,workStore:r.workStore,renderOpts:{images:r.renderOpts.images,allowEmptyStaticShell:r.renderOpts.allowEmptyStaticShell},isDebugChannelEnabled:!!r.renderOpts.setReactDebugChannel};return(await sH("validation-client",x.dynamicChunks,x.dynamicChunks,S,v,A,a,T),T.missingSampleErrors.length>0)?T.missingSampleErrors:await sB(u,x,null,E,P,S,v,A,void 0,a,!1)})}function sG(e){let{isStaticGeneration:t}=e;return!!t}async function sJ(e,t,r,n,a,i,s,o,l,u,c,d,f,h){return r&&r.size>0?eE(e,{inlinedDataStream:n((await (0,im.d8)(c(u,[],d,{filterStackFrame:f,onError:h}))).consumeAsStream(),i,a),getServerInsertedHTML:s,getServerInsertedMetadata:o,deploymentId:l}):ew(e,{inlinedDataStream:n(t.consumeAsStream(),i,a),getServerInsertedHTML:s,getServerInsertedMetadata:o,deploymentId:l})}async function sK(e,t,r,a,i,s){let{assetPrefix:o,getDynamicParamFromSegment:l,implicitTags:u,nonce:c,pagePath:d,renderOpts:f,workStore:h}=r,{basePath:p,buildManifest:m,ComponentMod:g,crossOrigin:y,experimental:v,isDebugDynamicAccesses:b,isBuildTimePrerendering:S=!1,onInstrumentationRequestError:w,page:_,reactMaxHeadersLength:E,subresourceIntegrityManifest:R,cacheComponents:k}=f,{cachedNavigations:P}=f.experimental,C=(f.allowEmptyStaticShell??!1)||await i2(i),T=nA(i,l),{ServerInsertedHTMLProvider:A,renderServerInsertedHTML:O}=rK(),j=iT(c),I=iR((0,eo.getTracer)().getTracePropagationData(),v.clientTraceMetadata),D=m.polyfillFiles.filter(e=>e.endsWith(".js")&&!e.endsWith(".module.js")).map(e=>({src:`${o}/_next/${e}${r7(r,!1)}`,integrity:null==R?void 0:R[e],crossOrigin:y,noModule:!0,nonce:c})),[$,M]=rZ(m,o,y,R,r7(r,!0),c,_),U=m.pagesChunkGroupBootstrapParams&&m.chunkLoadingGlobal?N(m.pagesChunkGroupBootstrapParams,m.chunkLoadingGlobal,[_]):void 0;f.experimental.exposeTestingApi&&(U=(U?`${U};`:"")+await eq());let{reactServerErrorsByDigest:F}=h,q=!v.isRoutePPREnabled,B=rh(!1,S,F,function(t,n){if(q)return null==w?void 0:w(t,e,si(r,"react-server-components"),n)}),z=[],V=rp(!1,S,F,z,function(t){if(q)return null==w?void 0:w(t,e,si(r,"server-rendering"),!1)}),W=null,G=null,J=null,K=null,Y=e=>{a.headers??={},a.headers[e]=t.getHeader(e)},Q=(e,r)=>{Array.isArray(r)?r.forEach(r=>{t.appendHeader(e,r)}):t.appendHeader(e,r),Y(e)},Z=ix(v),{clientModules:ee}=(0,rA.QJ)(),et=null;try{if(k){let e,o,l,d=new AbortController,m=new AbortController,y=new AbortController,v=new iE,S=f.renderResumeDataCache??nX();G=null,J=S,K=null;let w={type:"prerender",phase:"render",rootParams:T,fallbackRouteParams:s,implicitTags:u,renderSignal:y.signal,controller:new AbortController,stagedRendering:null,cacheSignal:v,dynamicTracking:null,revalidate:H.AR,expire:H.AR,stale:H.AR,tags:[...u.tags],resumeDataCache:S,hmrRefreshHash:void 0,varyParamsAccumulator:null,runtimeDataAccessed:null,shouldAttemptStaticPrefetch:null,isFallbackUpgradeable:!0===f.isFallbackUpgradeable},_=await tr.workUnitAsyncStorage.run(w,sm,i,r,{is404:404===t.statusCode}),R=et={type:"prerender",phase:"render",rootParams:T,fallbackRouteParams:s,implicitTags:u,renderSignal:y.signal,controller:d,stagedRendering:null,cacheSignal:v,dynamicTracking:null,revalidate:H.AR,expire:H.AR,stale:H.AR,tags:[...u.tags],resumeDataCache:S,hmrRefreshHash:void 0,varyParamsAccumulator:null,runtimeDataAccessed:null,shouldAttemptStaticPrefetch:null,isFallbackUpgradeable:!0===f.isFallbackUpgradeable},N={filterStackFrame:n,onError:e=>{let t=rf(e);return t?t:rc(e)?void console.error(e):d.signal.aborted?void 0:void((process.env.NEXT_DEBUG_BUILD||process.env.__NEXT_VERBOSE_LOGGING)&&iy(e,h.route,ig.ProspectiveRender))},signal:m.signal},L=tr.workUnitAsyncStorage.run(R,eM(g),_,ee,N);if(m.signal.addEventListener("abort",()=>{y.abort(),d.abort()},{once:!0}),(0,iQ.trackPendingModules)(v),await v.cacheReady(),m.abort(),h.invalidDynamicUsageError)throw rr(h,h.invalidDynamicUsageError),new tR;try{e=await (0,im.PR)(L)}catch(e){m.signal.aborted||d.signal.aborted||(process.env.NEXT_DEBUG_BUILD||process.env.__NEXT_VERBOSE_LOGGING)&&iy(e,h.route,ig.ProspectiveRender)}if(e){let t=new AbortController,n=new AbortController,a=new AbortController,i={type:"prerender-client",phase:"render",rootParams:T,fallbackRouteParams:s,implicitTags:u,renderSignal:a.signal,controller:t,cacheSignal:null,dynamicTracking:null,revalidate:H.AR,expire:H.AR,stale:H.AR,tags:[...u.tags],resumeDataCache:S,hmrRefreshHash:void 0,varyParamsAccumulator:null},o=tr.workUnitAsyncStorage.run(i,eL,(0,x.jsx)(sv,{reactServerStream:e.asUnclosingStream(),reactDebugStream:void 0,debugEndTime:void 0,preinitScripts:$,ServerInsertedHTMLProvider:A,nonce:c,images:r.renderOpts.images}),{signal:n.signal,onError:e=>{let t=rf(e);return t?t:rc(e)?void console.error(e):void(n.signal.aborted||(process.env.NEXT_DEBUG_BUILD||process.env.__NEXT_VERBOSE_LOGGING)&&iy(e,h.route,ig.ProspectiveRender))},bootstrapScriptContent:U,bootstrapScripts:[M]});n.signal.addEventListener("abort",()=>{a.abort()},{once:!0}),o.catch(e=>{n.signal.aborted||tJ(e)||(process.env.NEXT_DEBUG_BUILD||process.env.__NEXT_VERBOSE_LOGGING)&&iy(e,h.route,ig.ProspectiveRender)}),(0,iQ.trackPendingModules)(v),await v.cacheReady(),tr.workUnitAsyncStorage.run(i,n.abort.bind(n))}let q=new AbortController,X=new AbortController,Y=nS(),er=new tO({abortSignal:X.signal,abandonController:null,syncIO:tA.AllowedInDynamic,finalStage:tP.Static}),en=(0,tx.b)(),ea={current:!0},ei={type:"prerender",phase:"render",rootParams:T,fallbackRouteParams:s,implicitTags:u,renderSignal:X.signal,controller:new AbortController,stagedRendering:er,cacheSignal:null,dynamicTracking:null,revalidate:H.AR,expire:H.AR,stale:H.AR,tags:[...u.tags],resumeDataCache:S,hmrRefreshHash:void 0,varyParamsAccumulator:Y,runtimeDataAccessed:en,shouldAttemptStaticPrefetch:ea,isFallbackUpgradeable:!0===f.isFallbackUpgradeable},es=(0,tx.b)(),eo=await tr.workUnitAsyncStorage.run(ei,sm,i,r,{is404:404===t.statusCode,shellByteLengthPromise:es.promise});P&&(eo.s=o=new ik),sG(h)&&(eo.u=en.promise);let el=tX(b),eu=!1,ec=et={type:"prerender",phase:"render",rootParams:T,fallbackRouteParams:s,implicitTags:u,renderSignal:X.signal,controller:q,stagedRendering:er,cacheSignal:null,dynamicTracking:el,revalidate:H.AR,expire:H.AR,stale:H.AR,tags:[...u.tags],resumeDataCache:S,hmrRefreshHash:void 0,varyParamsAccumulator:Y,runtimeDataAccessed:en,shouldAttemptStaticPrefetch:ea,isFallbackUpgradeable:!0===f.isFallbackUpgradeable};void 0!==o&&iP(ec,o,Z);let ed=sY(),ef=sQ(),eh=sP(),ep=e=>{sZ(ef,q.signal,e),sA(eh,er.currentStage,e)},em=!1,eg=()=>q.signal.aborted?(em||(em=!0,ey()),!0):!1,ey=()=>{eu=!0},ev=!1;await iw(async()=>{er.advanceStage(tP.ShellStatic);let e=tr.workUnitAsyncStorage.run(ec,g.renderToReadableStream,eo,ee,{filterStackFrame:n,onError:e=>B(e),signal:q.signal});q.signal.addEventListener("abort",()=>{X.abort()},{once:!0}),await s0(e,q.signal,ep,ed)},()=>{eg()||er.advanceStage(tP.Static)},()=>{eg()||(ev=eh.staticChunks.length>eh.shellStaticChunks.length,void 0!==o&&o.close(),en.resolve(!1),nE(Y),es.resolve(ev?eh.shellStaticChunks.reduce((e,t)=>e+t.byteLength,0):null))},()=>{eg()||(ed.isPending&&(eu=!0),tr.workUnitAsyncStorage.run(ec,q.abort.bind(q)))}),rn(h,el);let eb=W=new im.l8(ef.prerenderChunks);if(G=eu,K=ec,sG(h)){a.flightData=Buffer.concat(P?sd(eb.asChunks(),eu):eb.asChunks());let e=P?a.flightData.subarray(1):a.flightData;await s2(e,ec,g,f,r.pagePath,a)}let eS=tX(b),ew=new AbortController,eE=new AbortController,eR={type:"prerender-client",phase:"render",rootParams:T,fallbackRouteParams:s,implicitTags:u,renderSignal:eE.signal,controller:ew,cacheSignal:null,dynamicTracking:eS,revalidate:H.AR,expire:H.AR,stale:H.AR,tags:[...u.tags],resumeDataCache:S,hmrRefreshHash:void 0,varyParamsAccumulator:null},ek=tW(),eP=eO(Q),{prelude:eD,postponed:e$}=await iw(()=>{let e=eb.asUnclosingStream(),t=tr.workUnitAsyncStorage.run(eR,eL,(0,x.jsx)(sv,{reactServerStream:e,reactDebugStream:void 0,debugEndTime:l,preinitScripts:$,ServerInsertedHTMLProvider:A,nonce:c,images:r.renderOpts.images}),{signal:ew.signal,onError:(e,t)=>{if(tJ(e)||ew.signal.aborted){let r=t.componentStack;"string"==typeof r&&t6(e,h,r,ek,eS);return}return V(e,t)},onHeaders:eP,maxHeadersLength:E,bootstrapScriptContent:U,bootstrapScripts:[M]});return ew.signal.addEventListener("abort",()=>{eE.abort()},{once:!0}),t},()=>{tr.workUnitAsyncStorage.run(eR,ew.abort.bind(ew))});a.hasPendingUi=null!=e$;let{prelude:eN,preludeIsEmpty:eU}=await eC(eD);ra(h,eU?rt.Empty:rt.Full,ek,el,C);let eF=r0({polyfills:D,renderServerInsertedHTML:O,serverCapturedErrors:z,basePath:p,tracingMetadata:I}),eH=eN;if(eu)return null!=e$?a.postponed=await nK(e$,eU?nJ.Empty:nJ.Full,s,S,k):a.postponed=await nY(S,k),eb.consume(),{digestErrorsMap:F,ssrErrors:z,stream:await e_(eH,{getServerInsertedHTML:eF,getServerInsertedMetadata:j,deploymentId:r.sharedContext.deploymentId}),dynamicAccess:tK(el,eS),collectedRevalidate:ec.revalidate,collectedExpire:ec.expire,collectedStale:Z(ec.stale),collectedTags:ec.tags,renderResumeDataCache:nW(S)};if(null!=e$){let e=eA(),t=await tr.workUnitAsyncStorage.run(ec,ej,(0,x.jsx)(sv,{reactServerStream:e,reactDebugStream:void 0,debugEndTime:void 0,preinitScripts:()=>{},ServerInsertedHTMLProvider:A,nonce:c,images:r.renderOpts.images}),JSON.parse(JSON.stringify(e$)),{signal:tY(),onError:V,nonce:c});eH=ex(eN,t)}if(h.forceDynamic)throw Object.defineProperty(new tR('Invariant: a Page with `dynamic = "force-dynamic"` did not trigger the dynamic pathway. This is a bug in Next.js'),"__NEXT_ERROR_CODE",{value:"E598",enumerable:!1,configurable:!0});let eq=await sJ(eH,eb,s,eT,null,c,eF,j,r.sharedContext.deploymentId,g,eI,ee,n,B);return{digestErrorsMap:F,ssrErrors:z,stream:eq,dynamicAccess:tK(el,eS),collectedRevalidate:ec.revalidate,collectedExpire:ec.expire,collectedStale:Z(ec.stale),collectedTags:ec.tags,renderResumeDataCache:nW(S)}}if(v.isRoutePPREnabled){let e,o=tX(b),l=nX(),d=et={type:"prerender-ppr",phase:"render",rootParams:T,fallbackRouteParams:s,implicitTags:u,dynamicTracking:o,revalidate:H.AR,expire:H.AR,stale:H.AR,tags:[...u.tags],resumeDataCache:l},m=await tr.workUnitAsyncStorage.run(d,sm,i,r,{is404:404===t.statusCode});e=W=await (0,im.d8)(tr.workUnitAsyncStorage.run(d,eI,g,m,ee,{filterStackFrame:n,onError:B}));let y={type:"prerender-ppr",phase:"render",rootParams:T,fallbackRouteParams:s,implicitTags:u,dynamicTracking:o,revalidate:H.AR,expire:H.AR,stale:H.AR,tags:[...u.tags],resumeDataCache:l},v=eO(Q),{prelude:S,postponed:w}=await tr.workUnitAsyncStorage.run(y,eL,(0,x.jsx)(sv,{reactServerStream:e.asUnclosingStream(),reactDebugStream:void 0,debugEndTime:void 0,preinitScripts:$,ServerInsertedHTMLProvider:A,nonce:c,images:r.renderOpts.images}),{onError:V,onHeaders:v,maxHeadersLength:E,bootstrapScriptContent:U,bootstrapScripts:[M]});a.hasPendingUi=null!=w;let _=r0({polyfills:D,renderServerInsertedHTML:O,serverCapturedErrors:z,basePath:p,tracingMetadata:I}),R=await ek(e.asStream());sG(h)&&(a.flightData=R,await s2(R,y,g,f,r.pagePath,a));let{prelude:P,preludeIsEmpty:C}=await eC(S);if(o.dynamicAccesses.length>0){null!=w?a.postponed=await nK(w,C?nJ.Empty:nJ.Full,s,l,k):a.postponed=await nY(l,k),e.consume();let t={getServerInsertedHTML:_,getServerInsertedMetadata:j,deploymentId:r.sharedContext.deploymentId};return{digestErrorsMap:F,ssrErrors:z,stream:await e_(P,t),dynamicAccess:o.dynamicAccesses,collectedRevalidate:d.revalidate,collectedExpire:d.expire,collectedStale:Z(d.stale),collectedTags:d.tags}}if(s&&s.size>0){a.postponed=await nY(l,k);let e={getServerInsertedHTML:_,getServerInsertedMetadata:j,deploymentId:r.sharedContext.deploymentId};return{digestErrorsMap:F,ssrErrors:z,stream:await e_(P,e),dynamicAccess:o.dynamicAccesses,collectedRevalidate:d.revalidate,collectedExpire:d.expire,collectedStale:Z(d.stale),collectedTags:d.tags}}{if(h.forceDynamic)throw Object.defineProperty(new tR('Invariant: a Page with `dynamic = "force-dynamic"` did not trigger the dynamic pathway. This is a bug in Next.js'),"__NEXT_ERROR_CODE",{value:"E598",enumerable:!1,configurable:!0});let t=P;if(null!=w){let e=eA(),n=await ej((0,x.jsx)(sv,{reactServerStream:e,reactDebugStream:void 0,debugEndTime:void 0,preinitScripts:()=>{},ServerInsertedHTMLProvider:A,nonce:c,images:r.renderOpts.images}),JSON.parse(JSON.stringify(w)),{signal:tY(),onError:V,nonce:c});t=ex(P,n)}return{digestErrorsMap:F,ssrErrors:z,stream:await ew(t,{inlinedDataStream:eT(e.consumeAsStream(),c,null),getServerInsertedHTML:_,getServerInsertedMetadata:j,deploymentId:r.sharedContext.deploymentId}),dynamicAccess:o.dynamicAccesses,collectedRevalidate:d.revalidate,collectedExpire:d.expire,collectedStale:Z(d.stale),collectedTags:d.tags}}}{let e,s=et={type:"prerender-legacy",phase:"render",rootParams:T,implicitTags:u,revalidate:H.AR,expire:H.AR,stale:H.AR,tags:[...u.tags]},o=await tr.workUnitAsyncStorage.run(s,sm,i,r,{is404:404===t.statusCode});e=W=await (0,im.d8)(tr.workUnitAsyncStorage.run(s,eI,g,o,ee,{filterStackFrame:n,onError:B}));let{stream:l}=await tr.workUnitAsyncStorage.run(s,e$,(0,x.jsx)(sv,{reactServerStream:e.asUnclosingStream(),reactDebugStream:void 0,debugEndTime:void 0,preinitScripts:$,ServerInsertedHTMLProvider:A,nonce:c,images:r.renderOpts.images}),{onError:V,nonce:c,bootstrapScriptContent:U,bootstrapScripts:[M]},{waitForAllReady:!0});if(sG(h)){let t=await ek(e.asStream());a.flightData=t,await s2(t,s,g,f,r.pagePath,a)}let d=r0({polyfills:D,renderServerInsertedHTML:O,serverCapturedErrors:z,basePath:p,tracingMetadata:I});return{digestErrorsMap:F,ssrErrors:z,stream:await eS(l,{inlinedDataStream:eT(e.consumeAsStream(),c,null),isStaticGeneration:!0,getServerInsertedHTML:d,getServerInsertedMetadata:j,deploymentId:r.sharedContext.deploymentId}),collectedRevalidate:s.revalidate,collectedExpire:s.expire,collectedStale:Z(s.stale),collectedTags:s.tags}}}catch($){let e;if(tk($)||"object"==typeof $&&null!==$&&"message"in $&&"string"==typeof $.message&&$.message.includes("https://nextjs.org/docs/advanced-features/static-html-export"))throw $;if(tw($))throw $;if(tS($)){let e=tg($);throw(0,rT.z3)(`${$.reason} should be wrapped in a suspense boundary at page "${d}". Read more: https://nextjs.org/docs/messages/missing-suspense-with-csr-bailout
|
|
182
|
-
${e}`),$}if(null===W)throw $;let l=e6($),v=te($);if(l)t.statusCode=e9($),a.statusCode=t.statusCode,e=e5(t.statusCode);else if(v){var er;e="redirect",t.statusCode=ti($),a.statusCode=t.statusCode,er=X(tn($),p),t.setHeader("location",er),Y("location")}else t.statusCode=500,a.statusCode=t.statusCode;if(k&&!l&&!v)throw F.get($.digest)??$;let[S,w]=rZ(m,o,y,R,r7(r,!1),c,L),_=m.pagesChunkGroupBootstrapParams&&m.chunkLoadingGlobal?N(m.pagesChunkGroupBootstrapParams,m.chunkLoadingGlobal,[L]):void 0;if(k){let t=W,o=G,l=J,d=K;if(null===t)throw Object.defineProperty(new ey.z("Cache Components error recovery expected an original Flight prerender result"),"__NEXT_ERROR_CODE",{value:"E1283",enumerable:!1,configurable:!0});if(null===o)throw Object.defineProperty(new ey.z("Cache Components error recovery expected to know whether the original Flight prerender result was dynamic"),"__NEXT_ERROR_CODE",{value:"E1282",enumerable:!1,configurable:!0});if(null===l)throw Object.defineProperty(new ey.z("Cache Components error recovery expected an original resume data cache"),"__NEXT_ERROR_CODE",{value:"E1285",enumerable:!1,configurable:!0});if(null===d)throw Object.defineProperty(new ey.z("Cache Components error recovery expected an original prerender store"),"__NEXT_ERROR_CODE",{value:"E1284",enumerable:!1,configurable:!0});let m=Z(d.stale),y=new AbortController,v=new AbortController,E=tX(b),R={type:"prerender",phase:"render",rootParams:T,fallbackRouteParams:s,implicitTags:u,renderSignal:v.signal,controller:y,stagedRendering:null,cacheSignal:null,dynamicTracking:E,revalidate:void 0!==(null==et?void 0:et.revalidate)?et.revalidate:H.AR,expire:void 0!==(null==et?void 0:et.expire)?et.expire:H.AR,stale:void 0!==(null==et?void 0:et.stale)?et.stale:H.AR,tags:[...(null==et?void 0:et.tags)||u.tags],resumeDataCache:l,hmrRefreshHash:void 0,varyParamsAccumulator:null,runtimeDataAccessed:null,shouldAttemptStaticPrefetch:null,isFallbackUpgradeable:!0===f.isFallbackUpgradeable},P=await tr.workUnitAsyncStorage.run(R,sy,i,r,F.has($.digest)?void 0:$,e,!1),C=await (0,im.PR)(iw(async()=>{let e=tr.workUnitAsyncStorage.run(R,eM(g),P,ee,{filterStackFrame:n,signal:y.signal,onError:e=>B(e)});return y.signal.addEventListener("abort",()=>{v.abort()},{once:!0}),await e},()=>{y.signal.aborted||tr.workUnitAsyncStorage.run(R,y.abort.bind(y))}));try{let e=new AbortController,i=new AbortController,f=tX(b),y=tW(),v={type:"prerender-client",phase:"render",rootParams:T,fallbackRouteParams:s,implicitTags:u,renderSignal:i.signal,controller:e,cacheSignal:null,dynamicTracking:f,revalidate:R.revalidate,expire:R.expire,stale:R.stale,tags:[...R.tags||u.tags],resumeDataCache:l,hmrRefreshHash:void 0,varyParamsAccumulator:null},{prelude:P,postponed:$}=await iw(()=>{let t=tr.workUnitAsyncStorage.run(v,eL,(0,x.jsx)(sb,{reactServerStream:C.asUnclosingStream(),ServerInsertedHTMLProvider:A,preinitScripts:S,nonce:c,images:r.renderOpts.images}),{nonce:c,bootstrapScriptContent:_,bootstrapScripts:[w],formState:null,signal:e.signal,onError:(t,r)=>{if(tJ(t)||e.signal.aborted){let e=r.componentStack;"string"==typeof e&&t6(t,h,e,y,f);return}return V(t,r)}});return e.signal.addEventListener("abort",()=>{i.abort()},{once:!0}),t},()=>{tr.workUnitAsyncStorage.run(v,e.abort.bind(e))});a.hasPendingUi=null!=$;let{prelude:N,preludeIsEmpty:M}=await eC(P);if(M)throw console.error(`Route "${h.route}" did not produce a static shell while rendering its error page.`),ra(h,rt.Empty,y,E,!1),new tR;let L=r0({polyfills:D,renderServerInsertedHTML:O,serverCapturedErrors:[],basePath:p,tracingMetadata:I}),U=N;if(o)return a.postponed=await nY(l,k),t.consume(),C.consume(),{digestErrorsMap:F,ssrErrors:z,stream:await e_(U,{getServerInsertedHTML:L,getServerInsertedMetadata:j,deploymentId:r.sharedContext.deploymentId}),dynamicAccess:tK(E,f),collectedRevalidate:d.revalidate,collectedExpire:d.expire,collectedStale:m,collectedTags:d.tags,renderResumeDataCache:nW(l)};if(null!=$){let e=eA(),t=await tr.workUnitAsyncStorage.run(R,ej,(0,x.jsx)(sb,{reactServerStream:e,ServerInsertedHTMLProvider:A,preinitScripts:()=>{},nonce:c,images:r.renderOpts.images}),JSON.parse(JSON.stringify($)),{signal:tY(),onError:V,nonce:c});U=ex(N,t)}if(h.forceDynamic)throw Object.defineProperty(new tR('Invariant: a Page with `dynamic = "force-dynamic"` did not trigger the dynamic pathway. This is a bug in Next.js'),"__NEXT_ERROR_CODE",{value:"E598",enumerable:!1,configurable:!0});let H=await sJ(U,t,s,eT,null,c,L,j,r.sharedContext.deploymentId,g,eI,ee,n,B);return C.consume(),{digestErrorsMap:F,ssrErrors:z,stream:H,dynamicAccess:tK(E,f),collectedRevalidate:d.revalidate,collectedExpire:d.expire,collectedStale:m,collectedTags:d.tags,renderResumeDataCache:nW(l)}}catch(e){throw e}}let E={type:"prerender-legacy",phase:"render",rootParams:T,implicitTags:u,revalidate:void 0!==(null==et?void 0:et.revalidate)?et.revalidate:H.AR,expire:void 0!==(null==et?void 0:et.expire)?et.expire:H.AR,stale:void 0!==(null==et?void 0:et.stale)?et.stale:H.AR,tags:[...(null==et?void 0:et.tags)||u.tags]},P=await tr.workUnitAsyncStorage.run(E,sy,i,r,F.has($.digest)?void 0:$,e,!0),C=tr.workUnitAsyncStorage.run(E,eI,g,P,ee,{filterStackFrame:n,onError:B});try{let{stream:e}=await tr.workUnitAsyncStorage.run(E,e$,(0,x.jsx)(sb,{reactServerStream:C,ServerInsertedHTMLProvider:A,preinitScripts:S,nonce:c,images:r.renderOpts.images}),{nonce:c,bootstrapScriptContent:_,bootstrapScripts:[w],formState:null},{waitForAllReady:!0});if(sG(h)){let e=await ek(W.asStream());a.flightData=e,await s2(e,E,g,f,r.pagePath,a)}return{digestErrorsMap:F,ssrErrors:z,stream:await eS(e,{inlinedDataStream:eT(W.consumeAsStream(),c,null),isStaticGeneration:!0,getServerInsertedHTML:r0({polyfills:D,renderServerInsertedHTML:O,serverCapturedErrors:[],basePath:p,tracingMetadata:I}),getServerInsertedMetadata:j,validateRootLayout:!1,deploymentId:r.sharedContext.deploymentId}),dynamicAccess:null,collectedRevalidate:E.revalidate,collectedExpire:E.expire,collectedStale:Z(E.stale),collectedTags:E.tags}}catch(e){throw e}}}function sY(){let e;return{get isPending(){if(void 0===e)throw Object.defineProperty(new ey.z("Expected stream state to be initialized before reading"),"__NEXT_ERROR_CODE",{value:"E1281",enumerable:!1,configurable:!0});return e},set isPending(value){e=value}}}function sQ(){return{prerenderChunks:[],allChunks:null}}function sZ(e,t,r){var n;t.aborted||e.prerenderChunks.push(r),null==(n=e.allChunks)||n.push(r)}async function s0(e,t,r,n){if(e instanceof ReadableStream){let a=e.getReader();for(n&&(n.isPending=!0),t.addEventListener("abort",()=>{a.cancel(t.reason)},{once:!0});;){let{done:e,value:t}=await a.read();if(e)break;r(t)}n&&(n.isPending=!1)}else{n&&(n.isPending=!0);let a=!1;t.addEventListener("abort",()=>{a||(a=!0,e.destroy())},{once:!0});try{for await(let t of e){if(a)break;r(t)}}catch(e){if(!a)throw e}n&&(n.isPending=!1)}}new WeakSet,Symbol("VALIDATION_BAILOUT");let s1=async(e,t)=>{let r=r5(e).modules["global-error"];if(!r)throw Object.defineProperty(Error("Invariant: global-error module is required but not found in loader tree"),"__NEXT_ERROR_CODE",{value:"E983",enumerable:!1,configurable:!0});let{componentMod:{createElement:n}}=t,[a,i]=await nt({ctx:t,filePath:r[1],getComponent:r[0],injectedCSS:new Set,injectedJS:new Set});return{GlobalError:a,styles:i}};async function s2(e,t,r,n,a,i){let s,{clientModules:o,edgeRscModuleMapping:l,rscModuleMapping:u}=(0,rA.QJ)(),c={moduleLoading:null,moduleMap:u,serverModuleMap:(0,rA.a1)()},d=ix(n.experimental)(t.stale),f=n.experimental.prefetchInlining;if(n.isBuildTimePrerendering){let n="prerender"===t.type?t.shouldAttemptStaticPrefetch:null,a=null!==n&&n.current;f||a?i.prefetchHints=s=await r.collectPrefetchHints(e,d,o,c,f,a):s=null}else{var h;let e=null==(h=n.prefetchHints)?void 0:h[a];s=void 0===e?f&&n.cacheComponents?{hints:P.hT.PrefetchDisabled,slots:null}:null:e}let p="fallbackRouteParams"in t?t.fallbackRouteParams:null,m=null!=p&&p.size>0&&!0===n.isFallbackUpgradeable;i.segmentData=await r.collectSegmentData(n.cacheComponents,e,d,o,c,!!n.experimental.prefetchInlining,s,m)}require("next/dist/build/adapter/setup-node-env.external.js"),a("./dist/esm/shared/lib/modern-browserslist-target.js");let s3="build-manifest.json";function s4(e){return(0,G.m)(e||"/","/_next/data")?"/index"===(e=e.replace(/\/_next\/data\/[^/]{1,}/,"").replace(/\.json$/,""))?"/":e:e}[...process?.features?.typescript?["next.config.mts"]:[]],Symbol("polyfills");let s8=Symbol("next.patchSetHeaderWithCookieSupport"),s6=["ico","jpg","jpeg","png","svg"],s9=["jpg","jpeg","png"],s5=["jpg","jpeg","png","gif"],s7=["jpg","jpeg","png","gif"],oe=(e,t)=>t&&0!==t.length?`(?:\\.(${e.join("|")})|(\\.(${t.join("|")})))`:`(\\.(?:${e.join("|")}))`,ot=/^[\\/]favicon\.ico$/,or=/^[\\/]robots\.txt$/,on=/^[\\/]manifest\.json$/,oa=/^[\\/]manifest\.webmanifest$/,oi=/[\\/]sitemap\.xml$/,os=new Map;var oo=a("./dist/esm/shared/lib/isomorphic/path.js"),ol=a.n(oo),ou=a("./tags-manifest.external");class oc{constructor(e){this.fs=e,this.tasks=[]}findOrCreateTask(e){for(let t of this.tasks)if(t[0]===e)return t;let t=this.fs.mkdir(e);t.catch(()=>{});let r=[e,t,[]];return this.tasks.push(r),r}append(e,t){let r=this.findOrCreateTask(ol().dirname(e)),n=r[1].then(()=>this.fs.writeFile(e,t));n.catch(()=>{}),r[2].push(n)}wait(){return Promise.all(this.tasks.flatMap(e=>e[2]))}}let od=require("next/dist/server/lib/incremental-cache/memory-cache.external.js");class of{static #e=this.debug=!!process.env.NEXT_PRIVATE_DEBUG_CACHE;constructor(e){this.fs=e.fs,this.flushToDisk=e.flushToDisk,this.serverDistDir=e.serverDistDir,this.revalidatedTags=e.revalidatedTags,e.maxMemoryCacheSize?of.memoryCache?of.debug&&console.log("FileSystemCache: memory store already initialized"):(of.debug&&console.log("FileSystemCache: using memory store for fetch cache"),of.memoryCache=(0,od.getMemoryCache)(e.maxMemoryCacheSize)):of.debug&&console.log("FileSystemCache: not using memory store for fetch cache")}resetRequestCache(){}async revalidateTag(e,t){if(e="string"==typeof e?[e]:e,of.debug&&console.log("FileSystemCache: revalidateTag",e,t),0===e.length)return;let r=Date.now();for(let n of e){let e=ou.tagsManifest.get(n)||{};if(t){let a={...e};a.stale=r,void 0!==t.expire&&(a.expired=r+1e3*t.expire),ou.tagsManifest.set(n,a)}else ou.tagsManifest.set(n,{...e,expired:r})}}async get(...e){var t,r,n,a,i,s,o,l,u;let[c,d]=e,{kind:f}=d,h=null==(t=of.memoryCache)?void 0:t.get(c);if(of.debug&&(f===nl.FETCH?console.log("FileSystemCache: get",c,d.tags,f,!!h):console.log("FileSystemCache: get",c,f,!!h)),!h)try{if(f===nl.APP_ROUTE){let e=this.getFilePath(`${c}.body`,nl.APP_ROUTE),t=await this.fs.readFile(e),{mtime:r}=await this.fs.stat(e),n=JSON.parse(await this.fs.readFile(e.replace(/\.body$/,H.EP),"utf8"));h={lastModified:r.getTime(),value:{kind:no.APP_ROUTE,body:t,headers:n.headers,status:n.status}}}else{let e=this.getFilePath(f===nl.FETCH?c:`${c}.html`,f),t=await this.fs.readFile(e,"utf8"),{mtime:r}=await this.fs.stat(e);if(f===nl.FETCH){let{tags:e,fetchIdx:n,fetchUrl:a}=d;if(!this.flushToDisk)return null;let i=r.getTime(),l=JSON.parse(t);if(h={lastModified:i,value:l},(null==(s=h.value)?void 0:s.kind)===no.FETCH){let t=null==(o=h.value)?void 0:o.tags;(null==e?void 0:e.every(e=>null==t?void 0:t.includes(e)))||(of.debug&&console.log("FileSystemCache: tags vs storedTags mismatch",e,t),await this.set(c,h.value,{fetchCache:!0,tags:e,fetchIdx:n,fetchUrl:a}))}}else if(f===nl.APP_PAGE){let n,a,i;try{n=JSON.parse(await this.fs.readFile(e.replace(/\.html$/,H.EP),"utf8"))}catch{}if(null==n?void 0:n.segmentPaths){let e=new Map;a=e;let t=c+H.mH;await Promise.all(n.segmentPaths.map(async r=>{let n=this.getFilePath(t+r+H.tz,nl.APP_PAGE);try{e.set(r,await this.fs.readFile(n))}catch{}}))}d.isFallback||d.isRoutePPREnabled&&(null==n?void 0:n.postponed)!=null||(i=await this.fs.readFile(this.getFilePath(`${c}${H.RM}`,nl.APP_PAGE))),h={lastModified:r.getTime(),value:{kind:no.APP_PAGE,html:t,rscData:i,postponed:null==n?void 0:n.postponed,headers:null==n?void 0:n.headers,status:null==n?void 0:n.status,segmentData:a}}}else if(f===nl.PAGES){let e,n={};d.isFallback||(n=JSON.parse(await this.fs.readFile(this.getFilePath(`${c}${H.x3}`,nl.PAGES),"utf8"))),h={lastModified:r.getTime(),value:{kind:no.PAGES,html:t,pageData:n,headers:null==e?void 0:e.headers,status:null==e?void 0:e.status}}}else throw Object.defineProperty(Error(`Invariant: Unexpected route kind ${f} in file system cache.`),"__NEXT_ERROR_CODE",{value:"E445",enumerable:!1,configurable:!0})}h&&(null==(l=of.memoryCache)||l.set(c,h))}catch{return null}if((null==h?void 0:null==(r=h.value)?void 0:r.kind)===no.APP_PAGE||(null==h?void 0:null==(n=h.value)?void 0:n.kind)===no.APP_ROUTE||(null==h?void 0:null==(a=h.value)?void 0:a.kind)===no.PAGES){let e=null==(u=h.value.headers)?void 0:u[H.VC];if("string"==typeof e){let t=e.split(",");if(t.length>0&&(0,ou.areTagsExpired)(t,h.lastModified))return of.debug&&console.log("FileSystemCache: expired tags",t),null}}else if((null==h?void 0:null==(i=h.value)?void 0:i.kind)===no.FETCH){let e=d.kind===nl.FETCH?[...d.tags||[],...d.softTags||[]]:[];if(e.some(e=>this.revalidatedTags.includes(e)))return of.debug&&console.log("FileSystemCache: was revalidated",e),null;if((0,ou.areTagsExpired)(e,h.lastModified))return of.debug&&console.log("FileSystemCache: expired tags",e),null}return h??null}async set(e,t,r){var n;if(null==(n=of.memoryCache)||n.set(e,{value:t,lastModified:Date.now()}),of.debug&&console.log("FileSystemCache: set",e),!this.flushToDisk||!t)return;let a=new oc(this.fs);if(t.kind===no.APP_ROUTE){let r=this.getFilePath(`${e}.body`,nl.APP_ROUTE);a.append(r,t.body);let n={headers:t.headers,status:t.status,postponed:void 0,segmentPaths:void 0,prefetchHints:void 0};a.append(r.replace(/\.body$/,H.EP),JSON.stringify(n,null,2))}else if(t.kind===no.PAGES||t.kind===no.APP_PAGE){let n=t.kind===no.APP_PAGE,i=this.getFilePath(`${e}.html`,n?nl.APP_PAGE:nl.PAGES);if(a.append(i,t.html),r.fetchCache||r.isFallback||r.isRoutePPREnabled||a.append(this.getFilePath(`${e}${n?H.RM:H.x3}`,n?nl.APP_PAGE:nl.PAGES),n?t.rscData:JSON.stringify(t.pageData)),(null==t?void 0:t.kind)===no.APP_PAGE){let e;if(t.segmentData){e=[];let r=i.replace(/\.html$/,H.mH);for(let[n,i]of t.segmentData){e.push(n);let t=r+n+H.tz;a.append(t,i)}}let r={headers:t.headers,status:t.status,postponed:t.postponed,segmentPaths:e,prefetchHints:void 0};a.append(i.replace(/\.html$/,H.EP),JSON.stringify(r))}}else if(t.kind===no.FETCH){let n=this.getFilePath(e,nl.FETCH);a.append(n,JSON.stringify({...t,tags:r.fetchCache?r.tags:[]}))}await a.wait()}getFilePath(e,t){switch(t){case nl.FETCH:return ol().join(this.serverDistDir,"..","cache","fetch-cache",e);case nl.PAGES:return ol().join(this.serverDistDir,"pages",e);case nl.IMAGE:case nl.APP_PAGE:case nl.APP_ROUTE:return ol().join(this.serverDistDir,"app",e);default:throw Object.defineProperty(Error(`Unexpected file path kind: ${t}`),"__NEXT_ERROR_CODE",{value:"E479",enumerable:!1,configurable:!0})}}}function oh(e){return e.replace(/(?:\/index)?\/?$/,"")||"/"}let op=require("next/dist/server/lib/incremental-cache/shared-cache-controls.external.js");function om(e){let t="buffer"in e?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e),r="";for(let e of t)r+=e.toString(16).padStart(2,"0");return r}async function og(e){return a("crypto").createHash("sha256").update(e).digest("hex")}class oy{static #e=this.debug=!!process.env.NEXT_PRIVATE_DEBUG_CACHE;constructor({fs:e,dev:t,flushToDisk:r,minimalMode:n,serverDistDir:a,requestHeaders:i,maxMemoryCacheSize:s,getPrerenderManifest:o,fetchCacheKeyPrefix:l,CurCacheHandler:u,allowedRevalidateHeaderKeys:c}){var d,f,h,p;this.locks=new Map,this.hasCustomCacheHandler=!!u;const m=Symbol.for("@next/cache-handlers"),g=globalThis;if(u)oy.debug&&console.log("IncrementalCache: using custom cache handler",u.name);else{const t=g[m];(null==t?void 0:t.FetchCache)?(u=t.FetchCache,oy.debug&&console.log("IncrementalCache: using global FetchCache cache handler")):e&&a&&(oy.debug&&console.log("IncrementalCache: using filesystem cache handler"),u=of)}process.env.__NEXT_TEST_MAX_ISR_CACHE&&(s=parseInt(process.env.__NEXT_TEST_MAX_ISR_CACHE,10)),this.dev=t,this.disableForTestmode="true"===process.env.NEXT_PRIVATE_TEST_PROXY,this.minimalMode=n,this.requestHeaders=i,this.allowedRevalidateHeaderKeys=c,this.prerenderManifest=o(),this.cacheControls=new op.SharedCacheControls(this.prerenderManifest),this.fetchCacheKeyPrefix=l;let y=[];i[H.kz]===(null==(f=this.prerenderManifest)?void 0:null==(d=f.preview)?void 0:d.previewModeId)&&(this.isOnDemandRevalidate=!0),n&&(y=this.revalidatedTags=iY(i,null==(p=this.prerenderManifest)?void 0:null==(h=p.preview)?void 0:h.previewModeId)),u&&(this.cacheHandler=new u({dev:t,fs:e,flushToDisk:r,serverDistDir:a,revalidatedTags:y,maxMemoryCacheSize:s,_requestHeaders:i,fetchCacheKeyPrefix:l}))}calculateRevalidate(e,t,r,n){if(r)return Math.floor(performance.timeOrigin+performance.now()-1e3);let a=this.cacheControls.get(oh(e)),i=a?a.revalidate:n?!1:1;return"number"==typeof i?1e3*i+t:i}_getPathname(e,t){return t?e:$(e)}resetRequestCache(){var e,t;null==(t=this.cacheHandler)||null==(e=t.resetRequestCache)||e.call(t)}async lock(e){for(;;){let t=this.locks.get(e);if(oy.debug&&console.log("IncrementalCache: lock get",e,!!t),!t)break;await t}let{resolve:t,promise:r}=new es.q;return oy.debug&&console.log("IncrementalCache: successfully locked",e),this.locks.set(e,r),()=>{t(),this.locks.delete(e)}}async revalidateTag(e,t){var r;return null==(r=this.cacheHandler)?void 0:r.revalidateTag(e,t)}async generateSimpleCacheKey(e){return og(JSON.stringify(["v4",this.fetchCacheKeyPrefix||"",e]))}async generateCacheKey(e,t={}){let r=[],n=new TextEncoder,a=null,i=t.body;if(i)if("object"==typeof i&&"byteLength"in i)r.push(`bytes:${om(i)}`),t._ogBody=i;else if("function"==typeof i.getReader){let e=[];try{await i.pipeTo(new WritableStream({write(t){e.push("string"==typeof t?n.encode(t):t)}}));let a=e.reduce((e,t)=>e+t.length,0),s=new Uint8Array(a),o=0;for(let t of e)s.set(t,o),o+=t.length;r.push(`bytes:${om(s)}`),t._ogBody=s}catch(e){console.error("Problem reading body",e)}}else if("function"==typeof i.keys)for(let[e,n]of(a="[object FormData]"===String(i)?"multipart/form-data; boundary=":"application/x-www-form-urlencoded;charset=UTF-8",t._ogBody=i,i.entries()))r.push(`key:${e}`),"string"==typeof n?r.push(`str:${n}`):r.push("file",n.name,n.type,`bytes:${om(await n.arrayBuffer())}`);else if("function"==typeof i.arrayBuffer){let e=await i.arrayBuffer();r.push("blob",i.type,`bytes:${om(e)}`),t._ogBody=new Blob([e],{type:i.type}),a=i.type}else if("string"==typeof i)r.push(`str:${i}`),t._ogBody=i,a="text/plain;charset=UTF-8";else throw Object.defineProperty(Error(`Unsupported body type: ${typeof i}`),"__NEXT_ERROR_CODE",{value:"E1443",enumerable:!1,configurable:!0});let s="function"==typeof(t.headers||{}).keys?Object.fromEntries(t.headers):Object.assign({},t.headers);return"traceparent"in s&&delete s.traceparent,"tracestate"in s&&delete s.tracestate,og(JSON.stringify(["v4",this.fetchCacheKeyPrefix||"",e,t.method,a,s,t.mode,t.redirect,t.credentials,t.referrer,t.referrerPolicy,t.integrity,t.cache,r]))}async get(e,t){var r,n,a,i,s,o,l;let u,c;if(t.kind===nl.FETCH){let r=tr.workUnitAsyncStorage.getStore(),n=r?(0,tr.getResumeDataCache)(r):null;if(n){let r=n.fetch.get(e);if((null==r?void 0:r.kind)===no.FETCH){let n=C.workAsyncStorage.getStore();if(![...t.tags||[],...t.softTags||[]].some(e=>{var t,r;return(null==(t=this.revalidatedTags)?void 0:t.includes(e))||(null==n?void 0:null==(r=n.pendingRevalidatedTags)?void 0:r.some(t=>t.tag===e))}))return oy.debug&&console.log("IncrementalCache: rdc:hit",e),{isStale:!1,value:r};oy.debug&&console.log("IncrementalCache: rdc:revalidated-tag",e)}else oy.debug&&console.log("IncrementalCache: rdc:miss",e)}else oy.debug&&console.log("IncrementalCache: rdc:no-resume-data")}if(this.disableForTestmode||this.dev&&(t.kind!==nl.FETCH||"no-cache"===this.requestHeaders["cache-control"]))return null;e=this._getPathname(e,t.kind===nl.FETCH);let d=await (null==(r=this.cacheHandler)?void 0:r.get(e,t));if(t.kind===nl.FETCH){if(!d)return null;if((null==(a=d.value)?void 0:a.kind)!==no.FETCH)throw Object.defineProperty(new ey.z(`Expected cached value for cache key ${JSON.stringify(e)} to be a "FETCH" kind, got ${JSON.stringify(null==(i=d.value)?void 0:i.kind)} instead.`),"__NEXT_ERROR_CODE",{value:"E653",enumerable:!1,configurable:!0});let r=C.workAsyncStorage.getStore(),n=[...t.tags||[],...t.softTags||[]];if(n.some(e=>{var t,n;return(null==(t=this.revalidatedTags)?void 0:t.includes(e))||(null==r?void 0:null==(n=r.pendingRevalidatedTags)?void 0:n.some(t=>t.tag===e))}))return oy.debug&&console.log("IncrementalCache: expired tag",e),null;let s=tr.workUnitAsyncStorage.getStore();if(s){let t=(0,tr.getResumeDataCache)(s);(null==t?void 0:t.mutable)&&(oy.debug&&console.log("IncrementalCache: rdc:set",e),t.fetch.set(e,d.value))}let o=t.revalidate||d.value.revalidate,l=(performance.timeOrigin+performance.now()-(d.lastModified||0))/1e3>o,u=d.value.data;return(0,ou.areTagsExpired)(n,d.lastModified)?null:((0,ou.areTagsStale)(n,d.lastModified)&&(l=!0),{isStale:l,value:{kind:no.FETCH,data:u,revalidate:o}})}if((null==d?void 0:null==(n=d.value)?void 0:n.kind)===no.FETCH)throw Object.defineProperty(new ey.z(`Expected cached value for cache key ${JSON.stringify(e)} not to be a ${JSON.stringify(t.kind)} kind, got "FETCH" instead.`),"__NEXT_ERROR_CODE",{value:"E652",enumerable:!1,configurable:!0});let f=null,{isFallback:h}=t,p=this.cacheControls.get(oh(e));if((null==d?void 0:d.lastModified)===-1)u=-1,c=-1*H.eM*1e3;else{let r=performance.timeOrigin+performance.now(),n=(null==d?void 0:d.lastModified)||r;c=this.calculateRevalidate(e,n,this.dev??!1,t.isFallback);let a="number"==typeof(null==p?void 0:p.expire)?1e3*p.expire+n:void 0;if(void 0!==a&&a<r)u=-1;else if(void 0===(u=!1!==c&&c<r?!0:void 0)&&((null==d?void 0:null==(s=d.value)?void 0:s.kind)===no.APP_PAGE||(null==d?void 0:null==(o=d.value)?void 0:o.kind)===no.APP_ROUTE)){let e=null==(l=d.value.headers)?void 0:l[H.VC];if("string"==typeof e){let t=e.split(",");t.length>0&&((0,ou.areTagsExpired)(t,n)?u=-1:(0,ou.areTagsStale)(t,n)&&(u=!0))}}}return d&&(f={isStale:u,cacheControl:p,revalidateAfter:c,value:d.value,isFallback:h}),!d&&this.prerenderManifest.notFoundRoutes.includes(e)&&(f={isStale:u,value:null,cacheControl:p,revalidateAfter:c,isFallback:h},this.set(e,f.value,{...t,cacheControl:p})),f}async set(e,t,r){if((null==t?void 0:t.kind)===no.FETCH){let r=tr.workUnitAsyncStorage.getStore(),n=r?(0,tr.getResumeDataCache)(r):null;(null==n?void 0:n.mutable)&&(oy.debug&&console.log("IncrementalCache: rdc:set",e),n.fetch.set(e,t))}if(this.disableForTestmode||this.dev&&!r.fetchCache)return;e=this._getPathname(e,r.fetchCache);let n=JSON.stringify(t).length;if(r.fetchCache&&n>2097152&&!this.hasCustomCacheHandler&&!r.isImplicitBuildTimeCache){let t=`Failed to set Next.js data cache for ${r.fetchUrl||e}, items over 2MB can not be cached (${n} bytes)`;if(this.dev)throw Object.defineProperty(Error(t),"__NEXT_ERROR_CODE",{value:"E1003",enumerable:!1,configurable:!0});console.warn(t);return}try{var a;!r.fetchCache&&r.cacheControl&&this.cacheControls.set(oh(e),r.cacheControl),await (null==(a=this.cacheHandler)?void 0:a.set(e,t,r))}catch(t){console.warn("Failed to update prerender cache for",e,t)}}}let ov=Symbol.for("@next/router-server-methods"),ob=globalThis;function oS(e){var t,r;return(null==(r=e.has)?void 0:null==(t=r[0])?void 0:t.key)===eF.kO}let ow=e=>import(e).then(e=>e.default||e);class o_{get userland(){return this._userland}constructor({userland:e,definition:t,distDir:r,relativeProjectDir:n}){this._userland=e,this.definition=t,this.isDev=!1,this.distDir=r,this.relativeProjectDir=n}getRouterServerContext(e){var t;let r=R(e,"hostname"),n=R(e,"revalidate"),a=R(e,"render404"),i=R(e,"relativeProjectDir")||this.relativeProjectDir;return{...null==(t=ob[ov])?void 0:t[i],...void 0!==r?{hostname:r}:{},...void 0!==n?{revalidate:n}:{},...void 0!==a?{render404:a}:{}}}normalizeUrl(e,t){}async instrumentationOnRequestError(e,...t){{let{join:r}=a("node:path"),n=r(process.cwd(),R(e,"relativeProjectDir")||this.relativeProjectDir),{instrumentationOnRequestError:i}=await Promise.resolve().then(a.t.bind(a,"../lib/router-utils/instrumentation-globals.external.js",23));return i(n,this.distDir,...t)}}loadManifests(e,t){let r;{var n,i;let s;if(!t)throw Object.defineProperty(Error("Invariant: projectDir is required for node runtime"),"__NEXT_ERROR_CODE",{value:"E718",enumerable:!1,configurable:!0});let{loadManifestFromRelativePath:o}=a("../load-manifest.external"),l=$(e),u=this.definition.kind===nu.PAGES||this.definition.kind===nu.PAGES_API?"pages":"app",[c,d,f,h,p,m,g,y,v,b,S,w,_]=[o({projectDir:t,distDir:this.distDir,manifest:"routes-manifest.json",shouldCache:!this.isDev}),o({projectDir:t,distDir:this.distDir,manifest:"prerender-manifest.json",shouldCache:!this.isDev}),o({projectDir:t,distDir:this.distDir,manifest:s3,shouldCache:!this.isDev}),"/_error"===e?o({projectDir:t,distDir:this.distDir,manifest:`fallback-${s3}`,shouldCache:!this.isDev,handleMissing:!0}):{},o({projectDir:t,distDir:this.distDir,manifest:`server/${"app"===u?"app":"pages"}${l}/react-loadable-manifest.json`,handleMissing:!0,shouldCache:!this.isDev}),o({projectDir:t,distDir:this.distDir,manifest:"server/next-font-manifest.json",shouldCache:!this.isDev}),"app"!==u||(s=(i=e).replace(/\/route$/,""),i.endsWith("/route")&&function(e,t,r){if(!e||e.length<2)return!1;let n=e.replace(/\\/g,"/"),a=ot.test(n)?!0:or.test(n)?!0:on.test(n)?!0:oa.test(n)?!0:oi.test(n)?!0:n.includes("robots")||n.includes("manifest")||n.includes("sitemap")||n.includes("icon")||n.includes("apple-icon")||n.includes("opengraph-image")||n.includes("twitter-image")||n.includes("favicon")?null:!1;if(null!==a)return a;let i=function(e,t){let r=`${e.join(",")}|${t}`,n=os.get(r);if(n)return n;let a=t?"$":"?$",i="\\d?"+(t?"":"(-\\w{6})?"),s=e.length>0?[...e,"txt"]:["txt"],o=e.length>0?[...e,"webmanifest","json"]:["webmanifest","json"],l=[RegExp(`^[\\\\/]robots${oe(s,null)}${a}`),RegExp(`^[\\\\/]manifest${oe(o,null)}${a}`),RegExp(`[\\\\/]sitemap${oe(["xml"],e)}${a}`),RegExp(`[\\\\/]icon${i}${oe(s6,e)}${a}`),RegExp(`[\\\\/]apple-icon${i}${oe(s9,e)}${a}`),RegExp(`[\\\\/]opengraph-image${i}${oe(s5,e)}${a}`),RegExp(`[\\\\/]twitter-image${i}${oe(s7,e)}${a}`)];return os.set(r,l),l}(t,r);for(let e=0;e<i.length;e++)if(i[e].test(n))return!0;return!1}(s,[],!0)&&"/robots.txt"!==s&&"/manifest.webmanifest"!==s&&!s.endsWith("/sitemap.xml"))?void 0:o({distDir:this.distDir,projectDir:t,useEval:!0,handleMissing:!0,manifest:`server/app${e.replace(/%5F/g,"_")+"_client-reference-manifest"}.js`,shouldCache:!this.isDev}),"app"===u?o({distDir:this.distDir,projectDir:t,manifest:"server/server-reference-manifest.json",handleMissing:!0,shouldCache:!this.isDev}):{},o({projectDir:t,distDir:this.distDir,manifest:"server/subresource-integrity-manifest.json",handleMissing:!0,shouldCache:!this.isDev}),this.isDev?void 0:o({projectDir:t,distDir:this.distDir,shouldCache:!0,manifest:"required-server-files.json"}),this.isDev?"development":o({projectDir:t,distDir:this.distDir,manifest:"BUILD_ID",skipParse:!0,shouldCache:!0}),o({projectDir:t,distDir:this.distDir,manifest:"dynamic-css-manifest",shouldCache:!this.isDev,handleMissing:!0}),"app"===u?o({projectDir:t,distDir:this.distDir,manifest:"server/prefetch-hints.json",shouldCache:!this.isDev,handleMissing:!0}):void 0];r={buildId:S,buildManifest:f,fallbackBuildManifest:h,routesManifest:c,nextFontManifest:m,prerenderManifest:d,serverFilesManifest:b,reactLoadableManifest:p,clientReferenceManifest:null==g?void 0:null==(n=g.__RSC_MANIFEST)?void 0:n[e.replace(/%5F/g,"_")],serverActionsManifest:y,subresourceIntegrityManifest:v,dynamicCssManifest:w,prefetchHintsManifest:_,interceptionRoutePatterns:c.rewrites.beforeFiles.filter(oS).map(e=>new RegExp(e.regex))}}return r}async loadCustomCacheHandlers(e,t){{let{cacheMaxMemorySize:r,cacheHandlers:n}=t;if(!n)return;if(!(0,e2.q3)(r))return;for(let[t,r]of Object.entries(n)){if(!r)continue;let{formatDynamicImportPath:n}=a("./dist/esm/lib/format-dynamic-import-path.js"),{join:i}=a("node:path"),s=i(process.cwd(),R(e,"relativeProjectDir")||this.relativeProjectDir);(0,e2.XJ)(t,r9(await ow(n(`${s}/${this.distDir}`,r))))}}}async getIncrementalCache(e,t,r,n){{let i,{cacheHandler:s}=t;if(s){let{formatDynamicImportPath:e}=a("./dist/esm/lib/format-dynamic-import-path.js");i=r9(await ow(e(this.distDir,s)))}let{join:o}=a("node:path"),l=o(process.cwd(),R(e,"relativeProjectDir")||this.relativeProjectDir);await this.loadCustomCacheHandlers(e,t);let u=new oy({fs:a("./dist/esm/server/lib/node-fs-methods.js").e,dev:this.isDev,requestHeaders:e.headers,allowedRevalidateHeaderKeys:t.experimental.allowedRevalidateHeaderKeys,minimalMode:n,serverDistDir:`${l}/${this.distDir}/server`,fetchCacheKeyPrefix:t.experimental.fetchCacheKeyPrefix,maxMemoryCacheSize:t.cacheMaxMemorySize,flushToDisk:!n&&t.experimental.isrFlushToDisk,getPrerenderManifest:()=>r,CurCacheHandler:i});return globalThis.__incrementalCache=u,u}}async onRequestError(e,t,r,n,a){n||((null==a?void 0:a.logErrorWithOriginalStack)?a.logErrorWithOriginalStack(t,"app-dir"):console.error(t)),await this.instrumentationOnRequestError(e,t,{path:e.url||"/",headers:e.headers,method:e.method||"GET"},r)}getNextConfigEdge(e){throw Object.defineProperty(Error("Invariant: getNextConfigEdge must only be called in edge runtime"),"__NEXT_ERROR_CODE",{value:"E968",enumerable:!1,configurable:!0})}async prepare(e,t,{srcPage:r,multiZoneDraftMode:n}){var i,s;let o,l,u,c,d;{t&&function(e,t){if(t[s8])return;let r=t.setHeader.bind(t);Object.defineProperty(t,s8,{value:!0}),t.setHeader=(n,a)=>{if("headersSent"in t&&t.headersSent)return t;if("set-cookie"===n.toLowerCase()){let t=R(e,"middlewareCookie");t&&Array.isArray(a)&&a.every((e,r)=>e===t[r])||(a=[...new Set([...t||[],..."string"==typeof a?[a]:Array.isArray(a)?a:[]])])}return r(n,a)}}(e,t);let{join:r,relative:n}=a("node:path");o=r(process.cwd(),R(e,"relativeProjectDir")||this.relativeProjectDir);let i=R(e,"distDir");i&&(this.distDir=n(o,i));let{ensureInstrumentationRegistered:s}=await Promise.resolve().then(a.t.bind(a,"../lib/router-utils/instrumentation-globals.external.js",23));await s(o,this.distDir)}let f=this.loadManifests(r,o),{routesManifest:h,prerenderManifest:p,serverFilesManifest:m}=f,{basePath:g,i18n:y,rewrites:v}=h,b=this.getRouterServerContext(e),S=(null==b?void 0:b.nextConfig)||(null==m?void 0:m.config),w=(null==(i=e.headers["x-forwarded-proto"])?void 0:i.includes("https"))?"https":"http";if(!R(e,"initURL")){let t=(null==m?void 0:m.config.experimental.trustHostHeader)?`${w}://${e.headers.host||"localhost"}${e.url}`:`${w}://${(null==b?void 0:b.hostname)||"localhost"}${e.url}`;k(e,"initURL",t),k(e,"initProtocol",w)}g&&(e.url=(0,Q.y)(e.url||"/",g));let _=iW(e.url||"/");if(k(e,"initQuery",{...null==_?void 0:_.query}),!_)return;let E=!1;(0,G.m)(_.pathname||"/","/_next/data")&&(E=!0,_.pathname=s4(_.pathname||"/")),this.normalizeUrl(e,_);let x=_.pathname||"/",P={..._.query},C=I(r);y&&(l=Y(_.pathname||"/",y.locales)).detectedLocale&&(e.url=`${l.pathname}${_.search}`,x=l.pathname,u||(u=l.detectedLocale));let T=(0,e0.Yr)(r),O=function({page:e,i18n:t,basePath:r,rewrites:n,pageIsDynamic:i,trailingSlash:s,caseSensitive:o}){let l,u,c;if(i){var d;let t,r;r=(t=function(e,t,r,n,a,i={names:{},intercepted:{}}){let s,o=(s=0,()=>{let e="",t=++s;for(;t>0;)e+=String.fromCharCode(97+(t-1)%26),t=Math.floor((t-1)/26);return e}),l={},u=[],c=[];for(let s of(i=structuredClone(i),z(e).slice(1).split("/"))){let e,d=A.VB.some(e=>s.startsWith(e)),f=s.match(nH),h=d?f?.[1]:void 0;if(h&&f?.[2]?(e=t?H.h:void 0,i.intercepted[f[2]]=h):e=f?.[2]&&i.intercepted[f[2]]?t?H.h:void 0:t?H.AA:void 0,h&&f&&f[2]){let{key:t,pattern:r,cleanedKey:n,repeat:s,optional:d}=i$({getSafeRouteKey:o,interceptionMarker:h,segment:f[2],routeKeys:l,keyPrefix:e,backreferenceDuplicateKeys:a});u.push(r),c.push(`/${f[1]}:${i.names[t]??n}${s?d?"*":"+":""}`),i.names[t]??=n}else if(f&&f[2]){n&&f[1]&&(u.push(`/${iI(f[1])}`),c.push(`/${f[1]}`));let{key:t,pattern:r,cleanedKey:s,repeat:d,optional:h}=i$({getSafeRouteKey:o,segment:f[2],routeKeys:l,keyPrefix:e,backreferenceDuplicateKeys:a}),p=r;n&&f[1]&&(p=p.substring(1)),u.push(p),c.push(`/:${i.names[t]??s}${d?h?"*":"+":""}`),i.names[t]??=s}else u.push(`/${iI(s)}`),c.push(`/${s}`);r&&f&&f[3]&&(u.push(iI(f[3])),c.push(f[3]))}return{namedParameterizedRoute:u.join(""),routeKeys:l,pathToRegexpPattern:c.join(""),reference:i}}(e,(d={prefixRouteKeys:!1}).prefixRouteKeys,d.includeSuffix??!1,d.includePrefix??!1,d.backreferenceDuplicateKeys??!1,d.reference)).namedParameterizedRoute,d.excludeOptionalTrailingSlash||(r+="(?:/)?"),c=(u=iq(l={...iD(e,d),namedRegex:`^${r}$`,routeKeys:t.routeKeys,pathToRegexpPattern:t.pathToRegexpPattern,reference:t.reference}))(e)}return{handleRewrites:function(l,c){let d=structuredClone(c),f={},h=d.pathname,p=n=>{var c,p;let m,g,y,v=(c=n.source+(s?"(/)?":""),p={removeUnnamedParams:!0,strict:!0,sensitive:!!o},m=[],g=(0,iA.pathToRegexp)(c,m,{delimiter:"/",sensitive:"boolean"==typeof p?.sensitive?p.sensitive:!1,strict:p?.strict}),y=(0,iA.regexpToFunction)(p?.regexModifier?new RegExp(p.regexModifier(g.source),g.flags):g,m),(e,t)=>{if("string"!=typeof e)return!1;let r=y(e);if(!r)return!1;if(p?.removeUnnamedParams)for(let e of m)"number"==typeof e.name&&delete r.params[e.name];return{...t,...r.params}});if(!d.pathname)return!1;let b=v(d.pathname);if((n.has||n.missing)&&b){let e=function(e,t,r=[],n=[]){let i={},s=r=>{let n,s=r.key;switch(r.type){case"header":s=s.toLowerCase(),n=e.headers[s];break;case"cookie":if("cookies"in e)n=e.cookies[r.key];else{var o;n=(o=e.headers,function(){let{cookie:e}=o;if(!e)return{};let{parse:t}=a("./dist/compiled/cookie/index.js");return t(Array.isArray(e)?e.join("; "):e)})()[r.key]}break;case"query":n=t[s];break;case"host":{let{host:t}=e?.headers||{};n=t?.split(":",1)[0].toLowerCase()}}if(!r.value&&n)return i[function(e){let t="";for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);(n>64&&n<91||n>96&&n<123)&&(t+=e[r])}return t}(s)]=n,!0;if(n){let e=RegExp(`^${r.value}$`),t=Array.isArray(n)?n.slice(-1)[0].match(e):n.match(e);if(t)return Array.isArray(t)&&(t.groups?Object.keys(t.groups).forEach(e=>{i[e]=t.groups[e]}):"host"===r.type&&t[0]&&(i.host=t[0])),!0}return!1};return r.every(e=>s(e))&&!n.some(e=>s(e))?i:!1}(l,d.query,n.has,n.missing);e?Object.assign(b,e):b=!1}if(b){let{parsedDestination:a,destQuery:s}=function(e){let t,r,n=function(e){let t=e.destination;for(let r of Object.keys({...e.params,...e.query}))r&&(t=t.replace(RegExp(`:${iI(r)}`,"g"),`__ESC_COLON_${r}`));let r=function(e){if(e.startsWith("/"))return(0,n2.r)(e);let t=new URL(e),r=t.username,n=t.password,a=r?n?`${r}:${n}`:r:null,i=t.pathname,s=t.search;return{auth:a,hash:t.hash,hostname:t.hostname,href:t.href,pathname:i,port:t.port,protocol:t.protocol,query:(0,iB.v1)(t.searchParams),search:s,origin:t.origin,slashes:"//"===t.href.slice(t.protocol.length,t.protocol.length+2)}}(t),n=r.pathname;n&&(n=iz(n));let a=r.href;a&&(a=iz(a));let i=r.hostname;i&&(i=iz(i));let s=r.hash;s&&(s=iz(s));let o=r.search;o&&(o=iz(o));let l=r.origin;return l&&(l=iz(l)),{...r,pathname:n,hostname:i,href:a,hash:s,search:o,origin:l}}(e),{hostname:a,query:i,search:s}=n,o=n.pathname;n.hash&&(o=`${o}${n.hash}`);let l=[],u=[];for(let e of(iF(o,u),u))l.push(e.name);if(a){let e=[];for(let t of(iF(a,e),e))l.push(t.name)}let c=iH(o,{validate:!1});for(let[r,n]of(a&&(t=iH(a,{validate:!1,encode:encodeURIComponent})),Object.entries(i)))Array.isArray(n)?i[r]=n.map(t=>iV(iz(t),e.params)):"string"==typeof n&&(i[r]=iV(iz(n),e.params));let d=Object.keys(e.params).filter(e=>"nextInternalLocale"!==e);if(e.appendParamsToQuery&&!d.some(e=>l.includes(e)))for(let t of d)t in i||(i[t]=e.params[t]);if((0,A.m1)(o))for(let t of o.split("/")){let r=A.VB.find(e=>t.startsWith(e));if(r){"(..)(..)"===r?(e.params["0"]="(..)",e.params["1"]="(..)"):e.params["0"]=r;break}}try{let[a,i]=(r=c(e.params)).split("#",2);t&&(n.hostname=t(e.params)),n.pathname=a,n.hash=`${i?"#":""}${i||""}`,n.search=s?iV(s,e.params):""}catch(e){if(e.message.match(/Expected .*? to not repeat, but got an array/))throw Object.defineProperty(Error("To use a multi-match in the destination you must add `*` at the end of the param name to signify it should repeat. https://nextjs.org/docs/messages/invalid-multi-match"),"__NEXT_ERROR_CODE",{value:"E329",enumerable:!1,configurable:!0});throw e}return n.query={...e.query,...n.query},{newUrl:r,destQuery:i,parsedDestination:n}}({appendParamsToQuery:!0,destination:n.destination,params:b,query:d.query});if(a.protocol)return!0;if(Object.assign(f,s,b),Object.assign(d.query,a.query),delete a.query,Object.assign(d,a),!(h=d.pathname))return!1;if(r&&(h=h.replace(RegExp(`^${r}`),"")||"/"),t){let e=Y(h,t.locales);h=e.pathname,d.query.nextInternalLocale=e.detectedLocale||b.nextInternalLocale}if(h===e)return!0;if(i&&u){let e=u(h);if(e)return d.query={...d.query,...e},!0}}return!1};for(let e of n.beforeFiles||[])p(e);if(h!==e){let t,r=!1;for(let e of n.afterFiles||[])if(r=p(e))break;if(!r&&!((t=z(h||""))===z(e)||(null==u?void 0:u(t)))){for(let e of n.fallback||[])if(r=p(e))break}}return{rewriteParams:f,rewrittenParsedUrl:d}},defaultRouteRegex:l,dynamicRouteMatcher:u,defaultRouteMatches:c,normalizeQueryParams:function(e,t){for(let[r,n]of(delete e.nextInternalLocale,Object.entries(e))){let a=q(r);a&&(delete e[r],t.add(a),void 0!==n&&(e[a]=Array.isArray(n)?n.map(e=>iX(e)):iX(n)))}},getParamsFromRouteMatches:function(e){if(!l)return null;let{groups:t,routeKeys:r}=l,n=iq({re:{exec:e=>{let n=Object.fromEntries(new URLSearchParams(e));for(let[e,t]of Object.entries(n)){let r=q(e);r&&(n[r]=t,delete n[e])}let a={};for(let e of Object.keys(r)){let i=r[e];if(!i)continue;let s=t[i],o=n[e];if(!s.optional&&!o)return null;a[s.pos]=o}return a}},groups:t})(e);return n?n:null},normalizeDynamicRouteParams:(e,t)=>l&&c?function(e,t,r,n){let a=(e,t)=>{if(!e)return!1;let r=(0,e0.P7)(e);for(let e=0;e<3;e++){if(r===t)return!0;let e=iX(r);if(e===r)break;r=e}return!1},i={};for(let s of Object.keys(t.groups)){let o=e[s];"string"==typeof o?o=(0,e0.P7)(o):Array.isArray(o)&&(o=o.map(e0.P7));let l=r[s],u=t.groups[s].optional;if((Array.isArray(l)?l.some(e=>Array.isArray(o)?o.some(t=>a(t,e)):a(o,e)):Array.isArray(o)?o.some(e=>a(e,l)):a(o,l))||void 0===o&&!(u&&n))return{params:{},hasValidParams:!1};u&&(!o||Array.isArray(o)&&1===o.length&&("index"===o[0]||o[0]===`[[...${s}]]`)||"index"===o||o===`[[...${s}]]`)&&(o=void 0,delete e[s]),o&&"string"==typeof o&&t.groups[s].repeat&&(o=o.split("/")),o&&(i[s]=o)}return{params:i,hasValidParams:!0}}(e,l,c,t):{params:{},hasValidParams:!1},normalizeCdnUrl:(e,t)=>(function(e,t){let r=iW(e.url);if(!r)return e.url;delete r.search,iK(r.query,t),e.url=iJ(r)})(e,t),interpolateDynamicPath:(e,t)=>(function(e,t,r){if(!r)return e;for(let n of Object.keys(r.groups)){let a,{optional:i,repeat:s}=r.groups[n],o=`[${s?"...":""}${n}]`;i&&(o=`[${o}]`);let l=t[n];((a=Array.isArray(l)?l.map(e=>e&&encodeURIComponent(e)).join("/"):l?encodeURIComponent(l):"")||i)&&(e=e.replaceAll(o,a))}return e})(e,t,l),filterInternalQuery:(e,t)=>iK(e,t)}}({page:T,i18n:y,basePath:g,rewrites:v,pageIsDynamic:C,trailingSlash:process.env.__NEXT_TRAILING_SLASH,caseSensitive:!!h.caseSensitive}),j=B(null==y?void 0:y.domains,J(_,e.headers),u);j&&k(e,"isLocaleDomain",!!j);let $=R(e,"defaultLocale")||(null==j?void 0:j.defaultLocale)||(null==y?void 0:y.defaultLocale);$&&!u&&(_.pathname=`/${$}${"/"===_.pathname?"":_.pathname}`);let N=R(e,"locale")||u||$,{rewriteParams:M,rewrittenParsedUrl:L}=O.handleRewrites(e,_),U=Object.keys(M);Object.assign(_.query,L.query),y&&(_.pathname=Y(_.pathname||"/",y.locales).pathname,L.pathname=Y(L.pathname||"/",y.locales).pathname);let F=R(e,"params");if(!F&&O.dynamicRouteMatcher){let e=O.dynamicRouteMatcher(s4((null==L?void 0:L.pathname)||_.pathname||"/")),t=O.normalizeDynamicRouteParams(e||{},!0);t.hasValidParams&&(F=t.params)}let V=R(e,"query")||{..._.query},X=new Set,W=[];if(this.definition.kind===nu.PAGES||this.definition.kind===nu.PAGES_API)for(let e of[...U,...Object.keys(O.defaultRouteMatches||{})]){let t=Array.isArray(P[e])?P[e].join(""):P[e],r=Array.isArray(V[e])?V[e].join(""):V[e];e in P&&t!==r||W.push(e)}if(O.normalizeCdnUrl(e,W),(null==b?void 0:b.isWrappedByNextServer)?O.filterInternalQuery(V,[]):O.normalizeQueryParams(V,X),O.filterInternalQuery(P,W),C){let t,r=O.normalizeDynamicRouteParams(V,!0),n=O.normalizeDynamicRouteParams(F||{},!0);if(V&&F&&n.hasValidParams&&r.hasValidParams&&X.size>0&&Object.keys(n.params).length<=Object.keys(r.params).length?(t=r.params,F=Object.assign(r.params)):t=n.hasValidParams&&F?F:r.hasValidParams?V:{},e.url=O.interpolateDynamicPath(e.url||"/",t),_.pathname=O.interpolateDynamicPath(_.pathname||"/",t),x=O.interpolateDynamicPath(x,t),!F)if(r.hasValidParams)for(let e in F=Object.assign({},r.params),O.defaultRouteMatches)delete V[e];else{let e=null==O.dynamicRouteMatcher?void 0:O.dynamicRouteMatcher.call(O,s4((null==l?void 0:l.pathname)||_.pathname||"/"));e&&(F=Object.assign({},e))}if(F&&X.size>0&&!n.hasValidParams&&!r.hasValidParams){for(let e of X)void 0!==V[e]&&(F[e]=V[e]);k(e,"resolvedRouteParamKeys",X)}}for(let e of X)e in P?P[e]&&V[e]&&P[e]!==V[e]&&(V[e]=P[e]):delete V[e];let{isOnDemandRevalidate:K,revalidateOnlyGenerated:Z}=(0,eW.checkIsOnDemandRevalidate)(e.headers,p.preview),ee=!1;if(t){let{tryGetPreviewData:r}=a("./dist/esm/server/api-utils/node/try-get-preview-data.js");ee=!1!==(c=r(e,t,p.preview,!!n))}if(!S)throw Object.defineProperty(Error("Invariant: nextConfig couldn't be loaded"),"__NEXT_ERROR_CODE",{value:"E969",enumerable:!1,configurable:!0});{let{installProcessErrorHandlers:e}=a("./dist/esm/server/node-environment-extensions/process-error-handlers.js");e(!!S.experimental.removeUncaughtErrorAndRejectionListeners)}let et=T;I(et)&&F&&(et=O.interpolateDynamicPath(et,F)),"/index"===et&&(et="/"),t&&e.headers["x-nextjs-data"]&&(!t.statusCode||200===t.statusCode)&&t.setHeader("x-nextjs-matched-path",z(`${N?`/${N}`:""}${T}`));let er=et;try{et=et.split("/").map(e=>{try{var t;t=decodeURIComponent(e),e=t.replace(RegExp("([/#?]|%(2f|23|3f|5c))","gi"),e=>encodeURIComponent(e))}catch(e){throw Object.defineProperty(new D.Xc("Failed to decode path param(s)."),"__NEXT_ERROR_CODE",{value:"E539",enumerable:!1,configurable:!0})}return e}).join("/")}catch(e){}if(k(e,"resolvedPathname",et=z(et)),null==(s=S.experimental)?void 0:s.runtimeServerDeploymentId){if(!process.env.NEXT_DEPLOYMENT_ID)throw Object.defineProperty(Error("process.env.NEXT_DEPLOYMENT_ID is missing but runtimeServerDeploymentId is enabled"),"__NEXT_ERROR_CODE",{value:"E970",enumerable:!1,configurable:!0});d=process.env.NEXT_DEPLOYMENT_ID}else d=S.deploymentId||"";return{query:V,originalQuery:P,originalPathname:x,params:F,parsedUrl:_,locale:N,isNextDataRequest:E,locales:null==y?void 0:y.locales,defaultLocale:$,isDraftMode:ee,previewData:c,pageIsDynamic:C,resolvedPathname:et,encodedResolvedPathname:er,isOnDemandRevalidate:K,revalidateOnlyGenerated:Z,...f,nextConfig:S,routerServerContext:b,deploymentId:d,clientAssetToken:S.supportsImmutableAssets?"":d}}getResponseCache(e){if(!this.responseCache){let t=R(e,"minimalMode")??!1;this.responseCache=new ny(t)}return this.responseCache}async handleResponse({req:e,nextConfig:t,cacheKey:r,routeKind:n,isFallback:a,prerenderManifest:i,isRoutePPREnabled:s,isOnDemandRevalidate:o,revalidateOnlyGenerated:l,responseGenerator:u,waitUntil:c,isMinimalMode:d}){let f=this.getResponseCache(e),h=await f.get(r,u,{routeKind:n,isFallback:a,isRoutePPREnabled:s,isOnDemandRevalidate:o,isPrefetch:"prefetch"===e.headers.purpose||!0===R(e,"isPrefetchRSCRequest"),invocationID:e.headers["x-invocation-id"],incrementalCache:await this.getIncrementalCache(e,t,i,d),waitUntil:c});if(!h&&r&&!(o&&l))throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return h}}var oE=a("./dist/esm/shared/lib/head-manager-context.shared-runtime.js");let oR=U.createContext(null);class ok{constructor(e,t){this.matchers=Object.entries(t.dynamicRoutes).filter(([t,r])=>r.fallbackSourceRoute===e||t===e).map(([e,t])=>({source:e,route:t}))}match(e){for(let t of this.matchers)if(t.matcher||(t.matcher=iq(iD(t.source))),t.matcher(e))return{source:t.source,route:t.route};return null}}class ox{constructor(e){this.suffix=e}match(e){return!!e.endsWith(this.suffix)}normalize(e,t){return t||this.match(e)?e.substring(0,e.length-this.suffix.length):e}}class oP extends ox{constructor(){super(H.RM)}}let oC=RegExp(`^(/.*)${iI(H.mH)}(/.*)${iI(H.tz)}$`);class oT{match(e){return oC.test(e)}extract(e){let t=e.match(oC);return t?{originalPathname:t[1],segmentPath:t[2]}:null}normalize(e){let t=this.extract(e);return t?t.originalPathname:e}}function oA(e){return Array.isArray(e)?e[0]:e}{t=a("(react-server)/./dist/esm/server/route-modules/app-page/vendored/rsc/entrypoints.js"),r=a("./dist/esm/server/route-modules/app-page/vendored/ssr/entrypoints.js");let{registerServerReact:e,registerClientReact:n}=a("../../runtime-reacts.external");e(t.React),n(r.React)}class oO extends o_{match(e,t){let r=this.matchers.get(t);return r||(r=new ok(this.definition.pathname,t),this.matchers.set(t,r)),r.match(e)}normalizeUrl(e,t){if(this.normalizers.segmentPrefetchRSC.match(t.pathname||"/")){let r=this.normalizers.segmentPrefetchRSC.extract(t.pathname||"/");if(!r)return!1;let{originalPathname:n,segmentPath:a}=r;t.pathname=n,e.headers[eF.hY]="1",e.headers[eF._V]="1",e.headers[eF.qm]=a,k(e,"isRSCRequest",!0),k(e,"isPrefetchRSCRequest",!0),k(e,"segmentPrefetchRSCRequest",a)}else this.normalizers.rsc.match(t.pathname||"/")?(t.pathname=this.normalizers.rsc.normalize(t.pathname||"/",!0),e.headers[eF.hY]="1"):super.normalizeUrl(e,t);!function(e){if("1"!==e.headers[eF.hY])return;if(k(e,"isRSCRequest",!0),"1"!==oA(e.headers[eF._V]))return;k(e,"isPrefetchRSCRequest",!0);let t=oA(e.headers[eF.qm]);t&&k(e,"segmentPrefetchRSCRequest",t)}(e),function(e,t){if(!e.url)return;let r=iW(e.url);r&&(r.pathname=t,e.url=iJ(r))}(e,t.pathname||"/")}render(e,t,r){return s_(e,t,r.page,r.query,r.fallbackRouteParams,r.renderOpts,r.serverComponentsHmrCache,r.sharedContext)}runValidationInDev(e,t,r){return sM(t,e,r)}pathCouldBeIntercepted(e,t){return(0,A.m1)(e)||t.some(t=>t.test(e))}getVaryHeader(e,t){let r=`${eF.hY}, ${eF.B}, ${eF._V}, ${eF.qm}`;return this.pathCouldBeIntercepted(e,t)?`${r}, ${eF.kO}`:r}constructor(...e){super(...e),this.matchers=new WeakMap,this.normalizers={rsc:new oP,segmentPrefetchRSC:new oT}}}let oj={"react-rsc":t,"react-ssr":r,contexts:_},oI=oO})(),module.exports=i})();
|
|
182
|
+
${e}`),$}if(null===W)throw $;let l=e6($),v=te($);if(l)t.statusCode=e9($),a.statusCode=t.statusCode,e=e5(t.statusCode);else if(v){var er;e="redirect",t.statusCode=ti($),a.statusCode=t.statusCode,er=X(tn($),p),t.setHeader("location",er),Y("location")}else t.statusCode=500,a.statusCode=t.statusCode;if(k&&!l&&!v)throw F.get($.digest)??$;let[S,w]=rZ(m,o,y,R,r7(r,!1),c,L),_=m.pagesChunkGroupBootstrapParams&&m.chunkLoadingGlobal?N(m.pagesChunkGroupBootstrapParams,m.chunkLoadingGlobal,[L]):void 0;if(k){let t=W,o=G,l=J,d=K;if(null===t)throw Object.defineProperty(new ey.z("Cache Components error recovery expected an original Flight prerender result"),"__NEXT_ERROR_CODE",{value:"E1283",enumerable:!1,configurable:!0});if(null===o)throw Object.defineProperty(new ey.z("Cache Components error recovery expected to know whether the original Flight prerender result was dynamic"),"__NEXT_ERROR_CODE",{value:"E1282",enumerable:!1,configurable:!0});if(null===l)throw Object.defineProperty(new ey.z("Cache Components error recovery expected an original resume data cache"),"__NEXT_ERROR_CODE",{value:"E1285",enumerable:!1,configurable:!0});if(null===d)throw Object.defineProperty(new ey.z("Cache Components error recovery expected an original prerender store"),"__NEXT_ERROR_CODE",{value:"E1284",enumerable:!1,configurable:!0});let m=Z(d.stale),y=new AbortController,v=new AbortController,E=tX(b),R={type:"prerender",phase:"render",rootParams:T,fallbackRouteParams:s,implicitTags:u,renderSignal:v.signal,controller:y,stagedRendering:null,cacheSignal:null,dynamicTracking:E,revalidate:void 0!==(null==et?void 0:et.revalidate)?et.revalidate:H.AR,expire:void 0!==(null==et?void 0:et.expire)?et.expire:H.AR,stale:void 0!==(null==et?void 0:et.stale)?et.stale:H.AR,tags:[...(null==et?void 0:et.tags)||u.tags],resumeDataCache:l,hmrRefreshHash:void 0,varyParamsAccumulator:null,runtimeDataAccessed:null,shouldAttemptStaticPrefetch:null,isFallbackUpgradeable:!0===f.isFallbackUpgradeable},P=await tr.workUnitAsyncStorage.run(R,sy,i,r,F.has($.digest)?void 0:$,e,!1),C=await (0,im.PR)(iw(async()=>{let e=tr.workUnitAsyncStorage.run(R,eM(g),P,ee,{filterStackFrame:n,signal:y.signal,onError:e=>B(e)});return y.signal.addEventListener("abort",()=>{v.abort()},{once:!0}),await e},()=>{y.signal.aborted||tr.workUnitAsyncStorage.run(R,y.abort.bind(y))}));try{let e=new AbortController,i=new AbortController,f=tX(b),y=tW(),v={type:"prerender-client",phase:"render",rootParams:T,fallbackRouteParams:s,implicitTags:u,renderSignal:i.signal,controller:e,cacheSignal:null,dynamicTracking:f,revalidate:R.revalidate,expire:R.expire,stale:R.stale,tags:[...R.tags||u.tags],resumeDataCache:l,hmrRefreshHash:void 0,varyParamsAccumulator:null},{prelude:P,postponed:$}=await iw(()=>{let t=tr.workUnitAsyncStorage.run(v,eL,(0,x.jsx)(sb,{reactServerStream:C.asUnclosingStream(),ServerInsertedHTMLProvider:A,preinitScripts:S,nonce:c,images:r.renderOpts.images}),{nonce:c,bootstrapScriptContent:_,bootstrapScripts:[w],formState:null,signal:e.signal,onError:(t,r)=>{if(tJ(t)||e.signal.aborted){let e=r.componentStack;"string"==typeof e&&t6(t,h,e,y,f);return}return V(t,r)}});return e.signal.addEventListener("abort",()=>{i.abort()},{once:!0}),t},()=>{tr.workUnitAsyncStorage.run(v,e.abort.bind(e))});a.hasPendingUi=null!=$;let{prelude:N,preludeIsEmpty:M}=await eC(P);if(M)throw console.error(`Route "${h.route}" did not produce a static shell while rendering its error page.`),ra(h,rt.Empty,y,E,!1),new tR;let L=r0({polyfills:D,renderServerInsertedHTML:O,serverCapturedErrors:[],basePath:p,tracingMetadata:I}),U=N;if(o)return a.postponed=await nY(l,k),t.consume(),C.consume(),{digestErrorsMap:F,ssrErrors:z,stream:await e_(U,{getServerInsertedHTML:L,getServerInsertedMetadata:j,deploymentId:r.sharedContext.deploymentId}),dynamicAccess:tK(E,f),collectedRevalidate:d.revalidate,collectedExpire:d.expire,collectedStale:m,collectedTags:d.tags,renderResumeDataCache:nW(l)};if(null!=$){let e=eA(),t=await tr.workUnitAsyncStorage.run(R,ej,(0,x.jsx)(sb,{reactServerStream:e,ServerInsertedHTMLProvider:A,preinitScripts:()=>{},nonce:c,images:r.renderOpts.images}),JSON.parse(JSON.stringify($)),{signal:tY(),onError:V,nonce:c});U=ex(N,t)}if(h.forceDynamic)throw Object.defineProperty(new tR('Invariant: a Page with `dynamic = "force-dynamic"` did not trigger the dynamic pathway. This is a bug in Next.js'),"__NEXT_ERROR_CODE",{value:"E598",enumerable:!1,configurable:!0});let H=await sJ(U,t,s,eT,null,c,L,j,r.sharedContext.deploymentId,g,eI,ee,n,B);return C.consume(),{digestErrorsMap:F,ssrErrors:z,stream:H,dynamicAccess:tK(E,f),collectedRevalidate:d.revalidate,collectedExpire:d.expire,collectedStale:m,collectedTags:d.tags,renderResumeDataCache:nW(l)}}catch(e){throw e}}let E={type:"prerender-legacy",phase:"render",rootParams:T,implicitTags:u,revalidate:void 0!==(null==et?void 0:et.revalidate)?et.revalidate:H.AR,expire:void 0!==(null==et?void 0:et.expire)?et.expire:H.AR,stale:void 0!==(null==et?void 0:et.stale)?et.stale:H.AR,tags:[...(null==et?void 0:et.tags)||u.tags]},P=await tr.workUnitAsyncStorage.run(E,sy,i,r,F.has($.digest)?void 0:$,e,!0),C=tr.workUnitAsyncStorage.run(E,eI,g,P,ee,{filterStackFrame:n,onError:B});try{let{stream:e}=await tr.workUnitAsyncStorage.run(E,e$,(0,x.jsx)(sb,{reactServerStream:C,ServerInsertedHTMLProvider:A,preinitScripts:S,nonce:c,images:r.renderOpts.images}),{nonce:c,bootstrapScriptContent:_,bootstrapScripts:[w],formState:null},{waitForAllReady:!0});if(sG(h)){let e=await ek(W.asStream());a.flightData=e,await s2(e,E,g,f,r.pagePath,a)}return{digestErrorsMap:F,ssrErrors:z,stream:await eS(e,{inlinedDataStream:eT(W.consumeAsStream(),c,null),isStaticGeneration:!0,getServerInsertedHTML:r0({polyfills:D,renderServerInsertedHTML:O,serverCapturedErrors:[],basePath:p,tracingMetadata:I}),getServerInsertedMetadata:j,validateRootLayout:!1,deploymentId:r.sharedContext.deploymentId}),dynamicAccess:null,collectedRevalidate:E.revalidate,collectedExpire:E.expire,collectedStale:Z(E.stale),collectedTags:E.tags}}catch(e){throw e}}}function sY(){let e;return{get isPending(){if(void 0===e)throw Object.defineProperty(new ey.z("Expected stream state to be initialized before reading"),"__NEXT_ERROR_CODE",{value:"E1281",enumerable:!1,configurable:!0});return e},set isPending(value){e=value}}}function sQ(){return{prerenderChunks:[],allChunks:null}}function sZ(e,t,r){var n;t.aborted||e.prerenderChunks.push(r),null==(n=e.allChunks)||n.push(r)}async function s0(e,t,r,n){if(e instanceof ReadableStream){let a=e.getReader();for(n&&(n.isPending=!0),t.addEventListener("abort",()=>{a.cancel(t.reason)},{once:!0});;){let{done:e,value:t}=await a.read();if(e)break;r(t)}n&&(n.isPending=!1)}else{n&&(n.isPending=!0);let a=!1;t.addEventListener("abort",()=>{a||(a=!0,e.destroy())},{once:!0});try{for await(let t of e){if(a)break;r(t)}}catch(e){if(!a)throw e}n&&(n.isPending=!1)}}new WeakSet,Symbol("VALIDATION_BAILOUT");let s1=async(e,t)=>{let r=r5(e).modules["global-error"];if(!r)throw Object.defineProperty(Error("Invariant: global-error module is required but not found in loader tree"),"__NEXT_ERROR_CODE",{value:"E983",enumerable:!1,configurable:!0});let{componentMod:{createElement:n}}=t,[a,i]=await nt({ctx:t,filePath:r[1],getComponent:r[0],injectedCSS:new Set,injectedJS:new Set});return{GlobalError:a,styles:i}};async function s2(e,t,r,n,a,i){let s,{clientModules:o,edgeRscModuleMapping:l,rscModuleMapping:u}=(0,rA.QJ)(),c={moduleLoading:null,moduleMap:u,serverModuleMap:(0,rA.a1)()},d=ix(n.experimental)(t.stale),f=n.experimental.prefetchInlining;if(n.isBuildTimePrerendering){let n="prerender"===t.type?t.shouldAttemptStaticPrefetch:null,a=null!==n&&n.current;f||a?i.prefetchHints=s=await r.collectPrefetchHints(e,d,o,c,f,a):s=null}else{var h;let e=null==(h=n.prefetchHints)?void 0:h[a];s=void 0===e?f&&n.cacheComponents?{hints:P.hT.PrefetchDisabled,slots:null}:null:e}let p="fallbackRouteParams"in t?t.fallbackRouteParams:null,m=null!=p&&p.size>0&&!0===n.isFallbackUpgradeable;i.segmentData=await r.collectSegmentData(n.cacheComponents,e,d,o,c,!!n.experimental.prefetchInlining,s,m)}require("next/dist/build/adapter/setup-node-env.external.js"),a("./dist/esm/shared/lib/modern-browserslist-target.js");let s3="build-manifest.json";function s4(e){return(0,G.m)(e||"/","/_next/data")?"/index"===(e=e.replace(/\/_next\/data\/[^/]{1,}/,"").replace(/\.json$/,""))?"/":e:e}[...process?.features?.typescript?["next.config.mts"]:[]],Symbol("polyfills");let s8=Symbol("next.patchSetHeaderWithCookieSupport"),s6=["ico","jpg","jpeg","png","svg"],s9=["jpg","jpeg","png"],s5=["jpg","jpeg","png","gif"],s7=["jpg","jpeg","png","gif"],oe=(e,t)=>t&&0!==t.length?`(?:\\.(${e.join("|")})|(\\.(${t.join("|")})))`:`(\\.(?:${e.join("|")}))`,ot=/^[\\/]favicon\.ico$/,or=/^[\\/]robots\.txt$/,on=/^[\\/]manifest\.json$/,oa=/^[\\/]manifest\.webmanifest$/,oi=/[\\/]sitemap\.xml$/,os=new Map;var oo=a("./dist/esm/shared/lib/isomorphic/path.js"),ol=a.n(oo),ou=a("./tags-manifest.external");class oc{constructor(e){this.fs=e,this.tasks=[]}findOrCreateTask(e){for(let t of this.tasks)if(t[0]===e)return t;let t=this.fs.mkdir(e);t.catch(()=>{});let r=[e,t,[]];return this.tasks.push(r),r}append(e,t){let r=this.findOrCreateTask(ol().dirname(e)),n=r[1].then(()=>this.fs.writeFile(e,t));n.catch(()=>{}),r[2].push(n)}wait(){return Promise.all(this.tasks.flatMap(e=>e[2]))}}let od=require("next/dist/server/lib/incremental-cache/memory-cache.external.js");class of{static #e=this.debug=!!process.env.NEXT_PRIVATE_DEBUG_CACHE;constructor(e){this.fs=e.fs,this.flushToDisk=e.flushToDisk,this.serverDistDir=e.serverDistDir,this.revalidatedTags=e.revalidatedTags,e.maxMemoryCacheSize?of.memoryCache?of.debug&&console.log("FileSystemCache: memory store already initialized"):(of.debug&&console.log("FileSystemCache: using memory store for fetch cache"),of.memoryCache=(0,od.getMemoryCache)(e.maxMemoryCacheSize)):of.debug&&console.log("FileSystemCache: not using memory store for fetch cache")}resetRequestCache(){}async revalidateTag(e,t){if(e="string"==typeof e?[e]:e,of.debug&&console.log("FileSystemCache: revalidateTag",e,t),0===e.length)return;let r=Date.now();for(let n of e){let e=ou.tagsManifest.get(n)||{};if(t){let a={...e};a.stale=r,void 0!==t.expire&&(a.expired=r+1e3*t.expire),ou.tagsManifest.set(n,a)}else ou.tagsManifest.set(n,{...e,expired:r})}}async get(...e){var t,r,n,a,i,s,o,l,u;let[c,d]=e,{kind:f}=d,h=null==(t=of.memoryCache)?void 0:t.get(c);if(of.debug&&(f===nl.FETCH?console.log("FileSystemCache: get",c,d.tags,f,!!h):console.log("FileSystemCache: get",c,f,!!h)),!h)try{if(f===nl.APP_ROUTE){let e=this.getFilePath(`${c}.body`,nl.APP_ROUTE),t=await this.fs.readFile(e),{mtime:r}=await this.fs.stat(e),n=JSON.parse(await this.fs.readFile(e.replace(/\.body$/,H.EP),"utf8"));h={lastModified:r.getTime(),value:{kind:no.APP_ROUTE,body:t,headers:n.headers,status:n.status}}}else{let e=this.getFilePath(f===nl.FETCH?c:`${c}.html`,f),t=await this.fs.readFile(e,"utf8"),{mtime:r}=await this.fs.stat(e);if(f===nl.FETCH){let{tags:e,fetchIdx:n,fetchUrl:a}=d;if(!this.flushToDisk)return null;let i=r.getTime(),l=JSON.parse(t);if(h={lastModified:i,value:l},(null==(s=h.value)?void 0:s.kind)===no.FETCH){let t=null==(o=h.value)?void 0:o.tags;(null==e?void 0:e.every(e=>null==t?void 0:t.includes(e)))||(of.debug&&console.log("FileSystemCache: tags vs storedTags mismatch",e,t),await this.set(c,h.value,{fetchCache:!0,tags:e,fetchIdx:n,fetchUrl:a}))}}else if(f===nl.APP_PAGE){let n,a,i;try{n=JSON.parse(await this.fs.readFile(e.replace(/\.html$/,H.EP),"utf8"))}catch{}if(null==n?void 0:n.segmentPaths){let e=new Map;a=e;let t=c+H.mH;await Promise.all(n.segmentPaths.map(async r=>{let n=this.getFilePath(t+r+H.tz,nl.APP_PAGE);try{e.set(r,await this.fs.readFile(n))}catch{}}))}d.isFallback||d.isRoutePPREnabled&&(null==n?void 0:n.postponed)!=null||(i=await this.fs.readFile(this.getFilePath(`${c}${H.RM}`,nl.APP_PAGE))),h={lastModified:r.getTime(),value:{kind:no.APP_PAGE,html:t,rscData:i,postponed:null==n?void 0:n.postponed,headers:null==n?void 0:n.headers,status:null==n?void 0:n.status,segmentData:a}}}else if(f===nl.PAGES){let e,n={};d.isFallback||(n=JSON.parse(await this.fs.readFile(this.getFilePath(`${c}${H.x3}`,nl.PAGES),"utf8"))),h={lastModified:r.getTime(),value:{kind:no.PAGES,html:t,pageData:n,headers:null==e?void 0:e.headers,status:null==e?void 0:e.status}}}else throw Object.defineProperty(Error(`Invariant: Unexpected route kind ${f} in file system cache.`),"__NEXT_ERROR_CODE",{value:"E445",enumerable:!1,configurable:!0})}h&&(null==(l=of.memoryCache)||l.set(c,h))}catch{return null}if((null==h?void 0:null==(r=h.value)?void 0:r.kind)===no.APP_PAGE||(null==h?void 0:null==(n=h.value)?void 0:n.kind)===no.APP_ROUTE||(null==h?void 0:null==(a=h.value)?void 0:a.kind)===no.PAGES){let e=null==(u=h.value.headers)?void 0:u[H.VC];if("string"==typeof e){let t=e.split(",");if(t.length>0&&(0,ou.areTagsExpired)(t,h.lastModified))return of.debug&&console.log("FileSystemCache: expired tags",t),null}}else if((null==h?void 0:null==(i=h.value)?void 0:i.kind)===no.FETCH){let e=d.kind===nl.FETCH?[...d.tags||[],...d.softTags||[]]:[];if(e.some(e=>this.revalidatedTags.includes(e)))return of.debug&&console.log("FileSystemCache: was revalidated",e),null;if((0,ou.areTagsExpired)(e,h.lastModified))return of.debug&&console.log("FileSystemCache: expired tags",e),null}return h??null}async set(e,t,r){var n;if(null==(n=of.memoryCache)||n.set(e,{value:t,lastModified:Date.now()}),of.debug&&console.log("FileSystemCache: set",e),!this.flushToDisk||!t)return;let a=new oc(this.fs);if(t.kind===no.APP_ROUTE){let r=this.getFilePath(`${e}.body`,nl.APP_ROUTE);a.append(r,t.body);let n={headers:t.headers,status:t.status,postponed:void 0,segmentPaths:void 0,prefetchHints:void 0};a.append(r.replace(/\.body$/,H.EP),JSON.stringify(n,null,2))}else if(t.kind===no.PAGES||t.kind===no.APP_PAGE){let n=t.kind===no.APP_PAGE,i=this.getFilePath(`${e}.html`,n?nl.APP_PAGE:nl.PAGES);if(a.append(i,t.html),r.fetchCache||r.isFallback||r.isRoutePPREnabled||a.append(this.getFilePath(`${e}${n?H.RM:H.x3}`,n?nl.APP_PAGE:nl.PAGES),n?t.rscData:JSON.stringify(t.pageData)),(null==t?void 0:t.kind)===no.APP_PAGE){let e;if(t.segmentData){e=[];let r=i.replace(/\.html$/,H.mH);for(let[n,i]of t.segmentData){e.push(n);let t=r+n+H.tz;a.append(t,i)}}let r={headers:t.headers,status:t.status,postponed:t.postponed,segmentPaths:e,prefetchHints:void 0};a.append(i.replace(/\.html$/,H.EP),JSON.stringify(r))}}else if(t.kind===no.FETCH){let n=this.getFilePath(e,nl.FETCH);a.append(n,JSON.stringify({...t,tags:r.fetchCache?r.tags:[]}))}await a.wait()}getFilePath(e,t){let r;switch(t){case nl.FETCH:r=ol().join(this.serverDistDir,"..","cache","fetch-cache");break;case nl.PAGES:r=ol().join(this.serverDistDir,"pages");break;case nl.IMAGE:case nl.APP_PAGE:case nl.APP_ROUTE:r=ol().join(this.serverDistDir,"app");break;default:throw Object.defineProperty(Error(`Unexpected file path kind: ${t}`),"__NEXT_ERROR_CODE",{value:"E479",enumerable:!1,configurable:!0})}let n=ol().join(r,e);if(!(n.startsWith(r+ol().sep)||n===r))throw Object.defineProperty(Error(`Invalid file path: ${n}`),"__NEXT_ERROR_CODE",{value:"E1468",enumerable:!1,configurable:!0});return n}}function oh(e){return e.replace(/(?:\/index)?\/?$/,"")||"/"}let op=require("next/dist/server/lib/incremental-cache/shared-cache-controls.external.js");function om(e){let t="buffer"in e?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e),r="";for(let e of t)r+=e.toString(16).padStart(2,"0");return r}async function og(e){return a("crypto").createHash("sha256").update(e).digest("hex")}class oy{static #e=this.debug=!!process.env.NEXT_PRIVATE_DEBUG_CACHE;constructor({fs:e,dev:t,flushToDisk:r,minimalMode:n,serverDistDir:a,requestHeaders:i,maxMemoryCacheSize:s,getPrerenderManifest:o,fetchCacheKeyPrefix:l,CurCacheHandler:u,allowedRevalidateHeaderKeys:c}){var d,f,h,p;this.locks=new Map,this.hasCustomCacheHandler=!!u;const m=Symbol.for("@next/cache-handlers"),g=globalThis;if(u)oy.debug&&console.log("IncrementalCache: using custom cache handler",u.name);else{const t=g[m];(null==t?void 0:t.FetchCache)?(u=t.FetchCache,oy.debug&&console.log("IncrementalCache: using global FetchCache cache handler")):e&&a&&(oy.debug&&console.log("IncrementalCache: using filesystem cache handler"),u=of)}process.env.__NEXT_TEST_MAX_ISR_CACHE&&(s=parseInt(process.env.__NEXT_TEST_MAX_ISR_CACHE,10)),this.dev=t,this.disableForTestmode="true"===process.env.NEXT_PRIVATE_TEST_PROXY,this.minimalMode=n,this.requestHeaders=i,this.allowedRevalidateHeaderKeys=c,this.prerenderManifest=o(),this.cacheControls=new op.SharedCacheControls(this.prerenderManifest),this.fetchCacheKeyPrefix=l;let y=[];i[H.kz]===(null==(f=this.prerenderManifest)?void 0:null==(d=f.preview)?void 0:d.previewModeId)&&(this.isOnDemandRevalidate=!0),n&&(y=this.revalidatedTags=iY(i,null==(p=this.prerenderManifest)?void 0:null==(h=p.preview)?void 0:h.previewModeId)),u&&(this.cacheHandler=new u({dev:t,fs:e,flushToDisk:r,serverDistDir:a,revalidatedTags:y,maxMemoryCacheSize:s,_requestHeaders:i,fetchCacheKeyPrefix:l}))}calculateRevalidate(e,t,r,n){if(r)return Math.floor(performance.timeOrigin+performance.now()-1e3);let a=this.cacheControls.get(oh(e)),i=a?a.revalidate:n?!1:1;return"number"==typeof i?1e3*i+t:i}_getPathname(e,t){return t?e:$(e)}resetRequestCache(){var e,t;null==(t=this.cacheHandler)||null==(e=t.resetRequestCache)||e.call(t)}async lock(e){for(;;){let t=this.locks.get(e);if(oy.debug&&console.log("IncrementalCache: lock get",e,!!t),!t)break;await t}let{resolve:t,promise:r}=new es.q;return oy.debug&&console.log("IncrementalCache: successfully locked",e),this.locks.set(e,r),()=>{t(),this.locks.delete(e)}}async revalidateTag(e,t){var r;return null==(r=this.cacheHandler)?void 0:r.revalidateTag(e,t)}async generateSimpleCacheKey(e){return og(JSON.stringify(["v4",this.fetchCacheKeyPrefix||"",e]))}async generateCacheKey(e,t={}){let r=[],n=new TextEncoder,a=null,i=t.body;if(i)if("object"==typeof i&&"byteLength"in i)r.push(`bytes:${om(i)}`),t._ogBody=i;else if("function"==typeof i.getReader){let e=[];try{await i.pipeTo(new WritableStream({write(t){e.push("string"==typeof t?n.encode(t):t)}}));let a=e.reduce((e,t)=>e+t.length,0),s=new Uint8Array(a),o=0;for(let t of e)s.set(t,o),o+=t.length;r.push(`bytes:${om(s)}`),t._ogBody=s}catch(e){console.error("Problem reading body",e)}}else if("function"==typeof i.keys)for(let[e,n]of(a="[object FormData]"===String(i)?"multipart/form-data; boundary=":"application/x-www-form-urlencoded;charset=UTF-8",t._ogBody=i,i.entries()))r.push(`key:${e}`),"string"==typeof n?r.push(`str:${n}`):r.push("file",n.name,n.type,`bytes:${om(await n.arrayBuffer())}`);else if("function"==typeof i.arrayBuffer){let e=await i.arrayBuffer();r.push("blob",i.type,`bytes:${om(e)}`),t._ogBody=new Blob([e],{type:i.type}),a=i.type}else if("string"==typeof i)r.push(`str:${i}`),t._ogBody=i,a="text/plain;charset=UTF-8";else throw Object.defineProperty(Error(`Unsupported body type: ${typeof i}`),"__NEXT_ERROR_CODE",{value:"E1443",enumerable:!1,configurable:!0});let s="function"==typeof(t.headers||{}).keys?Object.fromEntries(t.headers):Object.assign({},t.headers);return"traceparent"in s&&delete s.traceparent,"tracestate"in s&&delete s.tracestate,og(JSON.stringify(["v4",this.fetchCacheKeyPrefix||"",e,t.method,a,s,t.mode,t.redirect,t.credentials,t.referrer,t.referrerPolicy,t.integrity,t.cache,r]))}async get(e,t){var r,n,a,i,s,o,l;let u,c;if(t.kind===nl.FETCH){let r=tr.workUnitAsyncStorage.getStore(),n=r?(0,tr.getResumeDataCache)(r):null;if(n){let r=n.fetch.get(e);if((null==r?void 0:r.kind)===no.FETCH){let n=C.workAsyncStorage.getStore();if(![...t.tags||[],...t.softTags||[]].some(e=>{var t,r;return(null==(t=this.revalidatedTags)?void 0:t.includes(e))||(null==n?void 0:null==(r=n.pendingRevalidatedTags)?void 0:r.some(t=>t.tag===e))}))return oy.debug&&console.log("IncrementalCache: rdc:hit",e),{isStale:!1,value:r};oy.debug&&console.log("IncrementalCache: rdc:revalidated-tag",e)}else oy.debug&&console.log("IncrementalCache: rdc:miss",e)}else oy.debug&&console.log("IncrementalCache: rdc:no-resume-data")}if(this.disableForTestmode||this.dev&&(t.kind!==nl.FETCH||"no-cache"===this.requestHeaders["cache-control"]))return null;e=this._getPathname(e,t.kind===nl.FETCH);let d=await (null==(r=this.cacheHandler)?void 0:r.get(e,t));if(t.kind===nl.FETCH){if(!d)return null;if((null==(a=d.value)?void 0:a.kind)!==no.FETCH)throw Object.defineProperty(new ey.z(`Expected cached value for cache key ${JSON.stringify(e)} to be a "FETCH" kind, got ${JSON.stringify(null==(i=d.value)?void 0:i.kind)} instead.`),"__NEXT_ERROR_CODE",{value:"E653",enumerable:!1,configurable:!0});let r=C.workAsyncStorage.getStore(),n=[...t.tags||[],...t.softTags||[]];if(n.some(e=>{var t,n;return(null==(t=this.revalidatedTags)?void 0:t.includes(e))||(null==r?void 0:null==(n=r.pendingRevalidatedTags)?void 0:n.some(t=>t.tag===e))}))return oy.debug&&console.log("IncrementalCache: expired tag",e),null;let s=tr.workUnitAsyncStorage.getStore();if(s){let t=(0,tr.getResumeDataCache)(s);(null==t?void 0:t.mutable)&&(oy.debug&&console.log("IncrementalCache: rdc:set",e),t.fetch.set(e,d.value))}let o=t.revalidate||d.value.revalidate,l=(performance.timeOrigin+performance.now()-(d.lastModified||0))/1e3>o,u=d.value.data;return(0,ou.areTagsExpired)(n,d.lastModified)?null:((0,ou.areTagsStale)(n,d.lastModified)&&(l=!0),{isStale:l,value:{kind:no.FETCH,data:u,revalidate:o}})}if((null==d?void 0:null==(n=d.value)?void 0:n.kind)===no.FETCH)throw Object.defineProperty(new ey.z(`Expected cached value for cache key ${JSON.stringify(e)} not to be a ${JSON.stringify(t.kind)} kind, got "FETCH" instead.`),"__NEXT_ERROR_CODE",{value:"E652",enumerable:!1,configurable:!0});let f=null,{isFallback:h}=t,p=this.cacheControls.get(oh(e));if((null==d?void 0:d.lastModified)===-1)u=-1,c=-1*H.eM*1e3;else{let r=performance.timeOrigin+performance.now(),n=(null==d?void 0:d.lastModified)||r;c=this.calculateRevalidate(e,n,this.dev??!1,t.isFallback);let a="number"==typeof(null==p?void 0:p.expire)?1e3*p.expire+n:void 0;if(void 0!==a&&a<r)u=-1;else if(void 0===(u=!1!==c&&c<r?!0:void 0)&&((null==d?void 0:null==(s=d.value)?void 0:s.kind)===no.APP_PAGE||(null==d?void 0:null==(o=d.value)?void 0:o.kind)===no.APP_ROUTE)){let e=null==(l=d.value.headers)?void 0:l[H.VC];if("string"==typeof e){let t=e.split(",");t.length>0&&((0,ou.areTagsExpired)(t,n)?u=-1:(0,ou.areTagsStale)(t,n)&&(u=!0))}}}return d&&(f={isStale:u,cacheControl:p,revalidateAfter:c,value:d.value,isFallback:h}),!d&&this.prerenderManifest.notFoundRoutes.includes(e)&&(f={isStale:u,value:null,cacheControl:p,revalidateAfter:c,isFallback:h},this.set(e,f.value,{...t,cacheControl:p})),f}async set(e,t,r){if((null==t?void 0:t.kind)===no.FETCH){let r=tr.workUnitAsyncStorage.getStore(),n=r?(0,tr.getResumeDataCache)(r):null;(null==n?void 0:n.mutable)&&(oy.debug&&console.log("IncrementalCache: rdc:set",e),n.fetch.set(e,t))}if(this.disableForTestmode||this.dev&&!r.fetchCache)return;e=this._getPathname(e,r.fetchCache);let n=JSON.stringify(t).length;if(r.fetchCache&&n>2097152&&!this.hasCustomCacheHandler&&!r.isImplicitBuildTimeCache){let t=`Failed to set Next.js data cache for ${r.fetchUrl||e}, items over 2MB can not be cached (${n} bytes)`;if(this.dev)throw Object.defineProperty(Error(t),"__NEXT_ERROR_CODE",{value:"E1003",enumerable:!1,configurable:!0});console.warn(t);return}try{var a;!r.fetchCache&&r.cacheControl&&this.cacheControls.set(oh(e),r.cacheControl),await (null==(a=this.cacheHandler)?void 0:a.set(e,t,r))}catch(t){console.warn("Failed to update prerender cache for",e,t)}}}let ov=Symbol.for("@next/router-server-methods"),ob=globalThis;function oS(e){var t,r;return(null==(r=e.has)?void 0:null==(t=r[0])?void 0:t.key)===eF.kO}let ow=e=>import(e).then(e=>e.default||e);class o_{get userland(){return this._userland}constructor({userland:e,definition:t,distDir:r,relativeProjectDir:n}){this._userland=e,this.definition=t,this.isDev=!1,this.distDir=r,this.relativeProjectDir=n}getRouterServerContext(e){var t;let r=R(e,"hostname"),n=R(e,"revalidate"),a=R(e,"render404"),i=R(e,"relativeProjectDir")||this.relativeProjectDir;return{...null==(t=ob[ov])?void 0:t[i],...void 0!==r?{hostname:r}:{},...void 0!==n?{revalidate:n}:{},...void 0!==a?{render404:a}:{}}}normalizeUrl(e,t){}async instrumentationOnRequestError(e,...t){{let{join:r}=a("node:path"),n=r(process.cwd(),R(e,"relativeProjectDir")||this.relativeProjectDir),{instrumentationOnRequestError:i}=await Promise.resolve().then(a.t.bind(a,"../lib/router-utils/instrumentation-globals.external.js",23));return i(n,this.distDir,...t)}}loadManifests(e,t){let r;{var n,i;let s;if(!t)throw Object.defineProperty(Error("Invariant: projectDir is required for node runtime"),"__NEXT_ERROR_CODE",{value:"E718",enumerable:!1,configurable:!0});let{loadManifestFromRelativePath:o}=a("../load-manifest.external"),l=$(e),u=this.definition.kind===nu.PAGES||this.definition.kind===nu.PAGES_API?"pages":"app",[c,d,f,h,p,m,g,y,v,b,S,w,_]=[o({projectDir:t,distDir:this.distDir,manifest:"routes-manifest.json",shouldCache:!this.isDev}),o({projectDir:t,distDir:this.distDir,manifest:"prerender-manifest.json",shouldCache:!this.isDev}),o({projectDir:t,distDir:this.distDir,manifest:s3,shouldCache:!this.isDev}),"/_error"===e?o({projectDir:t,distDir:this.distDir,manifest:`fallback-${s3}`,shouldCache:!this.isDev,handleMissing:!0}):{},o({projectDir:t,distDir:this.distDir,manifest:`server/${"app"===u?"app":"pages"}${l}/react-loadable-manifest.json`,handleMissing:!0,shouldCache:!this.isDev}),o({projectDir:t,distDir:this.distDir,manifest:"server/next-font-manifest.json",shouldCache:!this.isDev}),"app"!==u||(s=(i=e).replace(/\/route$/,""),i.endsWith("/route")&&function(e,t,r){if(!e||e.length<2)return!1;let n=e.replace(/\\/g,"/"),a=ot.test(n)?!0:or.test(n)?!0:on.test(n)?!0:oa.test(n)?!0:oi.test(n)?!0:n.includes("robots")||n.includes("manifest")||n.includes("sitemap")||n.includes("icon")||n.includes("apple-icon")||n.includes("opengraph-image")||n.includes("twitter-image")||n.includes("favicon")?null:!1;if(null!==a)return a;let i=function(e,t){let r=`${e.join(",")}|${t}`,n=os.get(r);if(n)return n;let a=t?"$":"?$",i="\\d?"+(t?"":"(-\\w{6})?"),s=e.length>0?[...e,"txt"]:["txt"],o=e.length>0?[...e,"webmanifest","json"]:["webmanifest","json"],l=[RegExp(`^[\\\\/]robots${oe(s,null)}${a}`),RegExp(`^[\\\\/]manifest${oe(o,null)}${a}`),RegExp(`[\\\\/]sitemap${oe(["xml"],e)}${a}`),RegExp(`[\\\\/]icon${i}${oe(s6,e)}${a}`),RegExp(`[\\\\/]apple-icon${i}${oe(s9,e)}${a}`),RegExp(`[\\\\/]opengraph-image${i}${oe(s5,e)}${a}`),RegExp(`[\\\\/]twitter-image${i}${oe(s7,e)}${a}`)];return os.set(r,l),l}(t,r);for(let e=0;e<i.length;e++)if(i[e].test(n))return!0;return!1}(s,[],!0)&&"/robots.txt"!==s&&"/manifest.webmanifest"!==s&&!s.endsWith("/sitemap.xml"))?void 0:o({distDir:this.distDir,projectDir:t,useEval:!0,handleMissing:!0,manifest:`server/app${e.replace(/%5F/g,"_")+"_client-reference-manifest"}.js`,shouldCache:!this.isDev}),"app"===u?o({distDir:this.distDir,projectDir:t,manifest:"server/server-reference-manifest.json",handleMissing:!0,shouldCache:!this.isDev}):{},o({projectDir:t,distDir:this.distDir,manifest:"server/subresource-integrity-manifest.json",handleMissing:!0,shouldCache:!this.isDev}),this.isDev?void 0:o({projectDir:t,distDir:this.distDir,shouldCache:!0,manifest:"required-server-files.json"}),this.isDev?"development":o({projectDir:t,distDir:this.distDir,manifest:"BUILD_ID",skipParse:!0,shouldCache:!0}),o({projectDir:t,distDir:this.distDir,manifest:"dynamic-css-manifest",shouldCache:!this.isDev,handleMissing:!0}),"app"===u?o({projectDir:t,distDir:this.distDir,manifest:"server/prefetch-hints.json",shouldCache:!this.isDev,handleMissing:!0}):void 0];r={buildId:S,buildManifest:f,fallbackBuildManifest:h,routesManifest:c,nextFontManifest:m,prerenderManifest:d,serverFilesManifest:b,reactLoadableManifest:p,clientReferenceManifest:null==g?void 0:null==(n=g.__RSC_MANIFEST)?void 0:n[e.replace(/%5F/g,"_")],serverActionsManifest:y,subresourceIntegrityManifest:v,dynamicCssManifest:w,prefetchHintsManifest:_,interceptionRoutePatterns:c.rewrites.beforeFiles.filter(oS).map(e=>new RegExp(e.regex))}}return r}async loadCustomCacheHandlers(e,t){{let{cacheMaxMemorySize:r,cacheHandlers:n}=t;if(!n)return;if(!(0,e2.q3)(r))return;for(let[t,r]of Object.entries(n)){if(!r)continue;let{formatDynamicImportPath:n}=a("./dist/esm/lib/format-dynamic-import-path.js"),{join:i}=a("node:path"),s=i(process.cwd(),R(e,"relativeProjectDir")||this.relativeProjectDir);(0,e2.XJ)(t,r9(await ow(n(`${s}/${this.distDir}`,r))))}}}async getIncrementalCache(e,t,r,n){{let i,{cacheHandler:s}=t;if(s){let{formatDynamicImportPath:e}=a("./dist/esm/lib/format-dynamic-import-path.js");i=r9(await ow(e(this.distDir,s)))}let{join:o}=a("node:path"),l=o(process.cwd(),R(e,"relativeProjectDir")||this.relativeProjectDir);await this.loadCustomCacheHandlers(e,t);let u=new oy({fs:a("./dist/esm/server/lib/node-fs-methods.js").e,dev:this.isDev,requestHeaders:e.headers,allowedRevalidateHeaderKeys:t.experimental.allowedRevalidateHeaderKeys,minimalMode:n,serverDistDir:`${l}/${this.distDir}/server`,fetchCacheKeyPrefix:t.experimental.fetchCacheKeyPrefix,maxMemoryCacheSize:t.cacheMaxMemorySize,flushToDisk:!n&&t.experimental.isrFlushToDisk,getPrerenderManifest:()=>r,CurCacheHandler:i});return globalThis.__incrementalCache=u,u}}async onRequestError(e,t,r,n,a){n||((null==a?void 0:a.logErrorWithOriginalStack)?a.logErrorWithOriginalStack(t,"app-dir"):console.error(t)),await this.instrumentationOnRequestError(e,t,{path:e.url||"/",headers:e.headers,method:e.method||"GET"},r)}getNextConfigEdge(e){throw Object.defineProperty(Error("Invariant: getNextConfigEdge must only be called in edge runtime"),"__NEXT_ERROR_CODE",{value:"E968",enumerable:!1,configurable:!0})}async prepare(e,t,{srcPage:r,multiZoneDraftMode:n}){var i,s;let o,l,u,c,d;{t&&function(e,t){if(t[s8])return;let r=t.setHeader.bind(t);Object.defineProperty(t,s8,{value:!0}),t.setHeader=(n,a)=>{if("headersSent"in t&&t.headersSent)return t;if("set-cookie"===n.toLowerCase()){let t=R(e,"middlewareCookie");t&&Array.isArray(a)&&a.every((e,r)=>e===t[r])||(a=[...new Set([...t||[],..."string"==typeof a?[a]:Array.isArray(a)?a:[]])])}return r(n,a)}}(e,t);let{join:r,relative:n}=a("node:path");o=r(process.cwd(),R(e,"relativeProjectDir")||this.relativeProjectDir);let i=R(e,"distDir");i&&(this.distDir=n(o,i));let{ensureInstrumentationRegistered:s}=await Promise.resolve().then(a.t.bind(a,"../lib/router-utils/instrumentation-globals.external.js",23));await s(o,this.distDir)}let f=this.loadManifests(r,o),{routesManifest:h,prerenderManifest:p,serverFilesManifest:m}=f,{basePath:g,i18n:y,rewrites:v}=h,b=this.getRouterServerContext(e),S=(null==b?void 0:b.nextConfig)||(null==m?void 0:m.config),w=(null==(i=e.headers["x-forwarded-proto"])?void 0:i.includes("https"))?"https":"http";if(!R(e,"initURL")){let t=(null==m?void 0:m.config.experimental.trustHostHeader)?`${w}://${e.headers.host||"localhost"}${e.url}`:`${w}://${(null==b?void 0:b.hostname)||"localhost"}${e.url}`;k(e,"initURL",t),k(e,"initProtocol",w)}g&&(e.url=(0,Q.y)(e.url||"/",g));let _=iW(e.url||"/");if(k(e,"initQuery",{...null==_?void 0:_.query}),!_)return;let E=!1;(0,G.m)(_.pathname||"/","/_next/data")&&(E=!0,_.pathname=s4(_.pathname||"/")),this.normalizeUrl(e,_);let x=_.pathname||"/",P={..._.query},C=I(r);y&&(l=Y(_.pathname||"/",y.locales)).detectedLocale&&(e.url=`${l.pathname}${_.search}`,x=l.pathname,u||(u=l.detectedLocale));let T=(0,e0.Yr)(r),O=function({page:e,i18n:t,basePath:r,rewrites:n,pageIsDynamic:i,trailingSlash:s,caseSensitive:o}){let l,u,c;if(i){var d;let t,r;r=(t=function(e,t,r,n,a,i={names:{},intercepted:{}}){let s,o=(s=0,()=>{let e="",t=++s;for(;t>0;)e+=String.fromCharCode(97+(t-1)%26),t=Math.floor((t-1)/26);return e}),l={},u=[],c=[];for(let s of(i=structuredClone(i),z(e).slice(1).split("/"))){let e,d=A.VB.some(e=>s.startsWith(e)),f=s.match(nH),h=d?f?.[1]:void 0;if(h&&f?.[2]?(e=t?H.h:void 0,i.intercepted[f[2]]=h):e=f?.[2]&&i.intercepted[f[2]]?t?H.h:void 0:t?H.AA:void 0,h&&f&&f[2]){let{key:t,pattern:r,cleanedKey:n,repeat:s,optional:d}=i$({getSafeRouteKey:o,interceptionMarker:h,segment:f[2],routeKeys:l,keyPrefix:e,backreferenceDuplicateKeys:a});u.push(r),c.push(`/${f[1]}:${i.names[t]??n}${s?d?"*":"+":""}`),i.names[t]??=n}else if(f&&f[2]){n&&f[1]&&(u.push(`/${iI(f[1])}`),c.push(`/${f[1]}`));let{key:t,pattern:r,cleanedKey:s,repeat:d,optional:h}=i$({getSafeRouteKey:o,segment:f[2],routeKeys:l,keyPrefix:e,backreferenceDuplicateKeys:a}),p=r;n&&f[1]&&(p=p.substring(1)),u.push(p),c.push(`/:${i.names[t]??s}${d?h?"*":"+":""}`),i.names[t]??=s}else u.push(`/${iI(s)}`),c.push(`/${s}`);r&&f&&f[3]&&(u.push(iI(f[3])),c.push(f[3]))}return{namedParameterizedRoute:u.join(""),routeKeys:l,pathToRegexpPattern:c.join(""),reference:i}}(e,(d={prefixRouteKeys:!1}).prefixRouteKeys,d.includeSuffix??!1,d.includePrefix??!1,d.backreferenceDuplicateKeys??!1,d.reference)).namedParameterizedRoute,d.excludeOptionalTrailingSlash||(r+="(?:/)?"),c=(u=iq(l={...iD(e,d),namedRegex:`^${r}$`,routeKeys:t.routeKeys,pathToRegexpPattern:t.pathToRegexpPattern,reference:t.reference}))(e)}return{handleRewrites:function(l,c){let d=structuredClone(c),f={},h=d.pathname,p=n=>{var c,p;let m,g,y,v=(c=n.source+(s?"(/)?":""),p={removeUnnamedParams:!0,strict:!0,sensitive:!!o},m=[],g=(0,iA.pathToRegexp)(c,m,{delimiter:"/",sensitive:"boolean"==typeof p?.sensitive?p.sensitive:!1,strict:p?.strict}),y=(0,iA.regexpToFunction)(p?.regexModifier?new RegExp(p.regexModifier(g.source),g.flags):g,m),(e,t)=>{if("string"!=typeof e)return!1;let r=y(e);if(!r)return!1;if(p?.removeUnnamedParams)for(let e of m)"number"==typeof e.name&&delete r.params[e.name];return{...t,...r.params}});if(!d.pathname)return!1;let b=v(d.pathname);if((n.has||n.missing)&&b){let e=function(e,t,r=[],n=[]){let i={},s=r=>{let n,s=r.key;switch(r.type){case"header":s=s.toLowerCase(),n=e.headers[s];break;case"cookie":if("cookies"in e)n=e.cookies[r.key];else{var o;n=(o=e.headers,function(){let{cookie:e}=o;if(!e)return{};let{parse:t}=a("./dist/compiled/cookie/index.js");return t(Array.isArray(e)?e.join("; "):e)})()[r.key]}break;case"query":n=t[s];break;case"host":{let{host:t}=e?.headers||{};n=t?.split(":",1)[0].toLowerCase()}}if(!r.value&&n)return i[function(e){let t="";for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);(n>64&&n<91||n>96&&n<123)&&(t+=e[r])}return t}(s)]=n,!0;if(n){let e=RegExp(`^${r.value}$`),t=Array.isArray(n)?n.slice(-1)[0].match(e):n.match(e);if(t)return Array.isArray(t)&&(t.groups?Object.keys(t.groups).forEach(e=>{i[e]=t.groups[e]}):"host"===r.type&&t[0]&&(i.host=t[0])),!0}return!1};return r.every(e=>s(e))&&!n.some(e=>s(e))?i:!1}(l,d.query,n.has,n.missing);e?Object.assign(b,e):b=!1}if(b){let{parsedDestination:a,destQuery:s}=function(e){let t,r,n=function(e){let t=e.destination;for(let r of Object.keys({...e.params,...e.query}))r&&(t=t.replace(RegExp(`:${iI(r)}`,"g"),`__ESC_COLON_${r}`));let r=function(e){if(e.startsWith("/"))return(0,n2.r)(e);let t=new URL(e),r=t.username,n=t.password,a=r?n?`${r}:${n}`:r:null,i=t.pathname,s=t.search;return{auth:a,hash:t.hash,hostname:t.hostname,href:t.href,pathname:i,port:t.port,protocol:t.protocol,query:(0,iB.v1)(t.searchParams),search:s,origin:t.origin,slashes:"//"===t.href.slice(t.protocol.length,t.protocol.length+2)}}(t),n=r.pathname;n&&(n=iz(n));let a=r.href;a&&(a=iz(a));let i=r.hostname;i&&(i=iz(i));let s=r.hash;s&&(s=iz(s));let o=r.search;o&&(o=iz(o));let l=r.origin;return l&&(l=iz(l)),{...r,pathname:n,hostname:i,href:a,hash:s,search:o,origin:l}}(e),{hostname:a,query:i,search:s}=n,o=n.pathname;n.hash&&(o=`${o}${n.hash}`);let l=[],u=[];for(let e of(iF(o,u),u))l.push(e.name);if(a){let e=[];for(let t of(iF(a,e),e))l.push(t.name)}let c=iH(o,{validate:!1});for(let[r,n]of(a&&(t=iH(a,{validate:!1,encode:encodeURIComponent})),Object.entries(i)))Array.isArray(n)?i[r]=n.map(t=>iV(iz(t),e.params)):"string"==typeof n&&(i[r]=iV(iz(n),e.params));let d=Object.keys(e.params).filter(e=>"nextInternalLocale"!==e);if(e.appendParamsToQuery&&!d.some(e=>l.includes(e)))for(let t of d)t in i||(i[t]=e.params[t]);if((0,A.m1)(o))for(let t of o.split("/")){let r=A.VB.find(e=>t.startsWith(e));if(r){"(..)(..)"===r?(e.params["0"]="(..)",e.params["1"]="(..)"):e.params["0"]=r;break}}try{let[a,i]=(r=c(e.params)).split("#",2);t&&(n.hostname=t(e.params)),n.pathname=a,n.hash=`${i?"#":""}${i||""}`,n.search=s?iV(s,e.params):""}catch(e){if(e.message.match(/Expected .*? to not repeat, but got an array/))throw Object.defineProperty(Error("To use a multi-match in the destination you must add `*` at the end of the param name to signify it should repeat. https://nextjs.org/docs/messages/invalid-multi-match"),"__NEXT_ERROR_CODE",{value:"E329",enumerable:!1,configurable:!0});throw e}return n.query={...e.query,...n.query},{newUrl:r,destQuery:i,parsedDestination:n}}({appendParamsToQuery:!0,destination:n.destination,params:b,query:d.query});if(a.protocol)return!0;if(Object.assign(f,s,b),Object.assign(d.query,a.query),delete a.query,Object.assign(d,a),!(h=d.pathname))return!1;if(r&&(h=h.replace(RegExp(`^${r}`),"")||"/"),t){let e=Y(h,t.locales);h=e.pathname,d.query.nextInternalLocale=e.detectedLocale||b.nextInternalLocale}if(h===e)return!0;if(i&&u){let e=u(h);if(e)return d.query={...d.query,...e},!0}}return!1};for(let e of n.beforeFiles||[])p(e);if(h!==e){let t,r=!1;for(let e of n.afterFiles||[])if(r=p(e))break;if(!r&&!((t=z(h||""))===z(e)||(null==u?void 0:u(t)))){for(let e of n.fallback||[])if(r=p(e))break}}return{rewriteParams:f,rewrittenParsedUrl:d}},defaultRouteRegex:l,dynamicRouteMatcher:u,defaultRouteMatches:c,normalizeQueryParams:function(e,t){for(let[r,n]of(delete e.nextInternalLocale,Object.entries(e))){let a=q(r);a&&(delete e[r],t.add(a),void 0!==n&&(e[a]=Array.isArray(n)?n.map(e=>iX(e)):iX(n)))}},getParamsFromRouteMatches:function(e){if(!l)return null;let{groups:t,routeKeys:r}=l,n=iq({re:{exec:e=>{let n=Object.fromEntries(new URLSearchParams(e));for(let[e,t]of Object.entries(n)){let r=q(e);r&&(n[r]=t,delete n[e])}let a={};for(let e of Object.keys(r)){let i=r[e];if(!i)continue;let s=t[i],o=n[e];if(!s.optional&&!o)return null;a[s.pos]=o}return a}},groups:t})(e);return n?n:null},normalizeDynamicRouteParams:(e,t)=>l&&c?function(e,t,r,n){let a=(e,t)=>{if(!e)return!1;let r=(0,e0.P7)(e);for(let e=0;e<3;e++){if(r===t)return!0;let e=iX(r);if(e===r)break;r=e}return!1},i={};for(let s of Object.keys(t.groups)){let o=e[s];"string"==typeof o?o=(0,e0.P7)(o):Array.isArray(o)&&(o=o.map(e0.P7));let l=r[s],u=t.groups[s].optional;if((Array.isArray(l)?l.some(e=>Array.isArray(o)?o.some(t=>a(t,e)):a(o,e)):Array.isArray(o)?o.some(e=>a(e,l)):a(o,l))||void 0===o&&!(u&&n))return{params:{},hasValidParams:!1};u&&(!o||Array.isArray(o)&&1===o.length&&("index"===o[0]||o[0]===`[[...${s}]]`)||"index"===o||o===`[[...${s}]]`)&&(o=void 0,delete e[s]),o&&"string"==typeof o&&t.groups[s].repeat&&(o=o.split("/")),o&&(i[s]=o)}return{params:i,hasValidParams:!0}}(e,l,c,t):{params:{},hasValidParams:!1},normalizeCdnUrl:(e,t)=>(function(e,t){let r=iW(e.url);if(!r)return e.url;delete r.search,iK(r.query,t),e.url=iJ(r)})(e,t),interpolateDynamicPath:(e,t)=>(function(e,t,r){if(!r)return e;for(let n of Object.keys(r.groups)){let a,{optional:i,repeat:s}=r.groups[n],o=`[${s?"...":""}${n}]`;i&&(o=`[${o}]`);let l=t[n];((a=Array.isArray(l)?l.map(e=>e&&encodeURIComponent(e)).join("/"):l?encodeURIComponent(l):"")||i)&&(e=e.replaceAll(o,a))}return e})(e,t,l),filterInternalQuery:(e,t)=>iK(e,t)}}({page:T,i18n:y,basePath:g,rewrites:v,pageIsDynamic:C,trailingSlash:process.env.__NEXT_TRAILING_SLASH,caseSensitive:!!h.caseSensitive}),j=B(null==y?void 0:y.domains,J(_,e.headers),u);j&&k(e,"isLocaleDomain",!!j);let $=R(e,"defaultLocale")||(null==j?void 0:j.defaultLocale)||(null==y?void 0:y.defaultLocale);$&&!u&&(_.pathname=`/${$}${"/"===_.pathname?"":_.pathname}`);let N=R(e,"locale")||u||$,{rewriteParams:M,rewrittenParsedUrl:L}=O.handleRewrites(e,_),U=Object.keys(M);Object.assign(_.query,L.query),y&&(_.pathname=Y(_.pathname||"/",y.locales).pathname,L.pathname=Y(L.pathname||"/",y.locales).pathname);let F=R(e,"params");if(!F&&O.dynamicRouteMatcher){let e=O.dynamicRouteMatcher(s4((null==L?void 0:L.pathname)||_.pathname||"/")),t=O.normalizeDynamicRouteParams(e||{},!0);t.hasValidParams&&(F=t.params)}let V=R(e,"query")||{..._.query},X=new Set,W=[];if(this.definition.kind===nu.PAGES||this.definition.kind===nu.PAGES_API)for(let e of[...U,...Object.keys(O.defaultRouteMatches||{})]){let t=Array.isArray(P[e])?P[e].join(""):P[e],r=Array.isArray(V[e])?V[e].join(""):V[e];e in P&&t!==r||W.push(e)}if(O.normalizeCdnUrl(e,W),(null==b?void 0:b.isWrappedByNextServer)?O.filterInternalQuery(V,[]):O.normalizeQueryParams(V,X),O.filterInternalQuery(P,W),C){let t,r=O.normalizeDynamicRouteParams(V,!0),n=O.normalizeDynamicRouteParams(F||{},!0);if(V&&F&&n.hasValidParams&&r.hasValidParams&&X.size>0&&Object.keys(n.params).length<=Object.keys(r.params).length?(t=r.params,F=Object.assign(r.params)):t=n.hasValidParams&&F?F:r.hasValidParams?V:{},e.url=O.interpolateDynamicPath(e.url||"/",t),_.pathname=O.interpolateDynamicPath(_.pathname||"/",t),x=O.interpolateDynamicPath(x,t),!F)if(r.hasValidParams)for(let e in F=Object.assign({},r.params),O.defaultRouteMatches)delete V[e];else{let e=null==O.dynamicRouteMatcher?void 0:O.dynamicRouteMatcher.call(O,s4((null==l?void 0:l.pathname)||_.pathname||"/"));e&&(F=Object.assign({},e))}if(F&&X.size>0&&!n.hasValidParams&&!r.hasValidParams){for(let e of X)void 0!==V[e]&&(F[e]=V[e]);k(e,"resolvedRouteParamKeys",X)}}for(let e of X)e in P?P[e]&&V[e]&&P[e]!==V[e]&&(V[e]=P[e]):delete V[e];let{isOnDemandRevalidate:K,revalidateOnlyGenerated:Z}=(0,eW.checkIsOnDemandRevalidate)(e.headers,p.preview),ee=!1;if(t){let{tryGetPreviewData:r}=a("./dist/esm/server/api-utils/node/try-get-preview-data.js");ee=!1!==(c=r(e,t,p.preview,!!n))}if(!S)throw Object.defineProperty(Error("Invariant: nextConfig couldn't be loaded"),"__NEXT_ERROR_CODE",{value:"E969",enumerable:!1,configurable:!0});{let{installProcessErrorHandlers:e}=a("./dist/esm/server/node-environment-extensions/process-error-handlers.js");e(!!S.experimental.removeUncaughtErrorAndRejectionListeners)}let et=T;I(et)&&F&&(et=O.interpolateDynamicPath(et,F)),"/index"===et&&(et="/"),t&&e.headers["x-nextjs-data"]&&(!t.statusCode||200===t.statusCode)&&t.setHeader("x-nextjs-matched-path",z(`${N?`/${N}`:""}${T}`));let er=et;try{et=et.split("/").map(e=>{try{var t;t=decodeURIComponent(e),e=t.replace(RegExp("([/#?\\\\]|%(2f|23|3f|5c))","gi"),e=>encodeURIComponent(e))}catch(e){throw Object.defineProperty(new D.Xc("Failed to decode path param(s)."),"__NEXT_ERROR_CODE",{value:"E539",enumerable:!1,configurable:!0})}return e}).join("/")}catch(e){}if(k(e,"resolvedPathname",et=z(et)),null==(s=S.experimental)?void 0:s.runtimeServerDeploymentId){if(!process.env.NEXT_DEPLOYMENT_ID)throw Object.defineProperty(Error("process.env.NEXT_DEPLOYMENT_ID is missing but runtimeServerDeploymentId is enabled"),"__NEXT_ERROR_CODE",{value:"E970",enumerable:!1,configurable:!0});d=process.env.NEXT_DEPLOYMENT_ID}else d=S.deploymentId||"";return{query:V,originalQuery:P,originalPathname:x,params:F,parsedUrl:_,locale:N,isNextDataRequest:E,locales:null==y?void 0:y.locales,defaultLocale:$,isDraftMode:ee,previewData:c,pageIsDynamic:C,resolvedPathname:et,encodedResolvedPathname:er,isOnDemandRevalidate:K,revalidateOnlyGenerated:Z,...f,nextConfig:S,routerServerContext:b,deploymentId:d,clientAssetToken:S.supportsImmutableAssets?"":d}}getResponseCache(e){if(!this.responseCache){let t=R(e,"minimalMode")??!1;this.responseCache=new ny(t)}return this.responseCache}async handleResponse({req:e,nextConfig:t,cacheKey:r,routeKind:n,isFallback:a,prerenderManifest:i,isRoutePPREnabled:s,isOnDemandRevalidate:o,revalidateOnlyGenerated:l,responseGenerator:u,waitUntil:c,isMinimalMode:d}){let f=this.getResponseCache(e),h=await f.get(r,u,{routeKind:n,isFallback:a,isRoutePPREnabled:s,isOnDemandRevalidate:o,isPrefetch:"prefetch"===e.headers.purpose||!0===R(e,"isPrefetchRSCRequest"),invocationID:e.headers["x-invocation-id"],incrementalCache:await this.getIncrementalCache(e,t,i,d),waitUntil:c});if(!h&&r&&!(o&&l))throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return h}}var oE=a("./dist/esm/shared/lib/head-manager-context.shared-runtime.js");let oR=U.createContext(null);class ok{constructor(e,t){this.matchers=Object.entries(t.dynamicRoutes).filter(([t,r])=>r.fallbackSourceRoute===e||t===e).map(([e,t])=>({source:e,route:t}))}match(e){for(let t of this.matchers)if(t.matcher||(t.matcher=iq(iD(t.source))),t.matcher(e))return{source:t.source,route:t.route};return null}}class ox{constructor(e){this.suffix=e}match(e){return!!e.endsWith(this.suffix)}normalize(e,t){return t||this.match(e)?e.substring(0,e.length-this.suffix.length):e}}class oP extends ox{constructor(){super(H.RM)}}let oC=RegExp(`^(/.*)${iI(H.mH)}(/.*)${iI(H.tz)}$`);class oT{match(e){return oC.test(e)}extract(e){let t=e.match(oC);return t?{originalPathname:t[1],segmentPath:t[2]}:null}normalize(e){let t=this.extract(e);return t?t.originalPathname:e}}function oA(e){return Array.isArray(e)?e[0]:e}{t=a("(react-server)/./dist/esm/server/route-modules/app-page/vendored/rsc/entrypoints.js"),r=a("./dist/esm/server/route-modules/app-page/vendored/ssr/entrypoints.js");let{registerServerReact:e,registerClientReact:n}=a("../../runtime-reacts.external");e(t.React),n(r.React)}class oO extends o_{match(e,t){let r=this.matchers.get(t);return r||(r=new ok(this.definition.pathname,t),this.matchers.set(t,r)),r.match(e)}normalizeUrl(e,t){if(this.normalizers.segmentPrefetchRSC.match(t.pathname||"/")){let r=this.normalizers.segmentPrefetchRSC.extract(t.pathname||"/");if(!r)return!1;let{originalPathname:n,segmentPath:a}=r;t.pathname=n,e.headers[eF.hY]="1",e.headers[eF._V]="1",e.headers[eF.qm]=a,k(e,"isRSCRequest",!0),k(e,"isPrefetchRSCRequest",!0),k(e,"segmentPrefetchRSCRequest",a)}else this.normalizers.rsc.match(t.pathname||"/")?(t.pathname=this.normalizers.rsc.normalize(t.pathname||"/",!0),e.headers[eF.hY]="1"):super.normalizeUrl(e,t);!function(e){if("1"!==e.headers[eF.hY])return;if(k(e,"isRSCRequest",!0),"1"!==oA(e.headers[eF._V]))return;k(e,"isPrefetchRSCRequest",!0);let t=oA(e.headers[eF.qm]);t&&k(e,"segmentPrefetchRSCRequest",t)}(e),function(e,t){if(!e.url)return;let r=iW(e.url);r&&(r.pathname=t,e.url=iJ(r))}(e,t.pathname||"/")}render(e,t,r){return s_(e,t,r.page,r.query,r.fallbackRouteParams,r.renderOpts,r.serverComponentsHmrCache,r.sharedContext)}runValidationInDev(e,t,r){return sM(t,e,r)}pathCouldBeIntercepted(e,t){return(0,A.m1)(e)||t.some(t=>t.test(e))}getVaryHeader(e,t){let r=`${eF.hY}, ${eF.B}, ${eF._V}, ${eF.qm}`;return this.pathCouldBeIntercepted(e,t)?`${r}, ${eF.kO}`:r}constructor(...e){super(...e),this.matchers=new WeakMap,this.normalizers={rsc:new oP,segmentPrefetchRSC:new oT}}}let oj={"react-rsc":t,"react-ssr":r,contexts:_},oI=oO})(),module.exports=i})();
|
|
183
183
|
//# sourceMappingURL=app-page-turbo-experimental.runtime.prod.js.map
|