@obsfx/trekker 0.1.7 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1300) hide show
  1. package/dist/index.js +216 -154
  2. package/package.json +1 -1
  3. package/webapp-dist/.next/BUILD_ID +1 -1
  4. package/webapp-dist/.next/build-manifest.json +2 -2
  5. package/webapp-dist/.next/prerender-manifest.json +3 -3
  6. package/webapp-dist/.next/server/app/_global-error.html +2 -2
  7. package/webapp-dist/.next/server/app/_global-error.rsc +1 -1
  8. package/webapp-dist/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  9. package/webapp-dist/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  10. package/webapp-dist/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  11. package/webapp-dist/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  12. package/webapp-dist/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/webapp-dist/.next/server/app/_not-found.html +2 -2
  14. package/webapp-dist/.next/server/app/_not-found.rsc +1 -1
  15. package/webapp-dist/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  16. package/webapp-dist/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  17. package/webapp-dist/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  18. package/webapp-dist/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  19. package/webapp-dist/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  20. package/webapp-dist/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  21. package/webapp-dist/.next/server/app/index.html +2 -2
  22. package/webapp-dist/.next/server/app/index.rsc +1 -1
  23. package/webapp-dist/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  24. package/webapp-dist/.next/server/app/index.segments/_full.segment.rsc +1 -1
  25. package/webapp-dist/.next/server/app/index.segments/_head.segment.rsc +1 -1
  26. package/webapp-dist/.next/server/app/index.segments/_index.segment.rsc +1 -1
  27. package/webapp-dist/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  28. package/webapp-dist/.next/server/pages/404.html +2 -2
  29. package/webapp-dist/.next/server/pages/500.html +2 -2
  30. package/webapp-dist/.next/server/server-reference-manifest.js +1 -1
  31. package/webapp-dist/.next/server/server-reference-manifest.json +1 -1
  32. package/webapp-dist/vendor/@img/colour/color.cjs +1594 -0
  33. package/webapp-dist/vendor/@img/colour/index.cjs +1 -0
  34. package/webapp-dist/vendor/@img/colour/package.json +45 -0
  35. package/webapp-dist/vendor/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64.node +0 -0
  36. package/webapp-dist/vendor/@img/sharp-darwin-arm64/package.json +40 -0
  37. package/webapp-dist/vendor/@img/sharp-libvips-darwin-arm64/README.md +46 -0
  38. package/webapp-dist/vendor/@img/sharp-libvips-darwin-arm64/lib/glib-2.0/include/glibconfig.h +220 -0
  39. package/webapp-dist/vendor/@img/sharp-libvips-darwin-arm64/lib/index.js +1 -0
  40. package/webapp-dist/vendor/@img/sharp-libvips-darwin-arm64/lib/libvips-cpp.8.17.3.dylib +0 -0
  41. package/webapp-dist/vendor/@img/sharp-libvips-darwin-arm64/package.json +36 -0
  42. package/webapp-dist/vendor/@img/sharp-libvips-darwin-arm64/versions.json +30 -0
  43. package/webapp-dist/vendor/@swc/helpers/cjs/_interop_require_default.cjs +6 -0
  44. package/webapp-dist/vendor/@swc/helpers/cjs/_interop_require_wildcard.cjs +38 -0
  45. package/webapp-dist/vendor/@swc/helpers/package.json +471 -0
  46. package/webapp-dist/vendor/next/dist/build/adapter/build-complete.js +993 -0
  47. package/webapp-dist/vendor/next/dist/build/after-production-compile.js +95 -0
  48. package/webapp-dist/vendor/next/dist/build/analysis/extract-const-value.js +205 -0
  49. package/webapp-dist/vendor/next/dist/build/analysis/get-page-static-info.js +601 -0
  50. package/webapp-dist/vendor/next/dist/build/analysis/parse-module.js +20 -0
  51. package/webapp-dist/vendor/next/dist/build/analyze/index.js +242 -0
  52. package/webapp-dist/vendor/next/dist/build/babel/loader/get-config.js +429 -0
  53. package/webapp-dist/vendor/next/dist/build/babel/loader/index.js +56 -0
  54. package/webapp-dist/vendor/next/dist/build/babel/loader/transform.js +103 -0
  55. package/webapp-dist/vendor/next/dist/build/babel/loader/util.js +20 -0
  56. package/webapp-dist/vendor/next/dist/build/babel/plugins/commonjs.js +42 -0
  57. package/webapp-dist/vendor/next/dist/build/babel/plugins/jsx-pragma.js +74 -0
  58. package/webapp-dist/vendor/next/dist/build/babel/plugins/next-font-unsupported.js +36 -0
  59. package/webapp-dist/vendor/next/dist/build/babel/plugins/next-page-config.js +104 -0
  60. package/webapp-dist/vendor/next/dist/build/babel/plugins/next-page-disallow-re-export-all-exports.js +29 -0
  61. package/webapp-dist/vendor/next/dist/build/babel/plugins/next-ssg-transform.js +345 -0
  62. package/webapp-dist/vendor/next/dist/build/babel/plugins/optimize-hook-destructuring.js +60 -0
  63. package/webapp-dist/vendor/next/dist/build/babel/plugins/react-loadable-plugin.js +145 -0
  64. package/webapp-dist/vendor/next/dist/build/babel/preset.js +250 -0
  65. package/webapp-dist/vendor/next/dist/build/build-context.js +58 -0
  66. package/webapp-dist/vendor/next/dist/build/collect-build-traces.js +536 -0
  67. package/webapp-dist/vendor/next/dist/build/compiler.js +88 -0
  68. package/webapp-dist/vendor/next/dist/build/create-compiler-aliases.js +436 -0
  69. package/webapp-dist/vendor/next/dist/build/define-env.js +237 -0
  70. package/webapp-dist/vendor/next/dist/build/duration-to-string.js +99 -0
  71. package/webapp-dist/vendor/next/dist/build/entries.js +798 -0
  72. package/webapp-dist/vendor/next/dist/build/generate-build-id.js +31 -0
  73. package/webapp-dist/vendor/next/dist/build/generate-routes-manifest.js +91 -0
  74. package/webapp-dist/vendor/next/dist/build/get-babel-config-file.js +35 -0
  75. package/webapp-dist/vendor/next/dist/build/get-babel-loader-config.js +109 -0
  76. package/webapp-dist/vendor/next/dist/build/get-static-info-including-layouts.js +81 -0
  77. package/webapp-dist/vendor/next/dist/build/handle-entrypoints.js +176 -0
  78. package/webapp-dist/vendor/next/dist/build/handle-externals.js +290 -0
  79. package/webapp-dist/vendor/next/dist/build/index.js +2683 -0
  80. package/webapp-dist/vendor/next/dist/build/is-writeable.js +26 -0
  81. package/webapp-dist/vendor/next/dist/build/jest/__mocks__/empty.js +10 -0
  82. package/webapp-dist/vendor/next/dist/build/jest/__mocks__/fileMock.js +15 -0
  83. package/webapp-dist/vendor/next/dist/build/jest/__mocks__/nextFontMock.js +20 -0
  84. package/webapp-dist/vendor/next/dist/build/jest/__mocks__/styleMock.js +10 -0
  85. package/webapp-dist/vendor/next/dist/build/jest/jest.js +227 -0
  86. package/webapp-dist/vendor/next/dist/build/jest/object-proxy.js +50 -0
  87. package/webapp-dist/vendor/next/dist/build/load-entrypoint.js +30 -0
  88. package/webapp-dist/vendor/next/dist/build/load-jsconfig.js +162 -0
  89. package/webapp-dist/vendor/next/dist/build/lockfile.js +160 -0
  90. package/webapp-dist/vendor/next/dist/build/manifests/formatter/format-manifest.js +19 -0
  91. package/webapp-dist/vendor/next/dist/build/next-config-ts/require-hook.js +85 -0
  92. package/webapp-dist/vendor/next/dist/build/next-config-ts/transpile-config.js +172 -0
  93. package/webapp-dist/vendor/next/dist/build/next-dir-paths.js +37 -0
  94. package/webapp-dist/vendor/next/dist/build/normalize-catchall-routes.js +76 -0
  95. package/webapp-dist/vendor/next/dist/build/output/format.js +84 -0
  96. package/webapp-dist/vendor/next/dist/build/output/index.js +186 -0
  97. package/webapp-dist/vendor/next/dist/build/output/log.js +135 -0
  98. package/webapp-dist/vendor/next/dist/build/output/store.js +204 -0
  99. package/webapp-dist/vendor/next/dist/build/page-extensions-type.js +6 -0
  100. package/webapp-dist/vendor/next/dist/build/polyfills/fetch/index.js +6 -0
  101. package/webapp-dist/vendor/next/dist/build/polyfills/fetch/whatwg-fetch.js +7 -0
  102. package/webapp-dist/vendor/next/dist/build/polyfills/object-assign.js +6 -0
  103. package/webapp-dist/vendor/next/dist/build/polyfills/object.assign/auto.js +4 -0
  104. package/webapp-dist/vendor/next/dist/build/polyfills/object.assign/implementation.js +4 -0
  105. package/webapp-dist/vendor/next/dist/build/polyfills/object.assign/index.js +19 -0
  106. package/webapp-dist/vendor/next/dist/build/polyfills/object.assign/polyfill.js +6 -0
  107. package/webapp-dist/vendor/next/dist/build/polyfills/object.assign/shim.js +6 -0
  108. package/webapp-dist/vendor/next/dist/build/polyfills/polyfill-module.js +1 -0
  109. package/webapp-dist/vendor/next/dist/build/polyfills/polyfill-nomodule.js +1 -0
  110. package/webapp-dist/vendor/next/dist/build/polyfills/process.js +5 -0
  111. package/webapp-dist/vendor/next/dist/build/preview-key-utils.js +91 -0
  112. package/webapp-dist/vendor/next/dist/build/progress.js +151 -0
  113. package/webapp-dist/vendor/next/dist/build/rendering-mode.js +26 -0
  114. package/webapp-dist/vendor/next/dist/build/segment-config/app/app-segment-config.js +145 -0
  115. package/webapp-dist/vendor/next/dist/build/segment-config/app/app-segments.js +137 -0
  116. package/webapp-dist/vendor/next/dist/build/segment-config/app/collect-root-param-keys.js +52 -0
  117. package/webapp-dist/vendor/next/dist/build/segment-config/middleware/middleware-config.js +121 -0
  118. package/webapp-dist/vendor/next/dist/build/segment-config/pages/pages-segment-config.js +62 -0
  119. package/webapp-dist/vendor/next/dist/build/sort-by-page-exts.js +30 -0
  120. package/webapp-dist/vendor/next/dist/build/spinner.js +138 -0
  121. package/webapp-dist/vendor/next/dist/build/static-paths/app/extract-pathname-route-param-segments-from-loader-tree.js +137 -0
  122. package/webapp-dist/vendor/next/dist/build/static-paths/app.js +682 -0
  123. package/webapp-dist/vendor/next/dist/build/static-paths/pages.js +169 -0
  124. package/webapp-dist/vendor/next/dist/build/static-paths/types.js +6 -0
  125. package/webapp-dist/vendor/next/dist/build/static-paths/utils.js +119 -0
  126. package/webapp-dist/vendor/next/dist/build/swc/helpers.js +15 -0
  127. package/webapp-dist/vendor/next/dist/build/swc/index.js +1271 -0
  128. package/webapp-dist/vendor/next/dist/build/swc/install-bindings.js +30 -0
  129. package/webapp-dist/vendor/next/dist/build/swc/jest-transformer.js +75 -0
  130. package/webapp-dist/vendor/next/dist/build/swc/options.js +386 -0
  131. package/webapp-dist/vendor/next/dist/build/swc/types.js +6 -0
  132. package/webapp-dist/vendor/next/dist/build/templates/app-page.js +1071 -0
  133. package/webapp-dist/vendor/next/dist/build/templates/app-route.js +420 -0
  134. package/webapp-dist/vendor/next/dist/build/templates/edge-app-route.js +85 -0
  135. package/webapp-dist/vendor/next/dist/build/templates/edge-ssr-app.js +309 -0
  136. package/webapp-dist/vendor/next/dist/build/templates/edge-ssr.js +335 -0
  137. package/webapp-dist/vendor/next/dist/build/templates/edge-wrapper.js +24 -0
  138. package/webapp-dist/vendor/next/dist/build/templates/helpers.js +36 -0
  139. package/webapp-dist/vendor/next/dist/build/templates/middleware.js +115 -0
  140. package/webapp-dist/vendor/next/dist/build/templates/pages-api.js +194 -0
  141. package/webapp-dist/vendor/next/dist/build/templates/pages-edge-api.js +39 -0
  142. package/webapp-dist/vendor/next/dist/build/templates/pages.js +155 -0
  143. package/webapp-dist/vendor/next/dist/build/turbopack-analyze/index.js +116 -0
  144. package/webapp-dist/vendor/next/dist/build/turbopack-build/impl.js +244 -0
  145. package/webapp-dist/vendor/next/dist/build/turbopack-build/index.js +85 -0
  146. package/webapp-dist/vendor/next/dist/build/turborepo-access-trace/env.js +29 -0
  147. package/webapp-dist/vendor/next/dist/build/turborepo-access-trace/helpers.js +104 -0
  148. package/webapp-dist/vendor/next/dist/build/turborepo-access-trace/index.js +30 -0
  149. package/webapp-dist/vendor/next/dist/build/turborepo-access-trace/result.js +51 -0
  150. package/webapp-dist/vendor/next/dist/build/turborepo-access-trace/tcp.js +41 -0
  151. package/webapp-dist/vendor/next/dist/build/turborepo-access-trace/types.js +8 -0
  152. package/webapp-dist/vendor/next/dist/build/type-check.js +151 -0
  153. package/webapp-dist/vendor/next/dist/build/utils.js +1261 -0
  154. package/webapp-dist/vendor/next/dist/build/validate-app-paths.js +242 -0
  155. package/webapp-dist/vendor/next/dist/build/webpack/alias/react-dom-server-experimental.js +32 -0
  156. package/webapp-dist/vendor/next/dist/build/webpack/alias/react-dom-server.js +32 -0
  157. package/webapp-dist/vendor/next/dist/build/webpack/cache-invalidation.js +91 -0
  158. package/webapp-dist/vendor/next/dist/build/webpack/config/blocks/base.js +82 -0
  159. package/webapp-dist/vendor/next/dist/build/webpack/config/blocks/css/index.js +562 -0
  160. package/webapp-dist/vendor/next/dist/build/webpack/config/blocks/css/loaders/client.js +49 -0
  161. package/webapp-dist/vendor/next/dist/build/webpack/config/blocks/css/loaders/file-resolve.js +21 -0
  162. package/webapp-dist/vendor/next/dist/build/webpack/config/blocks/css/loaders/getCssModuleLocalIdent.js +37 -0
  163. package/webapp-dist/vendor/next/dist/build/webpack/config/blocks/css/loaders/global.js +65 -0
  164. package/webapp-dist/vendor/next/dist/build/webpack/config/blocks/css/loaders/index.js +22 -0
  165. package/webapp-dist/vendor/next/dist/build/webpack/config/blocks/css/loaders/modules.js +86 -0
  166. package/webapp-dist/vendor/next/dist/build/webpack/config/blocks/css/loaders/next-font.js +62 -0
  167. package/webapp-dist/vendor/next/dist/build/webpack/config/blocks/css/messages.js +45 -0
  168. package/webapp-dist/vendor/next/dist/build/webpack/config/blocks/css/plugins.js +190 -0
  169. package/webapp-dist/vendor/next/dist/build/webpack/config/blocks/images/index.js +42 -0
  170. package/webapp-dist/vendor/next/dist/build/webpack/config/blocks/images/messages.js +16 -0
  171. package/webapp-dist/vendor/next/dist/build/webpack/config/helpers.js +78 -0
  172. package/webapp-dist/vendor/next/dist/build/webpack/config/index.js +46 -0
  173. package/webapp-dist/vendor/next/dist/build/webpack/config/utils.js +13 -0
  174. package/webapp-dist/vendor/next/dist/build/webpack/loaders/css-loader/src/CssSyntaxError.js +32 -0
  175. package/webapp-dist/vendor/next/dist/build/webpack/loaders/css-loader/src/camelcase.js +93 -0
  176. package/webapp-dist/vendor/next/dist/build/webpack/loaders/css-loader/src/index.js +287 -0
  177. package/webapp-dist/vendor/next/dist/build/webpack/loaders/css-loader/src/plugins/index.js +36 -0
  178. package/webapp-dist/vendor/next/dist/build/webpack/loaders/css-loader/src/plugins/postcss-icss-parser.js +105 -0
  179. package/webapp-dist/vendor/next/dist/build/webpack/loaders/css-loader/src/plugins/postcss-import-parser.js +220 -0
  180. package/webapp-dist/vendor/next/dist/build/webpack/loaders/css-loader/src/plugins/postcss-url-parser.js +307 -0
  181. package/webapp-dist/vendor/next/dist/build/webpack/loaders/css-loader/src/runtime/api.js +83 -0
  182. package/webapp-dist/vendor/next/dist/build/webpack/loaders/css-loader/src/runtime/getUrl.js +23 -0
  183. package/webapp-dist/vendor/next/dist/build/webpack/loaders/css-loader/src/utils.js +459 -0
  184. package/webapp-dist/vendor/next/dist/build/webpack/loaders/devtool/devtool-style-inject.js +129 -0
  185. package/webapp-dist/vendor/next/dist/build/webpack/loaders/empty-loader.js +14 -0
  186. package/webapp-dist/vendor/next/dist/build/webpack/loaders/error-loader.js +36 -0
  187. package/webapp-dist/vendor/next/dist/build/webpack/loaders/get-module-build-info.js +15 -0
  188. package/webapp-dist/vendor/next/dist/build/webpack/loaders/lightningcss-loader/src/codegen.js +156 -0
  189. package/webapp-dist/vendor/next/dist/build/webpack/loaders/lightningcss-loader/src/index.js +27 -0
  190. package/webapp-dist/vendor/next/dist/build/webpack/loaders/lightningcss-loader/src/interface.js +17 -0
  191. package/webapp-dist/vendor/next/dist/build/webpack/loaders/lightningcss-loader/src/loader.js +429 -0
  192. package/webapp-dist/vendor/next/dist/build/webpack/loaders/lightningcss-loader/src/minify.js +94 -0
  193. package/webapp-dist/vendor/next/dist/build/webpack/loaders/lightningcss-loader/src/utils.js +58 -0
  194. package/webapp-dist/vendor/next/dist/build/webpack/loaders/metadata/discover.js +122 -0
  195. package/webapp-dist/vendor/next/dist/build/webpack/loaders/metadata/resolve-route-data.js +171 -0
  196. package/webapp-dist/vendor/next/dist/build/webpack/loaders/metadata/types.js +7 -0
  197. package/webapp-dist/vendor/next/dist/build/webpack/loaders/modularize-import-loader.js +39 -0
  198. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-app-loader/create-app-route-code.js +65 -0
  199. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-app-loader/index.js +765 -0
  200. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-barrel-loader.js +268 -0
  201. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-client-pages-loader.js +37 -0
  202. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-edge-app-route-loader/index.js +51 -0
  203. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-edge-function-loader.js +52 -0
  204. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-edge-ssr-loader/index.js +93 -0
  205. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-error-browser-binary-loader.js +21 -0
  206. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-flight-action-entry-loader.js +32 -0
  207. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js +45 -0
  208. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-flight-client-module-loader.js +49 -0
  209. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-flight-css-loader.js +56 -0
  210. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-flight-loader/action-client-wrapper.js +33 -0
  211. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-flight-loader/action-validate.js +27 -0
  212. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-flight-loader/cache-wrapper.js +13 -0
  213. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-flight-loader/index.js +211 -0
  214. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js +14 -0
  215. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-flight-loader/server-reference.js +13 -0
  216. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-flight-loader/track-dynamic-import.js +13 -0
  217. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-flight-server-reference-proxy-loader.js +29 -0
  218. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-font-loader/index.js +133 -0
  219. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-font-loader/postcss-next-font.js +169 -0
  220. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-image-loader/blur.js +73 -0
  221. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-image-loader/index.js +80 -0
  222. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-invalid-import-error-loader.js +28 -0
  223. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-metadata-image-loader.js +158 -0
  224. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-metadata-route-loader.js +342 -0
  225. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-middleware-asset-loader.js +46 -0
  226. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-middleware-loader.js +59 -0
  227. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-middleware-wasm-loader.js +46 -0
  228. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-root-params-loader.js +164 -0
  229. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-route-loader/index.js +141 -0
  230. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-style-loader/index.js +220 -0
  231. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-style-loader/runtime/injectStylesIntoLinkTag.js +61 -0
  232. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-style-loader/runtime/injectStylesIntoStyleTag.js +221 -0
  233. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-style-loader/runtime/isEqualLocals.js +27 -0
  234. package/webapp-dist/vendor/next/dist/build/webpack/loaders/next-swc-loader.js +241 -0
  235. package/webapp-dist/vendor/next/dist/build/webpack/loaders/postcss-loader/src/Error.js +40 -0
  236. package/webapp-dist/vendor/next/dist/build/webpack/loaders/postcss-loader/src/Warning.js +35 -0
  237. package/webapp-dist/vendor/next/dist/build/webpack/loaders/postcss-loader/src/index.js +125 -0
  238. package/webapp-dist/vendor/next/dist/build/webpack/loaders/postcss-loader/src/utils.js +86 -0
  239. package/webapp-dist/vendor/next/dist/build/webpack/loaders/resolve-url-loader/index.js +101 -0
  240. package/webapp-dist/vendor/next/dist/build/webpack/loaders/resolve-url-loader/lib/file-protocol.js +78 -0
  241. package/webapp-dist/vendor/next/dist/build/webpack/loaders/resolve-url-loader/lib/join-function.js +190 -0
  242. package/webapp-dist/vendor/next/dist/build/webpack/loaders/resolve-url-loader/lib/postcss.js +92 -0
  243. package/webapp-dist/vendor/next/dist/build/webpack/loaders/resolve-url-loader/lib/value-processor.js +97 -0
  244. package/webapp-dist/vendor/next/dist/build/webpack/loaders/utils.js +100 -0
  245. package/webapp-dist/vendor/next/dist/build/webpack/plugins/build-manifest-plugin-utils.js +79 -0
  246. package/webapp-dist/vendor/next/dist/build/webpack/plugins/build-manifest-plugin.js +183 -0
  247. package/webapp-dist/vendor/next/dist/build/webpack/plugins/copy-file-plugin.js +67 -0
  248. package/webapp-dist/vendor/next/dist/build/webpack/plugins/css-chunking-plugin.js +277 -0
  249. package/webapp-dist/vendor/next/dist/build/webpack/plugins/css-minimizer-plugin.js +92 -0
  250. package/webapp-dist/vendor/next/dist/build/webpack/plugins/devtools-ignore-list-plugin.js +78 -0
  251. package/webapp-dist/vendor/next/dist/build/webpack/plugins/eval-source-map-dev-tool-plugin.js +191 -0
  252. package/webapp-dist/vendor/next/dist/build/webpack/plugins/flight-client-entry-plugin.js +793 -0
  253. package/webapp-dist/vendor/next/dist/build/webpack/plugins/flight-manifest-plugin.js +420 -0
  254. package/webapp-dist/vendor/next/dist/build/webpack/plugins/force-complete-runtime.js +42 -0
  255. package/webapp-dist/vendor/next/dist/build/webpack/plugins/jsconfig-paths-plugin.js +219 -0
  256. package/webapp-dist/vendor/next/dist/build/webpack/plugins/memory-with-gc-cache-plugin.js +114 -0
  257. package/webapp-dist/vendor/next/dist/build/webpack/plugins/middleware-plugin.js +614 -0
  258. package/webapp-dist/vendor/next/dist/build/webpack/plugins/mini-css-extract-plugin.js +24 -0
  259. package/webapp-dist/vendor/next/dist/build/webpack/plugins/minify-webpack-plugin/src/index.js +188 -0
  260. package/webapp-dist/vendor/next/dist/build/webpack/plugins/next-font-manifest-plugin.js +120 -0
  261. package/webapp-dist/vendor/next/dist/build/webpack/plugins/next-trace-entrypoints-plugin.js +542 -0
  262. package/webapp-dist/vendor/next/dist/build/webpack/plugins/next-types-plugin/index.js +428 -0
  263. package/webapp-dist/vendor/next/dist/build/webpack/plugins/next-types-plugin/shared.js +14 -0
  264. package/webapp-dist/vendor/next/dist/build/webpack/plugins/nextjs-require-cache-hot-reloader.js +57 -0
  265. package/webapp-dist/vendor/next/dist/build/webpack/plugins/optional-peer-dependency-resolve-plugin.js +45 -0
  266. package/webapp-dist/vendor/next/dist/build/webpack/plugins/pages-manifest-plugin.js +146 -0
  267. package/webapp-dist/vendor/next/dist/build/webpack/plugins/profiling-plugin.js +282 -0
  268. package/webapp-dist/vendor/next/dist/build/webpack/plugins/react-loadable-plugin.js +169 -0
  269. package/webapp-dist/vendor/next/dist/build/webpack/plugins/rspack-flight-client-entry-plugin.js +97 -0
  270. package/webapp-dist/vendor/next/dist/build/webpack/plugins/rspack-profiling-plugin.js +62 -0
  271. package/webapp-dist/vendor/next/dist/build/webpack/plugins/slow-module-detection-plugin.js +190 -0
  272. package/webapp-dist/vendor/next/dist/build/webpack/plugins/subresource-integrity-plugin.js +62 -0
  273. package/webapp-dist/vendor/next/dist/build/webpack/plugins/telemetry-plugin/telemetry-plugin.js +188 -0
  274. package/webapp-dist/vendor/next/dist/build/webpack/plugins/telemetry-plugin/update-telemetry-loader-context-from-swc.js +28 -0
  275. package/webapp-dist/vendor/next/dist/build/webpack/plugins/telemetry-plugin/use-cache-tracker-utils.js +43 -0
  276. package/webapp-dist/vendor/next/dist/build/webpack/plugins/wellknown-errors-plugin/getModuleTrace.js +89 -0
  277. package/webapp-dist/vendor/next/dist/build/webpack/plugins/wellknown-errors-plugin/index.js +43 -0
  278. package/webapp-dist/vendor/next/dist/build/webpack/plugins/wellknown-errors-plugin/parse-dynamic-code-evaluation-error.js +19 -0
  279. package/webapp-dist/vendor/next/dist/build/webpack/plugins/wellknown-errors-plugin/parseBabel.js +29 -0
  280. package/webapp-dist/vendor/next/dist/build/webpack/plugins/wellknown-errors-plugin/parseCss.js +29 -0
  281. package/webapp-dist/vendor/next/dist/build/webpack/plugins/wellknown-errors-plugin/parseNextAppLoaderError.js +26 -0
  282. package/webapp-dist/vendor/next/dist/build/webpack/plugins/wellknown-errors-plugin/parseNextFontError.js +33 -0
  283. package/webapp-dist/vendor/next/dist/build/webpack/plugins/wellknown-errors-plugin/parseNextInvalidImportError.js +26 -0
  284. package/webapp-dist/vendor/next/dist/build/webpack/plugins/wellknown-errors-plugin/parseNotFoundError.js +166 -0
  285. package/webapp-dist/vendor/next/dist/build/webpack/plugins/wellknown-errors-plugin/parseScss.js +42 -0
  286. package/webapp-dist/vendor/next/dist/build/webpack/plugins/wellknown-errors-plugin/simpleWebpackError.js +18 -0
  287. package/webapp-dist/vendor/next/dist/build/webpack/plugins/wellknown-errors-plugin/webpackModuleError.js +138 -0
  288. package/webapp-dist/vendor/next/dist/build/webpack/stringify-request.js +15 -0
  289. package/webapp-dist/vendor/next/dist/build/webpack/utils.js +109 -0
  290. package/webapp-dist/vendor/next/dist/build/webpack-build/impl.js +381 -0
  291. package/webapp-dist/vendor/next/dist/build/webpack-build/index.js +179 -0
  292. package/webapp-dist/vendor/next/dist/build/webpack-config-rules/resolve.js +55 -0
  293. package/webapp-dist/vendor/next/dist/build/webpack-config.js +2343 -0
  294. package/webapp-dist/vendor/next/dist/build/worker.js +35 -0
  295. package/webapp-dist/vendor/next/dist/build/write-build-id.js +19 -0
  296. package/webapp-dist/vendor/next/dist/cli/next-test.js +169 -0
  297. package/webapp-dist/vendor/next/dist/client/add-base-path.js +24 -0
  298. package/webapp-dist/vendor/next/dist/client/app-build-id.js +49 -0
  299. package/webapp-dist/vendor/next/dist/client/app-call-server.js +34 -0
  300. package/webapp-dist/vendor/next/dist/client/app-find-source-map-url.js +38 -0
  301. package/webapp-dist/vendor/next/dist/client/assign-location.js +29 -0
  302. package/webapp-dist/vendor/next/dist/client/components/app-router-announcer.js +78 -0
  303. package/webapp-dist/vendor/next/dist/client/components/app-router-headers.js +128 -0
  304. package/webapp-dist/vendor/next/dist/client/components/app-router-instance.js +319 -0
  305. package/webapp-dist/vendor/next/dist/client/components/app-router-utils.js +62 -0
  306. package/webapp-dist/vendor/next/dist/client/components/app-router.js +495 -0
  307. package/webapp-dist/vendor/next/dist/client/components/builtin/default.js +35 -0
  308. package/webapp-dist/vendor/next/dist/client/components/builtin/global-error.js +82 -0
  309. package/webapp-dist/vendor/next/dist/client/components/dev-root-http-access-fallback-boundary.js +52 -0
  310. package/webapp-dist/vendor/next/dist/client/components/error-boundary.js +134 -0
  311. package/webapp-dist/vendor/next/dist/client/components/errors/graceful-degrade-boundary.js +86 -0
  312. package/webapp-dist/vendor/next/dist/client/components/errors/root-error-boundary.js +41 -0
  313. package/webapp-dist/vendor/next/dist/client/components/forbidden.js +48 -0
  314. package/webapp-dist/vendor/next/dist/client/components/handle-isr-error.js +31 -0
  315. package/webapp-dist/vendor/next/dist/client/components/hooks-server-context.js +42 -0
  316. package/webapp-dist/vendor/next/dist/client/components/http-access-fallback/error-boundary.js +125 -0
  317. package/webapp-dist/vendor/next/dist/client/components/http-access-fallback/http-access-fallback.js +72 -0
  318. package/webapp-dist/vendor/next/dist/client/components/is-next-router-error.js +23 -0
  319. package/webapp-dist/vendor/next/dist/client/components/links.js +292 -0
  320. package/webapp-dist/vendor/next/dist/client/components/match-segments.js +32 -0
  321. package/webapp-dist/vendor/next/dist/client/components/nav-failure-handler.js +61 -0
  322. package/webapp-dist/vendor/next/dist/client/components/navigation-devtools.js +126 -0
  323. package/webapp-dist/vendor/next/dist/client/components/navigation-untracked.js +65 -0
  324. package/webapp-dist/vendor/next/dist/client/components/navigation.js +198 -0
  325. package/webapp-dist/vendor/next/dist/client/components/navigation.react-server.js +72 -0
  326. package/webapp-dist/vendor/next/dist/client/components/not-found.js +42 -0
  327. package/webapp-dist/vendor/next/dist/client/components/readonly-url-search-params.js +41 -0
  328. package/webapp-dist/vendor/next/dist/client/components/redirect-boundary.js +107 -0
  329. package/webapp-dist/vendor/next/dist/client/components/redirect-error.js +52 -0
  330. package/webapp-dist/vendor/next/dist/client/components/redirect-status-code.js +24 -0
  331. package/webapp-dist/vendor/next/dist/client/components/redirect.js +91 -0
  332. package/webapp-dist/vendor/next/dist/client/components/router-reducer/compute-changed-path.js +128 -0
  333. package/webapp-dist/vendor/next/dist/client/components/router-reducer/create-href-from-url.js +21 -0
  334. package/webapp-dist/vendor/next/dist/client/components/router-reducer/create-initial-router-state.js +59 -0
  335. package/webapp-dist/vendor/next/dist/client/components/router-reducer/create-router-cache-key.js +32 -0
  336. package/webapp-dist/vendor/next/dist/client/components/router-reducer/fetch-server-response.js +340 -0
  337. package/webapp-dist/vendor/next/dist/client/components/router-reducer/handle-mutable.js +66 -0
  338. package/webapp-dist/vendor/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js +51 -0
  339. package/webapp-dist/vendor/next/dist/client/components/router-reducer/ppr-navigations.js +1129 -0
  340. package/webapp-dist/vendor/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js +64 -0
  341. package/webapp-dist/vendor/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js +38 -0
  342. package/webapp-dist/vendor/next/dist/client/components/router-reducer/reducers/hmr-refresh-reducer.js +23 -0
  343. package/webapp-dist/vendor/next/dist/client/components/router-reducer/reducers/navigate-reducer.js +168 -0
  344. package/webapp-dist/vendor/next/dist/client/components/router-reducer/reducers/refresh-reducer.js +68 -0
  345. package/webapp-dist/vendor/next/dist/client/components/router-reducer/reducers/restore-reducer.js +78 -0
  346. package/webapp-dist/vendor/next/dist/client/components/router-reducer/reducers/server-action-reducer.js +292 -0
  347. package/webapp-dist/vendor/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js +56 -0
  348. package/webapp-dist/vendor/next/dist/client/components/router-reducer/router-reducer-types.js +61 -0
  349. package/webapp-dist/vendor/next/dist/client/components/router-reducer/router-reducer.js +66 -0
  350. package/webapp-dist/vendor/next/dist/client/components/router-reducer/set-cache-busting-search-param.js +60 -0
  351. package/webapp-dist/vendor/next/dist/client/components/segment-cache/cache-key.js +28 -0
  352. package/webapp-dist/vendor/next/dist/client/components/segment-cache/cache-map.js +305 -0
  353. package/webapp-dist/vendor/next/dist/client/components/segment-cache/cache.js +1432 -0
  354. package/webapp-dist/vendor/next/dist/client/components/segment-cache/lru.js +145 -0
  355. package/webapp-dist/vendor/next/dist/client/components/segment-cache/navigation.js +459 -0
  356. package/webapp-dist/vendor/next/dist/client/components/segment-cache/prefetch.js +31 -0
  357. package/webapp-dist/vendor/next/dist/client/components/segment-cache/scheduler.js +1150 -0
  358. package/webapp-dist/vendor/next/dist/client/components/segment-cache/types.js +69 -0
  359. package/webapp-dist/vendor/next/dist/client/components/segment-cache/vary-path.js +216 -0
  360. package/webapp-dist/vendor/next/dist/client/components/static-generation-bailout.js +42 -0
  361. package/webapp-dist/vendor/next/dist/client/components/unauthorized.js +49 -0
  362. package/webapp-dist/vendor/next/dist/client/components/unrecognized-action-error.js +39 -0
  363. package/webapp-dist/vendor/next/dist/client/components/unresolved-thenable.js +23 -0
  364. package/webapp-dist/vendor/next/dist/client/components/unstable-rethrow.browser.js +28 -0
  365. package/webapp-dist/vendor/next/dist/client/components/unstable-rethrow.js +25 -0
  366. package/webapp-dist/vendor/next/dist/client/components/unstable-rethrow.server.js +32 -0
  367. package/webapp-dist/vendor/next/dist/client/components/use-action-queue.js +102 -0
  368. package/webapp-dist/vendor/next/dist/client/dev/debug-channel.js +72 -0
  369. package/webapp-dist/vendor/next/dist/client/flight-data-helpers.js +219 -0
  370. package/webapp-dist/vendor/next/dist/client/has-base-path.js +23 -0
  371. package/webapp-dist/vendor/next/dist/client/lib/console.js +177 -0
  372. package/webapp-dist/vendor/next/dist/client/normalize-trailing-slash.js +36 -0
  373. package/webapp-dist/vendor/next/dist/client/remove-base-path.js +32 -0
  374. package/webapp-dist/vendor/next/dist/client/route-params.js +230 -0
  375. package/webapp-dist/vendor/next/dist/compiled/@edge-runtime/cookies/index.js +339 -0
  376. package/webapp-dist/vendor/next/dist/compiled/@edge-runtime/cookies/package.json +1 -0
  377. package/webapp-dist/vendor/next/dist/compiled/@edge-runtime/ponyfill/index.js +46 -0
  378. package/webapp-dist/vendor/next/dist/compiled/@edge-runtime/ponyfill/package.json +1 -0
  379. package/webapp-dist/vendor/next/dist/compiled/@edge-runtime/primitives/abort-controller.js.text.js +1 -0
  380. package/webapp-dist/vendor/next/dist/compiled/@edge-runtime/primitives/console.js.text.js +1 -0
  381. package/webapp-dist/vendor/next/dist/compiled/@edge-runtime/primitives/events.js.text.js +1 -0
  382. package/webapp-dist/vendor/next/dist/compiled/@edge-runtime/primitives/index.js +5 -0
  383. package/webapp-dist/vendor/next/dist/compiled/@edge-runtime/primitives/load.js +18713 -0
  384. package/webapp-dist/vendor/next/dist/compiled/@edge-runtime/primitives/package.json +1 -0
  385. package/webapp-dist/vendor/next/dist/compiled/@edge-runtime/primitives/stream.js +44 -0
  386. package/webapp-dist/vendor/next/dist/compiled/@edge-runtime/primitives/timers.js.text.js +1 -0
  387. package/webapp-dist/vendor/next/dist/compiled/@edge-runtime/primitives/url.js.text.js +1 -0
  388. package/webapp-dist/vendor/next/dist/compiled/@hapi/accept/index.js +1 -0
  389. package/webapp-dist/vendor/next/dist/compiled/@hapi/accept/package.json +1 -0
  390. package/webapp-dist/vendor/next/dist/compiled/@mswjs/interceptors/ClientRequest/index.js +1 -0
  391. package/webapp-dist/vendor/next/dist/compiled/@mswjs/interceptors/ClientRequest/package.json +1 -0
  392. package/webapp-dist/vendor/next/dist/compiled/@napi-rs/triples/index.js +1 -0
  393. package/webapp-dist/vendor/next/dist/compiled/@napi-rs/triples/package.json +1 -0
  394. package/webapp-dist/vendor/next/dist/compiled/@opentelemetry/api/index.js +1 -0
  395. package/webapp-dist/vendor/next/dist/compiled/@opentelemetry/api/package.json +1 -0
  396. package/webapp-dist/vendor/next/dist/compiled/async-retry/index.js +1 -0
  397. package/webapp-dist/vendor/next/dist/compiled/async-retry/package.json +1 -0
  398. package/webapp-dist/vendor/next/dist/compiled/async-sema/index.js +1 -0
  399. package/webapp-dist/vendor/next/dist/compiled/async-sema/package.json +1 -0
  400. package/webapp-dist/vendor/next/dist/compiled/babel/code-frame.js +1 -0
  401. package/webapp-dist/vendor/next/dist/compiled/babel/package.json +1 -0
  402. package/webapp-dist/vendor/next/dist/compiled/babel-code-frame/index.js +1 -0
  403. package/webapp-dist/vendor/next/dist/compiled/babel-code-frame/package.json +1 -0
  404. package/webapp-dist/vendor/next/dist/compiled/busboy/index.js +1 -0
  405. package/webapp-dist/vendor/next/dist/compiled/busboy/package.json +1 -0
  406. package/webapp-dist/vendor/next/dist/compiled/bytes/index.js +8 -0
  407. package/webapp-dist/vendor/next/dist/compiled/bytes/package.json +1 -0
  408. package/webapp-dist/vendor/next/dist/compiled/ci-info/index.js +1 -0
  409. package/webapp-dist/vendor/next/dist/compiled/ci-info/package.json +1 -0
  410. package/webapp-dist/vendor/next/dist/compiled/commander/index.js +1 -0
  411. package/webapp-dist/vendor/next/dist/compiled/commander/package.json +1 -0
  412. package/webapp-dist/vendor/next/dist/compiled/comment-json/index.js +7 -0
  413. package/webapp-dist/vendor/next/dist/compiled/comment-json/package.json +1 -0
  414. package/webapp-dist/vendor/next/dist/compiled/compression/index.js +58 -0
  415. package/webapp-dist/vendor/next/dist/compiled/compression/package.json +1 -0
  416. package/webapp-dist/vendor/next/dist/compiled/conf/index.js +15 -0
  417. package/webapp-dist/vendor/next/dist/compiled/conf/package.json +1 -0
  418. package/webapp-dist/vendor/next/dist/compiled/content-disposition/index.js +6 -0
  419. package/webapp-dist/vendor/next/dist/compiled/content-disposition/package.json +1 -0
  420. package/webapp-dist/vendor/next/dist/compiled/cookie/index.js +7 -0
  421. package/webapp-dist/vendor/next/dist/compiled/cookie/package.json +1 -0
  422. package/webapp-dist/vendor/next/dist/compiled/cross-spawn/index.js +1 -0
  423. package/webapp-dist/vendor/next/dist/compiled/cross-spawn/package.json +1 -0
  424. package/webapp-dist/vendor/next/dist/compiled/debug/index.js +1 -0
  425. package/webapp-dist/vendor/next/dist/compiled/debug/package.json +1 -0
  426. package/webapp-dist/vendor/next/dist/compiled/edge-runtime/index.js +1 -0
  427. package/webapp-dist/vendor/next/dist/compiled/edge-runtime/package.json +1 -0
  428. package/webapp-dist/vendor/next/dist/compiled/find-up/index.js +1 -0
  429. package/webapp-dist/vendor/next/dist/compiled/find-up/package.json +1 -0
  430. package/webapp-dist/vendor/next/dist/compiled/fresh/index.js +8 -0
  431. package/webapp-dist/vendor/next/dist/compiled/fresh/package.json +1 -0
  432. package/webapp-dist/vendor/next/dist/compiled/http-proxy/index.js +34 -0
  433. package/webapp-dist/vendor/next/dist/compiled/http-proxy/package.json +1 -0
  434. package/webapp-dist/vendor/next/dist/compiled/image-detector/detector.js +1 -0
  435. package/webapp-dist/vendor/next/dist/compiled/image-size/index.js +1 -0
  436. package/webapp-dist/vendor/next/dist/compiled/image-size/package.json +1 -0
  437. package/webapp-dist/vendor/next/dist/compiled/ipaddr.js/ipaddr.js +1 -0
  438. package/webapp-dist/vendor/next/dist/compiled/ipaddr.js/package.json +1 -0
  439. package/webapp-dist/vendor/next/dist/compiled/is-animated/index.js +1 -0
  440. package/webapp-dist/vendor/next/dist/compiled/is-animated/package.json +1 -0
  441. package/webapp-dist/vendor/next/dist/compiled/is-docker/index.js +1 -0
  442. package/webapp-dist/vendor/next/dist/compiled/is-docker/package.json +1 -0
  443. package/webapp-dist/vendor/next/dist/compiled/is-wsl/index.js +1 -0
  444. package/webapp-dist/vendor/next/dist/compiled/is-wsl/package.json +1 -0
  445. package/webapp-dist/vendor/next/dist/compiled/jsonwebtoken/index.js +11 -0
  446. package/webapp-dist/vendor/next/dist/compiled/jsonwebtoken/package.json +1 -0
  447. package/webapp-dist/vendor/next/dist/compiled/nanoid/index.cjs +1 -0
  448. package/webapp-dist/vendor/next/dist/compiled/nanoid/package.json +1 -0
  449. package/webapp-dist/vendor/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +24 -0
  450. package/webapp-dist/vendor/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +24 -0
  451. package/webapp-dist/vendor/next/dist/compiled/next-server/app-route-turbo.runtime.prod.js +6 -0
  452. package/webapp-dist/vendor/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +20 -0
  453. package/webapp-dist/vendor/next/dist/compiled/p-limit/index.js +1 -0
  454. package/webapp-dist/vendor/next/dist/compiled/p-limit/package.json +1 -0
  455. package/webapp-dist/vendor/next/dist/compiled/p-queue/index.js +1 -0
  456. package/webapp-dist/vendor/next/dist/compiled/p-queue/package.json +1 -0
  457. package/webapp-dist/vendor/next/dist/compiled/path-browserify/index.js +1 -0
  458. package/webapp-dist/vendor/next/dist/compiled/path-browserify/package.json +1 -0
  459. package/webapp-dist/vendor/next/dist/compiled/path-to-regexp/index.js +1 -0
  460. package/webapp-dist/vendor/next/dist/compiled/path-to-regexp/package.json +1 -0
  461. package/webapp-dist/vendor/next/dist/compiled/picomatch/index.js +1 -0
  462. package/webapp-dist/vendor/next/dist/compiled/picomatch/package.json +1 -0
  463. package/webapp-dist/vendor/next/dist/compiled/react-is/cjs/react-is.development.js +133 -0
  464. package/webapp-dist/vendor/next/dist/compiled/react-is/cjs/react-is.production.js +130 -0
  465. package/webapp-dist/vendor/next/dist/compiled/react-is/index.js +7 -0
  466. package/webapp-dist/vendor/next/dist/compiled/react-is/package.json +26 -0
  467. package/webapp-dist/vendor/next/dist/compiled/regenerator-runtime/package.json +19 -0
  468. package/webapp-dist/vendor/next/dist/compiled/regenerator-runtime/runtime.js +729 -0
  469. package/webapp-dist/vendor/next/dist/compiled/semver/index.js +1 -0
  470. package/webapp-dist/vendor/next/dist/compiled/semver/package.json +1 -0
  471. package/webapp-dist/vendor/next/dist/compiled/send/index.js +70 -0
  472. package/webapp-dist/vendor/next/dist/compiled/send/package.json +1 -0
  473. package/webapp-dist/vendor/next/dist/compiled/source-map/package.json +1 -0
  474. package/webapp-dist/vendor/next/dist/compiled/source-map/source-map.js +1 -0
  475. package/webapp-dist/vendor/next/dist/compiled/stacktrace-parser/package.json +1 -0
  476. package/webapp-dist/vendor/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js +1 -0
  477. package/webapp-dist/vendor/next/dist/compiled/string-hash/index.js +1 -0
  478. package/webapp-dist/vendor/next/dist/compiled/string-hash/package.json +1 -0
  479. package/webapp-dist/vendor/next/dist/compiled/strip-ansi/index.js +1 -0
  480. package/webapp-dist/vendor/next/dist/compiled/strip-ansi/package.json +1 -0
  481. package/webapp-dist/vendor/next/dist/compiled/superstruct/index.cjs +1 -0
  482. package/webapp-dist/vendor/next/dist/compiled/superstruct/package.json +1 -0
  483. package/webapp-dist/vendor/next/dist/compiled/tar/index.js +1 -0
  484. package/webapp-dist/vendor/next/dist/compiled/tar/package.json +1 -0
  485. package/webapp-dist/vendor/next/dist/compiled/text-table/index.js +1 -0
  486. package/webapp-dist/vendor/next/dist/compiled/text-table/package.json +1 -0
  487. package/webapp-dist/vendor/next/dist/compiled/watchpack/package.json +1 -0
  488. package/webapp-dist/vendor/next/dist/compiled/watchpack/watchpack.js +1 -0
  489. package/webapp-dist/vendor/next/dist/compiled/ws/index.js +1 -0
  490. package/webapp-dist/vendor/next/dist/compiled/ws/package.json +1 -0
  491. package/webapp-dist/vendor/next/dist/compiled/zod/index.cjs +1 -0
  492. package/webapp-dist/vendor/next/dist/compiled/zod/package.json +1 -0
  493. package/webapp-dist/vendor/next/dist/compiled/zod-validation-error/index.js +1 -0
  494. package/webapp-dist/vendor/next/dist/compiled/zod-validation-error/package.json +1 -0
  495. package/webapp-dist/vendor/next/dist/experimental/testmode/context.js +57 -0
  496. package/webapp-dist/vendor/next/dist/experimental/testmode/fetch.js +142 -0
  497. package/webapp-dist/vendor/next/dist/experimental/testmode/httpget.js +26 -0
  498. package/webapp-dist/vendor/next/dist/experimental/testmode/server-edge.js +32 -0
  499. package/webapp-dist/vendor/next/dist/experimental/testmode/server.js +62 -0
  500. package/webapp-dist/vendor/next/dist/export/helpers/create-incremental-cache.js +61 -0
  501. package/webapp-dist/vendor/next/dist/lib/batcher.js +65 -0
  502. package/webapp-dist/vendor/next/dist/lib/build-custom-route.js +46 -0
  503. package/webapp-dist/vendor/next/dist/lib/bundler.js +97 -0
  504. package/webapp-dist/vendor/next/dist/lib/client-and-server-references.js +54 -0
  505. package/webapp-dist/vendor/next/dist/lib/coalesced-function.js +39 -0
  506. package/webapp-dist/vendor/next/dist/lib/compile-error.js +14 -0
  507. package/webapp-dist/vendor/next/dist/lib/constants.js +405 -0
  508. package/webapp-dist/vendor/next/dist/lib/create-client-router-filter.js +67 -0
  509. package/webapp-dist/vendor/next/dist/lib/default-transpiled-packages.json +1 -0
  510. package/webapp-dist/vendor/next/dist/lib/detached-promise.js +32 -0
  511. package/webapp-dist/vendor/next/dist/lib/detect-typo.js +51 -0
  512. package/webapp-dist/vendor/next/dist/lib/download-swc.js +183 -0
  513. package/webapp-dist/vendor/next/dist/lib/error-telemetry-utils.js +42 -0
  514. package/webapp-dist/vendor/next/dist/lib/fallback.js +100 -0
  515. package/webapp-dist/vendor/next/dist/lib/fatal-error.js +14 -0
  516. package/webapp-dist/vendor/next/dist/lib/file-exists.js +53 -0
  517. package/webapp-dist/vendor/next/dist/lib/find-config.js +102 -0
  518. package/webapp-dist/vendor/next/dist/lib/find-pages-dir.js +65 -0
  519. package/webapp-dist/vendor/next/dist/lib/find-root.js +122 -0
  520. package/webapp-dist/vendor/next/dist/lib/format-cli-help-output.js +84 -0
  521. package/webapp-dist/vendor/next/dist/lib/format-dynamic-import-path.js +24 -0
  522. package/webapp-dist/vendor/next/dist/lib/format-server-error.js +74 -0
  523. package/webapp-dist/vendor/next/dist/lib/framework/boundary-components.js +62 -0
  524. package/webapp-dist/vendor/next/dist/lib/framework/boundary-constants.js +36 -0
  525. package/webapp-dist/vendor/next/dist/lib/fs/rename.js +87 -0
  526. package/webapp-dist/vendor/next/dist/lib/fs/write-atomic.js +28 -0
  527. package/webapp-dist/vendor/next/dist/lib/generate-interception-routes-rewrites.js +69 -0
  528. package/webapp-dist/vendor/next/dist/lib/get-files-in-dir.js +33 -0
  529. package/webapp-dist/vendor/next/dist/lib/get-network-host.js +44 -0
  530. package/webapp-dist/vendor/next/dist/lib/get-package-version.js +118 -0
  531. package/webapp-dist/vendor/next/dist/lib/get-project-dir.js +51 -0
  532. package/webapp-dist/vendor/next/dist/lib/has-necessary-dependencies.js +49 -0
  533. package/webapp-dist/vendor/next/dist/lib/helpers/get-cache-directory.js +66 -0
  534. package/webapp-dist/vendor/next/dist/lib/helpers/get-npx-command.js +29 -0
  535. package/webapp-dist/vendor/next/dist/lib/helpers/get-online.js +50 -0
  536. package/webapp-dist/vendor/next/dist/lib/helpers/get-pkg-manager.js +63 -0
  537. package/webapp-dist/vendor/next/dist/lib/helpers/get-registry.js +45 -0
  538. package/webapp-dist/vendor/next/dist/lib/helpers/get-reserved-port.js +116 -0
  539. package/webapp-dist/vendor/next/dist/lib/helpers/install.js +83 -0
  540. package/webapp-dist/vendor/next/dist/lib/import-next-warning.js +50 -0
  541. package/webapp-dist/vendor/next/dist/lib/inline-static-env.js +112 -0
  542. package/webapp-dist/vendor/next/dist/lib/install-dependencies.js +40 -0
  543. package/webapp-dist/vendor/next/dist/lib/interop-default.js +15 -0
  544. package/webapp-dist/vendor/next/dist/lib/is-api-route.js +15 -0
  545. package/webapp-dist/vendor/next/dist/lib/is-app-page-route.js +15 -0
  546. package/webapp-dist/vendor/next/dist/lib/is-app-route-route.js +15 -0
  547. package/webapp-dist/vendor/next/dist/lib/is-edge-runtime.js +16 -0
  548. package/webapp-dist/vendor/next/dist/lib/is-error.js +78 -0
  549. package/webapp-dist/vendor/next/dist/lib/is-internal-component.js +36 -0
  550. package/webapp-dist/vendor/next/dist/lib/is-serializable-props.js +106 -0
  551. package/webapp-dist/vendor/next/dist/lib/known-edge-safe-packages.json +1 -0
  552. package/webapp-dist/vendor/next/dist/lib/load-custom-routes.js +550 -0
  553. package/webapp-dist/vendor/next/dist/lib/memory/gc-observer.js +53 -0
  554. package/webapp-dist/vendor/next/dist/lib/memory/shutdown.js +29 -0
  555. package/webapp-dist/vendor/next/dist/lib/memory/startup.js +47 -0
  556. package/webapp-dist/vendor/next/dist/lib/memory/trace.js +109 -0
  557. package/webapp-dist/vendor/next/dist/lib/metadata/constants.js +40 -0
  558. package/webapp-dist/vendor/next/dist/lib/metadata/default-metadata.js +82 -0
  559. package/webapp-dist/vendor/next/dist/lib/metadata/generate/alternate.js +55 -0
  560. package/webapp-dist/vendor/next/dist/lib/metadata/generate/basic.js +307 -0
  561. package/webapp-dist/vendor/next/dist/lib/metadata/generate/icon-mark.js +22 -0
  562. package/webapp-dist/vendor/next/dist/lib/metadata/generate/icons.js +64 -0
  563. package/webapp-dist/vendor/next/dist/lib/metadata/generate/meta.js +123 -0
  564. package/webapp-dist/vendor/next/dist/lib/metadata/generate/opengraph.js +478 -0
  565. package/webapp-dist/vendor/next/dist/lib/metadata/generate/utils.js +52 -0
  566. package/webapp-dist/vendor/next/dist/lib/metadata/get-metadata-route.js +114 -0
  567. package/webapp-dist/vendor/next/dist/lib/metadata/is-metadata-route.js +221 -0
  568. package/webapp-dist/vendor/next/dist/lib/metadata/metadata-context.js +18 -0
  569. package/webapp-dist/vendor/next/dist/lib/metadata/metadata.js +243 -0
  570. package/webapp-dist/vendor/next/dist/lib/metadata/resolve-metadata.js +859 -0
  571. package/webapp-dist/vendor/next/dist/lib/metadata/resolvers/resolve-basics.js +232 -0
  572. package/webapp-dist/vendor/next/dist/lib/metadata/resolvers/resolve-icons.js +56 -0
  573. package/webapp-dist/vendor/next/dist/lib/metadata/resolvers/resolve-opengraph.js +199 -0
  574. package/webapp-dist/vendor/next/dist/lib/metadata/resolvers/resolve-title.js +40 -0
  575. package/webapp-dist/vendor/next/dist/lib/metadata/resolvers/resolve-url.js +135 -0
  576. package/webapp-dist/vendor/next/dist/lib/metadata/types/alternative-urls-types.js +7 -0
  577. package/webapp-dist/vendor/next/dist/lib/metadata/types/extra-types.js +9 -0
  578. package/webapp-dist/vendor/next/dist/lib/metadata/types/icons.js +6 -0
  579. package/webapp-dist/vendor/next/dist/lib/metadata/types/manifest-types.js +6 -0
  580. package/webapp-dist/vendor/next/dist/lib/metadata/types/metadata-interface.js +18 -0
  581. package/webapp-dist/vendor/next/dist/lib/metadata/types/metadata-types.js +10 -0
  582. package/webapp-dist/vendor/next/dist/lib/metadata/types/opengraph-types.js +6 -0
  583. package/webapp-dist/vendor/next/dist/lib/metadata/types/resolvers.js +6 -0
  584. package/webapp-dist/vendor/next/dist/lib/metadata/types/twitter-types.js +7 -0
  585. package/webapp-dist/vendor/next/dist/lib/mime-type.js +20 -0
  586. package/webapp-dist/vendor/next/dist/lib/mkcert.js +204 -0
  587. package/webapp-dist/vendor/next/dist/lib/multi-file-writer.js +75 -0
  588. package/webapp-dist/vendor/next/dist/lib/needs-experimental-react.js +16 -0
  589. package/webapp-dist/vendor/next/dist/lib/non-nullable.js +15 -0
  590. package/webapp-dist/vendor/next/dist/lib/normalize-path.js +21 -0
  591. package/webapp-dist/vendor/next/dist/lib/oxford-comma-list.js +15 -0
  592. package/webapp-dist/vendor/next/dist/lib/page-types.js +18 -0
  593. package/webapp-dist/vendor/next/dist/lib/patch-incorrect-lockfile.js +185 -0
  594. package/webapp-dist/vendor/next/dist/lib/pick.js +19 -0
  595. package/webapp-dist/vendor/next/dist/lib/picocolors.js +177 -0
  596. package/webapp-dist/vendor/next/dist/lib/pretty-bytes.js +74 -0
  597. package/webapp-dist/vendor/next/dist/lib/realpath.js +20 -0
  598. package/webapp-dist/vendor/next/dist/lib/recursive-copy.js +76 -0
  599. package/webapp-dist/vendor/next/dist/lib/recursive-delete.js +137 -0
  600. package/webapp-dist/vendor/next/dist/lib/recursive-readdir.js +124 -0
  601. package/webapp-dist/vendor/next/dist/lib/redirect-status.js +46 -0
  602. package/webapp-dist/vendor/next/dist/lib/require-instrumentation-client.js +26 -0
  603. package/webapp-dist/vendor/next/dist/lib/resolve-build-paths.js +149 -0
  604. package/webapp-dist/vendor/next/dist/lib/resolve-from.js +65 -0
  605. package/webapp-dist/vendor/next/dist/lib/route-pattern-normalizer.js +107 -0
  606. package/webapp-dist/vendor/next/dist/lib/scheduler.js +64 -0
  607. package/webapp-dist/vendor/next/dist/lib/semver-noop.js +18 -0
  608. package/webapp-dist/vendor/next/dist/lib/server-external-packages.jsonc +103 -0
  609. package/webapp-dist/vendor/next/dist/lib/setup-exception-listeners.js +11 -0
  610. package/webapp-dist/vendor/next/dist/lib/static-env.js +92 -0
  611. package/webapp-dist/vendor/next/dist/lib/try-to-parse-path.js +68 -0
  612. package/webapp-dist/vendor/next/dist/lib/turbopack-warning.js +186 -0
  613. package/webapp-dist/vendor/next/dist/lib/typescript/diagnosticFormatter.js +240 -0
  614. package/webapp-dist/vendor/next/dist/lib/typescript/getTypeScriptConfiguration.js +73 -0
  615. package/webapp-dist/vendor/next/dist/lib/typescript/getTypeScriptIntent.js +52 -0
  616. package/webapp-dist/vendor/next/dist/lib/typescript/missingDependencyError.js +27 -0
  617. package/webapp-dist/vendor/next/dist/lib/typescript/runTypeCheck.js +151 -0
  618. package/webapp-dist/vendor/next/dist/lib/typescript/type-paths.js +56 -0
  619. package/webapp-dist/vendor/next/dist/lib/typescript/writeAppTypeDeclarations.js +65 -0
  620. package/webapp-dist/vendor/next/dist/lib/typescript/writeConfigurationDefaults.js +394 -0
  621. package/webapp-dist/vendor/next/dist/lib/url.js +75 -0
  622. package/webapp-dist/vendor/next/dist/lib/verify-partytown-setup.js +115 -0
  623. package/webapp-dist/vendor/next/dist/lib/verify-root-layout.js +165 -0
  624. package/webapp-dist/vendor/next/dist/lib/verify-typescript-setup.js +178 -0
  625. package/webapp-dist/vendor/next/dist/lib/wait.js +19 -0
  626. package/webapp-dist/vendor/next/dist/lib/with-promise-cache.js +24 -0
  627. package/webapp-dist/vendor/next/dist/lib/worker.js +223 -0
  628. package/webapp-dist/vendor/next/dist/next-devtools/server/shared.js +61 -0
  629. package/webapp-dist/vendor/next/dist/server/ReactDOMServerPages.js +16 -0
  630. package/webapp-dist/vendor/next/dist/server/accept-header.js +132 -0
  631. package/webapp-dist/vendor/next/dist/server/after/after-context.js +140 -0
  632. package/webapp-dist/vendor/next/dist/server/after/after.js +26 -0
  633. package/webapp-dist/vendor/next/dist/server/after/awaiter.js +74 -0
  634. package/webapp-dist/vendor/next/dist/server/after/builtin-request-context.js +38 -0
  635. package/webapp-dist/vendor/next/dist/server/after/index.js +21 -0
  636. package/webapp-dist/vendor/next/dist/server/after/run-with-after.js +35 -0
  637. package/webapp-dist/vendor/next/dist/server/api-utils/get-cookie-parser.js +22 -0
  638. package/webapp-dist/vendor/next/dist/server/api-utils/index.js +201 -0
  639. package/webapp-dist/vendor/next/dist/server/api-utils/node/api-resolver.js +395 -0
  640. package/webapp-dist/vendor/next/dist/server/api-utils/node/parse-body.js +79 -0
  641. package/webapp-dist/vendor/next/dist/server/api-utils/node/try-get-preview-data.js +86 -0
  642. package/webapp-dist/vendor/next/dist/server/api-utils/web.js +17 -0
  643. package/webapp-dist/vendor/next/dist/server/app-render/action-async-storage-instance.js +14 -0
  644. package/webapp-dist/vendor/next/dist/server/app-render/action-async-storage.external.js +13 -0
  645. package/webapp-dist/vendor/next/dist/server/app-render/action-handler.js +952 -0
  646. package/webapp-dist/vendor/next/dist/server/app-render/after-task-async-storage-instance.js +14 -0
  647. package/webapp-dist/vendor/next/dist/server/app-render/after-task-async-storage.external.js +13 -0
  648. package/webapp-dist/vendor/next/dist/server/app-render/app-render-prerender-utils.js +249 -0
  649. package/webapp-dist/vendor/next/dist/server/app-render/app-render-render-utils.js +112 -0
  650. package/webapp-dist/vendor/next/dist/server/app-render/app-render-scheduling.js +188 -0
  651. package/webapp-dist/vendor/next/dist/server/app-render/app-render.js +3526 -0
  652. package/webapp-dist/vendor/next/dist/server/app-render/async-local-storage.js +76 -0
  653. package/webapp-dist/vendor/next/dist/server/app-render/cache-signal.js +181 -0
  654. package/webapp-dist/vendor/next/dist/server/app-render/collect-segment-data.js +276 -0
  655. package/webapp-dist/vendor/next/dist/server/app-render/console-async-storage-instance.js +14 -0
  656. package/webapp-dist/vendor/next/dist/server/app-render/console-async-storage.external.js +13 -0
  657. package/webapp-dist/vendor/next/dist/server/app-render/create-component-styles-and-scripts.js +33 -0
  658. package/webapp-dist/vendor/next/dist/server/app-render/create-component-tree.js +754 -0
  659. package/webapp-dist/vendor/next/dist/server/app-render/create-error-handler.js +187 -0
  660. package/webapp-dist/vendor/next/dist/server/app-render/create-flight-router-state-from-loader-tree.js +76 -0
  661. package/webapp-dist/vendor/next/dist/server/app-render/csrf-protection.js +75 -0
  662. package/webapp-dist/vendor/next/dist/server/app-render/dynamic-access-async-storage-instance.js +14 -0
  663. package/webapp-dist/vendor/next/dist/server/app-render/dynamic-access-async-storage.external.js +13 -0
  664. package/webapp-dist/vendor/next/dist/server/app-render/dynamic-rendering.js +828 -0
  665. package/webapp-dist/vendor/next/dist/server/app-render/encryption-utils-server.js +114 -0
  666. package/webapp-dist/vendor/next/dist/server/app-render/encryption-utils.js +93 -0
  667. package/webapp-dist/vendor/next/dist/server/app-render/encryption.js +238 -0
  668. package/webapp-dist/vendor/next/dist/server/app-render/entry-base.js +237 -0
  669. package/webapp-dist/vendor/next/dist/server/app-render/flight-render-result.js +28 -0
  670. package/webapp-dist/vendor/next/dist/server/app-render/get-asset-query-string.js +29 -0
  671. package/webapp-dist/vendor/next/dist/server/app-render/get-css-inlined-link-tags.js +49 -0
  672. package/webapp-dist/vendor/next/dist/server/app-render/get-layer-assets.js +65 -0
  673. package/webapp-dist/vendor/next/dist/server/app-render/get-preloadable-fonts.js +39 -0
  674. package/webapp-dist/vendor/next/dist/server/app-render/get-script-nonce-from-header.js +44 -0
  675. package/webapp-dist/vendor/next/dist/server/app-render/get-short-dynamic-param-type.js +25 -0
  676. package/webapp-dist/vendor/next/dist/server/app-render/has-loading-component-in-tree.js +19 -0
  677. package/webapp-dist/vendor/next/dist/server/app-render/interop-default.js +17 -0
  678. package/webapp-dist/vendor/next/dist/server/app-render/make-get-server-inserted-html.js +92 -0
  679. package/webapp-dist/vendor/next/dist/server/app-render/manifests-singleton.js +257 -0
  680. package/webapp-dist/vendor/next/dist/server/app-render/metadata-insertion/create-server-inserted-metadata.js +28 -0
  681. package/webapp-dist/vendor/next/dist/server/app-render/module-loading/track-dynamic-import.js +57 -0
  682. package/webapp-dist/vendor/next/dist/server/app-render/module-loading/track-module-loading.external.js +32 -0
  683. package/webapp-dist/vendor/next/dist/server/app-render/module-loading/track-module-loading.instance.js +66 -0
  684. package/webapp-dist/vendor/next/dist/server/app-render/parse-and-validate-flight-router-state.js +49 -0
  685. package/webapp-dist/vendor/next/dist/server/app-render/postponed-state.js +156 -0
  686. package/webapp-dist/vendor/next/dist/server/app-render/prospective-render-utils.js +73 -0
  687. package/webapp-dist/vendor/next/dist/server/app-render/react-large-shell-error.js +17 -0
  688. package/webapp-dist/vendor/next/dist/server/app-render/react-server.node.js +39 -0
  689. package/webapp-dist/vendor/next/dist/server/app-render/render-css-resource.js +52 -0
  690. package/webapp-dist/vendor/next/dist/server/app-render/required-scripts.js +76 -0
  691. package/webapp-dist/vendor/next/dist/server/app-render/rsc/postpone.js +18 -0
  692. package/webapp-dist/vendor/next/dist/server/app-render/rsc/preloads.js +74 -0
  693. package/webapp-dist/vendor/next/dist/server/app-render/rsc/taint.js +79 -0
  694. package/webapp-dist/vendor/next/dist/server/app-render/segment-explorer-path.js +103 -0
  695. package/webapp-dist/vendor/next/dist/server/app-render/server-inserted-html.js +77 -0
  696. package/webapp-dist/vendor/next/dist/server/app-render/staged-rendering.js +273 -0
  697. package/webapp-dist/vendor/next/dist/server/app-render/staged-validation.js +32 -0
  698. package/webapp-dist/vendor/next/dist/server/app-render/strip-flight-headers.js +18 -0
  699. package/webapp-dist/vendor/next/dist/server/app-render/types.js +59 -0
  700. package/webapp-dist/vendor/next/dist/server/app-render/use-flight-response.js +212 -0
  701. package/webapp-dist/vendor/next/dist/server/app-render/walk-tree-with-flight-router-state.js +185 -0
  702. package/webapp-dist/vendor/next/dist/server/app-render/work-async-storage-instance.js +14 -0
  703. package/webapp-dist/vendor/next/dist/server/app-render/work-async-storage.external.js +13 -0
  704. package/webapp-dist/vendor/next/dist/server/app-render/work-unit-async-storage-instance.js +14 -0
  705. package/webapp-dist/vendor/next/dist/server/app-render/work-unit-async-storage.external.js +252 -0
  706. package/webapp-dist/vendor/next/dist/server/async-storage/draft-mode-provider.js +62 -0
  707. package/webapp-dist/vendor/next/dist/server/async-storage/request-store.js +144 -0
  708. package/webapp-dist/vendor/next/dist/server/async-storage/with-store.js +6 -0
  709. package/webapp-dist/vendor/next/dist/server/async-storage/work-store.js +94 -0
  710. package/webapp-dist/vendor/next/dist/server/base-http/helpers.js +36 -0
  711. package/webapp-dist/vendor/next/dist/server/base-http/index.js +54 -0
  712. package/webapp-dist/vendor/next/dist/server/base-http/node.js +147 -0
  713. package/webapp-dist/vendor/next/dist/server/base-http/web.js +124 -0
  714. package/webapp-dist/vendor/next/dist/server/base-server.js +1842 -0
  715. package/webapp-dist/vendor/next/dist/server/body-streams.js +114 -0
  716. package/webapp-dist/vendor/next/dist/server/cache-dir.js +26 -0
  717. package/webapp-dist/vendor/next/dist/server/capsize-font-metrics.json +181516 -0
  718. package/webapp-dist/vendor/next/dist/server/ci-info.js +41 -0
  719. package/webapp-dist/vendor/next/dist/server/client-component-renderer-logger.js +70 -0
  720. package/webapp-dist/vendor/next/dist/server/config-schema.js +630 -0
  721. package/webapp-dist/vendor/next/dist/server/config-shared.js +309 -0
  722. package/webapp-dist/vendor/next/dist/server/config-utils.js +185 -0
  723. package/webapp-dist/vendor/next/dist/server/config.js +1468 -0
  724. package/webapp-dist/vendor/next/dist/server/create-deduped-by-callsite-server-error-logger.js +96 -0
  725. package/webapp-dist/vendor/next/dist/server/crypto-utils.js +70 -0
  726. package/webapp-dist/vendor/next/dist/server/dev/browser-logs/file-logger.js +183 -0
  727. package/webapp-dist/vendor/next/dist/server/dev/browser-logs/receive-logs.js +512 -0
  728. package/webapp-dist/vendor/next/dist/server/dev/browser-logs/source-map.js +225 -0
  729. package/webapp-dist/vendor/next/dist/server/dev/debug-channel.js +87 -0
  730. package/webapp-dist/vendor/next/dist/server/dev/dev-indicator-server-state.js +15 -0
  731. package/webapp-dist/vendor/next/dist/server/dev/get-source-map-from-file.js +100 -0
  732. package/webapp-dist/vendor/next/dist/server/dev/hot-middleware.js +274 -0
  733. package/webapp-dist/vendor/next/dist/server/dev/hot-reloader-rspack.js +171 -0
  734. package/webapp-dist/vendor/next/dist/server/dev/hot-reloader-shared-utils.js +56 -0
  735. package/webapp-dist/vendor/next/dist/server/dev/hot-reloader-turbopack.js +1247 -0
  736. package/webapp-dist/vendor/next/dist/server/dev/hot-reloader-types.js +58 -0
  737. package/webapp-dist/vendor/next/dist/server/dev/hot-reloader-webpack.js +1382 -0
  738. package/webapp-dist/vendor/next/dist/server/dev/log-requests.js +141 -0
  739. package/webapp-dist/vendor/next/dist/server/dev/messages.js +74 -0
  740. package/webapp-dist/vendor/next/dist/server/dev/middleware-turbopack.js +393 -0
  741. package/webapp-dist/vendor/next/dist/server/dev/middleware-webpack.js +473 -0
  742. package/webapp-dist/vendor/next/dist/server/dev/node-stack-frames.js +72 -0
  743. package/webapp-dist/vendor/next/dist/server/dev/on-demand-entry-handler.js +704 -0
  744. package/webapp-dist/vendor/next/dist/server/dev/parse-version-info.js +108 -0
  745. package/webapp-dist/vendor/next/dist/server/dev/require-cache.js +49 -0
  746. package/webapp-dist/vendor/next/dist/server/dev/serialized-errors.js +67 -0
  747. package/webapp-dist/vendor/next/dist/server/dev/static-paths-worker.js +103 -0
  748. package/webapp-dist/vendor/next/dist/server/dev/turbopack-utils.js +696 -0
  749. package/webapp-dist/vendor/next/dist/server/dynamic-rendering-utils.js +86 -0
  750. package/webapp-dist/vendor/next/dist/server/font-utils.js +43 -0
  751. package/webapp-dist/vendor/next/dist/server/get-app-route-from-entrypoint.js +30 -0
  752. package/webapp-dist/vendor/next/dist/server/get-page-files.js +23 -0
  753. package/webapp-dist/vendor/next/dist/server/get-route-from-entrypoint.js +35 -0
  754. package/webapp-dist/vendor/next/dist/server/htmlescape.js +37 -0
  755. package/webapp-dist/vendor/next/dist/server/image-optimizer.js +1067 -0
  756. package/webapp-dist/vendor/next/dist/server/instrumentation/types.js +6 -0
  757. package/webapp-dist/vendor/next/dist/server/instrumentation/utils.js +21 -0
  758. package/webapp-dist/vendor/next/dist/server/internal-utils.js +39 -0
  759. package/webapp-dist/vendor/next/dist/server/is-private-ip.js +36 -0
  760. package/webapp-dist/vendor/next/dist/server/lib/app-dir-module.js +59 -0
  761. package/webapp-dist/vendor/next/dist/server/lib/app-info-log.js +154 -0
  762. package/webapp-dist/vendor/next/dist/server/lib/async-callback-set.js +29 -0
  763. package/webapp-dist/vendor/next/dist/server/lib/cache-control.js +22 -0
  764. package/webapp-dist/vendor/next/dist/server/lib/cache-handlers/default.external.js +18 -0
  765. package/webapp-dist/vendor/next/dist/server/lib/cache-handlers/default.js +160 -0
  766. package/webapp-dist/vendor/next/dist/server/lib/cache-handlers/types.js +8 -0
  767. package/webapp-dist/vendor/next/dist/server/lib/chrome-devtools-workspace.js +116 -0
  768. package/webapp-dist/vendor/next/dist/server/lib/clone-response.js +77 -0
  769. package/webapp-dist/vendor/next/dist/server/lib/cpu-profile.js +28 -0
  770. package/webapp-dist/vendor/next/dist/server/lib/decode-query-path-parameter.js +26 -0
  771. package/webapp-dist/vendor/next/dist/server/lib/dedupe-fetch.js +163 -0
  772. package/webapp-dist/vendor/next/dist/server/lib/dev-bundler-service.js +95 -0
  773. package/webapp-dist/vendor/next/dist/server/lib/etag.js +56 -0
  774. package/webapp-dist/vendor/next/dist/server/lib/experimental/create-env-definitions.js +48 -0
  775. package/webapp-dist/vendor/next/dist/server/lib/experimental/ppr.js +47 -0
  776. package/webapp-dist/vendor/next/dist/server/lib/find-page-file.js +127 -0
  777. package/webapp-dist/vendor/next/dist/server/lib/fix-mojibake.js +25 -0
  778. package/webapp-dist/vendor/next/dist/server/lib/format-hostname.js +16 -0
  779. package/webapp-dist/vendor/next/dist/server/lib/i18n-provider.js +129 -0
  780. package/webapp-dist/vendor/next/dist/server/lib/implicit-tags.js +77 -0
  781. package/webapp-dist/vendor/next/dist/server/lib/incremental-cache/file-system-cache.js +333 -0
  782. package/webapp-dist/vendor/next/dist/server/lib/incremental-cache/index.js +479 -0
  783. package/webapp-dist/vendor/next/dist/server/lib/incremental-cache/memory-cache.external.js +40 -0
  784. package/webapp-dist/vendor/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js +73 -0
  785. package/webapp-dist/vendor/next/dist/server/lib/incremental-cache/tags-manifest.external.js +55 -0
  786. package/webapp-dist/vendor/next/dist/server/lib/is-ipv6.js +41 -0
  787. package/webapp-dist/vendor/next/dist/server/lib/lazy-result.js +46 -0
  788. package/webapp-dist/vendor/next/dist/server/lib/lru-cache.js +177 -0
  789. package/webapp-dist/vendor/next/dist/server/lib/match-next-data-pathname.js +18 -0
  790. package/webapp-dist/vendor/next/dist/server/lib/mock-request.js +416 -0
  791. package/webapp-dist/vendor/next/dist/server/lib/module-loader/module-loader.js +8 -0
  792. package/webapp-dist/vendor/next/dist/server/lib/module-loader/node-module-loader.js +25 -0
  793. package/webapp-dist/vendor/next/dist/server/lib/module-loader/route-module-loader.js +26 -0
  794. package/webapp-dist/vendor/next/dist/server/lib/node-fs-methods.js +28 -0
  795. package/webapp-dist/vendor/next/dist/server/lib/parse-stack.js +46 -0
  796. package/webapp-dist/vendor/next/dist/server/lib/patch-fetch.js +945 -0
  797. package/webapp-dist/vendor/next/dist/server/lib/patch-set-header.js +38 -0
  798. package/webapp-dist/vendor/next/dist/server/lib/render-server.js +152 -0
  799. package/webapp-dist/vendor/next/dist/server/lib/router-server.js +672 -0
  800. package/webapp-dist/vendor/next/dist/server/lib/router-utils/block-cross-site.js +76 -0
  801. package/webapp-dist/vendor/next/dist/server/lib/router-utils/build-data-route.js +48 -0
  802. package/webapp-dist/vendor/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.js +50 -0
  803. package/webapp-dist/vendor/next/dist/server/lib/router-utils/cache-life-type-utils.js +211 -0
  804. package/webapp-dist/vendor/next/dist/server/lib/router-utils/decode-path-params.js +42 -0
  805. package/webapp-dist/vendor/next/dist/server/lib/router-utils/filesystem.js +590 -0
  806. package/webapp-dist/vendor/next/dist/server/lib/router-utils/instrumentation-globals.external.js +89 -0
  807. package/webapp-dist/vendor/next/dist/server/lib/router-utils/instrumentation-node-extensions.js +96 -0
  808. package/webapp-dist/vendor/next/dist/server/lib/router-utils/is-postpone.js +16 -0
  809. package/webapp-dist/vendor/next/dist/server/lib/router-utils/proxy-request.js +118 -0
  810. package/webapp-dist/vendor/next/dist/server/lib/router-utils/resolve-routes.js +608 -0
  811. package/webapp-dist/vendor/next/dist/server/lib/router-utils/route-types-utils.js +286 -0
  812. package/webapp-dist/vendor/next/dist/server/lib/router-utils/router-server-context.js +26 -0
  813. package/webapp-dist/vendor/next/dist/server/lib/router-utils/typegen.js +613 -0
  814. package/webapp-dist/vendor/next/dist/server/lib/router-utils/types.js +6 -0
  815. package/webapp-dist/vendor/next/dist/server/lib/server-action-request-meta.js +53 -0
  816. package/webapp-dist/vendor/next/dist/server/lib/server-ipc/utils.js +80 -0
  817. package/webapp-dist/vendor/next/dist/server/lib/source-maps.js +196 -0
  818. package/webapp-dist/vendor/next/dist/server/lib/start-server.js +460 -0
  819. package/webapp-dist/vendor/next/dist/server/lib/streaming-metadata.js +38 -0
  820. package/webapp-dist/vendor/next/dist/server/lib/to-route.js +37 -0
  821. package/webapp-dist/vendor/next/dist/server/lib/trace/constants.js +203 -0
  822. package/webapp-dist/vendor/next/dist/server/lib/trace/tracer.js +270 -0
  823. package/webapp-dist/vendor/next/dist/server/lib/trace/utils.js +16 -0
  824. package/webapp-dist/vendor/next/dist/server/lib/types.js +6 -0
  825. package/webapp-dist/vendor/next/dist/server/lib/utils.js +249 -0
  826. package/webapp-dist/vendor/next/dist/server/lib/worker-utils.js +36 -0
  827. package/webapp-dist/vendor/next/dist/server/load-components.js +177 -0
  828. package/webapp-dist/vendor/next/dist/server/load-default-error-components.js +41 -0
  829. package/webapp-dist/vendor/next/dist/server/load-manifest.external.js +97 -0
  830. package/webapp-dist/vendor/next/dist/server/match-bundle.js +25 -0
  831. package/webapp-dist/vendor/next/dist/server/mcp/get-mcp-middleware.js +49 -0
  832. package/webapp-dist/vendor/next/dist/server/mcp/get-or-create-mcp-server.js +41 -0
  833. package/webapp-dist/vendor/next/dist/server/mcp/mcp-telemetry-tracker.js +82 -0
  834. package/webapp-dist/vendor/next/dist/server/mcp/tools/get-errors.js +107 -0
  835. package/webapp-dist/vendor/next/dist/server/mcp/tools/get-logs.js +61 -0
  836. package/webapp-dist/vendor/next/dist/server/mcp/tools/get-page-metadata.js +180 -0
  837. package/webapp-dist/vendor/next/dist/server/mcp/tools/get-project-metadata.js +55 -0
  838. package/webapp-dist/vendor/next/dist/server/mcp/tools/get-routes.js +171 -0
  839. package/webapp-dist/vendor/next/dist/server/mcp/tools/get-server-action-by-id.js +113 -0
  840. package/webapp-dist/vendor/next/dist/server/mcp/tools/next-instance-error-state.js +31 -0
  841. package/webapp-dist/vendor/next/dist/server/mcp/tools/utils/browser-communication.js +90 -0
  842. package/webapp-dist/vendor/next/dist/server/mcp/tools/utils/format-errors.js +147 -0
  843. package/webapp-dist/vendor/next/dist/server/next-server.js +1459 -0
  844. package/webapp-dist/vendor/next/dist/server/next-typescript.js +13 -0
  845. package/webapp-dist/vendor/next/dist/server/next.js +452 -0
  846. package/webapp-dist/vendor/next/dist/server/node-environment-baseline.js +25 -0
  847. package/webapp-dist/vendor/next/dist/server/node-environment-extensions/console-dim.external.js +246 -0
  848. package/webapp-dist/vendor/next/dist/server/node-environment-extensions/console-exit.js +49 -0
  849. package/webapp-dist/vendor/next/dist/server/node-environment-extensions/console-file.js +56 -0
  850. package/webapp-dist/vendor/next/dist/server/node-environment-extensions/date.js +52 -0
  851. package/webapp-dist/vendor/next/dist/server/node-environment-extensions/error-inspect.js +8 -0
  852. package/webapp-dist/vendor/next/dist/server/node-environment-extensions/fast-set-immediate.external.js +570 -0
  853. package/webapp-dist/vendor/next/dist/server/node-environment-extensions/global-behaviors.js +33 -0
  854. package/webapp-dist/vendor/next/dist/server/node-environment-extensions/node-crypto.js +103 -0
  855. package/webapp-dist/vendor/next/dist/server/node-environment-extensions/random.js +28 -0
  856. package/webapp-dist/vendor/next/dist/server/node-environment-extensions/unhandled-rejection.js +489 -0
  857. package/webapp-dist/vendor/next/dist/server/node-environment-extensions/utils.js +186 -0
  858. package/webapp-dist/vendor/next/dist/server/node-environment-extensions/web-crypto.js +45 -0
  859. package/webapp-dist/vendor/next/dist/server/node-environment.js +19 -0
  860. package/webapp-dist/vendor/next/dist/server/node-polyfill-crypto.js +21 -0
  861. package/webapp-dist/vendor/next/dist/server/normalizers/absolute-filename-normalizer.js +33 -0
  862. package/webapp-dist/vendor/next/dist/server/normalizers/built/app/app-bundle-path-normalizer.js +54 -0
  863. package/webapp-dist/vendor/next/dist/server/normalizers/built/app/app-filename-normalizer.js +22 -0
  864. package/webapp-dist/vendor/next/dist/server/normalizers/built/app/app-page-normalizer.js +40 -0
  865. package/webapp-dist/vendor/next/dist/server/normalizers/built/app/app-pathname-normalizer.js +55 -0
  866. package/webapp-dist/vendor/next/dist/server/normalizers/built/app/index.js +42 -0
  867. package/webapp-dist/vendor/next/dist/server/normalizers/built/pages/index.js +44 -0
  868. package/webapp-dist/vendor/next/dist/server/normalizers/built/pages/pages-bundle-path-normalizer.js +55 -0
  869. package/webapp-dist/vendor/next/dist/server/normalizers/built/pages/pages-filename-normalizer.js +22 -0
  870. package/webapp-dist/vendor/next/dist/server/normalizers/built/pages/pages-page-normalizer.js +19 -0
  871. package/webapp-dist/vendor/next/dist/server/normalizers/built/pages/pages-pathname-normalizer.js +19 -0
  872. package/webapp-dist/vendor/next/dist/server/normalizers/locale-route-normalizer.js +26 -0
  873. package/webapp-dist/vendor/next/dist/server/normalizers/normalizer.js +6 -0
  874. package/webapp-dist/vendor/next/dist/server/normalizers/normalizers.js +23 -0
  875. package/webapp-dist/vendor/next/dist/server/normalizers/prefixing-normalizer.js +26 -0
  876. package/webapp-dist/vendor/next/dist/server/normalizers/request/base-path.js +25 -0
  877. package/webapp-dist/vendor/next/dist/server/normalizers/request/next-data.js +38 -0
  878. package/webapp-dist/vendor/next/dist/server/normalizers/request/pathname-normalizer.js +6 -0
  879. package/webapp-dist/vendor/next/dist/server/normalizers/request/prefix.js +39 -0
  880. package/webapp-dist/vendor/next/dist/server/normalizers/request/rsc.js +19 -0
  881. package/webapp-dist/vendor/next/dist/server/normalizers/request/segment-prefix-rsc.js +32 -0
  882. package/webapp-dist/vendor/next/dist/server/normalizers/request/suffix.js +27 -0
  883. package/webapp-dist/vendor/next/dist/server/normalizers/underscore-normalizer.js +17 -0
  884. package/webapp-dist/vendor/next/dist/server/normalizers/wrap-normalizer-fn.js +17 -0
  885. package/webapp-dist/vendor/next/dist/server/og/image-response.js +53 -0
  886. package/webapp-dist/vendor/next/dist/server/patch-error-inspect.js +436 -0
  887. package/webapp-dist/vendor/next/dist/server/pipe-readable.js +140 -0
  888. package/webapp-dist/vendor/next/dist/server/post-process.js +39 -0
  889. package/webapp-dist/vendor/next/dist/server/render-result.js +195 -0
  890. package/webapp-dist/vendor/next/dist/server/render.js +1138 -0
  891. package/webapp-dist/vendor/next/dist/server/request/connection.js +111 -0
  892. package/webapp-dist/vendor/next/dist/server/request/cookies.js +220 -0
  893. package/webapp-dist/vendor/next/dist/server/request/draft-mode.js +207 -0
  894. package/webapp-dist/vendor/next/dist/server/request/fallback-params.js +69 -0
  895. package/webapp-dist/vendor/next/dist/server/request/headers.js +219 -0
  896. package/webapp-dist/vendor/next/dist/server/request/params.js +415 -0
  897. package/webapp-dist/vendor/next/dist/server/request/pathname.js +104 -0
  898. package/webapp-dist/vendor/next/dist/server/request/root-params.js +157 -0
  899. package/webapp-dist/vendor/next/dist/server/request/search-params.js +432 -0
  900. package/webapp-dist/vendor/next/dist/server/request/utils.js +51 -0
  901. package/webapp-dist/vendor/next/dist/server/request-meta.js +55 -0
  902. package/webapp-dist/vendor/next/dist/server/require-hook.js +71 -0
  903. package/webapp-dist/vendor/next/dist/server/require.js +109 -0
  904. package/webapp-dist/vendor/next/dist/server/response-cache/index.js +211 -0
  905. package/webapp-dist/vendor/next/dist/server/response-cache/types.js +41 -0
  906. package/webapp-dist/vendor/next/dist/server/response-cache/utils.js +103 -0
  907. package/webapp-dist/vendor/next/dist/server/response-cache/web.js +101 -0
  908. package/webapp-dist/vendor/next/dist/server/resume-data-cache/cache-store.js +84 -0
  909. package/webapp-dist/vendor/next/dist/server/resume-data-cache/resume-data-cache.js +96 -0
  910. package/webapp-dist/vendor/next/dist/server/revalidation-utils.js +152 -0
  911. package/webapp-dist/vendor/next/dist/server/route-definitions/app-page-route-definition.js +16 -0
  912. package/webapp-dist/vendor/next/dist/server/route-definitions/app-route-route-definition.js +6 -0
  913. package/webapp-dist/vendor/next/dist/server/route-definitions/locale-route-definition.js +6 -0
  914. package/webapp-dist/vendor/next/dist/server/route-definitions/pages-api-route-definition.js +6 -0
  915. package/webapp-dist/vendor/next/dist/server/route-definitions/pages-route-definition.js +6 -0
  916. package/webapp-dist/vendor/next/dist/server/route-definitions/route-definition.js +6 -0
  917. package/webapp-dist/vendor/next/dist/server/route-kind.js +32 -0
  918. package/webapp-dist/vendor/next/dist/server/route-matcher-managers/default-route-matcher-manager.js +239 -0
  919. package/webapp-dist/vendor/next/dist/server/route-matcher-managers/dev-route-matcher-manager.js +120 -0
  920. package/webapp-dist/vendor/next/dist/server/route-matcher-managers/route-matcher-manager.js +6 -0
  921. package/webapp-dist/vendor/next/dist/server/route-matcher-providers/app-page-route-matcher-provider.js +55 -0
  922. package/webapp-dist/vendor/next/dist/server/route-matcher-providers/app-route-route-matcher-provider.js +43 -0
  923. package/webapp-dist/vendor/next/dist/server/route-matcher-providers/dev/dev-app-page-route-matcher-provider.js +90 -0
  924. package/webapp-dist/vendor/next/dist/server/route-matcher-providers/dev/dev-app-route-route-matcher-provider.js +112 -0
  925. package/webapp-dist/vendor/next/dist/server/route-matcher-providers/dev/dev-pages-api-route-matcher-provider.js +77 -0
  926. package/webapp-dist/vendor/next/dist/server/route-matcher-providers/dev/dev-pages-route-matcher-provider.js +77 -0
  927. package/webapp-dist/vendor/next/dist/server/route-matcher-providers/dev/file-cache-route-matcher-provider.js +28 -0
  928. package/webapp-dist/vendor/next/dist/server/route-matcher-providers/dev/helpers/file-reader/batched-file-reader.js +106 -0
  929. package/webapp-dist/vendor/next/dist/server/route-matcher-providers/dev/helpers/file-reader/default-file-reader.js +42 -0
  930. package/webapp-dist/vendor/next/dist/server/route-matcher-providers/dev/helpers/file-reader/file-reader.js +6 -0
  931. package/webapp-dist/vendor/next/dist/server/route-matcher-providers/helpers/cached-route-matcher-provider.js +30 -0
  932. package/webapp-dist/vendor/next/dist/server/route-matcher-providers/helpers/manifest-loaders/manifest-loader.js +6 -0
  933. package/webapp-dist/vendor/next/dist/server/route-matcher-providers/helpers/manifest-loaders/node-manifest-loader.js +34 -0
  934. package/webapp-dist/vendor/next/dist/server/route-matcher-providers/helpers/manifest-loaders/server-manifest-loader.js +20 -0
  935. package/webapp-dist/vendor/next/dist/server/route-matcher-providers/manifest-route-matcher-provider.js +21 -0
  936. package/webapp-dist/vendor/next/dist/server/route-matcher-providers/pages-api-route-matcher-provider.js +55 -0
  937. package/webapp-dist/vendor/next/dist/server/route-matcher-providers/pages-route-matcher-provider.js +64 -0
  938. package/webapp-dist/vendor/next/dist/server/route-matcher-providers/route-matcher-provider.js +6 -0
  939. package/webapp-dist/vendor/next/dist/server/route-matchers/app-page-route-matcher.js +18 -0
  940. package/webapp-dist/vendor/next/dist/server/route-matchers/app-route-route-matcher.js +15 -0
  941. package/webapp-dist/vendor/next/dist/server/route-matchers/locale-route-matcher.js +68 -0
  942. package/webapp-dist/vendor/next/dist/server/route-matchers/pages-api-route-matcher.js +30 -0
  943. package/webapp-dist/vendor/next/dist/server/route-matchers/pages-route-matcher.js +30 -0
  944. package/webapp-dist/vendor/next/dist/server/route-matchers/route-matcher.js +54 -0
  945. package/webapp-dist/vendor/next/dist/server/route-matches/app-page-route-match.js +6 -0
  946. package/webapp-dist/vendor/next/dist/server/route-matches/app-route-route-match.js +6 -0
  947. package/webapp-dist/vendor/next/dist/server/route-matches/locale-route-match.js +6 -0
  948. package/webapp-dist/vendor/next/dist/server/route-matches/pages-api-route-match.js +16 -0
  949. package/webapp-dist/vendor/next/dist/server/route-matches/pages-route-match.js +6 -0
  950. package/webapp-dist/vendor/next/dist/server/route-matches/route-match.js +6 -0
  951. package/webapp-dist/vendor/next/dist/server/route-modules/app-page/helpers/prerender-manifest-matcher.js +48 -0
  952. package/webapp-dist/vendor/next/dist/server/route-modules/app-page/module.compiled.js +36 -0
  953. package/webapp-dist/vendor/next/dist/server/route-modules/app-page/module.js +132 -0
  954. package/webapp-dist/vendor/next/dist/server/route-modules/app-page/module.render.js +24 -0
  955. package/webapp-dist/vendor/next/dist/server/route-modules/app-page/vendored/contexts/app-router-context.js +4 -0
  956. package/webapp-dist/vendor/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.js +87 -0
  957. package/webapp-dist/vendor/next/dist/server/route-modules/app-page/vendored/contexts/head-manager-context.js +4 -0
  958. package/webapp-dist/vendor/next/dist/server/route-modules/app-page/vendored/contexts/hooks-client-context.js +4 -0
  959. package/webapp-dist/vendor/next/dist/server/route-modules/app-page/vendored/contexts/image-config-context.js +4 -0
  960. package/webapp-dist/vendor/next/dist/server/route-modules/app-page/vendored/contexts/router-context.js +4 -0
  961. package/webapp-dist/vendor/next/dist/server/route-modules/app-page/vendored/contexts/server-inserted-html.js +4 -0
  962. package/webapp-dist/vendor/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.js +140 -0
  963. package/webapp-dist/vendor/next/dist/server/route-modules/app-page/vendored/rsc/react-compiler-runtime.js +4 -0
  964. package/webapp-dist/vendor/next/dist/server/route-modules/app-page/vendored/rsc/react-dom.js +4 -0
  965. package/webapp-dist/vendor/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js +4 -0
  966. package/webapp-dist/vendor/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-runtime.js +4 -0
  967. package/webapp-dist/vendor/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-server.js +4 -0
  968. package/webapp-dist/vendor/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-static.js +4 -0
  969. package/webapp-dist/vendor/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server.js +4 -0
  970. package/webapp-dist/vendor/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-static.js +4 -0
  971. package/webapp-dist/vendor/next/dist/server/route-modules/app-page/vendored/rsc/react.js +4 -0
  972. package/webapp-dist/vendor/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.js +125 -0
  973. package/webapp-dist/vendor/next/dist/server/route-modules/app-page/vendored/ssr/react-compiler-runtime.js +4 -0
  974. package/webapp-dist/vendor/next/dist/server/route-modules/app-page/vendored/ssr/react-dom-server.js +4 -0
  975. package/webapp-dist/vendor/next/dist/server/route-modules/app-page/vendored/ssr/react-dom.js +4 -0
  976. package/webapp-dist/vendor/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js +4 -0
  977. package/webapp-dist/vendor/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js +4 -0
  978. package/webapp-dist/vendor/next/dist/server/route-modules/app-page/vendored/ssr/react-server-dom-turbopack-client.js +4 -0
  979. package/webapp-dist/vendor/next/dist/server/route-modules/app-page/vendored/ssr/react-server-dom-webpack-client.js +4 -0
  980. package/webapp-dist/vendor/next/dist/server/route-modules/app-page/vendored/ssr/react.js +4 -0
  981. package/webapp-dist/vendor/next/dist/server/route-modules/app-route/helpers/auto-implement-methods.js +85 -0
  982. package/webapp-dist/vendor/next/dist/server/route-modules/app-route/helpers/clean-url.js +24 -0
  983. package/webapp-dist/vendor/next/dist/server/route-modules/app-route/helpers/get-pathname-from-absolute-path.js +29 -0
  984. package/webapp-dist/vendor/next/dist/server/route-modules/app-route/helpers/is-static-gen-enabled.js +15 -0
  985. package/webapp-dist/vendor/next/dist/server/route-modules/app-route/helpers/parsed-url-query-to-params.js +20 -0
  986. package/webapp-dist/vendor/next/dist/server/route-modules/app-route/module.compiled.js +36 -0
  987. package/webapp-dist/vendor/next/dist/server/route-modules/app-route/module.js +889 -0
  988. package/webapp-dist/vendor/next/dist/server/route-modules/app-route/shared-modules.js +56 -0
  989. package/webapp-dist/vendor/next/dist/server/route-modules/checks.js +45 -0
  990. package/webapp-dist/vendor/next/dist/server/route-modules/pages/builtin/_error.js +100 -0
  991. package/webapp-dist/vendor/next/dist/server/route-modules/pages/module.compiled.js +20 -0
  992. package/webapp-dist/vendor/next/dist/server/route-modules/pages/module.js +92 -0
  993. package/webapp-dist/vendor/next/dist/server/route-modules/pages/module.render.js +24 -0
  994. package/webapp-dist/vendor/next/dist/server/route-modules/pages/pages-handler.js +522 -0
  995. package/webapp-dist/vendor/next/dist/server/route-modules/pages/vendored/contexts/app-router-context.js +4 -0
  996. package/webapp-dist/vendor/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.js +102 -0
  997. package/webapp-dist/vendor/next/dist/server/route-modules/pages/vendored/contexts/head-manager-context.js +4 -0
  998. package/webapp-dist/vendor/next/dist/server/route-modules/pages/vendored/contexts/hooks-client-context.js +4 -0
  999. package/webapp-dist/vendor/next/dist/server/route-modules/pages/vendored/contexts/html-context.js +4 -0
  1000. package/webapp-dist/vendor/next/dist/server/route-modules/pages/vendored/contexts/image-config-context.js +4 -0
  1001. package/webapp-dist/vendor/next/dist/server/route-modules/pages/vendored/contexts/loadable-context.js +4 -0
  1002. package/webapp-dist/vendor/next/dist/server/route-modules/pages/vendored/contexts/loadable.js +4 -0
  1003. package/webapp-dist/vendor/next/dist/server/route-modules/pages/vendored/contexts/router-context.js +4 -0
  1004. package/webapp-dist/vendor/next/dist/server/route-modules/pages/vendored/contexts/server-inserted-html.js +4 -0
  1005. package/webapp-dist/vendor/next/dist/server/route-modules/pages-api/module.compiled.js +20 -0
  1006. package/webapp-dist/vendor/next/dist/server/route-modules/pages-api/module.js +58 -0
  1007. package/webapp-dist/vendor/next/dist/server/route-modules/route-module.js +594 -0
  1008. package/webapp-dist/vendor/next/dist/server/runtime-reacts.external.js +46 -0
  1009. package/webapp-dist/vendor/next/dist/server/send-payload.js +88 -0
  1010. package/webapp-dist/vendor/next/dist/server/send-response.js +70 -0
  1011. package/webapp-dist/vendor/next/dist/server/serve-static.js +66 -0
  1012. package/webapp-dist/vendor/next/dist/server/server-route-utils.js +30 -0
  1013. package/webapp-dist/vendor/next/dist/server/server-utils.js +323 -0
  1014. package/webapp-dist/vendor/next/dist/server/setup-http-agent-env.js +31 -0
  1015. package/webapp-dist/vendor/next/dist/server/stream-utils/encoded-tags.js +114 -0
  1016. package/webapp-dist/vendor/next/dist/server/stream-utils/node-web-streams-helper.js +737 -0
  1017. package/webapp-dist/vendor/next/dist/server/stream-utils/uint8array-helpers.js +69 -0
  1018. package/webapp-dist/vendor/next/dist/server/typescript/constant.js +97 -0
  1019. package/webapp-dist/vendor/next/dist/server/typescript/index.js +199 -0
  1020. package/webapp-dist/vendor/next/dist/server/typescript/rules/client-boundary.js +97 -0
  1021. package/webapp-dist/vendor/next/dist/server/typescript/rules/config.js +501 -0
  1022. package/webapp-dist/vendor/next/dist/server/typescript/rules/entry.js +149 -0
  1023. package/webapp-dist/vendor/next/dist/server/typescript/rules/error.js +38 -0
  1024. package/webapp-dist/vendor/next/dist/server/typescript/rules/metadata.js +234 -0
  1025. package/webapp-dist/vendor/next/dist/server/typescript/rules/server-boundary.js +115 -0
  1026. package/webapp-dist/vendor/next/dist/server/typescript/rules/server.js +79 -0
  1027. package/webapp-dist/vendor/next/dist/server/typescript/utils.js +212 -0
  1028. package/webapp-dist/vendor/next/dist/server/use-cache/cache-life.js +161 -0
  1029. package/webapp-dist/vendor/next/dist/server/use-cache/cache-tag.js +50 -0
  1030. package/webapp-dist/vendor/next/dist/server/use-cache/constants.js +28 -0
  1031. package/webapp-dist/vendor/next/dist/server/use-cache/handlers.js +121 -0
  1032. package/webapp-dist/vendor/next/dist/server/use-cache/use-cache-errors.js +36 -0
  1033. package/webapp-dist/vendor/next/dist/server/use-cache/use-cache-wrapper.js +1336 -0
  1034. package/webapp-dist/vendor/next/dist/server/utils.js +73 -0
  1035. package/webapp-dist/vendor/next/dist/server/web/adapter.js +388 -0
  1036. package/webapp-dist/vendor/next/dist/server/web/edge-route-module-wrapper.js +122 -0
  1037. package/webapp-dist/vendor/next/dist/server/web/error.js +54 -0
  1038. package/webapp-dist/vendor/next/dist/server/web/exports/index.js +56 -0
  1039. package/webapp-dist/vendor/next/dist/server/web/get-edge-preview-props.js +23 -0
  1040. package/webapp-dist/vendor/next/dist/server/web/globals.js +128 -0
  1041. package/webapp-dist/vendor/next/dist/server/web/http.js +39 -0
  1042. package/webapp-dist/vendor/next/dist/server/web/internal-edge-wait-until.js +64 -0
  1043. package/webapp-dist/vendor/next/dist/server/web/next-url.js +195 -0
  1044. package/webapp-dist/vendor/next/dist/server/web/sandbox/context.js +462 -0
  1045. package/webapp-dist/vendor/next/dist/server/web/sandbox/fetch-inline-assets.js +35 -0
  1046. package/webapp-dist/vendor/next/dist/server/web/sandbox/index.js +28 -0
  1047. package/webapp-dist/vendor/next/dist/server/web/sandbox/resource-managers.js +88 -0
  1048. package/webapp-dist/vendor/next/dist/server/web/sandbox/sandbox.js +134 -0
  1049. package/webapp-dist/vendor/next/dist/server/web/spec-extension/adapters/headers.js +192 -0
  1050. package/webapp-dist/vendor/next/dist/server/web/spec-extension/adapters/next-request.js +142 -0
  1051. package/webapp-dist/vendor/next/dist/server/web/spec-extension/adapters/reflect.js +30 -0
  1052. package/webapp-dist/vendor/next/dist/server/web/spec-extension/adapters/request-cookies.js +211 -0
  1053. package/webapp-dist/vendor/next/dist/server/web/spec-extension/cookies.js +29 -0
  1054. package/webapp-dist/vendor/next/dist/server/web/spec-extension/fetch-event.js +98 -0
  1055. package/webapp-dist/vendor/next/dist/server/web/spec-extension/image-response.js +22 -0
  1056. package/webapp-dist/vendor/next/dist/server/web/spec-extension/request.js +99 -0
  1057. package/webapp-dist/vendor/next/dist/server/web/spec-extension/response.js +136 -0
  1058. package/webapp-dist/vendor/next/dist/server/web/spec-extension/revalidate.js +206 -0
  1059. package/webapp-dist/vendor/next/dist/server/web/spec-extension/unstable-cache.js +284 -0
  1060. package/webapp-dist/vendor/next/dist/server/web/spec-extension/unstable-no-store.js +49 -0
  1061. package/webapp-dist/vendor/next/dist/server/web/spec-extension/url-pattern.js +14 -0
  1062. package/webapp-dist/vendor/next/dist/server/web/spec-extension/user-agent.js +46 -0
  1063. package/webapp-dist/vendor/next/dist/server/web/types.js +6 -0
  1064. package/webapp-dist/vendor/next/dist/server/web/utils.js +151 -0
  1065. package/webapp-dist/vendor/next/dist/server/web/web-on-close.js +87 -0
  1066. package/webapp-dist/vendor/next/dist/shared/lib/action-revalidation-kind.js +31 -0
  1067. package/webapp-dist/vendor/next/dist/shared/lib/app-router-context.shared-runtime.js +50 -0
  1068. package/webapp-dist/vendor/next/dist/shared/lib/app-router-types.js +27 -0
  1069. package/webapp-dist/vendor/next/dist/shared/lib/constants.js +448 -0
  1070. package/webapp-dist/vendor/next/dist/shared/lib/deep-freeze.js +30 -0
  1071. package/webapp-dist/vendor/next/dist/shared/lib/deployment-id.js +36 -0
  1072. package/webapp-dist/vendor/next/dist/shared/lib/dset.js +34 -0
  1073. package/webapp-dist/vendor/next/dist/shared/lib/encode-uri-path.js +15 -0
  1074. package/webapp-dist/vendor/next/dist/shared/lib/entry-constants.js +36 -0
  1075. package/webapp-dist/vendor/next/dist/shared/lib/error-source.js +36 -0
  1076. package/webapp-dist/vendor/next/dist/shared/lib/errors/canary-only-config-error.js +39 -0
  1077. package/webapp-dist/vendor/next/dist/shared/lib/errors/constants.js +19 -0
  1078. package/webapp-dist/vendor/next/dist/shared/lib/errors/empty-generate-static-params-error.js +24 -0
  1079. package/webapp-dist/vendor/next/dist/shared/lib/errors/hard-deprecated-config-error.js +20 -0
  1080. package/webapp-dist/vendor/next/dist/shared/lib/escape-regexp.js +22 -0
  1081. package/webapp-dist/vendor/next/dist/shared/lib/get-hostname.js +23 -0
  1082. package/webapp-dist/vendor/next/dist/shared/lib/hash.js +42 -0
  1083. package/webapp-dist/vendor/next/dist/shared/lib/head-manager-context.shared-runtime.js +18 -0
  1084. package/webapp-dist/vendor/next/dist/shared/lib/head.js +163 -0
  1085. package/webapp-dist/vendor/next/dist/shared/lib/hooks-client-context.shared-runtime.js +60 -0
  1086. package/webapp-dist/vendor/next/dist/shared/lib/html-context.shared-runtime.js +40 -0
  1087. package/webapp-dist/vendor/next/dist/shared/lib/i18n/detect-domain-locale.js +25 -0
  1088. package/webapp-dist/vendor/next/dist/shared/lib/i18n/get-locale-redirect.js +59 -0
  1089. package/webapp-dist/vendor/next/dist/shared/lib/i18n/normalize-locale-path.js +54 -0
  1090. package/webapp-dist/vendor/next/dist/shared/lib/image-blur-svg.js +22 -0
  1091. package/webapp-dist/vendor/next/dist/shared/lib/image-config-context.shared-runtime.js +19 -0
  1092. package/webapp-dist/vendor/next/dist/shared/lib/image-config.js +74 -0
  1093. package/webapp-dist/vendor/next/dist/shared/lib/invariant-error.js +18 -0
  1094. package/webapp-dist/vendor/next/dist/shared/lib/is-internal.js +39 -0
  1095. package/webapp-dist/vendor/next/dist/shared/lib/is-plain-object.js +42 -0
  1096. package/webapp-dist/vendor/next/dist/shared/lib/is-thenable.js +20 -0
  1097. package/webapp-dist/vendor/next/dist/shared/lib/isomorphic/path.js +14 -0
  1098. package/webapp-dist/vendor/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js +37 -0
  1099. package/webapp-dist/vendor/next/dist/shared/lib/loadable-context.shared-runtime.js +19 -0
  1100. package/webapp-dist/vendor/next/dist/shared/lib/loadable.shared-runtime.js +246 -0
  1101. package/webapp-dist/vendor/next/dist/shared/lib/magic-identifier.js +218 -0
  1102. package/webapp-dist/vendor/next/dist/shared/lib/match-local-pattern.js +46 -0
  1103. package/webapp-dist/vendor/next/dist/shared/lib/match-remote-pattern.js +63 -0
  1104. package/webapp-dist/vendor/next/dist/shared/lib/modern-browserslist-target.js +15 -0
  1105. package/webapp-dist/vendor/next/dist/shared/lib/no-fallback-error.external.js +18 -0
  1106. package/webapp-dist/vendor/next/dist/shared/lib/normalized-asset-prefix.js +28 -0
  1107. package/webapp-dist/vendor/next/dist/shared/lib/page-path/absolute-path-to-page.js +26 -0
  1108. package/webapp-dist/vendor/next/dist/shared/lib/page-path/denormalize-page-path.js +18 -0
  1109. package/webapp-dist/vendor/next/dist/shared/lib/page-path/ensure-leading-slash.js +18 -0
  1110. package/webapp-dist/vendor/next/dist/shared/lib/page-path/get-page-paths.js +40 -0
  1111. package/webapp-dist/vendor/next/dist/shared/lib/page-path/normalize-data-path.js +23 -0
  1112. package/webapp-dist/vendor/next/dist/shared/lib/page-path/normalize-page-path.js +26 -0
  1113. package/webapp-dist/vendor/next/dist/shared/lib/page-path/normalize-path-sep.js +19 -0
  1114. package/webapp-dist/vendor/next/dist/shared/lib/page-path/remove-page-path-tail.js +20 -0
  1115. package/webapp-dist/vendor/next/dist/shared/lib/promise-with-resolvers.js +26 -0
  1116. package/webapp-dist/vendor/next/dist/shared/lib/router/adapters.js +136 -0
  1117. package/webapp-dist/vendor/next/dist/shared/lib/router/routes/app.js +122 -0
  1118. package/webapp-dist/vendor/next/dist/shared/lib/router/utils/add-locale.js +28 -0
  1119. package/webapp-dist/vendor/next/dist/shared/lib/router/utils/add-path-prefix.js +20 -0
  1120. package/webapp-dist/vendor/next/dist/shared/lib/router/utils/add-path-suffix.js +20 -0
  1121. package/webapp-dist/vendor/next/dist/shared/lib/router/utils/app-paths.js +51 -0
  1122. package/webapp-dist/vendor/next/dist/shared/lib/router/utils/as-path-to-search-params.js +17 -0
  1123. package/webapp-dist/vendor/next/dist/shared/lib/router/utils/cache-busting-search-param.js +24 -0
  1124. package/webapp-dist/vendor/next/dist/shared/lib/router/utils/escape-path-delimiters.js +16 -0
  1125. package/webapp-dist/vendor/next/dist/shared/lib/router/utils/format-next-pathname-info.js +27 -0
  1126. package/webapp-dist/vendor/next/dist/shared/lib/router/utils/format-url.js +111 -0
  1127. package/webapp-dist/vendor/next/dist/shared/lib/router/utils/get-dynamic-param.js +167 -0
  1128. package/webapp-dist/vendor/next/dist/shared/lib/router/utils/get-next-pathname-info.js +52 -0
  1129. package/webapp-dist/vendor/next/dist/shared/lib/router/utils/get-route-from-asset-path.js +25 -0
  1130. package/webapp-dist/vendor/next/dist/shared/lib/router/utils/get-segment-param.js +90 -0
  1131. package/webapp-dist/vendor/next/dist/shared/lib/router/utils/html-bots.js +17 -0
  1132. package/webapp-dist/vendor/next/dist/shared/lib/router/utils/index.js +30 -0
  1133. package/webapp-dist/vendor/next/dist/shared/lib/router/utils/interception-prefix-from-param-type.js +33 -0
  1134. package/webapp-dist/vendor/next/dist/shared/lib/router/utils/interception-routes.js +108 -0
  1135. package/webapp-dist/vendor/next/dist/shared/lib/router/utils/is-bot.js +57 -0
  1136. package/webapp-dist/vendor/next/dist/shared/lib/router/utils/is-dynamic.js +26 -0
  1137. package/webapp-dist/vendor/next/dist/shared/lib/router/utils/middleware-route-matcher.js +31 -0
  1138. package/webapp-dist/vendor/next/dist/shared/lib/router/utils/parse-loader-tree.js +29 -0
  1139. package/webapp-dist/vendor/next/dist/shared/lib/router/utils/parse-path.js +33 -0
  1140. package/webapp-dist/vendor/next/dist/shared/lib/router/utils/parse-relative-url.js +36 -0
  1141. package/webapp-dist/vendor/next/dist/shared/lib/router/utils/parse-url.js +32 -0
  1142. package/webapp-dist/vendor/next/dist/shared/lib/router/utils/path-has-prefix.js +20 -0
  1143. package/webapp-dist/vendor/next/dist/shared/lib/router/utils/path-match.js +49 -0
  1144. package/webapp-dist/vendor/next/dist/shared/lib/router/utils/prepare-destination.js +292 -0
  1145. package/webapp-dist/vendor/next/dist/shared/lib/router/utils/querystring.js +79 -0
  1146. package/webapp-dist/vendor/next/dist/shared/lib/router/utils/relativize-url.js +40 -0
  1147. package/webapp-dist/vendor/next/dist/shared/lib/router/utils/remove-path-prefix.js +39 -0
  1148. package/webapp-dist/vendor/next/dist/shared/lib/router/utils/remove-trailing-slash.js +21 -0
  1149. package/webapp-dist/vendor/next/dist/shared/lib/router/utils/resolve-param-value.js +116 -0
  1150. package/webapp-dist/vendor/next/dist/shared/lib/router/utils/route-match-utils.js +113 -0
  1151. package/webapp-dist/vendor/next/dist/shared/lib/router/utils/route-matcher.js +45 -0
  1152. package/webapp-dist/vendor/next/dist/shared/lib/router/utils/route-regex.js +256 -0
  1153. package/webapp-dist/vendor/next/dist/shared/lib/router/utils/sorted-routes.js +244 -0
  1154. package/webapp-dist/vendor/next/dist/shared/lib/router-context.shared-runtime.js +18 -0
  1155. package/webapp-dist/vendor/next/dist/shared/lib/segment-cache/output-export-prefetch-encoding.js +52 -0
  1156. package/webapp-dist/vendor/next/dist/shared/lib/segment-cache/segment-value-encoding.js +99 -0
  1157. package/webapp-dist/vendor/next/dist/shared/lib/segment.js +102 -0
  1158. package/webapp-dist/vendor/next/dist/shared/lib/server-inserted-html.shared-runtime.js +35 -0
  1159. package/webapp-dist/vendor/next/dist/shared/lib/server-reference-info.js +52 -0
  1160. package/webapp-dist/vendor/next/dist/shared/lib/side-effect.js +63 -0
  1161. package/webapp-dist/vendor/next/dist/shared/lib/turbopack/internal-error.js +53 -0
  1162. package/webapp-dist/vendor/next/dist/shared/lib/turbopack/utils.js +279 -0
  1163. package/webapp-dist/vendor/next/dist/shared/lib/utils/warn-once.js +22 -0
  1164. package/webapp-dist/vendor/next/dist/shared/lib/utils.js +207 -0
  1165. package/webapp-dist/vendor/next/dist/shared/lib/zod.js +101 -0
  1166. package/webapp-dist/vendor/next/dist/telemetry/anonymous-meta.js +89 -0
  1167. package/webapp-dist/vendor/next/dist/telemetry/detached-flush.js +56 -0
  1168. package/webapp-dist/vendor/next/dist/telemetry/events/build.js +174 -0
  1169. package/webapp-dist/vendor/next/dist/telemetry/events/index.js +41 -0
  1170. package/webapp-dist/vendor/next/dist/telemetry/events/plugins.js +51 -0
  1171. package/webapp-dist/vendor/next/dist/telemetry/events/swc-load-failure.js +55 -0
  1172. package/webapp-dist/vendor/next/dist/telemetry/events/version.js +66 -0
  1173. package/webapp-dist/vendor/next/dist/telemetry/flush-telemetry.js +19 -0
  1174. package/webapp-dist/vendor/next/dist/telemetry/post-telemetry-payload.js +48 -0
  1175. package/webapp-dist/vendor/next/dist/telemetry/project-id.js +48 -0
  1176. package/webapp-dist/vendor/next/dist/telemetry/storage.js +301 -0
  1177. package/webapp-dist/vendor/next/dist/trace/index.js +54 -0
  1178. package/webapp-dist/vendor/next/dist/trace/report/index.js +37 -0
  1179. package/webapp-dist/vendor/next/dist/trace/report/to-json-build.js +137 -0
  1180. package/webapp-dist/vendor/next/dist/trace/report/to-json.js +151 -0
  1181. package/webapp-dist/vendor/next/dist/trace/report/to-telemetry.js +36 -0
  1182. package/webapp-dist/vendor/next/dist/trace/shared.js +39 -0
  1183. package/webapp-dist/vendor/next/dist/trace/trace.js +197 -0
  1184. package/webapp-dist/vendor/next/package.json +380 -0
  1185. /package/webapp-dist/.next/static/{6d9vQZJNWnbBaVrpBo9kx → BH8VS7faThzSEOQAvL7PS}/_buildManifest.js +0 -0
  1186. /package/webapp-dist/.next/static/{6d9vQZJNWnbBaVrpBo9kx → BH8VS7faThzSEOQAvL7PS}/_clientMiddlewareManifest.json +0 -0
  1187. /package/webapp-dist/.next/static/{6d9vQZJNWnbBaVrpBo9kx → BH8VS7faThzSEOQAvL7PS}/_ssgManifest.js +0 -0
  1188. /package/webapp-dist/{node_modules → vendor}/@next/env/dist/index.js +0 -0
  1189. /package/webapp-dist/{node_modules → vendor}/@next/env/package.json +0 -0
  1190. /package/webapp-dist/{node_modules → vendor}/buffer-from/index.js +0 -0
  1191. /package/webapp-dist/{node_modules → vendor}/buffer-from/package.json +0 -0
  1192. /package/webapp-dist/{node_modules → vendor}/client-only/index.js +0 -0
  1193. /package/webapp-dist/{node_modules → vendor}/client-only/package.json +0 -0
  1194. /package/webapp-dist/{node_modules → vendor}/detect-libc/lib/detect-libc.js +0 -0
  1195. /package/webapp-dist/{node_modules → vendor}/detect-libc/lib/elf.js +0 -0
  1196. /package/webapp-dist/{node_modules → vendor}/detect-libc/lib/filesystem.js +0 -0
  1197. /package/webapp-dist/{node_modules → vendor}/detect-libc/lib/process.js +0 -0
  1198. /package/webapp-dist/{node_modules → vendor}/detect-libc/package.json +0 -0
  1199. /package/webapp-dist/{node_modules → vendor}/react/cjs/react-jsx-dev-runtime.production.min.js +0 -0
  1200. /package/webapp-dist/{node_modules → vendor}/react/cjs/react-jsx-runtime.production.min.js +0 -0
  1201. /package/webapp-dist/{node_modules → vendor}/react/cjs/react.production.min.js +0 -0
  1202. /package/webapp-dist/{node_modules → vendor}/react/index.js +0 -0
  1203. /package/webapp-dist/{node_modules → vendor}/react/jsx-dev-runtime.js +0 -0
  1204. /package/webapp-dist/{node_modules → vendor}/react/jsx-runtime.js +0 -0
  1205. /package/webapp-dist/{node_modules → vendor}/react/package.json +0 -0
  1206. /package/webapp-dist/{node_modules → vendor}/react-dom/cjs/react-dom-server-legacy.browser.production.min.js +0 -0
  1207. /package/webapp-dist/{node_modules → vendor}/react-dom/cjs/react-dom-server-legacy.node.production.min.js +0 -0
  1208. /package/webapp-dist/{node_modules → vendor}/react-dom/cjs/react-dom-server.browser.production.min.js +0 -0
  1209. /package/webapp-dist/{node_modules → vendor}/react-dom/cjs/react-dom-server.node.production.min.js +0 -0
  1210. /package/webapp-dist/{node_modules → vendor}/react-dom/cjs/react-dom.production.min.js +0 -0
  1211. /package/webapp-dist/{node_modules → vendor}/react-dom/index.js +0 -0
  1212. /package/webapp-dist/{node_modules → vendor}/react-dom/package.json +0 -0
  1213. /package/webapp-dist/{node_modules → vendor}/react-dom/server.browser.js +0 -0
  1214. /package/webapp-dist/{node_modules → vendor}/react-dom/server.node.js +0 -0
  1215. /package/webapp-dist/{node_modules → vendor}/scheduler/cjs/scheduler.development.js +0 -0
  1216. /package/webapp-dist/{node_modules → vendor}/scheduler/cjs/scheduler.production.min.js +0 -0
  1217. /package/webapp-dist/{node_modules → vendor}/scheduler/index.js +0 -0
  1218. /package/webapp-dist/{node_modules → vendor}/scheduler/package.json +0 -0
  1219. /package/webapp-dist/{node_modules → vendor}/semver/classes/comparator.js +0 -0
  1220. /package/webapp-dist/{node_modules → vendor}/semver/classes/range.js +0 -0
  1221. /package/webapp-dist/{node_modules → vendor}/semver/classes/semver.js +0 -0
  1222. /package/webapp-dist/{node_modules → vendor}/semver/functions/cmp.js +0 -0
  1223. /package/webapp-dist/{node_modules → vendor}/semver/functions/coerce.js +0 -0
  1224. /package/webapp-dist/{node_modules → vendor}/semver/functions/compare.js +0 -0
  1225. /package/webapp-dist/{node_modules → vendor}/semver/functions/eq.js +0 -0
  1226. /package/webapp-dist/{node_modules → vendor}/semver/functions/gt.js +0 -0
  1227. /package/webapp-dist/{node_modules → vendor}/semver/functions/gte.js +0 -0
  1228. /package/webapp-dist/{node_modules → vendor}/semver/functions/lt.js +0 -0
  1229. /package/webapp-dist/{node_modules → vendor}/semver/functions/lte.js +0 -0
  1230. /package/webapp-dist/{node_modules → vendor}/semver/functions/neq.js +0 -0
  1231. /package/webapp-dist/{node_modules → vendor}/semver/functions/parse.js +0 -0
  1232. /package/webapp-dist/{node_modules → vendor}/semver/functions/satisfies.js +0 -0
  1233. /package/webapp-dist/{node_modules → vendor}/semver/internal/constants.js +0 -0
  1234. /package/webapp-dist/{node_modules → vendor}/semver/internal/debug.js +0 -0
  1235. /package/webapp-dist/{node_modules → vendor}/semver/internal/identifiers.js +0 -0
  1236. /package/webapp-dist/{node_modules → vendor}/semver/internal/lrucache.js +0 -0
  1237. /package/webapp-dist/{node_modules → vendor}/semver/internal/parse-options.js +0 -0
  1238. /package/webapp-dist/{node_modules → vendor}/semver/internal/re.js +0 -0
  1239. /package/webapp-dist/{node_modules → vendor}/semver/package.json +0 -0
  1240. /package/webapp-dist/{node_modules → vendor}/sharp/lib/channel.js +0 -0
  1241. /package/webapp-dist/{node_modules → vendor}/sharp/lib/colour.js +0 -0
  1242. /package/webapp-dist/{node_modules → vendor}/sharp/lib/composite.js +0 -0
  1243. /package/webapp-dist/{node_modules → vendor}/sharp/lib/constructor.js +0 -0
  1244. /package/webapp-dist/{node_modules → vendor}/sharp/lib/index.js +0 -0
  1245. /package/webapp-dist/{node_modules → vendor}/sharp/lib/input.js +0 -0
  1246. /package/webapp-dist/{node_modules → vendor}/sharp/lib/is.js +0 -0
  1247. /package/webapp-dist/{node_modules → vendor}/sharp/lib/libvips.js +0 -0
  1248. /package/webapp-dist/{node_modules → vendor}/sharp/lib/operation.js +0 -0
  1249. /package/webapp-dist/{node_modules → vendor}/sharp/lib/output.js +0 -0
  1250. /package/webapp-dist/{node_modules → vendor}/sharp/lib/resize.js +0 -0
  1251. /package/webapp-dist/{node_modules → vendor}/sharp/lib/sharp.js +0 -0
  1252. /package/webapp-dist/{node_modules → vendor}/sharp/lib/utility.js +0 -0
  1253. /package/webapp-dist/{node_modules → vendor}/sharp/package.json +0 -0
  1254. /package/webapp-dist/{node_modules → vendor}/source-map/lib/array-set.js +0 -0
  1255. /package/webapp-dist/{node_modules → vendor}/source-map/lib/base64-vlq.js +0 -0
  1256. /package/webapp-dist/{node_modules → vendor}/source-map/lib/base64.js +0 -0
  1257. /package/webapp-dist/{node_modules → vendor}/source-map/lib/binary-search.js +0 -0
  1258. /package/webapp-dist/{node_modules → vendor}/source-map/lib/mapping-list.js +0 -0
  1259. /package/webapp-dist/{node_modules → vendor}/source-map/lib/quick-sort.js +0 -0
  1260. /package/webapp-dist/{node_modules → vendor}/source-map/lib/source-map-consumer.js +0 -0
  1261. /package/webapp-dist/{node_modules → vendor}/source-map/lib/source-map-generator.js +0 -0
  1262. /package/webapp-dist/{node_modules → vendor}/source-map/lib/source-node.js +0 -0
  1263. /package/webapp-dist/{node_modules → vendor}/source-map/lib/util.js +0 -0
  1264. /package/webapp-dist/{node_modules → vendor}/source-map/package.json +0 -0
  1265. /package/webapp-dist/{node_modules → vendor}/source-map/source-map.js +0 -0
  1266. /package/webapp-dist/{node_modules → vendor}/source-map-support/LICENSE.md +0 -0
  1267. /package/webapp-dist/{node_modules → vendor}/source-map-support/README.md +0 -0
  1268. /package/webapp-dist/{node_modules → vendor}/source-map-support/browser-source-map-support.js +0 -0
  1269. /package/webapp-dist/{node_modules → vendor}/source-map-support/package.json +0 -0
  1270. /package/webapp-dist/{node_modules → vendor}/source-map-support/register-hook-require.js +0 -0
  1271. /package/webapp-dist/{node_modules → vendor}/source-map-support/register.js +0 -0
  1272. /package/webapp-dist/{node_modules → vendor}/source-map-support/source-map-support.js +0 -0
  1273. /package/webapp-dist/{node_modules → vendor}/styled-jsx/dist/index/index.js +0 -0
  1274. /package/webapp-dist/{node_modules → vendor}/styled-jsx/index.js +0 -0
  1275. /package/webapp-dist/{node_modules → vendor}/styled-jsx/package.json +0 -0
  1276. /package/webapp-dist/{node_modules → vendor}/styled-jsx/style.js +0 -0
  1277. /package/webapp-dist/{node_modules → vendor}/typescript/lib/_tsc.js +0 -0
  1278. /package/webapp-dist/{node_modules → vendor}/typescript/lib/_tsserver.js +0 -0
  1279. /package/webapp-dist/{node_modules → vendor}/typescript/lib/_typingsInstaller.js +0 -0
  1280. /package/webapp-dist/{node_modules → vendor}/typescript/lib/cs/diagnosticMessages.generated.json +0 -0
  1281. /package/webapp-dist/{node_modules → vendor}/typescript/lib/de/diagnosticMessages.generated.json +0 -0
  1282. /package/webapp-dist/{node_modules → vendor}/typescript/lib/es/diagnosticMessages.generated.json +0 -0
  1283. /package/webapp-dist/{node_modules → vendor}/typescript/lib/fr/diagnosticMessages.generated.json +0 -0
  1284. /package/webapp-dist/{node_modules → vendor}/typescript/lib/it/diagnosticMessages.generated.json +0 -0
  1285. /package/webapp-dist/{node_modules → vendor}/typescript/lib/ja/diagnosticMessages.generated.json +0 -0
  1286. /package/webapp-dist/{node_modules → vendor}/typescript/lib/ko/diagnosticMessages.generated.json +0 -0
  1287. /package/webapp-dist/{node_modules → vendor}/typescript/lib/pl/diagnosticMessages.generated.json +0 -0
  1288. /package/webapp-dist/{node_modules → vendor}/typescript/lib/pt-br/diagnosticMessages.generated.json +0 -0
  1289. /package/webapp-dist/{node_modules → vendor}/typescript/lib/ru/diagnosticMessages.generated.json +0 -0
  1290. /package/webapp-dist/{node_modules → vendor}/typescript/lib/tr/diagnosticMessages.generated.json +0 -0
  1291. /package/webapp-dist/{node_modules → vendor}/typescript/lib/tsc.js +0 -0
  1292. /package/webapp-dist/{node_modules → vendor}/typescript/lib/tsserver.js +0 -0
  1293. /package/webapp-dist/{node_modules → vendor}/typescript/lib/tsserverlibrary.js +0 -0
  1294. /package/webapp-dist/{node_modules → vendor}/typescript/lib/typesMap.json +0 -0
  1295. /package/webapp-dist/{node_modules → vendor}/typescript/lib/typescript.js +0 -0
  1296. /package/webapp-dist/{node_modules → vendor}/typescript/lib/typingsInstaller.js +0 -0
  1297. /package/webapp-dist/{node_modules → vendor}/typescript/lib/watchGuard.js +0 -0
  1298. /package/webapp-dist/{node_modules → vendor}/typescript/lib/zh-cn/diagnosticMessages.generated.json +0 -0
  1299. /package/webapp-dist/{node_modules → vendor}/typescript/lib/zh-tw/diagnosticMessages.generated.json +0 -0
  1300. /package/webapp-dist/{node_modules → vendor}/typescript/package.json +0 -0
@@ -0,0 +1,3526 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "renderToHTMLOrFlight", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return renderToHTMLOrFlight;
9
+ }
10
+ });
11
+ const _jsxruntime = require("react/jsx-runtime");
12
+ const _workasyncstorageexternal = require("../app-render/work-async-storage.external");
13
+ const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
14
+ const _renderresult = /*#__PURE__*/ _interop_require_default(require("../render-result"));
15
+ const _nodewebstreamshelper = require("../stream-utils/node-web-streams-helper");
16
+ const _internalutils = require("../internal-utils");
17
+ const _approuterheaders = require("../../client/components/app-router-headers");
18
+ const _metadatacontext = require("../../lib/metadata/metadata-context");
19
+ const _requeststore = require("../async-storage/request-store");
20
+ const _workstore = require("../async-storage/work-store");
21
+ const _httpaccessfallback = require("../../client/components/http-access-fallback/http-access-fallback");
22
+ const _redirect = require("../../client/components/redirect");
23
+ const _redirecterror = require("../../client/components/redirect-error");
24
+ const _implicittags = require("../lib/implicit-tags");
25
+ const _constants = require("../lib/trace/constants");
26
+ const _tracer = require("../lib/trace/tracer");
27
+ const _flightrenderresult = require("./flight-render-result");
28
+ const _createerrorhandler = require("./create-error-handler");
29
+ const _getshortdynamicparamtype = require("./get-short-dynamic-param-type");
30
+ const _getsegmentparam = require("../../shared/lib/router/utils/get-segment-param");
31
+ const _getscriptnoncefromheader = require("./get-script-nonce-from-header");
32
+ const _parseandvalidateflightrouterstate = require("./parse-and-validate-flight-router-state");
33
+ const _createflightrouterstatefromloadertree = require("./create-flight-router-state-from-loader-tree");
34
+ const _actionhandler = require("./action-handler");
35
+ const _bailouttocsr = require("../../shared/lib/lazy-dynamic/bailout-to-csr");
36
+ const _log = require("../../build/output/log");
37
+ const _requestcookies = require("../web/spec-extension/adapters/request-cookies");
38
+ const _serverinsertedhtml = require("./server-inserted-html");
39
+ const _requiredscripts = require("./required-scripts");
40
+ const _addpathprefix = require("../../shared/lib/router/utils/add-path-prefix");
41
+ const _makegetserverinsertedhtml = require("./make-get-server-inserted-html");
42
+ const _walktreewithflightrouterstate = require("./walk-tree-with-flight-router-state");
43
+ const _createcomponenttree = require("./create-component-tree");
44
+ const _getassetquerystring = require("./get-asset-query-string");
45
+ const _manifestssingleton = require("./manifests-singleton");
46
+ const _postponedstate = require("./postponed-state");
47
+ const _hooksservercontext = require("../../client/components/hooks-server-context");
48
+ const _useflightresponse = require("./use-flight-response");
49
+ const _staticgenerationbailout = require("../../client/components/static-generation-bailout");
50
+ const _formatservererror = require("../../lib/format-server-error");
51
+ const _dynamicrendering = require("./dynamic-rendering");
52
+ const _clientcomponentrendererlogger = require("../client-component-renderer-logger");
53
+ const _helpers = require("../base-http/helpers");
54
+ const _parserelativeurl = require("../../shared/lib/router/utils/parse-relative-url");
55
+ const _approuter = /*#__PURE__*/ _interop_require_default(require("../../client/components/app-router"));
56
+ const _serveractionrequestmeta = require("../lib/server-action-request-meta");
57
+ const _createinitialrouterstate = require("../../client/components/router-reducer/create-initial-router-state");
58
+ const _approuterinstance = require("../../client/components/app-router-instance");
59
+ const _utils = require("../instrumentation/utils");
60
+ const _segment = require("../../shared/lib/segment");
61
+ const _apprenderprerenderutils = require("./app-render-prerender-utils");
62
+ const _prospectiverenderutils = require("./prospective-render-utils");
63
+ const _apprenderrenderutils = require("./app-render-render-utils");
64
+ const _scheduler = require("../../lib/scheduler");
65
+ const _workunitasyncstorageexternal = require("./work-unit-async-storage.external");
66
+ const _consoleasyncstorageexternal = require("./console-async-storage.external");
67
+ const _cachesignal = require("./cache-signal");
68
+ const _utils1 = require("../lib/trace/utils");
69
+ const _invarianterror = require("../../shared/lib/invariant-error");
70
+ const _constants1 = require("../../lib/constants");
71
+ const _createcomponentstylesandscripts = require("./create-component-styles-and-scripts");
72
+ const _parseloadertree = require("../../shared/lib/router/utils/parse-loader-tree");
73
+ const _resumedatacache = require("../resume-data-cache/resume-data-cache");
74
+ const _iserror = /*#__PURE__*/ _interop_require_default(require("../../lib/is-error"));
75
+ const _createserverinsertedmetadata = require("./metadata-insertion/create-server-inserted-metadata");
76
+ const _serverutils = require("../server-utils");
77
+ const _revalidationutils = require("../revalidation-utils");
78
+ const _trackmoduleloadingexternal = require("./module-loading/track-module-loading.external");
79
+ const _reactlargeshellerror = require("./react-large-shell-error");
80
+ const _segmentexplorerpath = require("./segment-explorer-path");
81
+ const _requestmeta = require("../request-meta");
82
+ const _getdynamicparam = require("../../shared/lib/router/utils/get-dynamic-param");
83
+ const _promisewithresolvers = require("../../shared/lib/promise-with-resolvers");
84
+ const _imageconfigcontextsharedruntime = require("../../shared/lib/image-config-context.shared-runtime");
85
+ const _imageconfig = require("../../shared/lib/image-config");
86
+ const _stagedrendering = require("./staged-rendering");
87
+ const _stagedvalidation = require("./staged-validation");
88
+ const _warnonce = require("../../shared/lib/utils/warn-once");
89
+ function _interop_require_default(obj) {
90
+ return obj && obj.__esModule ? obj : {
91
+ default: obj
92
+ };
93
+ }
94
+ function _getRequireWildcardCache(nodeInterop) {
95
+ if (typeof WeakMap !== "function") return null;
96
+ var cacheBabelInterop = new WeakMap();
97
+ var cacheNodeInterop = new WeakMap();
98
+ return (_getRequireWildcardCache = function(nodeInterop) {
99
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
100
+ })(nodeInterop);
101
+ }
102
+ function _interop_require_wildcard(obj, nodeInterop) {
103
+ if (!nodeInterop && obj && obj.__esModule) {
104
+ return obj;
105
+ }
106
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
107
+ return {
108
+ default: obj
109
+ };
110
+ }
111
+ var cache = _getRequireWildcardCache(nodeInterop);
112
+ if (cache && cache.has(obj)) {
113
+ return cache.get(obj);
114
+ }
115
+ var newObj = {
116
+ __proto__: null
117
+ };
118
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
119
+ for(var key in obj){
120
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
121
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
122
+ if (desc && (desc.get || desc.set)) {
123
+ Object.defineProperty(newObj, key, desc);
124
+ } else {
125
+ newObj[key] = obj[key];
126
+ }
127
+ }
128
+ }
129
+ newObj.default = obj;
130
+ if (cache) {
131
+ cache.set(obj, newObj);
132
+ }
133
+ return newObj;
134
+ }
135
+ const flightDataPathHeadKey = 'h';
136
+ const getFlightViewportKey = (requestId)=>requestId + 'v';
137
+ const getFlightMetadataKey = (requestId)=>requestId + 'm';
138
+ const filterStackFrame = process.env.NODE_ENV !== 'production' ? require('../lib/source-maps').filterStackFrameDEV : undefined;
139
+ function parseRequestHeaders(headers, options) {
140
+ // runtime prefetch requests are *not* treated as prefetch requests
141
+ // (TODO: this is confusing, we should refactor this to express this better)
142
+ const isPrefetchRequest = headers[_approuterheaders.NEXT_ROUTER_PREFETCH_HEADER] === '1';
143
+ const isRuntimePrefetchRequest = headers[_approuterheaders.NEXT_ROUTER_PREFETCH_HEADER] === '2';
144
+ const isHmrRefresh = headers[_approuterheaders.NEXT_HMR_REFRESH_HEADER] !== undefined;
145
+ const isRSCRequest = headers[_approuterheaders.RSC_HEADER] !== undefined;
146
+ const shouldProvideFlightRouterState = isRSCRequest && (!isPrefetchRequest || !options.isRoutePPREnabled);
147
+ const flightRouterState = shouldProvideFlightRouterState ? (0, _parseandvalidateflightrouterstate.parseAndValidateFlightRouterState)(headers[_approuterheaders.NEXT_ROUTER_STATE_TREE_HEADER]) : undefined;
148
+ // Checks if this is a prefetch of the Route Tree by the Segment Cache
149
+ const isRouteTreePrefetchRequest = headers[_approuterheaders.NEXT_ROUTER_SEGMENT_PREFETCH_HEADER] === '/_tree';
150
+ const csp = headers['content-security-policy'] || headers['content-security-policy-report-only'];
151
+ const nonce = typeof csp === 'string' ? (0, _getscriptnoncefromheader.getScriptNonceFromHeader)(csp) : undefined;
152
+ const previouslyRevalidatedTags = (0, _serverutils.getPreviouslyRevalidatedTags)(headers, options.previewModeId);
153
+ let requestId;
154
+ let htmlRequestId;
155
+ if (process.env.NODE_ENV !== 'production') {
156
+ // The request IDs are only used in development mode to send debug
157
+ // information to the matching client (identified by the HTML request ID
158
+ // that was sent to the client with the HTML document) for the current
159
+ // request (identified by the request ID, as defined by the client).
160
+ requestId = typeof headers[_approuterheaders.NEXT_REQUEST_ID_HEADER] === 'string' ? headers[_approuterheaders.NEXT_REQUEST_ID_HEADER] : undefined;
161
+ htmlRequestId = typeof headers[_approuterheaders.NEXT_HTML_REQUEST_ID_HEADER] === 'string' ? headers[_approuterheaders.NEXT_HTML_REQUEST_ID_HEADER] : undefined;
162
+ }
163
+ return {
164
+ flightRouterState,
165
+ isPrefetchRequest,
166
+ isRuntimePrefetchRequest,
167
+ isRouteTreePrefetchRequest,
168
+ isHmrRefresh,
169
+ isRSCRequest,
170
+ nonce,
171
+ previouslyRevalidatedTags,
172
+ requestId,
173
+ htmlRequestId
174
+ };
175
+ }
176
+ function createNotFoundLoaderTree(loaderTree) {
177
+ const components = loaderTree[2];
178
+ const hasGlobalNotFound = !!components['global-not-found'];
179
+ const notFoundTreeComponents = hasGlobalNotFound ? {
180
+ layout: components['global-not-found'],
181
+ page: [
182
+ ()=>null,
183
+ 'next/dist/client/components/builtin/empty-stub'
184
+ ]
185
+ } : {
186
+ page: components['not-found']
187
+ };
188
+ return [
189
+ '',
190
+ {
191
+ children: [
192
+ _segment.PAGE_SEGMENT_KEY,
193
+ {},
194
+ notFoundTreeComponents
195
+ ]
196
+ },
197
+ // When global-not-found is present, skip layout from components
198
+ hasGlobalNotFound ? components : {}
199
+ ];
200
+ }
201
+ /**
202
+ * Returns a function that parses the dynamic segment and return the associated value.
203
+ */ function makeGetDynamicParamFromSegment(interpolatedParams, fallbackRouteParams) {
204
+ return function getDynamicParamFromSegment(// [slug] / [[slug]] / [...slug]
205
+ segment) {
206
+ const segmentParam = (0, _getsegmentparam.getSegmentParam)(segment);
207
+ if (!segmentParam) {
208
+ return null;
209
+ }
210
+ const segmentKey = segmentParam.paramName;
211
+ const dynamicParamType = _getshortdynamicparamtype.dynamicParamTypes[segmentParam.paramType];
212
+ return (0, _getdynamicparam.getDynamicParam)(interpolatedParams, segmentKey, dynamicParamType, fallbackRouteParams);
213
+ };
214
+ }
215
+ function NonIndex({ createElement, pagePath, statusCode, isPossibleServerAction }) {
216
+ const is404Page = pagePath === '/404';
217
+ const isInvalidStatusCode = typeof statusCode === 'number' && statusCode > 400;
218
+ // Only render noindex for page request, skip for server actions
219
+ // TODO: is this correct if `isPossibleServerAction` is a false positive?
220
+ if (!isPossibleServerAction && (is404Page || isInvalidStatusCode)) {
221
+ return createElement('meta', {
222
+ name: 'robots',
223
+ content: 'noindex'
224
+ });
225
+ }
226
+ return null;
227
+ }
228
+ /**
229
+ * This is used by server actions & client-side navigations to generate RSC data from a client-side request.
230
+ * This function is only called on "dynamic" requests (ie, there wasn't already a static response).
231
+ * It uses request headers (namely `next-router-state-tree`) to determine where to start rendering.
232
+ */ async function generateDynamicRSCPayload(ctx, options) {
233
+ // Flight data that is going to be passed to the browser.
234
+ // Currently a single item array but in the future multiple patches might be combined in a single request.
235
+ // We initialize `flightData` to an empty string because the client router knows how to tolerate
236
+ // it (treating it as an MPA navigation). The only time this function wouldn't generate flight data
237
+ // is for server actions, if the server action handler instructs this function to skip it. When the server
238
+ // action reducer sees a falsy value, it'll simply resolve the action with no data.
239
+ let flightData = '';
240
+ const { componentMod: { routeModule: { userland: { loaderTree } }, createElement, createMetadataComponents, Fragment }, getDynamicParamFromSegment, query, requestId, flightRouterState, workStore, url } = ctx;
241
+ const serveStreamingMetadata = !!ctx.renderOpts.serveStreamingMetadata;
242
+ if (!(options == null ? void 0 : options.skipPageRendering)) {
243
+ const preloadCallbacks = [];
244
+ const { Viewport, Metadata, MetadataOutlet } = createMetadataComponents({
245
+ tree: loaderTree,
246
+ parsedQuery: query,
247
+ pathname: url.pathname,
248
+ metadataContext: (0, _metadatacontext.createMetadataContext)(ctx.renderOpts),
249
+ getDynamicParamFromSegment,
250
+ workStore,
251
+ serveStreamingMetadata
252
+ });
253
+ flightData = (await (0, _walktreewithflightrouterstate.walkTreeWithFlightRouterState)({
254
+ ctx,
255
+ loaderTreeToFilter: loaderTree,
256
+ parentParams: {},
257
+ flightRouterState,
258
+ // For flight, render metadata inside leaf page
259
+ rscHead: createElement(Fragment, {
260
+ key: flightDataPathHeadKey
261
+ }, createElement(NonIndex, {
262
+ createElement,
263
+ pagePath: ctx.pagePath,
264
+ statusCode: ctx.res.statusCode,
265
+ isPossibleServerAction: ctx.isPossibleServerAction
266
+ }), createElement(Viewport, {
267
+ key: getFlightViewportKey(requestId)
268
+ }), createElement(Metadata, {
269
+ key: getFlightMetadataKey(requestId)
270
+ })),
271
+ injectedCSS: new Set(),
272
+ injectedJS: new Set(),
273
+ injectedFontPreloadTags: new Set(),
274
+ rootLayoutIncluded: false,
275
+ preloadCallbacks,
276
+ MetadataOutlet
277
+ })).map((path)=>path.slice(1)) // remove the '' (root) segment
278
+ ;
279
+ }
280
+ const varyHeader = ctx.res.getHeader('vary');
281
+ const couldBeIntercepted = typeof varyHeader === 'string' && varyHeader.includes(_approuterheaders.NEXT_URL);
282
+ // If we have an action result, then this is a server action response.
283
+ // We can rely on this because `ActionResult` will always be a promise, even if
284
+ // the result is falsey.
285
+ if (options == null ? void 0 : options.actionResult) {
286
+ return {
287
+ a: options.actionResult,
288
+ f: flightData,
289
+ b: ctx.sharedContext.buildId,
290
+ q: getRenderedSearch(query),
291
+ i: !!couldBeIntercepted
292
+ };
293
+ }
294
+ // Otherwise, it's a regular RSC response.
295
+ const baseResponse = {
296
+ b: ctx.sharedContext.buildId,
297
+ f: flightData,
298
+ q: getRenderedSearch(query),
299
+ i: !!couldBeIntercepted,
300
+ S: workStore.isStaticGeneration
301
+ };
302
+ // For runtime prefetches, we encode the stale time and isPartial flag in the response body
303
+ // rather than relying on response headers. Both of these values will be transformed
304
+ // by a transform stream before being sent to the client.
305
+ if ((options == null ? void 0 : options.runtimePrefetchSentinel) !== undefined) {
306
+ return {
307
+ ...baseResponse,
308
+ rp: [
309
+ options.runtimePrefetchSentinel
310
+ ]
311
+ };
312
+ }
313
+ return baseResponse;
314
+ }
315
+ function createErrorContext(ctx, renderSource) {
316
+ return {
317
+ routerKind: 'App Router',
318
+ routePath: ctx.pagePath,
319
+ // TODO: is this correct if `isPossibleServerAction` is a false positive?
320
+ routeType: ctx.isPossibleServerAction ? 'action' : 'render',
321
+ renderSource,
322
+ revalidateReason: (0, _utils.getRevalidateReason)(ctx.workStore)
323
+ };
324
+ }
325
+ /**
326
+ * Produces a RenderResult containing the Flight data for the given request. See
327
+ * `generateDynamicRSCPayload` for information on the contents of the render result.
328
+ */ async function generateDynamicFlightRenderResult(req, ctx, requestStore, options) {
329
+ const { componentMod: { renderToReadableStream }, htmlRequestId, renderOpts, requestId, workStore } = ctx;
330
+ const { dev = false, onInstrumentationRequestError, setReactDebugChannel, nextExport = false } = renderOpts;
331
+ function onFlightDataRenderError(err, silenceLog) {
332
+ return onInstrumentationRequestError == null ? void 0 : onInstrumentationRequestError(err, req, createErrorContext(ctx, 'react-server-components-payload'), silenceLog);
333
+ }
334
+ const onError = (0, _createerrorhandler.createReactServerErrorHandler)(dev, nextExport, workStore.reactServerErrorsByDigest, onFlightDataRenderError);
335
+ const debugChannel = setReactDebugChannel && createDebugChannel();
336
+ if (debugChannel) {
337
+ setReactDebugChannel(debugChannel.clientSide, htmlRequestId, requestId);
338
+ }
339
+ const { clientModules } = (0, _manifestssingleton.getClientReferenceManifest)();
340
+ // For app dir, use the bundled version of Flight server renderer (renderToReadableStream)
341
+ // which contains the subset React.
342
+ const rscPayload = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(requestStore, generateDynamicRSCPayload, ctx, options);
343
+ const flightReadableStream = _workunitasyncstorageexternal.workUnitAsyncStorage.run(requestStore, renderToReadableStream, rscPayload, clientModules, {
344
+ onError,
345
+ temporaryReferences: options == null ? void 0 : options.temporaryReferences,
346
+ filterStackFrame,
347
+ debugChannel: debugChannel == null ? void 0 : debugChannel.serverSide
348
+ });
349
+ return new _flightrenderresult.FlightRenderResult(flightReadableStream, {
350
+ fetchMetrics: workStore.fetchMetrics
351
+ }, options == null ? void 0 : options.waitUntil);
352
+ }
353
+ async function stagedRenderToReadableStreamWithoutCachesInDev(ctx, requestStore, getPayload, options) {
354
+ const { componentMod: { renderToReadableStream } } = ctx;
355
+ // We're rendering while bypassing caches,
356
+ // so we have no hope of showing a useful runtime stage.
357
+ // But we still want things like `params` to show up in devtools correctly,
358
+ // which relies on mechanisms we've set up for staged rendering,
359
+ // so we do a 2-task version (Static -> Dynamic) instead.
360
+ // We aren't doing any validation in this kind of render so we say there
361
+ // is not runtime prefetch regardless of whether there is or not
362
+ const hasRuntimePrefetch = false;
363
+ // We aren't filling caches so we don't need to abort this render, it'll
364
+ // stream in a single pass
365
+ const abortSignal = null;
366
+ const stageController = new _stagedrendering.StagedRenderingController(abortSignal, hasRuntimePrefetch);
367
+ const environmentName = ()=>{
368
+ const currentStage = stageController.currentStage;
369
+ switch(currentStage){
370
+ case _stagedrendering.RenderStage.Before:
371
+ case _stagedrendering.RenderStage.Static:
372
+ return 'Prerender';
373
+ case _stagedrendering.RenderStage.Runtime:
374
+ case _stagedrendering.RenderStage.Dynamic:
375
+ case _stagedrendering.RenderStage.Abandoned:
376
+ return 'Server';
377
+ default:
378
+ currentStage;
379
+ throw Object.defineProperty(new _invarianterror.InvariantError(`Invalid render stage: ${currentStage}`), "__NEXT_ERROR_CODE", {
380
+ value: "E881",
381
+ enumerable: false,
382
+ configurable: true
383
+ });
384
+ }
385
+ };
386
+ requestStore.stagedRendering = stageController;
387
+ requestStore.asyncApiPromises = createAsyncApiPromisesInDev(stageController, requestStore.cookies, requestStore.mutableCookies, requestStore.headers);
388
+ const { clientModules } = (0, _manifestssingleton.getClientReferenceManifest)();
389
+ const rscPayload = await getPayload(requestStore);
390
+ return await _workunitasyncstorageexternal.workUnitAsyncStorage.run(requestStore, _apprenderrenderutils.scheduleInSequentialTasks, ()=>{
391
+ stageController.advanceStage(_stagedrendering.RenderStage.Static);
392
+ return renderToReadableStream(rscPayload, clientModules, {
393
+ ...options,
394
+ environmentName
395
+ });
396
+ }, ()=>{
397
+ stageController.advanceStage(_stagedrendering.RenderStage.Dynamic);
398
+ });
399
+ }
400
+ /**
401
+ * Fork of `generateDynamicFlightRenderResult` that renders using `renderWithRestartOnCacheMissInDev`
402
+ * to ensure correct separation of environments Prerender/Server (for use in Cache Components)
403
+ */ async function generateDynamicFlightRenderResultWithStagesInDev(req, ctx, initialRequestStore, createRequestStore, devFallbackParams) {
404
+ const { htmlRequestId, renderOpts, requestId, workStore, componentMod: { createElement }, url } = ctx;
405
+ const { dev = false, onInstrumentationRequestError, setReactDebugChannel, setCacheStatus, nextExport = false } = renderOpts;
406
+ function onFlightDataRenderError(err, silenceLog) {
407
+ return onInstrumentationRequestError == null ? void 0 : onInstrumentationRequestError(err, req, createErrorContext(ctx, 'react-server-components-payload'), silenceLog);
408
+ }
409
+ const onError = (0, _createerrorhandler.createReactServerErrorHandler)(dev, nextExport, workStore.reactServerErrorsByDigest, onFlightDataRenderError);
410
+ // We only validate RSC requests if it is for HMR refreshes since we know we
411
+ // will render all the layouts necessary to perform the validation.
412
+ const shouldValidate = !isBypassingCachesInDev(renderOpts, initialRequestStore) && initialRequestStore.isHmrRefresh === true;
413
+ const getPayload = async (requestStore)=>{
414
+ const payload = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(requestStore, generateDynamicRSCPayload, ctx, undefined);
415
+ if (isBypassingCachesInDev(renderOpts, requestStore)) {
416
+ // Mark the RSC payload to indicate that caches were bypassed in dev.
417
+ // This lets the client know not to cache anything based on this render.
418
+ payload._bypassCachesInDev = createElement(WarnForBypassCachesInDev, {
419
+ route: workStore.route
420
+ });
421
+ } else if (shouldValidate) {
422
+ // If this payload will be used for validation, it needs to contain the
423
+ // canonical URL. Without it we'd get an error.
424
+ payload.c = prepareInitialCanonicalUrl(url);
425
+ }
426
+ return payload;
427
+ };
428
+ let debugChannel;
429
+ let stream;
430
+ if (// We only do this flow if we can safely recreate the store from scratch
431
+ // (which is not the case for renders after an action)
432
+ createRequestStore && // We only do this flow if we're not bypassing caches in dev using
433
+ // "disable cache" in devtools or a hard refresh (cache-control: "no-store")
434
+ !isBypassingCachesInDev(renderOpts, initialRequestStore)) {
435
+ // Before we kick off the render, we set the cache status back to it's initial state
436
+ // in case a previous render bypassed the cache.
437
+ if (setCacheStatus) {
438
+ setCacheStatus('ready', htmlRequestId);
439
+ }
440
+ const { stream: serverStream, accumulatedChunksPromise, staticInterruptReason, runtimeInterruptReason, staticStageEndTime, runtimeStageEndTime, debugChannel: returnedDebugChannel, requestStore: finalRequestStore } = await renderWithRestartOnCacheMissInDev(ctx, initialRequestStore, createRequestStore, getPayload, onError);
441
+ if (shouldValidate) {
442
+ let validationDebugChannelClient = undefined;
443
+ if (returnedDebugChannel) {
444
+ const [t1, t2] = returnedDebugChannel.clientSide.readable.tee();
445
+ returnedDebugChannel.clientSide.readable = t1;
446
+ validationDebugChannelClient = nodeStreamFromReadableStream(t2);
447
+ }
448
+ _consoleasyncstorageexternal.consoleAsyncStorage.run({
449
+ dim: true
450
+ }, spawnStaticShellValidationInDev, accumulatedChunksPromise, staticInterruptReason, runtimeInterruptReason, staticStageEndTime, runtimeStageEndTime, ctx, finalRequestStore, devFallbackParams, validationDebugChannelClient);
451
+ }
452
+ debugChannel = returnedDebugChannel;
453
+ stream = serverStream;
454
+ } else {
455
+ // We're either bypassing caches or we can't restart the render.
456
+ // Do a dynamic render, but with (basic) environment labels.
457
+ // Set cache status to bypass when specifically bypassing caches in dev
458
+ if (setCacheStatus) {
459
+ setCacheStatus('bypass', htmlRequestId);
460
+ }
461
+ debugChannel = setReactDebugChannel && createDebugChannel();
462
+ stream = await stagedRenderToReadableStreamWithoutCachesInDev(ctx, initialRequestStore, getPayload, {
463
+ onError: onError,
464
+ filterStackFrame,
465
+ debugChannel: debugChannel == null ? void 0 : debugChannel.serverSide
466
+ });
467
+ }
468
+ if (debugChannel && setReactDebugChannel) {
469
+ setReactDebugChannel(debugChannel.clientSide, htmlRequestId, requestId);
470
+ }
471
+ return new _flightrenderresult.FlightRenderResult(stream, {
472
+ fetchMetrics: workStore.fetchMetrics
473
+ });
474
+ }
475
+ async function generateRuntimePrefetchResult(req, ctx, requestStore) {
476
+ const { workStore, renderOpts } = ctx;
477
+ const { nextExport = false, onInstrumentationRequestError } = renderOpts;
478
+ function onFlightDataRenderError(err, silenceLog) {
479
+ return onInstrumentationRequestError == null ? void 0 : onInstrumentationRequestError(err, req, // TODO(runtime-ppr): should we use a different value?
480
+ createErrorContext(ctx, 'react-server-components-payload'), silenceLog);
481
+ }
482
+ const onError = (0, _createerrorhandler.createReactServerErrorHandler)(false, nextExport, workStore.reactServerErrorsByDigest, onFlightDataRenderError);
483
+ const metadata = {};
484
+ // Generate a random sentinel that will be used as a placeholder in the payload
485
+ // and later replaced by the transform stream
486
+ const runtimePrefetchSentinel = Math.floor(Math.random() * Number.MAX_SAFE_INTEGER);
487
+ const generatePayload = ()=>generateDynamicRSCPayload(ctx, {
488
+ runtimePrefetchSentinel
489
+ });
490
+ const { componentMod: { routeModule: { userland: { loaderTree } } }, getDynamicParamFromSegment } = ctx;
491
+ const rootParams = (0, _createcomponenttree.getRootParams)(loaderTree, getDynamicParamFromSegment);
492
+ // We need to share caches between the prospective prerender and the final prerender,
493
+ // but we're not going to persist this anywhere.
494
+ const prerenderResumeDataCache = (0, _resumedatacache.createPrerenderResumeDataCache)();
495
+ // We're not resuming an existing render.
496
+ const renderResumeDataCache = null;
497
+ await prospectiveRuntimeServerPrerender(ctx, generatePayload, prerenderResumeDataCache, renderResumeDataCache, rootParams, requestStore.headers, requestStore.cookies, requestStore.draftMode);
498
+ const response = await finalRuntimeServerPrerender(ctx, generatePayload, prerenderResumeDataCache, renderResumeDataCache, rootParams, requestStore.headers, requestStore.cookies, requestStore.draftMode, onError, runtimePrefetchSentinel);
499
+ applyMetadataFromPrerenderResult(response, metadata, workStore);
500
+ metadata.fetchMetrics = ctx.workStore.fetchMetrics;
501
+ return new _flightrenderresult.FlightRenderResult(response.result.prelude, metadata);
502
+ }
503
+ async function prospectiveRuntimeServerPrerender(ctx, getPayload, prerenderResumeDataCache, renderResumeDataCache, rootParams, headers, cookies, draftMode) {
504
+ const { implicitTags, renderOpts, workStore } = ctx;
505
+ const { ComponentMod } = renderOpts;
506
+ // Prerender controller represents the lifetime of the prerender.
507
+ // It will be aborted when a Task is complete or a synchronously aborting
508
+ // API is called. Notably during cache-filling renders this does not actually
509
+ // terminate the render itself which will continue until all caches are filled
510
+ const initialServerPrerenderController = new AbortController();
511
+ // This controller represents the lifetime of the React render call. Notably
512
+ // during the cache-filling render it is different from the prerender controller
513
+ // because we don't want to end the react render until all caches are filled.
514
+ const initialServerRenderController = new AbortController();
515
+ // The cacheSignal helps us track whether caches are still filling or we are ready
516
+ // to cut the render off.
517
+ const cacheSignal = new _cachesignal.CacheSignal();
518
+ const initialServerPrerenderStore = {
519
+ type: 'prerender-runtime',
520
+ phase: 'render',
521
+ rootParams,
522
+ implicitTags,
523
+ renderSignal: initialServerRenderController.signal,
524
+ controller: initialServerPrerenderController,
525
+ // During the initial prerender we need to track all cache reads to ensure
526
+ // we render long enough to fill every cache it is possible to visit during
527
+ // the final prerender.
528
+ cacheSignal,
529
+ // We only need to track dynamic accesses during the final prerender.
530
+ dynamicTracking: null,
531
+ // Runtime prefetches are never cached server-side, only client-side,
532
+ // so we set `expire` and `revalidate` to their minimum values just in case.
533
+ revalidate: 1,
534
+ expire: 0,
535
+ stale: _constants1.INFINITE_CACHE,
536
+ tags: [
537
+ ...implicitTags.tags
538
+ ],
539
+ renderResumeDataCache,
540
+ prerenderResumeDataCache,
541
+ hmrRefreshHash: undefined,
542
+ // We only need task sequencing in the final prerender.
543
+ runtimeStagePromise: null,
544
+ // These are not present in regular prerenders, but allowed in a runtime prerender.
545
+ headers,
546
+ cookies,
547
+ draftMode
548
+ };
549
+ const { clientModules } = (0, _manifestssingleton.getClientReferenceManifest)();
550
+ // We're not going to use the result of this render because the only time it could be used
551
+ // is if it completes in a microtask and that's likely very rare for any non-trivial app
552
+ const initialServerPayload = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(initialServerPrerenderStore, getPayload);
553
+ const pendingInitialServerResult = _workunitasyncstorageexternal.workUnitAsyncStorage.run(initialServerPrerenderStore, ComponentMod.prerender, initialServerPayload, clientModules, {
554
+ filterStackFrame,
555
+ onError: (err)=>{
556
+ const digest = (0, _createerrorhandler.getDigestForWellKnownError)(err);
557
+ if (digest) {
558
+ return digest;
559
+ }
560
+ if (initialServerPrerenderController.signal.aborted) {
561
+ // The render aborted before this error was handled which indicates
562
+ // the error is caused by unfinished components within the render
563
+ return;
564
+ } else if (process.env.NEXT_DEBUG_BUILD || process.env.__NEXT_VERBOSE_LOGGING) {
565
+ (0, _prospectiverenderutils.printDebugThrownValueForProspectiveRender)(err, workStore.route, _prospectiverenderutils.Phase.ProspectiveRender);
566
+ }
567
+ },
568
+ // We don't want to stop rendering until the cacheSignal is complete so we pass
569
+ // a different signal to this render call than is used by dynamic APIs to signify
570
+ // transitioning out of the prerender environment
571
+ signal: initialServerRenderController.signal
572
+ });
573
+ // Wait for all caches to be finished filling and for async imports to resolve
574
+ (0, _trackmoduleloadingexternal.trackPendingModules)(cacheSignal);
575
+ await cacheSignal.cacheReady();
576
+ initialServerRenderController.abort();
577
+ initialServerPrerenderController.abort();
578
+ // We don't need to continue the prerender process if we already
579
+ // detected invalid dynamic usage in the initial prerender phase.
580
+ if (workStore.invalidDynamicUsageError) {
581
+ throw workStore.invalidDynamicUsageError;
582
+ }
583
+ try {
584
+ return await (0, _apprenderprerenderutils.createReactServerPrerenderResult)(pendingInitialServerResult);
585
+ } catch (err) {
586
+ if (initialServerRenderController.signal.aborted || initialServerPrerenderController.signal.aborted) {
587
+ // These are expected errors that might error the prerender. we ignore them.
588
+ } else if (process.env.NEXT_DEBUG_BUILD || process.env.__NEXT_VERBOSE_LOGGING) {
589
+ // We don't normally log these errors because we are going to retry anyway but
590
+ // it can be useful for debugging Next.js itself to get visibility here when needed
591
+ (0, _prospectiverenderutils.printDebugThrownValueForProspectiveRender)(err, workStore.route, _prospectiverenderutils.Phase.ProspectiveRender);
592
+ }
593
+ return null;
594
+ }
595
+ }
596
+ /**
597
+ * Updates the runtime prefetch metadata in the RSC payload as it streams:
598
+ * "rp":[<sentinel>] -> "rp":[<isPartial>,<staleTime>]
599
+ *
600
+ * We use a transform stream to do this to avoid needing to trigger an additional render.
601
+ * A random sentinel number guarantees no collision with user data.
602
+ */ function createRuntimePrefetchTransformStream(sentinel, isPartial, staleTime) {
603
+ const encoder = new TextEncoder();
604
+ // Search for: [<sentinel>]
605
+ // Replace with: [<isPartial>,<staleTime>]
606
+ const search = encoder.encode(`[${sentinel}]`);
607
+ const first = search[0];
608
+ const replace = encoder.encode(`[${isPartial},${staleTime}]`);
609
+ const searchLen = search.length;
610
+ let currentChunk = null;
611
+ let found = false;
612
+ function processChunk(controller, nextChunk) {
613
+ if (found) {
614
+ if (nextChunk) {
615
+ controller.enqueue(nextChunk);
616
+ }
617
+ return;
618
+ }
619
+ if (currentChunk) {
620
+ // We can't search past the index that can contain a full match
621
+ let exclusiveUpperBound = currentChunk.length - (searchLen - 1);
622
+ if (nextChunk) {
623
+ // If we have any overflow bytes we can search up to the chunk's final byte
624
+ exclusiveUpperBound += Math.min(nextChunk.length, searchLen - 1);
625
+ }
626
+ if (exclusiveUpperBound < 1) {
627
+ // we can't match the current chunk.
628
+ controller.enqueue(currentChunk);
629
+ currentChunk = nextChunk // advance so we don't process this chunk again
630
+ ;
631
+ return;
632
+ }
633
+ let currentIndex = currentChunk.indexOf(first);
634
+ // check the current candidate match if it is within the bounds of our search space for the currentChunk
635
+ candidateLoop: while(-1 < currentIndex && currentIndex < exclusiveUpperBound){
636
+ // We already know index 0 matches because we used indexOf to find the candidateIndex so we start at index 1
637
+ let matchIndex = 1;
638
+ while(matchIndex < searchLen){
639
+ const candidateIndex = currentIndex + matchIndex;
640
+ const candidateValue = candidateIndex < currentChunk.length ? currentChunk[candidateIndex] : nextChunk[candidateIndex - currentChunk.length];
641
+ if (candidateValue !== search[matchIndex]) {
642
+ // No match, reset and continue the search from the next position
643
+ currentIndex = currentChunk.indexOf(first, currentIndex + 1);
644
+ continue candidateLoop;
645
+ }
646
+ matchIndex++;
647
+ }
648
+ // We found a complete match. currentIndex is our starting point to replace the value.
649
+ found = true;
650
+ // enqueue everything up to the match
651
+ controller.enqueue(currentChunk.subarray(0, currentIndex));
652
+ // enqueue the replacement value
653
+ controller.enqueue(replace);
654
+ // If there are bytes in the currentChunk after the match enqueue them
655
+ if (currentIndex + searchLen < currentChunk.length) {
656
+ controller.enqueue(currentChunk.slice(currentIndex + searchLen));
657
+ }
658
+ // If we have a next chunk we enqueue it now
659
+ if (nextChunk) {
660
+ // if replacement spills over to the next chunk we first exclude the replaced bytes
661
+ const overflowBytes = currentIndex + searchLen - currentChunk.length;
662
+ const truncatedChunk = overflowBytes > 0 ? nextChunk.subarray(overflowBytes) : nextChunk;
663
+ controller.enqueue(truncatedChunk);
664
+ }
665
+ // We are now in found mode and don't need to track currentChunk anymore
666
+ currentChunk = null;
667
+ return;
668
+ }
669
+ // No match found in this chunk, emit it and wait for the next one
670
+ controller.enqueue(currentChunk);
671
+ }
672
+ // Advance to the next chunk
673
+ currentChunk = nextChunk;
674
+ }
675
+ return new TransformStream({
676
+ transform (chunk, controller) {
677
+ processChunk(controller, chunk);
678
+ },
679
+ flush (controller) {
680
+ processChunk(controller, null);
681
+ }
682
+ });
683
+ }
684
+ async function finalRuntimeServerPrerender(ctx, getPayload, prerenderResumeDataCache, renderResumeDataCache, rootParams, headers, cookies, draftMode, onError, runtimePrefetchSentinel) {
685
+ const { implicitTags, renderOpts } = ctx;
686
+ const { ComponentMod, experimental, isDebugDynamicAccesses } = renderOpts;
687
+ const selectStaleTime = createSelectStaleTime(experimental);
688
+ let serverIsDynamic = false;
689
+ const finalServerController = new AbortController();
690
+ const serverDynamicTracking = (0, _dynamicrendering.createDynamicTrackingState)(isDebugDynamicAccesses);
691
+ const { promise: runtimeStagePromise, resolve: resolveBlockedRuntimeAPIs } = (0, _promisewithresolvers.createPromiseWithResolvers)();
692
+ const finalServerPrerenderStore = {
693
+ type: 'prerender-runtime',
694
+ phase: 'render',
695
+ rootParams,
696
+ implicitTags,
697
+ renderSignal: finalServerController.signal,
698
+ controller: finalServerController,
699
+ // All caches we could read must already be filled so no tracking is necessary
700
+ cacheSignal: null,
701
+ dynamicTracking: serverDynamicTracking,
702
+ // Runtime prefetches are never cached server-side, only client-side,
703
+ // so we set `expire` and `revalidate` to their minimum values just in case.
704
+ revalidate: 1,
705
+ expire: 0,
706
+ stale: _constants1.INFINITE_CACHE,
707
+ tags: [
708
+ ...implicitTags.tags
709
+ ],
710
+ prerenderResumeDataCache,
711
+ renderResumeDataCache,
712
+ hmrRefreshHash: undefined,
713
+ // Used to separate the "Static" stage from the "Runtime" stage.
714
+ runtimeStagePromise,
715
+ // These are not present in regular prerenders, but allowed in a runtime prerender.
716
+ headers,
717
+ cookies,
718
+ draftMode
719
+ };
720
+ const { clientModules } = (0, _manifestssingleton.getClientReferenceManifest)();
721
+ const finalRSCPayload = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(finalServerPrerenderStore, getPayload);
722
+ let prerenderIsPending = true;
723
+ const result = await (0, _apprenderprerenderutils.prerenderAndAbortInSequentialTasksWithStages)(async ()=>{
724
+ // Static stage
725
+ const prerenderResult = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(finalServerPrerenderStore, ComponentMod.prerender, finalRSCPayload, clientModules, {
726
+ filterStackFrame,
727
+ onError,
728
+ signal: finalServerController.signal
729
+ });
730
+ prerenderIsPending = false;
731
+ return prerenderResult;
732
+ }, ()=>{
733
+ // Advance to the runtime stage.
734
+ //
735
+ // We make runtime APIs hang during the first task (above), and unblock them in the following task (here).
736
+ // This makes sure that, at this point, we'll have finished all the static parts (what we'd prerender statically).
737
+ // We know that they don't contain any incorrect sync IO, because that'd have caused a build error.
738
+ // After we unblock Runtime APIs, if we encounter sync IO (e.g. `await cookies(); Date.now()`),
739
+ // we'll abort, but we'll produce at least as much output as a static prerender would.
740
+ resolveBlockedRuntimeAPIs();
741
+ }, ()=>{
742
+ // Abort.
743
+ if (finalServerController.signal.aborted) {
744
+ // If the server controller is already aborted we must have called something
745
+ // that required aborting the prerender synchronously such as with new Date()
746
+ serverIsDynamic = true;
747
+ return;
748
+ }
749
+ if (prerenderIsPending) {
750
+ // If prerenderIsPending then we have blocked for longer than a Task and we assume
751
+ // there is something unfinished.
752
+ serverIsDynamic = true;
753
+ }
754
+ finalServerController.abort();
755
+ });
756
+ // Update the RSC payload stream to replace the sentinel with actual values.
757
+ // React has already serialized the payload with the sentinel, so we need to transform the stream.
758
+ const collectedStale = selectStaleTime(finalServerPrerenderStore.stale);
759
+ result.prelude = result.prelude.pipeThrough(createRuntimePrefetchTransformStream(runtimePrefetchSentinel, serverIsDynamic, collectedStale));
760
+ return {
761
+ result,
762
+ // TODO(runtime-ppr): do we need to produce a digest map here?
763
+ // digestErrorsMap: ...,
764
+ dynamicAccess: serverDynamicTracking,
765
+ isPartial: serverIsDynamic,
766
+ collectedRevalidate: finalServerPrerenderStore.revalidate,
767
+ collectedExpire: finalServerPrerenderStore.expire,
768
+ collectedStale,
769
+ collectedTags: finalServerPrerenderStore.tags
770
+ };
771
+ }
772
+ /**
773
+ * Crawlers will inadvertently think the canonicalUrl in the RSC payload should be crawled
774
+ * when our intention is to just seed the router state with the current URL.
775
+ * This function splits up the pathname so that we can later join it on
776
+ * when we're ready to consume the path.
777
+ */ function prepareInitialCanonicalUrl(url) {
778
+ return (url.pathname + url.search).split('/');
779
+ }
780
+ function getRenderedSearch(query) {
781
+ // Inlined implementation of querystring.encode, which is not available in
782
+ // the Edge runtime.
783
+ const pairs = [];
784
+ for(const key in query){
785
+ const value = query[key];
786
+ if (value == null) continue;
787
+ if (Array.isArray(value)) {
788
+ for (const v of value){
789
+ pairs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(v))}`);
790
+ }
791
+ } else {
792
+ pairs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);
793
+ }
794
+ }
795
+ // The result should match the format of a web URL's `search` property, since
796
+ // this is the format that's stored in the App Router state.
797
+ // TODO: We're a bit inconsistent about this. The x-nextjs-rewritten-query
798
+ // header omits the leading question mark. Should refactor to always do
799
+ // that instead.
800
+ if (pairs.length === 0) {
801
+ // If the search string is empty, return an empty string.
802
+ return '';
803
+ }
804
+ // Prepend '?' to the search params string.
805
+ return '?' + pairs.join('&');
806
+ }
807
+ // This is the data necessary to render <AppRouter /> when no SSR errors are encountered
808
+ async function getRSCPayload(tree, ctx, is404) {
809
+ const injectedCSS = new Set();
810
+ const injectedJS = new Set();
811
+ const injectedFontPreloadTags = new Set();
812
+ let missingSlots;
813
+ // We only track missing parallel slots in development
814
+ if (process.env.NODE_ENV === 'development') {
815
+ missingSlots = new Set();
816
+ }
817
+ const { getDynamicParamFromSegment, query, appUsingSizeAdjustment, componentMod: { createMetadataComponents, createElement, Fragment }, url, workStore } = ctx;
818
+ const initialTree = (0, _createflightrouterstatefromloadertree.createFlightRouterStateFromLoaderTree)(tree, getDynamicParamFromSegment, query);
819
+ const serveStreamingMetadata = !!ctx.renderOpts.serveStreamingMetadata;
820
+ const hasGlobalNotFound = !!tree[2]['global-not-found'];
821
+ const { Viewport, Metadata, MetadataOutlet } = createMetadataComponents({
822
+ tree,
823
+ // When it's using global-not-found, metadata errorType is undefined, which will retrieve the
824
+ // metadata from the page.
825
+ // When it's using not-found, metadata errorType is 'not-found', which will retrieve the
826
+ // metadata from the not-found.js boundary.
827
+ // TODO: remove this condition and keep it undefined when global-not-found is stabilized.
828
+ errorType: is404 && !hasGlobalNotFound ? 'not-found' : undefined,
829
+ parsedQuery: query,
830
+ pathname: url.pathname,
831
+ metadataContext: (0, _metadatacontext.createMetadataContext)(ctx.renderOpts),
832
+ getDynamicParamFromSegment,
833
+ workStore,
834
+ serveStreamingMetadata
835
+ });
836
+ const preloadCallbacks = [];
837
+ const seedData = await (0, _createcomponenttree.createComponentTree)({
838
+ ctx,
839
+ loaderTree: tree,
840
+ parentParams: {},
841
+ injectedCSS,
842
+ injectedJS,
843
+ injectedFontPreloadTags,
844
+ rootLayoutIncluded: false,
845
+ missingSlots,
846
+ preloadCallbacks,
847
+ authInterrupts: ctx.renderOpts.experimental.authInterrupts,
848
+ MetadataOutlet
849
+ });
850
+ // When the `vary` response header is present with `Next-URL`, that means there's a chance
851
+ // it could respond differently if there's an interception route. We provide this information
852
+ // to `AppRouter` so that it can properly seed the prefetch cache with a prefix, if needed.
853
+ const varyHeader = ctx.res.getHeader('vary');
854
+ const couldBeIntercepted = typeof varyHeader === 'string' && varyHeader.includes(_approuterheaders.NEXT_URL);
855
+ const initialHead = createElement(Fragment, {
856
+ key: flightDataPathHeadKey
857
+ }, createElement(NonIndex, {
858
+ createElement,
859
+ pagePath: ctx.pagePath,
860
+ statusCode: ctx.res.statusCode,
861
+ isPossibleServerAction: ctx.isPossibleServerAction
862
+ }), createElement(Viewport, null), createElement(Metadata, null), appUsingSizeAdjustment ? createElement('meta', {
863
+ name: 'next-size-adjust',
864
+ content: ''
865
+ }) : null);
866
+ const { GlobalError, styles: globalErrorStyles } = await getGlobalErrorStyles(tree, ctx);
867
+ // Assume the head we're rendering contains only partial data if PPR is
868
+ // enabled and this is a statically generated response. This is used by the
869
+ // client Segment Cache after a prefetch to determine if it can skip the
870
+ // second request to fill in the dynamic data.
871
+ //
872
+ // See similar comment in create-component-tree.tsx for more context.
873
+ const isPossiblyPartialHead = workStore.isStaticGeneration && ctx.renderOpts.experimental.isRoutePPREnabled === true;
874
+ return {
875
+ // See the comment above the `Preloads` component (below) for why this is part of the payload
876
+ P: createElement(Preloads, {
877
+ preloadCallbacks: preloadCallbacks
878
+ }),
879
+ b: ctx.sharedContext.buildId,
880
+ c: prepareInitialCanonicalUrl(url),
881
+ q: getRenderedSearch(query),
882
+ i: !!couldBeIntercepted,
883
+ f: [
884
+ [
885
+ initialTree,
886
+ seedData,
887
+ initialHead,
888
+ isPossiblyPartialHead
889
+ ]
890
+ ],
891
+ m: missingSlots,
892
+ G: [
893
+ GlobalError,
894
+ globalErrorStyles
895
+ ],
896
+ S: workStore.isStaticGeneration
897
+ };
898
+ }
899
+ /**
900
+ * Preload calls (such as `ReactDOM.preloadStyle` and `ReactDOM.preloadFont`) need to be called during rendering
901
+ * in order to create the appropriate preload tags in the DOM, otherwise they're a no-op. Since we invoke
902
+ * renderToReadableStream with a function that returns component props rather than a component itself, we use
903
+ * this component to "render " the preload calls.
904
+ */ function Preloads({ preloadCallbacks }) {
905
+ preloadCallbacks.forEach((preloadFn)=>preloadFn());
906
+ return null;
907
+ }
908
+ // This is the data necessary to render <AppRouter /> when an error state is triggered
909
+ async function getErrorRSCPayload(tree, ctx, ssrError, errorType) {
910
+ const { getDynamicParamFromSegment, query, componentMod: { createMetadataComponents, createElement, Fragment }, url, workStore } = ctx;
911
+ const serveStreamingMetadata = !!ctx.renderOpts.serveStreamingMetadata;
912
+ const { Viewport, Metadata } = createMetadataComponents({
913
+ tree,
914
+ parsedQuery: query,
915
+ pathname: url.pathname,
916
+ metadataContext: (0, _metadatacontext.createMetadataContext)(ctx.renderOpts),
917
+ errorType,
918
+ getDynamicParamFromSegment,
919
+ workStore,
920
+ serveStreamingMetadata: serveStreamingMetadata
921
+ });
922
+ const initialHead = createElement(Fragment, {
923
+ key: flightDataPathHeadKey
924
+ }, createElement(NonIndex, {
925
+ createElement,
926
+ pagePath: ctx.pagePath,
927
+ statusCode: ctx.res.statusCode,
928
+ isPossibleServerAction: ctx.isPossibleServerAction
929
+ }), createElement(Viewport, null), process.env.NODE_ENV === 'development' && createElement('meta', {
930
+ name: 'next-error',
931
+ content: 'not-found'
932
+ }), createElement(Metadata, null));
933
+ const initialTree = (0, _createflightrouterstatefromloadertree.createFlightRouterStateFromLoaderTree)(tree, getDynamicParamFromSegment, query);
934
+ let err = undefined;
935
+ if (ssrError) {
936
+ err = (0, _iserror.default)(ssrError) ? ssrError : Object.defineProperty(new Error(ssrError + ''), "__NEXT_ERROR_CODE", {
937
+ value: "E394",
938
+ enumerable: false,
939
+ configurable: true
940
+ });
941
+ }
942
+ // For metadata notFound error there's no global not found boundary on top
943
+ // so we create a not found page with AppRouter
944
+ const seedData = [
945
+ createElement('html', {
946
+ id: '__next_error__'
947
+ }, createElement('head', null), createElement('body', null, process.env.NODE_ENV !== 'production' && err ? createElement('template', {
948
+ 'data-next-error-message': err.message,
949
+ 'data-next-error-digest': 'digest' in err ? err.digest : '',
950
+ 'data-next-error-stack': err.stack
951
+ }) : null)),
952
+ {},
953
+ null,
954
+ false,
955
+ false
956
+ ];
957
+ const { GlobalError, styles: globalErrorStyles } = await getGlobalErrorStyles(tree, ctx);
958
+ const isPossiblyPartialHead = workStore.isStaticGeneration && ctx.renderOpts.experimental.isRoutePPREnabled === true;
959
+ return {
960
+ b: ctx.sharedContext.buildId,
961
+ c: prepareInitialCanonicalUrl(url),
962
+ q: getRenderedSearch(query),
963
+ m: undefined,
964
+ i: false,
965
+ f: [
966
+ [
967
+ initialTree,
968
+ seedData,
969
+ initialHead,
970
+ isPossiblyPartialHead
971
+ ]
972
+ ],
973
+ G: [
974
+ GlobalError,
975
+ globalErrorStyles
976
+ ],
977
+ S: workStore.isStaticGeneration
978
+ };
979
+ }
980
+ // This component must run in an SSR context. It will render the RSC root component
981
+ function App({ reactServerStream, reactDebugStream, debugEndTime, preinitScripts, ServerInsertedHTMLProvider, nonce, images }) {
982
+ preinitScripts();
983
+ const response = _react.use((0, _useflightresponse.getFlightStream)(reactServerStream, reactDebugStream, debugEndTime, nonce));
984
+ const initialState = (0, _createinitialrouterstate.createInitialRouterState)({
985
+ // This is not used during hydration, so we don't have to pass a
986
+ // real timestamp.
987
+ navigatedAt: -1,
988
+ initialFlightData: response.f,
989
+ initialCanonicalUrlParts: response.c,
990
+ initialRenderedSearch: response.q,
991
+ // location is not initialized in the SSR render
992
+ // it's set to window.location during hydration
993
+ location: null
994
+ });
995
+ const actionQueue = (0, _approuterinstance.createMutableActionQueue)(initialState, null);
996
+ const { HeadManagerContext } = require('../../shared/lib/head-manager-context.shared-runtime');
997
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(HeadManagerContext.Provider, {
998
+ value: {
999
+ appDir: true,
1000
+ nonce
1001
+ },
1002
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_imageconfigcontextsharedruntime.ImageConfigContext.Provider, {
1003
+ value: images ?? _imageconfig.imageConfigDefault,
1004
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(ServerInsertedHTMLProvider, {
1005
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approuter.default, {
1006
+ actionQueue: actionQueue,
1007
+ globalErrorState: response.G
1008
+ })
1009
+ })
1010
+ })
1011
+ });
1012
+ /* eslint-enable @next/internal/no-ambiguous-jsx -- React Client */ }
1013
+ // @TODO our error stream should be probably just use the same root component. But it was previously
1014
+ // different I don't want to figure out if that is meaningful at this time so just keeping the behavior
1015
+ // consistent for now.
1016
+ function ErrorApp({ reactServerStream, preinitScripts, ServerInsertedHTMLProvider, nonce, images }) {
1017
+ /* eslint-disable @next/internal/no-ambiguous-jsx -- React Client */ preinitScripts();
1018
+ const response = _react.use((0, _useflightresponse.getFlightStream)(reactServerStream, undefined, undefined, nonce));
1019
+ const initialState = (0, _createinitialrouterstate.createInitialRouterState)({
1020
+ // This is not used during hydration, so we don't have to pass a
1021
+ // real timestamp.
1022
+ navigatedAt: -1,
1023
+ initialFlightData: response.f,
1024
+ initialCanonicalUrlParts: response.c,
1025
+ initialRenderedSearch: response.q,
1026
+ // location is not initialized in the SSR render
1027
+ // it's set to window.location during hydration
1028
+ location: null
1029
+ });
1030
+ const actionQueue = (0, _approuterinstance.createMutableActionQueue)(initialState, null);
1031
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_imageconfigcontextsharedruntime.ImageConfigContext.Provider, {
1032
+ value: images ?? _imageconfig.imageConfigDefault,
1033
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(ServerInsertedHTMLProvider, {
1034
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approuter.default, {
1035
+ actionQueue: actionQueue,
1036
+ globalErrorState: response.G
1037
+ })
1038
+ })
1039
+ });
1040
+ /* eslint-enable @next/internal/no-ambiguous-jsx -- React Client */ }
1041
+ async function renderToHTMLOrFlightImpl(req, res, url, pagePath, query, renderOpts, workStore, parsedRequestHeaders, postponedState, serverComponentsHmrCache, sharedContext, interpolatedParams, fallbackRouteParams) {
1042
+ const isNotFoundPath = pagePath === '/404';
1043
+ if (isNotFoundPath) {
1044
+ res.statusCode = 404;
1045
+ }
1046
+ // A unique request timestamp used by development to ensure that it's
1047
+ // consistent and won't change during this request. This is important to
1048
+ // avoid that resources can be deduped by React Float if the same resource is
1049
+ // rendered or preloaded multiple times: `<link href="a.css?v={Date.now()}"/>`.
1050
+ const requestTimestamp = Date.now();
1051
+ const { ComponentMod, nextFontManifest, serverActions, assetPrefix = '', enableTainting, cacheComponents } = renderOpts;
1052
+ // We need to expose the bundled `require` API globally for
1053
+ // react-server-dom-webpack. This is a hack until we find a better way.
1054
+ if (ComponentMod.__next_app__) {
1055
+ const instrumented = (0, _clientcomponentrendererlogger.wrapClientComponentLoader)(ComponentMod);
1056
+ // When we are prerendering if there is a cacheSignal for tracking
1057
+ // cache reads we track calls to `loadChunk` and `require`. This allows us
1058
+ // to treat chunk/module loading with similar semantics as cache reads to avoid
1059
+ // module loading from causing a prerender to abort too early.
1060
+ const shouldTrackModuleLoading = ()=>{
1061
+ if (!cacheComponents) {
1062
+ return false;
1063
+ }
1064
+ if (renderOpts.dev) {
1065
+ return true;
1066
+ }
1067
+ const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore();
1068
+ if (!workUnitStore) {
1069
+ return false;
1070
+ }
1071
+ switch(workUnitStore.type){
1072
+ case 'prerender':
1073
+ case 'prerender-client':
1074
+ case 'prerender-runtime':
1075
+ case 'cache':
1076
+ case 'private-cache':
1077
+ return true;
1078
+ case 'prerender-ppr':
1079
+ case 'prerender-legacy':
1080
+ case 'request':
1081
+ case 'unstable-cache':
1082
+ return false;
1083
+ default:
1084
+ workUnitStore;
1085
+ }
1086
+ };
1087
+ const __next_require__ = (...args)=>{
1088
+ const exportsOrPromise = instrumented.require(...args);
1089
+ if (shouldTrackModuleLoading()) {
1090
+ // requiring an async module returns a promise.
1091
+ (0, _trackmoduleloadingexternal.trackPendingImport)(exportsOrPromise);
1092
+ }
1093
+ return exportsOrPromise;
1094
+ };
1095
+ // @ts-expect-error
1096
+ globalThis.__next_require__ = __next_require__;
1097
+ const __next_chunk_load__ = (...args)=>{
1098
+ const loadingChunk = instrumented.loadChunk(...args);
1099
+ if (shouldTrackModuleLoading()) {
1100
+ (0, _trackmoduleloadingexternal.trackPendingChunkLoad)(loadingChunk);
1101
+ }
1102
+ return loadingChunk;
1103
+ };
1104
+ // @ts-expect-error
1105
+ globalThis.__next_chunk_load__ = __next_chunk_load__;
1106
+ }
1107
+ if (process.env.NODE_ENV === 'development' && renderOpts.setIsrStatus && !cacheComponents) {
1108
+ // Reset the ISR status at start of request.
1109
+ const { pathname } = new URL(req.url || '/', 'http://n');
1110
+ renderOpts.setIsrStatus(pathname, // Only pages using the Node runtime can use ISR, Edge is always dynamic.
1111
+ process.env.NEXT_RUNTIME === 'edge' ? false : undefined);
1112
+ }
1113
+ if (// The type check here ensures that `req` is correctly typed, and the
1114
+ // environment variable check provides dead code elimination.
1115
+ process.env.NEXT_RUNTIME !== 'edge' && (0, _helpers.isNodeNextRequest)(req)) {
1116
+ res.onClose(()=>{
1117
+ // We stop tracking fetch metrics when the response closes, since we
1118
+ // report them at that time.
1119
+ workStore.shouldTrackFetchMetrics = false;
1120
+ });
1121
+ req.originalRequest.on('end', ()=>{
1122
+ if ('performance' in globalThis) {
1123
+ const metrics = (0, _clientcomponentrendererlogger.getClientComponentLoaderMetrics)({
1124
+ reset: true
1125
+ });
1126
+ if (metrics) {
1127
+ (0, _tracer.getTracer)().startSpan(_constants.NextNodeServerSpan.clientComponentLoading, {
1128
+ startTime: metrics.clientComponentLoadStart,
1129
+ attributes: {
1130
+ 'next.clientComponentLoadCount': metrics.clientComponentLoadCount,
1131
+ 'next.span_type': _constants.NextNodeServerSpan.clientComponentLoading
1132
+ }
1133
+ }).end(metrics.clientComponentLoadStart + metrics.clientComponentLoadTimes);
1134
+ }
1135
+ }
1136
+ });
1137
+ }
1138
+ const metadata = {
1139
+ statusCode: isNotFoundPath ? 404 : undefined
1140
+ };
1141
+ const appUsingSizeAdjustment = !!(nextFontManifest == null ? void 0 : nextFontManifest.appUsingSizeAdjust);
1142
+ ComponentMod.patchFetch();
1143
+ // Pull out the hooks/references from the component.
1144
+ const { routeModule: { userland: { loaderTree } }, taintObjectReference } = ComponentMod;
1145
+ if (enableTainting) {
1146
+ taintObjectReference('Do not pass process.env to Client Components since it will leak sensitive data', process.env);
1147
+ }
1148
+ workStore.fetchMetrics = [];
1149
+ metadata.fetchMetrics = workStore.fetchMetrics;
1150
+ // don't modify original query object
1151
+ query = {
1152
+ ...query
1153
+ };
1154
+ (0, _internalutils.stripInternalQueries)(query);
1155
+ const { isStaticGeneration } = workStore;
1156
+ let requestId;
1157
+ let htmlRequestId;
1158
+ const { flightRouterState, isPrefetchRequest, isRuntimePrefetchRequest, isRSCRequest, isHmrRefresh, nonce } = parsedRequestHeaders;
1159
+ if (parsedRequestHeaders.requestId) {
1160
+ // If the client has provided a request ID (in development mode), we use it.
1161
+ requestId = parsedRequestHeaders.requestId;
1162
+ } else {
1163
+ // Otherwise we generate a new request ID.
1164
+ if (isStaticGeneration) {
1165
+ requestId = Buffer.from(await crypto.subtle.digest('SHA-1', Buffer.from(req.url))).toString('hex');
1166
+ } else if (process.env.NEXT_RUNTIME === 'edge') {
1167
+ requestId = crypto.randomUUID();
1168
+ } else {
1169
+ requestId = require('next/dist/compiled/nanoid').nanoid();
1170
+ }
1171
+ }
1172
+ // If the client has provided an HTML request ID, we use it to associate the
1173
+ // request with the HTML document from which it originated, which is used to
1174
+ // send debug information to the associated WebSocket client. Otherwise, this
1175
+ // is the request for the HTML document, so we use the request ID also as the
1176
+ // HTML request ID.
1177
+ htmlRequestId = parsedRequestHeaders.htmlRequestId || requestId;
1178
+ const getDynamicParamFromSegment = makeGetDynamicParamFromSegment(interpolatedParams, fallbackRouteParams);
1179
+ const isPossibleActionRequest = (0, _serveractionrequestmeta.getIsPossibleServerAction)(req);
1180
+ const implicitTags = await (0, _implicittags.getImplicitTags)(workStore.page, url, fallbackRouteParams);
1181
+ const ctx = {
1182
+ componentMod: ComponentMod,
1183
+ url,
1184
+ renderOpts,
1185
+ workStore,
1186
+ parsedRequestHeaders,
1187
+ getDynamicParamFromSegment,
1188
+ query,
1189
+ isPrefetch: isPrefetchRequest,
1190
+ isPossibleServerAction: isPossibleActionRequest,
1191
+ requestTimestamp,
1192
+ appUsingSizeAdjustment,
1193
+ flightRouterState,
1194
+ requestId,
1195
+ htmlRequestId,
1196
+ pagePath,
1197
+ assetPrefix,
1198
+ isNotFoundPath,
1199
+ nonce,
1200
+ res,
1201
+ sharedContext,
1202
+ implicitTags
1203
+ };
1204
+ (0, _tracer.getTracer)().setRootSpanAttribute('next.route', pagePath);
1205
+ if (isStaticGeneration) {
1206
+ // We're either building or revalidating. In either case we need to
1207
+ // prerender our page rather than render it.
1208
+ const prerenderToStreamWithTracing = (0, _tracer.getTracer)().wrap(_constants.AppRenderSpan.getBodyResult, {
1209
+ spanName: `prerender route (app) ${pagePath}`,
1210
+ attributes: {
1211
+ 'next.route': pagePath
1212
+ }
1213
+ }, prerenderToStream);
1214
+ const response = await prerenderToStreamWithTracing(req, res, ctx, metadata, loaderTree, fallbackRouteParams);
1215
+ // If we're debugging partial prerendering, print all the dynamic API accesses
1216
+ // that occurred during the render.
1217
+ // @TODO move into renderToStream function
1218
+ if (response.dynamicAccess && (0, _dynamicrendering.accessedDynamicData)(response.dynamicAccess) && renderOpts.isDebugDynamicAccesses) {
1219
+ (0, _log.warn)('The following dynamic usage was detected:');
1220
+ for (const access of (0, _dynamicrendering.formatDynamicAPIAccesses)(response.dynamicAccess)){
1221
+ (0, _log.warn)(access);
1222
+ }
1223
+ }
1224
+ // If we encountered any unexpected errors during build we fail the
1225
+ // prerendering phase and the build.
1226
+ if (workStore.invalidDynamicUsageError) {
1227
+ (0, _dynamicrendering.logDisallowedDynamicError)(workStore, workStore.invalidDynamicUsageError);
1228
+ throw new _staticgenerationbailout.StaticGenBailoutError();
1229
+ }
1230
+ if (response.digestErrorsMap.size) {
1231
+ const buildFailingError = response.digestErrorsMap.values().next().value;
1232
+ if (buildFailingError) throw buildFailingError;
1233
+ }
1234
+ // Pick first userland SSR error, which is also not a RSC error.
1235
+ if (response.ssrErrors.length) {
1236
+ const buildFailingError = response.ssrErrors.find((err)=>(0, _createerrorhandler.isUserLandError)(err));
1237
+ if (buildFailingError) throw buildFailingError;
1238
+ }
1239
+ const options = {
1240
+ metadata,
1241
+ contentType: _constants1.HTML_CONTENT_TYPE_HEADER
1242
+ };
1243
+ // If we have pending revalidates, wait until they are all resolved.
1244
+ if (workStore.pendingRevalidates || workStore.pendingRevalidateWrites || workStore.pendingRevalidatedTags) {
1245
+ const pendingPromise = (0, _revalidationutils.executeRevalidates)(workStore).finally(()=>{
1246
+ if (process.env.NEXT_PRIVATE_DEBUG_CACHE) {
1247
+ console.log('pending revalidates promise finished for:', url);
1248
+ }
1249
+ });
1250
+ if (renderOpts.waitUntil) {
1251
+ renderOpts.waitUntil(pendingPromise);
1252
+ } else {
1253
+ options.waitUntil = pendingPromise;
1254
+ }
1255
+ }
1256
+ applyMetadataFromPrerenderResult(response, metadata, workStore);
1257
+ if (response.renderResumeDataCache) {
1258
+ metadata.renderResumeDataCache = response.renderResumeDataCache;
1259
+ }
1260
+ return new _renderresult.default(await (0, _nodewebstreamshelper.streamToString)(response.stream), options);
1261
+ } else {
1262
+ // We're rendering dynamically
1263
+ const renderResumeDataCache = renderOpts.renderResumeDataCache ?? (postponedState == null ? void 0 : postponedState.renderResumeDataCache) ?? null;
1264
+ const rootParams = (0, _createcomponenttree.getRootParams)(loaderTree, ctx.getDynamicParamFromSegment);
1265
+ const devFallbackParams = (0, _requestmeta.getRequestMeta)(req, 'devFallbackParams') || null;
1266
+ const createRequestStore = _requeststore.createRequestStoreForRender.bind(null, req, res, url, rootParams, implicitTags, renderOpts.onUpdateCookies, renderOpts.previewProps, isHmrRefresh, serverComponentsHmrCache, renderResumeDataCache, devFallbackParams);
1267
+ const requestStore = createRequestStore();
1268
+ if (process.env.NODE_ENV === 'development' && renderOpts.setIsrStatus && !cacheComponents && // Only pages using the Node runtime can use ISR, so we only need to
1269
+ // update the status for those.
1270
+ // The type check here ensures that `req` is correctly typed, and the
1271
+ // environment variable check provides dead code elimination.
1272
+ process.env.NEXT_RUNTIME !== 'edge' && (0, _helpers.isNodeNextRequest)(req)) {
1273
+ const setIsrStatus = renderOpts.setIsrStatus;
1274
+ req.originalRequest.on('end', ()=>{
1275
+ const { pathname } = new URL(req.url || '/', 'http://n');
1276
+ const isStatic = !requestStore.usedDynamic && !workStore.forceDynamic;
1277
+ setIsrStatus(pathname, isStatic);
1278
+ });
1279
+ }
1280
+ if (isRSCRequest) {
1281
+ if (isRuntimePrefetchRequest) {
1282
+ return generateRuntimePrefetchResult(req, ctx, requestStore);
1283
+ } else {
1284
+ if (process.env.NODE_ENV === 'development' && process.env.NEXT_RUNTIME !== 'edge' && cacheComponents) {
1285
+ return generateDynamicFlightRenderResultWithStagesInDev(req, ctx, requestStore, createRequestStore, devFallbackParams);
1286
+ } else {
1287
+ return generateDynamicFlightRenderResult(req, ctx, requestStore);
1288
+ }
1289
+ }
1290
+ }
1291
+ let didExecuteServerAction = false;
1292
+ let formState = null;
1293
+ if (isPossibleActionRequest) {
1294
+ // For action requests, we don't want to use the resume data cache.
1295
+ requestStore.renderResumeDataCache = null;
1296
+ // For action requests, we handle them differently with a special render result.
1297
+ const actionRequestResult = await (0, _actionhandler.handleAction)({
1298
+ req,
1299
+ res,
1300
+ ComponentMod,
1301
+ generateFlight: generateDynamicFlightRenderResult,
1302
+ workStore,
1303
+ requestStore,
1304
+ serverActions,
1305
+ ctx,
1306
+ metadata
1307
+ });
1308
+ if (actionRequestResult) {
1309
+ if (actionRequestResult.type === 'not-found') {
1310
+ const notFoundLoaderTree = createNotFoundLoaderTree(loaderTree);
1311
+ res.statusCode = 404;
1312
+ metadata.statusCode = 404;
1313
+ const stream = await renderToStream(requestStore, req, res, ctx, notFoundLoaderTree, formState, postponedState, metadata, undefined, devFallbackParams);
1314
+ return new _renderresult.default(stream, {
1315
+ metadata,
1316
+ contentType: _constants1.HTML_CONTENT_TYPE_HEADER
1317
+ });
1318
+ } else if (actionRequestResult.type === 'done') {
1319
+ if (actionRequestResult.result) {
1320
+ actionRequestResult.result.assignMetadata(metadata);
1321
+ return actionRequestResult.result;
1322
+ } else if (actionRequestResult.formState) {
1323
+ formState = actionRequestResult.formState;
1324
+ }
1325
+ }
1326
+ }
1327
+ didExecuteServerAction = true;
1328
+ // Restore the resume data cache
1329
+ requestStore.renderResumeDataCache = renderResumeDataCache;
1330
+ }
1331
+ const options = {
1332
+ metadata,
1333
+ contentType: _constants1.HTML_CONTENT_TYPE_HEADER
1334
+ };
1335
+ const stream = await renderToStream(// NOTE: in Cache Components (dev), if the render is restarted, it will use a different requestStore
1336
+ // than the one that we're passing in here.
1337
+ requestStore, req, res, ctx, loaderTree, formState, postponedState, metadata, // If we're rendering HTML after an action, we don't want restartable-render behavior
1338
+ // because the result should be dynamic, like it is in prod.
1339
+ // Also, the request store might have been mutated by the action (e.g. enabling draftMode)
1340
+ // and we currently we don't copy changes over when creating a new store,
1341
+ // so the restarted render wouldn't be correct.
1342
+ didExecuteServerAction ? undefined : createRequestStore, devFallbackParams);
1343
+ // Invalid dynamic usages should only error the request in development.
1344
+ // In production, it's better to produce a result.
1345
+ // (the dynamic error will still be thrown inside the component tree, but it's catchable by error boundaries)
1346
+ if (workStore.invalidDynamicUsageError && workStore.dev) {
1347
+ throw workStore.invalidDynamicUsageError;
1348
+ }
1349
+ // If we have pending revalidates, wait until they are all resolved.
1350
+ if (workStore.pendingRevalidates || workStore.pendingRevalidateWrites || workStore.pendingRevalidatedTags) {
1351
+ const pendingPromise = (0, _revalidationutils.executeRevalidates)(workStore).finally(()=>{
1352
+ if (process.env.NEXT_PRIVATE_DEBUG_CACHE) {
1353
+ console.log('pending revalidates promise finished for:', url);
1354
+ }
1355
+ });
1356
+ if (renderOpts.waitUntil) {
1357
+ renderOpts.waitUntil(pendingPromise);
1358
+ } else {
1359
+ options.waitUntil = pendingPromise;
1360
+ }
1361
+ }
1362
+ // Create the new render result for the response.
1363
+ return new _renderresult.default(stream, options);
1364
+ }
1365
+ }
1366
+ const renderToHTMLOrFlight = (req, res, pagePath, query, fallbackRouteParams, renderOpts, serverComponentsHmrCache, sharedContext)=>{
1367
+ var _renderOpts_previewProps;
1368
+ if (!req.url) {
1369
+ throw Object.defineProperty(new Error('Invalid URL'), "__NEXT_ERROR_CODE", {
1370
+ value: "E182",
1371
+ enumerable: false,
1372
+ configurable: true
1373
+ });
1374
+ }
1375
+ const url = (0, _parserelativeurl.parseRelativeUrl)(req.url, undefined, false);
1376
+ // We read these values from the request object as, in certain cases,
1377
+ // base-server will strip them to opt into different rendering behavior.
1378
+ const parsedRequestHeaders = parseRequestHeaders(req.headers, {
1379
+ isRoutePPREnabled: renderOpts.experimental.isRoutePPREnabled === true,
1380
+ previewModeId: (_renderOpts_previewProps = renderOpts.previewProps) == null ? void 0 : _renderOpts_previewProps.previewModeId
1381
+ });
1382
+ const { isPrefetchRequest, previouslyRevalidatedTags, nonce } = parsedRequestHeaders;
1383
+ let interpolatedParams;
1384
+ let postponedState = null;
1385
+ // If provided, the postpone state should be parsed so it can be provided to
1386
+ // React.
1387
+ if (typeof renderOpts.postponed === 'string') {
1388
+ if (fallbackRouteParams) {
1389
+ throw Object.defineProperty(new _invarianterror.InvariantError('postponed state should not be provided when fallback params are provided'), "__NEXT_ERROR_CODE", {
1390
+ value: "E592",
1391
+ enumerable: false,
1392
+ configurable: true
1393
+ });
1394
+ }
1395
+ interpolatedParams = (0, _getdynamicparam.interpolateParallelRouteParams)(renderOpts.ComponentMod.routeModule.userland.loaderTree, renderOpts.params ?? {}, pagePath, fallbackRouteParams);
1396
+ postponedState = (0, _postponedstate.parsePostponedState)(renderOpts.postponed, interpolatedParams);
1397
+ } else {
1398
+ interpolatedParams = (0, _getdynamicparam.interpolateParallelRouteParams)(renderOpts.ComponentMod.routeModule.userland.loaderTree, renderOpts.params ?? {}, pagePath, fallbackRouteParams);
1399
+ }
1400
+ if ((postponedState == null ? void 0 : postponedState.renderResumeDataCache) && renderOpts.renderResumeDataCache) {
1401
+ throw Object.defineProperty(new _invarianterror.InvariantError('postponed state and dev warmup immutable resume data cache should not be provided together'), "__NEXT_ERROR_CODE", {
1402
+ value: "E589",
1403
+ enumerable: false,
1404
+ configurable: true
1405
+ });
1406
+ }
1407
+ const workStore = (0, _workstore.createWorkStore)({
1408
+ page: renderOpts.routeModule.definition.page,
1409
+ renderOpts,
1410
+ // @TODO move to workUnitStore of type Request
1411
+ isPrefetchRequest,
1412
+ buildId: sharedContext.buildId,
1413
+ previouslyRevalidatedTags,
1414
+ nonce
1415
+ });
1416
+ return _workasyncstorageexternal.workAsyncStorage.run(workStore, // The function to run
1417
+ renderToHTMLOrFlightImpl, // all of it's args
1418
+ req, res, url, pagePath, query, renderOpts, workStore, parsedRequestHeaders, postponedState, serverComponentsHmrCache, sharedContext, interpolatedParams, fallbackRouteParams);
1419
+ };
1420
+ function applyMetadataFromPrerenderResult(response, metadata, workStore) {
1421
+ if (response.collectedTags) {
1422
+ metadata.fetchTags = response.collectedTags.join(',');
1423
+ }
1424
+ // Let the client router know how long to keep the cached entry around.
1425
+ const staleHeader = String(response.collectedStale);
1426
+ metadata.headers ??= {};
1427
+ metadata.headers[_approuterheaders.NEXT_ROUTER_STALE_TIME_HEADER] = staleHeader;
1428
+ // If force static is specifically set to false, we should not revalidate
1429
+ // the page.
1430
+ if (workStore.forceStatic === false || response.collectedRevalidate === 0) {
1431
+ metadata.cacheControl = {
1432
+ revalidate: 0,
1433
+ expire: undefined
1434
+ };
1435
+ } else {
1436
+ // Copy the cache control value onto the render result metadata.
1437
+ metadata.cacheControl = {
1438
+ revalidate: response.collectedRevalidate >= _constants1.INFINITE_CACHE ? false : response.collectedRevalidate,
1439
+ expire: response.collectedExpire >= _constants1.INFINITE_CACHE ? undefined : response.collectedExpire
1440
+ };
1441
+ }
1442
+ // provide bailout info for debugging
1443
+ if (metadata.cacheControl.revalidate === 0) {
1444
+ metadata.staticBailoutInfo = {
1445
+ description: workStore.dynamicUsageDescription,
1446
+ stack: workStore.dynamicUsageStack
1447
+ };
1448
+ }
1449
+ }
1450
+ async function renderToStream(requestStore, req, res, ctx, tree, formState, postponedState, metadata, createRequestStore, devFallbackParams) {
1451
+ /* eslint-disable @next/internal/no-ambiguous-jsx -- React Client */ const { assetPrefix, htmlRequestId, nonce, pagePath, renderOpts, requestId, workStore } = ctx;
1452
+ const { basePath, buildManifest, ComponentMod: { createElement, renderToReadableStream: serverRenderToReadableStream }, crossOrigin, dev = false, experimental, nextExport = false, onInstrumentationRequestError, page, reactMaxHeadersLength, setReactDebugChannel, shouldWaitOnAllReady, subresourceIntegrityManifest, supportsDynamicResponse, cacheComponents } = renderOpts;
1453
+ const { ServerInsertedHTMLProvider, renderServerInsertedHTML } = (0, _serverinsertedhtml.createServerInsertedHTML)();
1454
+ const getServerInsertedMetadata = (0, _createserverinsertedmetadata.createServerInsertedMetadata)(nonce);
1455
+ const tracingMetadata = (0, _utils1.getTracedMetadata)((0, _tracer.getTracer)().getTracePropagationData(), experimental.clientTraceMetadata);
1456
+ const polyfills = buildManifest.polyfillFiles.filter((polyfill)=>polyfill.endsWith('.js') && !polyfill.endsWith('.module.js')).map((polyfill)=>({
1457
+ src: `${assetPrefix}/_next/${polyfill}${(0, _getassetquerystring.getAssetQueryString)(ctx, false)}`,
1458
+ integrity: subresourceIntegrityManifest == null ? void 0 : subresourceIntegrityManifest[polyfill],
1459
+ crossOrigin,
1460
+ noModule: true,
1461
+ nonce
1462
+ }));
1463
+ const [preinitScripts, bootstrapScript] = (0, _requiredscripts.getRequiredScripts)(buildManifest, // Why is assetPrefix optional on renderOpts?
1464
+ // @TODO make it default empty string on renderOpts and get rid of it from ctx
1465
+ assetPrefix, crossOrigin, subresourceIntegrityManifest, (0, _getassetquerystring.getAssetQueryString)(ctx, true), nonce, page);
1466
+ // In development mode, set the request ID as a global variable, before the
1467
+ // bootstrap script is executed, which depends on it during hydration.
1468
+ const bootstrapScriptContent = process.env.NODE_ENV !== 'production' ? `self.__next_r=${JSON.stringify(requestId)}` : undefined;
1469
+ // Create the "render route (app)" span manually so we can keep it open during streaming.
1470
+ // This is necessary because errors inside Suspense boundaries are reported asynchronously
1471
+ // during stream consumption, after a typical wrapped function would have ended the span.
1472
+ // Note: We pass the full span name as the first argument since startSpan uses it directly.
1473
+ const renderSpan = (0, _tracer.getTracer)().startSpan(`render route (app) ${pagePath}`, {
1474
+ attributes: {
1475
+ 'next.span_name': `render route (app) ${pagePath}`,
1476
+ 'next.span_type': _constants.AppRenderSpan.getBodyResult,
1477
+ 'next.route': pagePath
1478
+ }
1479
+ });
1480
+ // Helper to end the span with error status (used when throwing from catch blocks)
1481
+ const endSpanWithError = (err)=>{
1482
+ if (!renderSpan.isRecording()) return;
1483
+ if (err instanceof Error) {
1484
+ renderSpan.recordException(err);
1485
+ renderSpan.setAttribute('error.type', err.name);
1486
+ }
1487
+ renderSpan.setStatus({
1488
+ code: _tracer.SpanStatusCode.ERROR,
1489
+ message: err instanceof Error ? err.message : undefined
1490
+ });
1491
+ renderSpan.end();
1492
+ };
1493
+ // Run the rest of the function within the span's context so child spans
1494
+ // (like "build component tree", "generateMetadata") are properly parented.
1495
+ return (0, _tracer.getTracer)().withSpan(renderSpan, async ()=>{
1496
+ const { reactServerErrorsByDigest } = workStore;
1497
+ function onHTMLRenderRSCError(err, silenceLog) {
1498
+ return onInstrumentationRequestError == null ? void 0 : onInstrumentationRequestError(err, req, createErrorContext(ctx, 'react-server-components'), silenceLog);
1499
+ }
1500
+ const serverComponentsErrorHandler = (0, _createerrorhandler.createReactServerErrorHandler)(dev, nextExport, reactServerErrorsByDigest, onHTMLRenderRSCError, renderSpan);
1501
+ function onHTMLRenderSSRError(err) {
1502
+ // We don't need to silence logs here. onHTMLRenderSSRError won't be called
1503
+ // at all if the error was logged before in the RSC error handler.
1504
+ const silenceLog = false;
1505
+ return onInstrumentationRequestError == null ? void 0 : onInstrumentationRequestError(err, req, createErrorContext(ctx, 'server-rendering'), silenceLog);
1506
+ }
1507
+ const allCapturedErrors = [];
1508
+ const htmlRendererErrorHandler = (0, _createerrorhandler.createHTMLErrorHandler)(dev, nextExport, reactServerErrorsByDigest, allCapturedErrors, onHTMLRenderSSRError, renderSpan);
1509
+ let reactServerResult = null;
1510
+ let reactDebugStream;
1511
+ const setHeader = res.setHeader.bind(res);
1512
+ const appendHeader = res.appendHeader.bind(res);
1513
+ const { clientModules } = (0, _manifestssingleton.getClientReferenceManifest)();
1514
+ try {
1515
+ if (// We only want this behavior when we have React's dev builds available
1516
+ process.env.NODE_ENV === 'development' && // We only want this behavior when running `next dev`
1517
+ dev && // Edge routes never prerender so we don't have a Prerender environment for anything in edge runtime
1518
+ process.env.NEXT_RUNTIME !== 'edge' && // We only have a Prerender environment for projects opted into cacheComponents
1519
+ cacheComponents) {
1520
+ let debugChannel;
1521
+ const getPayload = async (// eslint-disable-next-line @typescript-eslint/no-shadow
1522
+ requestStore)=>{
1523
+ const payload = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(requestStore, getRSCPayload, tree, ctx, res.statusCode === 404);
1524
+ if (isBypassingCachesInDev(renderOpts, requestStore)) {
1525
+ // Mark the RSC payload to indicate that caches were bypassed in dev.
1526
+ // This lets the client know not to cache anything based on this render.
1527
+ if (renderOpts.setCacheStatus) {
1528
+ // we know this is available when cacheComponents is enabled, but typeguard to be safe
1529
+ renderOpts.setCacheStatus('bypass', htmlRequestId);
1530
+ }
1531
+ payload._bypassCachesInDev = createElement(WarnForBypassCachesInDev, {
1532
+ route: workStore.route
1533
+ });
1534
+ }
1535
+ return payload;
1536
+ };
1537
+ if (// We only do this flow if we can safely recreate the store from scratch
1538
+ // (which is not the case for renders after an action)
1539
+ createRequestStore && // We only do this flow if we're not bypassing caches in dev using
1540
+ // "disable cache" in devtools or a hard refresh (cache-control: "no-store")
1541
+ !isBypassingCachesInDev(renderOpts, requestStore)) {
1542
+ const { stream: serverStream, accumulatedChunksPromise, staticInterruptReason, runtimeInterruptReason, staticStageEndTime, runtimeStageEndTime, debugChannel: returnedDebugChannel, requestStore: finalRequestStore } = await renderWithRestartOnCacheMissInDev(ctx, requestStore, createRequestStore, getPayload, serverComponentsErrorHandler);
1543
+ let validationDebugChannelClient = undefined;
1544
+ if (returnedDebugChannel) {
1545
+ const [t1, t2] = returnedDebugChannel.clientSide.readable.tee();
1546
+ returnedDebugChannel.clientSide.readable = t1;
1547
+ validationDebugChannelClient = nodeStreamFromReadableStream(t2);
1548
+ }
1549
+ _consoleasyncstorageexternal.consoleAsyncStorage.run({
1550
+ dim: true
1551
+ }, spawnStaticShellValidationInDev, accumulatedChunksPromise, staticInterruptReason, runtimeInterruptReason, staticStageEndTime, runtimeStageEndTime, ctx, finalRequestStore, devFallbackParams, validationDebugChannelClient);
1552
+ reactServerResult = new _apprenderprerenderutils.ReactServerResult(serverStream);
1553
+ requestStore = finalRequestStore;
1554
+ debugChannel = returnedDebugChannel;
1555
+ } else {
1556
+ // We're either bypassing caches or we can't restart the render.
1557
+ // Do a dynamic render, but with (basic) environment labels.
1558
+ debugChannel = setReactDebugChannel && createDebugChannel();
1559
+ const serverStream = await stagedRenderToReadableStreamWithoutCachesInDev(ctx, requestStore, getPayload, {
1560
+ onError: serverComponentsErrorHandler,
1561
+ filterStackFrame,
1562
+ debugChannel: debugChannel == null ? void 0 : debugChannel.serverSide
1563
+ });
1564
+ reactServerResult = new _apprenderprerenderutils.ReactServerResult(serverStream);
1565
+ }
1566
+ if (debugChannel && setReactDebugChannel) {
1567
+ const [readableSsr, readableBrowser] = debugChannel.clientSide.readable.tee();
1568
+ reactDebugStream = readableSsr;
1569
+ setReactDebugChannel({
1570
+ readable: readableBrowser
1571
+ }, htmlRequestId, requestId);
1572
+ }
1573
+ } else {
1574
+ // This is a dynamic render. We don't do dynamic tracking because we're not prerendering
1575
+ const RSCPayload = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(requestStore, getRSCPayload, tree, ctx, res.statusCode === 404);
1576
+ const debugChannel = setReactDebugChannel && createDebugChannel();
1577
+ if (debugChannel) {
1578
+ const [readableSsr, readableBrowser] = debugChannel.clientSide.readable.tee();
1579
+ reactDebugStream = readableSsr;
1580
+ setReactDebugChannel({
1581
+ readable: readableBrowser
1582
+ }, htmlRequestId, requestId);
1583
+ }
1584
+ reactServerResult = new _apprenderprerenderutils.ReactServerResult(_workunitasyncstorageexternal.workUnitAsyncStorage.run(requestStore, serverRenderToReadableStream, RSCPayload, clientModules, {
1585
+ filterStackFrame,
1586
+ onError: serverComponentsErrorHandler,
1587
+ debugChannel: debugChannel == null ? void 0 : debugChannel.serverSide
1588
+ }));
1589
+ }
1590
+ // React doesn't start rendering synchronously but we want the RSC render to have a chance to start
1591
+ // before we begin SSR rendering because we want to capture any available preload headers so we tick
1592
+ // one task before continuing
1593
+ await (0, _scheduler.waitAtLeastOneReactRenderTask)();
1594
+ // If provided, the postpone state should be parsed as JSON so it can be
1595
+ // provided to React.
1596
+ if (typeof renderOpts.postponed === 'string') {
1597
+ if ((postponedState == null ? void 0 : postponedState.type) === _postponedstate.DynamicState.DATA) {
1598
+ // We have a complete HTML Document in the prerender but we need to
1599
+ // still include the new server component render because it was not included
1600
+ // in the static prelude.
1601
+ const inlinedReactServerDataStream = (0, _useflightresponse.createInlinedDataReadableStream)(reactServerResult.tee(), nonce, formState);
1602
+ // End the span since there's no async rendering in this path
1603
+ if (renderSpan.isRecording()) renderSpan.end();
1604
+ return (0, _nodewebstreamshelper.chainStreams)(inlinedReactServerDataStream, (0, _nodewebstreamshelper.createDocumentClosingStream)());
1605
+ } else if (postponedState) {
1606
+ // We assume we have dynamic HTML requiring a resume render to complete
1607
+ const { postponed, preludeState } = (0, _postponedstate.getPostponedFromState)(postponedState);
1608
+ const resume = require('react-dom/server').resume;
1609
+ const htmlStream = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(requestStore, resume, /*#__PURE__*/ (0, _jsxruntime.jsx)(App, {
1610
+ reactServerStream: reactServerResult.tee(),
1611
+ reactDebugStream: reactDebugStream,
1612
+ debugEndTime: undefined,
1613
+ preinitScripts: preinitScripts,
1614
+ ServerInsertedHTMLProvider: ServerInsertedHTMLProvider,
1615
+ nonce: nonce,
1616
+ images: ctx.renderOpts.images
1617
+ }), postponed, {
1618
+ onError: htmlRendererErrorHandler,
1619
+ nonce
1620
+ });
1621
+ // End the render span only after React completed rendering (including anything inside Suspense boundaries)
1622
+ htmlStream.allReady.finally(()=>{
1623
+ if (renderSpan.isRecording()) renderSpan.end();
1624
+ });
1625
+ const getServerInsertedHTML = (0, _makegetserverinsertedhtml.makeGetServerInsertedHTML)({
1626
+ polyfills,
1627
+ renderServerInsertedHTML,
1628
+ serverCapturedErrors: allCapturedErrors,
1629
+ basePath,
1630
+ tracingMetadata: tracingMetadata
1631
+ });
1632
+ return await (0, _nodewebstreamshelper.continueDynamicHTMLResume)(htmlStream, {
1633
+ // If the prelude is empty (i.e. is no static shell), we should wait for initial HTML to be rendered
1634
+ // to avoid injecting RSC data too early.
1635
+ // If we have a non-empty-prelude (i.e. a static HTML shell), then it's already been sent separately,
1636
+ // so we shouldn't wait for any HTML to be emitted from the resume before sending RSC data.
1637
+ delayDataUntilFirstHtmlChunk: preludeState === _postponedstate.DynamicHTMLPreludeState.Empty,
1638
+ inlinedDataStream: (0, _useflightresponse.createInlinedDataReadableStream)(reactServerResult.consume(), nonce, formState),
1639
+ getServerInsertedHTML,
1640
+ getServerInsertedMetadata
1641
+ });
1642
+ }
1643
+ }
1644
+ // This is a regular dynamic render
1645
+ const renderToReadableStream = require('react-dom/server').renderToReadableStream;
1646
+ const htmlStream = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(requestStore, renderToReadableStream, /*#__PURE__*/ (0, _jsxruntime.jsx)(App, {
1647
+ reactServerStream: reactServerResult.tee(),
1648
+ reactDebugStream: reactDebugStream,
1649
+ debugEndTime: undefined,
1650
+ preinitScripts: preinitScripts,
1651
+ ServerInsertedHTMLProvider: ServerInsertedHTMLProvider,
1652
+ nonce: nonce,
1653
+ images: ctx.renderOpts.images
1654
+ }), {
1655
+ onError: htmlRendererErrorHandler,
1656
+ nonce,
1657
+ onHeaders: (headers)=>{
1658
+ headers.forEach((value, key)=>{
1659
+ appendHeader(key, value);
1660
+ });
1661
+ },
1662
+ maxHeadersLength: reactMaxHeadersLength,
1663
+ bootstrapScriptContent,
1664
+ bootstrapScripts: [
1665
+ bootstrapScript
1666
+ ],
1667
+ formState
1668
+ });
1669
+ // End the render span only after React completed rendering (including anything inside Suspense boundaries)
1670
+ htmlStream.allReady.finally(()=>{
1671
+ if (renderSpan.isRecording()) renderSpan.end();
1672
+ });
1673
+ const getServerInsertedHTML = (0, _makegetserverinsertedhtml.makeGetServerInsertedHTML)({
1674
+ polyfills,
1675
+ renderServerInsertedHTML,
1676
+ serverCapturedErrors: allCapturedErrors,
1677
+ basePath,
1678
+ tracingMetadata: tracingMetadata
1679
+ });
1680
+ /**
1681
+ * Rules of Static & Dynamic HTML:
1682
+ *
1683
+ * 1.) We must generate static HTML unless the caller explicitly opts
1684
+ * in to dynamic HTML support.
1685
+ *
1686
+ * 2.) If dynamic HTML support is requested, we must honor that request
1687
+ * or throw an error. It is the sole responsibility of the caller to
1688
+ * ensure they aren't e.g. requesting dynamic HTML for a static page.
1689
+ *
1690
+ * 3.) If `shouldWaitOnAllReady` is true, which indicates we need to
1691
+ * resolve all suspenses and generate a full HTML. e.g. when it's a
1692
+ * html limited bot requests, we produce the full HTML content.
1693
+ *
1694
+ * These rules help ensure that other existing features like request caching,
1695
+ * coalescing, and ISR continue working as intended.
1696
+ */ const generateStaticHTML = supportsDynamicResponse !== true || !!shouldWaitOnAllReady;
1697
+ return await (0, _nodewebstreamshelper.continueFizzStream)(htmlStream, {
1698
+ inlinedDataStream: (0, _useflightresponse.createInlinedDataReadableStream)(reactServerResult.consume(), nonce, formState),
1699
+ isStaticGeneration: generateStaticHTML,
1700
+ isBuildTimePrerendering: ctx.workStore.isBuildTimePrerendering === true,
1701
+ buildId: ctx.workStore.buildId,
1702
+ getServerInsertedHTML,
1703
+ getServerInsertedMetadata,
1704
+ validateRootLayout: dev
1705
+ });
1706
+ } catch (err) {
1707
+ if ((0, _staticgenerationbailout.isStaticGenBailoutError)(err) || typeof err === 'object' && err !== null && 'message' in err && typeof err.message === 'string' && err.message.includes('https://nextjs.org/docs/advanced-features/static-html-export')) {
1708
+ // Ensure that "next dev" prints the red error overlay
1709
+ endSpanWithError(err);
1710
+ throw err;
1711
+ }
1712
+ // If a bailout made it to this point, it means it wasn't wrapped inside
1713
+ // a suspense boundary.
1714
+ const shouldBailoutToCSR = (0, _bailouttocsr.isBailoutToCSRError)(err);
1715
+ if (shouldBailoutToCSR) {
1716
+ const stack = (0, _formatservererror.getStackWithoutErrorMessage)(err);
1717
+ (0, _log.error)(`${err.reason} should be wrapped in a suspense boundary at page "${pagePath}". Read more: https://nextjs.org/docs/messages/missing-suspense-with-csr-bailout\n${stack}`);
1718
+ endSpanWithError(err);
1719
+ throw err;
1720
+ }
1721
+ let errorType;
1722
+ if ((0, _httpaccessfallback.isHTTPAccessFallbackError)(err)) {
1723
+ res.statusCode = (0, _httpaccessfallback.getAccessFallbackHTTPStatus)(err);
1724
+ metadata.statusCode = res.statusCode;
1725
+ errorType = (0, _httpaccessfallback.getAccessFallbackErrorTypeByStatus)(res.statusCode);
1726
+ } else if ((0, _redirecterror.isRedirectError)(err)) {
1727
+ errorType = 'redirect';
1728
+ res.statusCode = (0, _redirect.getRedirectStatusCodeFromError)(err);
1729
+ metadata.statusCode = res.statusCode;
1730
+ const redirectUrl = (0, _addpathprefix.addPathPrefix)((0, _redirect.getURLFromRedirectError)(err), basePath);
1731
+ // If there were mutable cookies set, we need to set them on the
1732
+ // response.
1733
+ const headers = new Headers();
1734
+ if ((0, _requestcookies.appendMutableCookies)(headers, requestStore.mutableCookies)) {
1735
+ setHeader('set-cookie', Array.from(headers.values()));
1736
+ }
1737
+ setHeader('location', redirectUrl);
1738
+ } else if (!shouldBailoutToCSR) {
1739
+ res.statusCode = 500;
1740
+ metadata.statusCode = res.statusCode;
1741
+ }
1742
+ const [errorPreinitScripts, errorBootstrapScript] = (0, _requiredscripts.getRequiredScripts)(buildManifest, assetPrefix, crossOrigin, subresourceIntegrityManifest, (0, _getassetquerystring.getAssetQueryString)(ctx, false), nonce, '/_not-found/page');
1743
+ let errorRSCPayload;
1744
+ let errorServerStream;
1745
+ try {
1746
+ errorRSCPayload = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(requestStore, getErrorRSCPayload, tree, ctx, reactServerErrorsByDigest.has(err.digest) ? null : err, errorType);
1747
+ errorServerStream = _workunitasyncstorageexternal.workUnitAsyncStorage.run(requestStore, serverRenderToReadableStream, errorRSCPayload, clientModules, {
1748
+ filterStackFrame,
1749
+ onError: serverComponentsErrorHandler
1750
+ });
1751
+ if (reactServerResult === null) {
1752
+ // We errored when we did not have an RSC stream to read from. This is not just a render
1753
+ // error, we need to throw early
1754
+ endSpanWithError(err);
1755
+ throw err;
1756
+ }
1757
+ } catch (setupErr) {
1758
+ endSpanWithError(setupErr);
1759
+ throw setupErr;
1760
+ }
1761
+ try {
1762
+ const fizzStream = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(requestStore, _nodewebstreamshelper.renderToInitialFizzStream, {
1763
+ ReactDOMServer: require('react-dom/server'),
1764
+ element: /*#__PURE__*/ (0, _jsxruntime.jsx)(ErrorApp, {
1765
+ reactServerStream: errorServerStream,
1766
+ ServerInsertedHTMLProvider: ServerInsertedHTMLProvider,
1767
+ preinitScripts: errorPreinitScripts,
1768
+ nonce: nonce,
1769
+ images: ctx.renderOpts.images
1770
+ }),
1771
+ streamOptions: {
1772
+ nonce,
1773
+ bootstrapScriptContent,
1774
+ // Include hydration scripts in the HTML
1775
+ bootstrapScripts: [
1776
+ errorBootstrapScript
1777
+ ],
1778
+ formState
1779
+ }
1780
+ });
1781
+ // End the render span only after React completed rendering (including anything inside Suspense boundaries)
1782
+ fizzStream.allReady.finally(()=>{
1783
+ if (renderSpan.isRecording()) renderSpan.end();
1784
+ });
1785
+ /**
1786
+ * Rules of Static & Dynamic HTML:
1787
+ *
1788
+ * 1.) We must generate static HTML unless the caller explicitly opts
1789
+ * in to dynamic HTML support.
1790
+ *
1791
+ * 2.) If dynamic HTML support is requested, we must honor that request
1792
+ * or throw an error. It is the sole responsibility of the caller to
1793
+ * ensure they aren't e.g. requesting dynamic HTML for a static page.
1794
+ * 3.) If `shouldWaitOnAllReady` is true, which indicates we need to
1795
+ * resolve all suspenses and generate a full HTML. e.g. when it's a
1796
+ * html limited bot requests, we produce the full HTML content.
1797
+ *
1798
+ * These rules help ensure that other existing features like request caching,
1799
+ * coalescing, and ISR continue working as intended.
1800
+ */ const generateStaticHTML = supportsDynamicResponse !== true || !!shouldWaitOnAllReady;
1801
+ return await (0, _nodewebstreamshelper.continueFizzStream)(fizzStream, {
1802
+ inlinedDataStream: (0, _useflightresponse.createInlinedDataReadableStream)(// This is intentionally using the readable datastream from the
1803
+ // main render rather than the flight data from the error page
1804
+ // render
1805
+ reactServerResult.consume(), nonce, formState),
1806
+ isStaticGeneration: generateStaticHTML,
1807
+ isBuildTimePrerendering: ctx.workStore.isBuildTimePrerendering === true,
1808
+ buildId: ctx.workStore.buildId,
1809
+ getServerInsertedHTML: (0, _makegetserverinsertedhtml.makeGetServerInsertedHTML)({
1810
+ polyfills,
1811
+ renderServerInsertedHTML,
1812
+ serverCapturedErrors: [],
1813
+ basePath,
1814
+ tracingMetadata: tracingMetadata
1815
+ }),
1816
+ getServerInsertedMetadata,
1817
+ validateRootLayout: dev
1818
+ });
1819
+ } catch (finalErr) {
1820
+ if (process.env.NODE_ENV === 'development' && (0, _httpaccessfallback.isHTTPAccessFallbackError)(finalErr)) {
1821
+ const { bailOnRootNotFound } = require('../../client/components/dev-root-http-access-fallback-boundary');
1822
+ bailOnRootNotFound();
1823
+ }
1824
+ endSpanWithError(finalErr);
1825
+ throw finalErr;
1826
+ }
1827
+ }
1828
+ });
1829
+ /* eslint-enable @next/internal/no-ambiguous-jsx */ }
1830
+ async function renderWithRestartOnCacheMissInDev(ctx, initialRequestStore, createRequestStore, getPayload, onError) {
1831
+ const { htmlRequestId, renderOpts, componentMod: { routeModule: { userland: { loaderTree } } } } = ctx;
1832
+ const { ComponentMod, setCacheStatus, setReactDebugChannel } = renderOpts;
1833
+ const hasRuntimePrefetch = await (0, _stagedvalidation.anySegmentHasRuntimePrefetchEnabled)(loaderTree);
1834
+ // If the render is restarted, we'll recreate a fresh request store
1835
+ let requestStore = initialRequestStore;
1836
+ const environmentName = ()=>{
1837
+ const currentStage = requestStore.stagedRendering.currentStage;
1838
+ switch(currentStage){
1839
+ case _stagedrendering.RenderStage.Before:
1840
+ case _stagedrendering.RenderStage.Static:
1841
+ return 'Prerender';
1842
+ case _stagedrendering.RenderStage.Runtime:
1843
+ return hasRuntimePrefetch ? 'Prefetch' : 'Prefetchable';
1844
+ case _stagedrendering.RenderStage.Dynamic:
1845
+ case _stagedrendering.RenderStage.Abandoned:
1846
+ return 'Server';
1847
+ default:
1848
+ currentStage;
1849
+ throw Object.defineProperty(new _invarianterror.InvariantError(`Invalid render stage: ${currentStage}`), "__NEXT_ERROR_CODE", {
1850
+ value: "E881",
1851
+ enumerable: false,
1852
+ configurable: true
1853
+ });
1854
+ }
1855
+ };
1856
+ //===============================================
1857
+ // Initial render
1858
+ //===============================================
1859
+ // Try to render the page and see if there's any cache misses.
1860
+ // If there are, wait for caches to finish and restart the render.
1861
+ // This render might end up being used as a prospective render (if there's cache misses),
1862
+ // so we need to set it up for filling caches.
1863
+ const cacheSignal = new _cachesignal.CacheSignal();
1864
+ // If we encounter async modules that delay rendering, we'll also need to restart.
1865
+ // TODO(restart-on-cache-miss): technically, we only need to wait for pending *server* modules here,
1866
+ // but `trackPendingModules` doesn't distinguish between client and server.
1867
+ (0, _trackmoduleloadingexternal.trackPendingModules)(cacheSignal);
1868
+ const prerenderResumeDataCache = (0, _resumedatacache.createPrerenderResumeDataCache)();
1869
+ const initialReactController = new AbortController();
1870
+ const initialDataController = new AbortController() // Controls hanging promises we create
1871
+ ;
1872
+ const initialStageController = new _stagedrendering.StagedRenderingController(initialDataController.signal, hasRuntimePrefetch);
1873
+ requestStore.prerenderResumeDataCache = prerenderResumeDataCache;
1874
+ // `getRenderResumeDataCache` will fall back to using `prerenderResumeDataCache` as `renderResumeDataCache`,
1875
+ // so not having a resume data cache won't break any expectations in case we don't need to restart.
1876
+ requestStore.renderResumeDataCache = null;
1877
+ requestStore.stagedRendering = initialStageController;
1878
+ requestStore.asyncApiPromises = createAsyncApiPromisesInDev(initialStageController, requestStore.cookies, requestStore.mutableCookies, requestStore.headers);
1879
+ requestStore.cacheSignal = cacheSignal;
1880
+ let debugChannel = setReactDebugChannel && createDebugChannel();
1881
+ const { clientModules } = (0, _manifestssingleton.getClientReferenceManifest)();
1882
+ // Note: The stage controller starts out in the `Before` stage,
1883
+ // where sync IO does not cause aborts, so it's okay if it happens before render.
1884
+ const initialRscPayload = await getPayload(requestStore);
1885
+ const maybeInitialStreamResult = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(requestStore, ()=>(0, _apprenderrenderutils.pipelineInSequentialTasks)(()=>{
1886
+ // Static stage
1887
+ initialStageController.advanceStage(_stagedrendering.RenderStage.Static);
1888
+ const stream = ComponentMod.renderToReadableStream(initialRscPayload, clientModules, {
1889
+ onError,
1890
+ environmentName,
1891
+ filterStackFrame,
1892
+ debugChannel: debugChannel == null ? void 0 : debugChannel.serverSide,
1893
+ signal: initialReactController.signal
1894
+ });
1895
+ // If we abort the render, we want to reject the stage-dependent promises as well.
1896
+ // Note that we want to install this listener after the render is started
1897
+ // so that it runs after react is finished running its abort code.
1898
+ initialReactController.signal.addEventListener('abort', ()=>{
1899
+ initialDataController.abort(initialReactController.signal.reason);
1900
+ });
1901
+ const [continuationStream, accumulatingStream] = stream.tee();
1902
+ const accumulatedChunksPromise = accumulateStreamChunks(accumulatingStream, initialStageController, initialDataController.signal);
1903
+ return {
1904
+ stream: continuationStream,
1905
+ accumulatedChunksPromise
1906
+ };
1907
+ }, ({ stream, accumulatedChunksPromise })=>{
1908
+ // Runtime stage
1909
+ if (initialStageController.currentStage === _stagedrendering.RenderStage.Abandoned) {
1910
+ // If we abandoned the render in the static stage, we won't proceed further.
1911
+ return null;
1912
+ }
1913
+ // If we had a cache miss in the static stage, we'll have to discard this stream
1914
+ // and render again once the caches are warm.
1915
+ // If we already advanced stages we similarly had sync IO that might be from module loading
1916
+ // and need to render again once the caches are warm.
1917
+ if (cacheSignal.hasPendingReads()) {
1918
+ // Regardless of whether we are going to abandon this
1919
+ // render we need the unblock runtime b/c it's essential
1920
+ // filling caches.
1921
+ initialStageController.abandonRender();
1922
+ return null;
1923
+ }
1924
+ initialStageController.advanceStage(_stagedrendering.RenderStage.Runtime);
1925
+ return {
1926
+ stream,
1927
+ accumulatedChunksPromise
1928
+ };
1929
+ }, (result)=>{
1930
+ // Dynamic stage
1931
+ if (result === null || initialStageController.currentStage === _stagedrendering.RenderStage.Abandoned) {
1932
+ // If we abandoned the render in the static or runtime stage, we won't proceed further.
1933
+ return null;
1934
+ }
1935
+ // If we had cache misses in either of the previous stages,
1936
+ // then we'll only use this render for filling caches.
1937
+ // We won't advance the stage, and thus leave dynamic APIs hanging,
1938
+ // because they won't be cached anyway, so it'd be wasted work.
1939
+ if (cacheSignal.hasPendingReads()) {
1940
+ initialStageController.abandonRender();
1941
+ return null;
1942
+ }
1943
+ // Regardless of whether we are going to abandon this
1944
+ // render we need the unblock runtime b/c it's essential
1945
+ // filling caches.
1946
+ initialStageController.advanceStage(_stagedrendering.RenderStage.Dynamic);
1947
+ return result;
1948
+ }));
1949
+ if (maybeInitialStreamResult !== null) {
1950
+ // No cache misses. We can use the result as-is.
1951
+ return {
1952
+ stream: maybeInitialStreamResult.stream,
1953
+ accumulatedChunksPromise: maybeInitialStreamResult.accumulatedChunksPromise,
1954
+ staticInterruptReason: initialStageController.getStaticInterruptReason(),
1955
+ runtimeInterruptReason: initialStageController.getRuntimeInterruptReason(),
1956
+ staticStageEndTime: initialStageController.getStaticStageEndTime(),
1957
+ runtimeStageEndTime: initialStageController.getRuntimeStageEndTime(),
1958
+ debugChannel,
1959
+ requestStore
1960
+ };
1961
+ }
1962
+ if (process.env.NODE_ENV === 'development' && setCacheStatus) {
1963
+ setCacheStatus('filling', htmlRequestId);
1964
+ }
1965
+ // Cache miss. We will use the initial render to fill caches, and discard its result.
1966
+ // Then, we can render again with warm caches.
1967
+ // TODO(restart-on-cache-miss):
1968
+ // This might end up waiting for more caches than strictly necessary,
1969
+ // because we can't abort the render yet, and we'll let runtime/dynamic APIs resolve.
1970
+ // Ideally we'd only wait for caches that are needed in the static stage.
1971
+ // This will be optimized in the future by not allowing runtime/dynamic APIs to resolve.
1972
+ await cacheSignal.cacheReady();
1973
+ initialReactController.abort();
1974
+ //===============================================
1975
+ // Final render (restarted)
1976
+ //===============================================
1977
+ // The initial render acted as a prospective render to warm the caches.
1978
+ requestStore = createRequestStore();
1979
+ // We are going to render this pass all the way through because we've already
1980
+ // filled any caches so we won't be aborting this time.
1981
+ const abortSignal = null;
1982
+ const finalStageController = new _stagedrendering.StagedRenderingController(abortSignal, hasRuntimePrefetch);
1983
+ // We've filled the caches, so now we can render as usual,
1984
+ // without any cache-filling mechanics.
1985
+ requestStore.prerenderResumeDataCache = null;
1986
+ requestStore.renderResumeDataCache = (0, _resumedatacache.createRenderResumeDataCache)(prerenderResumeDataCache);
1987
+ requestStore.stagedRendering = finalStageController;
1988
+ requestStore.cacheSignal = null;
1989
+ requestStore.asyncApiPromises = createAsyncApiPromisesInDev(finalStageController, requestStore.cookies, requestStore.mutableCookies, requestStore.headers);
1990
+ // The initial render already wrote to its debug channel.
1991
+ // We're not using it, so we need to create a new one.
1992
+ debugChannel = setReactDebugChannel && createDebugChannel();
1993
+ // Note: The stage controller starts out in the `Before` stage,
1994
+ // where sync IO does not cause aborts, so it's okay if it happens before render.
1995
+ const finalRscPayload = await getPayload(requestStore);
1996
+ const finalStreamResult = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(requestStore, ()=>(0, _apprenderrenderutils.pipelineInSequentialTasks)(()=>{
1997
+ // Static stage
1998
+ finalStageController.advanceStage(_stagedrendering.RenderStage.Static);
1999
+ const stream = ComponentMod.renderToReadableStream(finalRscPayload, clientModules, {
2000
+ onError,
2001
+ environmentName,
2002
+ filterStackFrame,
2003
+ debugChannel: debugChannel == null ? void 0 : debugChannel.serverSide
2004
+ });
2005
+ const [continuationStream, accumulatingStream] = stream.tee();
2006
+ const accumulatedChunksPromise = accumulateStreamChunks(accumulatingStream, finalStageController, null);
2007
+ return {
2008
+ stream: continuationStream,
2009
+ accumulatedChunksPromise
2010
+ };
2011
+ }, (result)=>{
2012
+ // Runtime stage
2013
+ finalStageController.advanceStage(_stagedrendering.RenderStage.Runtime);
2014
+ return result;
2015
+ }, (result)=>{
2016
+ // Dynamic stage
2017
+ finalStageController.advanceStage(_stagedrendering.RenderStage.Dynamic);
2018
+ return result;
2019
+ }));
2020
+ if (process.env.NODE_ENV === 'development' && setCacheStatus) {
2021
+ setCacheStatus('filled', htmlRequestId);
2022
+ }
2023
+ return {
2024
+ stream: finalStreamResult.stream,
2025
+ accumulatedChunksPromise: finalStreamResult.accumulatedChunksPromise,
2026
+ staticInterruptReason: finalStageController.getStaticInterruptReason(),
2027
+ runtimeInterruptReason: finalStageController.getRuntimeInterruptReason(),
2028
+ staticStageEndTime: finalStageController.getStaticStageEndTime(),
2029
+ runtimeStageEndTime: finalStageController.getRuntimeStageEndTime(),
2030
+ debugChannel,
2031
+ requestStore
2032
+ };
2033
+ }
2034
+ async function accumulateStreamChunks(stream, stageController, signal) {
2035
+ const staticChunks = [];
2036
+ const runtimeChunks = [];
2037
+ const dynamicChunks = [];
2038
+ const reader = stream.getReader();
2039
+ let cancelled = false;
2040
+ function cancel() {
2041
+ if (!cancelled) {
2042
+ cancelled = true;
2043
+ reader.cancel();
2044
+ }
2045
+ }
2046
+ if (signal) {
2047
+ signal.addEventListener('abort', cancel, {
2048
+ once: true
2049
+ });
2050
+ }
2051
+ try {
2052
+ while(!cancelled){
2053
+ const { done, value } = await reader.read();
2054
+ if (done) {
2055
+ cancel();
2056
+ break;
2057
+ }
2058
+ switch(stageController.currentStage){
2059
+ case _stagedrendering.RenderStage.Before:
2060
+ throw Object.defineProperty(new _invarianterror.InvariantError('Unexpected stream chunk while in Before stage'), "__NEXT_ERROR_CODE", {
2061
+ value: "E942",
2062
+ enumerable: false,
2063
+ configurable: true
2064
+ });
2065
+ case _stagedrendering.RenderStage.Static:
2066
+ staticChunks.push(value);
2067
+ // fall through
2068
+ case _stagedrendering.RenderStage.Runtime:
2069
+ runtimeChunks.push(value);
2070
+ // fall through
2071
+ case _stagedrendering.RenderStage.Dynamic:
2072
+ dynamicChunks.push(value);
2073
+ break;
2074
+ case _stagedrendering.RenderStage.Abandoned:
2075
+ break;
2076
+ default:
2077
+ stageController.currentStage;
2078
+ break;
2079
+ }
2080
+ }
2081
+ } catch {
2082
+ // When we release the lock we may reject the read
2083
+ }
2084
+ return {
2085
+ staticChunks,
2086
+ runtimeChunks,
2087
+ dynamicChunks
2088
+ };
2089
+ }
2090
+ function createAsyncApiPromisesInDev(stagedRendering, cookies, mutableCookies, headers) {
2091
+ return {
2092
+ // Runtime APIs
2093
+ cookies: stagedRendering.delayUntilStage(_stagedrendering.RenderStage.Runtime, 'cookies', cookies),
2094
+ mutableCookies: stagedRendering.delayUntilStage(_stagedrendering.RenderStage.Runtime, 'cookies', mutableCookies),
2095
+ headers: stagedRendering.delayUntilStage(_stagedrendering.RenderStage.Runtime, 'headers', headers),
2096
+ // These are not used directly, but we chain other `params`/`searchParams` promises off of them.
2097
+ sharedParamsParent: stagedRendering.delayUntilStage(_stagedrendering.RenderStage.Runtime, undefined, '<internal params>'),
2098
+ sharedSearchParamsParent: stagedRendering.delayUntilStage(_stagedrendering.RenderStage.Runtime, undefined, '<internal searchParams>'),
2099
+ connection: stagedRendering.delayUntilStage(_stagedrendering.RenderStage.Dynamic, 'connection', undefined)
2100
+ };
2101
+ }
2102
+ function createDebugChannel() {
2103
+ if (process.env.NODE_ENV === 'production') {
2104
+ return undefined;
2105
+ }
2106
+ let readableController;
2107
+ let clientSideReadable = new ReadableStream({
2108
+ start (controller) {
2109
+ readableController = controller;
2110
+ }
2111
+ });
2112
+ return {
2113
+ serverSide: {
2114
+ writable: new WritableStream({
2115
+ write (chunk) {
2116
+ readableController == null ? void 0 : readableController.enqueue(chunk);
2117
+ },
2118
+ close () {
2119
+ readableController == null ? void 0 : readableController.close();
2120
+ },
2121
+ abort (err) {
2122
+ readableController == null ? void 0 : readableController.error(err);
2123
+ }
2124
+ })
2125
+ },
2126
+ clientSide: {
2127
+ readable: clientSideReadable
2128
+ }
2129
+ };
2130
+ }
2131
+ /**
2132
+ * Logs the given messages, and sends the error instances to the browser as an
2133
+ * RSC stream, where they can be deserialized and logged (or otherwise presented
2134
+ * in the devtools), while leveraging React's capabilities to not only
2135
+ * source-map the stack frames (via findSourceMapURL), but also create virtual
2136
+ * server modules that allow users to inspect the server source code in the
2137
+ * browser.
2138
+ */ async function logMessagesAndSendErrorsToBrowser(messages, ctx) {
2139
+ const { componentMod: ComponentMod, htmlRequestId, renderOpts } = ctx;
2140
+ const { sendErrorsToBrowser } = renderOpts;
2141
+ const errors = [];
2142
+ for (const message of messages){
2143
+ // Log the error to the CLI. Prevent the logs from being dimmed, which we
2144
+ // apply for other logs during the spawned validation.
2145
+ _consoleasyncstorageexternal.consoleAsyncStorage.exit(()=>{
2146
+ console.error(message);
2147
+ });
2148
+ // Error instances are also sent to the browser. We're currently using a
2149
+ // non-Error message only in debug build mode as a message that is only
2150
+ // meant for the CLI. FIXME: This is a bit spooky action at a distance. We
2151
+ // should maybe have a more explicit way of determining which messages
2152
+ // should be sent to the browser. Regardless, only real errors with a proper
2153
+ // stack make sense to be "replayed" in the browser.
2154
+ if (message instanceof Error) {
2155
+ errors.push(message);
2156
+ }
2157
+ }
2158
+ if (errors.length > 0) {
2159
+ if (!sendErrorsToBrowser) {
2160
+ throw Object.defineProperty(new _invarianterror.InvariantError('Expected `sendErrorsToBrowser` to be defined in renderOpts.'), "__NEXT_ERROR_CODE", {
2161
+ value: "E947",
2162
+ enumerable: false,
2163
+ configurable: true
2164
+ });
2165
+ }
2166
+ const { clientModules } = (0, _manifestssingleton.getClientReferenceManifest)();
2167
+ const errorsRscStream = ComponentMod.renderToReadableStream(errors, clientModules, {
2168
+ filterStackFrame
2169
+ });
2170
+ sendErrorsToBrowser(errorsRscStream, htmlRequestId);
2171
+ }
2172
+ }
2173
+ /**
2174
+ * This function is a fork of prerenderToStream cacheComponents branch.
2175
+ * While it doesn't return a stream we want it to have identical
2176
+ * prerender semantics to prerenderToStream and should update it
2177
+ * in conjunction with any changes to that function.
2178
+ */ async function spawnStaticShellValidationInDev(accumulatedChunksPromise, staticInterruptReason, runtimeInterruptReason, staticStageEndTime, runtimeStageEndTime, ctx, requestStore, fallbackRouteParams, debugChannelClient) {
2179
+ const { componentMod: ComponentMod, getDynamicParamFromSegment, renderOpts, workStore } = ctx;
2180
+ const { allowEmptyStaticShell = false } = renderOpts;
2181
+ const rootParams = (0, _createcomponenttree.getRootParams)(ComponentMod.routeModule.userland.loaderTree, getDynamicParamFromSegment);
2182
+ const hmrRefreshHash = (0, _workunitasyncstorageexternal.getHmrRefreshHash)(workStore, requestStore);
2183
+ // We don't need to continue the prerender process if we already
2184
+ // detected invalid dynamic usage in the initial prerender phase.
2185
+ const { invalidDynamicUsageError } = workStore;
2186
+ if (invalidDynamicUsageError) {
2187
+ return logMessagesAndSendErrorsToBrowser([
2188
+ invalidDynamicUsageError
2189
+ ], ctx);
2190
+ }
2191
+ if (staticInterruptReason) {
2192
+ return logMessagesAndSendErrorsToBrowser([
2193
+ staticInterruptReason
2194
+ ], ctx);
2195
+ }
2196
+ if (runtimeInterruptReason) {
2197
+ return logMessagesAndSendErrorsToBrowser([
2198
+ runtimeInterruptReason
2199
+ ], ctx);
2200
+ }
2201
+ const { staticChunks, runtimeChunks, dynamicChunks } = await accumulatedChunksPromise;
2202
+ // First we warmup SSR with the runtime chunks. This ensures that when we do
2203
+ // the full prerender pass with dynamic tracking module loading won't
2204
+ // interrupt the prerender and can properly observe the entire content
2205
+ await warmupModuleCacheForRuntimeValidationInDev(runtimeChunks, dynamicChunks, rootParams, fallbackRouteParams, allowEmptyStaticShell, ctx);
2206
+ let debugChunks = null;
2207
+ if (debugChannelClient) {
2208
+ debugChunks = [];
2209
+ debugChannelClient.on('data', (c)=>debugChunks.push(c));
2210
+ }
2211
+ const runtimeResult = await validateStagedShell(runtimeChunks, dynamicChunks, debugChunks, runtimeStageEndTime, rootParams, fallbackRouteParams, allowEmptyStaticShell, ctx, hmrRefreshHash, _dynamicrendering.trackDynamicHoleInRuntimeShell);
2212
+ if (runtimeResult.length > 0) {
2213
+ // We have something to report from the runtime validation
2214
+ // We can skip the static validation
2215
+ return logMessagesAndSendErrorsToBrowser(runtimeResult, ctx);
2216
+ }
2217
+ const staticResult = await validateStagedShell(staticChunks, dynamicChunks, debugChunks, staticStageEndTime, rootParams, fallbackRouteParams, allowEmptyStaticShell, ctx, hmrRefreshHash, _dynamicrendering.trackDynamicHoleInStaticShell);
2218
+ return logMessagesAndSendErrorsToBrowser(staticResult, ctx);
2219
+ }
2220
+ async function warmupModuleCacheForRuntimeValidationInDev(runtimeServerChunks, allServerChunks, rootParams, fallbackRouteParams, allowEmptyStaticShell, ctx) {
2221
+ const { implicitTags, nonce, workStore } = ctx;
2222
+ // Warmup SSR
2223
+ const initialClientPrerenderController = new AbortController();
2224
+ const initialClientReactController = new AbortController();
2225
+ const initialClientRenderController = new AbortController();
2226
+ const preinitScripts = ()=>{};
2227
+ const { ServerInsertedHTMLProvider } = (0, _serverinsertedhtml.createServerInsertedHTML)();
2228
+ const initialClientPrerenderStore = {
2229
+ type: 'prerender-client',
2230
+ phase: 'render',
2231
+ rootParams,
2232
+ fallbackRouteParams,
2233
+ implicitTags,
2234
+ renderSignal: initialClientRenderController.signal,
2235
+ controller: initialClientPrerenderController,
2236
+ // For HTML Generation the only cache tracked activity
2237
+ // is module loading, which has it's own cache signal
2238
+ cacheSignal: null,
2239
+ dynamicTracking: null,
2240
+ allowEmptyStaticShell,
2241
+ revalidate: _constants1.INFINITE_CACHE,
2242
+ expire: _constants1.INFINITE_CACHE,
2243
+ stale: _constants1.INFINITE_CACHE,
2244
+ tags: [
2245
+ ...implicitTags.tags
2246
+ ],
2247
+ // TODO should this be removed from client stores?
2248
+ prerenderResumeDataCache: null,
2249
+ renderResumeDataCache: null,
2250
+ hmrRefreshHash: undefined
2251
+ };
2252
+ const runtimeServerStream = createNodeStreamFromChunks(runtimeServerChunks, allServerChunks, initialClientReactController.signal);
2253
+ const prerender = require('react-dom/static').prerender;
2254
+ const pendingInitialClientResult = _workunitasyncstorageexternal.workUnitAsyncStorage.run(initialClientPrerenderStore, prerender, // eslint-disable-next-line @next/internal/no-ambiguous-jsx -- React Client
2255
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(App, {
2256
+ reactServerStream: runtimeServerStream,
2257
+ reactDebugStream: undefined,
2258
+ debugEndTime: undefined,
2259
+ preinitScripts: preinitScripts,
2260
+ ServerInsertedHTMLProvider: ServerInsertedHTMLProvider,
2261
+ nonce: nonce,
2262
+ images: ctx.renderOpts.images
2263
+ }), {
2264
+ signal: initialClientReactController.signal,
2265
+ onError: (err)=>{
2266
+ const digest = (0, _createerrorhandler.getDigestForWellKnownError)(err);
2267
+ if (digest) {
2268
+ return digest;
2269
+ }
2270
+ if ((0, _reactlargeshellerror.isReactLargeShellError)(err)) {
2271
+ // TODO: Aggregate
2272
+ console.error(err);
2273
+ return undefined;
2274
+ }
2275
+ if (initialClientReactController.signal.aborted) {
2276
+ // These are expected errors that might error the prerender. we ignore them.
2277
+ } else if (process.env.NEXT_DEBUG_BUILD || process.env.__NEXT_VERBOSE_LOGGING) {
2278
+ // We don't normally log these errors because we are going to retry anyway but
2279
+ // it can be useful for debugging Next.js itself to get visibility here when needed
2280
+ (0, _prospectiverenderutils.printDebugThrownValueForProspectiveRender)(err, workStore.route, _prospectiverenderutils.Phase.ProspectiveRender);
2281
+ }
2282
+ }
2283
+ });
2284
+ // The listener to abort our own render controller must be added after React
2285
+ // has added its listener, to ensure that pending I/O is not
2286
+ // aborted/rejected too early.
2287
+ initialClientReactController.signal.addEventListener('abort', ()=>{
2288
+ initialClientRenderController.abort();
2289
+ }, {
2290
+ once: true
2291
+ });
2292
+ pendingInitialClientResult.catch((err)=>{
2293
+ if (initialClientReactController.signal.aborted || (0, _dynamicrendering.isPrerenderInterruptedError)(err)) {
2294
+ // These are expected errors that might error the prerender. we ignore them.
2295
+ } else if (process.env.NEXT_DEBUG_BUILD || process.env.__NEXT_VERBOSE_LOGGING) {
2296
+ // We don't normally log these errors because we are going to retry anyway but
2297
+ // it can be useful for debugging Next.js itself to get visibility here when needed
2298
+ (0, _prospectiverenderutils.printDebugThrownValueForProspectiveRender)(err, workStore.route, _prospectiverenderutils.Phase.ProspectiveRender);
2299
+ }
2300
+ });
2301
+ // This is mostly needed for dynamic `import()`s in client components.
2302
+ // Promises passed to client were already awaited above (assuming that they came from cached functions)
2303
+ const cacheSignal = new _cachesignal.CacheSignal();
2304
+ (0, _trackmoduleloadingexternal.trackPendingModules)(cacheSignal);
2305
+ await cacheSignal.cacheReady();
2306
+ initialClientReactController.abort();
2307
+ }
2308
+ async function validateStagedShell(stageChunks, allServerChunks, debugChunks, debugEndTime, rootParams, fallbackRouteParams, allowEmptyStaticShell, ctx, hmrRefreshHash, trackDynamicHole) {
2309
+ const { implicitTags, nonce, workStore } = ctx;
2310
+ const clientDynamicTracking = (0, _dynamicrendering.createDynamicTrackingState)(false //isDebugDynamicAccesses
2311
+ );
2312
+ const clientReactController = new AbortController();
2313
+ const clientRenderController = new AbortController();
2314
+ const preinitScripts = ()=>{};
2315
+ const { ServerInsertedHTMLProvider } = (0, _serverinsertedhtml.createServerInsertedHTML)();
2316
+ const finalClientPrerenderStore = {
2317
+ type: 'prerender-client',
2318
+ phase: 'render',
2319
+ rootParams,
2320
+ fallbackRouteParams,
2321
+ implicitTags,
2322
+ renderSignal: clientRenderController.signal,
2323
+ controller: clientReactController,
2324
+ // No APIs require a cacheSignal through the workUnitStore during the HTML prerender
2325
+ cacheSignal: null,
2326
+ dynamicTracking: clientDynamicTracking,
2327
+ allowEmptyStaticShell,
2328
+ revalidate: _constants1.INFINITE_CACHE,
2329
+ expire: _constants1.INFINITE_CACHE,
2330
+ stale: _constants1.INFINITE_CACHE,
2331
+ tags: [
2332
+ ...implicitTags.tags
2333
+ ],
2334
+ // TODO should this be removed from client stores?
2335
+ prerenderResumeDataCache: null,
2336
+ renderResumeDataCache: null,
2337
+ hmrRefreshHash
2338
+ };
2339
+ let runtimeDynamicValidation = (0, _dynamicrendering.createDynamicValidationState)();
2340
+ const serverStream = createNodeStreamFromChunks(stageChunks, allServerChunks, clientReactController.signal);
2341
+ const debugChannelClient = debugChunks ? createNodeStreamFromChunks(debugChunks, debugChunks, clientReactController.signal) : undefined;
2342
+ const prerender = require('react-dom/static').prerender;
2343
+ try {
2344
+ let { prelude: unprocessedPrelude } = await (0, _apprenderprerenderutils.prerenderAndAbortInSequentialTasks)(()=>{
2345
+ const pendingFinalClientResult = _workunitasyncstorageexternal.workUnitAsyncStorage.run(finalClientPrerenderStore, prerender, // eslint-disable-next-line @next/internal/no-ambiguous-jsx -- React Client
2346
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(App, {
2347
+ reactServerStream: serverStream,
2348
+ reactDebugStream: debugChannelClient,
2349
+ debugEndTime: debugEndTime,
2350
+ preinitScripts: preinitScripts,
2351
+ ServerInsertedHTMLProvider: ServerInsertedHTMLProvider,
2352
+ nonce: nonce,
2353
+ images: ctx.renderOpts.images
2354
+ }), {
2355
+ signal: clientReactController.signal,
2356
+ onError: (err, errorInfo)=>{
2357
+ if ((0, _dynamicrendering.isPrerenderInterruptedError)(err) || clientReactController.signal.aborted) {
2358
+ const componentStack = errorInfo.componentStack;
2359
+ if (typeof componentStack === 'string') {
2360
+ trackDynamicHole(workStore, componentStack, runtimeDynamicValidation, clientDynamicTracking);
2361
+ }
2362
+ return;
2363
+ }
2364
+ if ((0, _reactlargeshellerror.isReactLargeShellError)(err)) {
2365
+ // TODO: Aggregate
2366
+ console.error(err);
2367
+ return undefined;
2368
+ }
2369
+ return (0, _createerrorhandler.getDigestForWellKnownError)(err);
2370
+ }
2371
+ });
2372
+ // The listener to abort our own render controller must be added after
2373
+ // React has added its listener, to ensure that pending I/O is not
2374
+ // aborted/rejected too early.
2375
+ clientReactController.signal.addEventListener('abort', ()=>{
2376
+ clientRenderController.abort();
2377
+ }, {
2378
+ once: true
2379
+ });
2380
+ return pendingFinalClientResult;
2381
+ }, ()=>{
2382
+ clientReactController.abort();
2383
+ });
2384
+ const { preludeIsEmpty } = await (0, _apprenderprerenderutils.processPrelude)(unprocessedPrelude);
2385
+ return (0, _dynamicrendering.getStaticShellDisallowedDynamicReasons)(workStore, preludeIsEmpty ? _dynamicrendering.PreludeState.Empty : _dynamicrendering.PreludeState.Full, runtimeDynamicValidation);
2386
+ } catch (thrownValue) {
2387
+ // Even if the root errors we still want to report any cache components errors
2388
+ // that were discovered before the root errored.
2389
+ let errors = (0, _dynamicrendering.getStaticShellDisallowedDynamicReasons)(workStore, _dynamicrendering.PreludeState.Errored, runtimeDynamicValidation);
2390
+ if (process.env.NEXT_DEBUG_BUILD || process.env.__NEXT_VERBOSE_LOGGING) {
2391
+ errors.unshift('During dynamic validation the root of the page errored. The next logged error is the thrown value. It may be a duplicate of errors reported during the normal development mode render.', thrownValue);
2392
+ }
2393
+ return errors;
2394
+ }
2395
+ }
2396
+ /**
2397
+ * Determines whether we should generate static flight data.
2398
+ */ function shouldGenerateStaticFlightData(workStore) {
2399
+ const { isStaticGeneration } = workStore;
2400
+ if (!isStaticGeneration) return false;
2401
+ return true;
2402
+ }
2403
+ async function prerenderToStream(req, res, ctx, metadata, tree, fallbackRouteParams) {
2404
+ // When prerendering formState is always null. We still include it
2405
+ // because some shared APIs expect a formState value and this is slightly
2406
+ // more explicit than making it an optional function argument
2407
+ const formState = null;
2408
+ const { assetPrefix, getDynamicParamFromSegment, implicitTags, nonce, pagePath, renderOpts, workStore } = ctx;
2409
+ const { allowEmptyStaticShell = false, basePath, buildManifest, ComponentMod, crossOrigin, dev = false, experimental, isDebugDynamicAccesses, nextExport = false, onInstrumentationRequestError, page, reactMaxHeadersLength, subresourceIntegrityManifest, cacheComponents } = renderOpts;
2410
+ const rootParams = (0, _createcomponenttree.getRootParams)(tree, getDynamicParamFromSegment);
2411
+ const { ServerInsertedHTMLProvider, renderServerInsertedHTML } = (0, _serverinsertedhtml.createServerInsertedHTML)();
2412
+ const getServerInsertedMetadata = (0, _createserverinsertedmetadata.createServerInsertedMetadata)(nonce);
2413
+ const tracingMetadata = (0, _utils1.getTracedMetadata)((0, _tracer.getTracer)().getTracePropagationData(), experimental.clientTraceMetadata);
2414
+ const polyfills = buildManifest.polyfillFiles.filter((polyfill)=>polyfill.endsWith('.js') && !polyfill.endsWith('.module.js')).map((polyfill)=>({
2415
+ src: `${assetPrefix}/_next/${polyfill}${(0, _getassetquerystring.getAssetQueryString)(ctx, false)}`,
2416
+ integrity: subresourceIntegrityManifest == null ? void 0 : subresourceIntegrityManifest[polyfill],
2417
+ crossOrigin,
2418
+ noModule: true,
2419
+ nonce
2420
+ }));
2421
+ const [preinitScripts, bootstrapScript] = (0, _requiredscripts.getRequiredScripts)(buildManifest, // Why is assetPrefix optional on renderOpts?
2422
+ // @TODO make it default empty string on renderOpts and get rid of it from ctx
2423
+ assetPrefix, crossOrigin, subresourceIntegrityManifest, (0, _getassetquerystring.getAssetQueryString)(ctx, true), nonce, page);
2424
+ const { reactServerErrorsByDigest } = workStore;
2425
+ // We don't report errors during prerendering through our instrumentation hooks
2426
+ const reportErrors = !experimental.isRoutePPREnabled;
2427
+ function onHTMLRenderRSCError(err, silenceLog) {
2428
+ if (reportErrors) {
2429
+ return onInstrumentationRequestError == null ? void 0 : onInstrumentationRequestError(err, req, createErrorContext(ctx, 'react-server-components'), silenceLog);
2430
+ }
2431
+ }
2432
+ const serverComponentsErrorHandler = (0, _createerrorhandler.createReactServerErrorHandler)(dev, nextExport, reactServerErrorsByDigest, onHTMLRenderRSCError);
2433
+ function onHTMLRenderSSRError(err) {
2434
+ if (reportErrors) {
2435
+ // We don't need to silence logs here. onHTMLRenderSSRError won't be
2436
+ // called at all if the error was logged before in the RSC error handler.
2437
+ const silenceLog = false;
2438
+ return onInstrumentationRequestError == null ? void 0 : onInstrumentationRequestError(err, req, createErrorContext(ctx, 'server-rendering'), silenceLog);
2439
+ }
2440
+ }
2441
+ const allCapturedErrors = [];
2442
+ const htmlRendererErrorHandler = (0, _createerrorhandler.createHTMLErrorHandler)(dev, nextExport, reactServerErrorsByDigest, allCapturedErrors, onHTMLRenderSSRError);
2443
+ let reactServerPrerenderResult = null;
2444
+ const setMetadataHeader = (name)=>{
2445
+ metadata.headers ??= {};
2446
+ metadata.headers[name] = res.getHeader(name);
2447
+ };
2448
+ const setHeader = (name, value)=>{
2449
+ res.setHeader(name, value);
2450
+ setMetadataHeader(name);
2451
+ return res;
2452
+ };
2453
+ const appendHeader = (name, value)=>{
2454
+ if (Array.isArray(value)) {
2455
+ value.forEach((item)=>{
2456
+ res.appendHeader(name, item);
2457
+ });
2458
+ } else {
2459
+ res.appendHeader(name, value);
2460
+ }
2461
+ setMetadataHeader(name);
2462
+ };
2463
+ const selectStaleTime = createSelectStaleTime(experimental);
2464
+ const { clientModules } = (0, _manifestssingleton.getClientReferenceManifest)();
2465
+ let prerenderStore = null;
2466
+ try {
2467
+ if (cacheComponents) {
2468
+ /**
2469
+ * cacheComponents with PPR
2470
+ *
2471
+ * The general approach is to render the RSC stream first allowing any cache reads to resolve.
2472
+ * Once we have settled all cache reads we restart the render and abort after a single Task.
2473
+ *
2474
+ * Unlike with the non PPR case we can't synchronously abort the render when a dynamic API is used
2475
+ * during the initial render because we need to ensure all caches can be filled as part of the initial Task
2476
+ * and a synchronous abort might prevent us from filling all caches.
2477
+ *
2478
+ * Once the render is complete we allow the SSR render to finish and use a combination of the postponed state
2479
+ * and the reactServerIsDynamic value to determine how to treat the resulting render
2480
+ */ // The prerender controller represents the lifetime of the prerender. It
2481
+ // will be aborted when a task is complete or a synchronously aborting API
2482
+ // is called. Notably, during prospective prerenders, this does not
2483
+ // actually terminate the prerender itself, which will continue until all
2484
+ // caches are filled.
2485
+ const initialServerPrerenderController = new AbortController();
2486
+ // This controller is used to abort the React prerender.
2487
+ const initialServerReactController = new AbortController();
2488
+ // This controller represents the lifetime of the React prerender. Its
2489
+ // signal can be used for any I/O operation to abort the I/O and/or to
2490
+ // reject, when prerendering aborts. This includes our own hanging
2491
+ // promises for accessing request data, and for fetch calls. It might be
2492
+ // replaced in the future by React.cacheSignal(). It's aborted after the
2493
+ // React controller, so that no pending I/O can register abort listeners
2494
+ // that are called before React's abort listener is called. This ensures
2495
+ // that pending I/O is not rejected too early when aborting the prerender.
2496
+ // Notably, during the prospective prerender, it is different from the
2497
+ // prerender controller because we don't want to end the React prerender
2498
+ // until all caches are filled.
2499
+ const initialServerRenderController = new AbortController();
2500
+ // The cacheSignal helps us track whether caches are still filling or we are ready
2501
+ // to cut the render off.
2502
+ const cacheSignal = new _cachesignal.CacheSignal();
2503
+ let resumeDataCache;
2504
+ let renderResumeDataCache = null;
2505
+ let prerenderResumeDataCache = null;
2506
+ if (renderOpts.renderResumeDataCache) {
2507
+ // If a prefilled immutable render resume data cache is provided, e.g.
2508
+ // when prerendering an optional fallback shell after having prerendered
2509
+ // pages with defined params, we use this instead of a prerender resume
2510
+ // data cache.
2511
+ resumeDataCache = renderResumeDataCache = renderOpts.renderResumeDataCache;
2512
+ } else {
2513
+ // Otherwise we create a new mutable prerender resume data cache.
2514
+ resumeDataCache = prerenderResumeDataCache = (0, _resumedatacache.createPrerenderResumeDataCache)();
2515
+ }
2516
+ const initialServerPayloadPrerenderStore = {
2517
+ type: 'prerender',
2518
+ phase: 'render',
2519
+ rootParams,
2520
+ fallbackRouteParams,
2521
+ implicitTags,
2522
+ // While this render signal isn't going to be used to abort a React render while getting the RSC payload
2523
+ // various request data APIs bind to this controller to reject after completion.
2524
+ renderSignal: initialServerRenderController.signal,
2525
+ // When we generate the RSC payload we might abort this controller due to sync IO
2526
+ // but we don't actually care about sync IO in this phase so we use a throw away controller
2527
+ // that isn't connected to anything
2528
+ controller: new AbortController(),
2529
+ // During the initial prerender we need to track all cache reads to ensure
2530
+ // we render long enough to fill every cache it is possible to visit during
2531
+ // the final prerender.
2532
+ cacheSignal,
2533
+ dynamicTracking: null,
2534
+ allowEmptyStaticShell,
2535
+ revalidate: _constants1.INFINITE_CACHE,
2536
+ expire: _constants1.INFINITE_CACHE,
2537
+ stale: _constants1.INFINITE_CACHE,
2538
+ tags: [
2539
+ ...implicitTags.tags
2540
+ ],
2541
+ prerenderResumeDataCache,
2542
+ renderResumeDataCache,
2543
+ hmrRefreshHash: undefined
2544
+ };
2545
+ // We're not going to use the result of this render because the only time it could be used
2546
+ // is if it completes in a microtask and that's likely very rare for any non-trivial app
2547
+ const initialServerPayload = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(initialServerPayloadPrerenderStore, getRSCPayload, tree, ctx, res.statusCode === 404);
2548
+ const initialServerPrerenderStore = prerenderStore = {
2549
+ type: 'prerender',
2550
+ phase: 'render',
2551
+ rootParams,
2552
+ fallbackRouteParams,
2553
+ implicitTags,
2554
+ renderSignal: initialServerRenderController.signal,
2555
+ controller: initialServerPrerenderController,
2556
+ // During the initial prerender we need to track all cache reads to ensure
2557
+ // we render long enough to fill every cache it is possible to visit during
2558
+ // the final prerender.
2559
+ cacheSignal,
2560
+ dynamicTracking: null,
2561
+ allowEmptyStaticShell,
2562
+ revalidate: _constants1.INFINITE_CACHE,
2563
+ expire: _constants1.INFINITE_CACHE,
2564
+ stale: _constants1.INFINITE_CACHE,
2565
+ tags: [
2566
+ ...implicitTags.tags
2567
+ ],
2568
+ prerenderResumeDataCache,
2569
+ renderResumeDataCache,
2570
+ hmrRefreshHash: undefined
2571
+ };
2572
+ const pendingInitialServerResult = _workunitasyncstorageexternal.workUnitAsyncStorage.run(initialServerPrerenderStore, ComponentMod.prerender, initialServerPayload, clientModules, {
2573
+ filterStackFrame,
2574
+ onError: (err)=>{
2575
+ const digest = (0, _createerrorhandler.getDigestForWellKnownError)(err);
2576
+ if (digest) {
2577
+ return digest;
2578
+ }
2579
+ if ((0, _reactlargeshellerror.isReactLargeShellError)(err)) {
2580
+ // TODO: Aggregate
2581
+ console.error(err);
2582
+ return undefined;
2583
+ }
2584
+ if (initialServerPrerenderController.signal.aborted) {
2585
+ // The render aborted before this error was handled which indicates
2586
+ // the error is caused by unfinished components within the render
2587
+ return;
2588
+ } else if (process.env.NEXT_DEBUG_BUILD || process.env.__NEXT_VERBOSE_LOGGING) {
2589
+ (0, _prospectiverenderutils.printDebugThrownValueForProspectiveRender)(err, workStore.route, _prospectiverenderutils.Phase.ProspectiveRender);
2590
+ }
2591
+ },
2592
+ // We don't want to stop rendering until the cacheSignal is complete so we pass
2593
+ // a different signal to this render call than is used by dynamic APIs to signify
2594
+ // transitioning out of the prerender environment
2595
+ signal: initialServerReactController.signal
2596
+ });
2597
+ // The listener to abort our own render controller must be added after
2598
+ // React has added its listener, to ensure that pending I/O is not
2599
+ // aborted/rejected too early.
2600
+ initialServerReactController.signal.addEventListener('abort', ()=>{
2601
+ initialServerRenderController.abort();
2602
+ initialServerPrerenderController.abort();
2603
+ }, {
2604
+ once: true
2605
+ });
2606
+ // Wait for all caches to be finished filling and for async imports to resolve
2607
+ (0, _trackmoduleloadingexternal.trackPendingModules)(cacheSignal);
2608
+ await cacheSignal.cacheReady();
2609
+ initialServerReactController.abort();
2610
+ // We don't need to continue the prerender process if we already
2611
+ // detected invalid dynamic usage in the initial prerender phase.
2612
+ if (workStore.invalidDynamicUsageError) {
2613
+ (0, _dynamicrendering.logDisallowedDynamicError)(workStore, workStore.invalidDynamicUsageError);
2614
+ throw new _staticgenerationbailout.StaticGenBailoutError();
2615
+ }
2616
+ let initialServerResult;
2617
+ try {
2618
+ initialServerResult = await (0, _apprenderprerenderutils.createReactServerPrerenderResult)(pendingInitialServerResult);
2619
+ } catch (err) {
2620
+ if (initialServerReactController.signal.aborted || initialServerPrerenderController.signal.aborted) {
2621
+ // These are expected errors that might error the prerender. we ignore them.
2622
+ } else if (process.env.NEXT_DEBUG_BUILD || process.env.__NEXT_VERBOSE_LOGGING) {
2623
+ // We don't normally log these errors because we are going to retry anyway but
2624
+ // it can be useful for debugging Next.js itself to get visibility here when needed
2625
+ (0, _prospectiverenderutils.printDebugThrownValueForProspectiveRender)(err, workStore.route, _prospectiverenderutils.Phase.ProspectiveRender);
2626
+ }
2627
+ }
2628
+ if (initialServerResult) {
2629
+ const initialClientPrerenderController = new AbortController();
2630
+ const initialClientReactController = new AbortController();
2631
+ const initialClientRenderController = new AbortController();
2632
+ const initialClientPrerenderStore = {
2633
+ type: 'prerender-client',
2634
+ phase: 'render',
2635
+ rootParams,
2636
+ fallbackRouteParams,
2637
+ implicitTags,
2638
+ renderSignal: initialClientRenderController.signal,
2639
+ controller: initialClientPrerenderController,
2640
+ // For HTML Generation the only cache tracked activity
2641
+ // is module loading, which has it's own cache signal
2642
+ cacheSignal: null,
2643
+ dynamicTracking: null,
2644
+ allowEmptyStaticShell,
2645
+ revalidate: _constants1.INFINITE_CACHE,
2646
+ expire: _constants1.INFINITE_CACHE,
2647
+ stale: _constants1.INFINITE_CACHE,
2648
+ tags: [
2649
+ ...implicitTags.tags
2650
+ ],
2651
+ prerenderResumeDataCache,
2652
+ renderResumeDataCache,
2653
+ hmrRefreshHash: undefined
2654
+ };
2655
+ const prerender = require('react-dom/static').prerender;
2656
+ const pendingInitialClientResult = _workunitasyncstorageexternal.workUnitAsyncStorage.run(initialClientPrerenderStore, prerender, // eslint-disable-next-line @next/internal/no-ambiguous-jsx
2657
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(App, {
2658
+ reactServerStream: initialServerResult.asUnclosingStream(),
2659
+ reactDebugStream: undefined,
2660
+ debugEndTime: undefined,
2661
+ preinitScripts: preinitScripts,
2662
+ ServerInsertedHTMLProvider: ServerInsertedHTMLProvider,
2663
+ nonce: nonce,
2664
+ images: ctx.renderOpts.images
2665
+ }), {
2666
+ signal: initialClientReactController.signal,
2667
+ onError: (err)=>{
2668
+ const digest = (0, _createerrorhandler.getDigestForWellKnownError)(err);
2669
+ if (digest) {
2670
+ return digest;
2671
+ }
2672
+ if ((0, _reactlargeshellerror.isReactLargeShellError)(err)) {
2673
+ // TODO: Aggregate
2674
+ console.error(err);
2675
+ return undefined;
2676
+ }
2677
+ if (initialClientReactController.signal.aborted) {
2678
+ // These are expected errors that might error the prerender. we ignore them.
2679
+ } else if (process.env.NEXT_DEBUG_BUILD || process.env.__NEXT_VERBOSE_LOGGING) {
2680
+ // We don't normally log these errors because we are going to retry anyway but
2681
+ // it can be useful for debugging Next.js itself to get visibility here when needed
2682
+ (0, _prospectiverenderutils.printDebugThrownValueForProspectiveRender)(err, workStore.route, _prospectiverenderutils.Phase.ProspectiveRender);
2683
+ }
2684
+ },
2685
+ bootstrapScripts: [
2686
+ bootstrapScript
2687
+ ]
2688
+ });
2689
+ // The listener to abort our own render controller must be added after
2690
+ // React has added its listener, to ensure that pending I/O is not
2691
+ // aborted/rejected too early.
2692
+ initialClientReactController.signal.addEventListener('abort', ()=>{
2693
+ initialClientRenderController.abort();
2694
+ }, {
2695
+ once: true
2696
+ });
2697
+ pendingInitialClientResult.catch((err)=>{
2698
+ if (initialClientReactController.signal.aborted || (0, _dynamicrendering.isPrerenderInterruptedError)(err)) {
2699
+ // These are expected errors that might error the prerender. we ignore them.
2700
+ } else if (process.env.NEXT_DEBUG_BUILD || process.env.__NEXT_VERBOSE_LOGGING) {
2701
+ // We don't normally log these errors because we are going to retry anyway but
2702
+ // it can be useful for debugging Next.js itself to get visibility here when needed
2703
+ (0, _prospectiverenderutils.printDebugThrownValueForProspectiveRender)(err, workStore.route, _prospectiverenderutils.Phase.ProspectiveRender);
2704
+ }
2705
+ });
2706
+ // This is mostly needed for dynamic `import()`s in client components.
2707
+ // Promises passed to client were already awaited above (assuming that they came from cached functions)
2708
+ (0, _trackmoduleloadingexternal.trackPendingModules)(cacheSignal);
2709
+ await cacheSignal.cacheReady();
2710
+ initialClientReactController.abort();
2711
+ }
2712
+ const finalServerReactController = new AbortController();
2713
+ const finalServerRenderController = new AbortController();
2714
+ const finalServerPayloadPrerenderStore = {
2715
+ type: 'prerender',
2716
+ phase: 'render',
2717
+ rootParams,
2718
+ fallbackRouteParams,
2719
+ implicitTags,
2720
+ // While this render signal isn't going to be used to abort a React render while getting the RSC payload
2721
+ // various request data APIs bind to this controller to reject after completion.
2722
+ renderSignal: finalServerRenderController.signal,
2723
+ // When we generate the RSC payload we might abort this controller due to sync IO
2724
+ // but we don't actually care about sync IO in this phase so we use a throw away controller
2725
+ // that isn't connected to anything
2726
+ controller: new AbortController(),
2727
+ // All caches we could read must already be filled so no tracking is necessary
2728
+ cacheSignal: null,
2729
+ dynamicTracking: null,
2730
+ allowEmptyStaticShell,
2731
+ revalidate: _constants1.INFINITE_CACHE,
2732
+ expire: _constants1.INFINITE_CACHE,
2733
+ stale: _constants1.INFINITE_CACHE,
2734
+ tags: [
2735
+ ...implicitTags.tags
2736
+ ],
2737
+ prerenderResumeDataCache,
2738
+ renderResumeDataCache,
2739
+ hmrRefreshHash: undefined
2740
+ };
2741
+ const finalAttemptRSCPayload = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(finalServerPayloadPrerenderStore, getRSCPayload, tree, ctx, res.statusCode === 404);
2742
+ const serverDynamicTracking = (0, _dynamicrendering.createDynamicTrackingState)(isDebugDynamicAccesses);
2743
+ let serverIsDynamic = false;
2744
+ const finalServerPrerenderStore = prerenderStore = {
2745
+ type: 'prerender',
2746
+ phase: 'render',
2747
+ rootParams,
2748
+ fallbackRouteParams,
2749
+ implicitTags,
2750
+ renderSignal: finalServerRenderController.signal,
2751
+ controller: finalServerReactController,
2752
+ // All caches we could read must already be filled so no tracking is necessary
2753
+ cacheSignal: null,
2754
+ dynamicTracking: serverDynamicTracking,
2755
+ allowEmptyStaticShell,
2756
+ revalidate: _constants1.INFINITE_CACHE,
2757
+ expire: _constants1.INFINITE_CACHE,
2758
+ stale: _constants1.INFINITE_CACHE,
2759
+ tags: [
2760
+ ...implicitTags.tags
2761
+ ],
2762
+ prerenderResumeDataCache,
2763
+ renderResumeDataCache,
2764
+ hmrRefreshHash: undefined
2765
+ };
2766
+ let prerenderIsPending = true;
2767
+ const reactServerResult = reactServerPrerenderResult = await (0, _apprenderprerenderutils.createReactServerPrerenderResult)((0, _apprenderprerenderutils.prerenderAndAbortInSequentialTasks)(async ()=>{
2768
+ const pendingPrerenderResult = _workunitasyncstorageexternal.workUnitAsyncStorage.run(// The store to scope
2769
+ finalServerPrerenderStore, // The function to run
2770
+ ComponentMod.prerender, // ... the arguments for the function to run
2771
+ finalAttemptRSCPayload, clientModules, {
2772
+ filterStackFrame,
2773
+ onError: (err)=>{
2774
+ return serverComponentsErrorHandler(err);
2775
+ },
2776
+ signal: finalServerReactController.signal
2777
+ });
2778
+ // The listener to abort our own render controller must be added
2779
+ // after React has added its listener, to ensure that pending I/O
2780
+ // is not aborted/rejected too early.
2781
+ finalServerReactController.signal.addEventListener('abort', ()=>{
2782
+ finalServerRenderController.abort();
2783
+ }, {
2784
+ once: true
2785
+ });
2786
+ const prerenderResult = await pendingPrerenderResult;
2787
+ prerenderIsPending = false;
2788
+ return prerenderResult;
2789
+ }, ()=>{
2790
+ if (finalServerReactController.signal.aborted) {
2791
+ // If the server controller is already aborted we must have called something
2792
+ // that required aborting the prerender synchronously such as with new Date()
2793
+ serverIsDynamic = true;
2794
+ return;
2795
+ }
2796
+ if (prerenderIsPending) {
2797
+ // If prerenderIsPending then we have blocked for longer than a Task and we assume
2798
+ // there is something unfinished.
2799
+ serverIsDynamic = true;
2800
+ }
2801
+ finalServerReactController.abort();
2802
+ }));
2803
+ const clientDynamicTracking = (0, _dynamicrendering.createDynamicTrackingState)(isDebugDynamicAccesses);
2804
+ const finalClientReactController = new AbortController();
2805
+ const finalClientRenderController = new AbortController();
2806
+ const finalClientPrerenderStore = {
2807
+ type: 'prerender-client',
2808
+ phase: 'render',
2809
+ rootParams,
2810
+ fallbackRouteParams,
2811
+ implicitTags,
2812
+ renderSignal: finalClientRenderController.signal,
2813
+ controller: finalClientReactController,
2814
+ // No APIs require a cacheSignal through the workUnitStore during the HTML prerender
2815
+ cacheSignal: null,
2816
+ dynamicTracking: clientDynamicTracking,
2817
+ allowEmptyStaticShell,
2818
+ revalidate: _constants1.INFINITE_CACHE,
2819
+ expire: _constants1.INFINITE_CACHE,
2820
+ stale: _constants1.INFINITE_CACHE,
2821
+ tags: [
2822
+ ...implicitTags.tags
2823
+ ],
2824
+ prerenderResumeDataCache,
2825
+ renderResumeDataCache,
2826
+ hmrRefreshHash: undefined
2827
+ };
2828
+ let dynamicValidation = (0, _dynamicrendering.createDynamicValidationState)();
2829
+ const prerender = require('react-dom/static').prerender;
2830
+ let { prelude: unprocessedPrelude, postponed } = await (0, _apprenderprerenderutils.prerenderAndAbortInSequentialTasks)(()=>{
2831
+ const pendingFinalClientResult = _workunitasyncstorageexternal.workUnitAsyncStorage.run(finalClientPrerenderStore, prerender, // eslint-disable-next-line @next/internal/no-ambiguous-jsx
2832
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(App, {
2833
+ reactServerStream: reactServerResult.asUnclosingStream(),
2834
+ reactDebugStream: undefined,
2835
+ debugEndTime: undefined,
2836
+ preinitScripts: preinitScripts,
2837
+ ServerInsertedHTMLProvider: ServerInsertedHTMLProvider,
2838
+ nonce: nonce,
2839
+ images: ctx.renderOpts.images
2840
+ }), {
2841
+ signal: finalClientReactController.signal,
2842
+ onError: (err, errorInfo)=>{
2843
+ if ((0, _dynamicrendering.isPrerenderInterruptedError)(err) || finalClientReactController.signal.aborted) {
2844
+ const componentStack = errorInfo.componentStack;
2845
+ if (typeof componentStack === 'string') {
2846
+ (0, _dynamicrendering.trackAllowedDynamicAccess)(workStore, componentStack, dynamicValidation, clientDynamicTracking);
2847
+ }
2848
+ return;
2849
+ }
2850
+ return htmlRendererErrorHandler(err, errorInfo);
2851
+ },
2852
+ onHeaders: (headers)=>{
2853
+ headers.forEach((value, key)=>{
2854
+ appendHeader(key, value);
2855
+ });
2856
+ },
2857
+ maxHeadersLength: reactMaxHeadersLength,
2858
+ bootstrapScripts: [
2859
+ bootstrapScript
2860
+ ]
2861
+ });
2862
+ // The listener to abort our own render controller must be added
2863
+ // after React has added its listener, to ensure that pending I/O is
2864
+ // not aborted/rejected too early.
2865
+ finalClientReactController.signal.addEventListener('abort', ()=>{
2866
+ finalClientRenderController.abort();
2867
+ }, {
2868
+ once: true
2869
+ });
2870
+ return pendingFinalClientResult;
2871
+ }, ()=>{
2872
+ finalClientReactController.abort();
2873
+ });
2874
+ const { prelude, preludeIsEmpty } = await (0, _apprenderprerenderutils.processPrelude)(unprocessedPrelude);
2875
+ // If we've disabled throwing on empty static shell, then we don't need to
2876
+ // track any dynamic access that occurs above the suspense boundary because
2877
+ // we'll do so in the route shell.
2878
+ if (!allowEmptyStaticShell) {
2879
+ (0, _dynamicrendering.throwIfDisallowedDynamic)(workStore, preludeIsEmpty ? _dynamicrendering.PreludeState.Empty : _dynamicrendering.PreludeState.Full, dynamicValidation, serverDynamicTracking);
2880
+ }
2881
+ const getServerInsertedHTML = (0, _makegetserverinsertedhtml.makeGetServerInsertedHTML)({
2882
+ polyfills,
2883
+ renderServerInsertedHTML,
2884
+ serverCapturedErrors: allCapturedErrors,
2885
+ basePath,
2886
+ tracingMetadata: tracingMetadata
2887
+ });
2888
+ const flightData = await (0, _nodewebstreamshelper.streamToBuffer)(reactServerResult.asStream());
2889
+ metadata.flightData = flightData;
2890
+ metadata.segmentData = await collectSegmentData(flightData, finalServerPrerenderStore, ComponentMod, renderOpts);
2891
+ if (serverIsDynamic) {
2892
+ // Dynamic case
2893
+ // We will always need to perform a "resume" render of some kind when this route is accessed
2894
+ // because the RSC data itself is dynamic. We determine if there are any HTML holes or not
2895
+ // but generally this is a "partial" prerender in that there will be a per-request compute
2896
+ // concatenated to the static shell.
2897
+ if (postponed != null) {
2898
+ // Dynamic HTML case
2899
+ metadata.postponed = await (0, _postponedstate.getDynamicHTMLPostponedState)(postponed, preludeIsEmpty ? _postponedstate.DynamicHTMLPreludeState.Empty : _postponedstate.DynamicHTMLPreludeState.Full, fallbackRouteParams, resumeDataCache, cacheComponents);
2900
+ } else {
2901
+ // Dynamic Data case
2902
+ metadata.postponed = await (0, _postponedstate.getDynamicDataPostponedState)(resumeDataCache, cacheComponents);
2903
+ }
2904
+ reactServerResult.consume();
2905
+ return {
2906
+ digestErrorsMap: reactServerErrorsByDigest,
2907
+ ssrErrors: allCapturedErrors,
2908
+ stream: await (0, _nodewebstreamshelper.continueDynamicPrerender)(prelude, {
2909
+ getServerInsertedHTML,
2910
+ getServerInsertedMetadata
2911
+ }),
2912
+ dynamicAccess: (0, _dynamicrendering.consumeDynamicAccess)(serverDynamicTracking, clientDynamicTracking),
2913
+ // TODO: Should this include the SSR pass?
2914
+ collectedRevalidate: finalServerPrerenderStore.revalidate,
2915
+ collectedExpire: finalServerPrerenderStore.expire,
2916
+ collectedStale: selectStaleTime(finalServerPrerenderStore.stale),
2917
+ collectedTags: finalServerPrerenderStore.tags,
2918
+ renderResumeDataCache: (0, _resumedatacache.createRenderResumeDataCache)(resumeDataCache)
2919
+ };
2920
+ } else {
2921
+ // Static case
2922
+ // We will not perform resumption per request. The result can be served statically to the requestor
2923
+ // and if there was anything dynamic it will only be rendered in the browser.
2924
+ if (workStore.forceDynamic) {
2925
+ throw Object.defineProperty(new _staticgenerationbailout.StaticGenBailoutError('Invariant: a Page with `dynamic = "force-dynamic"` did not trigger the dynamic pathway. This is a bug in Next.js'), "__NEXT_ERROR_CODE", {
2926
+ value: "E598",
2927
+ enumerable: false,
2928
+ configurable: true
2929
+ });
2930
+ }
2931
+ let htmlStream = prelude;
2932
+ if (postponed != null) {
2933
+ // We postponed but nothing dynamic was used. We resume the render now and immediately abort it
2934
+ // so we can set all the postponed boundaries to client render mode before we store the HTML response
2935
+ const resume = require('react-dom/server').resume;
2936
+ // We don't actually want to render anything so we just pass a stream
2937
+ // that never resolves. The resume call is going to abort immediately anyway
2938
+ const foreverStream = new ReadableStream();
2939
+ const resumeStream = await resume(// eslint-disable-next-line @next/internal/no-ambiguous-jsx
2940
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(App, {
2941
+ reactServerStream: foreverStream,
2942
+ reactDebugStream: undefined,
2943
+ debugEndTime: undefined,
2944
+ preinitScripts: ()=>{},
2945
+ ServerInsertedHTMLProvider: ServerInsertedHTMLProvider,
2946
+ nonce: nonce,
2947
+ images: ctx.renderOpts.images
2948
+ }), JSON.parse(JSON.stringify(postponed)), {
2949
+ signal: (0, _dynamicrendering.createRenderInBrowserAbortSignal)(),
2950
+ onError: htmlRendererErrorHandler,
2951
+ nonce
2952
+ });
2953
+ // First we write everything from the prerender, then we write everything from the aborted resume render
2954
+ htmlStream = (0, _nodewebstreamshelper.chainStreams)(prelude, resumeStream);
2955
+ }
2956
+ let finalStream;
2957
+ const hasFallbackRouteParams = fallbackRouteParams && fallbackRouteParams.size > 0;
2958
+ if (hasFallbackRouteParams) {
2959
+ // This is a "static fallback" prerender: although the page didn't
2960
+ // access any runtime params in a Server Component, it may have
2961
+ // accessed a runtime param in a client segment.
2962
+ //
2963
+ // TODO: If there were no client segments, we can use the fully static
2964
+ // path instead.
2965
+ //
2966
+ // Rather than use a dynamic server resume to fill in the params,
2967
+ // we can rely on the client to parse the params from the URL and use
2968
+ // that to hydrate the page.
2969
+ //
2970
+ // Send an empty InitialRSCPayload to the server component renderer
2971
+ // The data will be fetched by the client instead.
2972
+ // TODO: In the future, rather than defer the entire hydration payload
2973
+ // to be fetched by the client, we should only defer the client
2974
+ // segments, since those are the only ones whose data is not complete.
2975
+ const emptyReactServerResult = await (0, _apprenderprerenderutils.createReactServerPrerenderResultFromRender)(ComponentMod.renderToReadableStream([], clientModules, {
2976
+ filterStackFrame,
2977
+ onError: serverComponentsErrorHandler
2978
+ }));
2979
+ finalStream = await (0, _nodewebstreamshelper.continueStaticFallbackPrerender)(htmlStream, {
2980
+ inlinedDataStream: (0, _useflightresponse.createInlinedDataReadableStream)(emptyReactServerResult.consumeAsStream(), nonce, formState),
2981
+ getServerInsertedHTML,
2982
+ getServerInsertedMetadata,
2983
+ isBuildTimePrerendering: ctx.workStore.isBuildTimePrerendering === true,
2984
+ buildId: ctx.workStore.buildId
2985
+ });
2986
+ } else {
2987
+ // Normal static prerender case, no fallback param handling needed
2988
+ finalStream = await (0, _nodewebstreamshelper.continueStaticPrerender)(htmlStream, {
2989
+ inlinedDataStream: (0, _useflightresponse.createInlinedDataReadableStream)(reactServerResult.consumeAsStream(), nonce, formState),
2990
+ getServerInsertedHTML,
2991
+ getServerInsertedMetadata,
2992
+ isBuildTimePrerendering: ctx.workStore.isBuildTimePrerendering === true,
2993
+ buildId: ctx.workStore.buildId
2994
+ });
2995
+ }
2996
+ return {
2997
+ digestErrorsMap: reactServerErrorsByDigest,
2998
+ ssrErrors: allCapturedErrors,
2999
+ stream: finalStream,
3000
+ dynamicAccess: (0, _dynamicrendering.consumeDynamicAccess)(serverDynamicTracking, clientDynamicTracking),
3001
+ // TODO: Should this include the SSR pass?
3002
+ collectedRevalidate: finalServerPrerenderStore.revalidate,
3003
+ collectedExpire: finalServerPrerenderStore.expire,
3004
+ collectedStale: selectStaleTime(finalServerPrerenderStore.stale),
3005
+ collectedTags: finalServerPrerenderStore.tags,
3006
+ renderResumeDataCache: (0, _resumedatacache.createRenderResumeDataCache)(resumeDataCache)
3007
+ };
3008
+ }
3009
+ } else if (experimental.isRoutePPREnabled) {
3010
+ // We're statically generating with PPR and need to do dynamic tracking
3011
+ let dynamicTracking = (0, _dynamicrendering.createDynamicTrackingState)(isDebugDynamicAccesses);
3012
+ const prerenderResumeDataCache = (0, _resumedatacache.createPrerenderResumeDataCache)();
3013
+ const reactServerPrerenderStore = prerenderStore = {
3014
+ type: 'prerender-ppr',
3015
+ phase: 'render',
3016
+ rootParams,
3017
+ fallbackRouteParams,
3018
+ implicitTags,
3019
+ dynamicTracking,
3020
+ revalidate: _constants1.INFINITE_CACHE,
3021
+ expire: _constants1.INFINITE_CACHE,
3022
+ stale: _constants1.INFINITE_CACHE,
3023
+ tags: [
3024
+ ...implicitTags.tags
3025
+ ],
3026
+ prerenderResumeDataCache
3027
+ };
3028
+ const RSCPayload = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(reactServerPrerenderStore, getRSCPayload, tree, ctx, res.statusCode === 404);
3029
+ const reactServerResult = reactServerPrerenderResult = await (0, _apprenderprerenderutils.createReactServerPrerenderResultFromRender)(_workunitasyncstorageexternal.workUnitAsyncStorage.run(reactServerPrerenderStore, ComponentMod.renderToReadableStream, // ... the arguments for the function to run
3030
+ RSCPayload, clientModules, {
3031
+ filterStackFrame,
3032
+ onError: serverComponentsErrorHandler
3033
+ }));
3034
+ const ssrPrerenderStore = {
3035
+ type: 'prerender-ppr',
3036
+ phase: 'render',
3037
+ rootParams,
3038
+ fallbackRouteParams,
3039
+ implicitTags,
3040
+ dynamicTracking,
3041
+ revalidate: _constants1.INFINITE_CACHE,
3042
+ expire: _constants1.INFINITE_CACHE,
3043
+ stale: _constants1.INFINITE_CACHE,
3044
+ tags: [
3045
+ ...implicitTags.tags
3046
+ ],
3047
+ prerenderResumeDataCache
3048
+ };
3049
+ const prerender = require('react-dom/static').prerender;
3050
+ const { prelude: unprocessedPrelude, postponed } = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(ssrPrerenderStore, prerender, // eslint-disable-next-line @next/internal/no-ambiguous-jsx
3051
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(App, {
3052
+ reactServerStream: reactServerResult.asUnclosingStream(),
3053
+ reactDebugStream: undefined,
3054
+ debugEndTime: undefined,
3055
+ preinitScripts: preinitScripts,
3056
+ ServerInsertedHTMLProvider: ServerInsertedHTMLProvider,
3057
+ nonce: nonce,
3058
+ images: ctx.renderOpts.images
3059
+ }), {
3060
+ onError: htmlRendererErrorHandler,
3061
+ onHeaders: (headers)=>{
3062
+ headers.forEach((value, key)=>{
3063
+ appendHeader(key, value);
3064
+ });
3065
+ },
3066
+ maxHeadersLength: reactMaxHeadersLength,
3067
+ bootstrapScripts: [
3068
+ bootstrapScript
3069
+ ]
3070
+ });
3071
+ const getServerInsertedHTML = (0, _makegetserverinsertedhtml.makeGetServerInsertedHTML)({
3072
+ polyfills,
3073
+ renderServerInsertedHTML,
3074
+ serverCapturedErrors: allCapturedErrors,
3075
+ basePath,
3076
+ tracingMetadata: tracingMetadata
3077
+ });
3078
+ // After awaiting here we've waited for the entire RSC render to complete. Crucially this means
3079
+ // that when we detect whether we've used dynamic APIs below we know we'll have picked up even
3080
+ // parts of the React Server render that might not be used in the SSR render.
3081
+ const flightData = await (0, _nodewebstreamshelper.streamToBuffer)(reactServerResult.asStream());
3082
+ if (shouldGenerateStaticFlightData(workStore)) {
3083
+ metadata.flightData = flightData;
3084
+ metadata.segmentData = await collectSegmentData(flightData, ssrPrerenderStore, ComponentMod, renderOpts);
3085
+ }
3086
+ const { prelude, preludeIsEmpty } = await (0, _apprenderprerenderutils.processPrelude)(unprocessedPrelude);
3087
+ /**
3088
+ * When prerendering there are three outcomes to consider
3089
+ *
3090
+ * Dynamic HTML: The prerender has dynamic holes (caused by using Next.js Dynamic Rendering APIs)
3091
+ * We will need to resume this result when requests are handled and we don't include
3092
+ * any server inserted HTML or inlined flight data in the static HTML
3093
+ *
3094
+ * Dynamic Data: The prerender has no dynamic holes but dynamic APIs were used. We will not
3095
+ * resume this render when requests are handled but we will generate new inlined
3096
+ * flight data since it is dynamic and differences may end up reconciling on the client
3097
+ *
3098
+ * Static: The prerender has no dynamic holes and no dynamic APIs were used. We statically encode
3099
+ * all server inserted HTML and flight data
3100
+ */ // First we check if we have any dynamic holes in our HTML prerender
3101
+ if ((0, _dynamicrendering.accessedDynamicData)(dynamicTracking.dynamicAccesses)) {
3102
+ if (postponed != null) {
3103
+ // Dynamic HTML case.
3104
+ metadata.postponed = await (0, _postponedstate.getDynamicHTMLPostponedState)(postponed, preludeIsEmpty ? _postponedstate.DynamicHTMLPreludeState.Empty : _postponedstate.DynamicHTMLPreludeState.Full, fallbackRouteParams, prerenderResumeDataCache, cacheComponents);
3105
+ } else {
3106
+ // Dynamic Data case.
3107
+ metadata.postponed = await (0, _postponedstate.getDynamicDataPostponedState)(prerenderResumeDataCache, cacheComponents);
3108
+ }
3109
+ // Regardless of whether this is the Dynamic HTML or Dynamic Data case we need to ensure we include
3110
+ // server inserted html in the static response because the html that is part of the prerender may depend on it
3111
+ // It is possible in the set of stream transforms for Dynamic HTML vs Dynamic Data may differ but currently both states
3112
+ // require the same set so we unify the code path here
3113
+ reactServerResult.consume();
3114
+ return {
3115
+ digestErrorsMap: reactServerErrorsByDigest,
3116
+ ssrErrors: allCapturedErrors,
3117
+ stream: await (0, _nodewebstreamshelper.continueDynamicPrerender)(prelude, {
3118
+ getServerInsertedHTML,
3119
+ getServerInsertedMetadata
3120
+ }),
3121
+ dynamicAccess: dynamicTracking.dynamicAccesses,
3122
+ // TODO: Should this include the SSR pass?
3123
+ collectedRevalidate: reactServerPrerenderStore.revalidate,
3124
+ collectedExpire: reactServerPrerenderStore.expire,
3125
+ collectedStale: selectStaleTime(reactServerPrerenderStore.stale),
3126
+ collectedTags: reactServerPrerenderStore.tags
3127
+ };
3128
+ } else if (fallbackRouteParams && fallbackRouteParams.size > 0) {
3129
+ // Rendering the fallback case.
3130
+ metadata.postponed = await (0, _postponedstate.getDynamicDataPostponedState)(prerenderResumeDataCache, cacheComponents);
3131
+ return {
3132
+ digestErrorsMap: reactServerErrorsByDigest,
3133
+ ssrErrors: allCapturedErrors,
3134
+ stream: await (0, _nodewebstreamshelper.continueDynamicPrerender)(prelude, {
3135
+ getServerInsertedHTML,
3136
+ getServerInsertedMetadata
3137
+ }),
3138
+ dynamicAccess: dynamicTracking.dynamicAccesses,
3139
+ // TODO: Should this include the SSR pass?
3140
+ collectedRevalidate: reactServerPrerenderStore.revalidate,
3141
+ collectedExpire: reactServerPrerenderStore.expire,
3142
+ collectedStale: selectStaleTime(reactServerPrerenderStore.stale),
3143
+ collectedTags: reactServerPrerenderStore.tags
3144
+ };
3145
+ } else {
3146
+ // Static case
3147
+ // We still have not used any dynamic APIs. At this point we can produce an entirely static prerender response
3148
+ if (workStore.forceDynamic) {
3149
+ throw Object.defineProperty(new _staticgenerationbailout.StaticGenBailoutError('Invariant: a Page with `dynamic = "force-dynamic"` did not trigger the dynamic pathway. This is a bug in Next.js'), "__NEXT_ERROR_CODE", {
3150
+ value: "E598",
3151
+ enumerable: false,
3152
+ configurable: true
3153
+ });
3154
+ }
3155
+ let htmlStream = prelude;
3156
+ if (postponed != null) {
3157
+ // We postponed but nothing dynamic was used. We resume the render now and immediately abort it
3158
+ // so we can set all the postponed boundaries to client render mode before we store the HTML response
3159
+ const resume = require('react-dom/server').resume;
3160
+ // We don't actually want to render anything so we just pass a stream
3161
+ // that never resolves. The resume call is going to abort immediately anyway
3162
+ const foreverStream = new ReadableStream();
3163
+ const resumeStream = await resume(// eslint-disable-next-line @next/internal/no-ambiguous-jsx
3164
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(App, {
3165
+ reactServerStream: foreverStream,
3166
+ reactDebugStream: undefined,
3167
+ debugEndTime: undefined,
3168
+ preinitScripts: ()=>{},
3169
+ ServerInsertedHTMLProvider: ServerInsertedHTMLProvider,
3170
+ nonce: nonce,
3171
+ images: ctx.renderOpts.images
3172
+ }), JSON.parse(JSON.stringify(postponed)), {
3173
+ signal: (0, _dynamicrendering.createRenderInBrowserAbortSignal)(),
3174
+ onError: htmlRendererErrorHandler,
3175
+ nonce
3176
+ });
3177
+ // First we write everything from the prerender, then we write everything from the aborted resume render
3178
+ htmlStream = (0, _nodewebstreamshelper.chainStreams)(prelude, resumeStream);
3179
+ }
3180
+ return {
3181
+ digestErrorsMap: reactServerErrorsByDigest,
3182
+ ssrErrors: allCapturedErrors,
3183
+ stream: await (0, _nodewebstreamshelper.continueStaticPrerender)(htmlStream, {
3184
+ inlinedDataStream: (0, _useflightresponse.createInlinedDataReadableStream)(reactServerResult.consumeAsStream(), nonce, formState),
3185
+ getServerInsertedHTML,
3186
+ getServerInsertedMetadata,
3187
+ isBuildTimePrerendering: ctx.workStore.isBuildTimePrerendering === true,
3188
+ buildId: ctx.workStore.buildId
3189
+ }),
3190
+ dynamicAccess: dynamicTracking.dynamicAccesses,
3191
+ // TODO: Should this include the SSR pass?
3192
+ collectedRevalidate: reactServerPrerenderStore.revalidate,
3193
+ collectedExpire: reactServerPrerenderStore.expire,
3194
+ collectedStale: selectStaleTime(reactServerPrerenderStore.stale),
3195
+ collectedTags: reactServerPrerenderStore.tags
3196
+ };
3197
+ }
3198
+ } else {
3199
+ const prerenderLegacyStore = prerenderStore = {
3200
+ type: 'prerender-legacy',
3201
+ phase: 'render',
3202
+ rootParams,
3203
+ implicitTags,
3204
+ revalidate: _constants1.INFINITE_CACHE,
3205
+ expire: _constants1.INFINITE_CACHE,
3206
+ stale: _constants1.INFINITE_CACHE,
3207
+ tags: [
3208
+ ...implicitTags.tags
3209
+ ]
3210
+ };
3211
+ // This is a regular static generation. We don't do dynamic tracking because we rely on
3212
+ // the old-school dynamic error handling to bail out of static generation
3213
+ const RSCPayload = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(prerenderLegacyStore, getRSCPayload, tree, ctx, res.statusCode === 404);
3214
+ const reactServerResult = reactServerPrerenderResult = await (0, _apprenderprerenderutils.createReactServerPrerenderResultFromRender)(_workunitasyncstorageexternal.workUnitAsyncStorage.run(prerenderLegacyStore, ComponentMod.renderToReadableStream, RSCPayload, clientModules, {
3215
+ filterStackFrame,
3216
+ onError: serverComponentsErrorHandler
3217
+ }));
3218
+ const renderToReadableStream = require('react-dom/server').renderToReadableStream;
3219
+ const htmlStream = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(prerenderLegacyStore, renderToReadableStream, // eslint-disable-next-line @next/internal/no-ambiguous-jsx
3220
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(App, {
3221
+ reactServerStream: reactServerResult.asUnclosingStream(),
3222
+ reactDebugStream: undefined,
3223
+ debugEndTime: undefined,
3224
+ preinitScripts: preinitScripts,
3225
+ ServerInsertedHTMLProvider: ServerInsertedHTMLProvider,
3226
+ nonce: nonce,
3227
+ images: ctx.renderOpts.images
3228
+ }), {
3229
+ onError: htmlRendererErrorHandler,
3230
+ nonce,
3231
+ bootstrapScripts: [
3232
+ bootstrapScript
3233
+ ]
3234
+ });
3235
+ if (shouldGenerateStaticFlightData(workStore)) {
3236
+ const flightData = await (0, _nodewebstreamshelper.streamToBuffer)(reactServerResult.asStream());
3237
+ metadata.flightData = flightData;
3238
+ metadata.segmentData = await collectSegmentData(flightData, prerenderLegacyStore, ComponentMod, renderOpts);
3239
+ }
3240
+ const getServerInsertedHTML = (0, _makegetserverinsertedhtml.makeGetServerInsertedHTML)({
3241
+ polyfills,
3242
+ renderServerInsertedHTML,
3243
+ serverCapturedErrors: allCapturedErrors,
3244
+ basePath,
3245
+ tracingMetadata: tracingMetadata
3246
+ });
3247
+ return {
3248
+ digestErrorsMap: reactServerErrorsByDigest,
3249
+ ssrErrors: allCapturedErrors,
3250
+ stream: await (0, _nodewebstreamshelper.continueFizzStream)(htmlStream, {
3251
+ inlinedDataStream: (0, _useflightresponse.createInlinedDataReadableStream)(reactServerResult.consumeAsStream(), nonce, formState),
3252
+ isStaticGeneration: true,
3253
+ isBuildTimePrerendering: ctx.workStore.isBuildTimePrerendering === true,
3254
+ buildId: ctx.workStore.buildId,
3255
+ getServerInsertedHTML,
3256
+ getServerInsertedMetadata
3257
+ }),
3258
+ // TODO: Should this include the SSR pass?
3259
+ collectedRevalidate: prerenderLegacyStore.revalidate,
3260
+ collectedExpire: prerenderLegacyStore.expire,
3261
+ collectedStale: selectStaleTime(prerenderLegacyStore.stale),
3262
+ collectedTags: prerenderLegacyStore.tags
3263
+ };
3264
+ }
3265
+ } catch (err) {
3266
+ if ((0, _staticgenerationbailout.isStaticGenBailoutError)(err) || typeof err === 'object' && err !== null && 'message' in err && typeof err.message === 'string' && err.message.includes('https://nextjs.org/docs/advanced-features/static-html-export')) {
3267
+ // Ensure that "next dev" prints the red error overlay
3268
+ throw err;
3269
+ }
3270
+ // If this is a static generation error, we need to throw it so that it
3271
+ // can be handled by the caller if we're in static generation mode.
3272
+ if ((0, _hooksservercontext.isDynamicServerError)(err)) {
3273
+ throw err;
3274
+ }
3275
+ // If a bailout made it to this point, it means it wasn't wrapped inside
3276
+ // a suspense boundary.
3277
+ const shouldBailoutToCSR = (0, _bailouttocsr.isBailoutToCSRError)(err);
3278
+ if (shouldBailoutToCSR) {
3279
+ const stack = (0, _formatservererror.getStackWithoutErrorMessage)(err);
3280
+ (0, _log.error)(`${err.reason} should be wrapped in a suspense boundary at page "${pagePath}". Read more: https://nextjs.org/docs/messages/missing-suspense-with-csr-bailout\n${stack}`);
3281
+ throw err;
3282
+ }
3283
+ // If we errored when we did not have an RSC stream to read from. This is
3284
+ // not just a render error, we need to throw early.
3285
+ if (reactServerPrerenderResult === null) {
3286
+ throw err;
3287
+ }
3288
+ let errorType;
3289
+ if ((0, _httpaccessfallback.isHTTPAccessFallbackError)(err)) {
3290
+ res.statusCode = (0, _httpaccessfallback.getAccessFallbackHTTPStatus)(err);
3291
+ metadata.statusCode = res.statusCode;
3292
+ errorType = (0, _httpaccessfallback.getAccessFallbackErrorTypeByStatus)(res.statusCode);
3293
+ } else if ((0, _redirecterror.isRedirectError)(err)) {
3294
+ errorType = 'redirect';
3295
+ res.statusCode = (0, _redirect.getRedirectStatusCodeFromError)(err);
3296
+ metadata.statusCode = res.statusCode;
3297
+ const redirectUrl = (0, _addpathprefix.addPathPrefix)((0, _redirect.getURLFromRedirectError)(err), basePath);
3298
+ setHeader('location', redirectUrl);
3299
+ } else if (!shouldBailoutToCSR) {
3300
+ res.statusCode = 500;
3301
+ metadata.statusCode = res.statusCode;
3302
+ }
3303
+ const [errorPreinitScripts, errorBootstrapScript] = (0, _requiredscripts.getRequiredScripts)(buildManifest, assetPrefix, crossOrigin, subresourceIntegrityManifest, (0, _getassetquerystring.getAssetQueryString)(ctx, false), nonce, '/_not-found/page');
3304
+ const prerenderLegacyStore = prerenderStore = {
3305
+ type: 'prerender-legacy',
3306
+ phase: 'render',
3307
+ rootParams,
3308
+ implicitTags: implicitTags,
3309
+ revalidate: typeof (prerenderStore == null ? void 0 : prerenderStore.revalidate) !== 'undefined' ? prerenderStore.revalidate : _constants1.INFINITE_CACHE,
3310
+ expire: typeof (prerenderStore == null ? void 0 : prerenderStore.expire) !== 'undefined' ? prerenderStore.expire : _constants1.INFINITE_CACHE,
3311
+ stale: typeof (prerenderStore == null ? void 0 : prerenderStore.stale) !== 'undefined' ? prerenderStore.stale : _constants1.INFINITE_CACHE,
3312
+ tags: [
3313
+ ...(prerenderStore == null ? void 0 : prerenderStore.tags) || implicitTags.tags
3314
+ ]
3315
+ };
3316
+ const errorRSCPayload = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(prerenderLegacyStore, getErrorRSCPayload, tree, ctx, reactServerErrorsByDigest.has(err.digest) ? undefined : err, errorType);
3317
+ const errorServerStream = _workunitasyncstorageexternal.workUnitAsyncStorage.run(prerenderLegacyStore, ComponentMod.renderToReadableStream, errorRSCPayload, clientModules, {
3318
+ filterStackFrame,
3319
+ onError: serverComponentsErrorHandler
3320
+ });
3321
+ try {
3322
+ // TODO we should use the same prerender semantics that we initially rendered
3323
+ // with in this case too. The only reason why this is ok atm is because it's essentially
3324
+ // an empty page and no user code runs.
3325
+ const fizzStream = await _workunitasyncstorageexternal.workUnitAsyncStorage.run(prerenderLegacyStore, _nodewebstreamshelper.renderToInitialFizzStream, {
3326
+ ReactDOMServer: require('react-dom/server'),
3327
+ element: // eslint-disable-next-line @next/internal/no-ambiguous-jsx
3328
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(ErrorApp, {
3329
+ reactServerStream: errorServerStream,
3330
+ ServerInsertedHTMLProvider: ServerInsertedHTMLProvider,
3331
+ preinitScripts: errorPreinitScripts,
3332
+ nonce: nonce,
3333
+ images: ctx.renderOpts.images
3334
+ }),
3335
+ streamOptions: {
3336
+ nonce,
3337
+ // Include hydration scripts in the HTML
3338
+ bootstrapScripts: [
3339
+ errorBootstrapScript
3340
+ ],
3341
+ formState
3342
+ }
3343
+ });
3344
+ if (shouldGenerateStaticFlightData(workStore)) {
3345
+ const flightData = await (0, _nodewebstreamshelper.streamToBuffer)(reactServerPrerenderResult.asStream());
3346
+ metadata.flightData = flightData;
3347
+ metadata.segmentData = await collectSegmentData(flightData, prerenderLegacyStore, ComponentMod, renderOpts);
3348
+ }
3349
+ // This is intentionally using the readable datastream from the main
3350
+ // render rather than the flight data from the error page render
3351
+ const flightStream = reactServerPrerenderResult.consumeAsStream();
3352
+ return {
3353
+ // Returning the error that was thrown so it can be used to handle
3354
+ // the response in the caller.
3355
+ digestErrorsMap: reactServerErrorsByDigest,
3356
+ ssrErrors: allCapturedErrors,
3357
+ stream: await (0, _nodewebstreamshelper.continueFizzStream)(fizzStream, {
3358
+ inlinedDataStream: (0, _useflightresponse.createInlinedDataReadableStream)(flightStream, nonce, formState),
3359
+ isStaticGeneration: true,
3360
+ isBuildTimePrerendering: ctx.workStore.isBuildTimePrerendering === true,
3361
+ buildId: ctx.workStore.buildId,
3362
+ getServerInsertedHTML: (0, _makegetserverinsertedhtml.makeGetServerInsertedHTML)({
3363
+ polyfills,
3364
+ renderServerInsertedHTML,
3365
+ serverCapturedErrors: [],
3366
+ basePath,
3367
+ tracingMetadata: tracingMetadata
3368
+ }),
3369
+ getServerInsertedMetadata,
3370
+ validateRootLayout: dev
3371
+ }),
3372
+ dynamicAccess: null,
3373
+ collectedRevalidate: prerenderStore !== null ? prerenderStore.revalidate : _constants1.INFINITE_CACHE,
3374
+ collectedExpire: prerenderStore !== null ? prerenderStore.expire : _constants1.INFINITE_CACHE,
3375
+ collectedStale: selectStaleTime(prerenderStore !== null ? prerenderStore.stale : _constants1.INFINITE_CACHE),
3376
+ collectedTags: prerenderStore !== null ? prerenderStore.tags : null
3377
+ };
3378
+ } catch (finalErr) {
3379
+ if (process.env.NODE_ENV === 'development' && (0, _httpaccessfallback.isHTTPAccessFallbackError)(finalErr)) {
3380
+ const { bailOnRootNotFound } = require('../../client/components/dev-root-http-access-fallback-boundary');
3381
+ bailOnRootNotFound();
3382
+ }
3383
+ throw finalErr;
3384
+ }
3385
+ }
3386
+ }
3387
+ const getGlobalErrorStyles = async (tree, ctx)=>{
3388
+ const { modules: { 'global-error': globalErrorModule } } = (0, _parseloadertree.parseLoaderTree)(tree);
3389
+ const { componentMod: { createElement } } = ctx;
3390
+ const GlobalErrorComponent = ctx.componentMod.GlobalError;
3391
+ let globalErrorStyles;
3392
+ if (globalErrorModule) {
3393
+ const [, styles] = await (0, _createcomponentstylesandscripts.createComponentStylesAndScripts)({
3394
+ ctx,
3395
+ filePath: globalErrorModule[1],
3396
+ getComponent: globalErrorModule[0],
3397
+ injectedCSS: new Set(),
3398
+ injectedJS: new Set()
3399
+ });
3400
+ globalErrorStyles = styles;
3401
+ }
3402
+ if (ctx.renderOpts.dev) {
3403
+ const dir = (process.env.NEXT_RUNTIME === 'edge' ? process.env.__NEXT_EDGE_PROJECT_DIR : ctx.renderOpts.dir) || '';
3404
+ const globalErrorModulePath = (0, _segmentexplorerpath.normalizeConventionFilePath)(dir, globalErrorModule == null ? void 0 : globalErrorModule[1]);
3405
+ if (globalErrorModulePath) {
3406
+ const SegmentViewNode = ctx.componentMod.SegmentViewNode;
3407
+ globalErrorStyles = // This will be rendered next to GlobalError component under ErrorBoundary,
3408
+ // it requires a key to avoid React warning about duplicate keys.
3409
+ createElement(SegmentViewNode, {
3410
+ key: 'ge-svn',
3411
+ type: 'global-error',
3412
+ pagePath: globalErrorModulePath
3413
+ }, globalErrorStyles);
3414
+ }
3415
+ }
3416
+ return {
3417
+ GlobalError: GlobalErrorComponent,
3418
+ styles: globalErrorStyles
3419
+ };
3420
+ };
3421
+ function createSelectStaleTime(experimental) {
3422
+ return (stale)=>{
3423
+ var _experimental_staleTimes;
3424
+ return stale === _constants1.INFINITE_CACHE && typeof ((_experimental_staleTimes = experimental.staleTimes) == null ? void 0 : _experimental_staleTimes.static) === 'number' ? experimental.staleTimes.static : stale;
3425
+ };
3426
+ }
3427
+ async function collectSegmentData(fullPageDataBuffer, prerenderStore, ComponentMod, renderOpts) {
3428
+ // Per-segment prefetch data
3429
+ //
3430
+ // All of the segments for a page are generated simultaneously, including
3431
+ // during revalidations. This is to ensure consistency, because it's
3432
+ // possible for a mismatch between a layout and page segment can cause the
3433
+ // client to error during rendering. We want to preserve the ability of the
3434
+ // client to recover from such a mismatch by re-requesting all the segments
3435
+ // to get a consistent view of the page.
3436
+ //
3437
+ // For performance, we reuse the Flight output that was created when
3438
+ // generating the initial page HTML. The Flight stream for the whole page is
3439
+ // decomposed into a separate stream per segment.
3440
+ const { clientModules, edgeRscModuleMapping, rscModuleMapping } = (0, _manifestssingleton.getClientReferenceManifest)();
3441
+ // Manifest passed to the Flight client for reading the full-page Flight
3442
+ // stream. Based off similar code in use-cache-wrapper.ts.
3443
+ const isEdgeRuntime = process.env.NEXT_RUNTIME === 'edge';
3444
+ const serverConsumerManifest = {
3445
+ // moduleLoading must be null because we don't want to trigger preloads of ClientReferences
3446
+ // to be added to the consumer. Instead, we'll wait for any ClientReference to be emitted
3447
+ // which themselves will handle the preloading.
3448
+ moduleLoading: null,
3449
+ moduleMap: isEdgeRuntime ? edgeRscModuleMapping : rscModuleMapping,
3450
+ serverModuleMap: (0, _manifestssingleton.getServerModuleMap)()
3451
+ };
3452
+ const selectStaleTime = createSelectStaleTime(renderOpts.experimental);
3453
+ const staleTime = selectStaleTime(prerenderStore.stale);
3454
+ return await ComponentMod.collectSegmentData(renderOpts.cacheComponents, fullPageDataBuffer, staleTime, clientModules, serverConsumerManifest);
3455
+ }
3456
+ function isBypassingCachesInDev(renderOpts, requestStore) {
3457
+ return process.env.NODE_ENV === 'development' && !!renderOpts.dev && requestStore.headers.get('cache-control') === 'no-cache';
3458
+ }
3459
+ function WarnForBypassCachesInDev({ route }) {
3460
+ (0, _warnonce.warnOnce)(`Route ${route} is rendering with server caches disabled. For this navigation, Component Metadata in React DevTools will not accurately reflect what is statically prerenderable and runtime prefetchable. See more info here: https://nextjs.org/docs/messages/cache-bypass-in-dev`);
3461
+ return null;
3462
+ }
3463
+ function nodeStreamFromReadableStream(stream) {
3464
+ if (process.env.NEXT_RUNTIME === 'edge') {
3465
+ throw Object.defineProperty(new _invarianterror.InvariantError('nodeStreamFromReadableStream cannot be used in the edge runtime'), "__NEXT_ERROR_CODE", {
3466
+ value: "E944",
3467
+ enumerable: false,
3468
+ configurable: true
3469
+ });
3470
+ } else {
3471
+ const reader = stream.getReader();
3472
+ const { Readable } = require('node:stream');
3473
+ return new Readable({
3474
+ read () {
3475
+ reader.read().then(({ done, value })=>{
3476
+ if (done) {
3477
+ this.push(null);
3478
+ } else {
3479
+ this.push(value);
3480
+ }
3481
+ }).catch((err)=>this.destroy(err));
3482
+ }
3483
+ });
3484
+ }
3485
+ }
3486
+ function createNodeStreamFromChunks(partialChunks, allChunks, signal) {
3487
+ if (process.env.NEXT_RUNTIME === 'edge') {
3488
+ throw Object.defineProperty(new _invarianterror.InvariantError('createNodeStreamFromChunks cannot be used in the edge runtime'), "__NEXT_ERROR_CODE", {
3489
+ value: "E945",
3490
+ enumerable: false,
3491
+ configurable: true
3492
+ });
3493
+ } else {
3494
+ const { Readable } = require('node:stream');
3495
+ let nextIndex = 0;
3496
+ const readable = new Readable({
3497
+ read () {
3498
+ while(nextIndex < partialChunks.length){
3499
+ this.push(partialChunks[nextIndex]);
3500
+ nextIndex++;
3501
+ }
3502
+ }
3503
+ });
3504
+ signal.addEventListener('abort', ()=>{
3505
+ // Flush any remaining chunks from the original set
3506
+ while(nextIndex < partialChunks.length){
3507
+ readable.push(partialChunks[nextIndex]);
3508
+ nextIndex++;
3509
+ }
3510
+ // Flush all chunks since we're now aborted and can't schedule
3511
+ // any new work but these chunks might unblock debugInfo
3512
+ while(nextIndex < allChunks.length){
3513
+ readable.push(allChunks[nextIndex]);
3514
+ nextIndex++;
3515
+ }
3516
+ setImmediate(()=>{
3517
+ readable.push(null);
3518
+ });
3519
+ }, {
3520
+ once: true
3521
+ });
3522
+ return readable;
3523
+ }
3524
+ }
3525
+
3526
+ //# sourceMappingURL=app-render.js.map