Skip to content

Commit

Permalink
Fix reading edge info for app paths (#41163)
Browse files Browse the repository at this point in the history
This fixes the build failing due to attempting to read `edgeInfo` that
wasn't present from using the wrong key to look up the manifest entry.
Regression test added by enabling `experimental-edge` on a page that was
failing to be looked up.

Fixes: 
```sh
TypeError: Cannot read properties of undefined (reading 'files')
    at /Users/jj/dev/vercel/layouts-playground/node_modules/next/dist/build/utils.js:786:33
    at Span.traceAsyncFn (/Users/jj/dev/vercel/layouts-playground/node_modules/next/dist/trace/trace.js:79:26)
    at Object.isPageStatic (/Users/jj/dev/vercel/layouts-playground/node_modules/next/dist/build/utils.js:771:29)
```

## Bug

- [x] Related issues linked using `fixes #number`
- [x] Integration tests added
- [ ] Errors have a helpful link attached, see `contributing.md`
  • Loading branch information
ijjk committed Oct 4, 2022
1 parent 5af1a93 commit 328c3a7
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 1 deletion.
2 changes: 1 addition & 1 deletion packages/next/build/index.ts
Expand Up @@ -1358,7 +1358,7 @@ export default async function build(
MIDDLEWARE_MANIFEST
))
const manifestKey =
pageType === 'pages' ? page : join(page, 'page')
pageType === 'pages' ? page : originalAppPath || ''

edgeInfo = manifest.functions[manifestKey]
}
Expand Down
4 changes: 4 additions & 0 deletions test/e2e/app-dir/app/app/(rootonly)/dashboard/hello/page.js
Expand Up @@ -5,3 +5,7 @@ export default function HelloPage(props) {
</>
)
}

export const config = {
runtime: 'experimental-edge',
}

1 comment on commit 328c3a7

@ijjk
Copy link
Member Author

@ijjk ijjk commented on 328c3a7 Oct 4, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stats from current release

Default Build (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary v12.3.1 vercel/next.js refs/heads/canary Change
buildDuration 23.2s 26.7s ⚠️ +3.5s
buildDurationCached 8.5s 8.6s ⚠️ +142ms
nodeModulesSize 81.9 MB 92 MB ⚠️ +10.1 MB
nextStartRea..uration (ms) 308ms 286ms -22ms
nextDevReadyDuration 328ms 341ms ⚠️ +13ms
Page Load Tests Overall increase ✓
vercel/next.js canary v12.3.1 vercel/next.js refs/heads/canary Change
/ failed reqs 0 0
/ total time (seconds) 10.169 10.255 ⚠️ +0.09
/ avg req/sec 245.85 243.78 ⚠️ -2.07
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 6.787 6.744 -0.04
/error-in-render avg req/sec 368.33 370.68 +2.35
Client Bundles (main, webpack) Overall increase ⚠️
vercel/next.js canary v12.3.1 vercel/next.js refs/heads/canary Change
719.HASH.js gzip 179 B 179 B
app-internal..HASH.js gzip 213 B 408 B ⚠️ +195 B
framework-HASH.js gzip 48.7 kB 48.7 kB
main-app-HASH.js gzip 14.9 kB 4.1 kB -10.8 kB
main-HASH.js gzip 31 kB 31.2 kB ⚠️ +172 B
webpack-HASH.js gzip 1.54 kB 1.73 kB ⚠️ +194 B
989-HASH.js gzip N/A 12.1 kB N/A
Overall change 96.5 kB 98.4 kB ⚠️ +1.88 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary v12.3.1 vercel/next.js refs/heads/canary Change
polyfills-HASH.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages Overall decrease ✓
vercel/next.js canary v12.3.1 vercel/next.js refs/heads/canary Change
_app-HASH.js gzip 202 B 202 B
_error-HASH.js gzip 194 B 193 B -1 B
amp-HASH.js gzip 494 B 494 B
css-HASH.js gzip 327 B 327 B
dynamic-HASH.js gzip 2.03 kB 2.03 kB ⚠️ +2 B
edge-ssr-HASH.js gzip 271 B 272 B ⚠️ +1 B
head-HASH.js gzip 356 B 355 B -1 B
hooks-HASH.js gzip 800 B 803 B ⚠️ +3 B
image-HASH.js gzip 4.89 kB 4.88 kB -5 B
index-HASH.js gzip 263 B 263 B
link-HASH.js gzip 2.37 kB 2.36 kB -7 B
routerDirect..HASH.js gzip 322 B 320 B -2 B
script-HASH.js gzip 390 B 391 B ⚠️ +1 B
withRouter-HASH.js gzip 320 B 317 B -3 B
85e02e95b279..7e3.css gzip 107 B 107 B
Overall change 13.3 kB 13.3 kB -12 B
Client Build Manifests Overall increase ⚠️
vercel/next.js canary v12.3.1 vercel/next.js refs/heads/canary Change
_buildManifest.js gzip 480 B 483 B ⚠️ +3 B
Overall change 480 B 483 B ⚠️ +3 B
Rendered Page Sizes Overall increase ⚠️
vercel/next.js canary v12.3.1 vercel/next.js refs/heads/canary Change
index.html gzip 512 B 513 B ⚠️ +1 B
link.html gzip 526 B 527 B ⚠️ +1 B
withRouter.html gzip 506 B 506 B
Overall change 1.54 kB 1.55 kB ⚠️ +2 B
Edge SSR bundle Size Overall decrease ✓
vercel/next.js canary v12.3.1 vercel/next.js refs/heads/canary Change
edge-ssr.js gzip 123 kB 57.8 kB -65 kB
page.js gzip 156 kB 66.5 kB -89.1 kB
Overall change 278 kB 124 kB -154 kB
Middleware size Overall decrease ✓
vercel/next.js canary v12.3.1 vercel/next.js refs/heads/canary Change
middleware-b..fest.js gzip 589 B 605 B ⚠️ +16 B
middleware-r..fest.js gzip 145 B 144 B -1 B
middleware.js gzip 19.3 kB 18.3 kB -983 B
edge-runtime..pack.js gzip 2.21 kB 1.83 kB -379 B
Overall change 22.2 kB 20.9 kB -1.35 kB

Diffs

Diff for page.js

Diff too large to display

Diff for edge-runtime-webpack.js
@@ -107,51 +107,6 @@
       /******/
     };
     /******/
-  })(); /* webpack/runtime/create fake namespace object */
-  /******/
-
-  /******/ /******/ (() => {
-    /******/ var getProto = Object.getPrototypeOf
-      ? obj => Object.getPrototypeOf(obj)
-      : obj => obj.__proto__;
-    /******/ var leafPrototypes; // create a fake namespace object // mode & 1: value is a module id, require it // mode & 2: merge all properties of value into the ns // mode & 4: return value when already ns object // mode & 16: return value when it's Promise-like // mode & 8|1: behave like require
-    /******/ /******/ /******/ /******/ /******/ /******/ /******/ __webpack_require__.t = function(
-      value,
-      mode
-    ) {
-      /******/ if (mode & 1) value = this(value);
-      /******/ if (mode & 8) return value;
-      /******/ if (typeof value === "object" && value) {
-        /******/ if (mode & 4 && value.__esModule) return value;
-        /******/ if (mode & 16 && typeof value.then === "function")
-          return value;
-        /******/
-      }
-      /******/ var ns = Object.create(null);
-      /******/ __webpack_require__.r(ns);
-      /******/ var def = {};
-      /******/ leafPrototypes = leafPrototypes || [
-        null,
-        getProto({}),
-        getProto([]),
-        getProto(getProto)
-      ];
-      /******/ for (
-        var current = mode & 2 && value;
-        typeof current == "object" && !~leafPrototypes.indexOf(current);
-        current = getProto(current)
-      ) {
-        /******/ Object.getOwnPropertyNames(current).forEach(
-          key => (def[key] = () => value[key])
-        );
-        /******/
-      }
-      /******/ def["default"] = () => value;
-      /******/ __webpack_require__.d(ns, def);
-      /******/ return ns;
-      /******/
-    };
-    /******/
   })(); /* webpack/runtime/define property getters */
   /******/
Diff for middleware-b..-manifest.js
@@ -7,95 +7,96 @@ self.__BUILD_MANIFEST = {
     "static/BUILD_ID/_ssgManifest.js"
   ],
   rootMainFiles: [
-    "static/chunks/webpack-a9f026eee389fef1.js",
+    "static/chunks/webpack-cd12e5a9fc2ac1bd.js",
     "static/chunks/framework-b11e50df1bb3c9a6.js",
-    "static/chunks/main-app-b7f60c69a157495e.js"
+    "static/chunks/989-4b9202152b7ac66a.js",
+    "static/chunks/main-app-225809374179ddd9.js"
   ],
   pages: {
     "/": [
-      "static/chunks/webpack-a9f026eee389fef1.js",
+      "static/chunks/webpack-cd12e5a9fc2ac1bd.js",
       "static/chunks/framework-b11e50df1bb3c9a6.js",
-      "static/chunks/main-023b1a7aa5e9c70c.js",
-      "static/chunks/pages/index-5eb0c6dd1b07f92f.js"
+      "static/chunks/main-49c6c2f4360d375c.js",
+      "static/chunks/pages/index-f042f599c30d45db.js"
     ],
     "/_app": [
-      "static/chunks/webpack-a9f026eee389fef1.js",
+      "static/chunks/webpack-cd12e5a9fc2ac1bd.js",
       "static/chunks/framework-b11e50df1bb3c9a6.js",
-      "static/chunks/main-023b1a7aa5e9c70c.js",
-      "static/chunks/pages/_app-b9787d582c30d45b.js"
+      "static/chunks/main-49c6c2f4360d375c.js",
+      "static/chunks/pages/_app-d940e48718ce3bec.js"
     ],
     "/_error": [
-      "static/chunks/webpack-a9f026eee389fef1.js",
+      "static/chunks/webpack-cd12e5a9fc2ac1bd.js",
       "static/chunks/framework-b11e50df1bb3c9a6.js",
-      "static/chunks/main-023b1a7aa5e9c70c.js",
-      "static/chunks/pages/_error-e21edc8f3b0da91c.js"
+      "static/chunks/main-49c6c2f4360d375c.js",
+      "static/chunks/pages/_error-aedd03913df85245.js"
     ],
     "/amp": [
-      "static/chunks/webpack-a9f026eee389fef1.js",
+      "static/chunks/webpack-cd12e5a9fc2ac1bd.js",
       "static/chunks/framework-b11e50df1bb3c9a6.js",
-      "static/chunks/main-023b1a7aa5e9c70c.js",
-      "static/chunks/pages/amp-32e961200afb4fa3.js"
+      "static/chunks/main-49c6c2f4360d375c.js",
+      "static/chunks/pages/amp-073ac0acb086c0f6.js"
     ],
     "/css": [
-      "static/chunks/webpack-a9f026eee389fef1.js",
+      "static/chunks/webpack-cd12e5a9fc2ac1bd.js",
       "static/chunks/framework-b11e50df1bb3c9a6.js",
-      "static/chunks/main-023b1a7aa5e9c70c.js",
+      "static/chunks/main-49c6c2f4360d375c.js",
       "static/css/94fdbc56eafa2039.css",
-      "static/chunks/pages/css-1a704b23b3813bc6.js"
+      "static/chunks/pages/css-5088098e50885674.js"
     ],
     "/dynamic": [
-      "static/chunks/webpack-a9f026eee389fef1.js",
+      "static/chunks/webpack-cd12e5a9fc2ac1bd.js",
       "static/chunks/framework-b11e50df1bb3c9a6.js",
-      "static/chunks/main-023b1a7aa5e9c70c.js",
-      "static/chunks/pages/dynamic-e40a9b434c47923f.js"
+      "static/chunks/main-49c6c2f4360d375c.js",
+      "static/chunks/pages/dynamic-12868c362d4814bc.js"
     ],
     "/edge-ssr": [
-      "static/chunks/webpack-a9f026eee389fef1.js",
+      "static/chunks/webpack-cd12e5a9fc2ac1bd.js",
       "static/chunks/framework-b11e50df1bb3c9a6.js",
-      "static/chunks/main-023b1a7aa5e9c70c.js",
-      "static/chunks/pages/edge-ssr-947047b398cb06f5.js"
+      "static/chunks/main-49c6c2f4360d375c.js",
+      "static/chunks/pages/edge-ssr-73aa9a5b806b4236.js"
     ],
     "/head": [
-      "static/chunks/webpack-a9f026eee389fef1.js",
+      "static/chunks/webpack-cd12e5a9fc2ac1bd.js",
       "static/chunks/framework-b11e50df1bb3c9a6.js",
-      "static/chunks/main-023b1a7aa5e9c70c.js",
-      "static/chunks/pages/head-d5e73c8366eb85bd.js"
+      "static/chunks/main-49c6c2f4360d375c.js",
+      "static/chunks/pages/head-68a0b44f1c2015af.js"
     ],
     "/hooks": [
-      "static/chunks/webpack-a9f026eee389fef1.js",
+      "static/chunks/webpack-cd12e5a9fc2ac1bd.js",
       "static/chunks/framework-b11e50df1bb3c9a6.js",
-      "static/chunks/main-023b1a7aa5e9c70c.js",
-      "static/chunks/pages/hooks-e02e15e6cecf7921.js"
+      "static/chunks/main-49c6c2f4360d375c.js",
+      "static/chunks/pages/hooks-0a030866b1a15149.js"
     ],
     "/image": [
-      "static/chunks/webpack-a9f026eee389fef1.js",
+      "static/chunks/webpack-cd12e5a9fc2ac1bd.js",
       "static/chunks/framework-b11e50df1bb3c9a6.js",
-      "static/chunks/main-023b1a7aa5e9c70c.js",
-      "static/chunks/pages/image-348e3e58ad846af0.js"
+      "static/chunks/main-49c6c2f4360d375c.js",
+      "static/chunks/pages/image-f6a01980ccd3687f.js"
     ],
     "/link": [
-      "static/chunks/webpack-a9f026eee389fef1.js",
+      "static/chunks/webpack-cd12e5a9fc2ac1bd.js",
       "static/chunks/framework-b11e50df1bb3c9a6.js",
-      "static/chunks/main-023b1a7aa5e9c70c.js",
-      "static/chunks/pages/link-f6e392ae6222b635.js"
+      "static/chunks/main-49c6c2f4360d375c.js",
+      "static/chunks/pages/link-0f5b51c598861a74.js"
     ],
     "/routerDirect": [
-      "static/chunks/webpack-a9f026eee389fef1.js",
+      "static/chunks/webpack-cd12e5a9fc2ac1bd.js",
       "static/chunks/framework-b11e50df1bb3c9a6.js",
-      "static/chunks/main-023b1a7aa5e9c70c.js",
-      "static/chunks/pages/routerDirect-016d5dc573ac31d4.js"
+      "static/chunks/main-49c6c2f4360d375c.js",
+      "static/chunks/pages/routerDirect-8e431afc6ceb21b8.js"
     ],
     "/script": [
-      "static/chunks/webpack-a9f026eee389fef1.js",
+      "static/chunks/webpack-cd12e5a9fc2ac1bd.js",
       "static/chunks/framework-b11e50df1bb3c9a6.js",
-      "static/chunks/main-023b1a7aa5e9c70c.js",
-      "static/chunks/pages/script-0f4565e53ec39c3d.js"
+      "static/chunks/main-49c6c2f4360d375c.js",
+      "static/chunks/pages/script-51ddb09154eaa5d1.js"
     ],
     "/withRouter": [
-      "static/chunks/webpack-a9f026eee389fef1.js",
+      "static/chunks/webpack-cd12e5a9fc2ac1bd.js",
       "static/chunks/framework-b11e50df1bb3c9a6.js",
-      "static/chunks/main-023b1a7aa5e9c70c.js",
-      "static/chunks/pages/withRouter-4bec812943e988d1.js"
+      "static/chunks/main-49c6c2f4360d375c.js",
+      "static/chunks/pages/withRouter-36009d7a2260315e.js"
     ]
   },
   ampFirstPages: []
Diff for middleware-r..-manifest.js
@@ -1,6 +1,6 @@
 self.__REACT_LOADABLE_MANIFEST = {
   "dynamic.js -> ../components/hello": {
-    id: 8719,
-    files: ["static/chunks/719.af92bec8d88a7c71.js"]
+    id: 384,
+    files: ["static/chunks/384.597e9611680302af.js"]
   }
 };
Diff for middleware.js

Diff too large to display

Diff for edge-ssr.js

Diff too large to display

Diff for _buildManifest.js
@@ -1,28 +1,28 @@
 self.__BUILD_MANIFEST = {
   __rewrites: { beforeFiles: [], afterFiles: [], fallback: [] },
-  "/": ["static\u002Fchunks\u002Fpages\u002Findex-5eb0c6dd1b07f92f.js"],
-  "/_error": ["static\u002Fchunks\u002Fpages\u002F_error-e21edc8f3b0da91c.js"],
-  "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-32e961200afb4fa3.js"],
+  "/": ["static\u002Fchunks\u002Fpages\u002Findex-f042f599c30d45db.js"],
+  "/_error": ["static\u002Fchunks\u002Fpages\u002F_error-aedd03913df85245.js"],
+  "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-073ac0acb086c0f6.js"],
   "/css": [
     "static\u002Fcss\u002F94fdbc56eafa2039.css",
-    "static\u002Fchunks\u002Fpages\u002Fcss-1a704b23b3813bc6.js"
+    "static\u002Fchunks\u002Fpages\u002Fcss-5088098e50885674.js"
   ],
   "/dynamic": [
-    "static\u002Fchunks\u002Fpages\u002Fdynamic-e40a9b434c47923f.js"
+    "static\u002Fchunks\u002Fpages\u002Fdynamic-12868c362d4814bc.js"
   ],
   "/edge-ssr": [
-    "static\u002Fchunks\u002Fpages\u002Fedge-ssr-947047b398cb06f5.js"
+    "static\u002Fchunks\u002Fpages\u002Fedge-ssr-73aa9a5b806b4236.js"
   ],
-  "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-d5e73c8366eb85bd.js"],
-  "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-e02e15e6cecf7921.js"],
-  "/image": ["static\u002Fchunks\u002Fpages\u002Fimage-348e3e58ad846af0.js"],
-  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-f6e392ae6222b635.js"],
+  "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-68a0b44f1c2015af.js"],
+  "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-0a030866b1a15149.js"],
+  "/image": ["static\u002Fchunks\u002Fpages\u002Fimage-f6a01980ccd3687f.js"],
+  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-0f5b51c598861a74.js"],
   "/routerDirect": [
-    "static\u002Fchunks\u002Fpages\u002FrouterDirect-016d5dc573ac31d4.js"
+    "static\u002Fchunks\u002Fpages\u002FrouterDirect-8e431afc6ceb21b8.js"
   ],
-  "/script": ["static\u002Fchunks\u002Fpages\u002Fscript-0f4565e53ec39c3d.js"],
+  "/script": ["static\u002Fchunks\u002Fpages\u002Fscript-51ddb09154eaa5d1.js"],
   "/withRouter": [
-    "static\u002Fchunks\u002Fpages\u002FwithRouter-4bec812943e988d1.js"
+    "static\u002Fchunks\u002Fpages\u002FwithRouter-36009d7a2260315e.js"
   ],
   sortedPages: [
     "\u002F",
Diff for _app-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [888],
   {
-    /***/ 8351: /***/ function(
+    /***/ 7006: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/_app",
         function() {
-          return __webpack_require__(4105);
+          return __webpack_require__(3729);
         }
       ]);
       if (false) {
@@ -24,7 +24,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 179], function() {
-      return __webpack_exec__(8351), __webpack_exec__(2383);
+      return __webpack_exec__(7006), __webpack_exec__(1134);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for _error-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [820],
   {
-    /***/ 9548: /***/ function(
+    /***/ 3020: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/_error",
         function() {
-          return __webpack_require__(7437);
+          return __webpack_require__(729);
         }
       ]);
       if (false) {
@@ -24,7 +24,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [888, 774, 179], function() {
-      return __webpack_exec__(9548);
+      return __webpack_exec__(3020);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for amp-HASH.js
@@ -1,17 +1,17 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [216],
   {
-    /***/ 3485: /***/ function(
+    /***/ 7481: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(2930);
+      module.exports = __webpack_require__(3343);
 
       /***/
     },
 
-    /***/ 6530: /***/ function(
+    /***/ 2880: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -19,7 +19,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/amp",
         function() {
-          return __webpack_require__(7249);
+          return __webpack_require__(1357);
         }
       ]);
       if (false) {
@@ -28,7 +28,7 @@
       /***/
     },
 
-    /***/ 2930: /***/ function(module, exports, __webpack_require__) {
+    /***/ 3343: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -38,8 +38,8 @@
       var _interop_require_default = __webpack_require__(7022) /* ["default"] */
         .Z;
       var _react = _interop_require_default(__webpack_require__(6273));
-      var _ampContext = __webpack_require__(4602);
-      var _ampMode = __webpack_require__(4841);
+      var _ampContext = __webpack_require__(1391);
+      var _ampMode = __webpack_require__(9757);
       function useAmp() {
         // Don't assign the context value to a variable to save bytes
         return (0, _ampMode).isInAmpMode(
@@ -61,7 +61,7 @@
       /***/
     },
 
-    /***/ 7249: /***/ function(
+    /***/ 1357: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -78,7 +78,7 @@
         /* harmony export */
       });
       /* harmony import */ var next_amp__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
-        3485
+        7481
       );
       /* harmony import */ var next_amp__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/ __webpack_require__.n(
         next_amp__WEBPACK_IMPORTED_MODULE_0__
@@ -102,7 +102,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [888, 774, 179], function() {
-      return __webpack_exec__(6530);
+      return __webpack_exec__(2880);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for css-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [706],
   {
-    /***/ 631: /***/ function(
+    /***/ 1737: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/css",
         function() {
-          return __webpack_require__(1293);
+          return __webpack_require__(7867);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 1293: /***/ function(
+    /***/ 7867: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -29,7 +29,7 @@
         1760
       );
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        2555
+        4449
       );
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         _css_module_css__WEBPACK_IMPORTED_MODULE_1__
@@ -48,7 +48,7 @@
       /***/
     },
 
-    /***/ 2555: /***/ function(module) {
+    /***/ 4449: /***/ function(module) {
       // extracted by mini-css-extract-plugin
       module.exports = { helloWorld: "css_helloWorld__qqNwY" };
 
@@ -61,7 +61,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(631);
+      return __webpack_exec__(1737);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for dynamic-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [739],
   {
-    /***/ 8963: /***/ function(
+    /***/ 9051: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/dynamic",
         function() {
-          return __webpack_require__(7522);
+          return __webpack_require__(6743);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 6242: /***/ function(module, exports, __webpack_require__) {
+    /***/ 6343: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -34,7 +34,7 @@
       var _interop_require_default = __webpack_require__(7022) /* ["default"] */
         .Z;
       var _react = _interop_require_default(__webpack_require__(6273));
-      var _loadable = _interop_require_default(__webpack_require__(894));
+      var _loadable = _interop_require_default(__webpack_require__(5191));
       function dynamic(dynamicOptions, options) {
         var loadableFn = _loadable.default;
         var loadableOptions = (options == null
@@ -138,7 +138,7 @@
       /***/
     },
 
-    /***/ 6010: /***/ function(
+    /***/ 4144: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -160,7 +160,7 @@
       /***/
     },
 
-    /***/ 894: /***/ function(
+    /***/ 5191: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -180,7 +180,7 @@
       var _interop_require_default = __webpack_require__(7022) /* ["default"] */
         .Z;
       var _react = _interop_require_default(__webpack_require__(6273));
-      var _loadableContext = __webpack_require__(6010);
+      var _loadableContext = __webpack_require__(4144);
       var useSyncExternalStore = (true ? __webpack_require__(6273) : 0)
         .useSyncExternalStore;
       var ALL_INITIALIZERS = [];
@@ -494,7 +494,7 @@
       /***/
     },
 
-    /***/ 7522: /***/ function(
+    /***/ 6743: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -511,7 +511,7 @@
         1760
       );
       /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        6706
+        9477
       );
       /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         next_dynamic__WEBPACK_IMPORTED_MODULE_1__
@@ -520,13 +520,13 @@
       var DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
         function() {
           return __webpack_require__
-            .e(/* import() */ 719)
-            .then(__webpack_require__.bind(__webpack_require__, 8719));
+            .e(/* import() */ 384)
+            .then(__webpack_require__.bind(__webpack_require__, 384));
         },
         {
           loadableGenerated: {
             webpack: function() {
-              return [/*require.resolve*/ 8719];
+              return [/*require.resolve*/ 384];
             }
           }
         }
@@ -556,12 +556,12 @@
       /***/
     },
 
-    /***/ 6706: /***/ function(
+    /***/ 9477: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(6242);
+      module.exports = __webpack_require__(6343);
 
       /***/
     }
@@ -572,7 +572,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(8963);
+      return __webpack_exec__(9051);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for edge-ssr-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [800],
   {
-    /***/ 529: /***/ function(
+    /***/ 3839: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/edge-ssr",
         function() {
-          return __webpack_require__(8259);
+          return __webpack_require__(1646);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 8259: /***/ function(
+    /***/ 1646: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -50,7 +50,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [888, 774, 179], function() {
-      return __webpack_exec__(529);
+      return __webpack_exec__(3839);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for head-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [645],
   {
-    /***/ 8780: /***/ function(
+    /***/ 2116: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/head",
         function() {
-          return __webpack_require__(4169);
+          return __webpack_require__(815);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 4169: /***/ function(
+    /***/ 815: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -35,7 +35,7 @@
         1760
       );
       /* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        8722
+        8631
       );
       /* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         next_head__WEBPACK_IMPORTED_MODULE_1__
@@ -71,12 +71,12 @@
       /***/
     },
 
-    /***/ 8722: /***/ function(
+    /***/ 8631: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(4380);
+      module.exports = __webpack_require__(4860);
 
       /***/
     }
@@ -87,7 +87,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(8780);
+      return __webpack_exec__(2116);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for hooks-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [757],
   {
-    /***/ 4076: /***/ function(
+    /***/ 1042: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/hooks",
         function() {
-          return __webpack_require__(9029);
+          return __webpack_require__(4556);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 9029: /***/ function(
+    /***/ 4556: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -132,7 +132,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(4076);
+      return __webpack_exec__(1042);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for image-HASH.js
@@ -26,7 +26,7 @@
       /***/
     },
 
-    /***/ 7735: /***/ function(
+    /***/ 7865: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -34,7 +34,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/image",
         function() {
-          return __webpack_require__(2504);
+          return __webpack_require__(7347);
         }
       ]);
       if (false) {
@@ -43,7 +43,7 @@
       /***/
     },
 
-    /***/ 9130: /***/ function(module, exports, __webpack_require__) {
+    /***/ 460: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -66,12 +66,12 @@
         5997
       ) /* ["default"] */.Z;
       var _react = _interop_require_wildcard(__webpack_require__(6273));
-      var _head = _interop_require_default(__webpack_require__(4380));
-      var _imageConfig = __webpack_require__(628);
-      var _useIntersection = __webpack_require__(2754);
-      var _imageConfigContext = __webpack_require__(394);
-      var _utils = __webpack_require__(1077);
-      var _normalizeTrailingSlash = __webpack_require__(5423);
+      var _head = _interop_require_default(__webpack_require__(4860));
+      var _imageConfig = __webpack_require__(826);
+      var _useIntersection = __webpack_require__(9645);
+      var _imageConfigContext = __webpack_require__(789);
+      var _utils = __webpack_require__(346);
+      var _normalizeTrailingSlash = __webpack_require__(5623);
       function Image(_param) {
         var src = _param.src,
           sizes = _param.sizes,
@@ -929,7 +929,7 @@
       /***/
     },
 
-    /***/ 2754: /***/ function(module, exports, __webpack_require__) {
+    /***/ 9645: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -941,7 +941,7 @@
       });
       exports.useIntersection = useIntersection;
       var _react = __webpack_require__(6273);
-      var _requestIdleCallback = __webpack_require__(2696);
+      var _requestIdleCallback = __webpack_require__(4338);
       var hasIntersectionObserver = typeof IntersectionObserver === "function";
       var observers = new Map();
       var idList = [];
@@ -1066,7 +1066,7 @@
       /***/
     },
 
-    /***/ 2504: /***/ function(
+    /***/ 7347: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -1087,8 +1087,8 @@
 
       // EXTERNAL MODULE: ./node_modules/.pnpm/react@0.0.0-experimental-cb5084d1c-20220924/node_modules/react/jsx-runtime.js
       var jsx_runtime = __webpack_require__(1760);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/image.js
-      var next_image = __webpack_require__(1769);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/image.js
+      var next_image = __webpack_require__(3608);
       var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // CONCATENATED MODULE: ./pages/nextjs.png
       /* harmony default export */ var nextjs = {
         src: "/_next/static/media/nextjs.cae0b805.png",
@@ -1118,12 +1118,12 @@
       /***/
     },
 
-    /***/ 1769: /***/ function(
+    /***/ 3608: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(9130);
+      module.exports = __webpack_require__(460);
 
       /***/
     }
@@ -1134,7 +1134,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(7735);
+      return __webpack_exec__(7865);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for index-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [405],
   {
-    /***/ 2047: /***/ function(
+    /***/ 1239: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/",
         function() {
-          return __webpack_require__(1593);
+          return __webpack_require__(7312);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 1593: /***/ function(
+    /***/ 7312: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -46,7 +46,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [888, 774, 179], function() {
-      return __webpack_exec__(2047);
+      return __webpack_exec__(1239);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for link-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [644],
   {
-    /***/ 9279: /***/ function(
+    /***/ 485: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/link",
         function() {
-          return __webpack_require__(8220);
+          return __webpack_require__(244);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 5030: /***/ function(module, exports) {
+    /***/ 2063: /***/ function(module, exports) {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -54,7 +54,7 @@
       /***/
     },
 
-    /***/ 8399: /***/ function(module, exports, __webpack_require__) {
+    /***/ 2331: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -72,13 +72,13 @@
         5997
       ) /* ["default"] */.Z;
       var _react = _interop_require_default(__webpack_require__(6273));
-      var _router = __webpack_require__(775);
-      var _addLocale = __webpack_require__(1138);
-      var _routerContext = __webpack_require__(463);
-      var _appRouterContext = __webpack_require__(6456);
-      var _useIntersection = __webpack_require__(2754);
-      var _getDomainLocale = __webpack_require__(5030);
-      var _addBasePath = __webpack_require__(8569);
+      var _router = __webpack_require__(9305);
+      var _addLocale = __webpack_require__(253);
+      var _routerContext = __webpack_require__(9005);
+      var _appRouterContext = __webpack_require__(2456);
+      var _useIntersection = __webpack_require__(9645);
+      var _getDomainLocale = __webpack_require__(2063);
+      var _addBasePath = __webpack_require__(5524);
       ("client");
       var prefetched = {};
       function prefetch(router, href, as, options) {
@@ -158,255 +158,260 @@
           navigate();
         }
       }
-      var Link = /*#__PURE__*/ _react.default.forwardRef(function LinkComponent(
-        props,
-        forwardedRef
-      ) {
-        if (false) {
-          var hasWarned,
-            optionalProps,
-            optionalPropsGuard,
-            requiredProps,
-            requiredPropsGuard,
-            createPropError;
-        }
-        var children;
-        var hrefProp = props.href,
-          asProp = props.as,
-          childrenProp = props.children,
-          prefetchProp = props.prefetch,
-          passHref = props.passHref,
-          replace = props.replace,
-          shallow = props.shallow,
-          scroll = props.scroll,
-          locale = props.locale,
-          onClick = props.onClick,
-          onMouseEnter = props.onMouseEnter,
-          onTouchStart = props.onTouchStart,
-          _legacyBehavior = props.legacyBehavior,
-          legacyBehavior =
-            _legacyBehavior === void 0
-              ? Boolean(false) !== true
-              : _legacyBehavior,
-          restProps = _object_without_properties_loose(props, [
-            "href",
-            "as",
-            "children",
-            "prefetch",
-            "passHref",
-            "replace",
-            "shallow",
-            "scroll",
-            "locale",
-            "onClick",
-            "onMouseEnter",
-            "onTouchStart",
-            "legacyBehavior"
-          ]);
-        children = childrenProp;
-        if (
-          legacyBehavior &&
-          (typeof children === "string" || typeof children === "number")
-        ) {
-          children = /*#__PURE__*/ _react.default.createElement(
-            "a",
-            null,
-            children
-          );
-        }
-        var p = prefetchProp !== false;
-        var router = _react.default.useContext(_routerContext.RouterContext);
-        // TODO-APP: type error. Remove `as any`
-        var appRouter = _react.default.useContext(
-          _appRouterContext.AppRouterContext
-        );
-        if (appRouter) {
-          router = appRouter;
-        }
-        var ref = _react.default.useMemo(
-            function() {
-              var ref = _slicedToArray(
-                  (0, _router).resolveHref(router, hrefProp, true),
-                  2
-                ),
-                resolvedHref = ref[0],
-                resolvedAs = ref[1];
-              return {
-                href: resolvedHref,
-                as: asProp
-                  ? (0, _router).resolveHref(router, asProp)
-                  : resolvedAs || resolvedHref
-              };
-            },
-            [router, hrefProp, asProp]
-          ),
-          href = ref.href,
-          as = ref.as;
-        var previousHref = _react.default.useRef(href);
-        var previousAs = _react.default.useRef(as);
-        // This will return the first child, if multiple are provided it will throw an error
-        var child;
-        if (legacyBehavior) {
+      /**
+       * React Component that enables client-side transitions between routes.
+       */ var Link = /*#__PURE__*/ _react.default.forwardRef(
+        function LinkComponent(props, forwardedRef) {
           if (false) {
-          } else {
-            child = _react.default.Children.only(children);
+            var hasWarned,
+              optionalProps,
+              optionalPropsGuard,
+              requiredProps,
+              requiredPropsGuard,
+              createPropError;
           }
-        }
-        var childRef = legacyBehavior
-          ? child && typeof child === "object" && child.ref
-          : forwardedRef;
-        var ref1 = _slicedToArray(
-            (0, _useIntersection).useIntersection({
-              rootMargin: "200px"
-            }),
-            3
-          ),
-          setIntersectionRef = ref1[0],
-          isVisible = ref1[1],
-          resetVisible = ref1[2];
-        var setRef = _react.default.useCallback(
-          function(el) {
-            // Before the link getting observed, check if visible state need to be reset
-            if (previousAs.current !== as || previousHref.current !== href) {
-              resetVisible();
-              previousAs.current = as;
-              previousHref.current = href;
-            }
-            setIntersectionRef(el);
-            if (childRef) {
-              if (typeof childRef === "function") childRef(el);
-              else if (typeof childRef === "object") {
-                childRef.current = el;
-              }
-            }
-          },
-          [as, childRef, href, resetVisible, setIntersectionRef]
-        );
-        _react.default.useEffect(
-          function() {
-            var shouldPrefetch =
-              isVisible && p && (0, _router).isLocalURL(href);
-            var curLocale =
-              typeof locale !== "undefined" ? locale : router && router.locale;
-            var isPrefetched =
-              prefetched[href + "%" + as + (curLocale ? "%" + curLocale : "")];
-            if (shouldPrefetch && !isPrefetched) {
-              prefetch(router, href, as, {
-                locale: curLocale
-              });
-            }
-          },
-          [as, href, isVisible, locale, p, router]
-        );
-        var childProps = {
-          ref: setRef,
-          onClick: function(e) {
+          var children;
+          var hrefProp = props.href,
+            asProp = props.as,
+            childrenProp = props.children,
+            prefetchProp = props.prefetch,
+            passHref = props.passHref,
+            replace = props.replace,
+            shallow = props.shallow,
+            scroll = props.scroll,
+            locale = props.locale,
+            onClick = props.onClick,
+            onMouseEnter = props.onMouseEnter,
+            onTouchStart = props.onTouchStart,
+            _legacyBehavior = props.legacyBehavior,
+            legacyBehavior =
+              _legacyBehavior === void 0
+                ? Boolean(false) !== true
+                : _legacyBehavior,
+            restProps = _object_without_properties_loose(props, [
+              "href",
+              "as",
+              "children",
+              "prefetch",
+              "passHref",
+              "replace",
+              "shallow",
+              "scroll",
+              "locale",
+              "onClick",
+              "onMouseEnter",
+              "onTouchStart",
+              "legacyBehavior"
+            ]);
+          children = childrenProp;
+          if (
+            legacyBehavior &&
+            (typeof children === "string" || typeof children === "number")
+          ) {
+            children = /*#__PURE__*/ _react.default.createElement(
+              "a",
+              null,
+              children
+            );
+          }
+          var p = prefetchProp !== false;
+          var router = _react.default.useContext(_routerContext.RouterContext);
+          // TODO-APP: type error. Remove `as any`
+          var appRouter = _react.default.useContext(
+            _appRouterContext.AppRouterContext
+          );
+          if (appRouter) {
+            router = appRouter;
+          }
+          var ref = _react.default.useMemo(
+              function() {
+                var ref = _slicedToArray(
+                    (0, _router).resolveHref(router, hrefProp, true),
+                    2
+                  ),
+                  resolvedHref = ref[0],
+                  resolvedAs = ref[1];
+                return {
+                  href: resolvedHref,
+                  as: asProp
+                    ? (0, _router).resolveHref(router, asProp)
+                    : resolvedAs || resolvedHref
+                };
+              },
+              [router, hrefProp, asProp]
+            ),
+            href = ref.href,
+            as = ref.as;
+          var previousHref = _react.default.useRef(href);
+          var previousAs = _react.default.useRef(as);
+          // This will return the first child, if multiple are provided it will throw an error
+          var child;
+          if (legacyBehavior) {
             if (false) {
+            } else {
+              child = _react.default.Children.only(children);
             }
-            if (!legacyBehavior && typeof onClick === "function") {
-              onClick(e);
-            }
-            if (
-              legacyBehavior &&
-              child.props &&
-              typeof child.props.onClick === "function"
-            ) {
-              child.props.onClick(e);
-            }
-            if (!e.defaultPrevented) {
-              linkClicked(
-                e,
-                router,
-                href,
-                as,
-                replace,
-                shallow,
-                scroll,
-                locale,
-                Boolean(appRouter),
-                p
-              );
-            }
-          },
-          onMouseEnter: function(e) {
-            if (!legacyBehavior && typeof onMouseEnter === "function") {
-              onMouseEnter(e);
-            }
-            if (
-              legacyBehavior &&
-              child.props &&
-              typeof child.props.onMouseEnter === "function"
-            ) {
-              child.props.onMouseEnter(e);
-            }
-            // Check for not prefetch disabled in page using appRouter
-            if (!(!p && appRouter)) {
-              if ((0, _router).isLocalURL(href)) {
-                prefetch(router, href, as, {
-                  priority: true
-                });
+          }
+          var childRef = legacyBehavior
+            ? child && typeof child === "object" && child.ref
+            : forwardedRef;
+          var ref1 = _slicedToArray(
+              (0, _useIntersection).useIntersection({
+                rootMargin: "200px"
+              }),
+              3
+            ),
+            setIntersectionRef = ref1[0],
+            isVisible = ref1[1],
+            resetVisible = ref1[2];
+          var setRef = _react.default.useCallback(
+            function(el) {
+              // Before the link getting observed, check if visible state need to be reset
+              if (previousAs.current !== as || previousHref.current !== href) {
+                resetVisible();
+                previousAs.current = as;
+                previousHref.current = href;
               }
-            }
-          },
-          onTouchStart: function(e) {
-            if (!legacyBehavior && typeof onTouchStart === "function") {
-              onTouchStart(e);
-            }
-            if (
-              legacyBehavior &&
-              child.props &&
-              typeof child.props.onTouchStart === "function"
-            ) {
-              child.props.onTouchStart(e);
-            }
-            // Check for not prefetch disabled in page using appRouter
-            if (!(!p && appRouter)) {
-              if ((0, _router).isLocalURL(href)) {
+              setIntersectionRef(el);
+              if (childRef) {
+                if (typeof childRef === "function") childRef(el);
+                else if (typeof childRef === "object") {
+                  childRef.current = el;
+                }
+              }
+            },
+            [as, childRef, href, resetVisible, setIntersectionRef]
+          );
+          _react.default.useEffect(
+            function() {
+              var shouldPrefetch =
+                isVisible && p && (0, _router).isLocalURL(href);
+              var curLocale =
+                typeof locale !== "undefined"
+                  ? locale
+                  : router && router.locale;
+              var isPrefetched =
+                prefetched[
+                  href + "%" + as + (curLocale ? "%" + curLocale : "")
+                ];
+              if (shouldPrefetch && !isPrefetched) {
                 prefetch(router, href, as, {
-                  priority: true
+                  locale: curLocale
                 });
               }
+            },
+            [as, href, isVisible, locale, p, router]
+          );
+          var childProps = {
+            ref: setRef,
+            onClick: function(e) {
+              if (false) {
+              }
+              if (!legacyBehavior && typeof onClick === "function") {
+                onClick(e);
+              }
+              if (
+                legacyBehavior &&
+                child.props &&
+                typeof child.props.onClick === "function"
+              ) {
+                child.props.onClick(e);
+              }
+              if (!e.defaultPrevented) {
+                linkClicked(
+                  e,
+                  router,
+                  href,
+                  as,
+                  replace,
+                  shallow,
+                  scroll,
+                  locale,
+                  Boolean(appRouter),
+                  p
+                );
+              }
+            },
+            onMouseEnter: function(e) {
+              if (!legacyBehavior && typeof onMouseEnter === "function") {
+                onMouseEnter(e);
+              }
+              if (
+                legacyBehavior &&
+                child.props &&
+                typeof child.props.onMouseEnter === "function"
+              ) {
+                child.props.onMouseEnter(e);
+              }
+              // Check for not prefetch disabled in page using appRouter
+              if (!(!p && appRouter)) {
+                if ((0, _router).isLocalURL(href)) {
+                  prefetch(router, href, as, {
+                    priority: true
+                  });
+                }
+              }
+            },
+            onTouchStart: function(e) {
+              if (!legacyBehavior && typeof onTouchStart === "function") {
+                onTouchStart(e);
+              }
+              if (
+                legacyBehavior &&
+                child.props &&
+                typeof child.props.onTouchStart === "function"
+              ) {
+                child.props.onTouchStart(e);
+              }
+              // Check for not prefetch disabled in page using appRouter
+              if (!(!p && appRouter)) {
+                if ((0, _router).isLocalURL(href)) {
+                  prefetch(router, href, as, {
+                    priority: true
+                  });
+                }
+              }
             }
-          }
-        };
-        // If child is an <a> tag and doesn't have a href attribute, or if the 'passHref' property is
-        // defined, we specify the current 'href', so that repetition is not needed by the user
-        if (
-          !legacyBehavior ||
-          passHref ||
-          (child.type === "a" && !("href" in child.props))
-        ) {
-          var curLocale =
-            typeof locale !== "undefined" ? locale : router && router.locale;
-          // we only render domain locales if we are currently on a domain locale
-          // so that locale links are still visitable in development/preview envs
-          var localeDomain =
-            router &&
-            router.isLocaleDomain &&
-            (0, _getDomainLocale).getDomainLocale(
-              as,
-              curLocale,
-              router.locales,
-              router.domainLocales
-            );
-          childProps.href =
-            localeDomain ||
-            (0, _addBasePath).addBasePath(
-              (0, _addLocale).addLocale(
+          };
+          // If child is an <a> tag and doesn't have a href attribute, or if the 'passHref' property is
+          // defined, we specify the current 'href', so that repetition is not needed by the user
+          if (
+            !legacyBehavior ||
+            passHref ||
+            (child.type === "a" && !("href" in child.props))
+          ) {
+            var curLocale =
+              typeof locale !== "undefined" ? locale : router && router.locale;
+            // we only render domain locales if we are currently on a domain locale
+            // so that locale links are still visitable in development/preview envs
+            var localeDomain =
+              router &&
+              router.isLocaleDomain &&
+              (0, _getDomainLocale).getDomainLocale(
                 as,
                 curLocale,
-                router && router.defaultLocale
-              )
-            );
+                router.locales,
+                router.domainLocales
+              );
+            childProps.href =
+              localeDomain ||
+              (0, _addBasePath).addBasePath(
+                (0, _addLocale).addLocale(
+                  as,
+                  curLocale,
+                  router && router.defaultLocale
+                )
+              );
+          }
+          return legacyBehavior
+            ? /*#__PURE__*/ _react.default.cloneElement(child, childProps)
+            : /*#__PURE__*/ _react.default.createElement(
+                "a",
+                Object.assign({}, restProps, childProps),
+                children
+              );
         }
-        return legacyBehavior
-          ? /*#__PURE__*/ _react.default.cloneElement(child, childProps)
-          : /*#__PURE__*/ _react.default.createElement(
-              "a",
-              Object.assign({}, restProps, childProps),
-              children
-            );
-      });
+      );
       var _default = Link;
       exports["default"] = _default;
       if (
@@ -424,7 +429,7 @@
       /***/
     },
 
-    /***/ 2754: /***/ function(module, exports, __webpack_require__) {
+    /***/ 9645: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -436,7 +441,7 @@
       });
       exports.useIntersection = useIntersection;
       var _react = __webpack_require__(6273);
-      var _requestIdleCallback = __webpack_require__(2696);
+      var _requestIdleCallback = __webpack_require__(4338);
       var hasIntersectionObserver = typeof IntersectionObserver === "function";
       var observers = new Map();
       var idList = [];
@@ -561,7 +566,7 @@
       /***/
     },
 
-    /***/ 6456: /***/ function(
+    /***/ 2456: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -589,7 +594,7 @@
       /***/
     },
 
-    /***/ 8220: /***/ function(
+    /***/ 244: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -606,7 +611,7 @@
         1760
       );
       /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        7892
+        1777
       );
       /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         next_link__WEBPACK_IMPORTED_MODULE_1__
@@ -637,12 +642,12 @@
       /***/
     },
 
-    /***/ 7892: /***/ function(
+    /***/ 1777: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(8399);
+      module.exports = __webpack_require__(2331);
 
       /***/
     }
@@ -653,7 +658,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(9279);
+      return __webpack_exec__(485);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for routerDirect-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [58],
   {
-    /***/ 5847: /***/ function(
+    /***/ 4500: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/routerDirect",
         function() {
-          return __webpack_require__(4570);
+          return __webpack_require__(8546);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 4570: /***/ function(
+    /***/ 8546: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -35,7 +35,7 @@
         1760
       );
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        3318
+        775
       );
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -56,12 +56,12 @@
       /***/
     },
 
-    /***/ 3318: /***/ function(
+    /***/ 775: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(2383);
+      module.exports = __webpack_require__(1134);
 
       /***/
     }
@@ -72,7 +72,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(5847);
+      return __webpack_exec__(4500);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for script-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [797],
   {
-    /***/ 7992: /***/ function(
+    /***/ 7140: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/script",
         function() {
-          return __webpack_require__(1161);
+          return __webpack_require__(3391);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 1161: /***/ function(
+    /***/ 3391: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -35,7 +35,7 @@
         1760
       );
       /* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        3785
+        4861
       );
       /* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         next_script__WEBPACK_IMPORTED_MODULE_1__
@@ -70,12 +70,12 @@
       /***/
     },
 
-    /***/ 3785: /***/ function(
+    /***/ 4861: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(3921);
+      module.exports = false ? 0 : __webpack_require__(1649);
 
       /***/
     }
@@ -86,7 +86,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(7992);
+      return __webpack_exec__(7140);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for withRouter-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [807],
   {
-    /***/ 5996: /***/ function(
+    /***/ 3377: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/withRouter",
         function() {
-          return __webpack_require__(4554);
+          return __webpack_require__(7728);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 4554: /***/ function(
+    /***/ 7728: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -35,7 +35,7 @@
         1760
       );
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        3318
+        775
       );
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -54,12 +54,12 @@
       /***/
     },
 
-    /***/ 3318: /***/ function(
+    /***/ 775: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(2383);
+      module.exports = __webpack_require__(1134);
 
       /***/
     }
@@ -70,7 +70,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(5996);
+      return __webpack_exec__(3377);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for 719.HASH.js
@@ -1,8 +1,8 @@
 "use strict";
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
-  [719],
+  [384],
   {
-    /***/ 8719: /***/ function(
+    /***/ 384: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
Diff for 989-HASH.js

Diff too large to display

Diff for app-internals-HASH.js
@@ -1,29 +1,58 @@
-// runtime can't be in strict mode because a global variable is assign and maybe created.
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
-  [532, 760],
+  [532],
   {
-    /***/ 5093: /***/ function(
+    /***/ 2162: /***/ function(
       __unused_webpack_module,
-      __webpack_exports__,
+      __unused_webpack_exports,
       __webpack_require__
     ) {
+      Promise.resolve(/* import() eager */).then(
+        __webpack_require__.t.bind(__webpack_require__, 347, 23)
+      );
+      Promise.resolve(/* import() eager */).then(
+        __webpack_require__.t.bind(__webpack_require__, 7989, 23)
+      );
+      Promise.resolve(/* import() eager */).then(
+        __webpack_require__.t.bind(__webpack_require__, 3410, 23)
+      );
+
+      /***/
+    },
+
+    /***/ 3410: /***/ function(module, exports, __webpack_require__) {
       "use strict";
-      __webpack_require__.r(__webpack_exports__);
-      /* harmony export */ __webpack_require__.d(__webpack_exports__, {
-        /* harmony export */ __next_rsc__: function() {
-          return /* binding */ __next_rsc__;
-        },
-        /* harmony export */ default: function() {
-          return /* binding */ RSC;
-        }
-        /* harmony export */
-      });
 
-      const __next_rsc__ = {
-        server: false,
-        __webpack_require__
-      };
-      function RSC() {}
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
+      exports["default"] = RenderFromTemplateContext;
+      var _interop_require_wildcard = __webpack_require__(
+        8889
+      ) /* ["default"] */.Z;
+      var _react = _interop_require_wildcard(__webpack_require__(6273));
+      var _appRouterContext = __webpack_require__(2456);
+      function RenderFromTemplateContext() {
+        var children = (0, _react).useContext(
+          _appRouterContext.TemplateContext
+        );
+        return /*#__PURE__*/ _react.default.createElement(
+          _react.default.Fragment,
+          null,
+          children
+        );
+      }
+      ("client");
+      if (
+        (typeof exports.default === "function" ||
+          (typeof exports.default === "object" && exports.default !== null)) &&
+        typeof exports.default.__esModule === "undefined"
+      ) {
+        Object.defineProperty(exports.default, "__esModule", {
+          value: true
+        });
+        Object.assign(exports.default, exports);
+        module.exports = exports.default;
+      } //# sourceMappingURL=render-from-template-context.client.js.map
 
       /***/
     }
@@ -33,7 +62,10 @@
     /******/ var __webpack_exec__ = function(moduleId) {
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
-    /******/ var __webpack_exports__ = __webpack_exec__(5093);
+    /******/ __webpack_require__.O(0, [774, 989], function() {
+      return __webpack_exec__(2162);
+    });
+    /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
     /******/
   }
Diff for page-25c20a36bd5af608.js
@@ -0,0 +1,16 @@
+(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([[760],{
+
+/***/ 3081:
+/***/ (function() {
+
+
+
+/***/ })
+
+},
+/******/ function(__webpack_require__) { // webpackRuntimeModules
+/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
+/******/ var __webpack_exports__ = (__webpack_exec__(3081));
+/******/ _N_E = __webpack_exports__;
+/******/ }
+]);
\ No newline at end of file
Diff for page-e0b090e870162898.js
deleted
Diff for main-HASH.js

Diff too large to display

Diff for main-app-HASH.js

Diff too large to display

Diff for webpack-HASH.js
@@ -113,6 +113,59 @@
       /******/
     };
     /******/
+  })(); /* webpack/runtime/create fake namespace object */
+  /******/
+
+  /******/ /******/ !(function() {
+    /******/ var getProto = Object.getPrototypeOf
+      ? function(obj) {
+          return Object.getPrototypeOf(obj);
+        }
+      : function(obj) {
+          return obj.__proto__;
+        };
+    /******/ var leafPrototypes; // create a fake namespace object // mode & 1: value is a module id, require it // mode & 2: merge all properties of value into the ns // mode & 4: return value when already ns object // mode & 16: return value when it's Promise-like // mode & 8|1: behave like require
+    /******/ /******/ /******/ /******/ /******/ /******/ /******/ __webpack_require__.t = function(
+      value,
+      mode
+    ) {
+      /******/ if (mode & 1) value = this(value);
+      /******/ if (mode & 8) return value;
+      /******/ if (typeof value === "object" && value) {
+        /******/ if (mode & 4 && value.__esModule) return value;
+        /******/ if (mode & 16 && typeof value.then === "function")
+          return value;
+        /******/
+      }
+      /******/ var ns = Object.create(null);
+      /******/ __webpack_require__.r(ns);
+      /******/ var def = {};
+      /******/ leafPrototypes = leafPrototypes || [
+        null,
+        getProto({}),
+        getProto([]),
+        getProto(getProto)
+      ];
+      /******/ for (
+        var current = mode & 2 && value;
+        typeof current == "object" && !~leafPrototypes.indexOf(current);
+        current = getProto(current)
+      ) {
+        /******/ Object.getOwnPropertyNames(current).forEach(function(key) {
+          def[key] = function() {
+            return value[key];
+          };
+        });
+        /******/
+      }
+      /******/ def["default"] = function() {
+        return value;
+      };
+      /******/ __webpack_require__.d(ns, def);
+      /******/ return ns;
+      /******/
+    };
+    /******/
   })(); /* webpack/runtime/define property getters */
   /******/
 
@@ -159,7 +212,7 @@
     /******/ __webpack_require__.u = function(chunkId) {
       /******/ // return url for filenames based on template
       /******/ return (
-        "static/chunks/" + chunkId + "." + "af92bec8d88a7c71" + ".js"
+        "static/chunks/" + chunkId + "." + "597e9611680302af" + ".js"
       );
       /******/
     };
Diff for index.html
@@ -11,7 +11,7 @@
       src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"
     ></script>
     <script
-      src="/_next/static/chunks/webpack-a9f026eee389fef1.js"
+      src="/_next/static/chunks/webpack-cd12e5a9fc2ac1bd.js"
       defer=""
     ></script>
     <script
@@ -19,15 +19,15 @@
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-023b1a7aa5e9c70c.js"
+      src="/_next/static/chunks/main-49c6c2f4360d375c.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-b9787d582c30d45b.js"
+      src="/_next/static/chunks/pages/_app-d940e48718ce3bec.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/index-5eb0c6dd1b07f92f.js"
+      src="/_next/static/chunks/pages/index-f042f599c30d45db.js"
       defer=""
     ></script>
     <script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>
Diff for link.html
@@ -11,7 +11,7 @@
       src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"
     ></script>
     <script
-      src="/_next/static/chunks/webpack-a9f026eee389fef1.js"
+      src="/_next/static/chunks/webpack-cd12e5a9fc2ac1bd.js"
       defer=""
     ></script>
     <script
@@ -19,15 +19,15 @@
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-023b1a7aa5e9c70c.js"
+      src="/_next/static/chunks/main-49c6c2f4360d375c.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-b9787d582c30d45b.js"
+      src="/_next/static/chunks/pages/_app-d940e48718ce3bec.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/link-f6e392ae6222b635.js"
+      src="/_next/static/chunks/pages/link-0f5b51c598861a74.js"
       defer=""
     ></script>
     <script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>
Diff for withRouter.html
@@ -11,7 +11,7 @@
       src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"
     ></script>
     <script
-      src="/_next/static/chunks/webpack-a9f026eee389fef1.js"
+      src="/_next/static/chunks/webpack-cd12e5a9fc2ac1bd.js"
       defer=""
     ></script>
     <script
@@ -19,15 +19,15 @@
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-023b1a7aa5e9c70c.js"
+      src="/_next/static/chunks/main-49c6c2f4360d375c.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-b9787d582c30d45b.js"
+      src="/_next/static/chunks/pages/_app-d940e48718ce3bec.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/withRouter-4bec812943e988d1.js"
+      src="/_next/static/chunks/pages/withRouter-36009d7a2260315e.js"
       defer=""
     ></script>
     <script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>

Default Build with SWC (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary v12.3.1 vercel/next.js refs/heads/canary Change
buildDuration 19.9s 19.9s ⚠️ +15ms
buildDurationCached 8.9s 8.5s -367ms
nodeModulesSize 81.9 MB 92 MB ⚠️ +10.1 MB
nextStartRea..uration (ms) 302ms 289ms -13ms
nextDevReadyDuration 330ms 336ms ⚠️ +6ms
Page Load Tests Overall decrease ⚠️
vercel/next.js canary v12.3.1 vercel/next.js refs/heads/canary Change
/ failed reqs 0 0
/ total time (seconds) 10.13 10.411 ⚠️ +0.28
/ avg req/sec 246.79 240.12 ⚠️ -6.67
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 6.829 6.913 ⚠️ +0.08
/error-in-render avg req/sec 366.11 361.63 ⚠️ -4.48
Client Bundles (main, webpack) Overall increase ⚠️
vercel/next.js canary v12.3.1 vercel/next.js refs/heads/canary Change
719.HASH.js gzip 179 B 179 B
app-internal..HASH.js gzip 201 B 400 B ⚠️ +199 B
framework-HASH.js gzip 48.9 kB 48.9 kB ⚠️ +24 B
main-app-HASH.js gzip 15 kB 4.13 kB -10.9 kB
main-HASH.js gzip 31 kB 31.1 kB ⚠️ +153 B
webpack-HASH.js gzip 1.52 kB 1.7 kB ⚠️ +182 B
989-HASH.js gzip N/A 12.2 kB N/A
Overall change 96.8 kB 98.6 kB ⚠️ +1.8 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary v12.3.1 vercel/next.js refs/heads/canary Change
polyfills-HASH.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages Overall decrease ✓
vercel/next.js canary v12.3.1 vercel/next.js refs/heads/canary Change
_app-HASH.js gzip 195 B 195 B
_error-HASH.js gzip 182 B 181 B -1 B
amp-HASH.js gzip 483 B 483 B
css-HASH.js gzip 323 B 323 B
dynamic-HASH.js gzip 2.01 kB 2.01 kB ⚠️ +1 B
edge-ssr-HASH.js gzip 262 B 263 B ⚠️ +1 B
head-HASH.js gzip 351 B 350 B -1 B
hooks-HASH.js gzip 781 B 781 B
image-HASH.js gzip 4.82 kB 4.82 kB
index-HASH.js gzip 259 B 258 B -1 B
link-HASH.js gzip 2.35 kB 2.34 kB -13 B
routerDirect..HASH.js gzip 312 B 310 B -2 B
script-HASH.js gzip 382 B 385 B ⚠️ +3 B
withRouter-HASH.js gzip 309 B 305 B -4 B
85e02e95b279..7e3.css gzip 107 B 107 B
Overall change 13.1 kB 13.1 kB -17 B
Client Build Manifests Overall increase ⚠️
vercel/next.js canary v12.3.1 vercel/next.js refs/heads/canary Change
_buildManifest.js gzip 480 B 483 B ⚠️ +3 B
Overall change 480 B 483 B ⚠️ +3 B
Rendered Page Sizes Overall increase ⚠️
vercel/next.js canary v12.3.1 vercel/next.js refs/heads/canary Change
index.html gzip 512 B 513 B ⚠️ +1 B
link.html gzip 526 B 527 B ⚠️ +1 B
withRouter.html gzip 506 B 506 B
Overall change 1.54 kB 1.55 kB ⚠️ +2 B
Edge SSR bundle Size Overall decrease ✓
vercel/next.js canary v12.3.1 vercel/next.js refs/heads/canary Change
edge-ssr.js gzip 123 kB 57.9 kB -64.9 kB
page.js gzip 156 kB 67.2 kB -88.4 kB
Overall change 278 kB 125 kB -153 kB
Middleware size Overall decrease ✓
vercel/next.js canary v12.3.1 vercel/next.js refs/heads/canary Change
middleware-b..fest.js gzip 589 B 605 B ⚠️ +16 B
middleware-r..fest.js gzip 145 B 144 B -1 B
middleware.js gzip 19.3 kB 18.3 kB -983 B
edge-runtime..pack.js gzip 2.21 kB 1.83 kB -379 B
Overall change 22.2 kB 20.9 kB -1.35 kB

Diffs

Diff for page.js

Diff too large to display

Diff for edge-runtime-webpack.js
@@ -107,51 +107,6 @@
       /******/
     };
     /******/
-  })(); /* webpack/runtime/create fake namespace object */
-  /******/
-
-  /******/ /******/ (() => {
-    /******/ var getProto = Object.getPrototypeOf
-      ? obj => Object.getPrototypeOf(obj)
-      : obj => obj.__proto__;
-    /******/ var leafPrototypes; // create a fake namespace object // mode & 1: value is a module id, require it // mode & 2: merge all properties of value into the ns // mode & 4: return value when already ns object // mode & 16: return value when it's Promise-like // mode & 8|1: behave like require
-    /******/ /******/ /******/ /******/ /******/ /******/ /******/ __webpack_require__.t = function(
-      value,
-      mode
-    ) {
-      /******/ if (mode & 1) value = this(value);
-      /******/ if (mode & 8) return value;
-      /******/ if (typeof value === "object" && value) {
-        /******/ if (mode & 4 && value.__esModule) return value;
-        /******/ if (mode & 16 && typeof value.then === "function")
-          return value;
-        /******/
-      }
-      /******/ var ns = Object.create(null);
-      /******/ __webpack_require__.r(ns);
-      /******/ var def = {};
-      /******/ leafPrototypes = leafPrototypes || [
-        null,
-        getProto({}),
-        getProto([]),
-        getProto(getProto)
-      ];
-      /******/ for (
-        var current = mode & 2 && value;
-        typeof current == "object" && !~leafPrototypes.indexOf(current);
-        current = getProto(current)
-      ) {
-        /******/ Object.getOwnPropertyNames(current).forEach(
-          key => (def[key] = () => value[key])
-        );
-        /******/
-      }
-      /******/ def["default"] = () => value;
-      /******/ __webpack_require__.d(ns, def);
-      /******/ return ns;
-      /******/
-    };
-    /******/
   })(); /* webpack/runtime/define property getters */
   /******/
Diff for middleware-b..-manifest.js
@@ -7,95 +7,96 @@ self.__BUILD_MANIFEST = {
     "static/BUILD_ID/_ssgManifest.js"
   ],
   rootMainFiles: [
-    "static/chunks/webpack-a9f026eee389fef1.js",
+    "static/chunks/webpack-cd12e5a9fc2ac1bd.js",
     "static/chunks/framework-b11e50df1bb3c9a6.js",
-    "static/chunks/main-app-b7f60c69a157495e.js"
+    "static/chunks/989-4b9202152b7ac66a.js",
+    "static/chunks/main-app-225809374179ddd9.js"
   ],
   pages: {
     "/": [
-      "static/chunks/webpack-a9f026eee389fef1.js",
+      "static/chunks/webpack-cd12e5a9fc2ac1bd.js",
       "static/chunks/framework-b11e50df1bb3c9a6.js",
-      "static/chunks/main-023b1a7aa5e9c70c.js",
-      "static/chunks/pages/index-5eb0c6dd1b07f92f.js"
+      "static/chunks/main-49c6c2f4360d375c.js",
+      "static/chunks/pages/index-f042f599c30d45db.js"
     ],
     "/_app": [
-      "static/chunks/webpack-a9f026eee389fef1.js",
+      "static/chunks/webpack-cd12e5a9fc2ac1bd.js",
       "static/chunks/framework-b11e50df1bb3c9a6.js",
-      "static/chunks/main-023b1a7aa5e9c70c.js",
-      "static/chunks/pages/_app-b9787d582c30d45b.js"
+      "static/chunks/main-49c6c2f4360d375c.js",
+      "static/chunks/pages/_app-d940e48718ce3bec.js"
     ],
     "/_error": [
-      "static/chunks/webpack-a9f026eee389fef1.js",
+      "static/chunks/webpack-cd12e5a9fc2ac1bd.js",
       "static/chunks/framework-b11e50df1bb3c9a6.js",
-      "static/chunks/main-023b1a7aa5e9c70c.js",
-      "static/chunks/pages/_error-e21edc8f3b0da91c.js"
+      "static/chunks/main-49c6c2f4360d375c.js",
+      "static/chunks/pages/_error-aedd03913df85245.js"
     ],
     "/amp": [
-      "static/chunks/webpack-a9f026eee389fef1.js",
+      "static/chunks/webpack-cd12e5a9fc2ac1bd.js",
       "static/chunks/framework-b11e50df1bb3c9a6.js",
-      "static/chunks/main-023b1a7aa5e9c70c.js",
-      "static/chunks/pages/amp-32e961200afb4fa3.js"
+      "static/chunks/main-49c6c2f4360d375c.js",
+      "static/chunks/pages/amp-073ac0acb086c0f6.js"
     ],
     "/css": [
-      "static/chunks/webpack-a9f026eee389fef1.js",
+      "static/chunks/webpack-cd12e5a9fc2ac1bd.js",
       "static/chunks/framework-b11e50df1bb3c9a6.js",
-      "static/chunks/main-023b1a7aa5e9c70c.js",
+      "static/chunks/main-49c6c2f4360d375c.js",
       "static/css/94fdbc56eafa2039.css",
-      "static/chunks/pages/css-1a704b23b3813bc6.js"
+      "static/chunks/pages/css-5088098e50885674.js"
     ],
     "/dynamic": [
-      "static/chunks/webpack-a9f026eee389fef1.js",
+      "static/chunks/webpack-cd12e5a9fc2ac1bd.js",
       "static/chunks/framework-b11e50df1bb3c9a6.js",
-      "static/chunks/main-023b1a7aa5e9c70c.js",
-      "static/chunks/pages/dynamic-e40a9b434c47923f.js"
+      "static/chunks/main-49c6c2f4360d375c.js",
+      "static/chunks/pages/dynamic-12868c362d4814bc.js"
     ],
     "/edge-ssr": [
-      "static/chunks/webpack-a9f026eee389fef1.js",
+      "static/chunks/webpack-cd12e5a9fc2ac1bd.js",
       "static/chunks/framework-b11e50df1bb3c9a6.js",
-      "static/chunks/main-023b1a7aa5e9c70c.js",
-      "static/chunks/pages/edge-ssr-947047b398cb06f5.js"
+      "static/chunks/main-49c6c2f4360d375c.js",
+      "static/chunks/pages/edge-ssr-73aa9a5b806b4236.js"
     ],
     "/head": [
-      "static/chunks/webpack-a9f026eee389fef1.js",
+      "static/chunks/webpack-cd12e5a9fc2ac1bd.js",
       "static/chunks/framework-b11e50df1bb3c9a6.js",
-      "static/chunks/main-023b1a7aa5e9c70c.js",
-      "static/chunks/pages/head-d5e73c8366eb85bd.js"
+      "static/chunks/main-49c6c2f4360d375c.js",
+      "static/chunks/pages/head-68a0b44f1c2015af.js"
     ],
     "/hooks": [
-      "static/chunks/webpack-a9f026eee389fef1.js",
+      "static/chunks/webpack-cd12e5a9fc2ac1bd.js",
       "static/chunks/framework-b11e50df1bb3c9a6.js",
-      "static/chunks/main-023b1a7aa5e9c70c.js",
-      "static/chunks/pages/hooks-e02e15e6cecf7921.js"
+      "static/chunks/main-49c6c2f4360d375c.js",
+      "static/chunks/pages/hooks-0a030866b1a15149.js"
     ],
     "/image": [
-      "static/chunks/webpack-a9f026eee389fef1.js",
+      "static/chunks/webpack-cd12e5a9fc2ac1bd.js",
       "static/chunks/framework-b11e50df1bb3c9a6.js",
-      "static/chunks/main-023b1a7aa5e9c70c.js",
-      "static/chunks/pages/image-348e3e58ad846af0.js"
+      "static/chunks/main-49c6c2f4360d375c.js",
+      "static/chunks/pages/image-f6a01980ccd3687f.js"
     ],
     "/link": [
-      "static/chunks/webpack-a9f026eee389fef1.js",
+      "static/chunks/webpack-cd12e5a9fc2ac1bd.js",
       "static/chunks/framework-b11e50df1bb3c9a6.js",
-      "static/chunks/main-023b1a7aa5e9c70c.js",
-      "static/chunks/pages/link-f6e392ae6222b635.js"
+      "static/chunks/main-49c6c2f4360d375c.js",
+      "static/chunks/pages/link-0f5b51c598861a74.js"
     ],
     "/routerDirect": [
-      "static/chunks/webpack-a9f026eee389fef1.js",
+      "static/chunks/webpack-cd12e5a9fc2ac1bd.js",
       "static/chunks/framework-b11e50df1bb3c9a6.js",
-      "static/chunks/main-023b1a7aa5e9c70c.js",
-      "static/chunks/pages/routerDirect-016d5dc573ac31d4.js"
+      "static/chunks/main-49c6c2f4360d375c.js",
+      "static/chunks/pages/routerDirect-8e431afc6ceb21b8.js"
     ],
     "/script": [
-      "static/chunks/webpack-a9f026eee389fef1.js",
+      "static/chunks/webpack-cd12e5a9fc2ac1bd.js",
       "static/chunks/framework-b11e50df1bb3c9a6.js",
-      "static/chunks/main-023b1a7aa5e9c70c.js",
-      "static/chunks/pages/script-0f4565e53ec39c3d.js"
+      "static/chunks/main-49c6c2f4360d375c.js",
+      "static/chunks/pages/script-51ddb09154eaa5d1.js"
     ],
     "/withRouter": [
-      "static/chunks/webpack-a9f026eee389fef1.js",
+      "static/chunks/webpack-cd12e5a9fc2ac1bd.js",
       "static/chunks/framework-b11e50df1bb3c9a6.js",
-      "static/chunks/main-023b1a7aa5e9c70c.js",
-      "static/chunks/pages/withRouter-4bec812943e988d1.js"
+      "static/chunks/main-49c6c2f4360d375c.js",
+      "static/chunks/pages/withRouter-36009d7a2260315e.js"
     ]
   },
   ampFirstPages: []
Diff for middleware-r..-manifest.js
@@ -1,6 +1,6 @@
 self.__REACT_LOADABLE_MANIFEST = {
   "dynamic.js -> ../components/hello": {
-    id: 8719,
-    files: ["static/chunks/719.af92bec8d88a7c71.js"]
+    id: 384,
+    files: ["static/chunks/384.597e9611680302af.js"]
   }
 };
Diff for middleware.js

Diff too large to display

Diff for edge-ssr.js

Diff too large to display

Diff for _buildManifest.js
@@ -1,28 +1,28 @@
 self.__BUILD_MANIFEST = {
   __rewrites: { beforeFiles: [], afterFiles: [], fallback: [] },
-  "/": ["static\u002Fchunks\u002Fpages\u002Findex-5eb0c6dd1b07f92f.js"],
-  "/_error": ["static\u002Fchunks\u002Fpages\u002F_error-e21edc8f3b0da91c.js"],
-  "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-32e961200afb4fa3.js"],
+  "/": ["static\u002Fchunks\u002Fpages\u002Findex-f042f599c30d45db.js"],
+  "/_error": ["static\u002Fchunks\u002Fpages\u002F_error-aedd03913df85245.js"],
+  "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-073ac0acb086c0f6.js"],
   "/css": [
     "static\u002Fcss\u002F94fdbc56eafa2039.css",
-    "static\u002Fchunks\u002Fpages\u002Fcss-1a704b23b3813bc6.js"
+    "static\u002Fchunks\u002Fpages\u002Fcss-5088098e50885674.js"
   ],
   "/dynamic": [
-    "static\u002Fchunks\u002Fpages\u002Fdynamic-e40a9b434c47923f.js"
+    "static\u002Fchunks\u002Fpages\u002Fdynamic-12868c362d4814bc.js"
   ],
   "/edge-ssr": [
-    "static\u002Fchunks\u002Fpages\u002Fedge-ssr-947047b398cb06f5.js"
+    "static\u002Fchunks\u002Fpages\u002Fedge-ssr-73aa9a5b806b4236.js"
   ],
-  "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-d5e73c8366eb85bd.js"],
-  "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-e02e15e6cecf7921.js"],
-  "/image": ["static\u002Fchunks\u002Fpages\u002Fimage-348e3e58ad846af0.js"],
-  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-f6e392ae6222b635.js"],
+  "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-68a0b44f1c2015af.js"],
+  "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-0a030866b1a15149.js"],
+  "/image": ["static\u002Fchunks\u002Fpages\u002Fimage-f6a01980ccd3687f.js"],
+  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-0f5b51c598861a74.js"],
   "/routerDirect": [
-    "static\u002Fchunks\u002Fpages\u002FrouterDirect-016d5dc573ac31d4.js"
+    "static\u002Fchunks\u002Fpages\u002FrouterDirect-8e431afc6ceb21b8.js"
   ],
-  "/script": ["static\u002Fchunks\u002Fpages\u002Fscript-0f4565e53ec39c3d.js"],
+  "/script": ["static\u002Fchunks\u002Fpages\u002Fscript-51ddb09154eaa5d1.js"],
   "/withRouter": [
-    "static\u002Fchunks\u002Fpages\u002FwithRouter-4bec812943e988d1.js"
+    "static\u002Fchunks\u002Fpages\u002FwithRouter-36009d7a2260315e.js"
   ],
   sortedPages: [
     "\u002F",
Diff for _app-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [888],
   {
-    /***/ 8351: /***/ function(
+    /***/ 7006: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/_app",
         function() {
-          return __webpack_require__(4105);
+          return __webpack_require__(3729);
         }
       ]);
       if (false) {
@@ -24,7 +24,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 179], function() {
-      return __webpack_exec__(8351), __webpack_exec__(2383);
+      return __webpack_exec__(7006), __webpack_exec__(1134);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for _error-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [820],
   {
-    /***/ 9548: /***/ function(
+    /***/ 3020: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/_error",
         function() {
-          return __webpack_require__(7437);
+          return __webpack_require__(729);
         }
       ]);
       if (false) {
@@ -24,7 +24,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [888, 774, 179], function() {
-      return __webpack_exec__(9548);
+      return __webpack_exec__(3020);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for amp-HASH.js
@@ -1,17 +1,17 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [216],
   {
-    /***/ 3485: /***/ function(
+    /***/ 7481: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(2930);
+      module.exports = __webpack_require__(3343);
 
       /***/
     },
 
-    /***/ 6530: /***/ function(
+    /***/ 2880: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -19,7 +19,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/amp",
         function() {
-          return __webpack_require__(7249);
+          return __webpack_require__(1357);
         }
       ]);
       if (false) {
@@ -28,7 +28,7 @@
       /***/
     },
 
-    /***/ 2930: /***/ function(module, exports, __webpack_require__) {
+    /***/ 3343: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -38,8 +38,8 @@
       var _interop_require_default = __webpack_require__(7022) /* ["default"] */
         .Z;
       var _react = _interop_require_default(__webpack_require__(6273));
-      var _ampContext = __webpack_require__(4602);
-      var _ampMode = __webpack_require__(4841);
+      var _ampContext = __webpack_require__(1391);
+      var _ampMode = __webpack_require__(9757);
       function useAmp() {
         // Don't assign the context value to a variable to save bytes
         return (0, _ampMode).isInAmpMode(
@@ -61,7 +61,7 @@
       /***/
     },
 
-    /***/ 7249: /***/ function(
+    /***/ 1357: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -78,7 +78,7 @@
         /* harmony export */
       });
       /* harmony import */ var next_amp__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
-        3485
+        7481
       );
       /* harmony import */ var next_amp__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/ __webpack_require__.n(
         next_amp__WEBPACK_IMPORTED_MODULE_0__
@@ -102,7 +102,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [888, 774, 179], function() {
-      return __webpack_exec__(6530);
+      return __webpack_exec__(2880);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for css-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [706],
   {
-    /***/ 631: /***/ function(
+    /***/ 1737: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/css",
         function() {
-          return __webpack_require__(1293);
+          return __webpack_require__(7867);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 1293: /***/ function(
+    /***/ 7867: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -29,7 +29,7 @@
         1760
       );
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        2555
+        4449
       );
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         _css_module_css__WEBPACK_IMPORTED_MODULE_1__
@@ -48,7 +48,7 @@
       /***/
     },
 
-    /***/ 2555: /***/ function(module) {
+    /***/ 4449: /***/ function(module) {
       // extracted by mini-css-extract-plugin
       module.exports = { helloWorld: "css_helloWorld__qqNwY" };
 
@@ -61,7 +61,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(631);
+      return __webpack_exec__(1737);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for dynamic-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [739],
   {
-    /***/ 8963: /***/ function(
+    /***/ 9051: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/dynamic",
         function() {
-          return __webpack_require__(7522);
+          return __webpack_require__(6743);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 6242: /***/ function(module, exports, __webpack_require__) {
+    /***/ 6343: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -34,7 +34,7 @@
       var _interop_require_default = __webpack_require__(7022) /* ["default"] */
         .Z;
       var _react = _interop_require_default(__webpack_require__(6273));
-      var _loadable = _interop_require_default(__webpack_require__(894));
+      var _loadable = _interop_require_default(__webpack_require__(5191));
       function dynamic(dynamicOptions, options) {
         var loadableFn = _loadable.default;
         var loadableOptions = (options == null
@@ -138,7 +138,7 @@
       /***/
     },
 
-    /***/ 6010: /***/ function(
+    /***/ 4144: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -160,7 +160,7 @@
       /***/
     },
 
-    /***/ 894: /***/ function(
+    /***/ 5191: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -180,7 +180,7 @@
       var _interop_require_default = __webpack_require__(7022) /* ["default"] */
         .Z;
       var _react = _interop_require_default(__webpack_require__(6273));
-      var _loadableContext = __webpack_require__(6010);
+      var _loadableContext = __webpack_require__(4144);
       var useSyncExternalStore = (true ? __webpack_require__(6273) : 0)
         .useSyncExternalStore;
       var ALL_INITIALIZERS = [];
@@ -494,7 +494,7 @@
       /***/
     },
 
-    /***/ 7522: /***/ function(
+    /***/ 6743: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -511,7 +511,7 @@
         1760
       );
       /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        6706
+        9477
       );
       /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         next_dynamic__WEBPACK_IMPORTED_MODULE_1__
@@ -520,13 +520,13 @@
       var DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
         function() {
           return __webpack_require__
-            .e(/* import() */ 719)
-            .then(__webpack_require__.bind(__webpack_require__, 8719));
+            .e(/* import() */ 384)
+            .then(__webpack_require__.bind(__webpack_require__, 384));
         },
         {
           loadableGenerated: {
             webpack: function() {
-              return [/*require.resolve*/ 8719];
+              return [/*require.resolve*/ 384];
             }
           }
         }
@@ -556,12 +556,12 @@
       /***/
     },
 
-    /***/ 6706: /***/ function(
+    /***/ 9477: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(6242);
+      module.exports = __webpack_require__(6343);
 
       /***/
     }
@@ -572,7 +572,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(8963);
+      return __webpack_exec__(9051);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for edge-ssr-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [800],
   {
-    /***/ 529: /***/ function(
+    /***/ 3839: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/edge-ssr",
         function() {
-          return __webpack_require__(8259);
+          return __webpack_require__(1646);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 8259: /***/ function(
+    /***/ 1646: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -50,7 +50,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [888, 774, 179], function() {
-      return __webpack_exec__(529);
+      return __webpack_exec__(3839);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for head-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [645],
   {
-    /***/ 8780: /***/ function(
+    /***/ 2116: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/head",
         function() {
-          return __webpack_require__(4169);
+          return __webpack_require__(815);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 4169: /***/ function(
+    /***/ 815: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -35,7 +35,7 @@
         1760
       );
       /* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        8722
+        8631
       );
       /* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         next_head__WEBPACK_IMPORTED_MODULE_1__
@@ -71,12 +71,12 @@
       /***/
     },
 
-    /***/ 8722: /***/ function(
+    /***/ 8631: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(4380);
+      module.exports = __webpack_require__(4860);
 
       /***/
     }
@@ -87,7 +87,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(8780);
+      return __webpack_exec__(2116);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for hooks-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [757],
   {
-    /***/ 4076: /***/ function(
+    /***/ 1042: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/hooks",
         function() {
-          return __webpack_require__(9029);
+          return __webpack_require__(4556);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 9029: /***/ function(
+    /***/ 4556: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -132,7 +132,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(4076);
+      return __webpack_exec__(1042);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for image-HASH.js
@@ -26,7 +26,7 @@
       /***/
     },
 
-    /***/ 7735: /***/ function(
+    /***/ 7865: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -34,7 +34,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/image",
         function() {
-          return __webpack_require__(2504);
+          return __webpack_require__(7347);
         }
       ]);
       if (false) {
@@ -43,7 +43,7 @@
       /***/
     },
 
-    /***/ 9130: /***/ function(module, exports, __webpack_require__) {
+    /***/ 460: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -66,12 +66,12 @@
         5997
       ) /* ["default"] */.Z;
       var _react = _interop_require_wildcard(__webpack_require__(6273));
-      var _head = _interop_require_default(__webpack_require__(4380));
-      var _imageConfig = __webpack_require__(628);
-      var _useIntersection = __webpack_require__(2754);
-      var _imageConfigContext = __webpack_require__(394);
-      var _utils = __webpack_require__(1077);
-      var _normalizeTrailingSlash = __webpack_require__(5423);
+      var _head = _interop_require_default(__webpack_require__(4860));
+      var _imageConfig = __webpack_require__(826);
+      var _useIntersection = __webpack_require__(9645);
+      var _imageConfigContext = __webpack_require__(789);
+      var _utils = __webpack_require__(346);
+      var _normalizeTrailingSlash = __webpack_require__(5623);
       function Image(_param) {
         var src = _param.src,
           sizes = _param.sizes,
@@ -929,7 +929,7 @@
       /***/
     },
 
-    /***/ 2754: /***/ function(module, exports, __webpack_require__) {
+    /***/ 9645: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -941,7 +941,7 @@
       });
       exports.useIntersection = useIntersection;
       var _react = __webpack_require__(6273);
-      var _requestIdleCallback = __webpack_require__(2696);
+      var _requestIdleCallback = __webpack_require__(4338);
       var hasIntersectionObserver = typeof IntersectionObserver === "function";
       var observers = new Map();
       var idList = [];
@@ -1066,7 +1066,7 @@
       /***/
     },
 
-    /***/ 2504: /***/ function(
+    /***/ 7347: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -1087,8 +1087,8 @@
 
       // EXTERNAL MODULE: ./node_modules/.pnpm/react@0.0.0-experimental-cb5084d1c-20220924/node_modules/react/jsx-runtime.js
       var jsx_runtime = __webpack_require__(1760);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/image.js
-      var next_image = __webpack_require__(1769);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/image.js
+      var next_image = __webpack_require__(3608);
       var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // CONCATENATED MODULE: ./pages/nextjs.png
       /* harmony default export */ var nextjs = {
         src: "/_next/static/media/nextjs.cae0b805.png",
@@ -1118,12 +1118,12 @@
       /***/
     },
 
-    /***/ 1769: /***/ function(
+    /***/ 3608: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(9130);
+      module.exports = __webpack_require__(460);
 
       /***/
     }
@@ -1134,7 +1134,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(7735);
+      return __webpack_exec__(7865);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for index-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [405],
   {
-    /***/ 2047: /***/ function(
+    /***/ 1239: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/",
         function() {
-          return __webpack_require__(1593);
+          return __webpack_require__(7312);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 1593: /***/ function(
+    /***/ 7312: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -46,7 +46,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [888, 774, 179], function() {
-      return __webpack_exec__(2047);
+      return __webpack_exec__(1239);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for link-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [644],
   {
-    /***/ 9279: /***/ function(
+    /***/ 485: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/link",
         function() {
-          return __webpack_require__(8220);
+          return __webpack_require__(244);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 5030: /***/ function(module, exports) {
+    /***/ 2063: /***/ function(module, exports) {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -54,7 +54,7 @@
       /***/
     },
 
-    /***/ 8399: /***/ function(module, exports, __webpack_require__) {
+    /***/ 2331: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -72,13 +72,13 @@
         5997
       ) /* ["default"] */.Z;
       var _react = _interop_require_default(__webpack_require__(6273));
-      var _router = __webpack_require__(775);
-      var _addLocale = __webpack_require__(1138);
-      var _routerContext = __webpack_require__(463);
-      var _appRouterContext = __webpack_require__(6456);
-      var _useIntersection = __webpack_require__(2754);
-      var _getDomainLocale = __webpack_require__(5030);
-      var _addBasePath = __webpack_require__(8569);
+      var _router = __webpack_require__(9305);
+      var _addLocale = __webpack_require__(253);
+      var _routerContext = __webpack_require__(9005);
+      var _appRouterContext = __webpack_require__(2456);
+      var _useIntersection = __webpack_require__(9645);
+      var _getDomainLocale = __webpack_require__(2063);
+      var _addBasePath = __webpack_require__(5524);
       ("client");
       var prefetched = {};
       function prefetch(router, href, as, options) {
@@ -158,255 +158,260 @@
           navigate();
         }
       }
-      var Link = /*#__PURE__*/ _react.default.forwardRef(function LinkComponent(
-        props,
-        forwardedRef
-      ) {
-        if (false) {
-          var hasWarned,
-            optionalProps,
-            optionalPropsGuard,
-            requiredProps,
-            requiredPropsGuard,
-            createPropError;
-        }
-        var children;
-        var hrefProp = props.href,
-          asProp = props.as,
-          childrenProp = props.children,
-          prefetchProp = props.prefetch,
-          passHref = props.passHref,
-          replace = props.replace,
-          shallow = props.shallow,
-          scroll = props.scroll,
-          locale = props.locale,
-          onClick = props.onClick,
-          onMouseEnter = props.onMouseEnter,
-          onTouchStart = props.onTouchStart,
-          _legacyBehavior = props.legacyBehavior,
-          legacyBehavior =
-            _legacyBehavior === void 0
-              ? Boolean(false) !== true
-              : _legacyBehavior,
-          restProps = _object_without_properties_loose(props, [
-            "href",
-            "as",
-            "children",
-            "prefetch",
-            "passHref",
-            "replace",
-            "shallow",
-            "scroll",
-            "locale",
-            "onClick",
-            "onMouseEnter",
-            "onTouchStart",
-            "legacyBehavior"
-          ]);
-        children = childrenProp;
-        if (
-          legacyBehavior &&
-          (typeof children === "string" || typeof children === "number")
-        ) {
-          children = /*#__PURE__*/ _react.default.createElement(
-            "a",
-            null,
-            children
-          );
-        }
-        var p = prefetchProp !== false;
-        var router = _react.default.useContext(_routerContext.RouterContext);
-        // TODO-APP: type error. Remove `as any`
-        var appRouter = _react.default.useContext(
-          _appRouterContext.AppRouterContext
-        );
-        if (appRouter) {
-          router = appRouter;
-        }
-        var ref = _react.default.useMemo(
-            function() {
-              var ref = _slicedToArray(
-                  (0, _router).resolveHref(router, hrefProp, true),
-                  2
-                ),
-                resolvedHref = ref[0],
-                resolvedAs = ref[1];
-              return {
-                href: resolvedHref,
-                as: asProp
-                  ? (0, _router).resolveHref(router, asProp)
-                  : resolvedAs || resolvedHref
-              };
-            },
-            [router, hrefProp, asProp]
-          ),
-          href = ref.href,
-          as = ref.as;
-        var previousHref = _react.default.useRef(href);
-        var previousAs = _react.default.useRef(as);
-        // This will return the first child, if multiple are provided it will throw an error
-        var child;
-        if (legacyBehavior) {
+      /**
+       * React Component that enables client-side transitions between routes.
+       */ var Link = /*#__PURE__*/ _react.default.forwardRef(
+        function LinkComponent(props, forwardedRef) {
           if (false) {
-          } else {
-            child = _react.default.Children.only(children);
+            var hasWarned,
+              optionalProps,
+              optionalPropsGuard,
+              requiredProps,
+              requiredPropsGuard,
+              createPropError;
           }
-        }
-        var childRef = legacyBehavior
-          ? child && typeof child === "object" && child.ref
-          : forwardedRef;
-        var ref1 = _slicedToArray(
-            (0, _useIntersection).useIntersection({
-              rootMargin: "200px"
-            }),
-            3
-          ),
-          setIntersectionRef = ref1[0],
-          isVisible = ref1[1],
-          resetVisible = ref1[2];
-        var setRef = _react.default.useCallback(
-          function(el) {
-            // Before the link getting observed, check if visible state need to be reset
-            if (previousAs.current !== as || previousHref.current !== href) {
-              resetVisible();
-              previousAs.current = as;
-              previousHref.current = href;
-            }
-            setIntersectionRef(el);
-            if (childRef) {
-              if (typeof childRef === "function") childRef(el);
-              else if (typeof childRef === "object") {
-                childRef.current = el;
-              }
-            }
-          },
-          [as, childRef, href, resetVisible, setIntersectionRef]
-        );
-        _react.default.useEffect(
-          function() {
-            var shouldPrefetch =
-              isVisible && p && (0, _router).isLocalURL(href);
-            var curLocale =
-              typeof locale !== "undefined" ? locale : router && router.locale;
-            var isPrefetched =
-              prefetched[href + "%" + as + (curLocale ? "%" + curLocale : "")];
-            if (shouldPrefetch && !isPrefetched) {
-              prefetch(router, href, as, {
-                locale: curLocale
-              });
-            }
-          },
-          [as, href, isVisible, locale, p, router]
-        );
-        var childProps = {
-          ref: setRef,
-          onClick: function(e) {
+          var children;
+          var hrefProp = props.href,
+            asProp = props.as,
+            childrenProp = props.children,
+            prefetchProp = props.prefetch,
+            passHref = props.passHref,
+            replace = props.replace,
+            shallow = props.shallow,
+            scroll = props.scroll,
+            locale = props.locale,
+            onClick = props.onClick,
+            onMouseEnter = props.onMouseEnter,
+            onTouchStart = props.onTouchStart,
+            _legacyBehavior = props.legacyBehavior,
+            legacyBehavior =
+              _legacyBehavior === void 0
+                ? Boolean(false) !== true
+                : _legacyBehavior,
+            restProps = _object_without_properties_loose(props, [
+              "href",
+              "as",
+              "children",
+              "prefetch",
+              "passHref",
+              "replace",
+              "shallow",
+              "scroll",
+              "locale",
+              "onClick",
+              "onMouseEnter",
+              "onTouchStart",
+              "legacyBehavior"
+            ]);
+          children = childrenProp;
+          if (
+            legacyBehavior &&
+            (typeof children === "string" || typeof children === "number")
+          ) {
+            children = /*#__PURE__*/ _react.default.createElement(
+              "a",
+              null,
+              children
+            );
+          }
+          var p = prefetchProp !== false;
+          var router = _react.default.useContext(_routerContext.RouterContext);
+          // TODO-APP: type error. Remove `as any`
+          var appRouter = _react.default.useContext(
+            _appRouterContext.AppRouterContext
+          );
+          if (appRouter) {
+            router = appRouter;
+          }
+          var ref = _react.default.useMemo(
+              function() {
+                var ref = _slicedToArray(
+                    (0, _router).resolveHref(router, hrefProp, true),
+                    2
+                  ),
+                  resolvedHref = ref[0],
+                  resolvedAs = ref[1];
+                return {
+                  href: resolvedHref,
+                  as: asProp
+                    ? (0, _router).resolveHref(router, asProp)
+                    : resolvedAs || resolvedHref
+                };
+              },
+              [router, hrefProp, asProp]
+            ),
+            href = ref.href,
+            as = ref.as;
+          var previousHref = _react.default.useRef(href);
+          var previousAs = _react.default.useRef(as);
+          // This will return the first child, if multiple are provided it will throw an error
+          var child;
+          if (legacyBehavior) {
             if (false) {
+            } else {
+              child = _react.default.Children.only(children);
             }
-            if (!legacyBehavior && typeof onClick === "function") {
-              onClick(e);
-            }
-            if (
-              legacyBehavior &&
-              child.props &&
-              typeof child.props.onClick === "function"
-            ) {
-              child.props.onClick(e);
-            }
-            if (!e.defaultPrevented) {
-              linkClicked(
-                e,
-                router,
-                href,
-                as,
-                replace,
-                shallow,
-                scroll,
-                locale,
-                Boolean(appRouter),
-                p
-              );
-            }
-          },
-          onMouseEnter: function(e) {
-            if (!legacyBehavior && typeof onMouseEnter === "function") {
-              onMouseEnter(e);
-            }
-            if (
-              legacyBehavior &&
-              child.props &&
-              typeof child.props.onMouseEnter === "function"
-            ) {
-              child.props.onMouseEnter(e);
-            }
-            // Check for not prefetch disabled in page using appRouter
-            if (!(!p && appRouter)) {
-              if ((0, _router).isLocalURL(href)) {
-                prefetch(router, href, as, {
-                  priority: true
-                });
+          }
+          var childRef = legacyBehavior
+            ? child && typeof child === "object" && child.ref
+            : forwardedRef;
+          var ref1 = _slicedToArray(
+              (0, _useIntersection).useIntersection({
+                rootMargin: "200px"
+              }),
+              3
+            ),
+            setIntersectionRef = ref1[0],
+            isVisible = ref1[1],
+            resetVisible = ref1[2];
+          var setRef = _react.default.useCallback(
+            function(el) {
+              // Before the link getting observed, check if visible state need to be reset
+              if (previousAs.current !== as || previousHref.current !== href) {
+                resetVisible();
+                previousAs.current = as;
+                previousHref.current = href;
               }
-            }
-          },
-          onTouchStart: function(e) {
-            if (!legacyBehavior && typeof onTouchStart === "function") {
-              onTouchStart(e);
-            }
-            if (
-              legacyBehavior &&
-              child.props &&
-              typeof child.props.onTouchStart === "function"
-            ) {
-              child.props.onTouchStart(e);
-            }
-            // Check for not prefetch disabled in page using appRouter
-            if (!(!p && appRouter)) {
-              if ((0, _router).isLocalURL(href)) {
+              setIntersectionRef(el);
+              if (childRef) {
+                if (typeof childRef === "function") childRef(el);
+                else if (typeof childRef === "object") {
+                  childRef.current = el;
+                }
+              }
+            },
+            [as, childRef, href, resetVisible, setIntersectionRef]
+          );
+          _react.default.useEffect(
+            function() {
+              var shouldPrefetch =
+                isVisible && p && (0, _router).isLocalURL(href);
+              var curLocale =
+                typeof locale !== "undefined"
+                  ? locale
+                  : router && router.locale;
+              var isPrefetched =
+                prefetched[
+                  href + "%" + as + (curLocale ? "%" + curLocale : "")
+                ];
+              if (shouldPrefetch && !isPrefetched) {
                 prefetch(router, href, as, {
-                  priority: true
+                  locale: curLocale
                 });
               }
+            },
+            [as, href, isVisible, locale, p, router]
+          );
+          var childProps = {
+            ref: setRef,
+            onClick: function(e) {
+              if (false) {
+              }
+              if (!legacyBehavior && typeof onClick === "function") {
+                onClick(e);
+              }
+              if (
+                legacyBehavior &&
+                child.props &&
+                typeof child.props.onClick === "function"
+              ) {
+                child.props.onClick(e);
+              }
+              if (!e.defaultPrevented) {
+                linkClicked(
+                  e,
+                  router,
+                  href,
+                  as,
+                  replace,
+                  shallow,
+                  scroll,
+                  locale,
+                  Boolean(appRouter),
+                  p
+                );
+              }
+            },
+            onMouseEnter: function(e) {
+              if (!legacyBehavior && typeof onMouseEnter === "function") {
+                onMouseEnter(e);
+              }
+              if (
+                legacyBehavior &&
+                child.props &&
+                typeof child.props.onMouseEnter === "function"
+              ) {
+                child.props.onMouseEnter(e);
+              }
+              // Check for not prefetch disabled in page using appRouter
+              if (!(!p && appRouter)) {
+                if ((0, _router).isLocalURL(href)) {
+                  prefetch(router, href, as, {
+                    priority: true
+                  });
+                }
+              }
+            },
+            onTouchStart: function(e) {
+              if (!legacyBehavior && typeof onTouchStart === "function") {
+                onTouchStart(e);
+              }
+              if (
+                legacyBehavior &&
+                child.props &&
+                typeof child.props.onTouchStart === "function"
+              ) {
+                child.props.onTouchStart(e);
+              }
+              // Check for not prefetch disabled in page using appRouter
+              if (!(!p && appRouter)) {
+                if ((0, _router).isLocalURL(href)) {
+                  prefetch(router, href, as, {
+                    priority: true
+                  });
+                }
+              }
             }
-          }
-        };
-        // If child is an <a> tag and doesn't have a href attribute, or if the 'passHref' property is
-        // defined, we specify the current 'href', so that repetition is not needed by the user
-        if (
-          !legacyBehavior ||
-          passHref ||
-          (child.type === "a" && !("href" in child.props))
-        ) {
-          var curLocale =
-            typeof locale !== "undefined" ? locale : router && router.locale;
-          // we only render domain locales if we are currently on a domain locale
-          // so that locale links are still visitable in development/preview envs
-          var localeDomain =
-            router &&
-            router.isLocaleDomain &&
-            (0, _getDomainLocale).getDomainLocale(
-              as,
-              curLocale,
-              router.locales,
-              router.domainLocales
-            );
-          childProps.href =
-            localeDomain ||
-            (0, _addBasePath).addBasePath(
-              (0, _addLocale).addLocale(
+          };
+          // If child is an <a> tag and doesn't have a href attribute, or if the 'passHref' property is
+          // defined, we specify the current 'href', so that repetition is not needed by the user
+          if (
+            !legacyBehavior ||
+            passHref ||
+            (child.type === "a" && !("href" in child.props))
+          ) {
+            var curLocale =
+              typeof locale !== "undefined" ? locale : router && router.locale;
+            // we only render domain locales if we are currently on a domain locale
+            // so that locale links are still visitable in development/preview envs
+            var localeDomain =
+              router &&
+              router.isLocaleDomain &&
+              (0, _getDomainLocale).getDomainLocale(
                 as,
                 curLocale,
-                router && router.defaultLocale
-              )
-            );
+                router.locales,
+                router.domainLocales
+              );
+            childProps.href =
+              localeDomain ||
+              (0, _addBasePath).addBasePath(
+                (0, _addLocale).addLocale(
+                  as,
+                  curLocale,
+                  router && router.defaultLocale
+                )
+              );
+          }
+          return legacyBehavior
+            ? /*#__PURE__*/ _react.default.cloneElement(child, childProps)
+            : /*#__PURE__*/ _react.default.createElement(
+                "a",
+                Object.assign({}, restProps, childProps),
+                children
+              );
         }
-        return legacyBehavior
-          ? /*#__PURE__*/ _react.default.cloneElement(child, childProps)
-          : /*#__PURE__*/ _react.default.createElement(
-              "a",
-              Object.assign({}, restProps, childProps),
-              children
-            );
-      });
+      );
       var _default = Link;
       exports["default"] = _default;
       if (
@@ -424,7 +429,7 @@
       /***/
     },
 
-    /***/ 2754: /***/ function(module, exports, __webpack_require__) {
+    /***/ 9645: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -436,7 +441,7 @@
       });
       exports.useIntersection = useIntersection;
       var _react = __webpack_require__(6273);
-      var _requestIdleCallback = __webpack_require__(2696);
+      var _requestIdleCallback = __webpack_require__(4338);
       var hasIntersectionObserver = typeof IntersectionObserver === "function";
       var observers = new Map();
       var idList = [];
@@ -561,7 +566,7 @@
       /***/
     },
 
-    /***/ 6456: /***/ function(
+    /***/ 2456: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -589,7 +594,7 @@
       /***/
     },
 
-    /***/ 8220: /***/ function(
+    /***/ 244: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -606,7 +611,7 @@
         1760
       );
       /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        7892
+        1777
       );
       /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         next_link__WEBPACK_IMPORTED_MODULE_1__
@@ -637,12 +642,12 @@
       /***/
     },
 
-    /***/ 7892: /***/ function(
+    /***/ 1777: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(8399);
+      module.exports = __webpack_require__(2331);
 
       /***/
     }
@@ -653,7 +658,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(9279);
+      return __webpack_exec__(485);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for routerDirect-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [58],
   {
-    /***/ 5847: /***/ function(
+    /***/ 4500: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/routerDirect",
         function() {
-          return __webpack_require__(4570);
+          return __webpack_require__(8546);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 4570: /***/ function(
+    /***/ 8546: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -35,7 +35,7 @@
         1760
       );
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        3318
+        775
       );
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -56,12 +56,12 @@
       /***/
     },
 
-    /***/ 3318: /***/ function(
+    /***/ 775: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(2383);
+      module.exports = __webpack_require__(1134);
 
       /***/
     }
@@ -72,7 +72,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(5847);
+      return __webpack_exec__(4500);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for script-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [797],
   {
-    /***/ 7992: /***/ function(
+    /***/ 7140: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/script",
         function() {
-          return __webpack_require__(1161);
+          return __webpack_require__(3391);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 1161: /***/ function(
+    /***/ 3391: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -35,7 +35,7 @@
         1760
       );
       /* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        3785
+        4861
       );
       /* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         next_script__WEBPACK_IMPORTED_MODULE_1__
@@ -70,12 +70,12 @@
       /***/
     },
 
-    /***/ 3785: /***/ function(
+    /***/ 4861: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(3921);
+      module.exports = false ? 0 : __webpack_require__(1649);
 
       /***/
     }
@@ -86,7 +86,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(7992);
+      return __webpack_exec__(7140);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for withRouter-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [807],
   {
-    /***/ 5996: /***/ function(
+    /***/ 3377: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/withRouter",
         function() {
-          return __webpack_require__(4554);
+          return __webpack_require__(7728);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 4554: /***/ function(
+    /***/ 7728: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -35,7 +35,7 @@
         1760
       );
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        3318
+        775
       );
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -54,12 +54,12 @@
       /***/
     },
 
-    /***/ 3318: /***/ function(
+    /***/ 775: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(2383);
+      module.exports = __webpack_require__(1134);
 
       /***/
     }
@@ -70,7 +70,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(5996);
+      return __webpack_exec__(3377);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for 719.HASH.js
@@ -1,8 +1,8 @@
 "use strict";
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
-  [719],
+  [384],
   {
-    /***/ 8719: /***/ function(
+    /***/ 384: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
Diff for 989-HASH.js

Diff too large to display

Diff for app-internals-HASH.js
@@ -1,29 +1,58 @@
-// runtime can't be in strict mode because a global variable is assign and maybe created.
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
-  [532, 760],
+  [532],
   {
-    /***/ 5093: /***/ function(
+    /***/ 2162: /***/ function(
       __unused_webpack_module,
-      __webpack_exports__,
+      __unused_webpack_exports,
       __webpack_require__
     ) {
+      Promise.resolve(/* import() eager */).then(
+        __webpack_require__.t.bind(__webpack_require__, 347, 23)
+      );
+      Promise.resolve(/* import() eager */).then(
+        __webpack_require__.t.bind(__webpack_require__, 7989, 23)
+      );
+      Promise.resolve(/* import() eager */).then(
+        __webpack_require__.t.bind(__webpack_require__, 3410, 23)
+      );
+
+      /***/
+    },
+
+    /***/ 3410: /***/ function(module, exports, __webpack_require__) {
       "use strict";
-      __webpack_require__.r(__webpack_exports__);
-      /* harmony export */ __webpack_require__.d(__webpack_exports__, {
-        /* harmony export */ __next_rsc__: function() {
-          return /* binding */ __next_rsc__;
-        },
-        /* harmony export */ default: function() {
-          return /* binding */ RSC;
-        }
-        /* harmony export */
-      });
 
-      const __next_rsc__ = {
-        server: false,
-        __webpack_require__
-      };
-      function RSC() {}
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
+      exports["default"] = RenderFromTemplateContext;
+      var _interop_require_wildcard = __webpack_require__(
+        8889
+      ) /* ["default"] */.Z;
+      var _react = _interop_require_wildcard(__webpack_require__(6273));
+      var _appRouterContext = __webpack_require__(2456);
+      function RenderFromTemplateContext() {
+        var children = (0, _react).useContext(
+          _appRouterContext.TemplateContext
+        );
+        return /*#__PURE__*/ _react.default.createElement(
+          _react.default.Fragment,
+          null,
+          children
+        );
+      }
+      ("client");
+      if (
+        (typeof exports.default === "function" ||
+          (typeof exports.default === "object" && exports.default !== null)) &&
+        typeof exports.default.__esModule === "undefined"
+      ) {
+        Object.defineProperty(exports.default, "__esModule", {
+          value: true
+        });
+        Object.assign(exports.default, exports);
+        module.exports = exports.default;
+      } //# sourceMappingURL=render-from-template-context.client.js.map
 
       /***/
     }
@@ -33,7 +62,10 @@
     /******/ var __webpack_exec__ = function(moduleId) {
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
-    /******/ var __webpack_exports__ = __webpack_exec__(5093);
+    /******/ __webpack_require__.O(0, [774, 989], function() {
+      return __webpack_exec__(2162);
+    });
+    /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
     /******/
   }
Diff for page-25c20a36bd5af608.js
@@ -0,0 +1,16 @@
+(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([[760],{
+
+/***/ 3081:
+/***/ (function() {
+
+
+
+/***/ })
+
+},
+/******/ function(__webpack_require__) { // webpackRuntimeModules
+/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
+/******/ var __webpack_exports__ = (__webpack_exec__(3081));
+/******/ _N_E = __webpack_exports__;
+/******/ }
+]);
\ No newline at end of file
Diff for page-e0b090e870162898.js
deleted
Diff for main-HASH.js

Diff too large to display

Diff for main-app-HASH.js

Diff too large to display

Diff for webpack-HASH.js
@@ -113,6 +113,59 @@
       /******/
     };
     /******/
+  })(); /* webpack/runtime/create fake namespace object */
+  /******/
+
+  /******/ /******/ !(function() {
+    /******/ var getProto = Object.getPrototypeOf
+      ? function(obj) {
+          return Object.getPrototypeOf(obj);
+        }
+      : function(obj) {
+          return obj.__proto__;
+        };
+    /******/ var leafPrototypes; // create a fake namespace object // mode & 1: value is a module id, require it // mode & 2: merge all properties of value into the ns // mode & 4: return value when already ns object // mode & 16: return value when it's Promise-like // mode & 8|1: behave like require
+    /******/ /******/ /******/ /******/ /******/ /******/ /******/ __webpack_require__.t = function(
+      value,
+      mode
+    ) {
+      /******/ if (mode & 1) value = this(value);
+      /******/ if (mode & 8) return value;
+      /******/ if (typeof value === "object" && value) {
+        /******/ if (mode & 4 && value.__esModule) return value;
+        /******/ if (mode & 16 && typeof value.then === "function")
+          return value;
+        /******/
+      }
+      /******/ var ns = Object.create(null);
+      /******/ __webpack_require__.r(ns);
+      /******/ var def = {};
+      /******/ leafPrototypes = leafPrototypes || [
+        null,
+        getProto({}),
+        getProto([]),
+        getProto(getProto)
+      ];
+      /******/ for (
+        var current = mode & 2 && value;
+        typeof current == "object" && !~leafPrototypes.indexOf(current);
+        current = getProto(current)
+      ) {
+        /******/ Object.getOwnPropertyNames(current).forEach(function(key) {
+          def[key] = function() {
+            return value[key];
+          };
+        });
+        /******/
+      }
+      /******/ def["default"] = function() {
+        return value;
+      };
+      /******/ __webpack_require__.d(ns, def);
+      /******/ return ns;
+      /******/
+    };
+    /******/
   })(); /* webpack/runtime/define property getters */
   /******/
 
@@ -159,7 +212,7 @@
     /******/ __webpack_require__.u = function(chunkId) {
       /******/ // return url for filenames based on template
       /******/ return (
-        "static/chunks/" + chunkId + "." + "af92bec8d88a7c71" + ".js"
+        "static/chunks/" + chunkId + "." + "597e9611680302af" + ".js"
       );
       /******/
     };
Diff for index.html
@@ -11,7 +11,7 @@
       src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"
     ></script>
     <script
-      src="/_next/static/chunks/webpack-a9f026eee389fef1.js"
+      src="/_next/static/chunks/webpack-cd12e5a9fc2ac1bd.js"
       defer=""
     ></script>
     <script
@@ -19,15 +19,15 @@
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-023b1a7aa5e9c70c.js"
+      src="/_next/static/chunks/main-49c6c2f4360d375c.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-b9787d582c30d45b.js"
+      src="/_next/static/chunks/pages/_app-d940e48718ce3bec.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/index-5eb0c6dd1b07f92f.js"
+      src="/_next/static/chunks/pages/index-f042f599c30d45db.js"
       defer=""
     ></script>
     <script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>
Diff for link.html
@@ -11,7 +11,7 @@
       src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"
     ></script>
     <script
-      src="/_next/static/chunks/webpack-a9f026eee389fef1.js"
+      src="/_next/static/chunks/webpack-cd12e5a9fc2ac1bd.js"
       defer=""
     ></script>
     <script
@@ -19,15 +19,15 @@
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-023b1a7aa5e9c70c.js"
+      src="/_next/static/chunks/main-49c6c2f4360d375c.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-b9787d582c30d45b.js"
+      src="/_next/static/chunks/pages/_app-d940e48718ce3bec.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/link-f6e392ae6222b635.js"
+      src="/_next/static/chunks/pages/link-0f5b51c598861a74.js"
       defer=""
     ></script>
     <script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>
Diff for withRouter.html
@@ -11,7 +11,7 @@
       src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"
     ></script>
     <script
-      src="/_next/static/chunks/webpack-a9f026eee389fef1.js"
+      src="/_next/static/chunks/webpack-cd12e5a9fc2ac1bd.js"
       defer=""
     ></script>
     <script
@@ -19,15 +19,15 @@
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-023b1a7aa5e9c70c.js"
+      src="/_next/static/chunks/main-49c6c2f4360d375c.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-b9787d582c30d45b.js"
+      src="/_next/static/chunks/pages/_app-d940e48718ce3bec.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/withRouter-4bec812943e988d1.js"
+      src="/_next/static/chunks/pages/withRouter-36009d7a2260315e.js"
       defer=""
     ></script>
     <script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>

Please sign in to comment.