From 5ef5ed7b536ceff267b653595d98c6620e2e1007 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 9 Apr 2025 02:34:44 +0000 Subject: [PATCH] sync docs@c640c57 --- .../01-getting-started/01-installation.mdx | 188 ++++++++-------- .../02-project-structure.mdx | 202 ++++++++++++------ .../03-layouts-and-pages.mdx | 42 ++-- .../04-images-and-fonts.mdx | 58 +++-- docs/01-app/01-getting-started/05-css.mdx | 27 ++- .../01-getting-started/06-fetching-data.mdx | 78 +++---- .../01-getting-started/07-updating-data.mdx | 57 +++-- .../01-getting-started/08-error-handling.mdx | 30 +-- .../10-metadata-and-og-images.mdx | 20 +- .../01-getting-started/12-upgrading.mdx | 7 +- .../01-routing/03-layouts-and-templates.mdx | 36 ++-- .../01-routing/08-route-groups.mdx | 94 ++------ docs/01-app/04-deep-dive/index.mdx | 4 + .../01-directives/index.mdx | 0 .../01-directives/use-cache.mdx | 0 .../01-directives/use-client.mdx | 0 .../01-directives/use-server.mdx | 0 .../02-components/font.mdx | 0 .../02-components/form.mdx | 0 .../02-components/image.mdx | 0 .../02-components/index.mdx | 0 .../02-components/link.mdx | 0 .../02-components/script.mdx | 0 .../01-metadata/app-icons.mdx | 0 .../03-file-conventions/01-metadata/index.mdx | 0 .../01-metadata/manifest.mdx | 0 .../01-metadata/opengraph-image.mdx | 0 .../01-metadata/robots.mdx | 0 .../01-metadata/sitemap.mdx | 0 .../03-file-conventions/default.mdx | 0 .../03-file-conventions/error.mdx | 0 .../03-file-conventions/forbidden.mdx | 0 .../03-file-conventions/index.mdx | 0 .../instrumentation-client.mdx | 0 .../03-file-conventions/instrumentation.mdx | 0 .../03-file-conventions/layout.mdx | 0 .../03-file-conventions/loading.mdx | 0 .../03-file-conventions/mdx-components.mdx | 0 .../03-file-conventions/middleware.mdx | 0 .../03-file-conventions/not-found.mdx | 0 .../03-file-conventions/page.mdx | 0 .../route-segment-config.mdx | 0 .../03-file-conventions/route.mdx | 0 .../03-file-conventions/template.mdx | 0 .../03-file-conventions/unauthorized.mdx | 0 .../04-functions/after.mdx | 0 .../04-functions/cacheLife.mdx | 0 .../04-functions/cacheTag.mdx | 0 .../04-functions/connection.mdx | 0 .../04-functions/cookies.mdx | 0 .../04-functions/draft-mode.mdx | 0 .../04-functions/fetch.mdx | 0 .../04-functions/forbidden.mdx | 0 .../04-functions/generate-image-metadata.mdx | 0 .../04-functions/generate-metadata.mdx | 0 .../04-functions/generate-sitemaps.mdx | 0 .../04-functions/generate-static-params.mdx | 0 .../04-functions/generate-viewport.mdx | 0 .../04-functions/headers.mdx | 0 .../04-functions/image-response.mdx | 0 .../04-functions/index.mdx | 0 .../04-functions/next-request.mdx | 0 .../04-functions/next-response.mdx | 0 .../04-functions/not-found.mdx | 0 .../04-functions/permanentRedirect.mdx | 0 .../04-functions/redirect.mdx | 0 .../04-functions/revalidatePath.mdx | 0 .../04-functions/revalidateTag.mdx | 0 .../04-functions/unauthorized.mdx | 0 .../04-functions/unstable_cache.mdx | 0 .../04-functions/unstable_noStore.mdx | 0 .../04-functions/unstable_rethrow.mdx | 0 .../04-functions/use-link-status.mdx | 14 +- .../04-functions/use-params.mdx | 0 .../04-functions/use-pathname.mdx | 0 .../04-functions/use-report-web-vitals.mdx | 0 .../04-functions/use-router.mdx | 0 .../04-functions/use-search-params.mdx | 0 .../use-selected-layout-segment.mdx | 0 .../use-selected-layout-segments.mdx | 0 .../04-functions/userAgent.mdx | 0 .../01-next-config-js/allowedDevOrigins.mdx | 0 .../05-config/01-next-config-js/appDir.mdx | 0 .../01-next-config-js/assetPrefix.mdx | 0 .../01-next-config-js/authInterrupts.mdx | 0 .../05-config/01-next-config-js/basePath.mdx | 0 .../05-config/01-next-config-js/cacheLife.mdx | 0 .../05-config/01-next-config-js/compress.mdx | 0 .../01-next-config-js/crossOrigin.mdx | 0 .../01-next-config-js/cssChunking.mdx | 0 .../01-next-config-js/devIndicators.mdx | 0 .../05-config/01-next-config-js/distDir.mdx | 0 .../05-config/01-next-config-js/dynamicIO.mdx | 0 .../05-config/01-next-config-js/env.mdx | 0 .../05-config/01-next-config-js/eslint.mdx | 0 .../01-next-config-js/expireTime.mdx | 0 .../01-next-config-js/exportPathMap.mdx | 0 .../01-next-config-js/generateBuildId.mdx | 0 .../01-next-config-js/generateEtags.mdx | 0 .../05-config/01-next-config-js/headers.mdx | 0 .../01-next-config-js/htmlLimitedBots.mdx | 0 .../01-next-config-js/httpAgentOptions.mdx | 0 .../05-config/01-next-config-js/images.mdx | 0 .../incrementalCacheHandlerPath.mdx | 0 .../05-config/01-next-config-js/index.mdx | 0 .../05-config/01-next-config-js/inlineCss.mdx | 0 .../05-config/01-next-config-js/logging.mdx | 0 .../05-config/01-next-config-js/mdxRs.mdx | 0 .../01-next-config-js/onDemandEntries.mdx | 0 .../optimizePackageImports.mdx | 0 .../05-config/01-next-config-js/output.mdx | 0 .../01-next-config-js/pageExtensions.mdx | 0 .../01-next-config-js/poweredByHeader.mdx | 0 .../05-config/01-next-config-js/ppr.mdx | 0 .../productionBrowserSourceMaps.mdx | 0 .../01-next-config-js/reactCompiler.mdx | 0 .../reactMaxHeadersLength.mdx | 0 .../01-next-config-js/reactStrictMode.mdx | 0 .../05-config/01-next-config-js/redirects.mdx | 0 .../05-config/01-next-config-js/rewrites.mdx | 0 .../01-next-config-js/sassOptions.mdx | 0 .../01-next-config-js/serverActions.mdx | 0 .../serverComponentsHmrCache.mdx | 0 .../serverExternalPackages.mdx | 0 .../01-next-config-js/staleTimes.mdx | 0 .../01-next-config-js/staticGeneration.mdx | 0 .../01-next-config-js/trailingSlash.mdx | 0 .../01-next-config-js/transpilePackages.mdx | 0 .../05-config/01-next-config-js/turbo.mdx | 0 .../01-next-config-js/typedRoutes.mdx | 0 .../01-next-config-js/typescript.mdx | 0 .../01-next-config-js/urlImports.mdx | 0 .../05-config/01-next-config-js/useCache.mdx | 0 .../01-next-config-js/useLightningcss.mdx | 0 .../01-next-config-js/viewTransition.mdx | 0 .../webVitalsAttribution.mdx | 0 .../05-config/01-next-config-js/webpack.mdx | 0 .../05-config/02-typescript.mdx | 0 .../05-config/03-eslint.mdx | 0 .../05-config/index.mdx | 0 .../06-cli/create-next-app.mdx | 0 .../06-cli/index.mdx | 0 .../06-cli/next.mdx | 0 .../07-edge.mdx | 0 .../08-turbopack.mdx | 0 .../index.mdx | 0 kj-diff.json | 153 ++++++++++++- next.js | 2 +- static/img/docs/dark/blog-nested-route.avif | Bin 12788 -> 8810 bytes .../img/docs/dark/blog-post-nested-route.avif | Bin 18291 -> 11963 bytes static/img/docs/dark/layout-special-file.avif | Bin 8105 -> 5716 bytes static/img/docs/dark/nested-layouts.avif | Bin 19996 -> 13442 bytes static/img/docs/dark/page-special-file.avif | Bin 6788 -> 4566 bytes static/img/docs/dark/public-folder.avif | Bin 5323 -> 3755 bytes static/img/docs/dark/route-group-loading.avif | Bin 8014 -> 6710 bytes .../dark/route-group-multiple-layouts.avif | Bin 7460 -> 8127 bytes .../route-group-multiple-root-layouts.avif | Bin 6085 -> 6889 bytes .../docs/dark/route-group-opt-in-layouts.avif | Bin 11079 -> 12429 bytes .../docs/dark/route-group-organisation.avif | Bin 10651 -> 12164 bytes static/img/docs/light/blog-nested-route.avif | Bin 11063 -> 7719 bytes .../docs/light/blog-post-nested-route.avif | Bin 14700 -> 10184 bytes .../img/docs/light/layout-special-file.avif | Bin 7271 -> 5081 bytes static/img/docs/light/nested-layouts.avif | Bin 16955 -> 11764 bytes static/img/docs/light/page-special-file.avif | Bin 6081 -> 4033 bytes static/img/docs/light/public-folder.avif | Bin 4402 -> 2999 bytes .../img/docs/light/route-group-loading.avif | Bin 7251 -> 6263 bytes .../light/route-group-multiple-layouts.avif | Bin 5338 -> 6291 bytes .../route-group-multiple-root-layouts.avif | Bin 4562 -> 5271 bytes .../light/route-group-opt-in-layouts.avif | Bin 9205 -> 9657 bytes .../docs/light/route-group-organisation.avif | Bin 8162 -> 9119 bytes 170 files changed, 581 insertions(+), 431 deletions(-) create mode 100644 docs/01-app/04-deep-dive/index.mdx rename docs/01-app/{04-api-reference => 05-api-reference}/01-directives/index.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/01-directives/use-cache.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/01-directives/use-client.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/01-directives/use-server.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/02-components/font.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/02-components/form.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/02-components/image.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/02-components/index.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/02-components/link.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/02-components/script.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/03-file-conventions/01-metadata/app-icons.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/03-file-conventions/01-metadata/index.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/03-file-conventions/01-metadata/manifest.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/03-file-conventions/01-metadata/opengraph-image.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/03-file-conventions/01-metadata/robots.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/03-file-conventions/01-metadata/sitemap.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/03-file-conventions/default.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/03-file-conventions/error.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/03-file-conventions/forbidden.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/03-file-conventions/index.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/03-file-conventions/instrumentation-client.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/03-file-conventions/instrumentation.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/03-file-conventions/layout.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/03-file-conventions/loading.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/03-file-conventions/mdx-components.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/03-file-conventions/middleware.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/03-file-conventions/not-found.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/03-file-conventions/page.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/03-file-conventions/route-segment-config.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/03-file-conventions/route.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/03-file-conventions/template.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/03-file-conventions/unauthorized.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/04-functions/after.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/04-functions/cacheLife.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/04-functions/cacheTag.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/04-functions/connection.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/04-functions/cookies.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/04-functions/draft-mode.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/04-functions/fetch.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/04-functions/forbidden.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/04-functions/generate-image-metadata.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/04-functions/generate-metadata.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/04-functions/generate-sitemaps.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/04-functions/generate-static-params.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/04-functions/generate-viewport.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/04-functions/headers.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/04-functions/image-response.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/04-functions/index.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/04-functions/next-request.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/04-functions/next-response.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/04-functions/not-found.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/04-functions/permanentRedirect.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/04-functions/redirect.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/04-functions/revalidatePath.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/04-functions/revalidateTag.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/04-functions/unauthorized.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/04-functions/unstable_cache.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/04-functions/unstable_noStore.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/04-functions/unstable_rethrow.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/04-functions/use-link-status.mdx (91%) rename docs/01-app/{04-api-reference => 05-api-reference}/04-functions/use-params.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/04-functions/use-pathname.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/04-functions/use-report-web-vitals.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/04-functions/use-router.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/04-functions/use-search-params.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/04-functions/use-selected-layout-segment.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/04-functions/use-selected-layout-segments.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/04-functions/userAgent.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/allowedDevOrigins.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/appDir.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/assetPrefix.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/authInterrupts.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/basePath.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/cacheLife.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/compress.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/crossOrigin.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/cssChunking.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/devIndicators.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/distDir.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/dynamicIO.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/env.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/eslint.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/expireTime.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/exportPathMap.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/generateBuildId.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/generateEtags.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/headers.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/htmlLimitedBots.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/httpAgentOptions.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/images.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/incrementalCacheHandlerPath.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/index.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/inlineCss.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/logging.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/mdxRs.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/onDemandEntries.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/optimizePackageImports.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/output.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/pageExtensions.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/poweredByHeader.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/ppr.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/productionBrowserSourceMaps.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/reactCompiler.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/reactMaxHeadersLength.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/reactStrictMode.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/redirects.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/rewrites.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/sassOptions.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/serverActions.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/serverComponentsHmrCache.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/serverExternalPackages.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/staleTimes.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/staticGeneration.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/trailingSlash.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/transpilePackages.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/turbo.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/typedRoutes.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/typescript.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/urlImports.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/useCache.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/useLightningcss.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/viewTransition.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/webVitalsAttribution.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/01-next-config-js/webpack.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/02-typescript.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/03-eslint.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/05-config/index.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/06-cli/create-next-app.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/06-cli/index.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/06-cli/next.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/07-edge.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/08-turbopack.mdx (100%) rename docs/01-app/{04-api-reference => 05-api-reference}/index.mdx (100%) diff --git a/docs/01-app/01-getting-started/01-installation.mdx b/docs/01-app/01-getting-started/01-installation.mdx index c977dbf1..11cbeed7 100644 --- a/docs/01-app/01-getting-started/01-installation.mdx +++ b/docs/01-app/01-getting-started/01-installation.mdx @@ -1,19 +1,21 @@ --- -title: '新しい Next.js プロジェクトをセットアップする方法' +title: '新しい Next.js プロジェクトのセットアップ方法' nav_title: 'インストール' -description: '`create-next-app` CLIを使用して新しい Next.js アプリケーションを作成し、TypeScript、ESLint、およびモジュールパスエイリアスを設定します。' +description: '`create-next-app` CLIを使用して新しい Next.js アプリケーションを作成し、TypeScript、ESLint、モジュールパスエイリアスを設定します。' --- -{/* このドキュメントの内容は、app router と pages router の間で共有されています。Pages Router に特有のコンテンツを追加するには、`Content` コンポーネントを使用できます。共有コンテンツはコンポーネントでラップしないでください。 */} +{/* このドキュメントの内容は、app router と pages router の両方で共有されています。Pages Router に特有の内容を追加するには、`Content` コンポーネントを使用できます。共有される内容はコンポーネントでラップしないでください。 */} ## システム要件 {#system-requirements} +始める前に、システムが次の要件を満たしていることを確認してください: + - [Node.js 18.18](https://nodejs.org/) 以降 -- macOS、Windows(WSLを含む)、Linuxがサポートされています +- macOS、Windows(WSLを含む)、またはLinux ## 自動インストール {#automatic-installation} -新しい Next.js アプリを始めるには、すべてを自動的にセットアップする [`create-next-app`](/docs/app/api-reference/cli/create-next-app) を使用することをお勧めします。プロジェクトを作成するには、次のコマンドを実行します: +新しい Next.js アプリを作成する最も簡単な方法は、すべてを自動的にセットアップしてくれる [`create-next-app`](/docs/app/api-reference/cli/create-next-app) を使用することです。プロジェクトを作成するには、次のコマンドを実行します: ```bash title="Terminal" npx create-next-app@latest @@ -33,7 +35,7 @@ Would you like to customize the import alias (`@/*` by default)? No / Yes What import alias would you like configured? @/* ``` -プロンプトの後、[`create-next-app`](/docs/app/api-reference/cli/create-next-app) はプロジェクト名のフォルダーを作成し、必要な依存関係をインストールします。 +プロンプトの後、[`create-next-app`](/docs/app/api-reference/cli/create-next-app) はプロジェクト名のフォルダを作成し、必要な依存関係をインストールします。 ## 手動インストール {#manual-installation} @@ -43,7 +45,7 @@ What import alias would you like configured? @/* npm install next@latest react@latest react-dom@latest ``` -`package.json` ファイルを開き、次の `scripts` を追加します: +次に、以下のスクリプトを `package.json` ファイルに追加します: ```json title="package.json" { @@ -56,30 +58,20 @@ npm install next@latest react@latest react-dom@latest } ``` -これらのスクリプトは、アプリケーション開発のさまざまな段階を指します: +これらのスクリプトは、アプリケーション開発の異なる段階を指します: -- `dev`: Next.js を開発モードで開始するために [`next dev`](/docs/app/api-reference/cli/next#next-dev-options) を実行します -- `build`: 本番使用のためにアプリケーションをビルドするために [`next build`](/docs/app/api-reference/cli/next#next-build-options) を実行します -- `start`: Next.js の本番サーバーを開始するために [`next start`](/docs/app/api-reference/cli/next#next-start-options) を実行します -- `lint`: Next.js の組み込み ESLint 設定をセットアップするために [`next lint`](/docs/app/api-reference/cli/next#next-lint-options) を実行します +- `next dev`: 開発サーバーを起動します。 +- `next build`: アプリケーションを本番用にビルドします。 +- `next start`: 本番サーバーを起動します。 +- `next lint`: ESLint を実行します。 -### `app` ディレクトリを作成する {#create-the-app-directory} - -Next.js はファイルシステムルーティングを使用しているため、アプリケーション内のルートはファイルの構造によって決まります。 +### `app` ディレクトリの作成 {#create-the-app-directory} -`app` フォルダーを作成し、`layout.tsx` と `page.tsx` ファイルを追加します。これらはユーザーがアプリケーションの root (`/`) を訪れたときにレンダリングされます。 +Next.js はファイルシステムルーティングを使用しており、アプリケーション内のルートはファイルの構造によって決まります。 -App フォルダ構造 - -`app/layout.tsx` 内に必要な `` と `` タグを含む [root レイアウト](/docs/app/building-your-application/routing/layouts-and-templates#root-layout-required) を作成します: +`app` フォルダを作成します。次に、`app` 内に `layout.tsx` ファイルを作成します。このファイルは [root レイアウト](/docs/app/api-reference/file-conventions/layout#root-layouts) です。これは必須であり、`` と `` タグを含める必要があります。 @@ -114,7 +106,7 @@ export default function RootLayout({ children }) { -最後に、初期コンテンツを含むホームページ `app/page.tsx` を作成します: +初期コンテンツを含むホームページ `app/page.tsx` を作成します: @@ -137,20 +129,30 @@ export default function Page() { +`layout.tsx` と `page.tsx` の両方が、ユーザーがアプリケーションの root (`/`) を訪れたときにレンダリングされます。 + +App Folder Structure + > **Good to know**: > -> - `layout.tsx` を作成するのを忘れた場合、`next dev` で開発サーバーを実行するときに Next.js が自動的にこのファイルを作成します。 +> - root レイアウトの作成を忘れた場合、Next.js は `next dev` で開発サーバーを実行するときに自動的にこのファイルを作成します。 > - プロジェクトの root に [`src` ディレクトリ](/docs/app/building-your-application/configuring/src-directory) を使用して、アプリケーションのコードを設定ファイルから分離することができます。 -### `pages` ディレクトリを作成する {#create-the-pages-directory} +### `pages` ディレクトリの作成 {#create-the-pages-directory} -Next.js はファイルシステムルーティングを使用しているため、アプリケーション内のルートはファイルの構造によって決まります。 +Next.js はファイルシステムルーティングを使用しており、アプリケーション内のルートはファイルの構造によって決まります。 -プロジェクトの root に `pages` ディレクトリを作成します。次に、`pages` フォルダー内に `index.tsx` ファイルを追加します。これがホームページ (`/`) になります: +プロジェクトの root に `pages` ディレクトリを作成します。次に、`pages` フォルダ内に `index.tsx` ファイルを追加します。これがホームページ (`/`) になります: @@ -173,7 +175,7 @@ export default function Page() { -次に、`pages/` 内に `_app.tsx` ファイルを追加して、グローバルレイアウトを定義します。 [カスタム App ファイル](https://nextjs.org/docs/canary/pages/building-your-application/routing/custom-app) について詳しく学びましょう。 +次に、`pages/` 内に `_app.tsx` ファイルを追加して、グローバルレイアウトを定義します。[カスタム App ファイル](https://nextjs.org/docs/canary/pages/building-your-application/routing/custom-app) について詳しく学びましょう。 @@ -198,7 +200,7 @@ export default function App({ Component, pageProps }) { -最後に、`pages/` 内に `_document.tsx` ファイルを追加して、サーバーからの初期応答を制御します。 [カスタム Document ファイル](https://nextjs.org/docs/canary/pages/building-your-application/routing/custom-document) について詳しく学びましょう。 +最後に、`pages/` 内に `_document.tsx` ファイルを追加して、サーバーからの初期応答を制御します。[カスタム Document ファイル](https://nextjs.org/docs/canary/pages/building-your-application/routing/custom-document) について詳しく学びましょう。 @@ -243,27 +245,54 @@ export default function Document() { -### `public` フォルダーを作成する(オプション) {#create-the-public-folder-optional} +### `public` フォルダの作成(オプション) {#create-the-public-folder-optional} + +プロジェクトの root に [`public` フォルダ](/docs/app/building-your-application/optimizing/static-assets) を作成して、画像やフォントなどの静的アセットを保存します。`public` 内のファイルは、ベースURL (`/`) から始まるコードで参照できます。 + +これらのアセットは root パス (`/`) を使用して参照できます。たとえば、`public/profile.png` は `/profile.png` として参照できます: + + + + +```tsx title="app/page.tsx" highlight={4} switcher +import Image from 'next/image' + +export default function Page() { + return Profile +} +``` + + + + +```jsx title="app/page.js" highlight={4} switcher +import Image from 'next/image' + +export default function Page() { + return Profile +} +``` -プロジェクトの root に [`public` フォルダー](/docs/app/building-your-application/optimizing/static-assets) を作成して、画像やフォントなどの静的アセットを保存することができます。`public` 内のファイルは、ベースURL (`/`) から始めてコードで参照できます。 + + -## 開発サーバーを実行する {#run-the-development-server} +## 開発サーバーの実行 {#run-the-development-server} -1. `npm run dev` を実行して開発サーバーを開始します。 +1. `npm run dev` を実行して開発サーバーを起動します。 2. `http://localhost:3000` にアクセスしてアプリケーションを表示します。 3. `app/page.tsx` `pages/index.tsx` ファイルを編集して保存し、ブラウザで更新された結果を確認します。 -## TypeScript をセットアップする {#set-up-typescript} +## TypeScript のセットアップ {#set-up-typescript} -> 最低 TypeScript バージョン: `v4.5.2` +> 最小 TypeScript バージョン:`v4.5.2` -Next.js には組み込みの TypeScript サポートがあります。プロジェクトに TypeScript を追加するには、ファイルを `.ts` / `.tsx` にリネームします。`next dev` を実行すると、Next.js は必要な依存関係を自動的にインストールし、推奨される設定オプションを含む `tsconfig.json` ファイルを追加します。 +Next.js には TypeScript のサポートが組み込まれています。プロジェクトに TypeScript を追加するには、ファイルを `.ts` / `.tsx` にリネームして `next dev` を実行します。Next.js は必要な依存関係を自動的にインストールし、推奨される設定オプションを含む `tsconfig.json` ファイルを追加します。 ### IDE プラグイン {#ide-plugin} -Next.js にはカスタム TypeScript プラグインと型チェッカーが含まれており、VSCode や他のコードエディターで高度な型チェックと自動補完を利用できます。 +Next.js にはカスタム TypeScript プラグインと型チェッカーが含まれており、VSCode や他のコードエディタで高度な型チェックや自動補完を利用できます。 VS Code でプラグインを有効にするには: @@ -272,24 +301,22 @@ VS Code でプラグインを有効にするには: 3. 「Use Workspace Version」を選択 TypeScript コマンドパレット -これで、ファイルを編集するときにカスタムプラグインが有効になります。`next build` を実行すると、カスタム型チェッカーが使用されます。 - -プロジェクトで TypeScript を使用する方法については、[TypeScript 設定](/docs/app/api-reference/config/next-config-js/typescript) ページを参照してください。 +詳細は [TypeScript リファレンス](/docs/app/api-reference/config/next-config-js/typescript) ページを参照してください。 -## ESLint をセットアップする {#set-up-eslint} +## ESLint のセットアップ {#set-up-eslint} -Next.js には組み込みの ESLint があり、新しいプロジェクトを `create-next-app` で作成するときに必要なパッケージを自動的にインストールし、適切な設定を行います。 +Next.js には ESLint が組み込まれています。`create-next-app` で新しいプロジェクトを作成すると、必要なパッケージが自動的にインストールされ、適切な設定が行われます。 -既存のプロジェクトに ESLint を追加するには、`package.json` に `next lint` をスクリプトとして追加します: +既存のプロジェクトに ESLint を手動で追加するには、`package.json` に `next lint` をスクリプトとして追加します: ```json title="package.json" { @@ -299,7 +326,7 @@ Next.js には組み込みの ESLint があり、新しいプロジェクトを } ``` -次に、`npm run lint` を実行すると、インストールと設定プロセスが案内されます。 +次に、`npm run lint` を実行すると、インストールと設定のプロセスが案内されます。 ```bash title="Terminal" npm run lint @@ -313,29 +340,31 @@ npm run lint > Base > Cancel -- **Strict**: Next.js の基本 ESLint 設定に加えて、より厳しい Core Web Vitals ルールセットを含みます。ESLint を初めて設定する開発者に推奨される設定です。 -- **Base**: Next.js の基本 ESLint 設定を含みます。 -- **Cancel**: ESLint 設定を含みません。独自のカスタム ESLint 設定を設定する予定がある場合にのみ、このオプションを選択してください。 +- **Strict**: Next.js の基本的な ESLint 設定に加え、より厳格な Core Web Vitals ルールセットを含みます。初めて ESLint を設定する開発者に推奨される設定です。 +- **Base**: Next.js の基本的な ESLint 設定を含みます。 +- **Cancel**: 設定をスキップします。独自のカスタム ESLint 設定を行う予定の場合、このオプションを選択します。 -2つの設定オプションのいずれかが選択されると、Next.js は自動的に `eslint` と `eslint-config-next` をアプリケーションの依存関係としてインストールし、選択した設定を含む `.eslintrc.json` ファイルをプロジェクトの root に作成します。 +`Strict` または `Base` を選択すると、Next.js は自動的に `eslint` と `eslint-config-next` をアプリケーションの依存関係としてインストールし、選択した設定を含む `.eslintrc.json` ファイルをプロジェクトの root に作成します。 ESLint を実行してエラーをキャッチしたいときは、`next lint` を実行できます。ESLint が設定されると、ビルド(`next build`)のたびに自動的に実行されます。エラーはビルドを失敗させますが、警告は失敗しません。 -プロジェクトで ESLint を設定する方法については、[ESLint プラグイン](/docs/app/api-reference/config/next-config-js/eslint) ページを参照してください。 +詳細は [ESLint プラグイン](/docs/app/api-reference/config/next-config-js/eslint) ページを参照してください。 -## 絶対インポートとモジュールパスエイリアスを設定する {#set-up-absolute-imports-and-module-path-aliases} +## 絶対インポートとモジュールパスエイリアスの設定 {#set-up-absolute-imports-and-module-path-aliases} -Next.js には、`tsconfig.json` および `jsconfig.json` ファイルの `"paths"` および `"baseUrl"` オプションのサポートが組み込まれています。これらのオプションを使用すると、プロジェクトディレクトリを絶対パスにエイリアス化し、モジュールのインポートを簡単にします。例えば: +Next.js は `tsconfig.json` および `jsconfig.json` ファイルの `"paths"` および `"baseUrl"` オプションをサポートしています。 + +これらのオプションを使用すると、プロジェクトディレクトリを絶対パスにエイリアス化でき、モジュールのインポートがより簡単でクリーンになります。たとえば: ```jsx -// 以前 +// Before import { Button } from '../../../components/button' -// 以降 +// After import { Button } from '@/components/button' ``` -絶対インポートを設定するには、`tsconfig.json` または `jsconfig.json` ファイルに `baseUrl` 設定オプションを追加します。例えば: +絶対インポートを設定するには、`tsconfig.json` または `jsconfig.json` ファイルに `baseUrl` 設定オプションを追加します。たとえば: ```json title="tsconfig.json or jsconfig.json" { @@ -345,9 +374,9 @@ import { Button } from '@/components/button' } ``` -`baseUrl` パスの設定に加えて、`"paths"` オプションを使用してモジュールパスを `"alias"` することができます。 +`baseUrl` パスの設定に加えて、`"paths"` オプションを使用してモジュールパスを `"alias"` できます。 -例えば、次の設定は `@/components/*` を `components/*` にマッピングします: +たとえば、次の設定は `@/components/*` を `components/*` にマップします: ```json title="tsconfig.json or jsconfig.json" { @@ -361,41 +390,4 @@ import { Button } from '@/components/button' } ``` -各 `"paths"` は `baseUrl` の場所に対して相対的です。例えば: - - - - -```tsx title="src/app/page.tsx" switcher -import Button from '@/components/button' -import '@/styles/styles.css' - -export default function HomePage() { - return ( -
-

Hello World

-
- ) -} -``` - -
- - -```jsx title="src/app/page.js" switcher -import Button from '@/components/button' -import '@/styles/styles.css' - -export default function HomePage() { - return ( -
-

Hello World

-
- ) -} -``` - -
-
+各 `"paths"` は `baseUrl` の場所に対して相対的です。 diff --git a/docs/01-app/01-getting-started/02-project-structure.mdx b/docs/01-app/01-getting-started/02-project-structure.mdx index 513f00ba..424a444f 100644 --- a/docs/01-app/01-getting-started/02-project-structure.mdx +++ b/docs/01-app/01-getting-started/02-project-structure.mdx @@ -1,16 +1,16 @@ --- -title: 'プロジェクトの構造と組織化' +title: 'プロジェクト構造と組織化' nav_title: 'プロジェクト構造' -description: 'Next.jsにおけるフォルダとファイルの規約の概要と、プロジェクトの組織化方法について。' +description: 'Next.jsにおけるフォルダーとファイルの規約の概要、およびプロジェクトの組織化方法について説明します。' --- -このページでは、Next.jsにおけるフォルダとファイルの規約の概要と、プロジェクトを組織化するためのヒントを提供します。 +このページでは、Next.jsにおける**すべての**フォルダーとファイルの規約の概要と、プロジェクトを組織化するための推奨事項を提供します。 -## フォルダとファイルの規約 {#folder-and-file-conventions} +## フォルダーとファイルの規約 {#folder-and-file-conventions} -### トップレベルフォルダ {#top-level-folders} +### トップレベルフォルダー {#top-level-folders} -トップレベルフォルダは、アプリケーションのコードと静的アセットを整理するために使用されます。 +トップレベルフォルダーは、アプリケーションのコードと静的アセットを整理するために使用されます。 ルートセグメントからパスセグメントへの変換 -| | | -| --------------------------------------------------------------------------------- | ------------------------------------------ | -| [`app`](/docs/app/building-your-application/routing) | App Router | -| [`pages`](https://nextjs.org/docs/canary/pages/building-your-application/routing) | Pages Router | -| [`public`](/docs/app/building-your-application/optimizing/static-assets) | 提供される静的アセット | -| [`src`](/docs/app/building-your-application/configuring/src-directory) | オプションのアプリケーションソースフォルダ | +| | | +| --------------------------------------------------------------------------------- | -------------------------------------------- | +| [`app`](/docs/app/building-your-application/routing) | App Router | +| [`pages`](https://nextjs.org/docs/canary/pages/building-your-application/routing) | Pages Router | +| [`public`](/docs/app/building-your-application/optimizing/static-assets) | 提供される静的アセット | +| [`src`](/docs/app/building-your-application/configuring/src-directory) | オプションのアプリケーションソースフォルダー | ### トップレベルファイル {#top-level-files} @@ -43,8 +43,8 @@ description: 'Next.jsにおけるフォルダとファイルの規約の概要 | [`.env.production`](/docs/app/building-your-application/configuring/environment-variables) | 本番環境変数 | | [`.env.development`](/docs/app/building-your-application/configuring/environment-variables) | 開発環境変数 | | [`.eslintrc.json`](/docs/app/api-reference/config/eslint) | ESLintの設定ファイル | -| `.gitignore` | 無視するGitファイルとフォルダ | -| `next-env.d.ts` | Next.jsのTypeScript宣言ファイル | +| `.gitignore` | 無視するGitファイルとフォルダー | +| `next-env.d.ts` | Next.js用のTypeScript宣言ファイル | | `tsconfig.json` | TypeScriptの設定ファイル | | `jsconfig.json` | JavaScriptの設定ファイル | @@ -57,7 +57,7 @@ description: 'Next.jsにおけるフォルダとファイルの規約の概要 | [`layout`](/docs/app/api-reference/file-conventions/layout) | `.js` `.jsx` `.tsx` | レイアウト | | [`page`](/docs/app/api-reference/file-conventions/page) | `.js` `.jsx` `.tsx` | ページ | | [`loading`](/docs/app/api-reference/file-conventions/loading) | `.js` `.jsx` `.tsx` | ローディングUI | -| [`not-found`](/docs/app/api-reference/file-conventions/not-found) | `.js` `.jsx` `.tsx` | 見つからないUI | +| [`not-found`](/docs/app/api-reference/file-conventions/not-found) | `.js` `.jsx` `.tsx` | Not found UI | | [`error`](/docs/app/api-reference/file-conventions/error) | `.js` `.jsx` `.tsx` | エラーUI | | [`global-error`](/docs/app/api-reference/file-conventions/error#global-error) | `.js` `.jsx` `.tsx` | グローバルエラーUI | | [`route`](/docs/app/api-reference/file-conventions/route) | `.js` `.ts` | APIエンドポイント | @@ -77,14 +77,14 @@ description: 'Next.jsにおけるフォルダとファイルの規約の概要 | --------------------------------------------------------------------------------------------------------- | ------------------------------------------ | | [`[folder]`](/docs/app/building-your-application/routing/dynamic-routes#convention) | 動的ルートセグメント | | [`[...folder]`](/docs/app/building-your-application/routing/dynamic-routes#catch-all-segments) | キャッチオールルートセグメント | -| [`[[...folder]]`](/docs/app/building-your-application/routing/dynamic-routes#optional-catch-all-segments) | オプションのキャッチオールルートセグメント | +| [`[[...folder]]`](/docs/app/building-your-application/routing/dynamic-routes#optional-catch-all-segments) | オプショナルキャッチオールルートセグメント | -### ルートグループとプライベートフォルダ {#route-groups-and-private-folders} +### ルートグループとプライベートフォルダー {#route-groups-and-private-folders} -| | | -| --------------------------------------------------------------------------------- | -------------------------------------------------------- | -| [`(folder)`](/docs/app/building-your-application/routing/route-groups#convention) | ルーティングに影響を与えずにルートをグループ化 | -| [`_folder`](#private-folders) | フォルダとそのすべての子セグメントをルーティングから除外 | +| | | +| --------------------------------------------------------------------------------- | ------------------------------------------------------ | +| [`(folder)`](/docs/app/building-your-application/routing/route-groups#convention) | ルーティングに影響を与えずにルートをグループ化 | +| [`_folder`](#private-folders) | フォルダーとすべての子セグメントをルーティングから除外 | ### パラレルルートとインターセプトルート {#parallel-and-intercepted-routes} @@ -144,7 +144,7 @@ description: 'Next.jsにおけるフォルダとファイルの規約の概要 | | | | | ----------------------------------------------------------------------------------------------------------------------- | ------------------- | ------------------ | -| **フォルダの規約** | | | +| **フォルダーの規約** | | | | [`index`](https://nextjs.org/docs/canary/pages/building-your-application/routing/pages-and-layouts#index-routes) | `.js` `.jsx` `.tsx` | ホームページ | | [`folder/index`](https://nextjs.org/docs/canary/pages/building-your-application/routing/pages-and-layouts#index-routes) | `.js` `.jsx` `.tsx` | ネストされたページ | | **ファイルの規約** | | | @@ -155,22 +155,26 @@ description: 'Next.jsにおけるフォルダとファイルの規約の概要 | | | | | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------- | ------------------------------------------ | -| **フォルダの規約** | | | +| **フォルダーの規約** | | | | [`[folder]/index`](https://nextjs.org/docs/canary/pages/building-your-application/routing/dynamic-routes) | `.js` `.jsx` `.tsx` | 動的ルートセグメント | | [`[...folder]/index`](https://nextjs.org/docs/canary/pages/building-your-application/routing/dynamic-routes#catch-all-segments) | `.js` `.jsx` `.tsx` | キャッチオールルートセグメント | -| [`[[...folder]]/index`](https://nextjs.org/docs/canary/pages/building-your-application/routing/dynamic-routes#optional-catch-all-segments) | `.js` `.jsx` `.tsx` | オプションのキャッチオールルートセグメント | +| [`[[...folder]]/index`](https://nextjs.org/docs/canary/pages/building-your-application/routing/dynamic-routes#optional-catch-all-segments) | `.js` `.jsx` `.tsx` | オプショナルキャッチオールルートセグメント | | **ファイルの規約** | | | | [`[file]`](https://nextjs.org/docs/canary/pages/building-your-application/routing/dynamic-routes) | `.js` `.jsx` `.tsx` | 動的ルートセグメント | | [`[...file]`](https://nextjs.org/docs/canary/pages/building-your-application/routing/dynamic-routes#catch-all-segments) | `.js` `.jsx` `.tsx` | キャッチオールルートセグメント | -| [`[[...file]]`](https://nextjs.org/docs/canary/pages/building-your-application/routing/dynamic-routes#optional-catch-all-segments) | `.js` `.jsx` `.tsx` | オプションのキャッチオールルートセグメント | +| [`[[...file]]`](https://nextjs.org/docs/canary/pages/building-your-application/routing/dynamic-routes#optional-catch-all-segments) | `.js` `.jsx` `.tsx` | オプショナルキャッチオールルートセグメント | -## コンポーネントの階層 {#component-hierarchy} +## プロジェクトの組織化 {#organizing-your-project} + +Next.jsは、プロジェクトファイルの整理や配置について特に意見を持ちませんが、プロジェクトを整理するためのいくつかの機能を提供しています。 + +### コンポーネント階層 {#component-hierarchy} -ルートセグメントの特別なファイルで定義されたReactコンポーネントは、特定の階層でレンダリングされます: +特別なファイルで定義されたコンポーネントは、特定の階層でレンダリングされます: - `layout.js` - `template.js` @@ -187,7 +191,7 @@ description: 'Next.jsにおけるフォルダとファイルの規約の概要 height="643" /> -ネストされたルートでは、セグメントのコンポーネントは親セグメントのコンポーネントの**内側**にネストされます。 +コンポーネントはネストされたルートで再帰的にレンダリングされ、ルートセグメントのコンポーネントは親セグメントのコンポーネントの**内側**にネストされます。 ネストされたファイル規約のコンポーネント階層 -## プロジェクトの組織化 {#organizing-your-project} - -[フォルダとファイルの規約](/docs/app/getting-started/project-structure)とは別に、Next.jsはプロジェクトファイルの組織化や配置について特に意見を持っていません。しかし、プロジェクトを組織化するためのいくつかの機能を提供しています。 - ### コロケーション {#colocation} -`app`ディレクトリでは、ネストされたフォルダがルート構造を定義します。各フォルダは、URLパスの対応するセグメントにマッピングされるルートセグメントを表します。 +`app`ディレクトリでは、ネストされたフォルダーがルート構造を定義します。各フォルダーは、URLパスの対応するセグメントにマッピングされるルートセグメントを表します。 -しかし、ルート構造がフォルダを通じて定義されているにもかかわらず、`page.js`または`route.js`ファイルがルートセグメントに追加されるまで、ルートは**公開されません**。 +ただし、ルート構造がフォルダーを通じて定義されていても、`page.js`または`route.js`ファイルがルートセグメントに追加されるまで、ルートは**公開アクセス可能**ではありません。 ルートセグメントにpage.jsまたはroute.jsファイルが追加されるまでルートが公開されないことを示す図。 -そして、ルートが公開されるときでも、クライアントに送信されるのは`page.js`または`route.js`によって返される**コンテンツのみ**です。 +そして、ルートが公開アクセス可能になった場合でも、クライアントに送信されるのは`page.js`または`route.js`によって返される**コンテンツのみ**です。 page.jsとroute.jsファイルがルートを公開可能にする方法を示す図。 -これは、`app`ディレクトリ内のルートセグメント内に**安全にプロジェクトファイルを配置**でき、誤ってルーティングされることがないことを意味します。 +これは、`app`ディレクトリ内のルートセグメント内に**プロジェクトファイル**を**安全にコロケーション**でき、誤ってルート化されることがないことを意味します。 セグメントにpage.jsまたはroute.jsファイルが含まれていても、配置されたプロジェクトファイルがルーティングされないことを示す図。 -> **Good to know**: -> -> - プロジェクトファイルを`app`に配置することはできますが、必ずしもそうする必要はありません。必要に応じて、[それらを`app`ディレクトリの外に保持する](#store-project-files-outside-of-app)こともできます。 +> **Good to know**: `app`内にプロジェクトファイルをコロケーションすることは**可能**ですが、必ずしもそうする必要はありません。必要に応じて、[それらを`app`ディレクトリの外に保管する](#store-project-files-outside-of-app)こともできます。 -### プライベートフォルダ {#private-folders} +### プライベートフォルダー {#private-folders} -プライベートフォルダは、フォルダ名の前にアンダースコアを付けることで作成できます:`_folderName` +プライベートフォルダーは、フォルダー名の前にアンダースコアを付けることで作成できます:`_folderName` -これは、フォルダがプライベートな実装の詳細であり、ルーティングシステムによって考慮されるべきではないことを示し、フォルダとそのすべてのサブフォルダをルーティングから**除外**します。 +これは、フォルダーがプライベートな実装の詳細であり、ルーティングシステムによって考慮されるべきではないことを示し、フォルダーとそのすべてのサブフォルダーをルーティングから**除外**します。 プライベートフォルダを使用したフォルダ構造の例 -`app`ディレクトリ内のファイルは[デフォルトで安全に配置できる](#colocation)ため、コロケーションにはプライベートフォルダは必要ありません。しかし、以下のような場合に役立ちます: +`app`ディレクトリ内のファイルは[デフォルトで安全にコロケーションできる](#colocation)ため、コロケーションにはプライベートフォルダーは必要ありません。ただし、以下のような場合に役立ちます: - UIロジックをルーティングロジックから分離する -- プロジェクト全体とNext.jsエコシステム内で内部ファイルを一貫して整理する +- プロジェクト全体およびNext.jsエコシステム内で内部ファイルを一貫して整理する - コードエディタでファイルをソートおよびグループ化する -- 将来のNext.jsファイル規約との潜在的な命名の競合を回避する +- 将来のNext.jsファイル規約との潜在的な命名競合を回避する > **Good to know**: > -> - フレームワークの規約ではありませんが、プライベートフォルダの外のファイルを同じアンダースコアパターンを使用して「プライベート」としてマークすることも検討できます。 -> - フォルダ名の前に`%5F`(アンダースコアのURLエンコード形式)を付けることで、アンダースコアで始まるURLセグメントを作成できます:`%5FfolderName`。 -> - プライベートフォルダを使用しない場合は、Next.jsの[特別なファイル規約](/docs/app/getting-started/project-structure#routing-files)を知っておくと、予期しない命名の競合を防ぐのに役立ちます。 +> - フレームワークの規約ではありませんが、プライベートフォルダーの外にあるファイルを同じアンダースコアパターンを使用して「プライベート」としてマークすることも検討できます。 +> - フォルダー名の前に`%5F`(アンダースコアのURLエンコード形式)を付けることで、アンダースコアで始まるURLセグメントを作成できます:`%5FfolderName`。 +> - プライベートフォルダーを使用しない場合は、Next.jsの[特別なファイル規約](/docs/app/getting-started/project-structure#routing-files)を知っておくと、予期しない命名競合を防ぐのに役立ちます。 ### ルートグループ {#route-groups} -ルートグループは、フォルダを括弧で囲むことで作成できます:`(folderName)` +ルートグループは、フォルダーを括弧で囲むことで作成できます:`(folderName)` -これは、フォルダが組織的な目的であり、ルートのURLパスに**含まれるべきではない**ことを示します。 +これは、フォルダーが組織化の目的であり、ルートのURLパスに**含まれない**ことを示します。 ルートグループを使用したフォルダ構造の例 -### 一般的な戦略 {#common-strategies} +### 例 {#examples} -次のセクションでは、一般的な戦略の非常に高レベルな概要を示します。最も簡単な結論は、自分とチームに合った戦略を選び、プロジェクト全体で一貫性を保つことです。 +以下のセクションでは、一般的な戦略の非常に高レベルな概要を示します。最も簡単な結論は、自分やチームに合った戦略を選び、プロジェクト全体で一貫性を保つことです。 -> **Good to know**: 以下の例では、`components`と`lib`フォルダを一般的なプレースホルダーとして使用しています。これらの名前には特別なフレームワークの意味はなく、プロジェクトによっては`ui`、`utils`、`hooks`、`styles`などの他のフォルダを使用することがあります。 +> **Good to know**: 以下の例では、`components`と`lib`フォルダーを一般的なプレースホルダーとして使用しています。これらの名前には特別なフレームワークの意味はなく、プロジェクトによっては`ui`、`utils`、`hooks`、`styles`などの他のフォルダーを使用することがあります。 -#### プロジェクトファイルを`app`の外に保存する {#store-project-files-outside-of-app} +#### プロジェクトファイルを`app`の外に保管する {#store-project-files-outside-of-app} -この戦略では、すべてのアプリケーションコードをプロジェクトの**root**にある共有フォルダに保存し、`app`ディレクトリを純粋にルーティングの目的で使用します。 +この戦略では、すべてのアプリケーションコードをプロジェクトの**root**にある共有フォルダーに保存し、`app`ディレクトリを純粋にルーティングの目的で使用します。 appの外にプロジェクトファイルを保存したフォルダ構造の例 -#### プロジェクトファイルを`app`内のトップレベルフォルダに保存する {#store-project-files-in-top-level-folders-inside-of-app} +#### プロジェクトファイルを`app`内のトップレベルフォルダーに保管する {#store-project-files-in-top-level-folders-inside-of-app} -この戦略では、すべてのアプリケーションコードを`app`ディレクトリの**root**にある共有フォルダに保存します。 +この戦略では、すべてのアプリケーションコードを`app`ディレクトリの**root**にある共有フォルダーに保存します。 app内にプロジェクトファイルを保存したフォルダ構造の例 -#### プロジェクトファイルを機能またはルートごとに分割する {#split-project-files-by-feature-or-route} +#### 機能またはルートごとにプロジェクトファイルを分割する {#split-project-files-by-feature-or-route} この戦略では、グローバルに共有されるアプリケーションコードをrootの`app`ディレクトリに保存し、より特定のアプリケーションコードをそれを使用するルートセグメントに**分割**します。 機能またはルートごとにプロジェクトファイルを分割したフォルダ構造の例 +### URLパスに影響を与えずにルートを整理する {#organize-routes-without-affecting-the-url-path} + +URLに影響を与えずにルートを整理するには、関連するルートをまとめて保持するためのグループを作成します。括弧内のフォルダーはURLから省略されます(例:`(marketing)`または`(shop)`)。 + +ルートグループを使用してルートを整理する + +`(marketing)`と`(shop)`内のルートは同じURL階層を共有していますが、それぞれのフォルダー内に`layout.js`ファイルを追加することで、各グループに異なるレイアウトを作成できます。 + +複数のレイアウトを持つルートグループ + +### 特定のセグメントをレイアウトにオプトインする {#opting-specific-segments-into-a-layout} + +特定のルートをレイアウトにオプトインするには、新しいルートグループ(例:`(shop)`)を作成し、同じレイアウトを共有するルート(例:`account`と`cart`)をグループに移動します。グループ外のルート(例:`checkout`)はレイアウトを共有しません。 + +オプトインレイアウトを持つルートグループ + +### 特定のルートでローディングスケルトンを選択する {#opting-for-loading-skeletons-on-a-specific-route} + +特定のルートに`loading.js`ファイルを介して[ローディングスケルトン](/docs/app/building-your-application/routing/loading-ui-and-streaming)を適用するには、新しいルートグループ(例:`/(overview)`)を作成し、そのルートグループ内に`loading.tsx`を移動します。 + +ルートグループ内にloading.tsxとpage.tsxがあるフォルダー構造 + +これで、`loading.tsx`ファイルはダッシュボード→概要ページにのみ適用され、URLパス構造に影響を与えることなく、他のダッシュボードページには適用されません。 + +### 複数のrootレイアウトを作成する {#creating-multiple-root-layouts} + +複数の[rootレイアウト](/docs/app/api-reference/file-conventions/layout#root-layouts)を作成するには、トップレベルの`layout.js`ファイルを削除し、各ルートグループ内に`layout.js`ファイルを追加します。これは、完全に異なるUIや体験を持つセクションにアプリケーションを分割するのに役立ちます。``と``タグは各rootレイアウトに追加する必要があります。 + +複数のrootレイアウトを持つルートグループ + +上記の例では、`(marketing)`と`(shop)`の両方が独自のrootレイアウトを持っています。 + diff --git a/docs/01-app/01-getting-started/03-layouts-and-pages.mdx b/docs/01-app/01-getting-started/03-layouts-and-pages.mdx index b7a6ebb0..9b64f944 100644 --- a/docs/01-app/01-getting-started/03-layouts-and-pages.mdx +++ b/docs/01-app/01-getting-started/03-layouts-and-pages.mdx @@ -1,21 +1,21 @@ --- title: 'レイアウトとページの作成方法' nav_title: 'レイアウトとページ' -description: '最初のページとレイアウトを作成し、それらをリンクします。' +description: '最初のページとレイアウトを作成し、それらをリンクする方法を学びます。' related: title: 'APIリファレンス' - description: 'このページで紹介されている機能について詳しくは、APIリファレンスをお読みください。' + description: 'このページで言及されている機能について、APIリファレンスを読んでさらに学びましょう。' links: - - app/api-reference/file-conventions/layout - - app/api-reference/file-conventions/page - - app/api-reference/components/link + - 'app/api-reference/file-conventions/layout' + - 'app/api-reference/file-conventions/page' + - 'app/api-reference/components/link' --- -Next.jsは**ファイルシステムベースのルーティング**を使用しており、フォルダとファイルを使用してルートを定義できます。このページでは、レイアウトとページの作成方法、およびそれらをリンクする方法を説明します。 +Next.jsは**ファイルシステムベースのルーティング**を使用しており、フォルダとファイルを使ってルートを定義できます。このページでは、レイアウトとページの作成方法、およびそれらをリンクする方法について説明します。 ## ページの作成 {#creating-a-page} -**ページ**は特定のルートでレンダリングされるUIです。ページを作成するには、`app`ディレクトリ内に[`page`ファイル](/docs/app/api-reference/file-conventions/page)を追加し、Reactコンポーネントをデフォルトエクスポートします。たとえば、インデックスページ(`/`)を作成するには: +**ページ**は特定のルートでレンダリングされるUIです。ページを作成するには、`app`ディレクトリ内に[`page`ファイル](/docs/app/api-reference/file-conventions/page)を追加し、Reactコンポーネントをデフォルトエクスポートします。たとえば、インデックスページ(`/`)を作成するには次のようにします: page.js 特殊ファイル -上記のレイアウトは、`app`ディレクトリのルートに定義されているため、[root レイアウト](/docs/app/api-reference/file-conventions/layout#root-layouts)と呼ばれます。root レイアウトは**必須**であり、`html`および`body`タグを含める必要があります。 +上記のレイアウトは、`app`ディレクトリのrootに定義されているため、[root レイアウト](/docs/app/api-reference/file-conventions/layout#root-layouts)と呼ばれます。root レイアウトは**必須**であり、`html`および`body`タグを含める必要があります。 ## ネストされたルートの作成 {#creating-a-nested-route} @@ -115,10 +115,10 @@ export default function DashboardLayout({ children }) { Next.jsでは: -- **フォルダ**は、URLセグメントにマッピングされるルートセグメントを定義するために使用されます。 +- **フォルダ**は、URLセグメントにマップされるルートセグメントを定義するために使用されます。 - **ファイル**(`page`や`layout`など)は、セグメントに表示されるUIを作成するために使用されます。 -ネストされたルートを作成するには、フォルダを互いにネストできます。たとえば、`/blog`のルートを追加するには、`app`ディレクトリに`blog`というフォルダを作成します。次に、`/blog`を公開するには、`page`ファイルを追加します: +ネストされたルートを作成するには、フォルダを互いにネストできます。たとえば、`/blog`のルートを追加するには、`app`ディレクトリに`blog`というフォルダを作成します。次に、`/blog`を公開するには、`page.tsx`ファイルを追加します: blogフォルダとpage.jsファイルを示すファイル階層 ```tsx title="app/blog/page.tsx" switcher +// ダミーインポート import { getPosts } from '@/lib/posts' import { Post } from '@/ui/post' @@ -154,6 +155,7 @@ export default async function Page() { ```jsx title="app/blog/[slug]/page.js" switcher +// ダミーインポート import { getPosts } from '@/lib/posts' import { Post } from '@/ui/post' @@ -173,10 +175,10 @@ export default async function Page() { -フォルダをネストし続けて、ネストされたルートを作成できます。たとえば、特定のブログ投稿のルートを作成するには、`blog`内に新しい`[slug]`フォルダを作成し、`page`ファイルを追加します: +フォルダをさらにネストして、ネストされたルートを作成し続けることができます。たとえば、特定のブログ投稿のルートを作成するには、`blog`内に新しい`[slug]`フォルダを作成し、`page`ファイルを追加します: slugフォルダとpage.jsファイルをネストしたblogフォルダを示すファイル階層 -> **Good to know**: フォルダ名を角括弧で囲む(例:`[slug]`)と、データから複数のページを生成するための特別な[dynamic route segment](/docs/app/building-your-application/routing/dynamic-routes)が作成されます。これは、ブログ投稿や商品ページなどに便利です。 +フォルダ名を角括弧で囲む(例:`[slug]`)と、データから複数のページを生成するために使用される[dynamic route segment](/docs/app/building-your-application/routing/dynamic-routes)が作成されます。例として、ブログ投稿や商品ページなどがあります。 ## レイアウトのネスト {#nesting-layouts} -デフォルトでは、フォルダ階層内のレイアウトもネストされており、`children`プロップを介して子レイアウトをラップします。特定のルートセグメント(フォルダ)内に`layout`を追加することで、レイアウトをネストできます。 +デフォルトでは、フォルダ階層内のレイアウトもネストされており、`children` propを介して子レイアウトをラップします。特定のルートセグメント(フォルダ)内に`layout`を追加することで、レイアウトをネストできます。 たとえば、`/blog`ルートのレイアウトを作成するには、`blog`フォルダ内に新しい`layout`ファイルを追加します。 root レイアウトがblogレイアウトをラップしているファイル階層 -上記の2つのレイアウトを組み合わせると、root レイアウト(`app/layout.js`)がブログレイアウト(`app/blog/layout.js`)をラップし、ブログ(`app/blog/page.js`)およびブログ投稿ページ(`app/blog/[slug]/page.js`)をラップします。 +上記の2つのレイアウトを組み合わせると、root レイアウト(`app/layout.js`)がブログレイアウト(`app/blog/layout.js`)をラップし、ブログ(`app/blog/page.js`)とブログ投稿ページ(`app/blog/[slug]/page.js`)をラップします。 ## ページ間のリンク {#linking-between-pages} -ルート間をナビゲートするには、[``コンポーネント](/docs/app/api-reference/components/link)を使用できます。``は、HTMLの``タグを拡張してプリフェッチとクライアントサイドナビゲーションを提供する、Next.jsの組み込みコンポーネントです。 +ルート間をナビゲートするには、[``コンポーネント](/docs/app/api-reference/components/link)を使用できます。``はHTMLの``タグを拡張して、[プリフェッチ](/docs/app/building-your-application/routing/linking-and-navigating#2-prefetching)と[クライアントサイドナビゲーション](/docs/app/building-your-application/routing/linking-and-navigating#5-soft-navigation)を提供するNext.jsの組み込みコンポーネントです。 -たとえば、ブログ投稿のリストを生成するには、`next/link`から``をインポートし、コンポーネントに`href`プロップを渡します: +たとえば、ブログ投稿のリストを生成するには、`next/link`から``をインポートし、コンポーネントに`href` propを渡します: diff --git a/docs/01-app/01-getting-started/04-images-and-fonts.mdx b/docs/01-app/01-getting-started/04-images-and-fonts.mdx index 512e5149..1a1971c7 100644 --- a/docs/01-app/01-getting-started/04-images-and-fonts.mdx +++ b/docs/01-app/01-getting-started/04-images-and-fonts.mdx @@ -4,34 +4,22 @@ nav_title: '画像とフォント' description: '画像とフォントの最適化方法を学びましょう。' related: title: 'APIリファレンス' - description: 'このページで言及されている機能について詳しくは、APIリファレンスをお読みください。' + description: 'このページで紹介されている機能について詳しく知るには、APIリファレンスをお読みください。' links: - app/api-reference/components/font - app/api-reference/components/image --- -Next.jsには、パフォーマンスとユーザーエクスペリエンスを向上させるための自動画像およびフォント最適化機能が備わっています。このページでは、それらの使い方を説明します。 - -## 静的アセットの取り扱い {#handling-static-assets} - -画像やフォントなどの静的ファイルは、ルートディレクトリ内の`public`というフォルダに保存できます。`public`内のファイルは、ベースURL(`/`)から始まるコードで参照できます。 - -アプリとパブリックフォルダを示すフォルダ構造 +Next.jsには自動的な画像とフォントの最適化機能が備わっています。このページでは、それらの使い方を説明します。 ## 画像の最適化 {#optimizing-images} -Next.jsの[``](/docs/app/building-your-application/optimizing/images)コンポーネントは、HTMLの``要素を拡張して以下を提供します: +Next.jsの[``](/docs/app/building-your-application/optimizing/images)コンポーネントは、HTMLの``要素を拡張して以下の機能を提供します: -- **サイズの最適化:** WebPなどの最新の画像フォーマットを使用して、各デバイスに適したサイズの画像を自動的に提供します +- **サイズの最適化:** 各デバイスに適したサイズの画像を自動的に提供し、WebPなどの最新の画像フォーマットを使用します - **視覚的安定性:** 画像の読み込み時に[レイアウトシフト](https://web.dev/articles/cls)を自動的に防ぎます -- **高速なページ読み込み:** ネイティブブラウザの遅延読み込みを使用して、画像がビューポートに入ったときにのみ画像を読み込み、オプションでぼかしプレースホルダーを使用します -- **アセットの柔軟性:** リモートサーバーに保存されている画像でも、オンデマンドで画像をリサイズします +- **ページの高速読み込み:** ネイティブブラウザの遅延読み込みを使用して、画像がビューポートに入ったときのみ読み込み、オプションでぼかしプレースホルダーを使用します +- **アセットの柔軟性:** リモートサーバーに保存された画像であっても、オンデマンドで画像をリサイズします ``を使用するには、`next/image`からインポートし、コンポーネント内でレンダリングします。 @@ -60,11 +48,19 @@ export default function Page() { -`src`プロパティは、[ローカル](#local-images)または[リモート](#remote-images)の画像にすることができます。 +`src`プロパティは[ローカル](#local-images)または[リモート](#remote-images)の画像を指定できます。 ### ローカル画像 {#local-images} -ローカル画像を使用するには、[`public`フォルダ](#handling-static-assets)から`.jpg`、`.png`、または`.webp`画像ファイルを`import`します。 +静的ファイル(画像やフォントなど)は、ルートディレクトリ内の`public`というフォルダに保存できます。`public`内のファイルは、ベースURL(`/`)から始めてコードで参照できます。 + +appフォルダとpublicフォルダを示すフォルダ構造 @@ -81,7 +77,7 @@ export default function Page() { // width={500} 自動的に提供されます // height={500} 自動的に提供されます // blurDataURL="data:..." 自動的に提供されます - // placeholder="blur" // 読み込み中のオプションのぼかし + // placeholder="blur" // 読み込み中のぼかしをオプションで表示 /> ) } @@ -102,7 +98,7 @@ export default function Page() { // width={500} 自動的に提供されます // height={500} 自動的に提供されます // blurDataURL="data:..." 自動的に提供されます - // placeholder="blur" // 読み込み中のオプションのぼかし + // placeholder="blur" // 読み込み中のぼかしをオプションで表示 /> ) } @@ -115,7 +111,7 @@ Next.jsは、インポートされたファイルに基づいて画像の固有 ### リモート画像 {#remote-images} -リモート画像を使用するには、`src`プロパティにURL文字列を指定できます。 +リモート画像を使用するには、`src`プロパティにURL文字列を指定します。 @@ -156,9 +152,9 @@ export default function Page() { -Next.jsはビルドプロセス中にリモートファイルにアクセスできないため、[`width`](/docs/app/api-reference/components/image#width)、[`height`](/docs/app/api-reference/components/image#height)、およびオプションの[`blurDataURL`](/docs/app/api-reference/components/image#blurdataurl) propsを手動で指定する必要があります。`width`と`height`属性は、画像の正しいアスペクト比を推測し、画像の読み込みによるレイアウトシフトを回避するために使用されます。 +Next.jsはビルドプロセス中にリモートファイルにアクセスできないため、[`width`](/docs/app/api-reference/components/image#width)、[`height`](/docs/app/api-reference/components/image#height)、およびオプションの[`blurDataURL`](/docs/app/api-reference/components/image#blurdataurl)のpropsを手動で指定する必要があります。`width`と`height`は、画像の正しいアスペクト比を推測し、画像の読み込みによるレイアウトシフトを防ぐために使用されます。 -次に、リモートサーバーからの画像を安全に許可するために、[`next.config.js`](/docs/app/api-reference/config/next-config-js)でサポートされるURLパターンのリストを定義する必要があります。悪意のある使用を防ぐために、できるだけ具体的にしてください。たとえば、次の設定では、特定のAWS S3バケットからの画像のみが許可されます: +リモートサーバーからの画像を安全に許可するには、[`next.config.js`](/docs/app/api-reference/config/next-config-js)でサポートされるURLパターンのリストを定義する必要があります。悪意のある使用を防ぐために、できるだけ具体的に指定してください。たとえば、次の設定では、特定のAWS S3バケットからの画像のみを許可します: @@ -209,9 +205,9 @@ module.exports = { [`next/font`](/docs/app/api-reference/components/font)モジュールは、フォントを自動的に最適化し、外部ネットワークリクエストを削除してプライバシーとパフォーマンスを向上させます。 -これは、*任意の*フォントファイルに対する**組み込みの自動セルフホスティング**を含んでいます。これにより、レイアウトシフトなしでWebフォントを最適に読み込むことができます。 +このモジュールには、任意のフォントファイルに対する**組み込みのセルフホスティング**が含まれています。これにより、レイアウトシフトなしでWebフォントを最適に読み込むことができます。 -`next/font`を使用するには、[`next/font/local`](#local-fonts)または[`next/font/google`](#google-fonts)からインポートし、適切なオプションで関数として呼び出し、フォントを適用したい要素の`className`を設定します。例えば: +`next/font`を使用するには、[`next/font/local`](#local-fonts)または[`next/font/google`](#google-fonts)からインポートし、適切なオプションで関数として呼び出し、フォントを適用したい要素の`className`を設定します。例: @@ -305,12 +301,12 @@ export default function RootLayout({ children }) { -最高のパフォーマンスと柔軟性を得るために、[可変フォント](https://fonts.google.com/variablefonts)を使用することをお勧めします。しかし、可変フォントを使用できない場合は、**ウェイトを指定する必要があります**: +最適なパフォーマンスと柔軟性を得るために、[可変フォント](https://fonts.google.com/variablefonts)を使用することをお勧めします。しかし、可変フォントを使用できない場合は、ウェイトを指定する必要があります: -```tsx title="app/layout.tsx" switcher +```tsx title="app/layout.tsx" highlight={4} switcher import { Roboto } from 'next/font/google' const roboto = Roboto({ @@ -334,7 +330,7 @@ export default function RootLayout({ -```jsx title="app/layout.js" highlight={1,3-5,9} switcher +```jsx title="app/layout.js" highlight={4} switcher import { Roboto } from 'next/font/google' const roboto = Roboto({ @@ -356,7 +352,7 @@ export default function RootLayout({ children }) { ### ローカルフォント {#local-fonts} -ローカルフォントを使用するには、`next/font/local`からフォントをインポートし、[`public`フォルダ](#handling-static-assets)内のローカルフォントファイルの`src`を指定します。 +ローカルフォントを使用するには、`next/font/local`からフォントをインポートし、ローカルフォントファイルの[`src`](/docs/app/api-reference/components/font#src)を指定します。 diff --git a/docs/01-app/01-getting-started/05-css.mdx b/docs/01-app/01-getting-started/05-css.mdx index 49ca35c7..69d1b9bb 100644 --- a/docs/01-app/01-getting-started/05-css.mdx +++ b/docs/01-app/01-getting-started/05-css.mdx @@ -23,7 +23,7 @@ Next.jsは、アプリケーションでCSSを使用するためのいくつか ## CSS Modules {#css-modules} -CSS Modulesは、ユニークなクラス名を生成することでCSSをローカルにスコープします。これにより、異なるファイルで同じクラスを使用しても衝突を心配する必要がなくなります。 +CSS Modulesは、ユニークなクラス名を生成することでCSSをローカルにスコープします。これにより、異なるファイルで同じクラスを使用しても、名前の衝突を心配する必要がなくなります。 CSS Modulesを使用し始めるには、拡張子が`.module.css`の新しいファイルを作成し、`app`ディレクトリ内の任意のコンポーネントにインポートします: @@ -62,7 +62,7 @@ export default function Page({ children }) { グローバルCSSを使用して、アプリケーション全体にスタイルを適用できます。 -グローバルスタイルを使用するには、新しいCSSファイルを作成します。例えば、`app/global.css`: +グローバルスタイルを使用するには、`app/global.css`ファイルを作成し、root レイアウトでインポートして、アプリケーション内の**すべてのルート**にスタイルを適用します: ```css title="app/global.css" body { @@ -72,8 +72,6 @@ body { } ``` -ファイルをroot レイアウト(`app/layout.js`)にインポートして、アプリケーション内の**すべてのルート**にスタイルを適用します: - @@ -113,7 +111,7 @@ export default function RootLayout({ children }) { -> **Good to know:** グローバルスタイルは、`app`ディレクトリ内の任意のレイアウト、ページ、またはコンポーネントにインポートできます。ただし、Next.jsはReactの組み込みのスタイルシートサポートを使用してSuspenseと統合します。この組み込みサポートは、ルート間を移動する際にスタイルシートを削除しません。そのため、*本当に*グローバルなCSSにはグローバルスタイルを使用し、スコープされたCSSには[CSS Modules](#css-modules)を使用することをお勧めします。 +> **Good to know:** グローバルスタイルは、`app`ディレクトリ内の任意のレイアウト、ページ、またはコンポーネントにインポートできます。ただし、Next.jsはReactの組み込みのスタイルシートサポートを使用してSuspenseと統合するため、ルート間を移動する際にスタイルシートが削除されず、競合が発生する可能性があります。*本当に*グローバルなCSSにはグローバルスタイルを使用し、スコープされたCSSには[CSS Modules](#css-modules)を使用することをお勧めします。 ## Tailwind CSS {#tailwind-css} @@ -124,12 +122,12 @@ export default function RootLayout({ children }) { Tailwindを使用し始めるには、必要なTailwind CSSパッケージをインストールします: ```bash title="Terminal" -npm install -D tailwindcss @tailwindcss/postcss postcss +npm install tailwindcss @tailwindcss/postcss postcss ``` ### Tailwindの設定 {#configuring-tailwind} -プロジェクトのrootに`postcss.config.mjs`ファイルを作成し、PostCSS設定に`@tailwindcss/postcss`プラグインを追加します: +プロジェクトのルートに`postcss.config.mjs`ファイルを作成し、PostCSS設定に`@tailwindcss/postcss`プラグインを追加します: ```js title="postcss.config.mjs" highlight={4} /** @type {import('tailwindcss').Config} */ @@ -148,14 +146,13 @@ export default { @import 'tailwindcss'; ``` -次に、スタイルを[ルートレイアウト](/docs/app/api-reference/file-conventions/layout#root-layouts)にインポートします: +その後、スタイルを[ルートレイアウト](/docs/app/api-reference/file-conventions/layout#root-layouts)にインポートします: ```tsx title="app/layout.tsx" switcher import type { Metadata } from 'next' - // これらのスタイルはアプリケーション内のすべてのルートに適用されます import './globals.css' @@ -201,7 +198,7 @@ export default function RootLayout({ children }) { -最後に、アプリケーション内でTailwindのユーティリティクラスを書き始めることができます。 +その後、アプリケーション内でTailwindのユーティリティクラスを記述し始めることができます。 @@ -279,7 +276,7 @@ export default nextConfig > **Warning:** ランタイムJavaScriptを必要とするCSS-in-JSライブラリは、現在React Server Componentsではサポートされていません。CSS-in-JSをServer ComponentsやStreamingなどの新しいReact機能と共に使用するには、ライブラリの作者が最新のReactバージョンをサポートする必要があります。 -次のライブラリは、`app`ディレクトリ内の**Client Components**でサポートされています(アルファベット順): +以下のライブラリは、`app`ディレクトリ内の**Client Components**でサポートされています(アルファベット順): - [`ant-design`](https://ant.design/docs/react/use-with-next#using-app-router) - [`chakra-ui`](https://chakra-ui.com/docs/get-started/frameworks/next-app) @@ -311,7 +308,7 @@ CSS-in-JSを設定するには、次の手順を行います: #### `styled-jsx` {#styled-jsx} -アプリケーション用に`styled-jsx`を設定するには、新しいレジストリを作成します: +アプリケーションで`styled-jsx`を設定するには、新しいレジストリを作成します: @@ -370,7 +367,7 @@ export default function StyledJsxRegistry({ children }) { -次に、[root レイアウト](/docs/app/api-reference/file-conventions/layout#root-layouts)をレジストリでラップします: +次に、レジストリで[ルートレイアウト](/docs/app/api-reference/file-conventions/layout#root-layouts)をラップします: @@ -450,7 +447,7 @@ export default nextConfig -次に、`styled-components` APIを使用して、レンダリング中に生成されたすべてのCSSスタイルルールを収集するグローバルレジストリコンポーネントを作成し、それらのルールを返す関数を作成します。次に、`useServerInsertedHTML`フックを使用して、レジストリに収集されたスタイルをroot レイアウトの`` HTMLタグに挿入します。 +次に、`styled-components` APIを使用して、レンダリング中に生成されたすべてのCSSスタイルルールを収集するグローバルレジストリコンポーネントを作成し、それらのルールを返す関数を作成します。その後、`useServerInsertedHTML`フックを使用して、ルートレイアウトの`` HTMLタグにレジストリで収集されたスタイルを挿入します。 @@ -521,7 +518,7 @@ export default function StyledComponentsRegistry({ children }) { -root レイアウトの`children`をスタイルレジストリコンポーネントでラップします: +ルートレイアウトの`children`をスタイルレジストリコンポーネントでラップします: diff --git a/docs/01-app/01-getting-started/06-fetching-data.mdx b/docs/01-app/01-getting-started/06-fetching-data.mdx index 93a59270..ca0af7b3 100644 --- a/docs/01-app/01-getting-started/06-fetching-data.mdx +++ b/docs/01-app/01-getting-started/06-fetching-data.mdx @@ -1,29 +1,29 @@ --- -title: 'データの取得とストリーミングの方法' +title: 'データの取得とストリーミング方法' nav_title: 'データの取得' description: 'アプリケーションでデータを取得し、コンテンツをストリーミングする方法を始めましょう。' related: - title: 'API リファレンス' - description: 'このページで言及されている機能について詳しくは、API リファレンスをお読みください。' + title: 'APIリファレンス' + description: 'このページで言及されている機能について詳しくは、APIリファレンスをお読みください。' links: - 'app/api-reference/functions/fetch' - 'app/api-reference/file-conventions/loading' --- -このページでは、[server component](#server-components)と[client component](#client-components)でデータを取得する方法、およびデータに依存するコンテンツを[ストリーミング](#streaming)する方法について説明します。 +このページでは、[server component](#server-components)と[client component](#client-components)でデータを取得する方法、およびデータに依存するコンテンツを[ストリーミング](#streaming)する方法を説明します。 ## データの取得 {#fetching-data} ### Server Components {#server-components} -Server component でデータを取得するには、次の方法があります: +Server Componentsでデータを取得するには、次の方法があります: 1. [`fetch` API](#with-the-fetch-api)を使用する -2. [ORM またはデータベース](#with-an-orm-or-database)を使用する +2. [ORMやデータベース](#with-an-orm-or-database)を使用する -#### `fetch` API を使用する {#with-the-fetch-api} +#### `fetch` APIを使用する {#with-the-fetch-api} -`fetch` API を使用してデータを取得するには、コンポーネントを非同期関数に変換し、`fetch` 呼び出しを待機します。例えば: +`fetch` APIを使用してデータを取得するには、コンポーネントを非同期関数に変換し、`fetch`呼び出しを待機します。例えば: @@ -62,9 +62,9 @@ export default async function Page() { -#### ORM またはデータベースを使用する {#with-an-orm-or-database} +#### ORMやデータベースを使用する {#with-an-orm-or-database} -ORM またはデータベースを使用してデータを取得するには、コンポーネントを非同期関数に変換し、呼び出しを待機します: +Server Componentsはサーバー上でレンダリングされるため、ORMやデータベースクライアントを使用して安全にデータベースクエリを実行できます。コンポーネントを非同期関数に変換し、呼び出しを待機します: @@ -107,14 +107,14 @@ export default async function Page() { ### Client Components {#client-components} -client component でデータを取得する方法は2つあります: +Client Componentsでデータを取得する方法は2つあります: -1. React の[`use` フック](https://react.dev/reference/react/use)を使用する +1. Reactの[`use`フック](https://react.dev/reference/react/use)を使用する 2. [SWR](https://swr.vercel.app/)や[React Query](https://tanstack.com/query/latest)のようなコミュニティライブラリを使用する -#### `use` フックを使用する {#with-the-use-hook} +#### `use`フックを使用する {#with-the-use-hook} -React の[`use` フック](https://react.dev/reference/react/use)を使用して、サーバーからクライアントにデータを[ストリーミング](#streaming)できます。まず、Server component でデータを取得し、Promise を client component に prop として渡します: +Reactの[`use`フック](https://react.dev/reference/react/use)を使用して、サーバーからクライアントにデータを[ストリーミング](#streaming)できます。まず、Server componentでデータを取得し、そのプロミスをClient Componentにpropとして渡します: @@ -157,7 +157,7 @@ export default function Page() { -次に、client component で `use` フックを使用して Promise を読み取ります: +次に、Client Componentで`use`フックを使用してプロミスを読み取ります: @@ -206,11 +206,11 @@ export default function Posts({ posts }) { -上記の例では、`` コンポーネントを[`` boundary](https://react.dev/reference/react/Suspense)でラップする必要があります。これは、Promise が解決される間、フォールバックが表示されることを意味します。[ストリーミング](#streaming)について詳しく学びましょう。 +上記の例では、``コンポーネントを[`` boundary](https://react.dev/reference/react/Suspense)でラップする必要があります。これは、プロミスが解決される間、フォールバックが表示されることを意味します。[ストリーミング](#streaming)について詳しく学びましょう。 #### コミュニティライブラリ {#community-libraries} -[SWR](https://swr.vercel.app/)や[React Query](https://tanstack.com/query/latest)のようなコミュニティライブラリを使用して、client component でデータを取得できます。これらのライブラリは、キャッシング、ストリーミング、その他の機能に独自のセマンティクスを持っています。例えば、SWR を使用する場合: +[SWR](https://swr.vercel.app/)や[React Query](https://tanstack.com/query/latest)のようなコミュニティライブラリを使用して、Client Componentsでデータを取得できます。これらのライブラリは、キャッシング、ストリーミング、その他の機能に独自のセマンティクスを持っています。例えば、SWRを使用する場合: @@ -273,11 +273,11 @@ export default function BlogPage() { ## ストリーミング {#streaming} -> **警告:** 以下の内容は、アプリケーションで[`dynamicIO` config option](/docs/app/api-reference/config/next-config-js/dynamicIO)が有効になっていることを前提としています。このフラグは Next.js 15 canary で導入されました。 +> **警告:** 以下の内容は、アプリケーションで[`dynamicIO`設定オプション](/docs/app/api-reference/config/next-config-js/dynamicIO)が有効になっていることを前提としています。このフラグはNext.js 15 canaryで導入されました。 -Server component で `async/await` を使用すると、Next.js は**動的レンダリング**を選択します。これは、データがユーザーのリクエストごとにサーバーで取得され、レンダリングされることを意味します。遅いデータリクエストがある場合、ルート全体がレンダリングをブロックされます。 +Server Componentsで`async/await`を使用すると、Next.jsは**動的レンダリング**を選択します。これは、データがユーザーのリクエストごとにサーバーで取得され、レンダリングされることを意味します。遅いデータリクエストがある場合、ルート全体がレンダリングをブロックされます。 -初期ロード時間とユーザーエクスペリエンスを向上させるために、ページの HTML を小さなチャンクに分割し、それらのチャンクをサーバーからクライアントに段階的に送信するストリーミングを使用できます。 +初期ロード時間とユーザーエクスペリエンスを向上させるために、ページのHTMLを小さなチャンクに分割し、それらのチャンクをサーバーからクライアントに順次送信するストリーミングを使用できます。 ストリーミングを使用したサーバーレンダリングの仕組み` コンポーネント](#with-suspense)を使用する +1. [`loading.js`ファイル](#with-loadingjs)を使用する +2. Reactの[``コンポーネント](#with-suspense)を使用する -### `loading.js` を使用する {#with-loading-js} +### `loading.js`を使用する {#with-loading-js} -ページと同じフォルダに `loading.js` ファイルを作成して、データが取得されている間に**ページ全体**をストリーミングできます。例えば、`app/blog/page.js` をストリーミングするには、`app/blog` フォルダ内にファイルを追加します。 +ページと同じフォルダに`loading.js`ファイルを作成して、データが取得されている間に**ページ全体**をストリーミングできます。例えば、`app/blog/page.js`をストリーミングするには、`app/blog`フォルダ内にファイルを追加します。 loading.js ファイルを含むブログフォルダ構造Loading... } ``` @@ -319,7 +319,7 @@ export default function Loading() { ```jsx title="app/blog/loading.js" switcher export default function Loading() { - // ここで読み込み中の UI を定義します + // ここでLoading UIを定義します return
Loading...
} ``` @@ -327,31 +327,31 @@ export default function Loading() {
-ナビゲーション時に、ユーザーはページがレンダリングされている間にレイアウトと[読み込み状態](#creating-meaningful-loading-states)をすぐに見ることができます。レンダリングが完了すると、新しいコンテンツが自動的に入れ替わります。 +ナビゲーション時に、ユーザーはページがレンダリングされている間にレイアウトと[ローディング状態](#creating-meaningful-loading-states)をすぐに見ることができます。レンダリングが完了すると、新しいコンテンツが自動的に入れ替わります。 読み込み中の UI -舞台裏では、`loading.js` は `layout.js` 内にネストされ、`page.js` ファイルとその下のすべての子を自動的に `` boundary でラップします。 +裏側では、`loading.js`は`layout.js`内にネストされ、`page.js`ファイルとその下のすべての子を自動的に`` boundaryでラップします。 loading.js の概要 -このアプローチはルートセグメント(レイアウトとページ)に適していますが、より細かいストリーミングには `` を使用できます。 +このアプローチはルートセグメント(レイアウトとページ)に適していますが、より細かいストリーミングには``を使用できます。 -### `` を使用する {#with-suspense} +### ``を使用する {#with-suspense} -`` を使用すると、ページのどの部分をストリーミングするかをより細かく制御できます。例えば、`` boundary の外にあるページコンテンツをすぐに表示し、boundary 内のブログ投稿のリストをストリーミングできます。 +``を使用すると、ページのどの部分をストリーミングするかをより細かく制御できます。例えば、`` boundaryの外にあるページコンテンツをすぐに表示し、boundary内のブログ投稿のリストをストリーミングできます。 @@ -370,7 +370,7 @@ export default function BlogPage() {

Read the latest posts below.

- {/* boundary でラップされたコンテンツはストリーミングされます */} + {/* boundaryでラップされたコンテンツはストリーミングされます */} }> @@ -397,7 +397,7 @@ export default function BlogPage() {

Read the latest posts below.

- {/* boundary でラップされたコンテンツはストリーミングされます */} + {/* boundaryでラップされたコンテンツはストリーミングされます */} }> @@ -410,8 +410,8 @@ export default function BlogPage() { -### 意味のある読み込み状態の作成 {#creating-meaningful-loading-states} +### 意味のあるローディング状態を作成する {#creating-meaningful-loading-states} -インスタント読み込み状態は、ナビゲーション後にユーザーにすぐに表示されるフォールバック UI です。最良のユーザーエクスペリエンスを提供するために、意味のある読み込み状態を設計し、アプリが応答していることをユーザーに理解させることをお勧めします。例えば、スケルトンやスピナー、またはカバーフォトやタイトルなどの将来の画面の小さくても意味のある部分を使用できます。 +インスタントローディング状態は、ナビゲーション後にユーザーにすぐに表示されるフォールバックUIです。最良のユーザーエクスペリエンスを提供するために、意味のあるローディング状態を設計し、アプリが応答していることをユーザーに理解させることをお勧めします。例えば、スケルトンやスピナー、またはカバーフォトやタイトルなどの将来の画面の小さくても意味のある部分を使用できます。 -開発中は、[React Devtools](https://react.dev/learn/react-developer-tools)を使用してコンポーネントの読み込み状態をプレビューおよび検査できます。 +開発中は、[React Devtools](https://react.dev/learn/react-developer-tools)を使用してコンポーネントのローディング状態をプレビューおよび検査できます。 diff --git a/docs/01-app/01-getting-started/07-updating-data.mdx b/docs/01-app/01-getting-started/07-updating-data.mdx index 17f369cd..01543935 100644 --- a/docs/01-app/01-getting-started/07-updating-data.mdx +++ b/docs/01-app/01-getting-started/07-updating-data.mdx @@ -15,28 +15,50 @@ Next.jsでは、Reactの[Server Functions](https://react.dev/reference/rsc/serve ## Server Functionsの作成 {#creating-server-functions} -Server Functionは、[`use server`](https://react.dev/reference/rsc/use-server)ディレクティブを使用して定義できます。このディレクティブを**非同期**関数の先頭に置くことで、その関数をServer Functionとしてマークするか、別のファイルの先頭に置いてそのファイルのすべてのエクスポートをマークします。ほとんどの場合、別のファイルを使用することをお勧めします。 +Server Functionは、[`use server`](https://react.dev/reference/rsc/use-server)ディレクティブを使用して定義できます。このディレクティブを**非同期**関数の先頭に置くことで、その関数をServer Functionとしてマークするか、別のファイルの先頭に置いてそのファイルのすべてのエクスポートをマークします。 ```ts title="app/lib/actions.ts" switcher -'use server' +export async function createPost(formData: FormData) { + 'use server' + const title = formData.get('title') + const content = formData.get('content') + + // データを更新 + // キャッシュを再検証 +} -export async function createPost(formData: FormData) {} +export async function deletePost(formData: FormData) { + 'use server' + const id = formData.get('id') -export async function deletePost(formData: FormData) {} + // データを更新 + // キャッシュを再検証 +} ``` ```js title="app/lib/actions.js" switcher -'use server' +export async function createPost(formData) { + 'use server' + const title = formData.get('title') + const content = formData.get('content') -export async function createPost(formData) {} + // データを更新 + // キャッシュを再検証 +} -export async function deletePost(formData) {} +export async function deletePost(formData) { + 'use server' + const id = formData.get('id') + + // データを更新 + // キャッシュを再検証 +} ``` @@ -44,7 +66,7 @@ export async function deletePost(formData) {} ### Server Components {#server-components} -Server Functionsは、関数本体の先頭に`"use server"`ディレクティブを追加することでServer Componentsにインライン化できます: +Server Functionsは、関数本体の先頭に`"use server"`ディレクティブを追加することで、Server Componentsにインライン化できます: @@ -52,9 +74,8 @@ Server Functionsは、関数本体の先頭に`"use server"`ディレクティ ```tsx title="app/page.tsx" switcher export default function Page() { // Server Action - async function createPost() { + async function createPost(formData: FormData) { 'use server' - // データを更新 // ... } @@ -68,9 +89,8 @@ export default function Page() { ```jsx title="app/page.js" switcher export default function Page() { // Server Action - async function createPost() { + async function createPost(formData) { 'use server' - // データを更新 // ... } @@ -83,7 +103,7 @@ export default function Page() { ### Client Components {#client-components} -Client ComponentsでServer Functionsを定義することはできません。ただし、`"use server"`ディレクティブが先頭にあるファイルからインポートすることで、Client Componentsで呼び出すことができます: +Client ComponentsでServer Functionsを定義することはできませんが、`"use server"`ディレクティブがファイルの先頭にあるファイルからインポートすることで、Client Componentsで呼び出すことができます: @@ -283,9 +303,11 @@ export default function LikeButton({ initialLikes }) { +## 例 {#examples} + ### 保留状態の表示 {#showing-a-pending-state} -Server Functionを実行している間、Reactの[`useActionState`](https://react.dev/reference/react/useActionState)フックを使用してローディングインジケーターを表示できます。このフックは`pending`ブール値を返します: +Server Functionを実行している間、Reactの[`useActionState`](https://react.dev/reference/react/useActionState)フックを使用してローディングインジケータを表示できます。このフックは`pending`ブール値を返します: @@ -340,11 +362,10 @@ export function Button() { ```ts title="app/lib/actions.ts" switcher -'use server' - import { revalidatePath } from 'next/cache' export async function createPost(formData: FormData) { + 'use server' // データを更新 // ... @@ -358,11 +379,10 @@ export async function createPost(formData: FormData) { ```js title="app/actions.js" switcher -'use server' - import { revalidatePath } from 'next/cache' export async function createPost(formData) { + 'use server' // データを更新 // ... revalidatePath('/posts') @@ -394,7 +414,6 @@ export async function createPost(formData: FormData) { - ```js title="app/actions.js" switcher diff --git a/docs/01-app/01-getting-started/08-error-handling.mdx b/docs/01-app/01-getting-started/08-error-handling.mdx index bd34e23f..c34aea43 100644 --- a/docs/01-app/01-getting-started/08-error-handling.mdx +++ b/docs/01-app/01-getting-started/08-error-handling.mdx @@ -18,9 +18,11 @@ related: 予期されたエラーとは、[サーバーサイドのフォームバリデーション](/docs/app/building-your-application/data-fetching/server-actions-and-mutations#server-side-form-validation)や失敗したリクエストなど、アプリケーションの通常の操作中に発生する可能性のあるエラーです。これらのエラーは明示的に処理し、クライアントに返す必要があります。 -### Server Actions {#server-actions} +### サーバー関数 {#server-functions} -[`useActionState`](https://react.dev/reference/react/useActionState)フックを使用して、[Server Functions](https://react.dev/reference/rsc/server-functions)の状態を管理し、予期されたエラーを処理できます。予期されたエラーに対しては`try`/`catch`ブロックを使用しないでください。代わりに、予期されたエラーを例外としてスローするのではなく、戻り値としてモデル化することができます。 +[`useActionState`](https://react.dev/reference/react/useActionState)フックを使用して、[Server Functions](https://react.dev/reference/rsc/server-functions)で予期されたエラーを処理できます。 + +これらのエラーに対しては、`try`/`catch`ブロックを使用してエラーをスローするのではなく、予期されたエラーを戻り値としてモデル化します。 @@ -69,7 +71,7 @@ export async function createPost(prevState, formData) { -次に、`useActionState`フックにアクションを渡し、返された`state`を使用してエラーメッセージを表示します。 +`useActionState`フックにアクションを渡し、返された`state`を使用してエラーメッセージを表示できます。 @@ -132,9 +134,9 @@ export function Form() { -### Server Components {#server-components} +### サーバーコンポーネント {#server-components} -Server Component内でデータを取得する際、レスポンスを使用してエラーメッセージを条件付きでレンダリングしたり、[`redirect`](/docs/app/api-reference/functions/redirect)を使用したりできます。 +Server Component内でデータをフェッチする際、レスポンスを使用してエラーメッセージを条件付きでレンダリングしたり、[`redirect`](/docs/app/api-reference/functions/redirect)を使用したりできます。 @@ -237,19 +239,19 @@ export default function NotFound() { ## キャッチされない例外の処理 {#handling-uncaught-exceptions} -キャッチされない例外は、アプリケーションの通常のフロー中に発生すべきでないバグや問題を示す予期しないエラーです。これらはエラーをスローすることで処理され、その後error boundaryによってキャッチされます。 +キャッチされない例外は、アプリケーションの通常のフロー中に発生すべきでないバグや問題を示す予期しないエラーです。これらはエラーをスローすることで処理され、エラーバウンダリによってキャッチされます。 -### ネストされたerror boundary {#nested-error-boundaries} +### ネストされたエラーバウンダリ {#nested-error-boundaries} -Next.jsはキャッチされない例外を処理するためにerror boundaryを使用します。error boundaryは子コンポーネント内のエラーをキャッチし、クラッシュしたコンポーネントツリーの代わりにフォールバックUIを表示します。 +Next.jsはキャッチされない例外を処理するためにエラーバウンダリを使用します。エラーバウンダリは子コンポーネント内のエラーをキャッチし、クラッシュしたコンポーネントツリーの代わりにフォールバックUIを表示します。 -ルートセグメント内に[`error.js`](/docs/app/api-reference/file-conventions/error)ファイルを追加し、Reactコンポーネントをエクスポートすることでerror boundaryを作成します。 +ルートセグメント内に[`error.js`](/docs/app/api-reference/file-conventions/error)ファイルを追加し、Reactコンポーネントをエクスポートすることでエラーバウンダリを作成します。 ```tsx title="app/dashboard/error.tsx" switcher -'use client' // Error boundaries must be Client Components +'use client' // エラーバウンダリはClient Componentsである必要があります import { useEffect } from 'react' @@ -285,7 +287,7 @@ export default function Error({ ```jsx title="app/dashboard/error.js" switcher -'use client' // Error boundaries must be Client Components +'use client' // エラーバウンダリはClient Componentsである必要があります import { useEffect } from 'react' @@ -314,7 +316,7 @@ export default function Error({ error, reset }) { -エラーは最も近い親のerror boundaryまでバブルアップします。これにより、[ルート階層](/docs/app/getting-started/project-structure#component-hierarchy)の異なるレベルに`error.tsx`ファイルを配置することで、細かいエラー処理が可能になります。 +エラーは最も近い親のエラーバウンダリにバブルアップします。これにより、[ルート階層](/docs/app/getting-started/project-structure#component-hierarchy)の異なるレベルに`error.tsx`ファイルを配置することで、細かいエラー処理が可能になります。 ネストされたエラーコンポーネント階層 ```tsx title="app/global-error.tsx" switcher -'use client' // Error boundaries must be Client Components +'use client' // エラーバウンダリはClient Componentsである必要があります export default function GlobalError({ error, @@ -357,7 +359,7 @@ export default function GlobalError({ ```jsx title="app/global-error.js" switcher -'use client' // Error boundaries must be Client Components +'use client' // エラーバウンダリはClient Componentsである必要があります export default function GlobalError({ error, reset }) { return ( diff --git a/docs/01-app/01-getting-started/10-metadata-and-og-images.mdx b/docs/01-app/01-getting-started/10-metadata-and-og-images.mdx index 65fb0278..f7b701e2 100644 --- a/docs/01-app/01-getting-started/10-metadata-and-og-images.mdx +++ b/docs/01-app/01-getting-started/10-metadata-and-og-images.mdx @@ -13,7 +13,7 @@ related: - 'app/api-reference/functions/image-response' --- -メタデータAPIを使用すると、SEOの向上やWebの共有性を高めるためにアプリケーションのメタデータを定義できます。以下を含みます: +メタデータAPIを使用すると、SEOの向上やWebでの共有性を高めるためにアプリケーションのメタデータを定義できます。以下を含みます: 1. [静的な `metadata` オブジェクト](#static-metadata) 2. [動的な `generateMetadata` 関数](#generated-metadata) @@ -138,11 +138,11 @@ Next.jsは、メタデータをUIとは別にストリームし、解決され -```tsx title="app/lib/data.ts" highlight={4} switcher +```tsx title="app/lib/data.ts" highlight={5} switcher import { cache } from 'react' import { db } from '@/app/lib/db' -// getPostは2回使用されますが、1回だけ実行されます +// getPostは2回使用されますが、実行は1回のみです export const getPost = cache(async (slug: string) => { const res = await db.query.posts.findFirst({ where: eq(posts.slug, slug) }) return res @@ -152,11 +152,11 @@ export const getPost = cache(async (slug: string) => { -```jsx title="app/lib/data.js" highlight={4} switcher +```jsx title="app/lib/data.js" highlight={5} switcher import { cache } from 'react' import { db } from '@/app/lib/db' -// getPostは2回使用されますが、1回だけ実行されます +// getPostは2回使用されますが、実行は1回のみです export const getPost = cache(async (slug) => { const res = await db.query.posts.findFirst({ where: eq(posts.slug, slug) }) return res @@ -239,7 +239,7 @@ Open Graph(OG)画像は、ソーシャルメディアでサイトを表す height="444" /> -特定のルートにOG画像を追加するには、フォルダ構造のさらに下に`opengraph-image.png`を作成します。たとえば、`/blog`ルートに特定のOG画像を作成するには、`blog`フォルダ内に`opengraph-image.jpg`ファイルを追加します。 +特定のルートにOG画像を追加するには、フォルダ構造の深い場所に`opengraph-image.png`を作成します。たとえば、`/blog`ルートに特定のOG画像を作成するには、`blog`フォルダ内に`opengraph-image.jpg`ファイルを追加します。 blogフォルダ内の特別なファイルとしてのOG画像 -より特定の画像は、フォルダ構造内の上位のOG画像よりも優先されます。 +より具体的な画像は、フォルダ構造内の上位のOG画像よりも優先されます。 -> 他の画像形式(`jpeg`、`png`、`webp`など)もサポートされています。詳細は[Open Graph Imageドキュメント](/docs/app/api-reference/file-conventions/metadata/opengraph-image)を参照してください。 +> `jpeg`、`png`、`webp`などの他の画像形式もサポートされています。詳細は[Open Graph Imageドキュメント](/docs/app/api-reference/file-conventions/metadata/opengraph-image)を参照してください。 ## 生成されたOpen Graph画像 {#generated-open-graph-images} @@ -342,10 +342,10 @@ export default async function Image({ params }) { -`ImageResponse`は、flexboxや絶対位置指定、カスタムフォント、テキストの折り返し、中央揃え、ネストされた画像など、一般的なCSSプロパティをサポートしています。[サポートされているCSSプロパティの完全なリストを参照してください](/docs/app/api-reference/functions/image-response)。 +`ImageResponse`は、flexboxや絶対位置指定、カスタムフォント、テキストの折り返し、センタリング、ネストされた画像などの一般的なCSSプロパティをサポートしています。[サポートされているCSSプロパティの完全なリストを参照してください](/docs/app/api-reference/functions/image-response)。 > **Good to know**: > > - [Vercel OG Playground](https://og-playground.vercel.app/)で例を確認できます。 -> - `ImageResponse`は、[@vercel/og](https://vercel.com/docs/concepts/functions/edge-functions/og-image-generation)、[Satori](https://github.com/vercel/satori)、およびResvgを使用してHTMLとCSSをPNGに変換します。 +> - `ImageResponse`は、HTMLとCSSをPNGに変換するために[@vercel/og](https://vercel.com/docs/concepts/functions/edge-functions/og-image-generation)、[Satori](https://github.com/vercel/satori)、Resvgを使用しています。 > - flexboxとCSSプロパティのサブセットのみがサポートされています。高度なレイアウト(例:`display: grid`)は機能しません。 diff --git a/docs/01-app/01-getting-started/12-upgrading.mdx b/docs/01-app/01-getting-started/12-upgrading.mdx index 4df85bc0..895ec8d1 100644 --- a/docs/01-app/01-getting-started/12-upgrading.mdx +++ b/docs/01-app/01-getting-started/12-upgrading.mdx @@ -5,20 +5,19 @@ related: title: 'バージョンガイド' description: '詳細なアップグレード手順については、バージョンガイドをご覧ください。' links: - - 'app/building-your-application/upgrading/canary' - 'app/building-your-application/upgrading/version-15' - 'app/building-your-application/upgrading/version-14' --- ## 最新バージョン {#latest-version} -Next.jsを最新バージョンに更新するには、`upgrade` codemodを使用します: +Next.jsを最新バージョンに更新するには、`upgrade` codemodを使用できます: ```bash title="Terminal" npx @next/codemod@canary upgrade latest ``` -手動でアップグレードしたい場合は、最新のNext.jsとReactのバージョンをインストールします: +手動でアップグレードしたい場合は、最新のNext.jsとReactのバージョンをインストールしてください: ```bash title="Terminal" npm i next@latest react@latest react-dom@latest eslint-config-next@latest @@ -26,7 +25,7 @@ npm i next@latest react@latest react-dom@latest eslint-config-next@latest ## Canaryバージョン {#canary-version} -最新のcanaryに更新するには、まずNext.jsの最新バージョンを使用しており、すべてが期待通りに動作していることを確認します。その後、次のコマンドを実行します: +最新のcanaryに更新するには、まずNext.jsの最新バージョンを使用しており、すべてが期待通りに動作していることを確認してください。その後、次のコマンドを実行します: ```bash title="Terminal" npm i next@canary diff --git a/docs/01-app/03-building-your-application/01-routing/03-layouts-and-templates.mdx b/docs/01-app/03-building-your-application/01-routing/03-layouts-and-templates.mdx index 2ed8c55d..027bb5de 100644 --- a/docs/01-app/03-building-your-application/01-routing/03-layouts-and-templates.mdx +++ b/docs/01-app/03-building-your-application/01-routing/03-layouts-and-templates.mdx @@ -1,5 +1,5 @@ --- -title: 'Layouts and Templates' +title: 'LayoutsとTemplates' description: 'Next.jsで最初の共有レイアウトを作成します。' --- @@ -9,9 +9,9 @@ description: 'Next.jsで最初の共有レイアウトを作成します。' レイアウトは、複数のルート間で**共有**されるUIです。ナビゲーション時に、レイアウトは状態を保持し、インタラクティブなままで、再レンダリングされません。レイアウトは[ネスト](#nesting-layouts)することもできます。 -`layout.js`ファイルからReactコンポーネントをデフォルトエクスポートすることで、レイアウトを定義できます。コンポーネントは、レンダリング中に子レイアウト(存在する場合)またはページで埋められる`children`プロップを受け入れる必要があります。 +`layout.js`ファイルからReactコンポーネントをデフォルトエクスポートすることで、レイアウトを定義できます。コンポーネントは、レンダリング中に子レイアウト(存在する場合)またはページで埋められる`children` propを受け入れる必要があります。 -たとえば、レイアウトは`/dashboard`および`/dashboard/settings`ページと共有されます: +たとえば、レイアウトは`/dashboard`および`/dashboard/settings`ページと共有されます。 layout.js special file -### Root Layout (必須) {#root-layout-required} +### Root Layout(必須) {#root-layout-required} root レイアウトは`app`ディレクトリのトップレベルで定義され、すべてのルートに適用されます。このレイアウトは**必須**であり、`html`および`body`タグを含める必要があります。これにより、サーバーから返される初期HTMLを変更できます。 @@ -107,9 +107,9 @@ export default function RootLayout({ children }) { ### ネストされたレイアウト {#nesting-layouts} -デフォルトでは、フォルダ階層内のレイアウトは**ネスト**されており、`children`プロップを介して子レイアウトをラップします。特定のルートセグメント(フォルダ)内に`layout.js`を追加することで、レイアウトをネストできます。 +デフォルトでは、フォルダ階層内のレイアウトは**ネスト**されており、`children` propを介して子レイアウトをラップします。特定のルートセグメント(フォルダ)内に`layout.js`を追加することで、レイアウトをネストできます。 -たとえば、`/dashboard`ルートのレイアウトを作成するには、`dashboard`フォルダ内に新しい`layout.js`ファイルを追加します: +たとえば、`/dashboard`ルートのレイアウトを作成するには、`dashboard`フォルダ内に新しい`layout.js`ファイルを追加します。 Nested Layout - レイアウトには`.js`、`.jsx`、または`.tsx`ファイル拡張子を使用できます。 > - ``および``タグを含めることができるのはroot レイアウトのみです。 > - 同じフォルダに`layout.js`と`page.js`ファイルが定義されている場合、レイアウトはページをラップします。 -> - レイアウトはデフォルトで[Server Components](/docs/app/building-your-application/rendering/server-components)ですが、[Client Component](/docs/app/building-your-application/rendering/client-components)に設定できます。 +> - レイアウトはデフォルトで[Server Components](/docs/app/building-your-application/rendering/server-components)ですが、[Client Component](/docs/app/building-your-application/rendering/client-components)に設定することもできます。 > - レイアウトはデータを取得できます。詳細は[データ取得](/docs/app/building-your-application/data-fetching)セクションを参照してください。 > - 親レイアウトとその子の間でデータを渡すことはできません。ただし、ルートで同じデータを複数回取得することができ、Reactはパフォーマンスに影響を与えることなく[リクエストを自動的に重複排除](/docs/app/building-your-application/caching#request-memoization)します。 -> - レイアウトは`pathname`にアクセスできません([詳細はこちら](/docs/app/api-reference/file-conventions/layout))。ただし、インポートされたClient Componentsは[`usePathname`](/docs/app/api-reference/functions/use-pathname)フックを使用してパス名にアクセスできます。 +> - レイアウトは`pathname`にアクセスできません([詳細はこちら](/docs/app/api-reference/file-conventions/layout))。ただし、インポートされたClient Componentsは[`usePathname`](/docs/app/api-reference/functions/use-pathname)フックを使用して`pathname`にアクセスできます。 > - レイアウトは自分自身の下のルートセグメントにアクセスできません。すべてのルートセグメントにアクセスするには、Client Componentで[`useSelectedLayoutSegment`](/docs/app/api-reference/functions/use-selected-layout-segment)または[`useSelectedLayoutSegments`](/docs/app/api-reference/functions/use-selected-layout-segments)を使用できます。 > - [Route Groups](/docs/app/building-your-application/routing/route-groups)を使用して、特定のルートセグメントを共有レイアウトに含めたり除外したりできます。 -> - [Route Groups](/docs/app/building-your-application/routing/route-groups)を使用して、複数のroot レイアウトを作成できます。[こちらの例](/docs/app/building-your-application/routing/route-groups#creating-multiple-root-layouts)を参照してください。 -> - **`pages`ディレクトリからの移行:** root レイアウトは[`_app.js`](https://nextjs.org/docs/canary/pages/building-your-application/routing/custom-app)および[`_document.js`](https://nextjs.org/docs/canary/pages/building-your-application/routing/custom-document)ファイルを置き換えます。[移行ガイドを参照](/docs/app/building-your-application/upgrading/app-router-migration#migrating-_documentjs-and-_appjs)。 +> - [Route Groups](/docs/app/building-your-application/routing/route-groups)を使用して、複数のroot レイアウトを作成できます。[こちらの例](/docs/app/getting-started/project-structure#creating-multiple-root-layouts)を参照してください。 +> - **`pages`ディレクトリからの移行:** root レイアウトは[`_app.js`](https://nextjs.org/docs/canary/pages/building-your-application/routing/custom-app)および[`_document.js`](https://nextjs.org/docs/canary/pages/building-your-application/routing/custom-document)ファイルを置き換えます。[移行ガイドを参照](/docs/app/building-your-application/upgrading/app-router-migration#migrating-_documentjs-and-_appjs)してください。 ## Templates {#templates} -テンプレートは、レイアウトと同様に子レイアウトやページをラップします。ルート間で持続し、状態を保持するレイアウトとは異なり、テンプレートはナビゲーション時にその子の新しいインスタンスを作成します。つまり、ユーザーがテンプレートを共有するルート間をナビゲートすると、子の新しいインスタンスがマウントされ、DOM要素が再作成され、Client Componentsの状態は**保持されず**、エフェクトが再同期されます。 +Templatesは、レイアウトと同様に子レイアウトやページをラップします。ルート間で持続し状態を保持するレイアウトとは異なり、Templatesはナビゲーション時にそれぞれの子に対して新しいインスタンスを作成します。つまり、ユーザーがTemplatesを共有するルート間をナビゲートすると、子の新しいインスタンスがマウントされ、DOM要素が再作成され、Client Componentsの状態は**保持されず**、エフェクトが再同期されます。 -これらの特定の動作が必要な場合があり、テンプレートはレイアウトよりも適したオプションとなるでしょう。たとえば: +これらの特定の動作が必要な場合があり、その場合Templatesはレイアウトよりも適したオプションとなります。たとえば: -- ナビゲーション時に`useEffect`を再同期するため。 -- ナビゲーション時に子Client Componentsの状態をリセットするため。 +- ナビゲーション時に`useEffect`を再同期するため +- ナビゲーション時に子Client Componentsの状態をリセットするため -テンプレートは、`template.js`ファイルからデフォルトのReactコンポーネントをエクスポートすることで定義できます。コンポーネントは`children`プロップを受け入れる必要があります。 +Templateは、`template.js`ファイルからデフォルトのReactコンポーネントをエクスポートすることで定義できます。コンポーネントは`children` propを受け入れる必要があります。 template.js special file` HTML要素を変更できます。 +[Metadata API](/docs/app/building-your-application/optimizing/metadata)を使用して、`title`や`meta`などの`` HTML要素を変更できます。 メタデータは、[`layout.js`](/docs/app/api-reference/file-conventions/layout)または[`page.js`](/docs/app/api-reference/file-conventions/page)ファイルで[`metadata`オブジェクト](/docs/app/api-reference/functions/generate-metadata#the-metadata-object)または[`generateMetadata`関数](/docs/app/api-reference/functions/generate-metadata#generatemetadata-function)をエクスポートすることで定義できます。 @@ -266,7 +266,7 @@ export default function Page() { [usePathname()](/docs/app/api-reference/functions/use-pathname)フックを使用して、ナビゲーションリンクがアクティブかどうかを判断できます。 -`usePathname()`はクライアントフックであるため、ナビゲーションリンクをClient Componentに抽出し、レイアウトやテンプレートにインポートする必要があります: +`usePathname()`はクライアントフックであるため、ナビゲーションリンクをClient Componentに抽出し、レイアウトまたはテンプレートにインポートする必要があります: diff --git a/docs/01-app/03-building-your-application/01-routing/08-route-groups.mdx b/docs/01-app/03-building-your-application/01-routing/08-route-groups.mdx index 6959daee..d002bd6b 100644 --- a/docs/01-app/03-building-your-application/01-routing/08-route-groups.mdx +++ b/docs/01-app/03-building-your-application/01-routing/08-route-groups.mdx @@ -1,93 +1,27 @@ --- title: 'Route Groups' -description: 'Route Groups を使用して、Next.js アプリケーションを異なるセクションに分割することができます。' +description: 'Route Groupsを使用して、Next.jsアプリケーションを異なるセクションに分割できます。' --- -`app` ディレクトリ内では、通常入れ子構造のフォルダが URL パスにマッピングされます。しかし、フォルダを **Route Group** としてマークすることで、そのフォルダがルートの URL パスに含まれないようにできます。 +`app`ディレクトリ内では、ネストされたフォルダは通常、URLパスにマッピングされます。しかし、フォルダを**Route Group**としてマークすることで、そのフォルダがルートのURLパスに含まれないようにすることができます。 -これにより、URL パスの構造に影響を与えずに、ルートセグメントとプロジェクトファイルを論理的なグループに整理することができます。 +これにより、URLパスの構造に影響を与えることなく、ルートセグメントやプロジェクトファイルを論理的なグループに整理することができます。 -Route groups は以下の用途に役立ちます: +Route Groupsは以下の用途に役立ちます: -- URL パスに影響を与えずにルートをグループ化する例として、サイトのセクションごと、意図ごと、チームごとなどにグループ化する [ルートをグループ化する](#organize-routes-without-affecting-the-url-path) -- 同じルートセグメントレベルで [ネストされたレイアウト](/docs/app/building-your-application/routing/layouts-and-templates) を有効にする: - - [複数の root レイアウトを含む、同一セグメント内で複数のネストされたレイアウトを作成する](#creating-multiple-root-layouts) - - [共通セグメント内のルートのサブセットにレイアウトを追加する](#opting-specific-segments-into-a-layout) -- [共通セグメント内の特定ルートにローディングスケルトンを追加する](#opting-for-loading-skeletons-on-a-specific-route) +- サイトのセクション、意図、チームごとにルートをグループ化する +- 同じルートセグメントレベルでネストされたレイアウトを有効にする: + - 同じセグメント内で複数のネストされたレイアウトを作成する(複数のroot レイアウトを含む) + - 特定のセグメントをレイアウトに選択する +- 特定のルートでローディングスケルトンを選択する ## 規約 {#convention} -Route group は、フォルダ名を括弧で囲むことで作成できます:`(folderName)` - -## 例 {#examples} - -### URL パスに影響を与えずにルートを管理する {#organize-routes-without-affecting-the-url-path} - -URL に影響を与えずにルートを管理するには、関連しているルートをまとめておくためのグループを作成します。括弧内のフォルダは URL から省略されます(例えば、`(marketing)` や `(shop)` など)。 - -Route Group を使ったルートの整理 - -`(marketing)` や `(shop)` 内のルートが同じ URL 階層を共有しているとしても、それぞれのグループ内に `layout.js` ファイルを追加することで異なるレイアウトを作成できます。 - -複数のレイアウトを持つ Route Group - -### 特定のセグメントをレイアウトに選択する {#opting-specific-segments-into-a-layout} - -特定のルートをレイアウトに選択するには、新しい Route Group(例:`(shop)`)を作成し、同じレイアウトを共有するルートをそのグループに移動します(例:`account` と `cart`)。グループ外のルートはレイアウトを共有しません(例:`checkout`)。 - -オプトインレイアウトを持つ Route Group - -### 特定ルートにローディングスケルトンを選択する {#opting-for-loading-skeletons-on-a-specific-route} - -`loading.js` ファイルを使って特定のルートに [ローディングスケルトン](/docs/app/building-your-application/routing/loading-ui-and-streaming) を適用するには、新しい Route Group(例:`/(overview)`)を作成し、そのグループ内に `loading.tsx` を移動します。 - -Route グループ内に loading.tsx と page.tsx が含まれるフォルダ構造 - -これで、`loading.tsx` ファイルはダッシュボード → 概要ページにのみ適用され、他のダッシュボードページには影響を与えずに URL パスの構造も影響しません。 - -### 複数の root レイアウトを作成する {#creating-multiple-root-layouts} - -複数の [root レイアウト](/docs/app/building-your-application/routing/layouts-and-templates#root-layout-required) を作成するには、トップレベルの `layout.js` ファイルを削除し、各 Route Group 内に `layout.js` ファイルを追加します。これは、UI や体験が完全に異なるセクションにアプリケーションを分割するのに便利です。それぞれの root レイアウトに `` と `` タグを追加する必要があります。 - -複数の root レイアウトを持つ Route Group - -上記の例では、`(marketing)` と `(shop)` はそれぞれ自身の root レイアウトを持っています。 - ---- +Route Groupは、フォルダ名を括弧で囲むことで作成できます: `(folderName)` > **Good to know**: > -> - Route Groups の命名は、組織のためのものであり、それ自体に特別な意味はありません。URL パスには影響を与えません。 -> - Route Group を含むルートは、他のルートと同じ URL パスに解決 **されないようにする必要があります。** 例えば、Route Groups は URL 構造に影響を与えないため、`(marketing)/about/page.js` と `(shop)/about/page.js` はどちらも `/about` に解決してエラーを引き起こします。 -> - 複数の root レイアウトをトップレベルの `layout.js` ファイルなしで使用する場合、ホームの `page.js` ファイルは Route Groups のひとつに定義する必要があります。例えば:`app/(marketing)/page.js`。 -> - **複数の root レイアウト間**をナビゲートすることは、(クライアントサイドのナビゲーションとは対照的に)**完全なページロード** を引き起こします。例えば、`app/(shop)/layout.js` を使用している `/cart` から、`app/(marketing)/layout.js` を使用している `/blog` へナビゲートすると完全なページロードが発生します。これは **複数の root レイアウトにのみ** 適用されます。 +> - Route Groupの命名は、組織化以外に特別な意味を持ちません。URLパスには影響を与えません。 +> - Route Groupを含むルートは、他のルートと同じURLパスに解決される**べきではありません**。たとえば、Route GroupはURL構造に影響を与えないため、`(marketing)/about/page.js`と`(shop)/about/page.js`はどちらも`/about`に解決され、エラーを引き起こします。 +> - トップレベルの`layout.js`ファイルなしで複数のroot レイアウトを使用する場合、ホームの`page.js`ファイルはRoute Groupの1つに定義する必要があります。例:`app/(marketing)/page.js`。 +> - **複数のroot レイアウトをまたいでナビゲートする**と、**フルページロード**が発生します(クライアントサイドのナビゲーションとは異なります)。たとえば、`app/(shop)/layout.js`を使用する`/cart`から`app/(marketing)/layout.js`を使用する`/blog`にナビゲートすると、フルページロードが発生します。これは**複数のroot レイアウト**にのみ適用されます。 diff --git a/docs/01-app/04-deep-dive/index.mdx b/docs/01-app/04-deep-dive/index.mdx new file mode 100644 index 00000000..705ec874 --- /dev/null +++ b/docs/01-app/04-deep-dive/index.mdx @@ -0,0 +1,4 @@ +--- +title: 'Deep Dive' +description: 'Next.jsがどのように内部で動作するかを学びましょう。' +--- diff --git a/docs/01-app/04-api-reference/01-directives/index.mdx b/docs/01-app/05-api-reference/01-directives/index.mdx similarity index 100% rename from docs/01-app/04-api-reference/01-directives/index.mdx rename to docs/01-app/05-api-reference/01-directives/index.mdx diff --git a/docs/01-app/04-api-reference/01-directives/use-cache.mdx b/docs/01-app/05-api-reference/01-directives/use-cache.mdx similarity index 100% rename from docs/01-app/04-api-reference/01-directives/use-cache.mdx rename to docs/01-app/05-api-reference/01-directives/use-cache.mdx diff --git a/docs/01-app/04-api-reference/01-directives/use-client.mdx b/docs/01-app/05-api-reference/01-directives/use-client.mdx similarity index 100% rename from docs/01-app/04-api-reference/01-directives/use-client.mdx rename to docs/01-app/05-api-reference/01-directives/use-client.mdx diff --git a/docs/01-app/04-api-reference/01-directives/use-server.mdx b/docs/01-app/05-api-reference/01-directives/use-server.mdx similarity index 100% rename from docs/01-app/04-api-reference/01-directives/use-server.mdx rename to docs/01-app/05-api-reference/01-directives/use-server.mdx diff --git a/docs/01-app/04-api-reference/02-components/font.mdx b/docs/01-app/05-api-reference/02-components/font.mdx similarity index 100% rename from docs/01-app/04-api-reference/02-components/font.mdx rename to docs/01-app/05-api-reference/02-components/font.mdx diff --git a/docs/01-app/04-api-reference/02-components/form.mdx b/docs/01-app/05-api-reference/02-components/form.mdx similarity index 100% rename from docs/01-app/04-api-reference/02-components/form.mdx rename to docs/01-app/05-api-reference/02-components/form.mdx diff --git a/docs/01-app/04-api-reference/02-components/image.mdx b/docs/01-app/05-api-reference/02-components/image.mdx similarity index 100% rename from docs/01-app/04-api-reference/02-components/image.mdx rename to docs/01-app/05-api-reference/02-components/image.mdx diff --git a/docs/01-app/04-api-reference/02-components/index.mdx b/docs/01-app/05-api-reference/02-components/index.mdx similarity index 100% rename from docs/01-app/04-api-reference/02-components/index.mdx rename to docs/01-app/05-api-reference/02-components/index.mdx diff --git a/docs/01-app/04-api-reference/02-components/link.mdx b/docs/01-app/05-api-reference/02-components/link.mdx similarity index 100% rename from docs/01-app/04-api-reference/02-components/link.mdx rename to docs/01-app/05-api-reference/02-components/link.mdx diff --git a/docs/01-app/04-api-reference/02-components/script.mdx b/docs/01-app/05-api-reference/02-components/script.mdx similarity index 100% rename from docs/01-app/04-api-reference/02-components/script.mdx rename to docs/01-app/05-api-reference/02-components/script.mdx diff --git a/docs/01-app/04-api-reference/03-file-conventions/01-metadata/app-icons.mdx b/docs/01-app/05-api-reference/03-file-conventions/01-metadata/app-icons.mdx similarity index 100% rename from docs/01-app/04-api-reference/03-file-conventions/01-metadata/app-icons.mdx rename to docs/01-app/05-api-reference/03-file-conventions/01-metadata/app-icons.mdx diff --git a/docs/01-app/04-api-reference/03-file-conventions/01-metadata/index.mdx b/docs/01-app/05-api-reference/03-file-conventions/01-metadata/index.mdx similarity index 100% rename from docs/01-app/04-api-reference/03-file-conventions/01-metadata/index.mdx rename to docs/01-app/05-api-reference/03-file-conventions/01-metadata/index.mdx diff --git a/docs/01-app/04-api-reference/03-file-conventions/01-metadata/manifest.mdx b/docs/01-app/05-api-reference/03-file-conventions/01-metadata/manifest.mdx similarity index 100% rename from docs/01-app/04-api-reference/03-file-conventions/01-metadata/manifest.mdx rename to docs/01-app/05-api-reference/03-file-conventions/01-metadata/manifest.mdx diff --git a/docs/01-app/04-api-reference/03-file-conventions/01-metadata/opengraph-image.mdx b/docs/01-app/05-api-reference/03-file-conventions/01-metadata/opengraph-image.mdx similarity index 100% rename from docs/01-app/04-api-reference/03-file-conventions/01-metadata/opengraph-image.mdx rename to docs/01-app/05-api-reference/03-file-conventions/01-metadata/opengraph-image.mdx diff --git a/docs/01-app/04-api-reference/03-file-conventions/01-metadata/robots.mdx b/docs/01-app/05-api-reference/03-file-conventions/01-metadata/robots.mdx similarity index 100% rename from docs/01-app/04-api-reference/03-file-conventions/01-metadata/robots.mdx rename to docs/01-app/05-api-reference/03-file-conventions/01-metadata/robots.mdx diff --git a/docs/01-app/04-api-reference/03-file-conventions/01-metadata/sitemap.mdx b/docs/01-app/05-api-reference/03-file-conventions/01-metadata/sitemap.mdx similarity index 100% rename from docs/01-app/04-api-reference/03-file-conventions/01-metadata/sitemap.mdx rename to docs/01-app/05-api-reference/03-file-conventions/01-metadata/sitemap.mdx diff --git a/docs/01-app/04-api-reference/03-file-conventions/default.mdx b/docs/01-app/05-api-reference/03-file-conventions/default.mdx similarity index 100% rename from docs/01-app/04-api-reference/03-file-conventions/default.mdx rename to docs/01-app/05-api-reference/03-file-conventions/default.mdx diff --git a/docs/01-app/04-api-reference/03-file-conventions/error.mdx b/docs/01-app/05-api-reference/03-file-conventions/error.mdx similarity index 100% rename from docs/01-app/04-api-reference/03-file-conventions/error.mdx rename to docs/01-app/05-api-reference/03-file-conventions/error.mdx diff --git a/docs/01-app/04-api-reference/03-file-conventions/forbidden.mdx b/docs/01-app/05-api-reference/03-file-conventions/forbidden.mdx similarity index 100% rename from docs/01-app/04-api-reference/03-file-conventions/forbidden.mdx rename to docs/01-app/05-api-reference/03-file-conventions/forbidden.mdx diff --git a/docs/01-app/04-api-reference/03-file-conventions/index.mdx b/docs/01-app/05-api-reference/03-file-conventions/index.mdx similarity index 100% rename from docs/01-app/04-api-reference/03-file-conventions/index.mdx rename to docs/01-app/05-api-reference/03-file-conventions/index.mdx diff --git a/docs/01-app/04-api-reference/03-file-conventions/instrumentation-client.mdx b/docs/01-app/05-api-reference/03-file-conventions/instrumentation-client.mdx similarity index 100% rename from docs/01-app/04-api-reference/03-file-conventions/instrumentation-client.mdx rename to docs/01-app/05-api-reference/03-file-conventions/instrumentation-client.mdx diff --git a/docs/01-app/04-api-reference/03-file-conventions/instrumentation.mdx b/docs/01-app/05-api-reference/03-file-conventions/instrumentation.mdx similarity index 100% rename from docs/01-app/04-api-reference/03-file-conventions/instrumentation.mdx rename to docs/01-app/05-api-reference/03-file-conventions/instrumentation.mdx diff --git a/docs/01-app/04-api-reference/03-file-conventions/layout.mdx b/docs/01-app/05-api-reference/03-file-conventions/layout.mdx similarity index 100% rename from docs/01-app/04-api-reference/03-file-conventions/layout.mdx rename to docs/01-app/05-api-reference/03-file-conventions/layout.mdx diff --git a/docs/01-app/04-api-reference/03-file-conventions/loading.mdx b/docs/01-app/05-api-reference/03-file-conventions/loading.mdx similarity index 100% rename from docs/01-app/04-api-reference/03-file-conventions/loading.mdx rename to docs/01-app/05-api-reference/03-file-conventions/loading.mdx diff --git a/docs/01-app/04-api-reference/03-file-conventions/mdx-components.mdx b/docs/01-app/05-api-reference/03-file-conventions/mdx-components.mdx similarity index 100% rename from docs/01-app/04-api-reference/03-file-conventions/mdx-components.mdx rename to docs/01-app/05-api-reference/03-file-conventions/mdx-components.mdx diff --git a/docs/01-app/04-api-reference/03-file-conventions/middleware.mdx b/docs/01-app/05-api-reference/03-file-conventions/middleware.mdx similarity index 100% rename from docs/01-app/04-api-reference/03-file-conventions/middleware.mdx rename to docs/01-app/05-api-reference/03-file-conventions/middleware.mdx diff --git a/docs/01-app/04-api-reference/03-file-conventions/not-found.mdx b/docs/01-app/05-api-reference/03-file-conventions/not-found.mdx similarity index 100% rename from docs/01-app/04-api-reference/03-file-conventions/not-found.mdx rename to docs/01-app/05-api-reference/03-file-conventions/not-found.mdx diff --git a/docs/01-app/04-api-reference/03-file-conventions/page.mdx b/docs/01-app/05-api-reference/03-file-conventions/page.mdx similarity index 100% rename from docs/01-app/04-api-reference/03-file-conventions/page.mdx rename to docs/01-app/05-api-reference/03-file-conventions/page.mdx diff --git a/docs/01-app/04-api-reference/03-file-conventions/route-segment-config.mdx b/docs/01-app/05-api-reference/03-file-conventions/route-segment-config.mdx similarity index 100% rename from docs/01-app/04-api-reference/03-file-conventions/route-segment-config.mdx rename to docs/01-app/05-api-reference/03-file-conventions/route-segment-config.mdx diff --git a/docs/01-app/04-api-reference/03-file-conventions/route.mdx b/docs/01-app/05-api-reference/03-file-conventions/route.mdx similarity index 100% rename from docs/01-app/04-api-reference/03-file-conventions/route.mdx rename to docs/01-app/05-api-reference/03-file-conventions/route.mdx diff --git a/docs/01-app/04-api-reference/03-file-conventions/template.mdx b/docs/01-app/05-api-reference/03-file-conventions/template.mdx similarity index 100% rename from docs/01-app/04-api-reference/03-file-conventions/template.mdx rename to docs/01-app/05-api-reference/03-file-conventions/template.mdx diff --git a/docs/01-app/04-api-reference/03-file-conventions/unauthorized.mdx b/docs/01-app/05-api-reference/03-file-conventions/unauthorized.mdx similarity index 100% rename from docs/01-app/04-api-reference/03-file-conventions/unauthorized.mdx rename to docs/01-app/05-api-reference/03-file-conventions/unauthorized.mdx diff --git a/docs/01-app/04-api-reference/04-functions/after.mdx b/docs/01-app/05-api-reference/04-functions/after.mdx similarity index 100% rename from docs/01-app/04-api-reference/04-functions/after.mdx rename to docs/01-app/05-api-reference/04-functions/after.mdx diff --git a/docs/01-app/04-api-reference/04-functions/cacheLife.mdx b/docs/01-app/05-api-reference/04-functions/cacheLife.mdx similarity index 100% rename from docs/01-app/04-api-reference/04-functions/cacheLife.mdx rename to docs/01-app/05-api-reference/04-functions/cacheLife.mdx diff --git a/docs/01-app/04-api-reference/04-functions/cacheTag.mdx b/docs/01-app/05-api-reference/04-functions/cacheTag.mdx similarity index 100% rename from docs/01-app/04-api-reference/04-functions/cacheTag.mdx rename to docs/01-app/05-api-reference/04-functions/cacheTag.mdx diff --git a/docs/01-app/04-api-reference/04-functions/connection.mdx b/docs/01-app/05-api-reference/04-functions/connection.mdx similarity index 100% rename from docs/01-app/04-api-reference/04-functions/connection.mdx rename to docs/01-app/05-api-reference/04-functions/connection.mdx diff --git a/docs/01-app/04-api-reference/04-functions/cookies.mdx b/docs/01-app/05-api-reference/04-functions/cookies.mdx similarity index 100% rename from docs/01-app/04-api-reference/04-functions/cookies.mdx rename to docs/01-app/05-api-reference/04-functions/cookies.mdx diff --git a/docs/01-app/04-api-reference/04-functions/draft-mode.mdx b/docs/01-app/05-api-reference/04-functions/draft-mode.mdx similarity index 100% rename from docs/01-app/04-api-reference/04-functions/draft-mode.mdx rename to docs/01-app/05-api-reference/04-functions/draft-mode.mdx diff --git a/docs/01-app/04-api-reference/04-functions/fetch.mdx b/docs/01-app/05-api-reference/04-functions/fetch.mdx similarity index 100% rename from docs/01-app/04-api-reference/04-functions/fetch.mdx rename to docs/01-app/05-api-reference/04-functions/fetch.mdx diff --git a/docs/01-app/04-api-reference/04-functions/forbidden.mdx b/docs/01-app/05-api-reference/04-functions/forbidden.mdx similarity index 100% rename from docs/01-app/04-api-reference/04-functions/forbidden.mdx rename to docs/01-app/05-api-reference/04-functions/forbidden.mdx diff --git a/docs/01-app/04-api-reference/04-functions/generate-image-metadata.mdx b/docs/01-app/05-api-reference/04-functions/generate-image-metadata.mdx similarity index 100% rename from docs/01-app/04-api-reference/04-functions/generate-image-metadata.mdx rename to docs/01-app/05-api-reference/04-functions/generate-image-metadata.mdx diff --git a/docs/01-app/04-api-reference/04-functions/generate-metadata.mdx b/docs/01-app/05-api-reference/04-functions/generate-metadata.mdx similarity index 100% rename from docs/01-app/04-api-reference/04-functions/generate-metadata.mdx rename to docs/01-app/05-api-reference/04-functions/generate-metadata.mdx diff --git a/docs/01-app/04-api-reference/04-functions/generate-sitemaps.mdx b/docs/01-app/05-api-reference/04-functions/generate-sitemaps.mdx similarity index 100% rename from docs/01-app/04-api-reference/04-functions/generate-sitemaps.mdx rename to docs/01-app/05-api-reference/04-functions/generate-sitemaps.mdx diff --git a/docs/01-app/04-api-reference/04-functions/generate-static-params.mdx b/docs/01-app/05-api-reference/04-functions/generate-static-params.mdx similarity index 100% rename from docs/01-app/04-api-reference/04-functions/generate-static-params.mdx rename to docs/01-app/05-api-reference/04-functions/generate-static-params.mdx diff --git a/docs/01-app/04-api-reference/04-functions/generate-viewport.mdx b/docs/01-app/05-api-reference/04-functions/generate-viewport.mdx similarity index 100% rename from docs/01-app/04-api-reference/04-functions/generate-viewport.mdx rename to docs/01-app/05-api-reference/04-functions/generate-viewport.mdx diff --git a/docs/01-app/04-api-reference/04-functions/headers.mdx b/docs/01-app/05-api-reference/04-functions/headers.mdx similarity index 100% rename from docs/01-app/04-api-reference/04-functions/headers.mdx rename to docs/01-app/05-api-reference/04-functions/headers.mdx diff --git a/docs/01-app/04-api-reference/04-functions/image-response.mdx b/docs/01-app/05-api-reference/04-functions/image-response.mdx similarity index 100% rename from docs/01-app/04-api-reference/04-functions/image-response.mdx rename to docs/01-app/05-api-reference/04-functions/image-response.mdx diff --git a/docs/01-app/04-api-reference/04-functions/index.mdx b/docs/01-app/05-api-reference/04-functions/index.mdx similarity index 100% rename from docs/01-app/04-api-reference/04-functions/index.mdx rename to docs/01-app/05-api-reference/04-functions/index.mdx diff --git a/docs/01-app/04-api-reference/04-functions/next-request.mdx b/docs/01-app/05-api-reference/04-functions/next-request.mdx similarity index 100% rename from docs/01-app/04-api-reference/04-functions/next-request.mdx rename to docs/01-app/05-api-reference/04-functions/next-request.mdx diff --git a/docs/01-app/04-api-reference/04-functions/next-response.mdx b/docs/01-app/05-api-reference/04-functions/next-response.mdx similarity index 100% rename from docs/01-app/04-api-reference/04-functions/next-response.mdx rename to docs/01-app/05-api-reference/04-functions/next-response.mdx diff --git a/docs/01-app/04-api-reference/04-functions/not-found.mdx b/docs/01-app/05-api-reference/04-functions/not-found.mdx similarity index 100% rename from docs/01-app/04-api-reference/04-functions/not-found.mdx rename to docs/01-app/05-api-reference/04-functions/not-found.mdx diff --git a/docs/01-app/04-api-reference/04-functions/permanentRedirect.mdx b/docs/01-app/05-api-reference/04-functions/permanentRedirect.mdx similarity index 100% rename from docs/01-app/04-api-reference/04-functions/permanentRedirect.mdx rename to docs/01-app/05-api-reference/04-functions/permanentRedirect.mdx diff --git a/docs/01-app/04-api-reference/04-functions/redirect.mdx b/docs/01-app/05-api-reference/04-functions/redirect.mdx similarity index 100% rename from docs/01-app/04-api-reference/04-functions/redirect.mdx rename to docs/01-app/05-api-reference/04-functions/redirect.mdx diff --git a/docs/01-app/04-api-reference/04-functions/revalidatePath.mdx b/docs/01-app/05-api-reference/04-functions/revalidatePath.mdx similarity index 100% rename from docs/01-app/04-api-reference/04-functions/revalidatePath.mdx rename to docs/01-app/05-api-reference/04-functions/revalidatePath.mdx diff --git a/docs/01-app/04-api-reference/04-functions/revalidateTag.mdx b/docs/01-app/05-api-reference/04-functions/revalidateTag.mdx similarity index 100% rename from docs/01-app/04-api-reference/04-functions/revalidateTag.mdx rename to docs/01-app/05-api-reference/04-functions/revalidateTag.mdx diff --git a/docs/01-app/04-api-reference/04-functions/unauthorized.mdx b/docs/01-app/05-api-reference/04-functions/unauthorized.mdx similarity index 100% rename from docs/01-app/04-api-reference/04-functions/unauthorized.mdx rename to docs/01-app/05-api-reference/04-functions/unauthorized.mdx diff --git a/docs/01-app/04-api-reference/04-functions/unstable_cache.mdx b/docs/01-app/05-api-reference/04-functions/unstable_cache.mdx similarity index 100% rename from docs/01-app/04-api-reference/04-functions/unstable_cache.mdx rename to docs/01-app/05-api-reference/04-functions/unstable_cache.mdx diff --git a/docs/01-app/04-api-reference/04-functions/unstable_noStore.mdx b/docs/01-app/05-api-reference/04-functions/unstable_noStore.mdx similarity index 100% rename from docs/01-app/04-api-reference/04-functions/unstable_noStore.mdx rename to docs/01-app/05-api-reference/04-functions/unstable_noStore.mdx diff --git a/docs/01-app/04-api-reference/04-functions/unstable_rethrow.mdx b/docs/01-app/05-api-reference/04-functions/unstable_rethrow.mdx similarity index 100% rename from docs/01-app/04-api-reference/04-functions/unstable_rethrow.mdx rename to docs/01-app/05-api-reference/04-functions/unstable_rethrow.mdx diff --git a/docs/01-app/04-api-reference/04-functions/use-link-status.mdx b/docs/01-app/05-api-reference/04-functions/use-link-status.mdx similarity index 91% rename from docs/01-app/04-api-reference/04-functions/use-link-status.mdx rename to docs/01-app/05-api-reference/04-functions/use-link-status.mdx index d6ce6d72..652722f7 100644 --- a/docs/01-app/04-api-reference/04-functions/use-link-status.mdx +++ b/docs/01-app/05-api-reference/04-functions/use-link-status.mdx @@ -11,7 +11,7 @@ description: 'useLinkStatus フックのAPIリファレンス。' ```tsx title="app/loading-indicator.tsx" switcher 'use client' -import { useLinkStatus } from 'next/navigation' +import { useLinkStatus } from 'next/link' export default function LoadingIndicator() { const { pending } = useLinkStatus() @@ -25,7 +25,7 @@ export default function LoadingIndicator() { ```jsx title="app/loading-indicator.js" switcher 'use client' -import { useLinkStatus } from 'next/navigation' +import { useLinkStatus } from 'next/link' export default function LoadingIndicator() { const { pending } = useLinkStatus() @@ -79,8 +79,8 @@ export default function Header() { > > - `useLinkStatus`は、`Link`コンポーネントの子孫コンポーネント内で使用する必要があります > - このフックは、`Link`コンポーネントで`prefetch={false}`が設定されている場合に最も有用です -> - リンクされたルートが事前にフェッチされている場合、pending状態はスキップされます -> - 短時間で複数のリンクをクリックした場合、最後のリンクのpending状態のみが表示されます +> - リンクされたルートが事前取得されている場合、pending状態はスキップされます +> - 複数のリンクを短時間で連続してクリックすると、最後のリンクのpending状態のみが表示されます > - このフックはPages Routerではサポートされておらず、常に`{ pending: false }`を返します ## パラメータ {#parameters} @@ -105,7 +105,7 @@ const { pending } = useLinkStatus() この例では、カテゴリ間のナビゲーションがクエリ文字列(例:?category=books)を更新します。しかし、ページが応答しないように見えることがあります。これは、``フォールバックが既存のコンテンツを置き換えないためです([不要な読み込みインジケーターの防止](https://react.dev/reference/react/useTransition#preventing-unwanted-loading-indicators)を参照)。 -`useLinkStatus`フックを使用して、アクティブなリンクの横に軽量な読み込みインジケーターをレンダリングし、データがフェッチされている間にユーザーに即時のフィードバックを提供できます。 +`useLinkStatus`フックを使用して、アクティブなリンクの横に軽量な読み込みインジケーターをレンダリングし、データが取得される間、ユーザーに即時のフィードバックを提供できます。 @@ -113,7 +113,7 @@ const { pending } = useLinkStatus() ```tsx title="app/components/loading-indicator.tsx" switcher 'use client' -import { useLinkStatus } from 'next/navigation' +import { useLinkStatus } from 'next/link' export default function LoadingIndicator() { const { pending } = useLinkStatus() @@ -127,7 +127,7 @@ export default function LoadingIndicator() { ```jsx title="app/components/loading-indicator.js" switcher 'use client' -import { useLinkStatus } from 'next/navigation' +import { useLinkStatus } from 'next/link' export default function LoadingIndicator() { const { pending } = useLinkStatus() diff --git a/docs/01-app/04-api-reference/04-functions/use-params.mdx b/docs/01-app/05-api-reference/04-functions/use-params.mdx similarity index 100% rename from docs/01-app/04-api-reference/04-functions/use-params.mdx rename to docs/01-app/05-api-reference/04-functions/use-params.mdx diff --git a/docs/01-app/04-api-reference/04-functions/use-pathname.mdx b/docs/01-app/05-api-reference/04-functions/use-pathname.mdx similarity index 100% rename from docs/01-app/04-api-reference/04-functions/use-pathname.mdx rename to docs/01-app/05-api-reference/04-functions/use-pathname.mdx diff --git a/docs/01-app/04-api-reference/04-functions/use-report-web-vitals.mdx b/docs/01-app/05-api-reference/04-functions/use-report-web-vitals.mdx similarity index 100% rename from docs/01-app/04-api-reference/04-functions/use-report-web-vitals.mdx rename to docs/01-app/05-api-reference/04-functions/use-report-web-vitals.mdx diff --git a/docs/01-app/04-api-reference/04-functions/use-router.mdx b/docs/01-app/05-api-reference/04-functions/use-router.mdx similarity index 100% rename from docs/01-app/04-api-reference/04-functions/use-router.mdx rename to docs/01-app/05-api-reference/04-functions/use-router.mdx diff --git a/docs/01-app/04-api-reference/04-functions/use-search-params.mdx b/docs/01-app/05-api-reference/04-functions/use-search-params.mdx similarity index 100% rename from docs/01-app/04-api-reference/04-functions/use-search-params.mdx rename to docs/01-app/05-api-reference/04-functions/use-search-params.mdx diff --git a/docs/01-app/04-api-reference/04-functions/use-selected-layout-segment.mdx b/docs/01-app/05-api-reference/04-functions/use-selected-layout-segment.mdx similarity index 100% rename from docs/01-app/04-api-reference/04-functions/use-selected-layout-segment.mdx rename to docs/01-app/05-api-reference/04-functions/use-selected-layout-segment.mdx diff --git a/docs/01-app/04-api-reference/04-functions/use-selected-layout-segments.mdx b/docs/01-app/05-api-reference/04-functions/use-selected-layout-segments.mdx similarity index 100% rename from docs/01-app/04-api-reference/04-functions/use-selected-layout-segments.mdx rename to docs/01-app/05-api-reference/04-functions/use-selected-layout-segments.mdx diff --git a/docs/01-app/04-api-reference/04-functions/userAgent.mdx b/docs/01-app/05-api-reference/04-functions/userAgent.mdx similarity index 100% rename from docs/01-app/04-api-reference/04-functions/userAgent.mdx rename to docs/01-app/05-api-reference/04-functions/userAgent.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/allowedDevOrigins.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/allowedDevOrigins.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/allowedDevOrigins.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/allowedDevOrigins.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/appDir.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/appDir.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/appDir.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/appDir.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/assetPrefix.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/assetPrefix.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/assetPrefix.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/assetPrefix.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/authInterrupts.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/authInterrupts.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/authInterrupts.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/authInterrupts.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/basePath.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/basePath.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/basePath.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/basePath.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/cacheLife.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/cacheLife.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/cacheLife.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/cacheLife.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/compress.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/compress.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/compress.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/compress.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/crossOrigin.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/crossOrigin.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/crossOrigin.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/crossOrigin.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/cssChunking.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/cssChunking.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/cssChunking.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/cssChunking.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/devIndicators.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/devIndicators.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/devIndicators.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/devIndicators.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/distDir.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/distDir.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/distDir.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/distDir.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/dynamicIO.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/dynamicIO.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/dynamicIO.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/dynamicIO.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/env.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/env.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/env.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/env.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/eslint.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/eslint.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/eslint.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/eslint.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/expireTime.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/expireTime.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/expireTime.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/expireTime.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/exportPathMap.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/exportPathMap.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/exportPathMap.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/exportPathMap.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/generateBuildId.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/generateBuildId.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/generateBuildId.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/generateBuildId.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/generateEtags.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/generateEtags.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/generateEtags.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/generateEtags.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/headers.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/headers.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/headers.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/headers.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/htmlLimitedBots.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/htmlLimitedBots.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/htmlLimitedBots.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/htmlLimitedBots.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/httpAgentOptions.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/httpAgentOptions.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/httpAgentOptions.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/httpAgentOptions.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/images.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/images.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/images.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/images.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/incrementalCacheHandlerPath.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/incrementalCacheHandlerPath.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/incrementalCacheHandlerPath.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/incrementalCacheHandlerPath.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/index.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/index.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/index.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/index.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/inlineCss.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/inlineCss.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/inlineCss.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/inlineCss.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/logging.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/logging.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/logging.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/logging.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/mdxRs.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/mdxRs.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/mdxRs.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/mdxRs.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/onDemandEntries.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/onDemandEntries.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/onDemandEntries.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/onDemandEntries.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/optimizePackageImports.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/optimizePackageImports.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/optimizePackageImports.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/optimizePackageImports.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/output.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/output.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/output.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/output.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/pageExtensions.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/pageExtensions.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/pageExtensions.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/pageExtensions.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/poweredByHeader.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/poweredByHeader.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/poweredByHeader.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/poweredByHeader.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/ppr.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/ppr.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/ppr.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/ppr.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/productionBrowserSourceMaps.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/productionBrowserSourceMaps.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/productionBrowserSourceMaps.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/productionBrowserSourceMaps.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/reactCompiler.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/reactCompiler.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/reactCompiler.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/reactCompiler.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/reactMaxHeadersLength.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/reactMaxHeadersLength.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/reactMaxHeadersLength.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/reactMaxHeadersLength.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/reactStrictMode.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/reactStrictMode.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/reactStrictMode.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/reactStrictMode.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/redirects.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/redirects.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/redirects.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/redirects.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/rewrites.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/rewrites.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/rewrites.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/rewrites.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/sassOptions.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/sassOptions.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/sassOptions.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/sassOptions.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/serverActions.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/serverActions.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/serverActions.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/serverActions.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/serverComponentsHmrCache.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/serverComponentsHmrCache.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/serverComponentsHmrCache.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/serverComponentsHmrCache.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/serverExternalPackages.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/serverExternalPackages.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/serverExternalPackages.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/serverExternalPackages.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/staleTimes.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/staleTimes.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/staleTimes.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/staleTimes.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/staticGeneration.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/staticGeneration.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/staticGeneration.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/staticGeneration.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/trailingSlash.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/trailingSlash.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/trailingSlash.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/trailingSlash.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/transpilePackages.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/transpilePackages.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/transpilePackages.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/transpilePackages.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/turbo.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/turbo.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/turbo.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/turbo.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/typedRoutes.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/typedRoutes.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/typedRoutes.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/typedRoutes.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/typescript.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/typescript.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/typescript.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/typescript.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/urlImports.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/urlImports.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/urlImports.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/urlImports.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/useCache.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/useCache.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/useCache.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/useCache.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/useLightningcss.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/useLightningcss.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/useLightningcss.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/useLightningcss.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/viewTransition.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/viewTransition.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/viewTransition.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/viewTransition.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/webVitalsAttribution.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/webVitalsAttribution.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/webVitalsAttribution.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/webVitalsAttribution.mdx diff --git a/docs/01-app/04-api-reference/05-config/01-next-config-js/webpack.mdx b/docs/01-app/05-api-reference/05-config/01-next-config-js/webpack.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/01-next-config-js/webpack.mdx rename to docs/01-app/05-api-reference/05-config/01-next-config-js/webpack.mdx diff --git a/docs/01-app/04-api-reference/05-config/02-typescript.mdx b/docs/01-app/05-api-reference/05-config/02-typescript.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/02-typescript.mdx rename to docs/01-app/05-api-reference/05-config/02-typescript.mdx diff --git a/docs/01-app/04-api-reference/05-config/03-eslint.mdx b/docs/01-app/05-api-reference/05-config/03-eslint.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/03-eslint.mdx rename to docs/01-app/05-api-reference/05-config/03-eslint.mdx diff --git a/docs/01-app/04-api-reference/05-config/index.mdx b/docs/01-app/05-api-reference/05-config/index.mdx similarity index 100% rename from docs/01-app/04-api-reference/05-config/index.mdx rename to docs/01-app/05-api-reference/05-config/index.mdx diff --git a/docs/01-app/04-api-reference/06-cli/create-next-app.mdx b/docs/01-app/05-api-reference/06-cli/create-next-app.mdx similarity index 100% rename from docs/01-app/04-api-reference/06-cli/create-next-app.mdx rename to docs/01-app/05-api-reference/06-cli/create-next-app.mdx diff --git a/docs/01-app/04-api-reference/06-cli/index.mdx b/docs/01-app/05-api-reference/06-cli/index.mdx similarity index 100% rename from docs/01-app/04-api-reference/06-cli/index.mdx rename to docs/01-app/05-api-reference/06-cli/index.mdx diff --git a/docs/01-app/04-api-reference/06-cli/next.mdx b/docs/01-app/05-api-reference/06-cli/next.mdx similarity index 100% rename from docs/01-app/04-api-reference/06-cli/next.mdx rename to docs/01-app/05-api-reference/06-cli/next.mdx diff --git a/docs/01-app/04-api-reference/07-edge.mdx b/docs/01-app/05-api-reference/07-edge.mdx similarity index 100% rename from docs/01-app/04-api-reference/07-edge.mdx rename to docs/01-app/05-api-reference/07-edge.mdx diff --git a/docs/01-app/04-api-reference/08-turbopack.mdx b/docs/01-app/05-api-reference/08-turbopack.mdx similarity index 100% rename from docs/01-app/04-api-reference/08-turbopack.mdx rename to docs/01-app/05-api-reference/08-turbopack.mdx diff --git a/docs/01-app/04-api-reference/index.mdx b/docs/01-app/05-api-reference/index.mdx similarity index 100% rename from docs/01-app/04-api-reference/index.mdx rename to docs/01-app/05-api-reference/index.mdx diff --git a/kj-diff.json b/kj-diff.json index 09f29f50..1ae7940f 100644 --- a/kj-diff.json +++ b/kj-diff.json @@ -1,11 +1,156 @@ { "submodule": "next.js", "hash": { - "previous": "c08d75d102da5b5a894330c7159120e8b0251768", - "current": "f6557ffc0f85558c2db3a6c3cdc75f2ac3b3bb92" + "previous": "f6557ffc0f85558c2db3a6c3cdc75f2ac3b3bb92", + "current": "c640c57a0866317631fd18973f02f52f1b0390e0" }, "diffs": [ - "M\tdocs/01-app/04-api-reference/02-components/link.mdx", - "A\tdocs/01-app/04-api-reference/04-functions/use-link-status.mdx" + "M\tdocs/01-app/01-getting-started/01-installation.mdx", + "M\tdocs/01-app/01-getting-started/02-project-structure.mdx", + "M\tdocs/01-app/01-getting-started/03-layouts-and-pages.mdx", + "M\tdocs/01-app/01-getting-started/04-images-and-fonts.mdx", + "M\tdocs/01-app/01-getting-started/05-css.mdx", + "M\tdocs/01-app/01-getting-started/06-fetching-data.mdx", + "M\tdocs/01-app/01-getting-started/07-updating-data.mdx", + "M\tdocs/01-app/01-getting-started/08-error-handling.mdx", + "M\tdocs/01-app/01-getting-started/10-metadata-and-og-images.mdx", + "M\tdocs/01-app/01-getting-started/12-upgrading.mdx", + "M\tdocs/01-app/03-building-your-application/01-routing/03-layouts-and-templates.mdx", + "M\tdocs/01-app/03-building-your-application/01-routing/08-route-groups.mdx", + "D\tdocs/01-app/04-api-reference/04-functions/use-link-status.mdx", + "A\tdocs/01-app/04-deep-dive/index.mdx", + "R100\tdocs/01-app/04-api-reference/01-directives/index.mdx\tdocs/01-app/05-api-reference/01-directives/index.mdx", + "R100\tdocs/01-app/04-api-reference/01-directives/use-cache.mdx\tdocs/01-app/05-api-reference/01-directives/use-cache.mdx", + "R100\tdocs/01-app/04-api-reference/01-directives/use-client.mdx\tdocs/01-app/05-api-reference/01-directives/use-client.mdx", + "R100\tdocs/01-app/04-api-reference/01-directives/use-server.mdx\tdocs/01-app/05-api-reference/01-directives/use-server.mdx", + "R100\tdocs/01-app/04-api-reference/02-components/font.mdx\tdocs/01-app/05-api-reference/02-components/font.mdx", + "R100\tdocs/01-app/04-api-reference/02-components/form.mdx\tdocs/01-app/05-api-reference/02-components/form.mdx", + "R100\tdocs/01-app/04-api-reference/02-components/image.mdx\tdocs/01-app/05-api-reference/02-components/image.mdx", + "R100\tdocs/01-app/04-api-reference/02-components/index.mdx\tdocs/01-app/05-api-reference/02-components/index.mdx", + "R100\tdocs/01-app/04-api-reference/02-components/link.mdx\tdocs/01-app/05-api-reference/02-components/link.mdx", + "R100\tdocs/01-app/04-api-reference/02-components/script.mdx\tdocs/01-app/05-api-reference/02-components/script.mdx", + "R100\tdocs/01-app/04-api-reference/03-file-conventions/01-metadata/app-icons.mdx\tdocs/01-app/05-api-reference/03-file-conventions/01-metadata/app-icons.mdx", + "R100\tdocs/01-app/04-api-reference/03-file-conventions/01-metadata/index.mdx\tdocs/01-app/05-api-reference/03-file-conventions/01-metadata/index.mdx", + "R100\tdocs/01-app/04-api-reference/03-file-conventions/01-metadata/manifest.mdx\tdocs/01-app/05-api-reference/03-file-conventions/01-metadata/manifest.mdx", + "R100\tdocs/01-app/04-api-reference/03-file-conventions/01-metadata/opengraph-image.mdx\tdocs/01-app/05-api-reference/03-file-conventions/01-metadata/opengraph-image.mdx", + "R100\tdocs/01-app/04-api-reference/03-file-conventions/01-metadata/robots.mdx\tdocs/01-app/05-api-reference/03-file-conventions/01-metadata/robots.mdx", + "R100\tdocs/01-app/04-api-reference/03-file-conventions/01-metadata/sitemap.mdx\tdocs/01-app/05-api-reference/03-file-conventions/01-metadata/sitemap.mdx", + "R100\tdocs/01-app/04-api-reference/03-file-conventions/default.mdx\tdocs/01-app/05-api-reference/03-file-conventions/default.mdx", + "R100\tdocs/01-app/04-api-reference/03-file-conventions/error.mdx\tdocs/01-app/05-api-reference/03-file-conventions/error.mdx", + "R100\tdocs/01-app/04-api-reference/03-file-conventions/forbidden.mdx\tdocs/01-app/05-api-reference/03-file-conventions/forbidden.mdx", + "R100\tdocs/01-app/04-api-reference/03-file-conventions/index.mdx\tdocs/01-app/05-api-reference/03-file-conventions/index.mdx", + "R100\tdocs/01-app/04-api-reference/03-file-conventions/instrumentation-client.mdx\tdocs/01-app/05-api-reference/03-file-conventions/instrumentation-client.mdx", + "R100\tdocs/01-app/04-api-reference/03-file-conventions/instrumentation.mdx\tdocs/01-app/05-api-reference/03-file-conventions/instrumentation.mdx", + "R100\tdocs/01-app/04-api-reference/03-file-conventions/layout.mdx\tdocs/01-app/05-api-reference/03-file-conventions/layout.mdx", + "R100\tdocs/01-app/04-api-reference/03-file-conventions/loading.mdx\tdocs/01-app/05-api-reference/03-file-conventions/loading.mdx", + "R100\tdocs/01-app/04-api-reference/03-file-conventions/mdx-components.mdx\tdocs/01-app/05-api-reference/03-file-conventions/mdx-components.mdx", + "R100\tdocs/01-app/04-api-reference/03-file-conventions/middleware.mdx\tdocs/01-app/05-api-reference/03-file-conventions/middleware.mdx", + "R100\tdocs/01-app/04-api-reference/03-file-conventions/not-found.mdx\tdocs/01-app/05-api-reference/03-file-conventions/not-found.mdx", + "R100\tdocs/01-app/04-api-reference/03-file-conventions/page.mdx\tdocs/01-app/05-api-reference/03-file-conventions/page.mdx", + "R100\tdocs/01-app/04-api-reference/03-file-conventions/route-segment-config.mdx\tdocs/01-app/05-api-reference/03-file-conventions/route-segment-config.mdx", + "R100\tdocs/01-app/04-api-reference/03-file-conventions/route.mdx\tdocs/01-app/05-api-reference/03-file-conventions/route.mdx", + "R100\tdocs/01-app/04-api-reference/03-file-conventions/template.mdx\tdocs/01-app/05-api-reference/03-file-conventions/template.mdx", + "R100\tdocs/01-app/04-api-reference/03-file-conventions/unauthorized.mdx\tdocs/01-app/05-api-reference/03-file-conventions/unauthorized.mdx", + "R100\tdocs/01-app/04-api-reference/04-functions/after.mdx\tdocs/01-app/05-api-reference/04-functions/after.mdx", + "R100\tdocs/01-app/04-api-reference/04-functions/cacheLife.mdx\tdocs/01-app/05-api-reference/04-functions/cacheLife.mdx", + "R100\tdocs/01-app/04-api-reference/04-functions/cacheTag.mdx\tdocs/01-app/05-api-reference/04-functions/cacheTag.mdx", + "R100\tdocs/01-app/04-api-reference/04-functions/connection.mdx\tdocs/01-app/05-api-reference/04-functions/connection.mdx", + "R100\tdocs/01-app/04-api-reference/04-functions/cookies.mdx\tdocs/01-app/05-api-reference/04-functions/cookies.mdx", + "R100\tdocs/01-app/04-api-reference/04-functions/draft-mode.mdx\tdocs/01-app/05-api-reference/04-functions/draft-mode.mdx", + "R100\tdocs/01-app/04-api-reference/04-functions/fetch.mdx\tdocs/01-app/05-api-reference/04-functions/fetch.mdx", + "R100\tdocs/01-app/04-api-reference/04-functions/forbidden.mdx\tdocs/01-app/05-api-reference/04-functions/forbidden.mdx", + "R100\tdocs/01-app/04-api-reference/04-functions/generate-image-metadata.mdx\tdocs/01-app/05-api-reference/04-functions/generate-image-metadata.mdx", + "R100\tdocs/01-app/04-api-reference/04-functions/generate-metadata.mdx\tdocs/01-app/05-api-reference/04-functions/generate-metadata.mdx", + "R100\tdocs/01-app/04-api-reference/04-functions/generate-sitemaps.mdx\tdocs/01-app/05-api-reference/04-functions/generate-sitemaps.mdx", + "R100\tdocs/01-app/04-api-reference/04-functions/generate-static-params.mdx\tdocs/01-app/05-api-reference/04-functions/generate-static-params.mdx", + "R100\tdocs/01-app/04-api-reference/04-functions/generate-viewport.mdx\tdocs/01-app/05-api-reference/04-functions/generate-viewport.mdx", + "R100\tdocs/01-app/04-api-reference/04-functions/headers.mdx\tdocs/01-app/05-api-reference/04-functions/headers.mdx", + "R100\tdocs/01-app/04-api-reference/04-functions/image-response.mdx\tdocs/01-app/05-api-reference/04-functions/image-response.mdx", + "R100\tdocs/01-app/04-api-reference/04-functions/index.mdx\tdocs/01-app/05-api-reference/04-functions/index.mdx", + "R100\tdocs/01-app/04-api-reference/04-functions/next-request.mdx\tdocs/01-app/05-api-reference/04-functions/next-request.mdx", + "R100\tdocs/01-app/04-api-reference/04-functions/next-response.mdx\tdocs/01-app/05-api-reference/04-functions/next-response.mdx", + "R100\tdocs/01-app/04-api-reference/04-functions/not-found.mdx\tdocs/01-app/05-api-reference/04-functions/not-found.mdx", + "R100\tdocs/01-app/04-api-reference/04-functions/permanentRedirect.mdx\tdocs/01-app/05-api-reference/04-functions/permanentRedirect.mdx", + "R100\tdocs/01-app/04-api-reference/04-functions/redirect.mdx\tdocs/01-app/05-api-reference/04-functions/redirect.mdx", + "R100\tdocs/01-app/04-api-reference/04-functions/revalidatePath.mdx\tdocs/01-app/05-api-reference/04-functions/revalidatePath.mdx", + "R100\tdocs/01-app/04-api-reference/04-functions/revalidateTag.mdx\tdocs/01-app/05-api-reference/04-functions/revalidateTag.mdx", + "R100\tdocs/01-app/04-api-reference/04-functions/unauthorized.mdx\tdocs/01-app/05-api-reference/04-functions/unauthorized.mdx", + "R100\tdocs/01-app/04-api-reference/04-functions/unstable_cache.mdx\tdocs/01-app/05-api-reference/04-functions/unstable_cache.mdx", + "R100\tdocs/01-app/04-api-reference/04-functions/unstable_noStore.mdx\tdocs/01-app/05-api-reference/04-functions/unstable_noStore.mdx", + "R100\tdocs/01-app/04-api-reference/04-functions/unstable_rethrow.mdx\tdocs/01-app/05-api-reference/04-functions/unstable_rethrow.mdx", + "A\tdocs/01-app/05-api-reference/04-functions/use-link-status.mdx", + "R100\tdocs/01-app/04-api-reference/04-functions/use-params.mdx\tdocs/01-app/05-api-reference/04-functions/use-params.mdx", + "R100\tdocs/01-app/04-api-reference/04-functions/use-pathname.mdx\tdocs/01-app/05-api-reference/04-functions/use-pathname.mdx", + "R100\tdocs/01-app/04-api-reference/04-functions/use-report-web-vitals.mdx\tdocs/01-app/05-api-reference/04-functions/use-report-web-vitals.mdx", + "R100\tdocs/01-app/04-api-reference/04-functions/use-router.mdx\tdocs/01-app/05-api-reference/04-functions/use-router.mdx", + "R100\tdocs/01-app/04-api-reference/04-functions/use-search-params.mdx\tdocs/01-app/05-api-reference/04-functions/use-search-params.mdx", + "R100\tdocs/01-app/04-api-reference/04-functions/use-selected-layout-segment.mdx\tdocs/01-app/05-api-reference/04-functions/use-selected-layout-segment.mdx", + "R100\tdocs/01-app/04-api-reference/04-functions/use-selected-layout-segments.mdx\tdocs/01-app/05-api-reference/04-functions/use-selected-layout-segments.mdx", + "R100\tdocs/01-app/04-api-reference/04-functions/userAgent.mdx\tdocs/01-app/05-api-reference/04-functions/userAgent.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/allowedDevOrigins.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/allowedDevOrigins.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/appDir.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/appDir.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/assetPrefix.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/assetPrefix.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/authInterrupts.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/authInterrupts.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/basePath.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/basePath.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/cacheLife.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/cacheLife.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/compress.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/compress.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/crossOrigin.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/crossOrigin.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/cssChunking.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/cssChunking.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/devIndicators.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/devIndicators.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/distDir.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/distDir.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/dynamicIO.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/dynamicIO.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/env.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/env.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/eslint.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/eslint.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/expireTime.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/expireTime.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/exportPathMap.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/exportPathMap.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/generateBuildId.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/generateBuildId.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/generateEtags.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/generateEtags.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/headers.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/headers.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/htmlLimitedBots.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/htmlLimitedBots.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/httpAgentOptions.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/httpAgentOptions.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/images.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/images.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/incrementalCacheHandlerPath.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/incrementalCacheHandlerPath.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/index.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/index.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/inlineCss.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/inlineCss.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/logging.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/logging.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/mdxRs.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/mdxRs.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/onDemandEntries.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/onDemandEntries.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/optimizePackageImports.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/optimizePackageImports.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/output.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/output.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/pageExtensions.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/pageExtensions.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/poweredByHeader.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/poweredByHeader.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/ppr.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/ppr.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/productionBrowserSourceMaps.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/productionBrowserSourceMaps.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/reactCompiler.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/reactCompiler.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/reactMaxHeadersLength.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/reactMaxHeadersLength.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/reactStrictMode.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/reactStrictMode.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/redirects.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/redirects.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/rewrites.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/rewrites.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/sassOptions.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/sassOptions.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/serverActions.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/serverActions.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/serverComponentsHmrCache.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/serverComponentsHmrCache.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/serverExternalPackages.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/serverExternalPackages.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/staleTimes.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/staleTimes.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/staticGeneration.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/staticGeneration.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/trailingSlash.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/trailingSlash.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/transpilePackages.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/transpilePackages.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/turbo.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/turbo.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/typedRoutes.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/typedRoutes.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/typescript.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/typescript.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/urlImports.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/urlImports.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/useCache.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/useCache.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/useLightningcss.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/useLightningcss.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/viewTransition.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/viewTransition.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/webVitalsAttribution.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/webVitalsAttribution.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/01-next-config-js/webpack.mdx\tdocs/01-app/05-api-reference/05-config/01-next-config-js/webpack.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/02-typescript.mdx\tdocs/01-app/05-api-reference/05-config/02-typescript.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/03-eslint.mdx\tdocs/01-app/05-api-reference/05-config/03-eslint.mdx", + "R100\tdocs/01-app/04-api-reference/05-config/index.mdx\tdocs/01-app/05-api-reference/05-config/index.mdx", + "R100\tdocs/01-app/04-api-reference/06-cli/create-next-app.mdx\tdocs/01-app/05-api-reference/06-cli/create-next-app.mdx", + "R100\tdocs/01-app/04-api-reference/06-cli/index.mdx\tdocs/01-app/05-api-reference/06-cli/index.mdx", + "R100\tdocs/01-app/04-api-reference/06-cli/next.mdx\tdocs/01-app/05-api-reference/06-cli/next.mdx", + "R100\tdocs/01-app/04-api-reference/07-edge.mdx\tdocs/01-app/05-api-reference/07-edge.mdx", + "R100\tdocs/01-app/04-api-reference/08-turbopack.mdx\tdocs/01-app/05-api-reference/08-turbopack.mdx", + "R100\tdocs/01-app/04-api-reference/index.mdx\tdocs/01-app/05-api-reference/index.mdx" ] } diff --git a/next.js b/next.js index f6557ffc..c640c57a 160000 --- a/next.js +++ b/next.js @@ -1 +1 @@ -Subproject commit f6557ffc0f85558c2db3a6c3cdc75f2ac3b3bb92 +Subproject commit c640c57a0866317631fd18973f02f52f1b0390e0 diff --git a/static/img/docs/dark/blog-nested-route.avif b/static/img/docs/dark/blog-nested-route.avif index 81f9f7d119610ce54bf8038ee86a2e97db462a71..b4802fc59e8a244c558ade45c23c3b4445600b3e 100644 GIT binary patch delta 8492 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 aPhF)H2psDY)T(`z^GneTLH4KS{*{1}v~KYL delta 12501 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 diff --git a/static/img/docs/dark/layout-special-file.avif b/static/img/docs/dark/layout-special-file.avif index 9dffa701488a9eba08049c288fe2a1d7c2f510be..847480aaea381617978818ae8b5fb2d808dd7e4d 100644 GIT binary patch delta 5403 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 z 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 diff --git a/static/img/docs/dark/nested-layouts.avif b/static/img/docs/dark/nested-layouts.avif index f4bc6af6fb6346946425954530cc1012df45078e..f06bdfb65958dedd40fb98bf84883047b1a51076 100644 GIT binary patch delta 13162 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 QB&EcQee~0F5#tV5@U&N1^Z)<= delta 19767 zcmV)DK*7I)X`Gw^ka!b8009610005$0096100000Of!*-WETt^000006lrsCWdHyG z0000CfB*mn0Fwp*PXR2GRsl>COnhx*VRRAz3I`i5vHt(?s4_H@wE-f3HN{9*ffo%a z;X}+`U=dyA1~>)!`Ihl*iEE>X5J9iG2QJ%9H4{>%!!kIn?TG>iA!Bi-8xCb@h02XdTfJ*Z$l09%C#v2!iZBIf^oY7e z6xJIQYl4@6Nu%(k@s}d68X=}7%YBlBwL#H&)lh?*4A8UxXFbG6Pmm2p_SNnVg1Z6) z;3@v8>@C1=8pkO}e*n0CkeuBuYjkV4r9papqLYsG)qnp@}^1CE5%=N!9Z2`yqcNI_;;^oVKi7+%cql2Zc;07jp z!yLvU1K%D89pU(K=ye#HHVJ~@SK_*NH~5*D_W9#y>8?x+{x)3#PLvN-gco^m1jUf? zdt9XFtj>kn>n!bmvgk#Y-D4`HmUT{jeswsxUU=X(t3`#;uWXAO1^FNDMuhjfdzDJe zRnNi%rS4jNk3sBcL>By&U&Sw^MRW?|_lK3n@N5$Gj{!f=nuLYuw_lz5HW)7Ubf1Pc zmxap#{9&S0hpBpZ3gFla1{1(!JVC;X6B=rCLJra`FA*Jovik31@JvSbEjQN|mSkMs zFHvZL6vADeisQt>HPXPqW?$TknwXiCqQyIm+mQcP%8P&Rn^{r10X90QOVO5Hl$+;h z;uP7OnQTQ+c=tu2uGPDWPh-c~T}Kx@cDJkDLT`Wv5Q{&kdHgjPi_`Sv zCZQBxT;~9Pw}$MaI+kmsP)$5bnkaa2;OFGuRD=^lc7iV?1VCZaZ1aE#gj%qC^Y$fK zTpIDD(OnS>t<`aaQ46kLt#|$S2Qh?!gLW40w(EOI-;eC7e`zPNuTN=~G$=CWq%;#t zh?Q)@6fGDo3x-8F+x#&}0rG}SsE1hNH~?5Y&rgGYw_Aff`DJ1nlj1{)K(Z{~u1Ngm zMHsKaScT{tj?%Qy3_+wVwDC^{h}bvqoxzt_T+hUkjnQntRaG?BL=qakjMJL;NN?hLNUPe-ok5YdF6TEq5e%)5oz zgOHVg;Z(;HW3NE>d@P^U!T95~)LZ=81z#9{tRtyvW6wA}tGm#t57h|M1|L9DMj{2Y zmDZj1LIN2!Nku{z%ODOu8R`VsoJKZAJnqWhXUOlyoS96J0iD!Dlf0+m?g_-R2L|-2 z><3*Wd00wUa5=JRwI;4fxL~(IhzwEuoFJ0Q5qYl2+nZm7Xh-Y z-y(?js?g*ii=?=e&iPR*(0AWTv?h!Q!U95~sWw|Qt2A6*Z*lkeh7n7C0l-~4c->d* zxXQfn-_BLuRHwyX694|)*MAQ04KQ+lN>G9BMbshxQ#Spqa2$DX3P=bmV>2WH(ULz3 z8d~je&q640BQ+Ur@V6Df3V9d$Qek2tHu<%>t;g__dg9UneG@cd_Xc`SaxM-AhcAb6 zouhG+)qlk5o$90!Lo~U<&n_b;&ROa6<-*E%+yz`)ZVe!}5<_b^A-=Z!3YzzSu=c-L z+9nI&suPnbO{dp;K6;eg$(_u38!PPvtkhtiGYm^!FU+j~z9p+zbw%N7sXRBwZ~)0F z;*k4v*aEuK!&ZI8hqa9OO24qs!mE)EvWR-5XL=oZxr#LGsc3a%rRdIG__*+D$z)m= zz~Q2IRHWuftw_gf{-f_-XOldCOU=ZK=Tat$o(B1VEy{7YsCt$J6lD?T@nrJvNy9 zt(STCdwQ-m2rBk%VMG|*|Dex@-fLS5CxSy8U(CBT+ERWWHp4}?95z;egn%tf&m~yd z!|IWX&jH6ZyRqzOa~`cmdvvMI=YcPo5#zqkC6&-2u|Jb37I!0k6U+1VB}NWd#vEV4 zLAt>qrfr~BmLzJiiT;3ORM*#fcV>gKrX~c4x5NdW4;yG|}M8f}LsC_o@ z4FQ8+gS^MhNM2K#rK)Csp%w|_uem$DA+HV>&g)WUNRLRNPUPO-FdWAT4vWMK>vmQK zU(i^bflOo35NTkH%>3g+u6%PDKZ@nAyIhcm!`0+4Gr_P;B?w8k;< zEFE@L{x9(i%^0{ibdU81SHa#M`_>W4oG~74y3dvO6cP}q9F`ZEE#Q3DP2L`!z_2{- zADUDQuWeP;IO##8d2>iYJ;+Bd-}}Mw!^B&##BMTQ|Ns1r3Fe$rvR(LF(#!+?y_Rn@ z4hboIsK@~oDttzNDE}2u0L?Y%*?2$4MJju?u=g&+b=8qQv?tnLPqB+*>Ddj-ke^_n zMq?$D>*|5JDm&0;0KYS#fN`6Pb}mp$BWD|P!tNUSq1Z}3?rp!QBWGd&a@&CtB2D+- zPI*?_Y(v}tYkJ9X#pCldpF$?Dzy1m0Pfk`a^#XCXDg>W@Rcz;BoG`%>#8Cviwyn5I z8r{wamPL>uzVJsD&(vx z+aMI(b|!9rTqF2nb7#hb`)plk_s|c9jsRhT3!JCH10H{#G;(s3C;Rd}1>aE0rb1y6 zlqMUZQSk4_QnMZhoiWNsoJ73~-h!rh0|YR@5Fe^ZsCPatdDf=Q*bTn91`H!XR*Eo& z-Ecvx4|EcI&)!4%MF07!s%=#Fi^5A0FBP31BSH;-^DL%Ir?*GSxcab1NFg*mS4=Trwu2da5{VLnQ@5&1>>kOQ@mk1Je{fvMFOEFB@pu3izt; zvNo*3jrkinJfh)7AYyZbGNI#?<~-6AH6~TpzsnaEnAIqWx?Ak|JmB9wU|%y8`0r^ z6tL1ps4^RK96*!Q`%-ZtNn62!vtl}As4O)gn40(ik!~Lji@Y$%Nth(}gY=@4OdsbE zZ6yQwfEam)DwXf($H|uyr3)LJLn!^DTkPC{mFlI(5|ab;9k5R>qQqaA?_B3cnwaT@$O&9)uiAn-trtPJ=t>F=Sme@ zMy5Wh2H5~gc>K>YC1pH|D)4q&1-kGsCT~9YO=7mK07>MFAkEmq_yj#ImU{Epk z(P_liF#&;^cEPJr&sHT;s^h7D+`=j?REExVid9N&3Qq75C(4pAC0g9;)$?U{B!9b= zQC2N)-VAAB^n5WkgpivJS(~*S;nQzjSeI4UfPggd27IKXGo%QE@P>2io%C7<3xbdb zAth(l4hyISyyh+^jY`*ig2$Yz-Ij?944|jcnE9B`X{_+Qz@gajz@|0p>#`}VQUlyasCDsk#yek#Zx?;V1C%lD~(e`b6qxWK{iM?z+w5ol* zm$%qs`F6Zlx??c>&Ni;!`aOc)pLI4=U-!a8r6(s7#(lSeo6mIlLQOOZXtmUswwVo) zfI4jxe3fRI@Q})=evJjb-}UT$%}kgyJ%r)~=<1K+nMlMmLF%dO&$5(2DW1dvx%fZmt7Jf}u=18hsfcIHio- zHppjmieoXMO(=hVo(#7&|HI~j$Jtu@8uY*^@wGN;{*a9FlU~tBas*;D2BsKf1`Cx^ z{jl(L@AIsA#a;AXp%eZ@mH6GyxAO9rGrB%@#77R0(mL1sA>$ON;uD;oS`OG<94Mv8 z#irCsy#EGZm_RR~iKwmgA7~^<`7P)|+~sPlCU*zsT~8i=*p#)SSZic6DSv3sEDB)6 zh5Ehi>a3Q~v11m~IKsSl=msZ+5FEh;=;WU}Yr z2Ot<==rr{Y(>o%f9$Jo_l>3~@yGpo$d3deEPLFjSjCib>V`1SMx)^f_}VcaIR*oZ&A?Pa18V+wZ-<^*!q4w>wrQIEhf`Htf|TA&)ZjT zshy%BnCB6WY_19S6>gILI&E?h~`J03zf@$fg>2_7v}+|IeTNVJ{ls%i@Yc~YB5SN32jU4uSqBJ ziEVzfitaa!u9nBzeQSi?fU!&3bnCBLx4);FP;{MAD&;z-sbk`vf`Ra!&AxABRMKV>RZMBV)1F7Md4dw$M{ceRq8GJ(_FxGdhZ1wV_a-o%M99!3yMEi zw+f8_+jT$@a-}*ci}?XieTOuNei+O#Wj)(h1qM}X(CngFY&a8b1hIFYyFdT^LB

yZ&Ad58!pFN*GTo4DL@7OBvd~YfxaO;Pd6v%R1C^B z;MVz}1%9)7-xorz{2aeSr#s7{c0i^jY1;>kY$+{OcJ_qg$7%Tv^1#W_TWz?~hd2H(?q;Cpk-Rf2rW)Gi)=yLmx!4?k;)%6lV5hiU zU>1}7Ch>Rp?9CKm+V}Fd#((Cxacu=6>?woe!-U@Pm$?M+R8%K3BNZVJ1#GJDr2EA+v3Xm4}7fJbnJ#j_u?Rt^?p@uGI< z1zK3&E|Qe>H??czI=z%ZGXKhihBL_WoPfX+FW0}G=Wrr5dJp`wh=!Ubwp8dMHk(o< zvjC;us>v6{;qEQYoQx@X>S$8JiCbRXc4X2%;~Nf+gEHxv7a=Tv-gvi2IR%cS*Q^8o zfb2OD21&(|)tsz{o5O%uZVW7n32hWi#gfpo85`}`Ml&=6 zqCq+*;4D?o|SRzj0Zo-2*(PG5Rgoxt#biJ4l{Mjl1ix)}H}`YX^fnjMIo#o5hj}ala}0 zu)p&THk=;d7&+OB8Ne{QYDDzD_c062zlshdKCA<|e7c`GQmc{Xclh8FGo5!7y zS4L1({jK$QUmk(Tbbp3v3GKyGMZ^^ram=o@wKkKsqcP+7BJ3Kzg`C&3$oSo4Yr^d zp1=Rmri}jwNQHl{IB=AzW1E)Wei^@=&`u`rZj?U=D2b5s+pO?pxX?w_nhWMpQN!$1 z));Jm;kSoXT!yi#Xeqezg@+7ZcP$uxxUUf-c+=%2ZDog!7j~HI`Jd++Q36vHDG-xs zb+H&u__a9jzmu6J02`kUsY^3eU=PGvi~{s;ge|VP$J`gNv56qAlSg?7=c`-+SXUp+ zp7`rx6KIoqFg}T|-r=rV*gGjok0TG8l@QW@zYuCGGWrOsX|IF1%f{mGyJdI(_HD2Q zsNA}v<1&H94t6BTQ)#c@34V!`=tJ1l$&}z4rv$M~lY$6VhXbD%MD#f%sb< z|BXGD6In>bK}mh#1`Wu2e?jd|3RCcWfx(L6#Ak6PtJ_`w$!8D)-VY8}IqRA4SWjbr zJHIE|yX;^V#n{`jrm*we4O`6qBfb0hdM$TCF3mBhC^C-t4)^Lv`jsUuC% zp*q4$1}ScN5vIW2YazTQD#Nm+X^YNj&do7#`MM_Bgo*5f22?s!OSFP#(kN3}?webC zC=gVtPr(3<>=e5!h-7PYs&BQPKvPeDt%}7)WW|^`YzZHuZcBxpjaYgGM4SHbSPK0< z2L>5dr@cIwe}3|MfZ0=vAJMV18lzx5+Jt+P-q$=XPHL{nXxL!XT}IDH7au*SpyMbK ze0BIj)?JS3DmPgh(W*1%u?b*LS}7pb)+CJ0tiE-+TGIQI`AX8lxij9^&V+}5T&ZY+ z?k8yfsfB3~`PtYp9|stA%=T{1TUv8wt67^grZLsDeUAOZECF_n!pSeWLk}uBX%}fj z$Q1Oz?^BH#@cKGmu79ITmi7*(ZUK|bm$W4f2J#`(%ac*N`kA-4TDGtDTLpYcT9j>; z?IFVgtKcPEF!_!hXHPU93tvfpXGeUG5GqQ~n!-EJEmsX6u2d#i?#ydM)4t)bxlBs{ zRNFcyIwIIWSzw;-zmIVDMWSP{PApl}nB&t}rk)mhtvFZenfBZlnA4`*PkWVQG7SsuZ-kyWA(ry-im2?^QAUEdD zUh39RYGQ=98F~%g!qPvj(!@5PCMa``Rnp0PweP$xqA_nX4oM#(z)L6*z|PjLs!Z8& z*Gp6{StWyr%i=6q_#;!jMbUg(C>{Rt;0!|0ivgOK8#UVPZOsr-$v0qM_Q65fVl%Nh z5#CuE4GrDY5ZO*VAJ0;MA}++A6$~x@1`7ky=h;mE^D*|ew$!w!pMGR_Q|&r+VbTxG zh-_3WLuuJVg<%@02!F3!WS)M=3n;yyVeRr3sGol5DcnOhW4|I&7Z?`~51`5a8_Z&; z3~oS@GGB3Al_`TbZ%Yq+`FD+QiP47DmGR&5F){5VSp758dXjE`d7c^BLKw5gnK-qq zg!Y858sHO$4HS3&1p|r8JP(whA_<0D#IQ%xLdLD4`qau6)V9I;aa98sg>SP=Fm0(5 zu@J`WZXe@PyyozUXUt-R6y`d5ccr>_+GEX(vDp5!iefbRP@1xStSX2%@4Rb6ehwT< zE%YFmS5#UbUajL=chxl@vZO zAbHmT0P@5lo*%${FZTi0=T#nBcY zNdgE)P%GFXT(aZ}Y}2?g)=y5XN}z`8Z=SEYZ2`g8sK5_lnywaieX)n6UK9`i|Mjv4 zWn~t0J)d3_G@hKuQ3Mc*dCu|Gm&^G}cygy1BX1%{OEvy58cseAzy)Iaf-d08qIloX z7hG_~3b=!RAdDK!tTcZt`Q~^~?j}H zbFgWiaSdVbkakrbNRoU84fG02v`MZ4ag8r*IZL^!-+~l&NBt7#3?;qa$BV0W7?>Qy~Tzkco-?s{h#);+(p$-vs%__!!NU;C9Tf7xo#8 z(ny(qovj>{<8{@rh%MQ~OcB3(@2r)G@D^o@?0o196CDM=j@vX-yT5JGGb7McQgZ~1 zBzvykAMq(;v5|5aMeB?W>}q;x`vsQ?d#Sk!*l%s8JNMb4kYZ;0d=x}`sQ+SoD%u!+ZWOtooXoE6quP+NkcHc zSW1g1TcGqoepkotzidhPNTV(1$ONPu^M_hYl(H|+In1-oEA|arh-FX#wfU(XSVP@h zJAsjkLt`LSJrtp7kHaXV&=?-In`m=28b@cIf@rza> zKx7?`IWNV7=Crm-yep^(pN0_z6bwy+rW_U+4gql$B3n={bnJ5GNO(*UL_ zLUH!Q7Q_;60gaK^Y0Dh?{SW^_RANMbQfRI}Sinn)!k1*ocUa~mwS#uY3<2c)w@v(d zNdxJ;dgnvACCxaSoMxn~@7D(B{#{)BSO8Y4;DR<4o^Y%Y3DLMTP%nGg^CHrN-l~4C%i>@w z#;I!t8K^@;o$7f}%)VW6J9Cta)I4u``PP}rMqXRrnf-vTyWh2nc0StlYp7q$57ej3 zK{Y;l(pjeTKAB^&TpXmR4QH}{ARNhHGj6iMunY%l@mUsF=nk9J&+`%4x&95P9-?Mf zBtN_WO0Up0a|@4BO;iO^95NZ{4csmFOy1}pOIKVYYX^*2?wCOf@P)A1B%nJHvZdY% zo1OMXUVCCeQ={mC?vT`zXneeeeE{%1{_|aF7L!bWb+^)5GZ!&Ztoj*$B?`$K23R!~ z|AgsGppAcA{IwL>ey)-=66Tf1GZhr0Z-`H{zntRQ2mWQuB!gZ=E6`*dAN791h|M+ zpPjPlj4=ZYlv(&BlCS=Aggbm^MDsR?L7>q}&OmrR5dB4QZF=E}q%fxp_OJ6&h{TX@}CzWG1odo`JnS?)@uxP4Y3yP4QxTVvoutt9dW=Vu3=hU~oULG?#?Mi;f7vJsHsp*0wNm(oC7Sz3hxJTq$bMaakr;7om+<+$92Yw!-0BFY zh5pZqDRjx3=Z0-Q8I0GM_`m0l^ffej)_YCJJ;$G@Dc<;bysog@^2>k!@u^#=$D>xh z9S&A6j5`@pwW@iOg}`{jQoV)?YtLqx%on z=!}i%uFtV=_;TTh3h>n-Y#~@s!hOygxDSRH(7Mg6l&$-Tq~8{O*-spz5m!yiy2$=B zmFysYkKg=dJW?ZvR@dXdF-QPfdN-Jpjvu%mopy9ka!NwcD9MQ%W_#llLPB){^*X3i zy}4YLV>-~R;Y?}+O=utuA9z~v!Idbg7=(tv6OrvlCGLyvKEFo*=M8hfQQuKg3zhS; z3cD-$c7o(N0AJ5LDYJhB;a3<&s6t5^$)dY|BXUZPx?B%a@Wvs{lC=Jut%^s%U=Xn| zMCyjy9KpWO&=V4Xv!uo3Dtqx8BJrgE&`~*#-;}X60jKNgW>RGFgGmw|q~yT7A@{~}K>|0PJ)CfwP-w(OR`YF9?GhJA+}q-{%zX6(lvaa>pl+0M*l zPlLyL>9=WIjxL9R*jTRK^At&Aw>^MvE*u!TlAQ$8Fs86f)*Ua0c?LL|{AYwVt9dXx z0_mU@bMK-0@I+Kk{5zF1N00@(v1&yCG(th{~Te16dfbS$?&%wrn-o6tGmOl?B{iv}m- z2Woat%oNDH(arh#NweA~XOA;XiSF9TzVljt?Zu|_wwyBd zgeswlNnR6<83p~rC{S_BASlve5~qf`9%M(f-&pfuOg7M*`-gUFe;{03suJox zTLF@0DKWfGJhM*5x*SK8CD|6mM>Fs0J)KaHlKgeErr{LCVgA~DOyHxs+}|q>g8=mS z7SLcQ5?94N0~(}5hFuAN0+R=3humP(Sv6>Nc1PSKm@(LeM`0UShyYEIs$3aTd}5@_ zlhLtH^6MYPWFqC7Z0sO|qhRHg-UZoyB%3_p#4TxpX8v4BQP|vKLUq~ET^l%N>Aeay z-#$vER3G=(3_t?vf!bHR7ZzDSubjYimNp`3nJ>VX;Bpbo^$cFlq8ouj8Z5< zwiN|rJAkIQH;0FrZbkbm zPR$WV(Ia~OjF_!H>7=QXa3v4@1gK|z5F04O2xlCaiFM{!#WKxKG7MAcmqHZ7)5Rj> zM(9$=Y}0=y4kT~=yHJN`l1g2qJv?2&lzWcREOE>M`(APb5sfo=)hI+K5(X}@tU(D} za6DLlJA;l>?B>}Mq$Gx3dQ@M{YcC1tV=s#m@X9AVH{XXUZr&FOm#PUq3Usr~RLMm) zlq5|GtX{L=;a}^`LeYEx5}iHe=@px^Owx;XtMmQNgzAY&g`cEOfHP&x1Xcn4IplOP z7>{NoW!!K>_e&x4k~GYsSoM93J64;mX#S#q8I2cW(W74El7MWs$zprx545@%ECSma z*$*Y>yBX6F$~_iYa1WHt8C5z=Nd?8Noz`t{aAl5)klZ+D_A>G%tAfZ+u;@5>561;; z_{ae}8847rdX@)2M1LMh97HU?2WqS}92YX<Ww?abNT2;z(dntmig$5sDP66+F3QEUUoA%?lv} z?~NRhpx27Q1(y+NiLCTiU24;m9Ip(2A-#(L2Qc0+9bzwZ1yrNPS*v4i$VN6KwTueJ z+bD?ji8;_ntC=0A(Y2&IXSmaU^hRz|aH@l5?gNB}&LsDBJQMCkE+dmgieo19f+pzD zj=)7Z$KJIIj+@n^+GAkjrQ3*9An=5|&O2J5XTQ>dapgbaDJLM1(m*9-r5M0}(ikKZ z`TIz-0R~b)71v8@EeeD-`1#>*L`-+w5n0I;oOgm%9mbeE0-op1tHnvs8mV}~%blIl zv6C)Sr27-4s$sSMmZX&t&)$0spsf)XdQFhHU$Hl z=88S$(uWF{Ni0_LFv9Z~DYip;+c_6Gm4*%g zh2?7yfa3=0I!*X%wIWJ``T~5t_Ix`yJL$~;6X8uhEz61Mt68U^=R{+FO8{Oh)N7Bd z?uCG3wtDcHyVihownh@2Wq=CcDTjJ_!ry=cxaBUyipK~-Q1=-sY`ZlXnVmD%dw(%b za372Mvl?WHH=TFd4}R`apDTQ5PQ^&Io3#XPe*ds){%2ytEt~S_td01ojhZL9)R|Yz zR|^(I;*BspAu~`D&@ixnE~a84VcWO^x&azISl_^iVec~Ca)}?|x=4k|wBzx&BgMFC zi#C;V)2KJR9YpYq?@0|eT?tRU9_h#;mQEdRmmP=<#aQELR63#JaQJzBRbW`ld;g;T zG6o>Drn*iN)8<`&JF6$6H51yxpi~k$Bh-%dc3fH6X%fS;kd&pZ5Q|{kfUHTi2wRq>f`{Rx#F~Yz*&JhtvwnWS_Xy z%+y|J_|Wu!*wS|*rx`qxCQG%m^4)AXI>s;fy_rz}pNn@zW=G3GcNUaZG<>~LW-LBF zb8#5D7}J$UeP}YiJI4IduTk{dUmW-S%HgdgD%J3Z+bmY`(tJm+cTU;wOul8Fe3#^p z92|DiZUza)&i;bp-%AV-bAvR9FQSz+%FR(sX!P}et(oS1QU>WZ<~GmlF$Ig;#3K!C zpqI*g_W_M#mQd(c^#OgD6G+z~GFe2;xU@c97!~L=N#|my|LH%?EWxll>#AV@6e93r zup!W*#KNep4f(!%+0ee-OI(V-37lSxXir(*`EgQ5UvSyAp+|?Y%uLgsZl_#ZR8I)t z#)h(gY3f&?io!)*B_(R%oYK`sgoQq!3@hXdYkOixFD6vn>0j9Rho(<>QmDx7LBAJ+xy@H zU&_X|iuo9MnnqkHq>XW=4vFxHM?uWLhHz+qi{zl!_6Y|fVCbu&&aA#Apd7{#;S(el z63un(iWdv6ekxIlO1H$Ni+Y3fxk=)2#O_4u4<`pFA);3Ft9NiPSH5~()D5!Ej$S7% z;)RyiQ(Yh|eq)B_Ht*Ua(Su4?wdGJVG)wrUo$89kN5-rXogm0Pu@jC4xg+pqG-28;JDIiU>#8ymp7cq~eU0zQC=_q;n3neAn`p*m+ z5uKg9p8kgR`vT0}(-jSqo4DxfxuXYv`X_O4zpPS8DZ46cY%&0W>nym;n-oN^!z4WRy!3TrTe*MAe7DxBi3%PD zpsoqqF6s;_-CbEnXn%KqI~oV_aetvOZYs(hksHg}3xn}R!3)JCmtdoC#Rg+W2URswNx^6Uyg5W=2 zG11Ip0vxfOC`b97Kl=(yExzg1*ijFduSwy>n*B{A5yxRqah=2I@7ogcbBheER! z`HRYm9{|#SwpZkFyWTQM$OSaLqRtYS2}_ly0OUYc-gBs{zDqV7pv)ivdTZ+!7NB3zQ}F` z6@WiWJ!B{>R}>LDl15?AGR>opjgk**C7cM?=^wp+pf;6O=45J6x!@ibE=#2&6|i5$9!C`lcBlm zLeUoWHL{pgdxK0>U*M?Wh%4sN{q?e!qZW=}m5?}plHuO%Im&?I>6<^Wt?F#)@{u-- zFkJfmDo(j#ai?w38w!7VsheN<+*PeJa(SaC;l-L zXb%45odbrnP;ib211zz%EEYMsE6{8R0uva;=wd&}9j>zUR?VWmHc2mc`0}G@&#=)m zy2>&nqNDc)jZM5puNZT?2`Na9die5Uka2!W=4&dNn=UKPmiQ*G;57Dujn} zs#@EOPMO>Dt%pZEP6QCz5k|xkn+X>-zYu5rkLE}qfPhMx5+&WDsnY%VTLr#IZ!Cae z@K%1||7ok^)O03399V7i8|b_Ri|Cb@mTC(F?*}Ki!GkU)B@#v{@=; zHf*a`p-E7ieH`OY`4Kd~BWp(?a%*&hN5gj8`A0<^`IBk1;8D$g)ek%3&-nTY->(tN zw2yuIjutZ@~b!Rj@{)%SAba(%0%V)3oET9#R`}=CRfJ5Z+g4}en+HEQEWi4xx zh?E}oxbYtkg3XqG8-F!hya1rzE)?hW!)2)L4|YQZu54Qc0mw<-C(e&MeSoxzo1hBC zv)Nz4tM&({DD6qoLtT@9?B0@GpTR(=9N)=x9$4=*QQ0(jSp)L!ZZoE8>!=V|+X2r1 zYbcyX&=)u1X0~Bt3bL$GDp9XMZ-tvxrn}xuCuETHh7W z!q31`@#~Nm!un1)hvT?8Ou)C0q@Y%+xCcKROCD87B<oh~%x#}`7+9n# z-gh73TIcn{qty`@qfNXnVfOS7_;w47YW6PRCR&qA6xVQ9vsaPC#F5c3OjR~}m}%~2 zJZAA>U18S;()KEkFy3|EFQA)ZPEm0_#sOaNhPyC_ zq%FXMz@v_!+)AvgHw_xT=~$iq;{LEHPTaT?NX^Zr?T>l^GyzO9g5boFb5CZpb%+g7 z5c?;E4||Az+s}=9&!z^@0fk*K67)uaoDUjQF3(syvgnL&K!vI4Qf)KwRYhWICe$M% zslSNsEPvgRo#%mmgDQlBx)@9z8~`cU0-~-tU7$JG4)MHpc?jv)&uE@)ZAAG4%=UsI z|=8xiStQh^>N!frnUvdg* z`+RCVN4lUOA763wsxji*VwnOV^iK|BGFPzMhYtR11odccqU?gHzxHLk{kk@^kw5O} za1Hrsb)7n&mNYbTK7H5W=al3XZ(>F0=_dY_!SZg)=Vmdrut;f*r?q|_Ev0uF0K|xH7 ze-qqk++5Lj=#ev+u>{a%zVA~+a{=|Vzg~@hpa;0P{6Sj!O>FW5)1F|VrAz)iA>VBZ z2j1LxGC!TX&<8uN>r_o8Xe~Av*$m;rjlf(LFCc&7Y`5x9;I>qCP~)3nHpo^!`o@tf z8QOK-L1^CJ`>~}h4|OYd5042#AD2h$DKN4{o1CfTBV&OBkPvnbqt;YU8OID^Ewyfc z3-(-K`L2c{chz!gDF9^dyx;*kHxUx;2C$$D3J>aAV!2 zt%_s9+yR_v(|lrx7Y4W-JLoDbR$uCs7C&jvUBcC@GXsa}b?58svMQ_@xv0dRWjB*U zw|obX1qb5*_pxCwu}aFkRa$8?|sotwem$l;Npb*KhqyBxI4cTkn!yNJI{js1KNW z$g|$Q1S}%;hm_b~LR_^txdXz4!kV)4P|6$^Ry281pqpd-G<`YY{E5+q-+Vb%b9L@Z z0rE)1x<)l-$Ge+3+?~CGR7-E(*uZSWe;gcgSgB`sHbE53Obp|-J^<}WTCaBho$Ow? zyYzl57J|X`i1ErsNs^uxIE$0T?E96IvGB>i45H2rXZ=FB4$Pv5zd<59S0&qVuTI&I zI?wC-I2fFU4g97*;E+ajYv8^?fYI*c(Hud)_R#!u@%EqI6%Wr2nYBd*vj~hje+-?J zfnVC_V%O;2rrHS5s=)zP_ZEPGXyhPlO?9b<5$p(i?=bo!Gjk7Wm_t{z=ilF`&17({ z5jY^jLR#IKR3qr zr5$qP1fBOBzn$R(13I+~10Vn6XSi2*38xlm2;&uY6)3@ec#ze2tVp4Azt^%6`84EF z-NHp^yuXpo;filK>0^`;ez@``Uv@?%&Mf2-LO|8cwaP2Nd#sZ&J1N+-f0Nk@evNWl z*l6+MXiV9Xua9lz^2N#CLF!yB&`QUbGRC!8rJMPnB0{HX$;YlRwyQl)1|hT&AQXc* zNy{=v;aLNz-Y3MF;-RJ>(Ei)}uSp5-aTO|J>l=zXq^dTZq;J{q^iI>j)rhqMNJ1Tv zEi8;&OJ=BX;e(1dpBkLVe}8I8FG`0$*;v(5|AzU(NbuA20*||U{>Ka&zYhl=ji6!Z zZ6}R?r*lJ)UZ;u<&$A@tXj#Q&oJpjRlwmj`-g};mqMW%HYXBQ^H%ana-rxrq1@}3| z>yFuRGG(U3vr5|G<*1QK9w_$|e=A2BlaC2kb17bK zyKc9ZjLKVI9fWmoJO1G3B)fb%`NT$-CRH@-fe_h}HOnqR8D7Fm)9sm+)H1R9IN3(% zV(w8m**P^{l1FJT!l{i~f~`g*v{jH!e~OgVM=^sI)cNyv?(Q%T0d8HaMhwk(gpEr&e{` zf=dnkmOvEByY^|uW9#!r8B8gI%-WZ?J%D=Y$dD~8>avE9`}9IyZ`t;+TF$xTgo24|Nr%le_@d`GD@l;YH0T?-FOJ-bs-Pt z0a-fxE$!6}$O|LSIw%5zIjuSH4FbRiQ@R3*U-bM~vO?RByve3P&|j?kwn8e;Ob-vJ zRCbweo_>N6o;ITeGN~b7HJj~KeO_(TM>DF=K-ct7p}RFKrCsRa4w;XED<45)f!34qd}Imwk{6T#7^Rg$NcG{aU?8p zVLT3}bfGm5cH5|C6huu{=*JD2ul~`i(D0Kn6I<$!-reytUiSPL`hi>ZofE%{vCdAB zD_6#5_wJnt>A53wbT@ye*M$Pq`Mag2%`KJHf4pc0P0Dyr*Q04kWw&xW8iE11ltp5d z1mt`%nToHkm{t#T_`8rz5QR(cqk(c8n5K6I@co~8{#M3bTo~EqesT$^+9K*vJq3Wy zi$IJfjLdB&Z_ZqPsD#!}%TGMVYeqEyA2-??8gT16h-T9~J-Jm0H?t~V`y2&s?#q~H zfAGc>nZnp!8{uHWo7m4jd)=5)zu6_4$9B32@ST{HoEMWV2lO7 z%L}oyaiAI#882E|GZ>wc9HTmN9*cilf1>Wn3e8;YMuX19AYy8|_uIBNdds`*e~EjZ z{OU7{6^8uAyZ@G2W;Bu-4O{9}9FuCW?dU2QD~c>)*Doa7#3Icll-`;4u9ap$+ur(L zZKW0;V8J#cX5ZS+?ZH1@0I{I}6Xm8DeN?q;D4rVF1i&O9_=b`ICt8;W|EdG8=lYjh z>Al;!<;%W2@Bi$PGdFer@B?dQxV}!Zm{L)XE7DaHn&=vd_ z@IQ60%42;j?Ua?hib!R>zBd))rTe&FEbR378Lp04>P5iU$CUron_j&JG+6M*N43sR zb=1-GFBa&698vr^9;4sf7&p`DYINaIhcie{}dp4PTc` zphv}_@I*j$mIsw)N3x?HQsUC^!52Q7fXaiW|7bqf-D%xv=un z{PM3?Cb8x>EV*YBRUEl0gYD)vPlOS{f7g_jBS2pmaBB2;WiuN-7nkDM+W)VFg%YIN z%X$g|d4DKs>i*h1>8_g@9QK>^C4lSwII@fV+;P|iUYpdy0$x#Ea|$(MfYO@4V6{*C zD5V#3fPwlv??u5oe``*av8?t`?Ji(GYkU*e-{YhO84B#Q5u40o%D2=NWg0Rz=_){= ze^2=J0pV}UHQrotM9M`ZN;4o0eP9V28A^Xq%{%@o zPD^M0N`SLq+J7=L0`(v;n01HPCf~mM@i+Booi&D2<7X)p0nw(=*&{c}vFiB91r;%o zRlp7-I0o9tbaYyyWTw5Pu>%888k18WO6TR4A9hj;e;sX@n6fPbIs6hY_&ALb6%tXe z%|N%*Qu`sIs^f9V%e1En?9v7qzPuw`DP)h(s+ilGh;oG^-Nb!sQr*0d_5JmAehCML z&tOX)BQo6|x%XDfrn(w3Pb+4KNTsmRBkAYX*KR<6s<_w;Q&y|CFpU5ofI@Yg`{29O0*mBhe0*2R-CxB**V$6A@K#C zq{V8o{O*4@ucJ+GV8}Lo|M~k^&?$}luEN^0h@f7X%yt0000KX>)L800000 z000Mo0003}lLi4#0VI=F0Ze}oHf>~KbP@mx2N^0m{Y8a9G9^TC0tgVb20L{NE=pQB zAND<^Mvj0LN%wleow#kjhVCS-PdS{2wNB~pNT3F6`t_OuZtq_xB>c#PL6p0ynl1 zL5TW9A*=;={p7K8lpZZBic}7pTd7&sYf-JeWETmTg4?geDvswqf8ocui6mg)O)-C7 zKKHjrYEZA3+(2FX1sK;EJsXkGp}?I8AtL_z_Q*_EhDwvr#}3B(_{wFe5~wJCMO#m8 zX(BVbdMd3FIM08#p5;|;tVfrVV|WCWc%*yUgXXMg&wt2P=qA6jmfuSzb2T^?^RG#B zl<;wPvMU^JV^(LLW3UF_>BA^D?HMcP2w@*R&hw9hCnvG>jU{u8*{Tts0|78hH`MmW ztue5Kl3z%5ICoPkpVtttZ&eXRHmu32Bql`nl{VEvDw=Wf>gCqI>#P z%HU_PO_(zU$smpQ5Z}ZEU75aVoYzqAQb+{y6Gz96I;Fl!-B_^AYN-iI{Kda^DQB9w z^w1Z$<-qXVnhb-v(1mFf2*rJ@Pe2V}yl;UG{!3XL8jj2XO+AJuee1BzLsv_Qn-IO9yBDY6Sl;`h#j}}oP&L4-p-u$ zSlJgqrm}G3&^@8-qt+c9sCOH3j?<}S*YJ-L9uw{d2^)QBL|IEl;*cP(t}}c2^%_Hm zl-_i05G{^s3H6x2){jW6Q5(JEk7gv#6B0h+c+2En;Y zxAlMW=>GN+EZDvs{!_vp3XOD%!%f(Eyt#fRPXe@tqlq~4SW&1V1v70kh%c} zRkTVm!v#W{l(qs(|J~%NA~hy?)qGML42_*x9M}P>#NQB6^$9PZ0*q<>yW{e({kx%B zEkZlMRlvczIDQ+pvGEjSM4he*^QiGPVw-=2q?P%!mqe47L-y#_#|G_H$C~*C^7Z>z z5GNSy7bbDg*cBf_#rn9EXUH1%$kye|3Jc&XWcB8c*c<;7*n+S4a1Ux3upZYAbDUx@TmZg*5oVQJr~xqsJ0RF`>-@OZ#})7A+aUjO z51Gn?9rtuI7I@BLRP5R^a~UNmtDyz#{)X%jtmHiqCo;4h=NanQQ4nA2P5p^`b-_dt^XnosYX5i z9YVrzlwqmSFK3xE+F&F3sZ`tmGn1TDJI_{e1FhUjQ_^e=AxNA0G26b21j`$R zHtVI4Aj-!wka*kM_*EOz1}=e+S3I6dMYC!R3g>+vG}*WT#QW?f-=8c(K@CK zE^GuWrSP`8jmJA)p%bxbAaXZi0ct=$8iQLO#)J5wcVQyLa7vZ1;A4MfLLJtK)~h8B zJs~?hp7Z*%;%z7P2`^_dSRtgvP*~jzp2l@O_FOXl=8~bs^%_ZBMYmfBiNx=fxvw!& zFb#^!w;Ur8n~LBl>d`B6K}K$cM~O9cEn*Ay=Zf5k6^!K81c@K4c!Uo1QTVeAH}uiS zXogtO8v7$vX!_`FLnME?)Z@OI&Hqry3LVc5!o@qQu?1twPu4H`O?o(Jl_X*XhV{s$ zlou#G(EX=uX>S14?h}SA9JqM?Jox}(5@s&8`a^3j{*|EE#D@`$M&(Jn#(qRDnNj&` z)xG4t1E5h2CDKsOZPK1tO=tF<%R7aoMYKA!7%LloQ zaqDzKZv8fJK#otC@os5k>b_un-JsEKY zbG5nmdd}E3&K4^u@M_+(rM~DzzLZXL0^`5v2 z0em8$DntfZep6tb)9rDMT-j{XW>PN`Rv6FhSb5h<%>6873H#Pmyw&PL(X zSSfCrHw~gDc(ou8SIPH3zN9`_r#!j!C!#Mh^b)jV)p=n-ElU1CiZd z%VBleFlc0Bt74VO=(}#mYcD!R7xL?^t4|&03y{08o_lcC79il@!V4ZW4y-C8(jK!k zU`c;tj1i-=)P#NK`-QqUMah$kY3k(W2av-jSCwi6?($|5C<3;6KL9;dG3^x}PmdlL z^$%Jjj4O)FLW!3=Ayyu>qQd?24l)BDRfZ;O2GVRcYt3utOLAMZ)1Pklq-1U}YkV=1q5H6M?tYyiRd|YY0Z0Pl+s9mBB;n(2` zVR;gM!y9s7RegyW-q7&r4GJSq!g(#uiZy0)I9-kB04d6VD75m|>jbYZdqZ$LyEjCi zy_dKv8LPD}DLe1f?kbc#E`n%5Wg{6CU+!bH-=|0LyLr<_DfEsBf_6EU*;>I>f3;J_6`SDRd&HtMYibGD*2etvxFobzJ20tQyU)-&4Zsy{? zJ1P+AXIby_#(BTHX(9_aWVj@+tbtgCo9DVCzptA1LP)4Wm7s3#_?gQPg1Kk97WG6j zc)UM_9Lk55tJ_s+B`pt$>xLQica(ofSTV>T?0GQVW_LBNskvz ztd?zq?|SH}#3*bJp^KkHqG2pTMhR_H-V_FL$U{Ifee;A6o>j#H5Xk)2a_)Vfl7F^I z=%5`PGK;!z_xYHc&lOl*jq8BCVI}D1aWz(6TLfs0`R?uU(ME8WS{l~k#7uvlLHc*$ z{hkKG^e+Sy_+R*B_CnY(G2T*hE_574n@cLT0OvDmVaKdkY6&My&~JZ_s4wlS-SW(vE9n_E7(#eNw1%H0lta6ITM&jUlqAj- zoc52TgwTQE`gyDpp!FZI^jz0={}ka2Ekj{-qt}S++MH9dh?N1D6>`oW7$i8*P(fC6 zuQ32LdON@@`aX#Vr*CcY62Yf36u+)yi{GW=y;gyZo`4ml>%r)I%F%zPA_jL~sl$8T zft1Z@S7^AbrfF@4NRCo-Q>)I_6=bti0jmFZh2)ni;i3@Ske}+5BQc%RCGe`+|1ktP ztl2A~+QK|Fb`9^gFPt(XhA9j>-u9idlG3ANX?FL-)?lTNuutK$l(jz~M|&E&1fDIT zL&0?x`l`lntQ4Y|;ah)-;(Tb|HJvK;7zoDIcO#W&-92az4?ll^DY8PeOL!`vg8}Tt ztKU)V{qp{<>+Tu|mM4jgD&D~#+rq>_iM>oV|5Jr36h(mA=IL@V=&XS5m0`2m4+^_^ z8?FVVxo6JV^SVY|zJBrlX!}n+zGVWR{eBM9zHFk4(OLyP) z_Lw8Ca%lT>v_?SxMrfT{ap?PBsRg|tu>~R4uyn-W!zR0YDM{-9SZixR$&@$0HqkX9 zjM`0!>I9c*-Ku{hh9~{09u-GTWT{yX5J2vIlX0}{TosfoY(L9HN&Z(+AgBnDK{=uI z83QB`KuSI^b3AnRI{}5%kyZQ)&7AGvdDdkjWy6J{`26k@m;|*Wqd}~SJlz4|THd6O zoTI7*)<77|k^&n|3vYh;`$o^4)g?3!yT`Ztaa+$Ed{KXqZesz=p2Ksbr{pOoQG`*l z6O{FIe-N@-m2E~I-w1_somS_ZQ;&)7=gJ{PkWJ>mK3iI~(A0O-@r>X6uJTWXSf;LY z(2Oe_da}-Bh*HOw0m`%&71UutFXU}-8vQv89v@6M#efwh7N`P qcj=Ckptw+cwW_|U=@4vzwHwTgwLk$1J0BgPanwBQ6gc6^ZIOVDgbt7Z delta 6484 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 diff --git a/static/img/docs/dark/public-folder.avif b/static/img/docs/dark/public-folder.avif index 69c0362c05fa36d22de909ebac9bb7974485548e..39de94e6b9be5033985efce8f55b260ba299fe8b 100644 GIT binary patch delta 3427 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 ZdPagz8MBES%=enm(!t;V+O6ni(mi% diff --git a/static/img/docs/dark/route-group-loading.avif b/static/img/docs/dark/route-group-loading.avif index ef79af9969ad680367ab3bd92cdfb98df523109e..5d71be3827475a3127b8768cfca185635d5ec5f8 100644 GIT binary patch delta 6405 zcmV+g8T#hVKDIQFcoQ`M0RR9100G?q0RR910000OS&@rm7X=&u0000KX>)L800000 z000Mo0006NlLi4#0VR`G0Ze}wmThEVbP@mx2N`O6{3*hqGAKlF0tgWF&mvy(;}>z- z9|<*#7^BWdEdQA$h)UW~E=7#DUI1^Tr=$`93JN)Dd;BTF0vZh;JBMHFiH~b8)zMCv zwHEL>*^O@J7ibg?63`tDKfO&Lsiq+L6i7WcK?8o7IUORKUU=g885pC%m>k>g|Gp= zeZe8gE9moWHD;Bq&t54YGz|Pc8<>SST{v7}r7Jfytu>ht=8J#zWOJRW@lt0DxPs@p zFVhx68+&oeHtwBbccCL;pVLXzF5osY6SvS(0J=|tJHEAa%c2DQ-MCriV9@Ly=G^{$ z69HGjn0H0@hESjvLIjZaQZKCI@h!Q#R4T4&F-MqxIMe!Zh*;7K1Hm4w1`oD~u(+`+ zKWb$&A!}S!QE0qP(AVnl4J#ev`V4F~wQ(jI=)D863dDFu_L1 zhCf?`?sVjKcb47EDW66|#(Y?sws!h`_Ln-cY)RnOAKibVnk2R3(cQ;K$H)J)MrqVe zK<*aL0+_Cs5;yTpS@aE(X*b(6og~~66BVTPZOW?ZHnza9!poSs8gi4)TAcUIdqf~q zCqIDFV6U?}`$shB5ms<==ZW`*q0Rq?R`#$g<@w#^-*%JZnMH+^w;-W&2erWf>5wO^ z!~OHv0F-}KN>|2yesZ-VQ3#Hdh=c^+>39obd-l#~@O+(>yH4lcN$x?PsfYe|{)A7Y z)wpsmYB#hb%5kE`mrf1Sf3IBLsqNX2Gyf$0v@fdozyK<`9mBa`OcDy`jL%a1nxT3V zG-`$s*PeS-_)&qZY_$|a^IW&pdh=y^ewtPNn{sKl5 zfnWNFw4>g8L>?js(MvZ-A|v-v&Som3BG;`9lWzK)qxn?46*Ydua2a7Tc5Yt|m!<1~ zp_(w%=KdV6YBmlBma#3=Aj@u3Xa2s{p% zCcR#gLl5Y@(jU);T>q59K*C&Smd__N)ACTRjPO?H+AvZx=8;7x4tAuB!xx_{Wl<#E zm=t?6xQmcgjq|k6?$ge@U(j6KkZ=8_qRd{kOM9i3?zw>d+_JzNI8(p=b^j_m8C8F) zzbFfVa=&#qgV6Utm<(=oul6f7p5JUT_0x^fl~h1UB@^@=Z{a)s;WUG3`IbZ4ZHLpJ z%ZGxzxuj3Ao_QzWuH&^;?Rzwox*HdS0PjXt(ZqEryS9CX0VFNEsp`c~ETgfPbxDqZ#qkge2EkohuK;yahg<0A`aWNSEuARZRPCHW z@kiCRU6w?k&uc3(2%+ZDI9jIm!IMa-az+9Z@P!s!mtf;4l@<73Y8e6P*f@WgYEtF} zz|e{(GJ5du@ms)=Om;`!J(t%Uds$)uZJI}P^TAN>i~*RVccr#(`fZ1-L)r4w>`PrR z&1rDtI1fjqu*af6aa0rPv8eT?9{?}lFSd>vkQ^d_P77O7wVm6${U=Af{RHuCi?mbj zWGMbhwUdnjX26xgE`GhY+*CgUc2$P55vK8&IrNuBAXn1-SOOj-N>+e#ebXxH9XZrU0x zO003AG9D#?cN9iUNoN#n_v=@ z9A?jdwfPV&=~@u*%J#991n_7&-q$?_Z{x)taY7av74*_gODr!H@aZ3%JhNS-P zFeoiQUmZEFmZY{6sP=y;8*BlVV#s0~O5z6pFiuyca&+9mG!6A!pc^fQ5pH_!hcP}( zE5)FIo|tlApe%%Dn~8TaRp(A(4pcL#=R7zl?lqr_Kp!GMr=pQ`w2uKWD7t!TzQD*DzeNn@?3HjOT$f z1xjuj2xyjN@YR3g(W?q)q^AwIF1ZDVFo4oD-riIuGINK20SfDn47?tGiWWH~#@AZ> zvZtLQDLk>uw&v&T(%Sn|hsA@@ec_ATBEW%l@y>O0O?!}I8-RRlO1VCf61o;P?eLyK zOKXnv^5Psc^>Qt;FFIC^xKi_%F$+)1Wi}Z0>Pq}OuP}ct6W|N>Pc;eH1YyoMR3*%_uvpnQp3WReP+N%!MPLkq48Svkp+}qBu-DJ=Xg$WwdU1Dnn zrLLyeUYUOhP^PRC`6FQtK?uH+5&!<`c8pH2pdLdCV8F==xkfL-8II8r$mxDN*w1{p z4zB-m$M3!D9O5{Ny%}W=SS=|K@$bM4io(kIbOwQqodp913L2GVcHAzGvq~mhcpzvN*u2DO9cgaiOY>_@WOG z6}Fl&wD{(x39yQ=J31tXr9z(=;~i`2B|>W#K>6B)E#KdX|E3+&&+{rR%PSqD9#&J^ zKR#;lNjGm>osIl-~F>sK$E)*>N^t zuBm)J5Eg1PC^7L=4g7{(jlKB)2lWG(LDGrW?sE<>m$R6u-NF3Z@hxU-#(f!B_o)um zoqakjHfyW1zzl1&Ey%OkXaJyk#+aV5a$kF^(d8;iYQL_>7fqfNh_7zkx3;iQI8}c& z#MO?bjgzIGv}QfE^LH%y_d3W65Mj3j6igoo4YC}o+;XHa`o3-;V6d#(CwT2_#N#w?Aj3uCb9to0Rjr*40qqg;6hcQD z>rLfK_EzG70r9341!ZqA+sW>tN4`>|$D)1}4)+WpE(^hd%y3kXmjQO&qUHd|7%xlg z^nvYj(>jnS6_qEE#}HJlE#ZH$ytx9OS_8b7SH7#vSM%jZGc!_hcZrD3IsI&T_Hn7U z+!{Ybk^kTC+_CLs`CZB~6~hexahF*k+bkJo3yX#(aQ=@+!vv#F&$rOoF#Exu;?jL+ z%_YLY=4~Pw2cUuVKRDTQrkUfwgn||t{-H7whq>-vLfiLc_e3WFOy+;X2xg_rgCt!s z85Xx?O=Dm(MQz8_xT87!CAia3Q()x~Lx}gvrli1drv8Bqpx%^=m5$1tPj=;xp@|D? zY{{sJ<4mFc0F;VUWl@OF&9mo8Icn$SWY>$k4!hXIDgAq5uH_(;lJ=WNk7p)VUO+qT zHdEqUU!}~zF($6e8Z3VmpYxQ=%M0&z$YymFxAaL~C~lVJ&%C?_kN$QJ^_O=}XKzbl zfW~z^YLFOk8EuEn5M_rfMpdZJhdzK65EV~dl_GOq$2@J>L21Tf+8v*|VjnA+=VCp< z9D&SKt|l&oDr4_tKx%(AeW#^BQW;?~=ky5&{OXx)knSBYZ8m>6Jly}xhbw67Ln>UK zqrEgYlZR&qyPSWC-x?p3dCRcv^ZObVooHI^VXv(W#3=)MTbosj9C?=@Lt z^PI^O{FIJyjnIGG|6=2r80j6G=klx=g?F$P{04F>cYNl`i$t85;%mE0H`?ElUgix8 z0*DKYZ<2W6bD;}Os#`CEZ0nbcNZl%wUk_nYo+pRMB_V$zP}eL2Xa!@RxD_#=(?3j^Ok{Y*-IcS13*usyw0wUAla!-p$Y7rMJD$(E8CQzg zln3Oqf|FdU?!?uCs{Wg-JIX2wpTf7vKR6vi>QvwbfWY*XiGjShexzM_%#Bm`{BZ;g zzzysX7S2^zJN+i6=xWmKspm86BvX~X96qZ8X(+Z1hb#s`g7<3ti|2_1i=8Kehje%j zGovA@O4EP))hpf961i2!73u*&Qy2m9=Q~;`RZhyy%FIsAS!KNNp1nlT1-=*0+Ucp# zLS2TlSq^AZp&1b?hj8M1Uv(pgIbc(2LYJ2>`o&tYiyF`xit`ALcH>VQTC3q{2mbN~ zIc+2KM;sOOL!t^gm)bK-?Vf>29>;+rS)50?ysm%yI?+oHT5Y~7!hc-VtV#94(VYW1 zgO*3F&k8_cVZ?@?=Mac5DP)96V(~|v#U>b*>mNwl?OQIpXk)${V6~dq!>Y5 zI9U%&_~W_q{yw;KW+Q~zqd*{!)~U9`tW$sP+#fTmdGx#q&yBRYMgR~hIJ$uVhQinQN#sLg}soP8ILiLJ9Q zQ?Q>|aZ#TZIOl9TtKeoanx>z_^(pEu3c*u8M^mv~dnb11&-b2AgZBniuE)6V(LI0g zw4|2IRn#T;6v4nh-GQv$EWI>C^sY@YSv->_SPIdSwFC@CXCSR)e`#1D1EPSL!1*`% zX@ZsRkgBh;w1E_cKaEq_4za*;@vU%LY~=w^b-#83bNn1yqPT2GBQqTeqHkLQ*;=C6YDk~ zV%(vleU?2ukq^75#B&VD)gFI66t~%>ez5U>KPecyHacM9@7Y&mfHRk8PiV^N-RNki zBJ(WobYyJ}xCUVG%hwntChi70)>ZO#@lHI?5sC!84v^A}DPFKYh^OCdu}9lTDmJIl zq5y4l@Cxe%hESZ09qrpOE1nhz#J(~`o@Id`B!bTG)Kn_YXJBHM7l?n7-lnxdKp@i> zElYQReRp33&5+vaLctIU!Ez%#3MDG-L>M_Js-E-28~+VV5KFNSH|=QO$!y1%1ogjk znnF5Lo(D^7*Bc9HoE zfi(^9y+wW|bc~O{e5!$JZ#@>1dU`M(ED>ioA(b5H=8JJsG7^7M2Bz&xfVv^R93v9v zQaqK)e;#LF`oxNO?<~1tX__zNNrcmdz1V@|u#vn0tG&=U#>aSP3_Rt+oRr6>Px10x zpJKS59{ufxt2GqDOp+O*Gs+=wq};_De1YMBza^ZkN4dpdZHfTr^qgAr5tt-sIu|xDkD7rr=k6|qPDt+6ZF zvgDgJ`yVJqaHrsCF&LCmTsdBB*4C2!2k$=!?`U-H40nZwrMc6bH?WIJ-?b!0I9*|D zXJ9g^zA+i^`iiJ$PR_-K@+CkAGu|AtchxCv$@}tXndg68XhAia*PU0cU)&14bB;vvZ1SuGafGn1A={yXTbcGjsdQ=D&_!Y^B%uWCqjbr`U4PabbU>#pKjY)SNJkv1x^>a)sQ^YV~GB%cB$xe9;Pi@dg`eS&uQWC~ZR#tx59dvvHX zaN|q?#UE9q&iB7?(-?~#cOSXP%P~2c5MY7I(UsD1DU`UvV}6Ya%dZiY6v5%cT9p&OU{AeXFiE=`q z=L&zUGBHRCkq!x_fyr)2Rea3)WM&_5YN67h-b%V@o6f)Rr zPfJtflVZ_H@jyE=U+O~PQx(P0wikcNzjhHW%2*D9W%jNKTy`eMwM#<68d?YA0%T8( z`@lc>wGj5()~Ca?0}+WZnQ9iw!J^3%5xjp3RSf=0kUumkpfc*^$6^bMxMe!>;V5(! zW91sVt~9=Hh{bKMT^L?oiLuRhF(QUkY-aJJuAd`QT~LPbR? zI+W?JHuIA7+#sSq!`FA%IC3!!%Q7YJ3hZLbwm}IU)L800000 z000bt000AclLi4#0W6bN0Ze}#u5DytbP@mx2OBPN|99a~G89B`000mG+CZp)${{>l zw7{>>au^Z-3JNnl_IDFtFB|Ds`8!&HWx>n-F^x!uLu$Qa7BLS-_*ffaP$hdzP(m(8F{TZM8 z+a5m@Z}l!irzfm>5lE}PN&JrpOUTLo6zxuRUJQr-(UI zE9Q8kJYS~>+K$K_Vgs1k<>LTd$`Xu+OSLO~92_#I;{Kb2)^C4(%!d&umGj}IoVPlr zJ&4nPl`ulYKLPbahjyJN{__Zg`9W?mofwrmq#5@hs;~H)b`8pLoxrJ%t%HYiiZ@EPG4R)_Ge~Ikzquf(>#= z8=i*|ORiY3+|8KWJelK!%&q1;(JkF{^4nGl=#8)GeQnY278&h;duihleH_;X=I;~( zyk;nq=;nWM8z87sqkobax=CWyq{e*M;z&84xp#xR=Uwb8x5wq4{+Ii0oGTk`8Rr>5 z)?7>!Fh_t3V!fA0=Q7&*R2c^5rFn&%o5a&bjDNDn{aM7%jj6|Dby*x~TSw)_AZ>{e zrro6ll2|J^w_(a61j=(`H|TMmnm2jyn2rPrWbA)lKJoqRhr(G2FzNsoV+kMs^mc^a z@7ycTXWD%~(|ZM!XrD?UMg^{c{&YZ1EUDDOTUv))8k-~@Z(uWpfc2;1-pzhoveyd< z%1d%%>%wMo;wWzeHpK(@<`_aF>4iDJV1s|8mi7{bYK?y9l?8eNEuDsvp^2++e7Oyk zoOOSr{A<#KmPqC}`SQ+jy@zI%0+2DKx2f>-<)VumuRy(v*0;{?hte}k3!fbjYyE$s zTm@xnp{`%lhRP!-N%oC}N`8BD6_pLxoCKC^wEeJk!DSECna~^&sBS{HO7b26bDg{` zjyZ7;ecAT(0omkE%+K-kTl)R7%b*|9n{9s}9B0!0A*vw6QK>-zxp$NcZ4`3?NRUy4 z*@LEn_%gdAUxuhpTAnZYY&VWAtfSDSs5l2G$rHA|msOnVo$=2>EGEtvR zo`S(iM~Gub<`R8)d|KKD!1RVp!pfN8eF9`LJfAi`DfdB) zCMi;JhhZIE-?E`%rV1p`LY1_uPH`E?9X34_Lc_iih(5o{RfL<5iU<0f3IZP2a_mM0 zp?R5Zbv%mN1Mb{ot-jeE8&H_vDcx}FI+O#>a(2PPinZkKBeZZRm-6rvoWilyguWL=7&F&K@ZmG@?tDK&i|KH@&nclYh z_TGwmu`Io+w7N%asc>~{b|N-0)zx7Hud6W0-k$RE%h;YM{i48by7;Q-qZnn21?g;; znqU`zpsupc*yL!%2d?r5N9z18 zdVS#5YVHls=IYEzFojx^c+!KXtJ7!QP!VIiJPY%8-}Y3DqZCW+Ax*5}OBd1Wq){Go zTYuX0HSoMB+u;l_TB^?iXvJg{T|}%oEs4ml{3W1O{aTUu#+jjrP-K5p4OjS2bTgZx zvOeZRT+x^V-5-tHxL6At*e?V@9QkJ7Y}5p58ciAGi_R|zk3;hH8zFuWI$a1lh%rVBk!gdm^$ zcO9xL6)E3j~L@W>cam z7oRr=#5h?uIif!nKm)Em88L~_W@lh{S#0fz9ViWXqwJ$J4U2LD3L-Ms?$ankcsd+ zBcU0cfc=P8{)qvA2)Zb8_8>Wn8KE+MrQP?8PIHBlTNZ!ylU=&*wx}2{j__A?A`4tg zI@<#?-5x3b(9>=OD7C4EayN!o@mpXfbwjX{b$bHPI3}nSlY@wJn~<^wVl`&zOAGYE zs8grhnoc*gJam6lVk!SejA(}OB_>s)VSG~Ghz192BB?rSrhEar%$c-S4R-vVgw6lx z-87P?hE>!%TX*Y_ta-*TwiBsMAwsexaKvn-I{aBP4m6P8?UJ>q9_qpQ_jW$5X(q~q ztQgZK%imDao(eRx(y(|I-EKC96-~{A4fAeCrZ(lcLoI*(3t_UpEVuuGf~VxVCsw`9 zt-J8yz~36srVo5EqL*|=i~*GwRt#^t?9b%GLIVo zlOK*!ex}EiqSW+a-tM|F(2b z{Fd_}gYkbmGwLy$jtu=4Dg4Zgwx~O#80`kfg?~YaSN`JdC9&QeBfP+5MVAhl^jfR_ zwBPl|Q5%vCCu{y*r{;TND%WTui$A@;=_I+<-OYzj5Y~|kIxx4iaC-s79m+*o8|;TU z|NlpfGK3FB@5tkmr8y4k~V)?K$X0-T!Rxh%ZA>%t>#RLq;d(r zaGk9Q(qEU}6zpXcEHDCBY*H_jw{no3-NzDePu606%fkT8HZPLsuTY)#iXQ_nu&Ym9 z!H&`To<;H`am^dhNw8^y*B?`G+R61mSgJJ~&{7sh?Hd}Rg8l3fb{a21Y!`%|wouKo zI);C>k!)M*Sf~H|nh-i@?T%;Yfp;D~KjzrTz?toAiXO@qkQ$A?xmB|xlq=0Jz9uj( zu^J}KbluBshb&w57z*7k(rOQuI?^te+@6 zTRlvPJnRo5r_lzmenC&}lp|N%-we92|8sx5?BT56MVw$LynE{Z>c<8g;Nci8Uq{|c zV$Fq8i-wXvflY;mw!$q%NPINMBKHap%F*_5l|QTi=d*2v#&y+txs$Hj@Wc=F;*J|Y z(Y?AIEXXoMUqMP>)&=?OIn*Wk%gR=@bW4Ta-t;x zk};nn+K9)jWh!j^dM_X9lo;a3YE*HmQVMThsPyOf{5s=ve_=FcfG%^PsM+ic3cKnJ zHhhOIPI_~?cp(@U4o>$*|8&=V+gg7O@M^a@U9pNj4TC!G+qCzouta``2v2CF_L{`Q zq;(U^H&TIH-oc4vK5}BD=CB2Vd*f7DFDZVP$n<2sgkUjw*<9>#U_4tIQ*Y>_Df8N> zJBpoDj6l?OKs9&S{(Hn6Hm{Y7tC2NRO`Ab~`^mBcr$p+3tCQUy(2pO>gbRO`_9M@T zz&ypI2mH9)7A=6lrtU?Pux~1o_3~lOi}Kx^+a^_>0<%&41cwx9dxDjceyvPDA zRsTSBK%9tD+PiG?1`nww0T{y~l?gjr$W(Ub`k{Gxju$JFGg%LF>PJ-F?!Z)5olg z5BQHRiM?}RjFf4+U$!{7tebC+9T5d==-yS4$W;In9<^W)G8Kj{%O?j^og=FBDly?2ioylU6pa^3*+L zHP!LfaFkBMs<6$e1(JU{(>b{MX6#qhw`vG3lZeJ{Wsrq?UlB|TTu%Lm`@vES9mkgu zX->eCd*bQmLSZa*GJ8i=%tUzfd29rC67pVtZb4GDqWTguysr;Qk2rRU8JX1hSg33o z2d&Q`2ly29A8D&;M!&$na>Q!Lsfs_lsl8q=HU83zg!+a zr2^v)qFyZ3#BI3Fkl)6VpAn}V(-}9a?#$kMHF#kWf(F3jn>?O-IA38Ngev`Sne&mj zb?(uyY)n;OPDS4FH2$Ms2OwgTY&6`XRwJv@_$L0>%f-nT2H0=DgA%5C16)*wFO=*o z4tmT7(ha3ygWP|6g5dXWx>j8*{)L-OuF@LZ!=bU=tsr0~O?cA)B^?t=N0dq!IH(l0 zC?9&gS6q)-7qzHECL@evK-8&w97~Et8%9D*YLdJZ5)UKx7W!qiKl2ee&TPq-5qx#g z(D%!?Vlb~I#LUu3XvsdMBqaev6xz7^T9ZYnLo44(_iumCGl`&S<8?U`WC9ZFEb>vz zWgsVCAJYypr@n0Bi{}6vP3h&fApAK>O_(wIH6g#{I3U(Z&$Iv!#jD%7wgCkLDM+%qeAALs^?B^@ zL7x+AIf~u-*HV#rv=yhSyZIN#(hP{DDyIZsOegJy-r&DmAEY-GNWHLlf(4Msqbme5 z%&9KaL>3~0glEPVf@))ScJtyJ?pGkuKU!)~@7;fu8n#S7rL)6wAp83@=A3_HuRU9N z0;QjO!!?#)?{- z;-!DyWr5d<=sC~jujc!&UbcXNO(3$f>3SE6mr>Ihe9xFVWTbWnol#piw@O$-`D=u^ z2D{5bZsc&}Aqr&)+kCA$IWxbk-*;|yz^aUD;0X`8uewqvfna&o zBQV*5E(wgS9OR^7oh;?@2J)!cy0PiFmcPY;E<_ugi7f;O@>)0eoBIOP&Il&&!*hR9 z1v>Q9izbKsuiAd)8yLYM2sN=?OCd+3NOLpjTv)!b40@cme32kI%*rvHi8hMxEe6JW z%`y6<(YTJ zbWWw%@GQip5A!nol5Q71CMc(L-UdBX-|X~-Kj`tPu0|JlR~myR-g znOK>3-x=LzhfNBr02@Gm^>aqxvN4m(lnwg-);qxC8ZSu#8XUr7SZa6yKLpyhBuBzc zBmLfaw-T~xLc<4GFO%0&WpRz6r_|Q(UAQl#*rAj4xf;R$a7i_m^Bc}wOT>Q`ni&g< zu_}dQB+9_>Ij*N^sH~vAR@6~NdMLT3yjLdi$kCX0D|%F!Nw2o2fZ$CPUP~YKL#W|Q zm3;*wbW2NRpQ!Ks?YRqSVV_ST27sGyfFOwutc5ruH&^>6_cpjbQmUQdH`G7;noyb^ zKtwSY59df3Sg`XI*H8S1=pcU}0Uj+BFXtXr>B)_p!+H>po+7xEr)U>Ahx2`BFK83w z2%wZ|LP}$roeYWxIw7%D>&1iTWvXCDU)Wo2HD+h9wTaveGXmO!-d}HK)e`syZKYVT zAz%B$u1=6ZdQp*73Wlk&B=GnkTaULr6mtJpM1hX8nTfk>uPGzTprU_h!-`-X8Y5VM z^8U+}C@#EXe6A!27xsktM!4gtL|yr8t7iq{9F28rf-b34=SOW9oiEkKx+EMC8Ed(7 z>&)+8yAqi2qt@Hs_e%|6u38+RRd)Yo1c(r?+VL_M=7Y;px<=Mq1(5^gZy_vla1^Ih z8#QbWz>wvn+L~ot$@zcWK%tl3;m7jQ=+6lj&RRV!tw)%6oE>v)7i<*efy~e8cQ-Rg z>#*1jo_Vpt=Z)g?r($?1@nm&@;0zhtZB$-{(b!?WC@@IDSDdui-ukT(t~{8gZ^h%l zX~HO;V_3|Hv!5Ruo-z-^&2cOA$!<8ZVJ-^>eGGq*+4$A7?!Q!;dVzJh0JX`D;Ix zlMz|X^w?5cD^5o!PaRMp;owk(MA`#9y4m{1cz&Ly`WIe^+QAdv!Fk08*UvQyLo7>P z*chjVv?H)MaKe88ZZ=9W!_l0<^vas7E%J6_@UEqG>Xt(o(~2FDQ@%ErdZCs8Vp-iR zunbGUh1U=dTavr+hc}y6L!V0}jo%2}pv`2a%V&kDa+PxolJKv)ZI`Z0fV8T^0!3&Yj+MbX}aS_v+kolU_q^@*gXt7N1?fIqJY8v%`Dt(ic~4nE1Y z{7wb3(^1?7_0uERCNg4yxmBS6c(U>0xb*q&`>?;qfSD=sztj~63LJ=1g1ZMpm^>7p z-1k(+&dE&TGqo}APZ+vby${3#W%@;UW+D1w^e}&Fxeq@s_eV_yg);opMsXA)FKrYjIVl;?uUC?5!W^{p#Bn^~oq^?F5Q?S6Kc{Ee<8 zt5AQ9kPPw%9eF0)WF^aMz9+h4ti7LfX#x)_ikI6X+Zw5=q`#fUoy~KMjV$F_{lb1Ay z>jz45V2#XziJ!M)ztj(#mVmNP%5(eEq&YQ2mO}y;84A~PT+za%Vg4``sSW=FA@Jx4 zhEw02>sKs#g<2HnMEOd_a){2Utgql`iywoSXW5pAh9(589!x0M_5%|!W2CyVQ1O5B zV6_$pvI=VBOh6at>BhIwpR=S|BI`IQOYu@+4!%JYVHGTY5g5xxt#o7Jhqtk_5B?Ew%C))PunUd2z=^F9v>?cA?c1(D04elZDV$J@6 z&|_zVCJh=Y7{INkv<9O?cKFWy284f>*;VvHZ4`?wm)8u{aj)K5x6DI$D{W^runnj# zzp3d{9K1Ga3YboYSO({UaU*PlZkhS;tg4ZbWxY6H5_Q6~WIN@N9abyz|MrS3gMXp~ zV@9HD=)zud3m&Ca09im*lrgHe&{3M9M?VIOvV> ze|aKws&&o6A`2=g_l$O!$ydXipe`;IIoj6hJ2nUV4p6szq22J~V(dV$4^2m!i|3A0 ziZieUR`{DKf@>e|``X5|QzpMuLGV=Z4$m=Ml}6Dt}2QSY#7%OLoc%m*cz)JVPeGs zpTWE7)bN+;QKvmwPPBhMn}j@>m5294DTQxX zRCUvAQU8FL~vVp+)7RgoRk>r8bBAFn1xV*KbhW8Z@lX%hQj+B~Lrl>O20S|mf2 z-ny*+Y3hwXc6ZI={9@>JERh*SY|4iB2g#k*j0K zzrAdTTYmviJJQ!dh<1R zzL^4Fp$CDuM9hD0k2h|*=@9Q(9PpK+&^gP2Kj;#&o+6acELXe%42Rgu9c9R8bK?QL zZrqn@R^+raSVsmTe)*4*LZkshR=X(Pn!?Nr`%Hb9=s;N~muG6Bez;RnKOHFf4I8Xd zK!*Mmid+S`GTJv`z=I&9P>RS(yTg-<)_^9>U%prgdZB-GTnt+@&#GzR(jc)awSa{% z4D%xz?q3>ri6bu9AX}${!1X2ZVnsmPda97hp-}eV+fKR{_B2q+59}X_MBE)jrMIee zbU50aZf_b<3^>t8IjpPwkfXyAR5~bd3!XwQ#9?ybBMe34`>X8>%RapJ^QI7Fmgx-WAzjKv^W$9N=2cKk;Qts_fWzaA zV=rb@C?s?K#X!r%S0?*|`QBdLCpC@masAm8g((fl3fK}Zqa0PUP_Ob(mh$SUi*d^c zYTSC1#uJ`oT6QbiZw-;7#2w5;T3}yxk;B#IW8G)d3>`KUP4+!!q_J#PV|wnBAlEJO z?fL85-Epn2lM!v^i)$D>*0bxUuWw^cSCA=?`qxp?b3ZX3NC6uA(_H>?l@H{jFm<{d hb=7Niq~|RrTKrrs5p}IF%cl=}qsXRx!@q7RP diff --git a/static/img/docs/dark/route-group-multiple-layouts.avif b/static/img/docs/dark/route-group-multiple-layouts.avif index 86921aa219d3205ea2653a7f6d3890536296c96e..7295b40ab1c2066951be7fd55120fdb5d41ed17f 100644 GIT binary patch delta 7841 zcmV;S9$w+3I=?@V9|44sAWj{q009610000005$*t000000p0)s000000014~k&8PC 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 KA1_-P@b=(wG~6@* delta 5742 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 diff --git a/static/img/docs/dark/route-group-organisation.avif b/static/img/docs/dark/route-group-organisation.avif index 9cdb9cc0be81de5d6b4d5da9e0e4e0a58ba60f73..fb8392dd5df230ce9fdc7746a68e988a38c5e7c3 100644 GIT binary patch delta 11869 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%0DHCN$I^a@l~` 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

N9P0V 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 GQ{ZSX`Wrp~ diff --git a/static/img/docs/light/blog-nested-route.avif b/static/img/docs/light/blog-nested-route.avif index 477f25afc138084dda9842720f3e25b8b4483afc..2c432ea1553ca756c16d93e5419960ef28da4027 100644 GIT binary patch delta 7393 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 diff --git a/static/img/docs/light/blog-post-nested-route.avif b/static/img/docs/light/blog-post-nested-route.avif index c7111fb17e7cdcbe7e8050a49555febf5b8b2d71..5d0e5ff62022ee99095961e01a4ccaad264a657f 100644 GIT binary patch delta 9877 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 Hi}nzJ?yweu delta 14429 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 diff --git a/static/img/docs/light/layout-special-file.avif b/static/img/docs/light/layout-special-file.avif index 8719f7234db014bd8179981b28471529c23ef9cf..a530b1faeb21607749f9fe5fec749c7db31d1cc2 100644 GIT binary patch delta 4763 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 delta 6970 zcmV-A8^z?=C+9ejcoRAR0RR9100H6v0RR910000Qg^`P77YG~x0000KX>)L800000 z000bt0008klLi4#0VtDJ0Ze}y$8BU`bP@mx2O2JM{?*}7GA$9n2p~Z8&gs`@Ucecc z7G^Nvn0|tN^s)K=UkTUc%OmG79 z$}k##mib?M(S>W0;0pLxXbxogqr;^;%1Zqutt|^K?5^0D%@R#|E$x4mZRyaNO7>&Z z!3>b{gMohqwQ7r&WAw5(KMcSzP$oIXSn}ldD^$Qg6=_i3iP}$e z9l56_s@|=hp4Sc5z(2xjq5esSE^d_#K}FkA98ycq-5$7)WS&VJsdK&;QUH1#;(ZE^ zXPAn^I1g>biLs0Lv!H*4n~+5-P@S(8&;)>%Q?M(gPE8BHyvuOk69IgR#@@!2=YOhY zDe@@OA_O+t?TDwv@^}8TTGcLj2?I!zWh=Yg^&9>fLCC9__o1HUzfd)wQr$Pj^mDdF zwmdBb-n@UxqwJ5o=%1U+FlQ|!o2VKe#Z*US^~Z3ix$n{~1?qpOt+JTxmDqVy<>(x) zftj1}tZ>+t9TjeMK}ii2(%(jd#US3MTaM)(ewi?V90DA7h0wLXqzVW1wR3D4eC}q8 z(z7%yWTzjV*+HP)Fy7&d%()^Y=ovSlynvD>%-Oxvbg2q2MhUSPLdaOPEmLxjRXr=! z;HLmpZt)!THcEe3OXT#5ZWki@d>HY)X)l7^(p-WE;d{`wLo{3ZaJP*KP|fq$_E3!C zd`0{|2|M;~+C^me8*36gH|2UIZY#Ebgl*Rc1?cuLBxVkU>}GpjqZ^8eN`_Y&7hJRxEVsxMTs42q%z5~&!~YsVtWQz)JE4Sg zMR2Bbv)XokRVS9q^|0J-DAuP7gqCv04t%|~ zk=jp`ww76wjG?P(?PVf>p?4gEus>)n>v5bUsv+FP`Af{K9b4l_G{6NWd_0DdyCt_) z`c-UJJ51E@0fOy@;7U#T6k+NIf20MsWaUyF$gF?K$=&Jja&iasmqBU-#9npP`Uee6 zqy;S48m;WV@Jb^3paZp)lzst)lPmR+mZz#8O`;x2{>MTe#Xc;xJrPZr6dMCLT^DRY zCeJpyIZVk9kAmr2ELV#Oeq_en)y686g(YTAGX2%}8Z6ilB3c_s3Nl7*WHV`n|I}_8 zI1ztNC_?GKtOn2-w;pY)_P9JrNMXom-K_hM%LFCx14zjR*_U?3_L0@B-(yE^V{(E2aGFLNg2 zoC!-UoTxMAv@{DK?-u%Suk(WMsVn|5o=7cLb+6n6G+|tEI8 zXlWczpW!v0%x&NoD<<8v#WvnmDyoBZRkc&NE%YBhw)x&5+!comDcS`{$CPv@SK)t= z(>_7=vL>d9OrfP?l(jgR1A@Zx0q}~Ne@Q0B8{)MdH!8Q5=$ZuBl(5TVj3xdH0x4Aeq%mx;XA0Lm0V$=yR zv|&ujTyrx$TaFho;uf-jfx(d+!4hZNH$yHkRD~rASM>AQntdTg2y3vPH*$aQC`!|M ztQK@SsCxg}FZ_$9$mRP|z)XeWynIq-$4iDTDOkQ0x)KWP+3^6{NQ{C3si?*%7Bqqk zG?1%61xv-xrwcoxbVHJI#_Vq`i{3X6{@0~z zavko6gpY(!2X8^bP@6bP8W4ZwX+mi0a%XV}u`3MVwj5sGB@=`<1q##kNPXJX`{@F8 zFkOhCW2RSfm`t5~^%A-Qj1`D3Xxwe9i%5n4LAV>IZNJzTKh&tlgbWhy6lP?AYkikfqB~-gzoXVP(+6$QZdXl>u0D@#vX>rBg;7N$yb z`d$*s_qE^KjNfK|{<4334#wI8;}5)gLB9MB(K?aM8BX6TdNRA#T}H3r07u~TP&=i; zpxx@Cd%r3CKmU=?i=eKQhUphn3hx>Qe?9V&UzM3APBmp)al0j2IKO{;D3#W^N-4f^egM?G z{Mb@+vAR7G#1>#xJx}9xOokEfjT@I+W()uU{-?fhq z9{-;?MsdggLaTp=h~eM0NWln93wYrp2f`bZgGT#-nso=9Aq!@spILx3;>*cIL2Wx^ z&q&3h`A~$JThDBP?;BA@=A=R^tVY?a+{NUwN~`3z=R1ShctgLNFVzELYwCWzF8OYRf(z_ z$bjq1eH>ztic>aZU;B~BNZsvCBSi`8A9XwTL1cZn(9q)uyRapw-dWAF@v#Sm`VnAW z)g#iA=-t^mwqG8i%9T6_>DzKjFSI zdEJ@|0XKRbmOUd}8TU4ojStl$(T?Z{po8~sd5V8`JDITL&LznM)3TDdLPN(Axu>c< zkJ2S4czBKztah6I_ZaS)cjK?4e)FF$=sLuWCaHqLEg9RC!VZ5I$B6 z)LSqL0?*JWA9pz+{x0M-=_Uu}f5^D}HusZBDOy$gWrjD&Vn>QKvs+=$>sWh9iWYZ* zA@+YX#UeyoGhM3_v67pr${(Jw)?+T_RCz1Yq4F|?p*oDjL|A9XlH3;xn%$j%3C91k zA5>a!!Bdz^-<$@cbSq%n!0Vl0IvDN~dPfvfx@e1={}xo4r34qNrQKhty3?CDL&NPEqB{n2UjYJkYRo4PI*PsIq^n zZY^6&F~kvu_C48RP5bGD>-noVoeXJBm z*FIre0?|$E+@$6bC!|>)v#*{!k%fgi0~28MjP1T#Bcye4`PHxxr938n=*gHx?w;h z_|;06*P&bzlejUBN;=V#j*q1|-2Sw{NFYIJC{LdHP|{X-IkGfQZ@aH63*leIMGx^2*l0=LD~da+`!}TrjFa0&$4gk2N5oJ9d+de+XdK`!Ehrx+*Zv#J(Y+HH2}sX&rxf%l`8#QaV8G z<3QHM{JH;@a}|rIE0MH8&v@obCWgtQELxwZXdr3lXr+(vB0`(62b-5;J6$EtK{Dmq zf8t_y&kV{=DB*|dA2tc0%V#W5kGO+Od6IQ#*Yz7)!0rrR%~G+W-x)Skqy=rsDf(fg02OqFDaXTaz*D{aH*%x);Qntm)vyqwr}aciZ#6?MmxR>Xv_M{ka>* z%aus^tGl_tB8dsSX*Qk`$(#`IvYDT|6?-bwF15qNSg}{J{b7+ZA51slO1DaWCvu57 z`#2?pe631#mAx$^j#1VI#Qd4sNrKZzlgInlFQhm9atBWZNC=2V+& z2uJbkFBoI1I(mNyM2mfm51pn$3hTWa_?DkP3YLrLemSQhaKS(L2+Uo4wTD5#1-6*9 zy*TY^G7%5`xXRc)_<6M!d>H@m7Ui$w2BtLRjhGS2EAaGG#&t@lh1n6kCTkHA&80Ds z{D1&V0`v*HH<~3vks{_#{MAMm>z`_u;P#qnd3&sgm=J%gzo|#aB&$v?kE>GLCv7DG zvOi+MH10ftJ-}aOvV!iGvs4aYW<71#vM}kL!VW04jL&37yNrOt(Pd5f0JeWRlY{P574DueMNwN3Sb`DO`iP;sSttE|?7}b(^H+l{d1_uU=%Uvj37nT)E+g>b$A^y1YTWPR(MD)bnAIW(Lb#A^uzZl# z-J?mo|5fqi1f!*)B=Z0;2yLV!Wx)luM@{5g9hvlycC`4hhEC*H7YnZ^Is zJu~gUEAi1Ag#%Hx7xQ=4=89AB>aR#$6;+h~6r_nm;d<9r*kb9DN2JA7G<38GKGjmPgCL9T1S+Z!3N{7J8WrN|j!;l5VlsD6jN|Vw6IL?K5<}ur zfFiN_@AwR(RL5UxW^=huQN6NIdnbQGK>RXF2`!NW-)e7v(*BNnOOm`~bC6^jM{`c? z17V?oDV<*)A-H?Xc@6);i4js%1qo|h-r;m?os>6ZsF{=&$Y6iarM$mY0d%5MM|S5e zV>q~ciV~Y#=?jf@S%e==@l|OWY(?K?Z)_oe2P!$B*Zjj*dx6Mp)Ya!n-F z1j+EOU-jVN@-oiWi+}!dv_s?s0|6H}5+orx--1(#>cTXipBX^T?Ln-~=jGyQYoxyY z**ogoAWn@TD}Nh^2prPI+M+RPU;|v+#V?xU0z)`>@;#rZ}9*9dQKD9Ab(< zmp|?dpo5QA!yKj1g1bjcxSF~CnV-D?;k55vt!2dD|I9M#369Rdiz1`|DO;vmHl=6E?dj9`4a$e>3kp*)(*nC=prfDNAOCSjn-<;KG zHRN?GQZ8Os^9bcrmDToSO2k|Ln4T28t2o32l#5GbC>>u(Xd{1F1mznkU9dJz!bbh5 zNUGi2ioAMqXNt5i1}fgkdLV6AYQE0N>oHF1$vAew{qn;dLJi`90jcO+v{mzC#?kaE zFWf~BS`P@l$p>Se2LtfOHt;kSyQ z2M6EeWvl8%7C;7^$?O$JA6e6BID4a&QfhSXzW6D&&MC_1_(0(Qbcl#loooul*$?;h z1c|Gt49uI=R?=XKmI;>X*tv-?43fmR=Xck;Qji?N{95)u#3vC^(VoHL^(yRTFsD~` zsy+cFGJOg^*#vYZoJr8tMa2$42~VF=kA!FaD&mQEI$K4lz};T1rRkW-t#`xM;Z7uLg=3z$H{Xt0hc@I z+z3C z>s{|nb=TGt*IV2olkBnOOm-LJPO|0p%9(}jR%CHUO00%T=|edURxPrlSn{-&Cte+K z^XjnoJ8j0Q+QAf|KWdAc!?OJ7Xn)&9^fjfUyx<-LDI|FZU1@@1vd_*S2`6Q7siLo! z-$H-PA~%*`eO1*F9_Mv1p6%ZjvMBWcQyM1A@{@%gYL%hlowVU+u*3TPH~Ta2kCfl7 zLo_%ubEwAOKzL3>ia%3Uhl6RH1vXNRx+Rm;cB>8f1j0pSX9k-x$Q7)PbG{mNEF@$F&(LGcqm4WqFiO;AM;RXq52Vot0K%>^gz-sYIXE!z#XA^?ojD(|8Q5)}SGl~$)`A=<0MS6Jw^r?X_sdt*W zPJb2Y*$F<5c(&H$ibN1pHq>}xGvc*Idn4ZsV;*W*r7}OIIS~^{BEnfjmX>} zq~U8A69wXZV1cNpt=e&`O8c~2nnfHJ`md8aM@9u1R?^-b%h{Rc0YtxwD4E2?eckyTg MElNs?iaGWC9K^CRsl>CEL3e|VRRAz3I`f0d;c@SpfW3ywE-f3qSo4@4#{K2 zfD!--3OXu#|1-h@8Vw*agIG*(0`$761uRN0=>Z4~d39v%IQn%Zc4*P$Gi-6Lz-x2U zvA8i<&2XM+Nc~^RCqVcAA)OQ5L0i|q?WS0-pP7f4a+AQeP5x0Qe2^m<6ry`UN=Jlq zrw%k3gk4SiFzSVLCpPeZFXXJlssgRD3@x8*R1p z97$_%o#K3sMRF8>HS^kU!oqTX{&$4MKSrie)J!wEbA=gnYacxlhv-{#Rk@`c#!sne zBm8oZLyEJ0fF4GVZ(kLNuVzE}^q&iP;IVje#hgJPxFA7W;ThP__d1yYnR3fEi#f^6 zw*kW%sJ1Oj{zR3i$NeQwpUV|hus)~CG|lEw5eaMN|=kHtcMF@Da`;Sh!s92 z6`=ZkU{scWiCbd~tmLK``)nEKbhhgcs1qQjHxc;IBTH!o!+lEN3i>xysp-ODqV(oq zC_N6J3VmbaH)>8b9}~1+E<2$@Ps|7K9{QJMMV8{)v<$o7N*cgORU!ku@&xErV#_tO z@qIO(6E-;Zy&arL9Sp0Oh%XWmH6?J7f1}j(q$H4TIk>A57EmIwn8F%#lH-VEn+Nhd0YS4$ z1HjjRYA>%i))^5J%iwQ);!;mht5-{iA@zZ{lr!EGCGSu?S9+|8i>d?z7+GX_Iv zA}QKd;-$QH08g)X$M>p}8*?s9@-}mQn6PTo8Vfb%95nqHAi&2(ROqWgKF4}`gcowx z``eNZo@_YV?7w;iLPXmw*$>P(_sfI~Ij7!$aYS0*q3k#cwb2}5KPz~PvTSvxhY!%$G@99cg-MnaiWp=d3F*=q1vM6$)b zaqkh-Oe>qIM`9U)T8>l`$40ou4HC=`nf<)s6)=lWU9}JPgetV;NlP;w{xZtC0kUV6 zNSF0YOfhB|5%9xy?dHa2uEYBCs?EHA>W&h^>M1;D+vA3jl`S6TA(GeEkO;z+gx#sa zcNLcib)sKJySaoB=ApkLVi1tL-`S><$=`CsHy4is{c3#LmvfTGeFV3y%&&AIdI9d> z)3RETLQ!RG4B-a|hx|OO1HnIYkbx)Qj|fXu*h`cQA>T@{8ehHujj}pCrN|0@8_Nr^ z@p<>Hbgh2l!Lw^A!udoF+tr-Xe-W)l@n+)t)(5#|-;a%C8cnJJo`0HY!#xs5?t2~n zf$E~Jb&$D^5`C$sO>qiq9sjMy&vUl`tF&;8E#jLMR?sIzjqjc$%a#ayA1`5ap1a|r|E146YA0%7yeAKB~YLDW;#>{R(M^M?8k zs3<$Nho16vMB5<@Yb-b%^|^_VRBwfT)7L18GB!%6aNz}_9i*iWC$!>!)FKd9*@89q zi3mGnt-a?op^YWRg=&0+<-u2?1vUzz8@9MWq<0xEt%#CrQSn6z{E6}&0FDvy*?dZB zavQfnls8y5dKsq!Q0Sab2A>VSKqKJ2s$aAW@-oZa3NO~6f8PLHszD|}+-+wws80=1 zj=xrLb-NJ334qt)WbliB7zV_%TZP1rV7lc+UW7=&wadPK@&*O7aYYJKBa`F=grqg9 z=~sZN4g2U^oYu@0B#GXiBrT5a<`giI0AvjUZ^9a&$FbO;H=ScPv;AdqsipoJ7y@#i zyoJ;@!6a@eyh-al{dmpVb92R9s-5X4FnG4{mY#nn{7lBWoml37?!mFK6q=T}w@G@K zm@fhg#U~@(Xud_pQxigh;(i$-K8mU8Krpu5%1XLlas3sD$@nUX+R0I8psJNqR{wnU zoOL;RSfv3g_H&Y)BAs?~5`6pNdR>V4?tKP1^*#bFqC%5dF0S zoEtGX9YyJ*8fYN>)tuBT3O>lx6U4?}J5~^yrOOs4v+M=t%rGn8H=ZUAe~9ld!i9O9 z5zRA|43nb;EpG*uh$ripdYY_LP<_b!Ez$<1g9V9kHga1x10q-a^~THlC-cug!@=4k z*|K-K+=}6UJCb4I_){H?+#P4|x00E*70|A7`y@WaeVgXpweQ2E<=J)y9PynPoF}|6 zfGYN&uL?SD(iS0tnDsx*cd(cXmU2^pfYfoHrs+$fz^9h0?>#NJtkXF-USIr=q*&2- zNE~ge6Gqq1U+=9Ck19UhtPjlKp-2ciihmgDxM!e$SE#+^0AjyfLy;0~_?vC5of6I6 zZ<^?sY`gNT7yS>?n7UsuC(;gUuG}xo1;WyTUw?t+sAJ@)zMb7e;ey&2ObKf zy8kAqDqh= zDVJ#fB}pxJEWlN<@k1MKyjGzGdCg5FjfAs*9BfI7*2$NU{|@Mv<8}9bCFPu2bcNnG z7?>K!_ArI(nU@Lju9t}8L$FScyEz#$A*v)=Xm}hPFOhA>{w*|D4H3(fwN%4eLIF{B{>E!! zc=b#r4GchvT(b3wYcx;!2d*B;717OKbTFRDMP{)HI2%Q_b-+QWjsu$~r{#|n^uB1a ztGGif6TZ>I0y*ygE?jV!M^x?LgzgM~tsyT3!yyk4v{mv#MUOePC1eDf0b$#sIgA?1 zf;catM6C_kLC&70RTNKYEshTUNG^>CHipGjB9W@NJV#yWeX@F+c89Wpi=-;As$li$ zli;_AQ%LTAU=U(!$XdhzH_7=#?J_hym1e8YzhR533qQD&6h@Kgz38wBA_djOeShXeHjB$4m)LPi5 zs{xvW(fR%&P(A1}e zZS|1V-`VqQv+np;wh0Y?5`~#uu$ZI;f6U|U)UX9VnJhNurb3|{fMuy46DDj$!|KDd z9Lp)=3Vp+~@rRCDoH|7Q2_aW630vlF%UkD7`dy}2k3Oep-@x$ZeKx`mVEckU zg7+)&e1_d4)@vIb9|>W(_S|v(RuGLKTGa^fsV`oy-l0>gp%=T zPSnTaTD9xylA0B^lF>}xcydzJCMQR1q)hoE_uEd}_d}CElKPMYWetc2YJjZ>^aUJ* zP^(a7CUtX>(c&fy|MHIHSAp`i4+%Z?BY*!ri-Uc$1l-&Ysl|k4`Ogo{RIS-3M|n* zG@r0YPus@-Lks~a@#U28YdA06umu01_;2|Z$Ug!57822aM(>cw3(qKOn$LM$ly{@0 zF;fZG7U-MWAAP$um%TC-eW%t(;ECRE&E73>S)*l2+(D-=>}%fc9*&#RvQO|APy5`2 z{&A_EBs>fK$Q#FqyD`sT0VnoVk25n$84~@<=69|3$KE&d(C2Zx!`*<9cQX_J$tCdz zlSYPIloq9bbQlX~*Qn40a3X~~Ap;un?8|#vId#%r4ov$Pih_tWPz|5QO`wrGZeozhWXN0Q>kd`VBYc zY18LM)8tK!J>`}y06@bag@jhnl5jUd<|+vI2a`Q_i6=Q?*Dg2dmw~tDn7!RF5l#G7 z`lcd(WcVwc(1mnmK|;%l&4jY%^=>;e@Z)^j&mgg|aVQ(v&%XRS+`7=4AJG?m>17Bv z6|*=))rZ~(OAc(}VB+%YLu${x1_6}7U06L$DOdzD30$4=QyQ0k%Zvn>8%RX=zK)f@ z!9=VJs;wS}V%Z__w?_|0@%4+XypEGggG_IK9V}3K-BtGxmb(BMBwS!plQviTj)=Wv zXR?H&uh`j>!GtK^9L7m6t^Li$_T{2BW_(bmLqK(tv`t4pa|j%YHO}s)Rm@u_4peyL z!?cqQXr}rnY=xC32<&Mki@h_qMc(dfeR%_?wg;dS~g@y9|n@%5tA=}?5zJ0wG3*1LCyep**r^177i!k=p6y#$3{?&HM201Igg7J zl#(F@jJ%72@}536DD7$Gk&o%QxCEk#izWhE2FqG2cF{thU3P;O_?@_$&4;mpXoX`>d%QxtR&69m8lNt=_t?1BjkCmhh0}DFH+mvoW(=9`PRnj~_ zl=Mkr13M=98_kMc8A@|ola6=&e6PTM@c2Ku9tsc$8hq!asx1!v$z}b9_!V%$EOqjL z*f0AHLa`^Arz*Wv{PFS!{RJYDZ(H-56hB`}e4|20V_Q-JVt4YEpshwS)zKscx@cY( zYb9AHCi{=pya2}>aO#+CeY979dXLK)bDsvINOqN2Hf0fvSED4inzz0YDDe>)O|AmR z)j(|0cAmDZVV9COh1Fu^oyE(LcN)vMopQI|-Wj6(&>Ne%_12UFDcuR_oU$=lT&=d1 za+MiY|C?^!eu0fHj`np5ul8#qTa9^0uPl=xUe@T4fn;b4G#G^@6F)D1$mQ7U9g!hK zA`-Nw6(KJ2N{0(r-ARcpl6uSlydky8tT%=_5P2<Z&wF`T}nZ91Z3{ zh7i0fEJ7n2(~Q?Q`Y+sn31Wg)eG3?cRB%Mdsto{WsF`GI6#vRJ%TbjVVY!f6FQ|D` zNc4fQDFj^Qw#IcYI*|5%{G~c_PzEz~Dt)lhOEW(lLS;$KZ0Xe#m@6SwqlVF8itYYL zq?Ys@sf4WCT#_zcRcBZL&Tfq5ygbUhTSr#HNCCYzD}iHXx@T#Bw`=e?w21)(Jc@~; z%)WZzVU3{=Whmsf4x!({>gRL}ClsIYI5eX25JmX(as1Iwxw!+8Mg{pXGZEaV@v*BL z>iXot6Mq>9I9@%E$)aiir3YD(=6DI=1$2?IlNE!2GCM=Nq;~!#eJ_Hi=Z?+k?;_1| z0Xyu5zJMN?R6c}%>PS=+dzxbpX0Zsf_#1x<8YZA6>_ihV_K(ta_WvLJCuwpdNrz_3 z8GM${TI-efx$}uvh*Qo*mjtp`HWO^1Pfh0mVxkyKr$=FyPJ6}VXvFoL^Km)eXdihi zfbEUbFxg@4Mc*l>%(ufMzFq+%rSSi|b(r{7cxY2bqSnHHr%-ad!=3$T;jU+9){!Qd zf)MVJkGC0;R0~9H&{F=uB`^1ZTkTOt3e`L~cOE`tTDOBS>GLS=OMd!Em~+nex#%^% zc=9L$5oYok?c^LpX;15wv2H%t^h%z6;O|c;)6@DkBhx%<;jwOT>9~d>hv-?~J?km0 zKo$QYDknF8BB_$}5D&1u)y})aWqA~AFHxgj6mxY&`Fe$000RJqH92P=i7RBW3aGIl zdo@~*%VFPakMX4AB-{ZFy&K~+EW1H;2PCU%Iiwu8{`R_7*}r!~6mp7S00TbgXFXY8 zx4iKqDcAV!#x%g5%|a|dMbcE8PTKE_@5J^K8>HKRb8;4`lje^&!3lH5>pVmv4p)v| zJbQ;ievK*}&M9Vp z{{~lYOg8(*gJsmzs=Y?auY$abkwhZlReq~ z*ScM3RRIJXGN{tvDlHCJe8bh&%}I@$H;2fS`&BAU8sa}Bo$&1`FPgYMn0fW_d(Gm( z6>&L@=_F3he+uM3`A)`G1&r|7PR{C{Mq)5eRxC|o zAhi`pe|ExVK#&Z0Lv5H;ETikw^s__YHyM{EY{0cvy<7+Ascz$~Cnhdi%Z$tn1If+* zDbC=^gFKgI9BZ-Yh%PLDfRyZYzJ6#R;a$fVwxRXZ=T`p&C< zGQ)DVeq96RB#x=bSw>H_o4>6R~iQaD?B<3sKbOB?- z93c3tfO$5iCq=++aA>alRTE@TuaU5f^g!B|4a*a@h6Azw=%twR-S?rpZP`Juv-Op%Ec>xL>hhKioZp?!|2u5Dfmv; z-ov#-wMYq7*?G@i_@Im$q(GgdW=T*Td%qr2@n2mZ;f%eolAqlH$e9Im)!*t^Vb6|p z3RQ7VTg~U+9!1vfFti+eljDtKdywSLREEVDqaXOj)UhQn0EXATcNleT6cAgcf|fvX z*_#dDGsii9)^|Pw>&Qc7jm{2Az{$}Y!6v9@r5Ndp58>r!zzlE{TnP7)tjjlQeBlmU z%KOK>?tuae!wHP&lhuY#44gpf31Sdju9`rLfZ+ShMwR-)p&rHc@1iT}LXriJnuX-B z@*||A;~kIf+1yFkQDc5fO{1WE_YjzimzJGc&zxR=2V0jp%vIrnQju6Sr~?s-vtd}N z;A;7Gy9f_%A{W!^XE?*70DHd6s3BU0Fkf~${e6Y4aaB9R6^94Y5mss;@KJt-u^m-MwU%+>5B_FbCMswNO>rX$k!7Lk1Oa#ts&5Qo&N3FX9=&=V zD$?TWkiq~y8K2^INS*dlt%u-q^>p64Trxm^$jFz4Ie1u?Ri@i6k%uElv>CJP-X~m; zk_hW8Ue8P2w_Cp)RprhIwpdb2`fb+z#<{5^4%0jGw}>5QNU`4No4w`;DzL}5kkb0h zjr}w40LywMCNF1Sfh`u~V&i1si$Z>)G?w7ej^JbKXhP2S*fb`#$F{Kb#Up$&4i%4o zxK++C|6y~_3@VJu@XKa5#2@y(i8Ok%coixA&XAZfM|>!lfqs#1JU3ny6aT`SH5vR> zJg65@z3LDA;OR!ud$->>9Y&&|t|D+c5KHFbq&F=yQ<^~V&hug{9-gT#c_{I1-!4Zb`Q$AS5g-P$5|oRUjH4jM~L zd!N!LJ9)>4MLe+1x*w>af@!kfZn*oCWPrGgI&-WbJgF6@^+P zhmq3TKX$F>Mz?JN2n5e}k?lguz`pZ`c$(Xt99_^*X_E{@IWFtK@2a-tNq8%N)fnqX z(R=Z5%{x`xI2=z3dc&AM58Li652#?4!*xc2&GFOIXr*ui(wv{YgJh0+5i}MR;0+n( z*}tZ#aDtlq=7ZvB3%A2|cAU+0x{lW`DI`22CpPTcG$k(CZ9t74YYVe_VJb91BAR$d z8GN5?6v3k_Lf|vRprHtJepw%XlvMoMrFh+fkb3eoKQzU=nAWm=2IJ6=2Vx>+Lw;;$ zCYnG$Mj*1jWOLs`vu3-=R`*b?X>j%1-xGHX-VZI zf99FKM)3gj;yI|JQ2!Qlj@lGAi?}uVD0liuwlta82 zE$N}Ir+A}Q*tYhZ_^%~*Em-OQPI3I}D>u|D7y2YH7hTgP&vz=?$TLTKD^V?ky`}RAD;HgGhIHYYI!uX_a8Dp`OiYMqd@;xR z?<|jgj|NOFvNU!=1@vn+*i&CjwI{w4V*h{03I6Rm4(-;FC!JW0$`lQ)^y@#8Akw-P zVvLzFIaYPbodKqQc}hAH)~Z2sH~z7Uarw6DJ@feN|NoQ(US~LYzR||()EqZj(6gkQ zi2YQ0=A)i;W$h(=k@vZw^U2Ju{_XvmxO3OJB?(2G?O{Wd{mkS_$GnICXG`op$wTiN zn_7KQmml_d_o9n2+?L$eu`>NDnT0EMYK%$2WnCZ@H@6pm>5bVK>qY!}4`&daUU@F& z3yt*T?8|84GQJ5F@gxUd0@^zb2B~OcM~}%p8BVnPq8A2Y@V(z&tZJ7k$Fxcw^qXdSekT2uC&vQ}9(@z_X9>c&@SIxH-S z!yS@BynkVT3{xGVlC@Ix$|kjSo z5n8CNN?kdWx3ldSH*`24##_y#rBCaM~^5Rm4ejZGhWC z-I64K=bhr(XR`{k$P>+*sSRhx$pK30bxHj7Y%}`M2Rq-(oJYbca_gSTzxwl0iLBNN!*mr zKps*lB_5*)C@{Fk;N`Zl0Doh*U(LwR zMQVRM&0eV2j5zO*cT^VMVgNMLVL5%qYep*hQvyvsY8?C$b^Zhhr;eDI9H3pfa?>1t zYTTUHpE5cZihXF|!tZ;y5c$60w})Q%VNG6njvnx0v->3jKRsgRIqp0t%|`n5o65Xy zptFv|e(MIGyows1LQ4nV3<)(>Z8GhRG$MO$YHW(^pf2ku5|flZjkyn`#b7#LTjve( zxq8N^y1f|a-0u1IVB;oQ?2umV`9Sk<~p zPH=;mYU#E=%MdN@#l9;%b`j%Y8C>Izi__*%mdAZAM^2Vx52|bDw}z0KJ;mf*teaJQ zd*Dl66%ZqF)&2f)^g{h*kF?sZ(9N#}VtDZ31{lZ-%`3GnIe<*9*Kf~8{WD{KViM?Q zf>iOU9p3wEfLYuYaCCAH^P)+!(I(D@DihmAuF$_PoS2drwxAWF_6l6bzd6m0EZ-^& zj=sQYY+&vebQb=_G8LerW>H05Qf+V5BoB}o%bViGiw4#`Z@Oqz=}YZ zq>)ucxcoGfNXm;XyYFi0tT|=!M8RHn!Nmsh~_GsRthv$U7SP^*IAU8y~xHfsC{U6BbFviDJ zeeu%(b(21*BV1-)sGC@*Hg-G|k<1VO>&3+*@wI(CWG@Q4xU4mb2XXMmF!@cn?-Vm= zzw0;=h{6m8BKTn&YHyc+wRf|OWg-afVeUh7_)Ll1rjzj7RliYHED-)8VPhd^d_SH= z#P><&@h4yI7s4YzDMd2iRdn2e3bKM*s%gx<44| z1WcQn)PW`v*INDr3}+Vq-p(U__Vdm~{_5DNF#_$uR-N48UR>@pBBGYMvppt{{tEex zlAE!!)7hZ5$ZxfOO1W}<_nWhbtnf6J1_36agJ0m(imxwg)13}riA!BE2U(v56Z;F6 zF-VDzYqsoJx=MJHB^drtul?ZC^nz=L@8RF?5yyCcavk?t3N?g^b_%tjQB_p~ zTKY(d!3)mUG9`FPV(u2zP0=5(Mi8ePGm(Z-KhA#@Ddy^TlUCCe?}h*E5lSLbf?M`D zP{$bLvfgI7v(7fj?+p_?APz9mjk6FhgRH@hGB+HT8-Qtp@htrE+G@N*e&eP&x;87$ zXuFKEqbB@+r?sjtR7{h;?t^TWt-1Hc58E7+jGGj~|G@E4#AVMHDvS*Ya{nf=X{x?3 z{PCXhK!2<5V%39UX#@jk7_Q34|66fYjYbx^nW!MpDc!z`%&Uo#dAhH|9e{Hbx+ENb z>f5CxKs#Z{$p5N8p){d9Gl7*bE$+x~7B4`Jz*S;Cy#olmqGA7IFWBf=k8Qpq zuk)WTL`S%u>_S1~%zno^#)}XvtcSSO%Q!FD)O6d&wgKAG;g`Hb-n8T^28guKa; zd=spTkz67=loaP(S$R>rJS$EjLuwXf#@aR(UU;?NT z2t6?6cP{71==3-#ZZ?b=Cq9%gTxUu{J{$UMk}Y?=(<<$5b3XN%3P2Nvu=K{VxW?Ll za4ejxBY_$77EZAg`X<$R(%g^c1w&xbw5EYHUQY?EL*Z1hpHCG~0u7TC3j{)0z?~wL zdouA-0Q#}w;`1wwOxm*Uvr4ove9wsPa7gr16n0|K4;LY&nlA7rkIr zVDHU25wBu#*yR>W>=VkBjWh5aY^ybOcZ`$SC|jzY%!+)m%G91Cu7dTz;9cv`8b~nu z-X5VVBi0M3;Iyz3tHH+zkIB|4gT;*Sw7qX@J-r#|K8yO-wT!Ia;=kL7;!+x6*7w8B oFvICuc;9Mu1Oyef2VlECK$~r3VRRAz3I`i5vHt(?s4_H@wE-f3X`Ac1H(dIr zKUW0;0pLxXbxog zqr;^;%1Zqutt|^K?5^0D%@R#|E$x+U>Cl-<_G8n*43P4JfqwO4nWB4r%S!R`$Q>zRYOAMsa76yEGiYag38Sr_`z-M-!d#rcU^rv_oA8@VoB zUUod;nhNJ@?+fQ&A>l*52ig{0n z7Ot?KgprfjnSzkNw+b+yE|#gtN)Y=G34K45n>S9KG+L1ApacQR(`ma;>{`B;pbdG( zXm%5n^&bT~xS~^{B#&Nmw_3PkxO6c^WV!pIxtZL8?{Udrv=Mr%4BzR8T4y>}+pg6e zX|3$nNSpXpjfoI{!@JKER@+tGMPnW1qx?UQ8-N28Ce)N=FvWt_5Mr@LVL+2pD?Updsw9+GP#7IpCI%7}>nH`H{-i5_I!BRU<0KvC>E z#t1w4UKE%}RfmKS^kD$)wpojB6ugTR03<~O_N+UHrr0HaM>6J0)FX8w!*l}hqf!`G zo|7+siqQH{$X);N%F>zTcB%Wx9GdQ_t!*P0o`MmW_%E< z+tq=(j@1jBd4n!jc=QxOE zbuXD2e0}oe+0B`{FR!TvVRtEu0bQ&p;I5LR7Mxjd@v{rU^&YrRtwQVw?x_!{bt4A^~gv+30nJ(Z*^KMfij!#!T1xHwMPnJ%9 z+=khJ>ob;R{5sN0Qo0}ca?c9H)tX6wZ z!*u(mAq4`e_m<5)2Uq7hlDG?D#}Ro7Ly-cUiJ0+NMb8-9B$QEtKuCZ(9c2`QL!N#nRIe)?NEFy8HZE^NksY-X&bq6#hQK_iVD zddt)q`~j`Mt`TF~Qr`%H>@S>#PnCjaNJQZ7g@q`x0(6|hs|b*k|83UORNqDyai{<(Tq>MX#ZSG%1ke+D%2Fu|rslj9)lr?hkLesZ z3<{Y(lvo3)`OtNnTUuNr7=)>q`0T_m1gsOs#8!4{cjYtc442(;jJ`q9&aYtDKfN!h z7)Iki|3NVR9eEwDg!Q%Qi4cf?dFrV8I4|#;#GhU$N!+40jnD7uUm{7XEkY2ENnvRP zfIpMRRlL}Rvf)B}=9d8gCIVTr(c)U7z&PEb#=)tQ@^}(Y=1b&)9fC#?UBqcqE%Z}> z2gp$VX!;D9ENFTkN5$d1O_4&N8{+{5|8hrc%qm+l9 zDT@!YiXE3pxaA~ZS>UCAu zX-THQEQi`uChIlDFD~o)l=!(5`}V_B4?xJvdye6vT#bO=%?kef;%sCAJRIxh@beoL z6}j0%+*FUr+hHbzC}*P`?t`PtK{+PN2PW8E!peAa3x7WN}FqTyr z`6f$(xJ{kC$+Z<`jqG)bZ|74d?JgGXcf-T&a~&an%I6J1v_jc?Ye@#-w5ae}s|-EL zd^o0|5BLY<7|j2F|NQW?K;Sg`tBgqQ_SgJp&|I;;QTBh2ah%4014jdRzM17};qQOZ z#>9$nw-|oWv0cv7N0GDaZnKKq1~i5|N26xYPVIgEcq4#Pps?*x@9C0(Jxe-9pH7LN zyqi-+X}jRl-sH%s^(@jHUqMrbhsBhXpS<7~3p{R<@_d|sN9}S5zH<|rM1nO8m)BXx z%~92vwOm_*W{7As?Gf89+h^6zgu}PV3*+Vuus%dn!TK*J6sQw%l9{a|smgq+uT_JG z8(nIvBSlRryiq4VnP_^ok@kCl?{4H?1Aj69B|O{iZ*2BMCi@xv`Kh8O|3qKpbR18R zj7lyb-RbUsCTr5q>xUEBp^tQ2E<@!z2{nXvo^uYC9PX7NOY)L9ZX_t%e7&p2V|85K z=iG4x9wS8Dgz!lVleEOf!J4t&f5HzjpA9lMF{4^#XFzHk!e3Z!11q#j0uCRJDczBY zq+{Xly&X5(=Mgeuv^geNZ(5Oq?yuSEb7dWPpCE>R8_$8p{5lwf`hGfsLC6xh_DSwJ zGCvIDx1UN$B-APyPE4~$yO0Rmjym_?uq_THFahv#O_``9WUL+3S+*9O-)Mr_mrzjK z-TIuFgysY*?($j{La7^ka{^I08HV($Ur zo62>6m1cD8??~pJgCucGLADCFLm2X9CHP5SLnWtP$kekJYwZfJ-l!;6VSby3w9?}x z@RGt$vnf=rjI0jzqM1Ga0+fh2t2`6F{al;s#?c^Vv7A+rKrHK;Ei?m3R~2hIe5kdR z`&`5p_wKEmAOcG!9^R&b>|4v1V4f(&lUT}szclApq39}*h@leh=`PA+&tY$maH&U) zMsZQ*tiERG_2}Fz59n#D$pV)j%GiqUt$dRswQ6^Qpc5^qY+q?x5;yx>$wRGbG!3it*4VcXA1>w9|5EJdUJmk-&bN3_F(+uphqN z>>}8#LiyYC?uCPLoU02;pe&UA*4vXzqx!F4@mD0DnYLnNz(Ge^=@9|9lXn_>+IOmL zB|(A7KrMI2r0(@xGW0M&iLK-bF8bnsb2ot1fS<7tqlUEz9GUAU!aWu^qWhSZ$MLb< z$jJ0=qW;V~su%-Qa_u0H>{&CGmrfZCWi*i5nI1c`iZrT+g77=%!D=-dh=bO_OJYBj zbJh%1{2{Q%Cz9J!r_T#!2k1JJG5IC`tgc~-m(I?doaW>WXIEk>vyIm2Z>idUn>aZq z(m*E$+%^=3DoHC{KPe&m-&1lNI5!M?!FD}36bsI?`AKfk;%<%HzT0ATXhS2A61`1S zuVF~Q2-Z^^RQo>roe1dz!Gwe#1J^w{ha`1xh#aQfkAK2eDvw(YT|sd3L84Lp?xbB! ze3oSn7-Hu7M}5VcCrdnx%VvdtJX9eZnSj342?CgJN$IGsgswdK_OHe~i(f>~amd`P zStguH#&PknqF)7e>ua^M#vjZ;L_%f2SI+RQ!I!6N{ne(D*nzJv|CV6aZk4DE5A)IL zyateNe5nAhB8ahzZJ#72&N6yKX3|C(32#Rbpuof2%QqZ3Q6+TY=uO;z=i>)-%}!Ok zkS)l!X_#RGOpob%bsmCbH*k#)tK3S7lx>&m02k%@pKos8^Zf+Z$&5E3Je_zipGsBU zQRbFnt!!j=(?G4~8l=jht|Sbxg3os44)9nxyBFSD>G>hkQ7&+QRs^ZhN~% zs9n@SjmMvUwNN0m9%UdLI-%+3A0zC{5niQjp6Y{luLW>_TNAH!J|v{&eqn<9=(O4c z{W%IWja>zPO$9pYOn)3&w1bxGtr4>%jY$Zd-X8gdQf-L2xwSLq{QSmD-|DB52pAj=wFn}=rjxENkZI%u zaq7xEd&P?_ZaYPPTmX9^_WfB1PK zvbNfJf1iM1kKJpx52M8i^(2gQj&EQm?05GmLx%sxx=vnN**ume*iy3s_SZ@Wudc@F zCcx^4@sA5Lj_3+ZV_=h&*Tnvlt(b_3KD5KaJ%pwYV96$RCA)mfAN!KR3-O(tQDiAp z4pyuaMu4vPt!-Jl+9~14bK49UISI2U2+4n_vS`L_a0x6W1L3WaWvh36<@`~P zrnf>QTbx5leY+}3jc^Oicvr(Nmg`f(@|P)SgDCoc&L4FVqU$+_ndw0W6~e4d7Hx0L zpic8f3EUdp#d^EzObBha!F3Z6-51VCiw&F`)&Sq|qS^y)Mk2#nJ<)yBFX_6Pqqq)r z`D`o`0e|%3`Li4}o(aR*h;Z3(wUU!OqBxC3Dv8U+>DYirE%hMByp)u-un83C-;8p; ziUs(8&rn*c%3K5|e>0lGIg?c6U6MztwG)zki|0f>)kM}b@6O?egSXGbyD9QmbT0$0 zfkj{dt``mzD^KviFcF8M1Bnrc!?QD*lmvwGSi5RuuF(YQk#iJAw+PEpaRLoY<@Gjh zZ@~1%VhLO!K$)*ZB`~_DYpSbi z0~?QJCN8M$LNStXo>rzczRrwL5tL1q_KG9q+3LQuf zgmW^grnx+g%ECtI(l^{+3Q}VoCa{WYq|+|#F<(^MQvt#0WOajq#R$3m3j{kqC$r0SJMh<8P#~><$vaasJKXpHJ~)!X&>MF1Y=KGw4UGS zkEZOd_@Kb>ke=}iX{sFlMQ+xTvrG_@MRP<3V%>LGwya=SOgT0fRNI6-*tFb#D28WD z3aN9x1b{Ds0`vP;LH zvTT+vfvfopxkJpGRY>j@9QRDUU+1_%1=Muk08gxl#g7oy_|`==^-(CQ`a(zx?f|xP z>zE`bPFbdDi#aasZPO7u=RK8wX7q${;-cZ|s18gMrSo21k1x_gTewEJ&SM_snc%OM zm!7XiD z7;et|=pNDWSWhtz{pM+D4ggS7(==4W^GsuV&B0|V$RLB$3!9=cuA_pgGgQ~&ow4iH zBo*(oU$l5vU{&z3aqU%q>x>|>%QhyQbvduf1pr?tG-i)EeVh!AZgE8mjQfF{6U;$Q zd1M5c7w)AP;tEzNJum5>j?8T!m;`o5K${>@MQZN!r8}TD8^m?)W&%5g=t7ZMvi-g; z={-L)_d`kGTwJ}ub?KZLyDC+(zkFh3(}k5wYM>X%Lym*d5rN!))Lpu!^Q2==Hw?s3 z(-dt1<6J2(D00~SlkFa4;9Uj@sUl7Le9*XzYDyh;PO{%6u@*=DAr+G%S00}{Rou3))pX#<$Ya)vAEi@ zD)@}LvZng;U)q{~SCXsRO9~C>VG<69zxXvHay8W2cnoD^)q_pWed_EPjm@nsk`y`N zw$9?ou`0eMb~Is!A%xx&91yDCx_8%L(}3F!ZLe*rEGm$#2}bK0NF1CHB1u;u=UDeg z9UCrR1DcMZLs3QV^5CX(pUR9XDCqgCP6g&1GrSw19F;PE1A~bvjjCzLd%xX%^r52gvk?7O{f6BR-}iXH z%FWr4IE(z=>GVYD_!Oe86$Wp@A(=~pp69J` zV~6;i4Nw)*ip|;UWcx{Uo9O*t5R_F(2^D z>3ZjLn$^RYCrf1q!mbt?U|VcYyPM2fGM|&FoT2vLp7%qfVB?|33=^jy;(>@61@=eJ zwz>Mztx61lkECKkPEDcJeV{Tb@^J^KUMti+P|r);+1T8=a`IPtW|Im;h_Wf^%x8)`yW7!O*}IYVM&gEWl%L0x+0G= z-Ec{Af@-b{e-x*-+tr{o#rOl7$&s;-xN6g;M5EP^Ufu?E1yEUpa6ba5CrKt$JOW*2 z#khNaBwA(2cQ1jxCdro!*=CVa#+3okaczrg=N1aIeM#bVL%;awJ+(ULH@+ma1xCu0 zsH+-R5Y9$ji)0@Q!qsP|o@Z*A3a?$kzE;zMF*jvM@|0{w*b|1A;ZNR3_g%Ln_U6om zR4H~V@HEfHUzKYk6XFLRQfD`7Zo}OMwgq8--iA%#&6AKNqrwD8on*?QG*U(6&nup+ z`O;xjX%_KV8YP@ONC)4n()o33t$WwvC3?}{PWw8Yxvx4kI@+B_b$KOY&M1HQsooO` zm%3muPai?@+XtW8)8G_f5$J194Aa$rAoFyA(XBco&x<7umPg!0i)9<_0`hLY z%-|iySCYbdHW^0ncTs#-^cZfn#67Uz1E!C{;{VuIgD-{7MR8x~eB;V&@cwhSiAchM zi*jZZ0_}Q)g`rKx%+O!}+1#P)y$L8kLZI>Ui+&C5x7VKRa^0Yd+=xe;w)`O7j!Lz< zSgYrP1#hI)*tqV9#Rka@=Yog6!G7X@EomuG%YO}R&uc9i1Y-&lVjcx;6cN~Ll>sQ$ zK;i~eEE`TjWms+2AZg+B{33QwKTvU1(_TPjVVliSXZ&s_IClTt&WV-fY3I{6(GkLH z7j*A?hQK3ejW1^2DMj9llzhJpozls-%8;Sb>sYRW;=fow_|ZhTZ=)P0w6HjT&6^IY z!Yr;$YmMLT%lKQwv8(E)m;Q=-$A^oBI+>W9FmUgWEJlH=57ACH#sjRqW^kN-RfOyr zc<*-`Hp)5FJa(92yfN~YdEb~i>M@KA>DQl?gIi4wb1l@YyHk!2Eq0o&IDYZTR zphC%ow`HnCOBgaX2phD8V>kfd)A6E+?dU*&jZt z1jFs|5tSr=ho>f=SjvK*maZM?Q?6xc0}`6?wk-T&{MSqD3!1QxpfxqiImgSH$kFK3 zfg!LD(e-WldJEfFJ~3}wTOfouOXIr;-N*Wsm{Wn)F?!L*SOIr`N&#!$@{Fl|bc^HO#I2DwWWwzpT1$ZMGR z{v^Tvbm({fQe(S5r+o^zLW~k-qp7xxmTv=ydSDDNW#J!a}`Ih~-a0Y4U zY@uYySYM8R9XQP^3(g`r``SilgY9xBILef%oCG)jj9(o>&BM^Qt^I1Y_Dp^YS_wNO zq}Q6rZvW8>hT^|6gTraEcrL^)kF@uO!E9AV9gr^qZXOLTg0dxNg`omgszda-EJMNF zwf(0It|Yh)-pIdQEtVI=cZdu0`z%SvY0W_%^Lz?_N@Pz`F9@lPN=&j^(gq=UzYQHN z*tIzduqb^dj`$}q+h~^HH4yzWGHWLGQW`A?p1Uicw>BmzF2w`{4bTA_6yVJa^fqzC zqzPYU^2=(`&jVriigl_DOYZwr3*tjr!3{Cb;(XmSthmCqtas!96ix1sc@pvO1~Yb zsxU0Vrq{0MDuP?NTLg{LG)C^)RWVL~?Umr4)tq)1|6F}&e;ikU)jhAArb|!SsuA9fk zKZ-rK4(CTg?9>t>wPTbU^zZqH=HZ9?boDVeR!HNQ{Vs648n@5Ckawk3YEN8$x$ODR zgT#>Y^_T@n?q0Dv`QSRygPhTZtI>bE#)T zyTh04ge2Klv^ah^Z>YIHZv*&BRIO;@5B+paZq3(QVHyvXIw6Yf3eKXpG<@{9F+Z9n za>hC9IopuAXFE}IZGo@+$dxsJX!Ue&vmUSik)MA{5T!1qibD<$$d2r8U8pEP%Hu0W z{wi0BOy(~jDAmd%b-NPGx?%|VH=j;c%KQQMUS&5R!bJ5x4v0RhDTOY-suX^LoIDDrpz|No}`@4iNhxoZFa z|7IJ_(AdOZdFhv_jHqpYK^=!AbzRV?S1w4hubyp)Ij9r0G&pUdXAUN*c_fK~3agcG zHF~U5bI8H-3r|(qcS)KxHE9pk0Y%{yPzT%_75T+dojpa~B7`&iU?$x7^Q|xEPpgn} zqo;&5El){9{g}zgK>j}OBd`*KUxm_tg)Y!zJKkQ!=mpm;_wRRqrMo_^OdP%AB=-dJ z(|wSj@1AMGXi-7%0!;F`q4P28i60@OgabEOkAICH7Pu)PDTUZ*?cBlBvPeo&76-7C z9$O0gYrf!Fzs9J$%<5-my)_;;Jy7VLKD7VYT<-`i%h0kbpxItqBcLqwJb2LuWTLTko?xj-TC(rDB{C8y$C5y1$

n|p|Bs?ndg&07-nWm9xpf4L({8v?pE4Ss%4R5kG$}A-ejrR}^q9Zz`@7h~ z)6;T^&6NtK|C{!d5$@d zT2g;(ZM)0P&6-RM`dgDUUhh#n<0s}+X|5xA4=UroCx!K01Oqo)gS}Cbv1}kx>*S++ zV2>3cDB47}LHWI|^f*N0SlKKXA+n&F`s^<$1a*+oaP? zgX3@I66gU4+Jp@y;k-497R;EVrYsPvgR^@b6Dx4Xzg?9a6|DGFH3D_g|wMh8u* zkrVnH;(^x`m`ZMkFE;Z* z^PVZVpn=qv?;G!!`Unp;tjYoGRVKMYFLiVKEdD@d)k`h$G9O6y@aNH{5k{L3Z9~Tw zA&^#oOJ}R4kHoLR28pzkJC6Leuj(IaUqB>@F-p>KPhI7WZbk^H)6e(}D<%gQK{vfN zuwI6Yb8l{|uHZtA-f@Y)Ltau|F|`+oPoTgypK||$q$9WGe;tTVnuJiCqXnRBwn_vL z)(WTVHhLjl$|08kbXC}R_6qSzZQ^d2gFcCW#5C<(BgOarq5uN6e^Z7_+u1ipvik5r z`cuo60oXCt3LAJ*u6WX4^kE6a{=5D${D){5oKHGo&@r=MEfE+`j(l&5&|aS%S00hc z&A=E)PG%ePcDn=asiSl+c7JrJu^6<$liZb#EvmkjfJYvXK20wHtwr;41w!5*&7~55 zsc<16u!qt~`4>#TPa2lK5frr8+VvxP|VYkRyVB;$ZW9^p5&eX`EMXdojer8l5Qv%?vKuwH&Gyg0NqIP6`i; zq@0-Q=chVHu`6#VsB)XkBfAilmys>dOoMJ*4;TW$EOU%Q3Q3*uJeT%klRY*cv_hEU zH--4rpsF)b240JiitG`$(#+Ytw^ z&Xv2rbK6_y;8~~#yj)iFh|N~CLEG(dBu%EJhel<;tdb!!+NygidZ9LBtW)(a=7^-n zIviQ;rRsdMVy8FQ3!9`MJ{BohAiOlTJ*kZgCS zyFGh+`#zNPd4?juD+(B+k~!EM)!B^LorklUGLNIhi`l!BcSq^8p>66!vff0|BgH%U zM)o3Qk9d1xY;9BwxqT0R(nrz9s2CNFHQ|X@G}wCRUg)|6a=Bfm$As3w98A0HMC%^Jtd80_$la(Q zpfAru3g0%@oNKSqv`4~K)ZV}jo5O8o-rsX*k=I%|1qge2RPNY+MAzRu5xpkVn3pcH z_Ss^2W*mY*u_z5miSqD`OXF}7JZ{d0w`_Q{N5m|G_jIhgbxRq*k?<{?JheZ}iU51S z3fe5!`Obd*9EsYdjixO4)tVvE`d1x+sIkxdB>#$CAC%#1&D;9$?Z0$4 zy}cFwdb}uqqXnzi6=V`8K2cekH{!M;2b!^y`R+gdC`}jkD4zVtz#N^|EANV|gwrLj zZ2@8z6)Z#QGD%7IP)gw@NW zF=$dD=xB|LG)*+^kUG-0T+~`^ZkcJgp3kep&*6)j+)2BtFB_cN0>0(%@UxGBEwPO! za7ipJ9%E)>6LPHBKLp(rf2<03ib<~WV9#yJ2m8j7zpYcFQ0^Ba8qk)&3mPK7 z_u0g7d_JD^0BX4IS~wp+E6}HGZ?UGVbi*`%!y`u{GX4I@L(lN_K?weMw9M0~g9<-7 zqW@*ueFTTbhl2mi=s~{S&eN}wWo!BJ2!D^yMGW$0Nhs5u2^1z`iAWD0#G<&i;ArWV zk&>kDNp5R*TaL^`Y1|WCv)kvg&-V^K2wJ4GtyXDnJ$!-5AjuPid7`5b%_D3s3YSlR zn1IIlf(xrfw%sTv~wY(A9y4#`*AU=mEfEE7OJvUZbrS- zqyQl(pVRj8Y6jFGWoOQ7D~HnS5o^=Hx0qYB2qFVwA$a!lYbh!@@nk|Iye1}pL)3+L z>o+x|FjTgUQXLQ#q82CGOW!5I0Z;B%;g|zNn$BBlwvFj2oAz_e{j|rm(zjG7pv4b@ zj@3Ru_5S0FN3zkJ)~6oSORMov_XL?wA#||Kkbq-p!IUu}O5__B2*qd&E0N;}UM|PzrWFu+yZnNA7P~I z5I)@`bj9~U<_0`@mv|>)>aB+$)dl{=l#Mf>r5+QMYmrSfn6(&So{y8R}n(Y2OG?SL4m9%=cT9d6r# z9xE|zX@jsuh_vxc5=*lRDpMj~C(l;4p-hu-1W{J3aitj$e(R!Zym9toTV^G<-6I8*yc@mD1M=|3^m*R>j%__dUMy{ zPhp;AqEBgi)WTl58n-?p)n8m`b1~WegT{Abl$z3etN@fsA1PXnGSw|V4?R-3B zD79Ol1!nP~Cw_>3a^E0!0^Ya}2)*9T{;CDdg+#k5>Ao3<3^ZqxeNieD&SL7?Zly|X zcpfMswOhVc|9#;wHFyV>uWfe5`|zV!T)+@b)fxV@dyXSP+FoAyw!f>`qUH zlp5B*kE!okMF$EPcvqmb2M)O^Lk>OPx+CaLuD`F=i}#9uh#}4bor`mP*0^|8eVN8eF0nL3tcGN0!|FjZnn+efzExdT6 zG2+KHPO!lK?eiUVwVCX=s)Er7l|odCUmxlg3tSOq9X5`UVsCVo#py1=D|b-Fu+4CA z3v!;$^t7R#Kcf0)nG%JsVT0s2X(2V57wflvG4@V>FQ0Ab5+}tAZU}TNs^|S|7@ZF7 z)b*a=IB!<52THb?%@fL|wA;D4M(M|b+c!h&9vG6-)*1QRMai2MUuUssDoKn)#59&e z*>{SWbx%QcZYt++@82M-_*Jaek5k;!6^FjqHQAq1XM3xY`f7P7vR8M=T&VzgRV>8>sgpeoZKO z8HxKaQ4j2ba93tV#d^{jMgkgMBEzts!)}-Mrv4~U1^**^`H@o}6zi4d_peA@z!`wC zUn&U|Ik@YWc_yk&^f>9rMD-FyKrJBzCptub3?b9N8;8mNkcP%^dy|INvNbc^Sc(W5Yt$y;zAFD~Pj0{8*5BB8aSF~Ibi zr8CL|eI4A*-482ViTm(i#2ZAT?gOft{Wye0>HoxmBDftAll3+FXk#{&P)%v^!%y34 zY^_1HCp?s_AUNiWECnt`Gku<1n$aFlG>VKpFL82|jWgxnK80X@ngYZHdBna%c zuR&_p?w87Y|DPMVyHrVy*b?(=&2#;jBX56(X{gZ2%M8zWb!=F_=@TeSTyHChQVrmZ zTl)H)k_UyPH8p|fI${joSr{86M6x~*?o9pD5!i{w=6s8PthNOVW_Xx?tUf4~=iy>k zoI2!jPaB4*gc>n)x=4zb}`=wgE%y8r+G|E{)w0z(VzQ^5<-rUKLYGBt||VwQ2H9-~iwSlir!;mK=3^Y27n zNxEOs49ICGhLOEfkXiJ_%a#R!x3rO;kxo8wGnHm|%w85glP^Mrj|AkUPB!I?%o6)3 zLc=|0m3UZr3RD`Wg-zmP^XAjt^{I(K1tQ6A^DWDbrX=U|xFg7aiH|VH2nQ{e^Sui0 zth*e|XZ&Oa+^oZ8$M)aV`TA%BO?j-p?P)%?Ebw5|CylYxq9I3-CSaw(;C^H;=n?9v z%m}V%%PVYj@rCFKn6MQIzgUiN($y33uW%gsGJBQTa<;*Z0Mea79oZ%l0#!ZZC0q|4 z>4p=}f7wMYjdApN7IdguSiJsWI$Ceem&PTT_y46o5 zF8Khy|+M|_>3V@31?bIPHSa8fMI z;Fsg>)1`D3_K?4{f=GGocDMCs8%U)m@eI}~E7`2wDY?GyZ%J_+!5CXAJnxSf=xB#y zXQn`3$<}LKr2s+!SkV+0b~b5-IFt&C&bW6Gdk?7tPIb#*SE-*gsr1Vk*tMtuf=Q^i zL?OAihcC;2OL9VsM*Y=bcAh`VQV*_U7qA!Ho3H;UG3RJ==llCxw+Ki}m|_ zy;(x1((*4;wOD6(BWr;jc*#r8na$=cb9QNm%jzGZx^FQ%1f6|4d16$}=rf#x1-!E~ zaX6fRv+JtR67nA~p>tFj^;AkUm#B)vJUdt%vUy(=9Ya#o5T@zJLiATgFP8=a*mxGd zU^F@a1OBHbni6Vix)svi51Mw74Fh5;vIM8_&G#R|p@m^QD!T9IYbCiCs8~~Pp83ZG zjWysC{s_N#mTZH>J|p~aVB23)jxmO4Gss|nNYFN94I0(;3*4l_>?XdywZLUt(C1;r zcDMJUM3=d(C70mf2vwW@Tk~{_A0m zCx%bf>tMOmFD2_J^P;;x+Y?^pEF^DglsU2~1x6LLgoa>SNsak>52-7fJg6(af}r+) zpm`~AbxorsmCjZqjz+shw1bHLC{<=OA3ajww=o{Y#)-tuU4^`RfEaO^P)6i~%C?OfsO)+!S-=CU2lup@gSbjh|I43NMmFz?CsKaOXQkb-L@|6E%LNds z_Ngw*VNN~{3XFT;=XVAd{d#2*{0Dr0v=mG2D8KOQ4(5Tt6EaJ=;5`A%$nKEU{STju z4uMXEDFuYve?@o@2Onv7gN@jt-}ow#N1bZc=u_K&nLk4+MENR9FUtb4|I`pxZ!UlK z39cr~d06Yi2%F7Su~(TZRGt&!r`sUJBdr%4i?ucnp_8KUAl|)PGODdFJQ1gVu5xAc z_=aFqm!aW22kmb5Q(q;LkP6W@`Iozv`undZsFjBl@lcK=Nx(!y^271z8j`kPm z)ms^xhkwpk7ikS!^Bew<{0%R)&&YhQ_F6RY(_6anV`8farCg(M-}{n$fsmsA{NIoCaz7>VhEjfMWU&6s z#yNl=dFk7GuTGZeXf$P-(6b(41%Cn{hL%i`* z=dDHr4G%P#dzNB2yA3X908BPsbuln|>kC3v#_$Lvczzsn>(*r0>BYV1?49Zi;3!`n z+=ERAe3zjc`oNEqXbS+fzbbXepI&Rmx-ym%)W5)ZRXUjXBIXb9+_k;g^EpZPMin%(S zb<;CA3PC-_KB#ka1N;m*ffMTYBolbe5rf+;?Btr%K0}Ix-qbNK`bXpWuGGr!vPX@| z63z7ScZnTAAk!(Dp=om|* z|A+ExKn)M$r|;K)1GLUa>Jmo$sq`J)Ko`RbzbNt~uc+bhSwuEC^D_BsxP|2 z`pPr*<=>8Ij0Y^G@xbI-+7)lgU+^!&;Y95C6)K7sfJY339$8>VTd&`6t2NrJ)4bQ?y6pk3qnkco=(bURfWccJ|49vA{`N!Qk{ zIfA?NfI<0xOJcahj&FGJD^HM-xQkY_+X)b6cbv!{#z-)Jb(sPB?0L{ z8(d1tVWojXu0LO8J%x#-c?WPSo5suN%zJbAzQhJR5|gG^~biNF1;3_~fB zY*Jd_^~WNk?usRAr7>Z)IP`DR;S%T6IwBHwF~Kx{0D3cC~6VhG4`ip|SzSEe}=_4tWDulN?!Abd5 z;?ccT+N_~`lcc`pqySDMTmL+SDN{D>aseWS-IA%q^K?Gk(TSnXBj!o8Jbtj6^r)*_ z?B*ALWQ_yB82@jeSs_pe5F8>~uHFb{rs{`k?F%&qQtia)i+!zNYK->*XXn>@mMZms`$r*<--9jj^hKg4P73aHLqE2kA8w6c z?zKLsLFK5Mi}$klemzqn9=<~w5Kw8nIh{{5y7F1nh+9`)&y4;zVZJ)7?&3_Kd%awO z$?j+O94O6n_1(lI_tDKtQe6Qf$N_GWqb6#7%y$RD(#K~no(cOWxq9mlXcuj%%9t*H zM&Bn9-h4=9P#h922unwABYK<^x~G&pt;J_D^g4743$}?DllspbU2d*ikSEZ9C>9uO zrFWdQSf?z3s7{(`3*X_kzX+sCU0j&`*!b$yler;Sq^P9#FVU8A058R5ex^ID`xAV= z1ZT?h)QaUX3XB%SH_QUVPU$Q$EZNk5AfoWSm;$o1JKyMD%XTRFU7W@43%`pLAo7hn z@pa%2APAymn(P9i)K(0TwZ{v}II~NWS{egWv^*|PIuvRQUpE|-*GZ#G=CK_C8Uf}0 ztx5omcoJNbo_$%@KqJel6v-u$!+?>_Y;tvv@F7IB?UNTc6{F&7_Ao;PvQOU+?>rL& ze^3^X_QGf4GPe0XS|g$jCX`Ufb%H!k+%@;vO#$O^RZG$V5%ek08mWq0hsu06If&18 z$hq3aU)72%mPj=CK`LBo$&l_jVwfTt@4wB947a(`Tz)bkM%I0>4Y)wrb!;ry59A{0 zWnV*OMf8?4M7K1K?#vQG5#WfRNN8$`W!F*wgzoKF1W1>GWOZo@Hxklz5ou})`(aEr ztw5r=f(6f9qG^}wG?QrRMe{X$q1iv)_mPY~jZuD%{m+NaoRf7LJ`~VhXDpx#H@8_M Z84utW+FTo#>coQ-J0RR9100G(n0RR910000D=aGwK7X%yt0000KX>)L800000 z000Mo0003}lLi4#0VI=F0Ze}mA#G$~bP@mx2N^0m{Y8a9G9?kf2p~YU1^aaiv7L-_ zhEu?V4TBhhmy#{$?<@o5;=2Tnc~bfk0165@Dm(o}gakAiKr+@FOmG6UpVBjlEWlUv zt83D$WLi6+aNK;oHyQY5GtAy=QGa9aw_ZLBh<;+v-r38E?%0kK+G2kp^-G)#!uJ5# z5n7tl{xAr>MdR|8+WOPHCJ7qGXh9#zivsn+^e|#~E98F8_hP2s9y| zGn;M$;eDGE0liZjmlJ}B2CHDl%4Lvg-&f36km;OWi`l{a`;l=Sa>xmcKZ z%j_qqYP)(KlPZf8 zLumg~@8kSquIb^&s^szGQE>D>;)A$%0rFQUxY|&eX1RYflVN%3MOqG>=)|TV`H}Q0 zIA=ktY;v(1=4%DfJQ%EFW*nR2`6c3`Jd=4Xao-fh9pMRI8g&fOg;#=r$9P`o{07 zVR=|Xv~KX-`90-)V(gOYG>j(B28?45laDxCjx8 zw9Sof2*hZ_Jf<=K%~7pGrfZ@;j0`D}#EV%aYaxGop%>ng#Oefz{Z~Lh!`>qD6Q<`? z^=2A!VdKGfPm;6(L}n+MUO%k{0px*578H*Uv;enfzeSnF58>CDkZN0==6Nz;q{!ap zGt@{~r_Kgj3}ZXi;7t^+M5*wp-K!T`B8lI|{mPlpKN7l~L)9o`xK=9#LSG7)ofSlt_3{ zM#N+7JEv{zOh{WNw*Pl? z!N>@ z0W{CTXXio)RgGu_oJY!f=x8Oh_u~&317e%u#4=;srhIbkH2)I0uJ53xYH23RGyxc( zi7`aBAxDS{D#Y)*;(^6EJ14!J%tqs54a`e}8j)E;1DR2qu=cSf%qucQ`L8lmXGboQ z=EvAPz+#MQS#A3Sb*7%37V`dy36Osg`owG3yGm-I?Y#J-l0vk~=#7IsC5_VH63{yw+9a^!yCdf2S`PnNl`RNM0ludHRon;Pp#q743 zTaUd@A{y#Yl<;RYYUnNz9G$PRx^1EM7wu5QY-4c_s2pDbMR1AB=wVRV2)0+;ai=X~xd=`8rrMDc&0J5R1eR1>HKHK@h3!rNn&K63#ThcS5cS&G_;F)8O%@ z1IiO;BDIA0+rrDBay4)nXd!>cgx(@p(FU_~WBF)JteQ4E=U2_s-EXpFV3ZdI-2+lW zQFW@<{qg2c!HN~m$RMUa`zW?(dBYtv(p)t$EUT74dwp>DD_-7@*OX{e`T$OSC%^mx zShog9i0d%^+`$3$F!3l!yYFDuGc9oDIg>-K2~YYo25Kk$OE>%j&^UjRpBn{$!zV+% zwx++*2^Z@yDaj>HqYA3(UM2Ijd%;8qIwvYa6er&QmM3e7I5P+Z_=O}wJsA|A|+Xw!si=TIQ@|nkx zceh=u%Zgemkp6<|#+XV^rtXFyJU;wtReG~ndVpZd@gJ9N8zksGHq9lQBK+VNY`|%*WOKHP5`UC04m1b4 z>$DqHD1fy8U7&#dqyLsMD(Ho51x!2*H1a<1n2f}18&t-y%{Aekna6jvuNl2wyK4sT z=qx)ja@Kzx>7S;)kG+m{sk*(5Og#TlKxxJ!%A>Jdld>h@CN zHxmEPai&%zz7MD^R$gydAq8~zbCpZ+$F_61AZr%EBmRP5ji#0yGIH?zOw4Ve_R_CH z-R9-)+otX&g?T#)Mj|N?Kd&Ki3>SIh#ewW}n+N0h2}F4Y#|RWYqsxT(A> zeoB9F_o~ix#QTxmCEI58a$)`TEtPpymkgEMv6C$vGTvWxzEYm~B_%gd*ou=*ofP%& zsh!UtME{kDy%I$*Z&9I%ufr^srA&;MoypaGaR*;-pLYp^7ntyZ1!)q%ieFUe+Wbrm#Z7ih$g$0s04Guoj@En>^>pEp*Cj*1OG;DwBU> z$6QgHJ5`k-XboShz9S#;M{3K_Vr~3xRs$Q58AF>hUv`K~8JS!Z`BkZjck~dgGlS|7 z;PcdXM1}5D3stp|q+@h}+)Op7v#FCsG~Y;rJBXOK<0m)k00pAqcsXLITq<$8co)7t z(fFC)N6Gku-|N3JIWpekTs(Eul{bHgo4Eug!6CC0CegN|)0-JF9wn#B5Hrx!+TgZ zIJc|FJ?0!tO@f!zf3OsUS5=U#+*Dp9{BI~6`o*3A1=`A-qR3Ar1htfROdJ4;NM$P^ z>a-Iv1eGShZf1nC%=GkjM&h>?IS!5IH^#!@v2?oWs8&T+bT8Oa ZF*!Yievtcdk4EtC!U>fIO|LK^mw;{O8qfd$ delta 5771 zcmV;67If*sAHgq>coR4P0RR9100H0t0RR910000L;gO4E7YG~x0000KX>)L800000 z000bt0006slLi4#0VtDJ0Ze}uA#G$~bP@mx2O2JM{xjiFGAj|l2p~Z8&gs`@Ucecc z7G^Nvn0|tN^s)K=U{Uxm}3oh)g*qF@{O?o1AG0lHvPL5di3Yf93 zfv$~GrOmb9o0gSea9RK7OkB**g1F={@6T?~eW>$?>f+#elxjHMOJCu{Bv*&G076E& zXcr9L_J_4eys~jiMdl5b7^?!yM-($c^Hq)BNF$dlEGjg?RK6AOf5I%mecyf5LuLdN z93>7uWvmh3v{$JL{t$l~_6dsG+a%Zj%58~dy*kxUmJwO30qT7|EnT}Au97>R(q`Q) zLmc+=wXlV!BU~DDNez+F zL%uN)c!0|Ww>PrnG~|(${=7W5h0ZCTy@=gz%x+d5S*``hec$0J+G8QbWE}oue=AVG z9A`8&&{{lvxGaBMoXN&|*1JHmD$)Bz`qazHJ6KfK0QeCwc%DM2i9*20$&>hR9628x zqL?pTh+7=pxkzIDNEo-&m7e2({S-c2oy!hwu+_qABE` z7G^3VQEA9%OG}jHfwbIN3toXG!qXvBaeOP&(b^1yIV~&s8V?Nj%#QA@&NR?HJbWsW!06nIe3ARQ;6|SH zK!s$H_#L6^~hjp2(_bgf2lua&lqx8jX71cohG z5)Y*F3!Z<6`*JrBY|rUoEt5v7(Y2o_2O)}}2_+;6`y>7aj11JONo#q<7*E8iB@=kz zXI=%o25v#dG7{hJS+cs`1#+)RuGJj{Nt z#>szrXu7DB>@{g^RrW8db?z5>Xu6e`Br^Ae&jSpIfE;m-XMQjLOv4Yi*t9$6BKiG>(i87H= z>`L;bA7g(^$FZ9Z+fIXxNDvKtRnl$kNHXB2Z^0ZskV*S&LG9XHrTIv5O&U`D-gL=7 zeA4mSCUl&F7-^{%TG3px^Tet5=fP)awQ~B#VXrMqQu~~(gYO+fs?$Y*;I5pXeP4gR z_aZ)nr;QHeR8d8DMS%|Q?RS{%uZQ6Z4t?&NGUhz!(~D-(aDhzTcbT?~()C}^`!be4 z%=TW{oVm*7Q2N@7k?{_&zjrLFyuP_n8K^{4f`5W~ukNs{MQZlz*jpO*&dK?FkG|vM zMp#X%E#kkSHosscLO)?JTEvhQ2pWH)@G?zxabOakJKeC=qU>^ff5vjZVOue5eO$mf zlN26Ub%d#8;U|+TAh*NmJQHkL`Y^U7HQo}-v-BLfpfSJ&9%`s{iWAbY+D_ zJ}dvt4wrVV5M}zapmYL%N&kz1R2&BT&p8>wD~vM+%xbG`pp2*~aUExe7@L38^M{iY zq~PH%*AZy)bf-<4>bgb_{CK{0)LrY}&(_rreU23bLWjBACKIpl@u@oDt1Pp|;j&N< z(wpFTZe?SY288a30amyMM&N$pL;E6J)GF|ZKk|m0S(uNTsrrUF^2Kq#U zs~#$>lgLaKlKKtg6`HUciTr=c|DeEkIKFx$lr@W_TojTL_UhZ=J8=d%hI`DX{o(nm z0b4pu@)!#Ltr%EQSr##&x>8bsBn72|m={C;>O&(mSAELb7*;R#8;wO9&na4E?7)Sj zs*`9pr-cW{h|=AMzfRr$aAYeVAcB9x(+qdn36)b5AJ1w4UIrAC8!La7#OBC5AEC1| z*(_82Pf*!-Dlp5tLsrFAN&QMKKe2;G{J7_NnMsU@XlI(ja7kI;1vnm$^Mes)|A`c$ zi9rI(aFho+|F`z)wLk%MtqwwTlVAhJb6gxz?jU`*l zzyjoFoJx^tx>qd5qV9hd#1#JnC*DPy&YsS~blX^SX#BG$&D0Jf#7soof;*dWjy(|Q zJ$Fy&Zq4C5;J)n;8Bc@wqffmO0UK||KAakjQ3;|pJ<_Bt>eiap$+hlsAc%M z|7xz$K%|;qn!;v!n?+33?{2|3uJ$nq2iRpB%3-wE5!%hIzVm-n4PAaHqB%OKS+oI8 zL)qtXlA|OJ)en?oOThZ-U*oFKgn11;+W@1^WkWZ^lPXq!=bKv%CPgxWM{Up`s3NZL zbffGi4f0N;|DE_ytATopiyn_pCV5-_O!?yyTji*GxkXi}6k=XifRrvMwK$_O4jjy= z2}u{A9jDbZj$VI0wA1q$+c~GB$GZjgumh}B!@|Qu7!nvd>)eK{r?^Sbym7eswohOp z*K{)}l*_6cc4$iDRb4&v^VV4w!CUh*S2lF=xH~2_R|gqkFIv#yCgm>O(SLfPtg~D&nPU;EB|N|8EaCs}POY zMb7~rW}6ouf-rc$B6x{mz?uT3LIK)nk|1BEX`mxiQQfNBe?#rx?q2@~z%>YibVe;K zJ<@$20IYv=593%`yR)LL0otrOQwcb(fb_h^Uk0A9)bIZjfIu=heW2};IeOZ+7KFea zNlg_ch+Jz;^y!G5s%4KP`8M%jWV-Ujq7UMZPesl_@PA$qx4Y9)#NqL2ia`4PS#L+=iT^&tlg<%w2y88oj*#XQGvCUabD#$yAb>-p!MIln+94I+b;8 z7GMVYkQ{$mgQ#yKLgVC0LWGe|b6o1Go!g1|T=HP^0M$nl|`0m-J8|ujUG4R&Ji8EUubFL97Djk8mC(H!weK0($l0fZls=7#_U^zMAf} z7d60fRc+7hw=_g)#*z7CX8gFv)#lAz2GW1o%6I&hiaDgo-LU~8X+cUBKsSUWV|CbZXO^DyKacDAhXtvXewC0De`Uq{YEJ|Z|v$B5@o$B1GpNUpdy4np| z{KQ?Qd&kdgZwk}(M6~atSg_zh%3KrVr2N33ugyYVWfE-2Z*!Tv0*fj6vD4ymDh{XU zdVw_#fFU~p*;6YLtta;m{vH78M!qNF@mum60Gc07?qmNwjM zI=>2o(-yP}o8SV#)6(kH6s^5(yS1IFEAdQl$fuib4yKK}p_Zk+AWN<%3+H>eA@F=@ zl66TTs2HYHu*D$`&;vEZ6T& z+X*ZO96J6q&@rFEIw560VH0&tt>D9&2tiY>zK(-X?;xsZ_B^6`hkWY0ZjYNve%_F8 zk*`Zg-WU0!kr=x$LsvCT6x2-GJs~Epa5z_mYQ`iU3TGm2nl;ty;nYVe0jctG_!K?S zAbWo@FY=S;Ao&tS-zV4jT$H}+lC+RiTP9vTQe29%$bJLO`6_xMrhq?mCVpt z!k75>LWLTgU6@&LhaX_jC@O8*1%=W)+zEf8mmnuonHjb~hR7iS6T=$1hZRydDBP6v zr#QDV(`M<|F)@q{L0WABY$k&deZaGO(o<|&eua0rhPGK_EL=n&5mlDRzyNtn6n&@s zX6GOaTM$rZ!;#Kfa#?PS(r?g+1UN3m2|vshaP&DW0ZfYZedZxQnf~fvBQ5K zqkcx!cw1&@Xl)%zeEQuECzeGceYG*1gi#T%ll@x&bo0m0+2}$~x+lM4*oDjGuTQjO zgg_CceFYz<>~%~JrBSK^?0;BCYrqpOU|x4Gu!qN$(1Us~oNt}uwgVB;W9$)_N~Rd$ z4VzRO5?3XePY6QhzD^Z*^tdNrkpX|+*FPTvF}QNRSSkLZp7QPglH~dBHF+3ciabQI zP<+^4Sme`F-gD#Up?kCl5(3q%po=ZY&as{}$k2l9WcqdI+c}2;OJ|wCaGY$lGyY*(j`7z$Jv@t!X5rG zHCC%Z#NlcbQC$A3jdBVq*S$unbo*N-dm4JG0a!xT@SQQPZ7RxU-tqlKF1cD-4jO`g zv&gJ6=Bo(Vl4%h=^Ypyz(XoF&zLL0mY{XTW>YxGPGTh1b&!as!h-$*$`#{XR>I@v3 zl%jp}jG_()pWy5>jD9uG;d%Zzf#U7j(bp67zmMVKln|!EFRvu}sv1%_r|q<;l^|3# z1AkWcAYlVRa`MY@r`FRjT9a|GLP4xf6byF;Hi;GyAV7C15I`Urgs}+teeatf0eK?z-;$*yMd)SA&IYP!6N%nFV&ZZbNOH;YJ2&AcQ6t z588!yB+~ANHhJ%qre%YH**5$tT{k_P(H1x-yY-M;{W-DTaY(#5tuo%vb0);-+S`FP2N-1j zTB1%C#tiMU_h=7P+e2&18q~}meGTP$r{uRN& z!&KzJAAS+Zc~l)62s4?VI99FL$xh+55K$E&zmLxP>#0kklFHSg3{!>(d^e#luJ+|% z-U{Ug#Af5f4iNYJHnr!~kEIloO-_;nG}ndeGTb?jElB JM-(lHl7NmEN>2a) diff --git a/static/img/docs/light/public-folder.avif b/static/img/docs/light/public-folder.avif index e4156adf74f7b210f830c4d5b2f41b927985d174..24f6c4b8c13ced202f017778f9f31e6ddb1aa25c 100644 GIT binary patch delta 2665 zcmV-v3YPV)L800000 z000Mo0003}lLi4#0VI=F0Ze}i7j0x=bP@mx2N^0m{Y8a9G9?kf2p~YU1^aaiv7L-_ zhEu?V4TBhhmy#{$?<@o5;=2Tnc~bfk0165@Dm(o}gakAiKr+k|OmG6UpVBjlEWlUv zt83D$WLi6+aNK;oHyQY5GtAy=QGZ~T??lB^sa+Hn38JjqYHx`YCyRe#5?*w{CX`s) z2kN^n&x_d`X-r|o#mxHvv3>;8Csq-@J?G_rpQYro`01GVtXk{0gfNY| zH&g=HJUXBYz_->A?8kzB4g&bus|&1R)D#gP&J(4DS*c{@A0~f9ho@Vc%2NG)csi6T z_kgPPy%+1T0*)id4F2#^OLhPvI}F5A_^iXt=C1NK3Nwh=d|U+3ZDQvb+k3XOn+H3h z#?x$BMP$J%uEzWeV9YzMt-!|MhrYt-09B8O$xlz}Qxvyub9>2YLD1Qb;_Oa;R#F{h zdjQ=;$Nx9oH7}3^L3(0$+I0DGGL)T~Ko{7l^O7(~H;Iy*Y;*-6 z;5BDDWb_mU1-aVXQ8B$L`Tjp{v;G`C}O@L$)oBgNOB`oK)4Qo-k({z%+qTtqCBN*$z${j@A z(&C+wL{xukcK~aSeaVjQ0w*R#(bePM4azheoiqR)wVu|k`ub90WlaIHwwn>J_pGkep3b$v3Vg}TLq&7%t!>lidS4Znl3}#e zgXr)Uem*eeHG*e6`xB?Ws#F) znlM+p=l7FY)UP3Lp!{Aw)Ku}jYe?R=TdY`2Gn+lR$nY;lsIE9K!JBh2?CjI$QnneR zzhUz%KuY!40qhw-i`?pJA9^Gzt4xuJ!O$Re_2(T;anKqSKL!Vp%xR|!EJgf{I0Mb~{4rz#Mrc_P9I^*K{dp+jB{tXj_P>~N<8CsejNZUZVaW-Jy+ zgRsB`?!Wg*6mCnfj~k55coKA3hURRsD+Mj z#}sHy6cyrk>(BorU_CHWx6%9bY~dGCLS%oEw>mB=LSNyQ3SRe8g^g0I%;m(tN&j3b zF~ci!zD#1u?c)dgy$hx>(k2qD=IJwk3B-nb)8~WGr)#usxCCAHvP>BlfX&*c9OiWQ zO5N3e%zjr8@3w2K(GIATQXH3agjth9-4^o5yroLI=~yREGYkeLwu|P`%Qcu%zd(P2 zH+hv~S(<$aS7R-4aWFKiS!Ns0OJT!JZXiYctU+HPoJViZD3I!uvt$ zO3p!UHKUfMC+i*?N2p=Pz+Zp6CZ4z96==ogqB7M0$}r{XdnHRA%JfC-J=`EYZ+&z5#nS<-glY3Dw2hA=UwMv zA1L8y5Cx6%c;P;O`WxKYw+VbX4#gUfVpHcS?Uex8veDHFEBJrp4|XoTRoA+;0}|x2 zQl>qwqXEhppJNlLq40K!V(wQ7nod-Pq~824!fB}s=Z>xN7Wc2+r8Bum$=NN?i_s}C zy+u_cIV|*$-q{&74K(50L>({E@ve{{+OG+;cwK~aUd=)Y4iN#sR3;HG=^Dz7Lx zb0e&YmA?st^U8miIK5~Yo%EYuQA-RP!^J7KQph{P%1+U?$=aX+v{-@SwM}Se8*UkL zwrcM-b=oJ-DfEmF!(5s0D2G)DKyeA(`trF_XGnwQV=XPG&St^spGW*hR0EF=YMw$1 zf<2K3cIw$1Z@x#l8(@VY4IE-T>S#Lk?iziHM02aacSV2Fa0RpT_YiKLu(p$x_d(A| z5B#-23gBHky+zf+^5Vqyap6yET1r(xEOe0~oxbDUwa^g7b;?*eJ{1Tn&?I;Yh+kE; zqtV9`z30d09n_xt^t?o)J0O8MZkZDN4tHu!hg4aYicC92kbEDoAghKO363n=F&wNE zC2kXn?&*IA)Xb6$kp)0ndqL9aFmCNNAE<)}$JlAjYKBfoi&AiA2RCp~ma$k{^YrsX zFk|eiSbGigO5M!m0S1!xrD!;5JRX}Ou60XSpR>d2d;EF5@EpkE+i#Mmnh&1NUG`F= zY(dH@A|%08bjb|hTbq?mom@OTURC@ Xa)qxP;S}7JUPMqmBuS(=7CiDBIQRZp delta 4079 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 diff --git a/static/img/docs/light/route-group-multiple-layouts.avif b/static/img/docs/light/route-group-multiple-layouts.avif index 8177209e3970fecbda6ee58249786e695f5fc4fb..e73634eac247b18a71e932dfd3e1a7611d99704b 100644 GIT binary patch delta 5950 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 delta 4989 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 HZuhWA7K55m diff --git a/static/img/docs/light/route-group-multiple-root-layouts.avif b/static/img/docs/light/route-group-multiple-root-layouts.avif index 27fc04fb10b28d44b251f2030666529c54f0a22d..593f54b4edf0ef0c590f9150354d429ccc4e4d8f 100644 GIT binary patch delta 4922 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 delta 4207 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 diff --git a/static/img/docs/light/route-group-organisation.avif b/static/img/docs/light/route-group-organisation.avif index 0d64742b221792346981925ebb638b179c3ee7f3..3e3bc6720a7573ad5d5fbd9358b37640cede4f90 100644 GIT binary patch delta 8800 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