Skip to content

Commit

Permalink
fix(next): bind new stream functions with base incomingMessage object (
Browse files Browse the repository at this point in the history
…#37806)

Closes: #37805

## Bug

- [x] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have helpful link attached, see `contributing.md`


Co-authored-by: JJ Kasper <[email protected]>
  • Loading branch information
AliYusuf95 and ijjk authored Jun 27, 2022
1 parent 7e3355d commit d7e8370
Show file tree
Hide file tree
Showing 5 changed files with 99 additions and 1 deletion.
2 changes: 1 addition & 1 deletion packages/next/server/body-streams.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ function replaceRequestBody<T extends IncomingMessage>(
for (const key in stream) {
let v = stream[key as keyof Readable] as any
if (typeof v === 'function') {
v = v.bind(stream)
v = v.bind(base)
}
base[key as keyof T] = v
}
Expand Down
5 changes: 5 additions & 0 deletions test/e2e/proxy-request-with-middleware/app/middleware.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import { NextResponse } from 'next/server'

export async function middleware() {
return NextResponse.next()
}
28 changes: 28 additions & 0 deletions test/e2e/proxy-request-with-middleware/app/pages/api/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import request from 'request'

export const config = {
api: {
bodyParser: false,
},
}

export default function handler(req, res) {
return req
.pipe(
request(
`http://${
// node v18 resolves to IPv6 by default so force IPv4
process.version.startsWith('v18.')
? `127.0.0.1:${req.headers.host.split(':').pop() || ''}`
: req.headers.host
}${req.url}/post`,
{
followAllRedirects: false,
followRedirect: false,
gzip: true,
json: false,
}
)
)
.pipe(res)
}
12 changes: 12 additions & 0 deletions test/e2e/proxy-request-with-middleware/app/pages/api/post.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
export const config = {
api: {
bodyParser: false,
},
}

export default function handler(req, res) {
return res.json({
method: req.method,
headers: req.headers,
})
}
53 changes: 53 additions & 0 deletions test/e2e/proxy-request-with-middleware/test/index.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/* eslint-env jest */

import { join } from 'path'
import { fetchViaHTTP } from 'next-test-utils'
import { NextInstance } from 'test/lib/next-modes/base'
import { createNext, FileRef } from 'e2e-utils'

describe('Requests not effected when middleware used', () => {
let next: NextInstance

afterAll(() => next.destroy())
beforeAll(async () => {
next = await createNext({
files: {
pages: new FileRef(join(__dirname, '../app/pages')),
'middleware.js': new FileRef(join(__dirname, '../app/middleware.js')),
},
dependencies: {
request: '^2.88.2',
},
})
})

sendRequest('GET')
sendRequest('POST')

function sendRequest(method) {
const body = !['get', 'head'].includes(method.toLowerCase())
? JSON.stringify({
key: 'value',
})
: undefined
it(`should proxy ${method} request ${
body ? 'with body' : ''
}`, async () => {
const headers = {
'content-type': 'application/json',
'x-custom-header': 'some value',
}
const res = await fetchViaHTTP(next.url, `api`, '', {
method: method.toUpperCase(),
headers,
body: method.toLowerCase() !== 'get' ? body : undefined,
})
const data = await res.json()
expect(data.method).toEqual(method)
if (body) {
expect(data.headers['content-length']).toEqual(String(body.length))
}
expect(data.headers).toEqual(expect.objectContaining(headers))
})
}
})

1 comment on commit d7e8370

@ijjk
Copy link
Member

@ijjk ijjk commented on d7e8370 Jun 27, 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 decrease ✓
vercel/next.js canary v12.1.6 vercel/next.js refs/heads/canary Change
buildDuration 15.8s 17s ⚠️ +1.1s
buildDurationCached 6.6s 7s ⚠️ +480ms
nodeModulesSize 273 MB 259 MB -13.8 MB
Page Load Tests Overall decrease ⚠️
vercel/next.js canary v12.1.6 vercel/next.js refs/heads/canary Change
/ failed reqs 0 0
/ total time (seconds) 3.729 4.825 ⚠️ +1.1
/ avg req/sec 670.45 518.12 ⚠️ -152.33
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.403 2.204 ⚠️ +0.8
/error-in-render avg req/sec 1782.23 1134.26 ⚠️ -647.97
Client Bundles (main, webpack) Overall increase ⚠️
vercel/next.js canary v12.1.6 vercel/next.js refs/heads/canary Change
437.HASH.js gzip 179 B 180 B ⚠️ +1 B
framework-HASH.js gzip 42 kB 42 kB
main-HASH.js gzip 28.9 kB 30.7 kB ⚠️ +1.88 kB
webpack-HASH.js gzip 1.44 kB 1.54 kB ⚠️ +97 B
Overall change 72.5 kB 74.5 kB ⚠️ +1.98 kB
Legacy Client Bundles (polyfills) Overall increase ⚠️
vercel/next.js canary v12.1.6 vercel/next.js refs/heads/canary Change
polyfills-HASH.js gzip 31 kB 31 kB ⚠️ +25 B
Overall change 31 kB 31 kB ⚠️ +25 B
Client Pages Overall decrease ✓
vercel/next.js canary v12.1.6 vercel/next.js refs/heads/canary Change
_app-HASH.js gzip 1.36 kB 824 B -541 B
_error-HASH.js gzip 194 B 194 B
amp-HASH.js gzip 309 B 498 B ⚠️ +189 B
css-HASH.js gzip 328 B 328 B
dynamic-HASH.js gzip 3.18 kB 2.4 kB -780 B
head-HASH.js gzip 359 B 353 B -6 B
hooks-HASH.js gzip 920 B 804 B -116 B
image-HASH.js gzip 5.71 kB 5.16 kB -550 B
index-HASH.js gzip 263 B 263 B
link-HASH.js gzip 2.64 kB 2.34 kB -303 B
routerDirect..HASH.js gzip 322 B 320 B -2 B
script-HASH.js gzip 392 B 392 B
withRouter-HASH.js gzip 320 B 319 B -1 B
85e02e95b279..7e3.css gzip 107 B 107 B
Overall change 16.4 kB 14.3 kB -2.11 kB
Client Build Manifests Overall increase ⚠️
vercel/next.js canary v12.1.6 vercel/next.js refs/heads/canary Change
_buildManifest.js gzip 457 B 459 B ⚠️ +2 B
Overall change 457 B 459 B ⚠️ +2 B
Rendered Page Sizes Overall decrease ✓
vercel/next.js canary v12.1.6 vercel/next.js refs/heads/canary Change
index.html gzip 531 B 523 B -8 B
link.html gzip 543 B 538 B -5 B
withRouter.html gzip 525 B 517 B -8 B
Overall change 1.6 kB 1.58 kB -21 B
Middleware size Overall increase ⚠️
vercel/next.js canary v12.1.6 vercel/next.js refs/heads/canary Change
middleware-m..st.json gzip 79 B 185 B ⚠️ +106 B
middleware.js gzip N/A 16.9 kB N/A
edge-runtime..pack.js gzip N/A 1.79 kB N/A
Overall change 79 B 18.8 kB ⚠️ +18.8 kB

Diffs

Diff for edge-runtime-webpack.js
@@ -0,0 +1,252 @@
+/******/ (() => {
+  // webpackBootstrap
+  /******/ "use strict";
+  /******/ var __webpack_modules__ = {}; // The module cache
+  /************************************************************************/
+  /******/ /******/ var __webpack_module_cache__ = {}; // The require function
+  /******/
+
+  /******/ /******/ function __webpack_require__(moduleId) {
+    /******/ // Check if module is in cache
+    /******/ var cachedModule = __webpack_module_cache__[moduleId];
+    /******/ if (cachedModule !== undefined) {
+      /******/ return cachedModule.exports;
+      /******/
+    } // Create a new module (and put it into the cache)
+    /******/ /******/ var module = (__webpack_module_cache__[moduleId] = {
+      /******/ // no module.id needed
+      /******/ // no module.loaded needed
+      /******/ exports: {}
+      /******/
+    }); // Execute the module function
+    /******/
+
+    /******/ /******/ var threw = true;
+    /******/ try {
+      /******/ __webpack_modules__[moduleId](
+        module,
+        module.exports,
+        __webpack_require__
+      );
+      /******/ threw = false;
+      /******/
+    } finally {
+      /******/ if (threw) delete __webpack_module_cache__[moduleId];
+      /******/
+    } // Return the exports of the module
+    /******/
+
+    /******/ /******/ return module.exports;
+    /******/
+  } // expose the modules object (__webpack_modules__)
+  /******/
+
+  /******/ /******/ __webpack_require__.m = __webpack_modules__; /* webpack/runtime/chunk loaded */
+  /******/
+
+  /************************************************************************/
+  /******/ /******/ (() => {
+    /******/ var deferred = [];
+    /******/ __webpack_require__.O = (result, chunkIds, fn, priority) => {
+      /******/ if (chunkIds) {
+        /******/ priority = priority || 0;
+        /******/ for (
+          var i = deferred.length;
+          i > 0 && deferred[i - 1][2] > priority;
+          i--
+        )
+          deferred[i] = deferred[i - 1];
+        /******/ deferred[i] = [chunkIds, fn, priority];
+        /******/ return;
+        /******/
+      }
+      /******/ var notFulfilled = Infinity;
+      /******/ for (var i = 0; i < deferred.length; i++) {
+        /******/ var [chunkIds, fn, priority] = deferred[i];
+        /******/ var fulfilled = true;
+        /******/ for (var j = 0; j < chunkIds.length; j++) {
+          /******/ if (
+            (priority & (1 === 0) || notFulfilled >= priority) &&
+            Object.keys(__webpack_require__.O).every(key =>
+              __webpack_require__.O[key](chunkIds[j])
+            )
+          ) {
+            /******/ chunkIds.splice(j--, 1);
+            /******/
+          } else {
+            /******/ fulfilled = false;
+            /******/ if (priority < notFulfilled) notFulfilled = priority;
+            /******/
+          }
+          /******/
+        }
+        /******/ if (fulfilled) {
+          /******/ deferred.splice(i--, 1);
+          /******/ var r = fn();
+          /******/ if (r !== undefined) result = r;
+          /******/
+        }
+        /******/
+      }
+      /******/ return result;
+      /******/
+    };
+    /******/
+  })(); /* webpack/runtime/compat get default export */
+  /******/
+
+  /******/ /******/ (() => {
+    /******/ // getDefaultExport function for compatibility with non-harmony modules
+    /******/ __webpack_require__.n = module => {
+      /******/ var getter =
+        module && module.__esModule
+          ? /******/ () => module["default"]
+          : /******/ () => module;
+      /******/ __webpack_require__.d(getter, { a: getter });
+      /******/ return getter;
+      /******/
+    };
+    /******/
+  })(); /* webpack/runtime/define property getters */
+  /******/
+
+  /******/ /******/ (() => {
+    /******/ // define getter functions for harmony exports
+    /******/ __webpack_require__.d = (exports, definition) => {
+      /******/ for (var key in definition) {
+        /******/ if (
+          __webpack_require__.o(definition, key) &&
+          !__webpack_require__.o(exports, key)
+        ) {
+          /******/ Object.defineProperty(exports, key, {
+            enumerable: true,
+            get: definition[key]
+          });
+          /******/
+        }
+        /******/
+      }
+      /******/
+    };
+    /******/
+  })(); /* webpack/runtime/global */
+  /******/
+
+  /******/ /******/ (() => {
+    /******/ __webpack_require__.g = (function() {
+      /******/ if (typeof globalThis === "object") return globalThis;
+      /******/ try {
+        /******/ return this || new Function("return this")();
+        /******/
+      } catch (e) {
+        /******/ if (typeof window === "object") return window;
+        /******/
+      }
+      /******/
+    })();
+    /******/
+  })(); /* webpack/runtime/hasOwnProperty shorthand */
+  /******/
+
+  /******/ /******/ (() => {
+    /******/ __webpack_require__.o = (obj, prop) =>
+      Object.prototype.hasOwnProperty.call(obj, prop);
+    /******/
+  })(); /* webpack/runtime/make namespace object */
+  /******/
+
+  /******/ /******/ (() => {
+    /******/ // define __esModule on exports
+    /******/ __webpack_require__.r = exports => {
+      /******/ if (typeof Symbol !== "undefined" && Symbol.toStringTag) {
+        /******/ Object.defineProperty(exports, Symbol.toStringTag, {
+          value: "Module"
+        });
+        /******/
+      }
+      /******/ Object.defineProperty(exports, "__esModule", { value: true });
+      /******/
+    };
+    /******/
+  })(); /* webpack/runtime/jsonp chunk loading */
+  /******/
+
+  /******/ /******/ (() => {
+    /******/ // no baseURI
+    /******/
+
+    /******/ // object to store loaded and loading chunks
+    /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
+    /******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded
+    /******/ var installedChunks = {
+      /******/ 993: 0
+      /******/
+    }; // no chunk on demand loading // no prefetching // no preloaded // no HMR // no HMR manifest
+    /******/
+
+    /******/ /******/
+
+    /******/ /******/
+
+    /******/ /******/
+
+    /******/ /******/
+
+    /******/ /******/
+
+    /******/ __webpack_require__.O.j = chunkId =>
+      installedChunks[chunkId] === 0; // install a JSONP callback for chunk loading
+    /******/
+
+    /******/ /******/ var webpackJsonpCallback = (
+      parentChunkLoadingFunction,
+      data
+    ) => {
+      /******/ var [chunkIds, moreModules, runtime] = data; // add "moreModules" to the modules object, // then flag all "chunkIds" as loaded and fire callback
+      /******/ /******/ /******/ var moduleId,
+        chunkId,
+        i = 0;
+      /******/ if (chunkIds.some(id => installedChunks[id] !== 0)) {
+        /******/ for (moduleId in moreModules) {
+          /******/ if (__webpack_require__.o(moreModules, moduleId)) {
+            /******/ __webpack_require__.m[moduleId] = moreModules[moduleId];
+            /******/
+          }
+          /******/
+        }
+        /******/ if (runtime) var result = runtime(__webpack_require__);
+        /******/
+      }
+      /******/ if (parentChunkLoadingFunction) parentChunkLoadingFunction(data);
+      /******/ for (; i < chunkIds.length; i++) {
+        /******/ chunkId = chunkIds[i];
+        /******/ if (
+          __webpack_require__.o(installedChunks, chunkId) &&
+          installedChunks[chunkId]
+        ) {
+          /******/ installedChunks[chunkId][0]();
+          /******/
+        }
+        /******/ installedChunks[chunkId] = 0;
+        /******/
+      }
+      /******/ return __webpack_require__.O(result);
+      /******/
+    };
+    /******/
+
+    /******/ var chunkLoadingGlobal = (self["webpackChunk_N_E"] =
+      self["webpackChunk_N_E"] || []);
+    /******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));
+    /******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(
+      null,
+      chunkLoadingGlobal.push.bind(chunkLoadingGlobal)
+    );
+    /******/
+  })();
+  /******/
+  /************************************************************************/
+  /******/
+  /******/
+  /******/
+})();
Diff for middleware-manifest.json
@@ -1,6 +1,15 @@
 {
-  "sortedMiddleware": [],
-  "clientInfo": [],
-  "middleware": {},
+  "sortedMiddleware": ["/"],
+  "middleware": {
+    "/": {
+      "env": [],
+      "files": ["server/edge-runtime-webpack.js", "server/middleware.js"],
+      "name": "middleware",
+      "page": "/",
+      "regexp": "^/.*$",
+      "wasm": []
+    }
+  },
+  "functions": {},
   "version": 1
 }
Diff for middleware.js

Diff too large to display

Diff for _buildManifest.js
@@ -1,25 +1,25 @@
 self.__BUILD_MANIFEST = {
   __rewrites: { beforeFiles: [], afterFiles: [], fallback: [] },
-  "/": ["static\u002Fchunks\u002Fpages\u002Findex-5d085461d4b7e1ee.js"],
-  "/_error": ["static\u002Fchunks\u002Fpages\u002F_error-48e41d26ff0101f8.js"],
-  "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-a67fe6de8bb61a7a.js"],
+  "/": ["static\u002Fchunks\u002Fpages\u002Findex-1ecb7a225a122304.js"],
+  "/_error": ["static\u002Fchunks\u002Fpages\u002F_error-7c674188292aca70.js"],
+  "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-abb2ab71d4fb2340.js"],
   "/css": [
     "static\u002Fcss\u002F94fdbc56eafa2039.css",
-    "static\u002Fchunks\u002Fpages\u002Fcss-6d59dba2fd31bfed.js"
+    "static\u002Fchunks\u002Fpages\u002Fcss-100e45427e857c65.js"
   ],
   "/dynamic": [
-    "static\u002Fchunks\u002Fpages\u002Fdynamic-642d5994299c0d45.js"
+    "static\u002Fchunks\u002Fpages\u002Fdynamic-7470a3870d481122.js"
   ],
-  "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-6ece0649d14938b8.js"],
-  "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-e3382ebb932b5bfb.js"],
-  "/image": ["static\u002Fchunks\u002Fpages\u002Fimage-1cc7e37555d1cef6.js"],
-  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-5cbe1349380d92ee.js"],
+  "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-d456b89ea2e58ccb.js"],
+  "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-05db224a0b1fb76a.js"],
+  "/image": ["static\u002Fchunks\u002Fpages\u002Fimage-e7374cd102a2a084.js"],
+  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-3a3db92194a522ff.js"],
   "/routerDirect": [
-    "static\u002Fchunks\u002Fpages\u002FrouterDirect-9669d5861da5e10b.js"
+    "static\u002Fchunks\u002Fpages\u002FrouterDirect-8a036a4ae9e5d6ed.js"
   ],
-  "/script": ["static\u002Fchunks\u002Fpages\u002Fscript-c439c95569fb9033.js"],
+  "/script": ["static\u002Fchunks\u002Fpages\u002Fscript-d318755acc6c0b22.js"],
   "/withRouter": [
-    "static\u002Fchunks\u002Fpages\u002FwithRouter-8b03818d0ed540a0.js"
+    "static\u002Fchunks\u002Fpages\u002FwithRouter-dee19dca16003991.js"
   ],
   sortedPages: [
     "\u002F",
Diff for _app-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [888],
   {
-    /***/ 3479: /***/ function(
+    /***/ 122: /***/ 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__(3653);
+          return __webpack_require__(777);
         }
       ]);
       if (false) {
@@ -18,124 +18,20 @@
       /***/
     },
 
-    /***/ 3653: /***/ function(
+    /***/ 777: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
     ) {
       "use strict";
 
-      var _runtimeJs = _interopRequireDefault(__webpack_require__(739));
-      function _assertThisInitialized(self) {
-        if (self === void 0) {
-          throw new ReferenceError(
-            "this hasn't been initialised - super() hasn't been called"
-          );
-        }
-        return self;
-      }
-      function _classCallCheck(instance, Constructor) {
-        if (!(instance instanceof Constructor)) {
-          throw new TypeError("Cannot call a class as a function");
-        }
-      }
-      function _defineProperties(target, props) {
-        for (var i = 0; i < props.length; i++) {
-          var descriptor = props[i];
-          descriptor.enumerable = descriptor.enumerable || false;
-          descriptor.configurable = true;
-          if ("value" in descriptor) descriptor.writable = true;
-          Object.defineProperty(target, descriptor.key, descriptor);
-        }
-      }
-      function _createClass(Constructor, protoProps, staticProps) {
-        if (protoProps) _defineProperties(Constructor.prototype, protoProps);
-        if (staticProps) _defineProperties(Constructor, staticProps);
-        return Constructor;
-      }
-      function _getPrototypeOf(o) {
-        _getPrototypeOf = Object.setPrototypeOf
-          ? Object.getPrototypeOf
-          : function _getPrototypeOf(o) {
-              return o.__proto__ || Object.getPrototypeOf(o);
-            };
-        return _getPrototypeOf(o);
-      }
-      function _inherits(subClass, superClass) {
-        if (typeof superClass !== "function" && superClass !== null) {
-          throw new TypeError(
-            "Super expression must either be null or a function"
-          );
-        }
-        subClass.prototype = Object.create(superClass && superClass.prototype, {
-          constructor: {
-            value: subClass,
-            writable: true,
-            configurable: true
-          }
-        });
-        if (superClass) _setPrototypeOf(subClass, superClass);
-      }
-      function _interopRequireDefault(obj) {
-        return obj && obj.__esModule
-          ? obj
-          : {
-              default: obj
-            };
-      }
-      function _possibleConstructorReturn(self, call) {
-        if (
-          call &&
-          (_typeof(call) === "object" || typeof call === "function")
-        ) {
-          return call;
-        }
-        return _assertThisInitialized(self);
-      }
-      function _setPrototypeOf(o, p) {
-        _setPrototypeOf =
-          Object.setPrototypeOf ||
-          function _setPrototypeOf(o, p) {
-            o.__proto__ = p;
-            return o;
-          };
-        return _setPrototypeOf(o, p);
-      }
-      var _typeof = function(obj) {
-        "@swc/helpers - typeof";
-        return obj &&
-          typeof Symbol !== "undefined" &&
-          obj.constructor === Symbol
-          ? "symbol"
-          : typeof obj;
-      };
-      function _isNativeReflectConstruct() {
-        if (typeof Reflect === "undefined" || !Reflect.construct) return false;
-        if (Reflect.construct.sham) return false;
-        if (typeof Proxy === "function") return true;
-        try {
-          Boolean.prototype.valueOf.call(
-            Reflect.construct(Boolean, [], function() {})
-          );
-          return true;
-        } catch (e) {
-          return false;
-        }
-      }
-      function _createSuper(Derived) {
-        var hasNativeReflectConstruct = _isNativeReflectConstruct();
-        return function _createSuperInternal() {
-          var Super = _getPrototypeOf(Derived),
-            result;
-          if (hasNativeReflectConstruct) {
-            var NewTarget = _getPrototypeOf(this).constructor;
-            result = Reflect.construct(Super, arguments, NewTarget);
-          } else {
-            result = Super.apply(this, arguments);
-          }
-          return _possibleConstructorReturn(this, result);
-        };
-      }
+      var _class_call_check = __webpack_require__(105) /* ["default"] */.Z;
+      var _create_class = __webpack_require__(3031) /* ["default"] */.Z;
+      var _inherits = __webpack_require__(6461) /* ["default"] */.Z;
+      var _interop_require_default = __webpack_require__(6993) /* ["default"] */
+        .Z;
+      var _create_super = __webpack_require__(7615) /* ["default"] */.Z;
+      var _runtimeJs = _interop_require_default(__webpack_require__(3994));
       Object.defineProperty(exports, "__esModule", {
         value: true
       });
@@ -152,8 +48,8 @@
         }
       });
       exports["default"] = void 0;
-      var _react = _interopRequireDefault1(__webpack_require__(9496));
-      var _utils = __webpack_require__(8030);
+      var _react = _interopRequireDefault(__webpack_require__(9496));
+      var _utils = __webpack_require__(6326);
       function asyncGeneratorStep(
         gen,
         resolve,
@@ -208,7 +104,7 @@
           });
         };
       }
-      function _interopRequireDefault1(obj) {
+      function _interopRequireDefault(obj) {
         return obj && obj.__esModule
           ? obj
           : {
@@ -246,14 +142,15 @@
         );
         return _appGetInitialProps.apply(this, arguments);
       }
-      var App = /*#__PURE__*/ (function(_Component) {
-        _inherits(App, _Component);
-        var _super = _createSuper(App);
+      var _Component;
+      var App = /*#__PURE__*/ (function(_superClass) {
+        _inherits(App, _superClass);
+        var _super = _create_super(App);
         function App() {
-          _classCallCheck(this, App);
+          _class_call_check(this, App);
           return _super.apply(this, arguments);
         }
-        _createClass(App, [
+        _create_class(App, [
           {
             key: "render",
             value: function render() {
@@ -268,10 +165,10 @@
           }
         ]);
         return App;
-      })(_react.default.Component);
-      exports["default"] = App;
+      })((_Component = _react.default.Component));
       App.origGetInitialProps = appGetInitialProps;
-      App.getInitialProps = appGetInitialProps; //# sourceMappingURL=_app.js.map
+      App.getInitialProps = appGetInitialProps;
+      exports["default"] = App; //# sourceMappingURL=_app.js.map
 
       /***/
     }
@@ -282,7 +179,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 179], function() {
-      return __webpack_exec__(3479), __webpack_exec__(7465);
+      return __webpack_exec__(122), __webpack_exec__(7489);
     });
     /******/ 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],
   {
-    /***/ 2929: /***/ function(
+    /***/ 3560: /***/ 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__(5590);
+          return __webpack_require__(2509);
         }
       ]);
       if (false) {
@@ -24,7 +24,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [888, 774, 179], function() {
-      return __webpack_exec__(2929);
+      return __webpack_exec__(3560);
     });
     /******/ 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],
   {
-    /***/ 94: /***/ function(
+    /***/ 7941: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(4634);
+      module.exports = __webpack_require__(6824);
 
       /***/
     },
 
-    /***/ 9028: /***/ function(
+    /***/ 8958: /***/ 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__(4628);
+          return __webpack_require__(9302);
         }
       ]);
       if (false) {
@@ -28,7 +28,45 @@
       /***/
     },
 
-    /***/ 4628: /***/ function(
+    /***/ 6824: /***/ function(module, exports, __webpack_require__) {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
+      exports.useAmp = useAmp;
+      var _react = _interopRequireDefault(__webpack_require__(9496));
+      var _ampContext = __webpack_require__(5789);
+      var _ampMode = __webpack_require__(9208);
+      function _interopRequireDefault(obj) {
+        return obj && obj.__esModule
+          ? obj
+          : {
+              default: obj
+            };
+      }
+      function useAmp() {
+        // Don't assign the context value to a variable to save bytes
+        return (0, _ampMode).isInAmpMode(
+          _react.default.useContext(_ampContext.AmpStateContext)
+        );
+      }
+      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=amp.js.map
+
+      /***/
+    },
+
+    /***/ 9302: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -45,7 +83,7 @@
         /* harmony export */
       });
       /* harmony import */ var next_amp__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
-        94
+        7941
       );
       /* harmony import */ var next_amp__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/ __webpack_require__.n(
         next_amp__WEBPACK_IMPORTED_MODULE_0__
@@ -69,7 +107,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [888, 774, 179], function() {
-      return __webpack_exec__(9028);
+      return __webpack_exec__(8958);
     });
     /******/ 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],
   {
-    /***/ 8281: /***/ function(
+    /***/ 9557: /***/ 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__(1949);
+          return __webpack_require__(79);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 1949: /***/ function(
+    /***/ 79: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -29,7 +29,7 @@
         4637
       );
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        1099
+        2054
       );
       /* 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 @@
       /***/
     },
 
-    /***/ 1099: /***/ function(module) {
+    /***/ 2054: /***/ 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__(8281);
+      return __webpack_exec__(9557);
     });
     /******/ 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],
   {
-    /***/ 2744: /***/ function(
+    /***/ 5695: /***/ 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__(1697);
+          return __webpack_require__(9525);
         }
       ]);
       if (false) {
@@ -18,57 +18,18 @@
       /***/
     },
 
-    /***/ 1926: /***/ function(module, exports, __webpack_require__) {
+    /***/ 6014: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
-      function _defineProperty(obj, key, value) {
-        if (key in obj) {
-          Object.defineProperty(obj, key, {
-            value: value,
-            enumerable: true,
-            configurable: true,
-            writable: true
-          });
-        } else {
-          obj[key] = value;
-        }
-        return obj;
-      }
-      function _instanceof(left, right) {
-        if (
-          right != null &&
-          typeof Symbol !== "undefined" &&
-          right[Symbol.hasInstance]
-        ) {
-          return !!right[Symbol.hasInstance](left);
-        } else {
-          return left instanceof right;
-        }
-      }
-      function _objectSpread(target) {
-        for (var i = 1; i < arguments.length; i++) {
-          var source = arguments[i] != null ? arguments[i] : {};
-          var ownKeys = Object.keys(source);
-          if (typeof Object.getOwnPropertySymbols === "function") {
-            ownKeys = ownKeys.concat(
-              Object.getOwnPropertySymbols(source).filter(function(sym) {
-                return Object.getOwnPropertyDescriptor(source, sym).enumerable;
-              })
-            );
-          }
-          ownKeys.forEach(function(key) {
-            _defineProperty(target, key, source[key]);
-          });
-        }
-        return target;
-      }
+      var _instanceof = __webpack_require__(186) /* ["default"] */.Z;
+      var _object_spread = __webpack_require__(7353) /* ["default"] */.Z;
       Object.defineProperty(exports, "__esModule", {
         value: true
       });
       exports["default"] = dynamic;
       exports.noSSR = noSSR;
       var _react = _interopRequireDefault(__webpack_require__(9496));
-      var _loadable = _interopRequireDefault(__webpack_require__(4596));
+      var _loadable = _interopRequireDefault(__webpack_require__(7679));
       function dynamic(dynamicOptions, options) {
         var loadableFn = _loadable.default;
         var loadableOptions = {
@@ -96,31 +57,31 @@
           loadableOptions.loader = dynamicOptions;
           // Support for having first argument being options, eg: dynamic({loader: import('../hello-world')})
         } else if (typeof dynamicOptions === "object") {
-          loadableOptions = _objectSpread({}, loadableOptions, dynamicOptions);
+          loadableOptions = _object_spread({}, loadableOptions, dynamicOptions);
         }
         // Support for passing options, eg: dynamic(import('../hello-world'), {loading: () => <p>Loading something</p>})
-        loadableOptions = _objectSpread({}, loadableOptions, options);
-        var suspenseOptions = loadableOptions;
+        loadableOptions = _object_spread({}, loadableOptions, options);
         // Error if Fizz rendering is not enabled and `suspense` option is set to true
-        if (true && suspenseOptions.suspense) {
+        if (true && loadableOptions.suspense) {
           throw new Error(
             "Invalid suspense option usage in next/dynamic. Read more: https://nextjs.org/docs/messages/invalid-dynamic-suspense"
           );
         }
-        if (suspenseOptions.suspense) {
-          return loadableFn(suspenseOptions);
-        }
         // coming from build/babel/plugins/react-loadable-plugin.js
         if (loadableOptions.loadableGenerated) {
-          loadableOptions = _objectSpread(
+          loadableOptions = _object_spread(
             {},
             loadableOptions,
             loadableOptions.loadableGenerated
           );
           delete loadableOptions.loadableGenerated;
         }
-        // support for disabling server side rendering, eg: dynamic(import('../hello-world'), {ssr: false})
-        if (typeof loadableOptions.ssr === "boolean") {
+        // support for disabling server side rendering, eg: dynamic(import('../hello-world'), {ssr: false}).
+        // skip `ssr` for suspense mode and opt-in React.lazy directly
+        if (
+          typeof loadableOptions.ssr === "boolean" &&
+          !loadableOptions.suspense
+        ) {
           if (!loadableOptions.ssr) {
             delete loadableOptions.ssr;
             return noSSR(loadableFn, loadableOptions);
@@ -157,9 +118,13 @@
         };
       }
       if (
-        typeof exports.default === "function" ||
-        (typeof exports.default === "object" && exports.default !== null)
+        (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=dynamic.js.map
@@ -167,7 +132,7 @@
       /***/
     },
 
-    /***/ 7063: /***/ function(
+    /***/ 8416: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -194,100 +159,23 @@
       /***/
     },
 
-    /***/ 4596: /***/ function(
+    /***/ 7679: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
     ) {
       "use strict";
 
-      function _classCallCheck(instance, Constructor) {
-        if (!(instance instanceof Constructor)) {
-          throw new TypeError("Cannot call a class as a function");
-        }
-      }
-      function _defineProperties(target, props) {
-        for (var i = 0; i < props.length; i++) {
-          var descriptor = props[i];
-          descriptor.enumerable = descriptor.enumerable || false;
-          descriptor.configurable = true;
-          if ("value" in descriptor) descriptor.writable = true;
-          Object.defineProperty(target, descriptor.key, descriptor);
-        }
-      }
-      function _createClass(Constructor, protoProps, staticProps) {
-        if (protoProps) _defineProperties(Constructor.prototype, protoProps);
-        if (staticProps) _defineProperties(Constructor, staticProps);
-        return Constructor;
-      }
-      function _defineProperty(obj, key, value) {
-        if (key in obj) {
-          Object.defineProperty(obj, key, {
-            value: value,
-            enumerable: true,
-            configurable: true,
-            writable: true
-          });
-        } else {
-          obj[key] = value;
-        }
-        return obj;
-      }
-      function _objectSpread(target) {
-        for (var i = 1; i < arguments.length; i++) {
-          var source = arguments[i] != null ? arguments[i] : {};
-          var ownKeys = Object.keys(source);
-          if (typeof Object.getOwnPropertySymbols === "function") {
-            ownKeys = ownKeys.concat(
-              Object.getOwnPropertySymbols(source).filter(function(sym) {
-                return Object.getOwnPropertyDescriptor(source, sym).enumerable;
-              })
-            );
-          }
-          ownKeys.forEach(function(key) {
-            _defineProperty(target, key, source[key]);
-          });
-        }
-        return target;
-      }
-      function ownKeys(object, enumerableOnly) {
-        var keys = Object.keys(object);
-        if (Object.getOwnPropertySymbols) {
-          var symbols = Object.getOwnPropertySymbols(object);
-          if (enumerableOnly) {
-            symbols = symbols.filter(function(sym) {
-              return Object.getOwnPropertyDescriptor(object, sym).enumerable;
-            });
-          }
-          keys.push.apply(keys, symbols);
-        }
-        return keys;
-      }
-      function _objectSpreadProps(target, source) {
-        source = source != null ? source : {};
-        if (Object.getOwnPropertyDescriptors) {
-          Object.defineProperties(
-            target,
-            Object.getOwnPropertyDescriptors(source)
-          );
-        } else {
-          ownKeys(Object(source)).forEach(function(key) {
-            Object.defineProperty(
-              target,
-              key,
-              Object.getOwnPropertyDescriptor(source, key)
-            );
-          });
-        }
-        return target;
-      }
+      var _class_call_check = __webpack_require__(105) /* ["default"] */.Z;
+      var _create_class = __webpack_require__(3031) /* ["default"] */.Z;
+      var _object_spread = __webpack_require__(7353) /* ["default"] */.Z;
+      var _object_spread_props = __webpack_require__(2218) /* ["default"] */.Z;
       Object.defineProperty(exports, "__esModule", {
         value: true
       });
       exports["default"] = void 0;
       var _react = _interopRequireDefault(__webpack_require__(9496));
-      var _useSubscription = __webpack_require__(1181);
-      var _loadableContext = __webpack_require__(7063);
+      var _loadableContext = __webpack_require__(8416);
       function _interopRequireDefault(obj) {
         return obj && obj.__esModule
           ? obj
@@ -295,6 +183,8 @@
               default: obj
             };
       }
+      var useSyncExternalStore = (false ? 0 : __webpack_require__(9155))
+        .useSyncExternalStore;
       var ALL_INITIALIZERS = [];
       var READY_INITIALIZERS = [];
       var initialized = false;
@@ -334,12 +224,24 @@
           }
           return subscription.promise();
         };
-        var LoadableImpl = function LoadableImpl(props, ref) {
+        var useLoadableModule = function useLoadableModule() {
           init();
           var context = _react.default.useContext(
             _loadableContext.LoadableContext
           );
-          var state = (0, _useSubscription).useSubscription(subscription);
+          if (context && Array.isArray(opts.modules)) {
+            opts.modules.forEach(function(moduleName) {
+              context(moduleName);
+            });
+          }
+        };
+        var LoadableImpl = function LoadableImpl(props, ref) {
+          useLoadableModule();
+          var state = useSyncExternalStore(
+            subscription.subscribe,
+            subscription.getCurrentValue,
+            subscription.getCurrentValue
+          );
           _react.default.useImperativeHandle(
             ref,
             function() {
@@ -349,11 +251,6 @@
             },
             []
           );
-          if (context && Array.isArray(opts.modules)) {
-            opts.modules.forEach(function(moduleName) {
-              context(moduleName);
-            });
-          }
           return _react.default.useMemo(
             function() {
               if (state.loading || state.error) {
@@ -377,9 +274,10 @@
           );
         };
         var LazyImpl = function LazyImpl(props, ref) {
+          useLoadableModule();
           return _react.default.createElement(
             opts.lazy,
-            _objectSpreadProps(_objectSpread({}, props), {
+            _object_spread_props(_object_spread({}, props), {
               ref: ref
             })
           );
@@ -399,12 +297,12 @@
         if (opts.suspense) {
           opts.lazy = _react.default.lazy(opts.loader);
         }
-        var subscription = null;
+        /** @type LoadableSubscription */ var subscription = null;
         // Server only
         if (false) {
         }
         // Client only
-        if (!initialized && "object" !== "undefined" && !opts.suspense) {
+        if (!initialized && "object" !== "undefined") {
           // require.resolveWeak check is needed for environments that don't have it available like Jest
           var moduleIds =
             opts.webpack && "function" === "function"
@@ -446,14 +344,14 @@
         }
         var LoadableComponent = opts.suspense ? LazyImpl : LoadableImpl;
         LoadableComponent.preload = function() {
-          return !opts.suspense && init();
+          return init();
         };
         LoadableComponent.displayName = "LoadableComponent";
         return _react.default.forwardRef(LoadableComponent);
       }
       var LoadableSubscription = /*#__PURE__*/ (function() {
         function LoadableSubscription(loadFn, opts) {
-          _classCallCheck(this, LoadableSubscription);
+          _class_call_check(this, LoadableSubscription);
           this._loadFn = loadFn;
           this._opts = opts;
           this._callbacks = new Set();
@@ -461,7 +359,7 @@
           this._timeout = null;
           this.retry();
         }
-        _createClass(LoadableSubscription, [
+        _create_class(LoadableSubscription, [
           {
             key: "promise",
             value: function promise() {
@@ -518,8 +416,8 @@
           {
             key: "_update",
             value: function _update(partial) {
-              this._state = _objectSpread(
-                _objectSpreadProps(_objectSpread({}, this._state), {
+              this._state = _object_spread(
+                _object_spread_props(_object_spread({}, this._state), {
                   error: this._res.error,
                   loaded: this._res.loaded,
                   loading: this._res.loading
@@ -598,7 +496,7 @@
       /***/
     },
 
-    /***/ 1697: /***/ function(
+    /***/ 9525: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -615,7 +513,7 @@
         4637
       );
       /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        1605
+        2123
       );
       /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         next_dynamic__WEBPACK_IMPORTED_MODULE_1__
@@ -624,13 +522,13 @@
       var DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
         function() {
           return __webpack_require__
-            .e(/* import() */ 437)
-            .then(__webpack_require__.bind(__webpack_require__, 7437));
+            .e(/* import() */ 128)
+            .then(__webpack_require__.bind(__webpack_require__, 5128));
         },
         {
           loadableGenerated: {
             webpack: function() {
-              return [/*require.resolve*/ 7437];
+              return [/*require.resolve*/ 5128];
             }
           }
         }
@@ -660,195 +558,103 @@
       /***/
     },
 
-    /***/ 1181: /***/ function(
+    /***/ 2123: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      var __dirname = "/";
-      (function() {
-        "use strict";
-        var e = {
-          800: function(e) {
-            /*
-object-assign
-(c) Sindre Sorhus
-@license MIT
-*/
-            var r = Object.getOwnPropertySymbols;
-            var t = Object.prototype.hasOwnProperty;
-            var u = Object.prototype.propertyIsEnumerable;
-            function toObject(e) {
-              if (e === null || e === undefined) {
-                throw new TypeError(
-                  "Object.assign cannot be called with null or undefined"
-                );
-              }
-              return Object(e);
-            }
-            function shouldUseNative() {
-              try {
-                if (!Object.assign) {
-                  return false;
-                }
-                var e = new String("abc");
-                e[5] = "de";
-                if (Object.getOwnPropertyNames(e)[0] === "5") {
-                  return false;
-                }
-                var r = {};
-                for (var t = 0; t < 10; t++) {
-                  r["_" + String.fromCharCode(t)] = t;
-                }
-                var u = Object.getOwnPropertyNames(r).map(function(e) {
-                  return r[e];
-                });
-                if (u.join("") !== "0123456789") {
-                  return false;
-                }
-                var n = {};
-                "abcdefghijklmnopqrst".split("").forEach(function(e) {
-                  n[e] = e;
-                });
-                if (
-                  Object.keys(Object.assign({}, n)).join("") !==
-                  "abcdefghijklmnopqrst"
-                ) {
-                  return false;
-                }
-                return true;
-              } catch (e) {
-                return false;
-              }
-            }
-            e.exports = shouldUseNative()
-              ? Object.assign
-              : function(e, n) {
-                  var a;
-                  var i = toObject(e);
-                  var s;
-                  for (var c = 1; c < arguments.length; c++) {
-                    a = Object(arguments[c]);
-                    for (var o in a) {
-                      if (t.call(a, o)) {
-                        i[o] = a[o];
-                      }
-                    }
-                    if (r) {
-                      s = r(a);
-                      for (var f = 0; f < s.length; f++) {
-                        if (u.call(a, s[f])) {
-                          i[s[f]] = a[s[f]];
-                        }
-                      }
-                    }
-                  }
-                  return i;
-                };
-          },
-          569: function(e, r, t) {
-            /** @license React vundefined
-             * use-subscription.development.js
-             *
-             * Copyright (c) Facebook, Inc. and its affiliates.
-             *
-             * This source code is licensed under the MIT license found in the
-             * LICENSE file in the root directory of this source tree.
-             */
-            if (false) {
-            }
-          },
-          403: function(e, r, t) {
-            /** @license React vundefined
-             * use-subscription.production.min.js
-             *
-             * Copyright (c) Facebook, Inc. and its affiliates.
-             *
-             * This source code is licensed under the MIT license found in the
-             * LICENSE file in the root directory of this source tree.
-             */
-            var u = t(800),
-              n = t(522);
-            r.useSubscription = function(e) {
-              var r = e.getCurrentValue,
-                t = e.subscribe,
-                a = n.useState(function() {
-                  return { getCurrentValue: r, subscribe: t, value: r() };
-                });
-              e = a[0];
-              var i = a[1];
-              a = e.value;
-              if (e.getCurrentValue !== r || e.subscribe !== t)
-                (a = r()), i({ getCurrentValue: r, subscribe: t, value: a });
-              n.useDebugValue(a);
-              n.useEffect(
-                function() {
-                  function b() {
-                    if (!e) {
-                      var n = r();
-                      i(function(e) {
-                        return e.getCurrentValue !== r ||
-                          e.subscribe !== t ||
-                          e.value === n
-                          ? e
-                          : u({}, e, { value: n });
-                      });
-                    }
-                  }
-                  var e = !1,
-                    n = t(b);
-                  b();
-                  return function() {
-                    e = !0;
-                    n();
-                  };
-                },
-                [r, t]
-              );
-              return a;
-            };
+      module.exports = __webpack_require__(6014);
+
+      /***/
+    },
+
+    /***/ 9364: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
+      /**
+       * @license React
+       * use-sync-external-store-shim.production.min.js
+       *
+       * Copyright (c) Facebook, Inc. and its affiliates.
+       *
+       * This source code is licensed under the MIT license found in the
+       * LICENSE file in the root directory of this source tree.
+       */
+      var e = __webpack_require__(9496);
+      function h(a, b) {
+        return (
+          (a === b && (0 !== a || 1 / a === 1 / b)) || (a !== a && b !== b)
+        );
+      }
+      var k = "function" === typeof Object.is ? Object.is : h,
+        l = e.useState,
+        m = e.useEffect,
+        n = e.useLayoutEffect,
+        p = e.useDebugValue;
+      function q(a, b) {
+        var d = b(),
+          f = l({ inst: { value: d, getSnapshot: b } }),
+          c = f[0].inst,
+          g = f[1];
+        n(
+          function() {
+            c.value = d;
+            c.getSnapshot = b;
+            r(c) && g({ inst: c });
           },
-          138: function(e, r, t) {
-            if (true) {
-              e.exports = t(403);
-            } else {
-            }
+          [a, d, b]
+        );
+        m(
+          function() {
+            r(c) && g({ inst: c });
+            return a(function() {
+              r(c) && g({ inst: c });
+            });
           },
-          522: function(e) {
-            e.exports = __webpack_require__(9496);
-          }
-        };
-        var r = {};
-        function __nccwpck_require__(t) {
-          var u = r[t];
-          if (u !== undefined) {
-            return u.exports;
-          }
-          var n = (r[t] = { exports: {} });
-          var a = true;
-          try {
-            e[t](n, n.exports, __nccwpck_require__);
-            a = false;
-          } finally {
-            if (a) delete r[t];
-          }
-          return n.exports;
+          [a]
+        );
+        p(d);
+        return d;
+      }
+      function r(a) {
+        var b = a.getSnapshot;
+        a = a.value;
+        try {
+          var d = b();
+          return !k(a, d);
+        } catch (f) {
+          return !0;
         }
-        if (typeof __nccwpck_require__ !== "undefined")
-          __nccwpck_require__.ab = __dirname + "/";
-        var t = __nccwpck_require__(138);
-        module.exports = t;
-      })();
+      }
+      function t(a, b) {
+        return b();
+      }
+      var u =
+        "undefined" === typeof window ||
+        "undefined" === typeof window.document ||
+        "undefined" === typeof window.document.createElement
+          ? t
+          : q;
+      exports.useSyncExternalStore =
+        void 0 !== e.useSyncExternalStore ? e.useSyncExternalStore : u;
 
       /***/
     },
 
-    /***/ 1605: /***/ function(
+    /***/ 9155: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(1926);
+      "use strict";
+
+      if (true) {
+        module.exports = __webpack_require__(9364);
+      } else {
+      }
 
       /***/
     }
@@ -859,7 +665,7 @@ object-assign
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(2744);
+      return __webpack_exec__(5695);
     });
     /******/ 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],
   {
-    /***/ 4337: /***/ function(
+    /***/ 7148: /***/ 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__(848);
+          return __webpack_require__(7481);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 848: /***/ function(
+    /***/ 7481: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -35,7 +35,7 @@
         4637
       );
       /* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        8915
+        4616
       );
       /* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         next_head__WEBPACK_IMPORTED_MODULE_1__
@@ -71,12 +71,12 @@
       /***/
     },
 
-    /***/ 8915: /***/ function(
+    /***/ 4616: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(4828);
+      module.exports = __webpack_require__(4790);
 
       /***/
     }
@@ -87,7 +87,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(4337);
+      return __webpack_exec__(7148);
     });
     /******/ 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],
   {
-    /***/ 4853: /***/ function(
+    /***/ 3515: /***/ 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__(7084);
+          return __webpack_require__(3451);
         }
       ]);
       if (false) {
@@ -18,74 +18,46 @@
       /***/
     },
 
-    /***/ 7084: /***/ function(
+    /***/ 3451: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
     ) {
       "use strict";
+      // ESM COMPAT FLAG
       __webpack_require__.r(__webpack_exports__);
-      /* harmony export */ __webpack_require__.d(__webpack_exports__, {
-        /* harmony export */ default: function() {
-          return /* export default binding */ __WEBPACK_DEFAULT_EXPORT__;
+
+      // EXPORTS
+      __webpack_require__.d(__webpack_exports__, {
+        default: function() {
+          return /* binding */ hooks;
         }
-        /* harmony export */
-      });
-      /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
-        4637
-      );
-      /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        9496
-      );
-      function _arrayLikeToArray(arr, len) {
-        if (len == null || len > arr.length) len = arr.length;
-        for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
-        return arr2;
-      }
+      }); // CONCATENATED MODULE: ./node_modules/.pnpm/@[email protected]/node_modules/@swc/helpers/src/_array_with_holes.mjs
+
       function _arrayWithHoles(arr) {
         if (Array.isArray(arr)) return arr;
-      }
-      function _iterableToArrayLimit(arr, i) {
-        var _i =
-          arr == null
-            ? null
-            : (typeof Symbol !== "undefined" && arr[Symbol.iterator]) ||
-              arr["@@iterator"];
-        if (_i == null) return;
-        var _arr = [];
-        var _n = true;
-        var _d = false;
-        var _s, _e;
-        try {
-          for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
-            _arr.push(_s.value);
-            if (i && _arr.length === i) break;
-          }
-        } catch (err) {
-          _d = true;
-          _e = err;
-        } finally {
-          try {
-            if (!_n && _i["return"] != null) _i["return"]();
-          } finally {
-            if (_d) throw _e;
-          }
-        }
-        return _arr;
-      }
+      } // CONCATENATED MODULE: ./node_modules/.pnpm/@[email protected]/node_modules/@swc/helpers/src/_iterable_to_array.mjs
+
+      function _iterableToArray(iter) {
+        if (
+          (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null) ||
+          iter["@@iterator"] != null
+        )
+          return Array.from(iter);
+      } // CONCATENATED MODULE: ./node_modules/.pnpm/@[email protected]/node_modules/@swc/helpers/src/_non_iterable_rest.mjs
+
       function _nonIterableRest() {
         throw new TypeError(
           "Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."
         );
-      }
-      function _slicedToArray(arr, i) {
-        return (
-          _arrayWithHoles(arr) ||
-          _iterableToArrayLimit(arr, i) ||
-          _unsupportedIterableToArray(arr, i) ||
-          _nonIterableRest()
-        );
-      }
+      } // CONCATENATED MODULE: ./node_modules/.pnpm/@[email protected]/node_modules/@swc/helpers/src/_array_like_to_array.mjs
+
+      function _arrayLikeToArray(arr, len) {
+        if (len == null || len > arr.length) len = arr.length;
+        for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
+        return arr2;
+      } // CONCATENATED MODULE: ./node_modules/.pnpm/@[email protected]/node_modules/@swc/helpers/src/_unsupported_iterable_to_array.mjs
+
       function _unsupportedIterableToArray(o, minLen) {
         if (!o) return;
         if (typeof o === "string") return _arrayLikeToArray(o, minLen);
@@ -97,56 +69,58 @@
           /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
         )
           return _arrayLikeToArray(o, minLen);
+      } // CONCATENATED MODULE: ./node_modules/.pnpm/@[email protected]/node_modules/@swc/helpers/src/_sliced_to_array.mjs
+
+      function _slicedToArray(arr, i) {
+        return (
+          _arrayWithHoles(arr) ||
+          _iterableToArray(arr, i) ||
+          _unsupportedIterableToArray(arr, i) ||
+          _nonIterableRest()
+        );
       }
 
-      /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__() {
-        var ref = _slicedToArray(
-            react__WEBPACK_IMPORTED_MODULE_1__.useState(0),
-            2
-          ),
+      // EXTERNAL MODULE: ./node_modules/.pnpm/[email protected]/node_modules/react/jsx-runtime.js
+      var jsx_runtime = __webpack_require__(4637);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/[email protected]/node_modules/react/index.js
+      var react = __webpack_require__(9496); // CONCATENATED MODULE: ./pages/hooks.js
+      /* harmony default export */ function hooks() {
+        var ref = _slicedToArray(react.useState(0), 2),
           clicks1 = ref[0],
           setClicks1 = ref[1];
-        var ref1 = (0, react__WEBPACK_IMPORTED_MODULE_1__.useState)(0),
+        var ref1 = (0, react.useState)(0),
           clicks2 = ref1[0],
           setClicks2 = ref1[1];
-        var doClick1 = react__WEBPACK_IMPORTED_MODULE_1__.useCallback(
+        var doClick1 = react.useCallback(
           function() {
             setClicks1(clicks1 + 1);
           },
           [clicks1]
         );
-        var doClick2 = (0, react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(
+        var doClick2 = (0, react.useCallback)(
           function() {
             setClicks2(clicks2 + 1);
           },
           [clicks2]
         );
-        return /*#__PURE__*/ (0,
-        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(
-          react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment,
-          {
-            children: [
-              /*#__PURE__*/ (0,
-              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("h3", {
-                children: ["Clicks ", clicks1]
-              }),
-              /*#__PURE__*/ (0,
-              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", {
-                onClick: doClick1,
-                children: "Click me"
-              }),
-              /*#__PURE__*/ (0,
-              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("h3", {
-                children: ["Clicks ", clicks2]
-              }),
-              /*#__PURE__*/ (0,
-              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", {
-                onClick: doClick2,
-                children: "Click me"
-              })
-            ]
-          }
-        );
+        return /*#__PURE__*/ (0, jsx_runtime.jsxs)(jsx_runtime.Fragment, {
+          children: [
+            /*#__PURE__*/ (0, jsx_runtime.jsxs)("h3", {
+              children: ["Clicks ", clicks1]
+            }),
+            /*#__PURE__*/ (0, jsx_runtime.jsx)("button", {
+              onClick: doClick1,
+              children: "Click me"
+            }),
+            /*#__PURE__*/ (0, jsx_runtime.jsxs)("h3", {
+              children: ["Clicks ", clicks2]
+            }),
+            /*#__PURE__*/ (0, jsx_runtime.jsx)("button", {
+              onClick: doClick2,
+              children: "Click me"
+            })
+          ]
+        });
       }
 
       /***/
@@ -158,7 +132,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(4853);
+      return __webpack_exec__(3515);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for image-HASH.js

Diff too large to display

Diff for index-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [405],
   {
-    /***/ 4786: /***/ function(
+    /***/ 6967: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/",
         function() {
-          return __webpack_require__(7245);
+          return __webpack_require__(3973);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 7245: /***/ function(
+    /***/ 3973: /***/ 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__(4786);
+      return __webpack_exec__(6967);
     });
     /******/ 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],
   {
-    /***/ 2783: /***/ function(
+    /***/ 9367: /***/ 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__(3122);
+          return __webpack_require__(1849);
         }
       ]);
       if (false) {
@@ -18,86 +18,59 @@
       /***/
     },
 
-    /***/ 7160: /***/ function(module, exports, __webpack_require__) {
+    /***/ 1908: /***/ function(module, exports) {
       "use strict";
 
-      function _arrayLikeToArray(arr, len) {
-        if (len == null || len > arr.length) len = arr.length;
-        for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
-        return arr2;
-      }
-      function _arrayWithHoles(arr) {
-        if (Array.isArray(arr)) return arr;
-      }
-      function _iterableToArrayLimit(arr, i) {
-        var _i =
-          arr == null
-            ? null
-            : (typeof Symbol !== "undefined" && arr[Symbol.iterator]) ||
-              arr["@@iterator"];
-        if (_i == null) return;
-        var _arr = [];
-        var _n = true;
-        var _d = false;
-        var _s, _e;
-        try {
-          for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
-            _arr.push(_s.value);
-            if (i && _arr.length === i) break;
-          }
-        } catch (err) {
-          _d = true;
-          _e = err;
-        } finally {
-          try {
-            if (!_n && _i["return"] != null) _i["return"]();
-          } finally {
-            if (_d) throw _e;
-          }
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
+      exports.getDomainLocale = getDomainLocale;
+      var basePath =
+        /* unused pure expression or super */ null && (false || "");
+      function getDomainLocale(path, locale, locales, domainLocales) {
+        if (false) {
+          var finalLocale,
+            proto,
+            domain,
+            target,
+            detectDomainLocale,
+            normalizeLocalePath;
+        } else {
+          return false;
         }
-        return _arr;
-      }
-      function _nonIterableRest() {
-        throw new TypeError(
-          "Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."
-        );
-      }
-      function _slicedToArray(arr, i) {
-        return (
-          _arrayWithHoles(arr) ||
-          _iterableToArrayLimit(arr, i) ||
-          _unsupportedIterableToArray(arr, i) ||
-          _nonIterableRest()
-        );
-      }
-      var _typeof = function(obj) {
-        "@swc/helpers - typeof";
-        return obj &&
-          typeof Symbol !== "undefined" &&
-          obj.constructor === Symbol
-          ? "symbol"
-          : typeof obj;
-      };
-      function _unsupportedIterableToArray(o, minLen) {
-        if (!o) return;
-        if (typeof o === "string") return _arrayLikeToArray(o, minLen);
-        var n = Object.prototype.toString.call(o).slice(8, -1);
-        if (n === "Object" && o.constructor) n = o.constructor.name;
-        if (n === "Map" || n === "Set") return Array.from(n);
-        if (
-          n === "Arguments" ||
-          /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
-        )
-          return _arrayLikeToArray(o, minLen);
       }
+      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=get-domain-locale.js.map
+
+      /***/
+    },
+
+    /***/ 882: /***/ function(module, exports, __webpack_require__) {
+      "use strict";
+
+      var _sliced_to_array = __webpack_require__(7694) /* ["default"] */.Z;
+      var _type_of = __webpack_require__(5484)["default"];
       Object.defineProperty(exports, "__esModule", {
         value: true
       });
       exports["default"] = void 0;
       var _react = _interopRequireDefault(__webpack_require__(9496));
-      var _router = __webpack_require__(1368);
-      var _router1 = __webpack_require__(7465);
-      var _useIntersection = __webpack_require__(6363);
+      var _router = __webpack_require__(8340);
+      var _addLocale = __webpack_require__(9465);
+      var _routerContext = __webpack_require__(1349);
+      var _appRouterContext = __webpack_require__(3407);
+      var _useIntersection = __webpack_require__(5668);
+      var _getDomainLocale = __webpack_require__(1908);
+      var _addBasePath = __webpack_require__(8126);
       function _interopRequireDefault(obj) {
         return obj && obj.__esModule
           ? obj
@@ -105,22 +78,6 @@
               default: obj
             };
       }
-      function _objectWithoutProperties(source, excluded) {
-        if (source == null) return {};
-        var target = _objectWithoutPropertiesLoose(source, excluded);
-        var key, i;
-        if (Object.getOwnPropertySymbols) {
-          var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
-          for (i = 0; i < sourceSymbolKeys.length; i++) {
-            key = sourceSymbolKeys[i];
-            if (excluded.indexOf(key) >= 0) continue;
-            if (!Object.prototype.propertyIsEnumerable.call(source, key))
-              continue;
-            target[key] = source[key];
-          }
-        }
-        return target;
-      }
       function _objectWithoutPropertiesLoose(source, excluded) {
         if (source == null) return {};
         var target = {};
@@ -133,6 +90,9 @@
         }
         return target;
       }
+      // @ts-ignore useTransition exist
+      var hasUseTransition =
+        typeof _react.default.useTransition !== "undefined";
       var prefetched = {};
       function prefetch(router, href, as, options) {
         if (false || !router) return;
@@ -171,7 +131,8 @@
         replace,
         shallow,
         scroll,
-        locale
+        locale,
+        startTransition
       ) {
         var nodeName = e.currentTarget.nodeName;
         // anchors inside an svg have a lowercase nodeName
@@ -184,22 +145,24 @@
           return;
         }
         e.preventDefault();
-        // replace state instead of push if prop is present
-        router[replace ? "replace" : "push"](href, as, {
-          shallow: shallow,
-          locale: locale,
-          scroll: scroll
-        });
+        var navigate = function() {
+          // replace state instead of push if prop is present
+          router[replace ? "replace" : "push"](href, as, {
+            shallow: shallow,
+            locale: locale,
+            scroll: scroll
+          });
+        };
+        if (startTransition) {
+          startTransition(navigate);
+        } else {
+          navigate();
+        }
       }
-      var Link = /*#__PURE__*/ _react.default.forwardRef(function(
+      var Link = /*#__PURE__*/ _react.default.forwardRef(function LinkComponent(
         props,
         forwardedRef
       ) {
-        var _legacyBehavior = props.legacyBehavior,
-          legacyBehavior =
-            _legacyBehavior === void 0
-              ? Boolean(false) !== true
-              : _legacyBehavior;
         if (false) {
           var hasWarned,
             optionalProps,
@@ -220,7 +183,12 @@
           locale = props.locale,
           onClick = props.onClick,
           onMouseEnter = props.onMouseEnter,
-          restProps = _objectWithoutProperties(props, [
+          _legacyBehavior = props.legacyBehavior,
+          legacyBehavior =
+            _legacyBehavior === void 0
+              ? Boolean(false) !== true
+              : _legacyBehavior,
+          restProps = _objectWithoutPropertiesLoose(props, [
             "href",
             "as",
             "children",
@@ -231,10 +199,14 @@
             "scroll",
             "locale",
             "onClick",
-            "onMouseEnter"
+            "onMouseEnter",
+            "legacyBehavior"
           ]);
         children = childrenProp;
-        if (legacyBehavior && typeof children === "string") {
+        if (
+          legacyBehavior &&
+          (typeof children === "string" || typeof children === "number")
+        ) {
           children = /*#__PURE__*/ _react.default.createElement(
             "a",
             null,
@@ -242,10 +214,24 @@
           );
         }
         var p = prefetchProp !== false;
-        var router = (0, _router1).useRouter();
-        var ref = _react.default.useMemo(
+        var ref = _sliced_to_array(
+            hasUseTransition // @ts-ignore useTransition exists
+              ? // eslint-disable-next-line react-hooks/rules-of-hooks
+                _react.default.useTransition()
+              : [],
+            2
+          ),
+          /* isPending */ startTransition = ref[1];
+        var router = _react.default.useContext(_routerContext.RouterContext);
+        var appRouter = _react.default.useContext(
+          _appRouterContext.AppRouterContext
+        );
+        if (appRouter) {
+          router = appRouter;
+        }
+        var ref1 = _react.default.useMemo(
             function() {
-              var ref = _slicedToArray(
+              var ref = _sliced_to_array(
                   (0, _router).resolveHref(router, hrefProp, true),
                   2
                 ),
@@ -260,8 +246,8 @@
             },
             [router, hrefProp, asProp]
           ),
-          href = ref.href,
-          as = ref.as;
+          href = ref1.href,
+          as = ref1.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
@@ -275,15 +261,15 @@
         var childRef = legacyBehavior
           ? child && typeof child === "object" && child.ref
           : forwardedRef;
-        var ref1 = _slicedToArray(
+        var ref2 = _sliced_to_array(
             (0, _useIntersection).useIntersection({
               rootMargin: "200px"
             }),
             3
           ),
-          setIntersectionRef = ref1[0],
-          isVisible = ref1[1],
-          resetVisible = ref1[2];
+          setIntersectionRef = ref2[0],
+          isVisible = ref2[1],
+          resetVisible = ref2[2];
         var setRef = _react.default.useCallback(
           function(el) {
             // Before the link getting observed, check if visible state need to be reset
@@ -342,7 +328,8 @@
                 replace,
                 shallow,
                 scroll,
-                locale
+                locale,
+                appRouter ? startTransition : undefined
               );
             }
           },
@@ -378,16 +365,16 @@
           var localeDomain =
             router &&
             router.isLocaleDomain &&
-            (0, _router).getDomainLocale(
+            (0, _getDomainLocale).getDomainLocale(
               as,
               curLocale,
-              router && router.locales,
-              router && router.domainLocales
+              router.locales,
+              router.domainLocales
             );
           childProps.href =
             localeDomain ||
-            (0, _router).addBasePath(
-              (0, _router).addLocale(
+            (0, _addBasePath).addBasePath(
+              (0, _addLocale).addLocale(
                 as,
                 curLocale,
                 router && router.defaultLocale
@@ -405,9 +392,13 @@
       var _default = Link;
       exports["default"] = _default;
       if (
-        typeof exports.default === "function" ||
-        (typeof exports.default === "object" && exports.default !== null)
+        (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=link.js.map
@@ -415,120 +406,54 @@
       /***/
     },
 
-    /***/ 6363: /***/ function(module, exports, __webpack_require__) {
+    /***/ 5668: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
-      function _arrayLikeToArray(arr, len) {
-        if (len == null || len > arr.length) len = arr.length;
-        for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
-        return arr2;
-      }
-      function _arrayWithHoles(arr) {
-        if (Array.isArray(arr)) return arr;
-      }
-      function _iterableToArrayLimit(arr, i) {
-        var _i =
-          arr == null
-            ? null
-            : (typeof Symbol !== "undefined" && arr[Symbol.iterator]) ||
-              arr["@@iterator"];
-        if (_i == null) return;
-        var _arr = [];
-        var _n = true;
-        var _d = false;
-        var _s, _e;
-        try {
-          for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
-            _arr.push(_s.value);
-            if (i && _arr.length === i) break;
-          }
-        } catch (err) {
-          _d = true;
-          _e = err;
-        } finally {
-          try {
-            if (!_n && _i["return"] != null) _i["return"]();
-          } finally {
-            if (_d) throw _e;
-          }
-        }
-        return _arr;
-      }
-      function _nonIterableRest() {
-        throw new TypeError(
-          "Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."
-        );
-      }
-      function _slicedToArray(arr, i) {
-        return (
-          _arrayWithHoles(arr) ||
-          _iterableToArrayLimit(arr, i) ||
-          _unsupportedIterableToArray(arr, i) ||
-          _nonIterableRest()
-        );
-      }
-      function _unsupportedIterableToArray(o, minLen) {
-        if (!o) return;
-        if (typeof o === "string") return _arrayLikeToArray(o, minLen);
-        var n = Object.prototype.toString.call(o).slice(8, -1);
-        if (n === "Object" && o.constructor) n = o.constructor.name;
-        if (n === "Map" || n === "Set") return Array.from(n);
-        if (
-          n === "Arguments" ||
-          /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
-        )
-          return _arrayLikeToArray(o, minLen);
-      }
+      var _sliced_to_array = __webpack_require__(7694) /* ["default"] */.Z;
       Object.defineProperty(exports, "__esModule", {
         value: true
       });
       exports.useIntersection = useIntersection;
       var _react = __webpack_require__(9496);
-      var _requestIdleCallback = __webpack_require__(7808);
-      var hasIntersectionObserver = typeof IntersectionObserver !== "undefined";
+      var _requestIdleCallback = __webpack_require__(5617);
+      var hasIntersectionObserver = typeof IntersectionObserver === "function";
       function useIntersection(param) {
         var rootRef = param.rootRef,
           rootMargin = param.rootMargin,
           disabled = param.disabled;
         var isDisabled = disabled || !hasIntersectionObserver;
         var unobserve = (0, _react).useRef();
-        var ref = _slicedToArray((0, _react).useState(false), 2),
+        var ref = _sliced_to_array((0, _react).useState(false), 2),
           visible = ref[0],
           setVisible = ref[1];
-        var ref1 = _slicedToArray(
-            (0, _react).useState(rootRef ? rootRef.current : null),
-            2
-          ),
-          root = ref1[0],
-          setRoot = ref1[1];
-        var setRef = (0, _react).useCallback(
-          function(el) {
-            if (unobserve.current) {
-              unobserve.current();
-              unobserve.current = undefined;
-            }
-            if (isDisabled || visible) return;
-            if (el && el.tagName) {
-              unobserve.current = observe(
-                el,
-                function(isVisible) {
-                  return isVisible && setVisible(isVisible);
-                },
-                {
-                  root: root,
-                  rootMargin: rootMargin
-                }
-              );
-            }
-          },
-          [isDisabled, root, rootMargin, visible]
-        );
-        var resetVisible = (0, _react).useCallback(function() {
-          setVisible(false);
-        }, []);
+        var ref1 = _sliced_to_array((0, _react).useState(null), 2),
+          element = ref1[0],
+          setElement = ref1[1];
         (0, _react).useEffect(
           function() {
-            if (!hasIntersectionObserver) {
+            if (hasIntersectionObserver) {
+              if (unobserve.current) {
+                unobserve.current();
+                unobserve.current = undefined;
+              }
+              if (isDisabled || visible) return;
+              if (element && element.tagName) {
+                unobserve.current = observe(
+                  element,
+                  function(isVisible) {
+                    return isVisible && setVisible(isVisible);
+                  },
+                  {
+                    root: rootRef == null ? void 0 : rootRef.current,
+                    rootMargin: rootMargin
+                  }
+                );
+              }
+              return function() {
+                unobserve.current == null ? void 0 : unobserve.current();
+                unobserve.current = undefined;
+              };
+            } else {
               if (!visible) {
                 var idleCallback = (0,
                 _requestIdleCallback).requestIdleCallback(function() {
@@ -542,15 +467,12 @@
               }
             }
           },
-          [visible]
+          [element, isDisabled, rootMargin, rootRef, visible]
         );
-        (0, _react).useEffect(
-          function() {
-            if (rootRef) setRoot(rootRef.current);
-          },
-          [rootRef]
-        );
-        return [setRef, visible, resetVisible];
+        var resetVisible = (0, _react).useCallback(function() {
+          setVisible(false);
+        }, []);
+        return [setElement, visible, resetVisible];
       }
       function observe(element, callback, options) {
         var ref = createObserver(options),
@@ -588,12 +510,9 @@
         var instance;
         if (existing) {
           instance = observers.get(existing);
-        } else {
-          instance = observers.get(id);
-          idList.push(id);
-        }
-        if (instance) {
-          return instance;
+          if (instance) {
+            return instance;
+          }
         }
         var elements = new Map();
         var observer = new IntersectionObserver(function(entries) {
@@ -605,20 +524,23 @@
             }
           });
         }, options);
-        observers.set(
-          id,
-          (instance = {
-            id: id,
-            observer: observer,
-            elements: elements
-          })
-        );
+        instance = {
+          id: id,
+          observer: observer,
+          elements: elements
+        };
+        idList.push(id);
+        observers.set(id, instance);
         return instance;
       }
       if (
-        typeof exports.default === "function" ||
-        (typeof exports.default === "object" && exports.default !== null)
+        (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=use-intersection.js.map
@@ -626,7 +548,34 @@
       /***/
     },
 
-    /***/ 3122: /***/ function(
+    /***/ 3407: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
+      exports.AppRouterContext = void 0;
+      var _react = _interopRequireDefault(__webpack_require__(9496));
+      function _interopRequireDefault(obj) {
+        return obj && obj.__esModule
+          ? obj
+          : {
+              default: obj
+            };
+      }
+      var AppRouterContext = _react.default.createContext(null);
+      exports.AppRouterContext = AppRouterContext;
+      if (false) {
+      } //# sourceMappingURL=app-router-context.js.map
+
+      /***/
+    },
+
+    /***/ 1849: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -643,7 +592,7 @@
         4637
       );
       /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        8168
+        8728
       );
       /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         next_link__WEBPACK_IMPORTED_MODULE_1__
@@ -674,12 +623,12 @@
       /***/
     },
 
-    /***/ 8168: /***/ function(
+    /***/ 8728: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(7160);
+      module.exports = __webpack_require__(882);
 
       /***/
     }
@@ -690,7 +639,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(2783);
+      return __webpack_exec__(9367);
     });
     /******/ 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],
   {
-    /***/ 5863: /***/ function(
+    /***/ 4538: /***/ 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__(2550);
+          return __webpack_require__(7451);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 2550: /***/ function(
+    /***/ 7451: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -35,7 +35,7 @@
         4637
       );
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        9393
+        7084
       );
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -57,12 +57,12 @@
       /***/
     },
 
-    /***/ 9393: /***/ function(
+    /***/ 7084: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(7465);
+      module.exports = __webpack_require__(7489);
 
       /***/
     }
@@ -73,7 +73,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(5863);
+      return __webpack_exec__(4538);
     });
     /******/ 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],
   {
-    /***/ 581: /***/ function(
+    /***/ 2644: /***/ 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__(6436);
+          return __webpack_require__(5292);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 6436: /***/ function(
+    /***/ 5292: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -35,7 +35,7 @@
         4637
       );
       /* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        2311
+        7635
       );
       /* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         next_script__WEBPACK_IMPORTED_MODULE_1__
@@ -70,12 +70,12 @@
       /***/
     },
 
-    /***/ 2311: /***/ function(
+    /***/ 7635: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(5031);
+      module.exports = __webpack_require__(3951);
 
       /***/
     }
@@ -86,7 +86,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(581);
+      return __webpack_exec__(2644);
     });
     /******/ 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],
   {
-    /***/ 4573: /***/ function(
+    /***/ 5577: /***/ 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__(5526);
+          return __webpack_require__(2161);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 5526: /***/ function(
+    /***/ 2161: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -35,7 +35,7 @@
         4637
       );
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        9393
+        7084
       );
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -54,12 +54,12 @@
       /***/
     },
 
-    /***/ 9393: /***/ function(
+    /***/ 7084: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(7465);
+      module.exports = __webpack_require__(7489);
 
       /***/
     }
@@ -70,7 +70,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(4573);
+      return __webpack_exec__(5577);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for 437.HASH.js
@@ -1,8 +1,8 @@
 "use strict";
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
-  [437],
+  [128],
   {
-    /***/ 7437: /***/ function(
+    /***/ 5128: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
Diff for framework-HASH.js
@@ -19,7 +19,7 @@
  Modernizr 3.0.0pre (Custom Build) | MIT
 */
       var aa = __webpack_require__(9496),
-        m = __webpack_require__(9260),
+        m = __webpack_require__(2048),
         r = __webpack_require__(8051);
       function y(a) {
         for (
@@ -7895,7 +7895,7 @@
        * This source code is licensed under the MIT license found in the
        * LICENSE file in the root directory of this source tree.
        */
-      __webpack_require__(9260);
+      __webpack_require__(2048);
       var f = __webpack_require__(9496),
         g = 60103;
       exports.Fragment = 60107;
@@ -7948,7 +7948,7 @@
        * This source code is licensed under the MIT license found in the
        * LICENSE file in the root directory of this source tree.
        */
-      var l = __webpack_require__(9260),
+      var l = __webpack_require__(2048),
         n = 60103,
         p = 60106;
       exports.Fragment = 60107;
Diff for main-HASH.js

Diff too large to display

Diff for polyfills-HASH.js

Diff too large to display

Diff for webpack-HASH.js
@@ -159,7 +159,7 @@
     /******/ __webpack_require__.u = function(chunkId) {
       /******/ // return url for filenames based on template
       /******/ return (
-        "static/chunks/" + chunkId + "." + "b72a55e4a5d30197" + ".js"
+        "static/chunks/" + chunkId + "." + "e030bda2b87fb167" + ".js"
       );
       /******/
     };
@@ -227,7 +227,7 @@
           /******/
         }
         /******/ script.setAttribute("data-webpack", dataWebpackPrefix + key);
-        /******/ script.src = url;
+        /******/ script.src = __webpack_require__.tu(url);
         /******/
       }
       /******/ inProgress[url] = [done];
@@ -274,6 +274,41 @@
       /******/
     };
     /******/
+  })(); /* webpack/runtime/trusted types policy */
+  /******/
+
+  /******/ /******/ !(function() {
+    /******/ var policy;
+    /******/ __webpack_require__.tt = function() {
+      /******/ // Create Trusted Type policy if Trusted Types are available and the policy doesn't exist yet.
+      /******/ if (policy === undefined) {
+        /******/ policy = {
+          /******/ createScriptURL: function(url) {
+            return url;
+          }
+          /******/
+        };
+        /******/ if (
+          typeof trustedTypes !== "undefined" &&
+          trustedTypes.createPolicy
+        ) {
+          /******/ policy = trustedTypes.createPolicy("nextjs#bundler", policy);
+          /******/
+        }
+        /******/
+      }
+      /******/ return policy;
+      /******/
+    };
+    /******/
+  })(); /* webpack/runtime/trusted types script url */
+  /******/
+
+  /******/ /******/ !(function() {
+    /******/ __webpack_require__.tu = function(url) {
+      return __webpack_require__.tt().createScriptURL(url);
+    };
+    /******/
   })(); /* webpack/runtime/publicPath */
   /******/
Diff for index.html
@@ -8,34 +8,30 @@
     <script
       defer=""
       nomodule=""
-      src="/_next/static/chunks/polyfills-5cd94c89d3acac5f.js"
+      src="/_next/static/chunks/polyfills-0d1b80a048d4787e.js"
     ></script>
     <script
-      src="/_next/static/chunks/webpack-9302553dec9dd6bd.js"
+      src="/_next/static/chunks/webpack-7d45352f17e74673.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/framework-8755e6e713f733ae.js"
+      src="/_next/static/chunks/framework-044d557c64574856.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-b7dc8b0c0b51f9e4.js"
+      src="/_next/static/chunks/main-218d87e3da1a2048.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-ac11e687c9eb7ce2.js"
+      src="/_next/static/chunks/pages/_app-bc22dfa04aca59af.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/index-5d085461d4b7e1ee.js"
+      src="/_next/static/chunks/pages/index-1ecb7a225a122304.js"
       defer=""
     ></script>
     <script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>
     <script src="/_next/static/BUILD_ID/_ssgManifest.js" defer=""></script>
-    <script
-      src="/_next/static/BUILD_ID/_middlewareManifest.js"
-      defer=""
-    ></script>
   </head>
   <body>
     <div id="__next" data-reactroot="">Hello world 👋</div>
Diff for link.html
@@ -8,34 +8,30 @@
     <script
       defer=""
       nomodule=""
-      src="/_next/static/chunks/polyfills-5cd94c89d3acac5f.js"
+      src="/_next/static/chunks/polyfills-0d1b80a048d4787e.js"
     ></script>
     <script
-      src="/_next/static/chunks/webpack-9302553dec9dd6bd.js"
+      src="/_next/static/chunks/webpack-7d45352f17e74673.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/framework-8755e6e713f733ae.js"
+      src="/_next/static/chunks/framework-044d557c64574856.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-b7dc8b0c0b51f9e4.js"
+      src="/_next/static/chunks/main-218d87e3da1a2048.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-ac11e687c9eb7ce2.js"
+      src="/_next/static/chunks/pages/_app-bc22dfa04aca59af.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/link-5cbe1349380d92ee.js"
+      src="/_next/static/chunks/pages/link-3a3db92194a522ff.js"
       defer=""
     ></script>
     <script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>
     <script src="/_next/static/BUILD_ID/_ssgManifest.js" defer=""></script>
-    <script
-      src="/_next/static/BUILD_ID/_middlewareManifest.js"
-      defer=""
-    ></script>
   </head>
   <body>
     <div id="__next" data-reactroot="">
Diff for withRouter.html
@@ -8,34 +8,30 @@
     <script
       defer=""
       nomodule=""
-      src="/_next/static/chunks/polyfills-5cd94c89d3acac5f.js"
+      src="/_next/static/chunks/polyfills-0d1b80a048d4787e.js"
     ></script>
     <script
-      src="/_next/static/chunks/webpack-9302553dec9dd6bd.js"
+      src="/_next/static/chunks/webpack-7d45352f17e74673.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/framework-8755e6e713f733ae.js"
+      src="/_next/static/chunks/framework-044d557c64574856.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-b7dc8b0c0b51f9e4.js"
+      src="/_next/static/chunks/main-218d87e3da1a2048.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-ac11e687c9eb7ce2.js"
+      src="/_next/static/chunks/pages/_app-bc22dfa04aca59af.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/withRouter-8b03818d0ed540a0.js"
+      src="/_next/static/chunks/pages/withRouter-dee19dca16003991.js"
       defer=""
     ></script>
     <script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>
     <script src="/_next/static/BUILD_ID/_ssgManifest.js" defer=""></script>
-    <script
-      src="/_next/static/BUILD_ID/_middlewareManifest.js"
-      defer=""
-    ></script>
   </head>
   <body>
     <div id="__next" data-reactroot=""><div>I use withRouter</div></div>

Default Build with SWC (Increase detected ⚠️)
General Overall decrease ✓
vercel/next.js canary v12.1.6 vercel/next.js refs/heads/canary Change
buildDuration 14.3s 14.2s -120ms
buildDurationCached 8.1s 8.4s ⚠️ +298ms
nodeModulesSize 273 MB 259 MB -13.8 MB
Page Load Tests Overall decrease ⚠️
vercel/next.js canary v12.1.6 vercel/next.js refs/heads/canary Change
/ failed reqs 0 0
/ total time (seconds) 3.745 4.805 ⚠️ +1.06
/ avg req/sec 667.53 520.33 ⚠️ -147.2
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.442 2.228 ⚠️ +0.79
/error-in-render avg req/sec 1733.59 1122.3 ⚠️ -611.29
Client Bundles (main, webpack) Overall increase ⚠️
vercel/next.js canary v12.1.6 vercel/next.js refs/heads/canary Change
437.HASH.js gzip 178 B 178 B
framework-HASH.js gzip 42.7 kB 42.7 kB ⚠️ +1 B
main-HASH.js gzip 29.3 kB 31.2 kB ⚠️ +1.91 kB
webpack-HASH.js gzip 1.45 kB 1.54 kB ⚠️ +95 B
Overall change 73.6 kB 75.6 kB ⚠️ +2.01 kB
Legacy Client Bundles (polyfills) Overall increase ⚠️
vercel/next.js canary v12.1.6 vercel/next.js refs/heads/canary Change
polyfills-HASH.js gzip 31 kB 31 kB ⚠️ +25 B
Overall change 31 kB 31 kB ⚠️ +25 B
Client Pages Overall decrease ✓
vercel/next.js canary v12.1.6 vercel/next.js refs/heads/canary Change
_app-HASH.js gzip 1.35 kB 835 B -517 B
_error-HASH.js gzip 187 B 188 B ⚠️ +1 B
amp-HASH.js gzip 315 B 510 B ⚠️ +195 B
css-HASH.js gzip 332 B 330 B -2 B
dynamic-HASH.js gzip 3.36 kB 2.61 kB -754 B
head-HASH.js gzip 363 B 363 B
hooks-HASH.js gzip 921 B 794 B -127 B
image-HASH.js gzip 5.78 kB 5.23 kB -557 B
index-HASH.js gzip 269 B 268 B -1 B
link-HASH.js gzip 2.76 kB 2.4 kB -363 B
routerDirect..HASH.js gzip 328 B 327 B -1 B
script-HASH.js gzip 400 B 400 B
withRouter-HASH.js gzip 324 B 324 B
85e02e95b279..7e3.css gzip 107 B 107 B
Overall change 16.8 kB 14.7 kB -2.13 kB
Client Build Manifests Overall increase ⚠️
vercel/next.js canary v12.1.6 vercel/next.js refs/heads/canary Change
_buildManifest.js gzip 454 B 458 B ⚠️ +4 B
Overall change 454 B 458 B ⚠️ +4 B
Rendered Page Sizes Overall decrease ✓
vercel/next.js canary v12.1.6 vercel/next.js refs/heads/canary Change
index.html gzip 531 B 523 B -8 B
link.html gzip 546 B 538 B -8 B
withRouter.html gzip 526 B 518 B -8 B
Overall change 1.6 kB 1.58 kB -24 B
Middleware size Overall increase ⚠️
vercel/next.js canary v12.1.6 vercel/next.js refs/heads/canary Change
middleware-m..st.json gzip 79 B 185 B ⚠️ +106 B
middleware.js gzip N/A 16.9 kB N/A
edge-runtime..pack.js gzip N/A 1.79 kB N/A
Overall change 79 B 18.8 kB ⚠️ +18.8 kB

Diffs

Diff for edge-runtime-webpack.js
@@ -0,0 +1,252 @@
+/******/ (() => {
+  // webpackBootstrap
+  /******/ "use strict";
+  /******/ var __webpack_modules__ = {}; // The module cache
+  /************************************************************************/
+  /******/ /******/ var __webpack_module_cache__ = {}; // The require function
+  /******/
+
+  /******/ /******/ function __webpack_require__(moduleId) {
+    /******/ // Check if module is in cache
+    /******/ var cachedModule = __webpack_module_cache__[moduleId];
+    /******/ if (cachedModule !== undefined) {
+      /******/ return cachedModule.exports;
+      /******/
+    } // Create a new module (and put it into the cache)
+    /******/ /******/ var module = (__webpack_module_cache__[moduleId] = {
+      /******/ // no module.id needed
+      /******/ // no module.loaded needed
+      /******/ exports: {}
+      /******/
+    }); // Execute the module function
+    /******/
+
+    /******/ /******/ var threw = true;
+    /******/ try {
+      /******/ __webpack_modules__[moduleId](
+        module,
+        module.exports,
+        __webpack_require__
+      );
+      /******/ threw = false;
+      /******/
+    } finally {
+      /******/ if (threw) delete __webpack_module_cache__[moduleId];
+      /******/
+    } // Return the exports of the module
+    /******/
+
+    /******/ /******/ return module.exports;
+    /******/
+  } // expose the modules object (__webpack_modules__)
+  /******/
+
+  /******/ /******/ __webpack_require__.m = __webpack_modules__; /* webpack/runtime/chunk loaded */
+  /******/
+
+  /************************************************************************/
+  /******/ /******/ (() => {
+    /******/ var deferred = [];
+    /******/ __webpack_require__.O = (result, chunkIds, fn, priority) => {
+      /******/ if (chunkIds) {
+        /******/ priority = priority || 0;
+        /******/ for (
+          var i = deferred.length;
+          i > 0 && deferred[i - 1][2] > priority;
+          i--
+        )
+          deferred[i] = deferred[i - 1];
+        /******/ deferred[i] = [chunkIds, fn, priority];
+        /******/ return;
+        /******/
+      }
+      /******/ var notFulfilled = Infinity;
+      /******/ for (var i = 0; i < deferred.length; i++) {
+        /******/ var [chunkIds, fn, priority] = deferred[i];
+        /******/ var fulfilled = true;
+        /******/ for (var j = 0; j < chunkIds.length; j++) {
+          /******/ if (
+            (priority & (1 === 0) || notFulfilled >= priority) &&
+            Object.keys(__webpack_require__.O).every(key =>
+              __webpack_require__.O[key](chunkIds[j])
+            )
+          ) {
+            /******/ chunkIds.splice(j--, 1);
+            /******/
+          } else {
+            /******/ fulfilled = false;
+            /******/ if (priority < notFulfilled) notFulfilled = priority;
+            /******/
+          }
+          /******/
+        }
+        /******/ if (fulfilled) {
+          /******/ deferred.splice(i--, 1);
+          /******/ var r = fn();
+          /******/ if (r !== undefined) result = r;
+          /******/
+        }
+        /******/
+      }
+      /******/ return result;
+      /******/
+    };
+    /******/
+  })(); /* webpack/runtime/compat get default export */
+  /******/
+
+  /******/ /******/ (() => {
+    /******/ // getDefaultExport function for compatibility with non-harmony modules
+    /******/ __webpack_require__.n = module => {
+      /******/ var getter =
+        module && module.__esModule
+          ? /******/ () => module["default"]
+          : /******/ () => module;
+      /******/ __webpack_require__.d(getter, { a: getter });
+      /******/ return getter;
+      /******/
+    };
+    /******/
+  })(); /* webpack/runtime/define property getters */
+  /******/
+
+  /******/ /******/ (() => {
+    /******/ // define getter functions for harmony exports
+    /******/ __webpack_require__.d = (exports, definition) => {
+      /******/ for (var key in definition) {
+        /******/ if (
+          __webpack_require__.o(definition, key) &&
+          !__webpack_require__.o(exports, key)
+        ) {
+          /******/ Object.defineProperty(exports, key, {
+            enumerable: true,
+            get: definition[key]
+          });
+          /******/
+        }
+        /******/
+      }
+      /******/
+    };
+    /******/
+  })(); /* webpack/runtime/global */
+  /******/
+
+  /******/ /******/ (() => {
+    /******/ __webpack_require__.g = (function() {
+      /******/ if (typeof globalThis === "object") return globalThis;
+      /******/ try {
+        /******/ return this || new Function("return this")();
+        /******/
+      } catch (e) {
+        /******/ if (typeof window === "object") return window;
+        /******/
+      }
+      /******/
+    })();
+    /******/
+  })(); /* webpack/runtime/hasOwnProperty shorthand */
+  /******/
+
+  /******/ /******/ (() => {
+    /******/ __webpack_require__.o = (obj, prop) =>
+      Object.prototype.hasOwnProperty.call(obj, prop);
+    /******/
+  })(); /* webpack/runtime/make namespace object */
+  /******/
+
+  /******/ /******/ (() => {
+    /******/ // define __esModule on exports
+    /******/ __webpack_require__.r = exports => {
+      /******/ if (typeof Symbol !== "undefined" && Symbol.toStringTag) {
+        /******/ Object.defineProperty(exports, Symbol.toStringTag, {
+          value: "Module"
+        });
+        /******/
+      }
+      /******/ Object.defineProperty(exports, "__esModule", { value: true });
+      /******/
+    };
+    /******/
+  })(); /* webpack/runtime/jsonp chunk loading */
+  /******/
+
+  /******/ /******/ (() => {
+    /******/ // no baseURI
+    /******/
+
+    /******/ // object to store loaded and loading chunks
+    /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
+    /******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded
+    /******/ var installedChunks = {
+      /******/ 993: 0
+      /******/
+    }; // no chunk on demand loading // no prefetching // no preloaded // no HMR // no HMR manifest
+    /******/
+
+    /******/ /******/
+
+    /******/ /******/
+
+    /******/ /******/
+
+    /******/ /******/
+
+    /******/ /******/
+
+    /******/ __webpack_require__.O.j = chunkId =>
+      installedChunks[chunkId] === 0; // install a JSONP callback for chunk loading
+    /******/
+
+    /******/ /******/ var webpackJsonpCallback = (
+      parentChunkLoadingFunction,
+      data
+    ) => {
+      /******/ var [chunkIds, moreModules, runtime] = data; // add "moreModules" to the modules object, // then flag all "chunkIds" as loaded and fire callback
+      /******/ /******/ /******/ var moduleId,
+        chunkId,
+        i = 0;
+      /******/ if (chunkIds.some(id => installedChunks[id] !== 0)) {
+        /******/ for (moduleId in moreModules) {
+          /******/ if (__webpack_require__.o(moreModules, moduleId)) {
+            /******/ __webpack_require__.m[moduleId] = moreModules[moduleId];
+            /******/
+          }
+          /******/
+        }
+        /******/ if (runtime) var result = runtime(__webpack_require__);
+        /******/
+      }
+      /******/ if (parentChunkLoadingFunction) parentChunkLoadingFunction(data);
+      /******/ for (; i < chunkIds.length; i++) {
+        /******/ chunkId = chunkIds[i];
+        /******/ if (
+          __webpack_require__.o(installedChunks, chunkId) &&
+          installedChunks[chunkId]
+        ) {
+          /******/ installedChunks[chunkId][0]();
+          /******/
+        }
+        /******/ installedChunks[chunkId] = 0;
+        /******/
+      }
+      /******/ return __webpack_require__.O(result);
+      /******/
+    };
+    /******/
+
+    /******/ var chunkLoadingGlobal = (self["webpackChunk_N_E"] =
+      self["webpackChunk_N_E"] || []);
+    /******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));
+    /******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(
+      null,
+      chunkLoadingGlobal.push.bind(chunkLoadingGlobal)
+    );
+    /******/
+  })();
+  /******/
+  /************************************************************************/
+  /******/
+  /******/
+  /******/
+})();
Diff for middleware-manifest.json
@@ -1,6 +1,15 @@
 {
-  "sortedMiddleware": [],
-  "clientInfo": [],
-  "middleware": {},
+  "sortedMiddleware": ["/"],
+  "middleware": {
+    "/": {
+      "env": [],
+      "files": ["server/edge-runtime-webpack.js", "server/middleware.js"],
+      "name": "middleware",
+      "page": "/",
+      "regexp": "^/.*$",
+      "wasm": []
+    }
+  },
+  "functions": {},
   "version": 1
 }
Diff for middleware.js

Diff too large to display

Diff for _buildManifest.js
@@ -1,25 +1,25 @@
 self.__BUILD_MANIFEST = {
   __rewrites: { beforeFiles: [], afterFiles: [], fallback: [] },
-  "/": ["static\u002Fchunks\u002Fpages\u002Findex-5d085461d4b7e1ee.js"],
-  "/_error": ["static\u002Fchunks\u002Fpages\u002F_error-48e41d26ff0101f8.js"],
-  "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-a67fe6de8bb61a7a.js"],
+  "/": ["static\u002Fchunks\u002Fpages\u002Findex-1ecb7a225a122304.js"],
+  "/_error": ["static\u002Fchunks\u002Fpages\u002F_error-7c674188292aca70.js"],
+  "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-abb2ab71d4fb2340.js"],
   "/css": [
     "static\u002Fcss\u002F94fdbc56eafa2039.css",
-    "static\u002Fchunks\u002Fpages\u002Fcss-6d59dba2fd31bfed.js"
+    "static\u002Fchunks\u002Fpages\u002Fcss-100e45427e857c65.js"
   ],
   "/dynamic": [
-    "static\u002Fchunks\u002Fpages\u002Fdynamic-642d5994299c0d45.js"
+    "static\u002Fchunks\u002Fpages\u002Fdynamic-7470a3870d481122.js"
   ],
-  "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-6ece0649d14938b8.js"],
-  "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-e3382ebb932b5bfb.js"],
-  "/image": ["static\u002Fchunks\u002Fpages\u002Fimage-1cc7e37555d1cef6.js"],
-  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-5cbe1349380d92ee.js"],
+  "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-d456b89ea2e58ccb.js"],
+  "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-05db224a0b1fb76a.js"],
+  "/image": ["static\u002Fchunks\u002Fpages\u002Fimage-e7374cd102a2a084.js"],
+  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-3a3db92194a522ff.js"],
   "/routerDirect": [
-    "static\u002Fchunks\u002Fpages\u002FrouterDirect-9669d5861da5e10b.js"
+    "static\u002Fchunks\u002Fpages\u002FrouterDirect-8a036a4ae9e5d6ed.js"
   ],
-  "/script": ["static\u002Fchunks\u002Fpages\u002Fscript-c439c95569fb9033.js"],
+  "/script": ["static\u002Fchunks\u002Fpages\u002Fscript-d318755acc6c0b22.js"],
   "/withRouter": [
-    "static\u002Fchunks\u002Fpages\u002FwithRouter-8b03818d0ed540a0.js"
+    "static\u002Fchunks\u002Fpages\u002FwithRouter-dee19dca16003991.js"
   ],
   sortedPages: [
     "\u002F",
Diff for _app-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [888],
   {
-    /***/ 3479: /***/ function(
+    /***/ 122: /***/ 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__(3653);
+          return __webpack_require__(777);
         }
       ]);
       if (false) {
@@ -18,124 +18,20 @@
       /***/
     },
 
-    /***/ 3653: /***/ function(
+    /***/ 777: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
     ) {
       "use strict";
 
-      var _runtimeJs = _interopRequireDefault(__webpack_require__(739));
-      function _assertThisInitialized(self) {
-        if (self === void 0) {
-          throw new ReferenceError(
-            "this hasn't been initialised - super() hasn't been called"
-          );
-        }
-        return self;
-      }
-      function _classCallCheck(instance, Constructor) {
-        if (!(instance instanceof Constructor)) {
-          throw new TypeError("Cannot call a class as a function");
-        }
-      }
-      function _defineProperties(target, props) {
-        for (var i = 0; i < props.length; i++) {
-          var descriptor = props[i];
-          descriptor.enumerable = descriptor.enumerable || false;
-          descriptor.configurable = true;
-          if ("value" in descriptor) descriptor.writable = true;
-          Object.defineProperty(target, descriptor.key, descriptor);
-        }
-      }
-      function _createClass(Constructor, protoProps, staticProps) {
-        if (protoProps) _defineProperties(Constructor.prototype, protoProps);
-        if (staticProps) _defineProperties(Constructor, staticProps);
-        return Constructor;
-      }
-      function _getPrototypeOf(o) {
-        _getPrototypeOf = Object.setPrototypeOf
-          ? Object.getPrototypeOf
-          : function _getPrototypeOf(o) {
-              return o.__proto__ || Object.getPrototypeOf(o);
-            };
-        return _getPrototypeOf(o);
-      }
-      function _inherits(subClass, superClass) {
-        if (typeof superClass !== "function" && superClass !== null) {
-          throw new TypeError(
-            "Super expression must either be null or a function"
-          );
-        }
-        subClass.prototype = Object.create(superClass && superClass.prototype, {
-          constructor: {
-            value: subClass,
-            writable: true,
-            configurable: true
-          }
-        });
-        if (superClass) _setPrototypeOf(subClass, superClass);
-      }
-      function _interopRequireDefault(obj) {
-        return obj && obj.__esModule
-          ? obj
-          : {
-              default: obj
-            };
-      }
-      function _possibleConstructorReturn(self, call) {
-        if (
-          call &&
-          (_typeof(call) === "object" || typeof call === "function")
-        ) {
-          return call;
-        }
-        return _assertThisInitialized(self);
-      }
-      function _setPrototypeOf(o, p) {
-        _setPrototypeOf =
-          Object.setPrototypeOf ||
-          function _setPrototypeOf(o, p) {
-            o.__proto__ = p;
-            return o;
-          };
-        return _setPrototypeOf(o, p);
-      }
-      var _typeof = function(obj) {
-        "@swc/helpers - typeof";
-        return obj &&
-          typeof Symbol !== "undefined" &&
-          obj.constructor === Symbol
-          ? "symbol"
-          : typeof obj;
-      };
-      function _isNativeReflectConstruct() {
-        if (typeof Reflect === "undefined" || !Reflect.construct) return false;
-        if (Reflect.construct.sham) return false;
-        if (typeof Proxy === "function") return true;
-        try {
-          Boolean.prototype.valueOf.call(
-            Reflect.construct(Boolean, [], function() {})
-          );
-          return true;
-        } catch (e) {
-          return false;
-        }
-      }
-      function _createSuper(Derived) {
-        var hasNativeReflectConstruct = _isNativeReflectConstruct();
-        return function _createSuperInternal() {
-          var Super = _getPrototypeOf(Derived),
-            result;
-          if (hasNativeReflectConstruct) {
-            var NewTarget = _getPrototypeOf(this).constructor;
-            result = Reflect.construct(Super, arguments, NewTarget);
-          } else {
-            result = Super.apply(this, arguments);
-          }
-          return _possibleConstructorReturn(this, result);
-        };
-      }
+      var _class_call_check = __webpack_require__(105) /* ["default"] */.Z;
+      var _create_class = __webpack_require__(3031) /* ["default"] */.Z;
+      var _inherits = __webpack_require__(6461) /* ["default"] */.Z;
+      var _interop_require_default = __webpack_require__(6993) /* ["default"] */
+        .Z;
+      var _create_super = __webpack_require__(7615) /* ["default"] */.Z;
+      var _runtimeJs = _interop_require_default(__webpack_require__(3994));
       Object.defineProperty(exports, "__esModule", {
         value: true
       });
@@ -152,8 +48,8 @@
         }
       });
       exports["default"] = void 0;
-      var _react = _interopRequireDefault1(__webpack_require__(9496));
-      var _utils = __webpack_require__(8030);
+      var _react = _interopRequireDefault(__webpack_require__(9496));
+      var _utils = __webpack_require__(6326);
       function asyncGeneratorStep(
         gen,
         resolve,
@@ -208,7 +104,7 @@
           });
         };
       }
-      function _interopRequireDefault1(obj) {
+      function _interopRequireDefault(obj) {
         return obj && obj.__esModule
           ? obj
           : {
@@ -246,14 +142,15 @@
         );
         return _appGetInitialProps.apply(this, arguments);
       }
-      var App = /*#__PURE__*/ (function(_Component) {
-        _inherits(App, _Component);
-        var _super = _createSuper(App);
+      var _Component;
+      var App = /*#__PURE__*/ (function(_superClass) {
+        _inherits(App, _superClass);
+        var _super = _create_super(App);
         function App() {
-          _classCallCheck(this, App);
+          _class_call_check(this, App);
           return _super.apply(this, arguments);
         }
-        _createClass(App, [
+        _create_class(App, [
           {
             key: "render",
             value: function render() {
@@ -268,10 +165,10 @@
           }
         ]);
         return App;
-      })(_react.default.Component);
-      exports["default"] = App;
+      })((_Component = _react.default.Component));
       App.origGetInitialProps = appGetInitialProps;
-      App.getInitialProps = appGetInitialProps; //# sourceMappingURL=_app.js.map
+      App.getInitialProps = appGetInitialProps;
+      exports["default"] = App; //# sourceMappingURL=_app.js.map
 
       /***/
     }
@@ -282,7 +179,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 179], function() {
-      return __webpack_exec__(3479), __webpack_exec__(7465);
+      return __webpack_exec__(122), __webpack_exec__(7489);
     });
     /******/ 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],
   {
-    /***/ 2929: /***/ function(
+    /***/ 3560: /***/ 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__(5590);
+          return __webpack_require__(2509);
         }
       ]);
       if (false) {
@@ -24,7 +24,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [888, 774, 179], function() {
-      return __webpack_exec__(2929);
+      return __webpack_exec__(3560);
     });
     /******/ 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],
   {
-    /***/ 94: /***/ function(
+    /***/ 7941: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(4634);
+      module.exports = __webpack_require__(6824);
 
       /***/
     },
 
-    /***/ 9028: /***/ function(
+    /***/ 8958: /***/ 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__(4628);
+          return __webpack_require__(9302);
         }
       ]);
       if (false) {
@@ -28,7 +28,45 @@
       /***/
     },
 
-    /***/ 4628: /***/ function(
+    /***/ 6824: /***/ function(module, exports, __webpack_require__) {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
+      exports.useAmp = useAmp;
+      var _react = _interopRequireDefault(__webpack_require__(9496));
+      var _ampContext = __webpack_require__(5789);
+      var _ampMode = __webpack_require__(9208);
+      function _interopRequireDefault(obj) {
+        return obj && obj.__esModule
+          ? obj
+          : {
+              default: obj
+            };
+      }
+      function useAmp() {
+        // Don't assign the context value to a variable to save bytes
+        return (0, _ampMode).isInAmpMode(
+          _react.default.useContext(_ampContext.AmpStateContext)
+        );
+      }
+      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=amp.js.map
+
+      /***/
+    },
+
+    /***/ 9302: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -45,7 +83,7 @@
         /* harmony export */
       });
       /* harmony import */ var next_amp__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
-        94
+        7941
       );
       /* harmony import */ var next_amp__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/ __webpack_require__.n(
         next_amp__WEBPACK_IMPORTED_MODULE_0__
@@ -69,7 +107,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [888, 774, 179], function() {
-      return __webpack_exec__(9028);
+      return __webpack_exec__(8958);
     });
     /******/ 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],
   {
-    /***/ 8281: /***/ function(
+    /***/ 9557: /***/ 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__(1949);
+          return __webpack_require__(79);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 1949: /***/ function(
+    /***/ 79: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -29,7 +29,7 @@
         4637
       );
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        1099
+        2054
       );
       /* 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 @@
       /***/
     },
 
-    /***/ 1099: /***/ function(module) {
+    /***/ 2054: /***/ 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__(8281);
+      return __webpack_exec__(9557);
     });
     /******/ 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],
   {
-    /***/ 2744: /***/ function(
+    /***/ 5695: /***/ 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__(1697);
+          return __webpack_require__(9525);
         }
       ]);
       if (false) {
@@ -18,57 +18,18 @@
       /***/
     },
 
-    /***/ 1926: /***/ function(module, exports, __webpack_require__) {
+    /***/ 6014: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
-      function _defineProperty(obj, key, value) {
-        if (key in obj) {
-          Object.defineProperty(obj, key, {
-            value: value,
-            enumerable: true,
-            configurable: true,
-            writable: true
-          });
-        } else {
-          obj[key] = value;
-        }
-        return obj;
-      }
-      function _instanceof(left, right) {
-        if (
-          right != null &&
-          typeof Symbol !== "undefined" &&
-          right[Symbol.hasInstance]
-        ) {
-          return !!right[Symbol.hasInstance](left);
-        } else {
-          return left instanceof right;
-        }
-      }
-      function _objectSpread(target) {
-        for (var i = 1; i < arguments.length; i++) {
-          var source = arguments[i] != null ? arguments[i] : {};
-          var ownKeys = Object.keys(source);
-          if (typeof Object.getOwnPropertySymbols === "function") {
-            ownKeys = ownKeys.concat(
-              Object.getOwnPropertySymbols(source).filter(function(sym) {
-                return Object.getOwnPropertyDescriptor(source, sym).enumerable;
-              })
-            );
-          }
-          ownKeys.forEach(function(key) {
-            _defineProperty(target, key, source[key]);
-          });
-        }
-        return target;
-      }
+      var _instanceof = __webpack_require__(186) /* ["default"] */.Z;
+      var _object_spread = __webpack_require__(7353) /* ["default"] */.Z;
       Object.defineProperty(exports, "__esModule", {
         value: true
       });
       exports["default"] = dynamic;
       exports.noSSR = noSSR;
       var _react = _interopRequireDefault(__webpack_require__(9496));
-      var _loadable = _interopRequireDefault(__webpack_require__(4596));
+      var _loadable = _interopRequireDefault(__webpack_require__(7679));
       function dynamic(dynamicOptions, options) {
         var loadableFn = _loadable.default;
         var loadableOptions = {
@@ -96,31 +57,31 @@
           loadableOptions.loader = dynamicOptions;
           // Support for having first argument being options, eg: dynamic({loader: import('../hello-world')})
         } else if (typeof dynamicOptions === "object") {
-          loadableOptions = _objectSpread({}, loadableOptions, dynamicOptions);
+          loadableOptions = _object_spread({}, loadableOptions, dynamicOptions);
         }
         // Support for passing options, eg: dynamic(import('../hello-world'), {loading: () => <p>Loading something</p>})
-        loadableOptions = _objectSpread({}, loadableOptions, options);
-        var suspenseOptions = loadableOptions;
+        loadableOptions = _object_spread({}, loadableOptions, options);
         // Error if Fizz rendering is not enabled and `suspense` option is set to true
-        if (true && suspenseOptions.suspense) {
+        if (true && loadableOptions.suspense) {
           throw new Error(
             "Invalid suspense option usage in next/dynamic. Read more: https://nextjs.org/docs/messages/invalid-dynamic-suspense"
           );
         }
-        if (suspenseOptions.suspense) {
-          return loadableFn(suspenseOptions);
-        }
         // coming from build/babel/plugins/react-loadable-plugin.js
         if (loadableOptions.loadableGenerated) {
-          loadableOptions = _objectSpread(
+          loadableOptions = _object_spread(
             {},
             loadableOptions,
             loadableOptions.loadableGenerated
           );
           delete loadableOptions.loadableGenerated;
         }
-        // support for disabling server side rendering, eg: dynamic(import('../hello-world'), {ssr: false})
-        if (typeof loadableOptions.ssr === "boolean") {
+        // support for disabling server side rendering, eg: dynamic(import('../hello-world'), {ssr: false}).
+        // skip `ssr` for suspense mode and opt-in React.lazy directly
+        if (
+          typeof loadableOptions.ssr === "boolean" &&
+          !loadableOptions.suspense
+        ) {
           if (!loadableOptions.ssr) {
             delete loadableOptions.ssr;
             return noSSR(loadableFn, loadableOptions);
@@ -157,9 +118,13 @@
         };
       }
       if (
-        typeof exports.default === "function" ||
-        (typeof exports.default === "object" && exports.default !== null)
+        (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=dynamic.js.map
@@ -167,7 +132,7 @@
       /***/
     },
 
-    /***/ 7063: /***/ function(
+    /***/ 8416: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -194,100 +159,23 @@
       /***/
     },
 
-    /***/ 4596: /***/ function(
+    /***/ 7679: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
     ) {
       "use strict";
 
-      function _classCallCheck(instance, Constructor) {
-        if (!(instance instanceof Constructor)) {
-          throw new TypeError("Cannot call a class as a function");
-        }
-      }
-      function _defineProperties(target, props) {
-        for (var i = 0; i < props.length; i++) {
-          var descriptor = props[i];
-          descriptor.enumerable = descriptor.enumerable || false;
-          descriptor.configurable = true;
-          if ("value" in descriptor) descriptor.writable = true;
-          Object.defineProperty(target, descriptor.key, descriptor);
-        }
-      }
-      function _createClass(Constructor, protoProps, staticProps) {
-        if (protoProps) _defineProperties(Constructor.prototype, protoProps);
-        if (staticProps) _defineProperties(Constructor, staticProps);
-        return Constructor;
-      }
-      function _defineProperty(obj, key, value) {
-        if (key in obj) {
-          Object.defineProperty(obj, key, {
-            value: value,
-            enumerable: true,
-            configurable: true,
-            writable: true
-          });
-        } else {
-          obj[key] = value;
-        }
-        return obj;
-      }
-      function _objectSpread(target) {
-        for (var i = 1; i < arguments.length; i++) {
-          var source = arguments[i] != null ? arguments[i] : {};
-          var ownKeys = Object.keys(source);
-          if (typeof Object.getOwnPropertySymbols === "function") {
-            ownKeys = ownKeys.concat(
-              Object.getOwnPropertySymbols(source).filter(function(sym) {
-                return Object.getOwnPropertyDescriptor(source, sym).enumerable;
-              })
-            );
-          }
-          ownKeys.forEach(function(key) {
-            _defineProperty(target, key, source[key]);
-          });
-        }
-        return target;
-      }
-      function ownKeys(object, enumerableOnly) {
-        var keys = Object.keys(object);
-        if (Object.getOwnPropertySymbols) {
-          var symbols = Object.getOwnPropertySymbols(object);
-          if (enumerableOnly) {
-            symbols = symbols.filter(function(sym) {
-              return Object.getOwnPropertyDescriptor(object, sym).enumerable;
-            });
-          }
-          keys.push.apply(keys, symbols);
-        }
-        return keys;
-      }
-      function _objectSpreadProps(target, source) {
-        source = source != null ? source : {};
-        if (Object.getOwnPropertyDescriptors) {
-          Object.defineProperties(
-            target,
-            Object.getOwnPropertyDescriptors(source)
-          );
-        } else {
-          ownKeys(Object(source)).forEach(function(key) {
-            Object.defineProperty(
-              target,
-              key,
-              Object.getOwnPropertyDescriptor(source, key)
-            );
-          });
-        }
-        return target;
-      }
+      var _class_call_check = __webpack_require__(105) /* ["default"] */.Z;
+      var _create_class = __webpack_require__(3031) /* ["default"] */.Z;
+      var _object_spread = __webpack_require__(7353) /* ["default"] */.Z;
+      var _object_spread_props = __webpack_require__(2218) /* ["default"] */.Z;
       Object.defineProperty(exports, "__esModule", {
         value: true
       });
       exports["default"] = void 0;
       var _react = _interopRequireDefault(__webpack_require__(9496));
-      var _useSubscription = __webpack_require__(1181);
-      var _loadableContext = __webpack_require__(7063);
+      var _loadableContext = __webpack_require__(8416);
       function _interopRequireDefault(obj) {
         return obj && obj.__esModule
           ? obj
@@ -295,6 +183,8 @@
               default: obj
             };
       }
+      var useSyncExternalStore = (false ? 0 : __webpack_require__(9155))
+        .useSyncExternalStore;
       var ALL_INITIALIZERS = [];
       var READY_INITIALIZERS = [];
       var initialized = false;
@@ -334,12 +224,24 @@
           }
           return subscription.promise();
         };
-        var LoadableImpl = function LoadableImpl(props, ref) {
+        var useLoadableModule = function useLoadableModule() {
           init();
           var context = _react.default.useContext(
             _loadableContext.LoadableContext
           );
-          var state = (0, _useSubscription).useSubscription(subscription);
+          if (context && Array.isArray(opts.modules)) {
+            opts.modules.forEach(function(moduleName) {
+              context(moduleName);
+            });
+          }
+        };
+        var LoadableImpl = function LoadableImpl(props, ref) {
+          useLoadableModule();
+          var state = useSyncExternalStore(
+            subscription.subscribe,
+            subscription.getCurrentValue,
+            subscription.getCurrentValue
+          );
           _react.default.useImperativeHandle(
             ref,
             function() {
@@ -349,11 +251,6 @@
             },
             []
           );
-          if (context && Array.isArray(opts.modules)) {
-            opts.modules.forEach(function(moduleName) {
-              context(moduleName);
-            });
-          }
           return _react.default.useMemo(
             function() {
               if (state.loading || state.error) {
@@ -377,9 +274,10 @@
           );
         };
         var LazyImpl = function LazyImpl(props, ref) {
+          useLoadableModule();
           return _react.default.createElement(
             opts.lazy,
-            _objectSpreadProps(_objectSpread({}, props), {
+            _object_spread_props(_object_spread({}, props), {
               ref: ref
             })
           );
@@ -399,12 +297,12 @@
         if (opts.suspense) {
           opts.lazy = _react.default.lazy(opts.loader);
         }
-        var subscription = null;
+        /** @type LoadableSubscription */ var subscription = null;
         // Server only
         if (false) {
         }
         // Client only
-        if (!initialized && "object" !== "undefined" && !opts.suspense) {
+        if (!initialized && "object" !== "undefined") {
           // require.resolveWeak check is needed for environments that don't have it available like Jest
           var moduleIds =
             opts.webpack && "function" === "function"
@@ -446,14 +344,14 @@
         }
         var LoadableComponent = opts.suspense ? LazyImpl : LoadableImpl;
         LoadableComponent.preload = function() {
-          return !opts.suspense && init();
+          return init();
         };
         LoadableComponent.displayName = "LoadableComponent";
         return _react.default.forwardRef(LoadableComponent);
       }
       var LoadableSubscription = /*#__PURE__*/ (function() {
         function LoadableSubscription(loadFn, opts) {
-          _classCallCheck(this, LoadableSubscription);
+          _class_call_check(this, LoadableSubscription);
           this._loadFn = loadFn;
           this._opts = opts;
           this._callbacks = new Set();
@@ -461,7 +359,7 @@
           this._timeout = null;
           this.retry();
         }
-        _createClass(LoadableSubscription, [
+        _create_class(LoadableSubscription, [
           {
             key: "promise",
             value: function promise() {
@@ -518,8 +416,8 @@
           {
             key: "_update",
             value: function _update(partial) {
-              this._state = _objectSpread(
-                _objectSpreadProps(_objectSpread({}, this._state), {
+              this._state = _object_spread(
+                _object_spread_props(_object_spread({}, this._state), {
                   error: this._res.error,
                   loaded: this._res.loaded,
                   loading: this._res.loading
@@ -598,7 +496,7 @@
       /***/
     },
 
-    /***/ 1697: /***/ function(
+    /***/ 9525: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -615,7 +513,7 @@
         4637
       );
       /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        1605
+        2123
       );
       /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         next_dynamic__WEBPACK_IMPORTED_MODULE_1__
@@ -624,13 +522,13 @@
       var DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
         function() {
           return __webpack_require__
-            .e(/* import() */ 437)
-            .then(__webpack_require__.bind(__webpack_require__, 7437));
+            .e(/* import() */ 128)
+            .then(__webpack_require__.bind(__webpack_require__, 5128));
         },
         {
           loadableGenerated: {
             webpack: function() {
-              return [/*require.resolve*/ 7437];
+              return [/*require.resolve*/ 5128];
             }
           }
         }
@@ -660,195 +558,103 @@
       /***/
     },
 
-    /***/ 1181: /***/ function(
+    /***/ 2123: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      var __dirname = "/";
-      (function() {
-        "use strict";
-        var e = {
-          800: function(e) {
-            /*
-object-assign
-(c) Sindre Sorhus
-@license MIT
-*/
-            var r = Object.getOwnPropertySymbols;
-            var t = Object.prototype.hasOwnProperty;
-            var u = Object.prototype.propertyIsEnumerable;
-            function toObject(e) {
-              if (e === null || e === undefined) {
-                throw new TypeError(
-                  "Object.assign cannot be called with null or undefined"
-                );
-              }
-              return Object(e);
-            }
-            function shouldUseNative() {
-              try {
-                if (!Object.assign) {
-                  return false;
-                }
-                var e = new String("abc");
-                e[5] = "de";
-                if (Object.getOwnPropertyNames(e)[0] === "5") {
-                  return false;
-                }
-                var r = {};
-                for (var t = 0; t < 10; t++) {
-                  r["_" + String.fromCharCode(t)] = t;
-                }
-                var u = Object.getOwnPropertyNames(r).map(function(e) {
-                  return r[e];
-                });
-                if (u.join("") !== "0123456789") {
-                  return false;
-                }
-                var n = {};
-                "abcdefghijklmnopqrst".split("").forEach(function(e) {
-                  n[e] = e;
-                });
-                if (
-                  Object.keys(Object.assign({}, n)).join("") !==
-                  "abcdefghijklmnopqrst"
-                ) {
-                  return false;
-                }
-                return true;
-              } catch (e) {
-                return false;
-              }
-            }
-            e.exports = shouldUseNative()
-              ? Object.assign
-              : function(e, n) {
-                  var a;
-                  var i = toObject(e);
-                  var s;
-                  for (var c = 1; c < arguments.length; c++) {
-                    a = Object(arguments[c]);
-                    for (var o in a) {
-                      if (t.call(a, o)) {
-                        i[o] = a[o];
-                      }
-                    }
-                    if (r) {
-                      s = r(a);
-                      for (var f = 0; f < s.length; f++) {
-                        if (u.call(a, s[f])) {
-                          i[s[f]] = a[s[f]];
-                        }
-                      }
-                    }
-                  }
-                  return i;
-                };
-          },
-          569: function(e, r, t) {
-            /** @license React vundefined
-             * use-subscription.development.js
-             *
-             * Copyright (c) Facebook, Inc. and its affiliates.
-             *
-             * This source code is licensed under the MIT license found in the
-             * LICENSE file in the root directory of this source tree.
-             */
-            if (false) {
-            }
-          },
-          403: function(e, r, t) {
-            /** @license React vundefined
-             * use-subscription.production.min.js
-             *
-             * Copyright (c) Facebook, Inc. and its affiliates.
-             *
-             * This source code is licensed under the MIT license found in the
-             * LICENSE file in the root directory of this source tree.
-             */
-            var u = t(800),
-              n = t(522);
-            r.useSubscription = function(e) {
-              var r = e.getCurrentValue,
-                t = e.subscribe,
-                a = n.useState(function() {
-                  return { getCurrentValue: r, subscribe: t, value: r() };
-                });
-              e = a[0];
-              var i = a[1];
-              a = e.value;
-              if (e.getCurrentValue !== r || e.subscribe !== t)
-                (a = r()), i({ getCurrentValue: r, subscribe: t, value: a });
-              n.useDebugValue(a);
-              n.useEffect(
-                function() {
-                  function b() {
-                    if (!e) {
-                      var n = r();
-                      i(function(e) {
-                        return e.getCurrentValue !== r ||
-                          e.subscribe !== t ||
-                          e.value === n
-                          ? e
-                          : u({}, e, { value: n });
-                      });
-                    }
-                  }
-                  var e = !1,
-                    n = t(b);
-                  b();
-                  return function() {
-                    e = !0;
-                    n();
-                  };
-                },
-                [r, t]
-              );
-              return a;
-            };
+      module.exports = __webpack_require__(6014);
+
+      /***/
+    },
+
+    /***/ 9364: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
+      /**
+       * @license React
+       * use-sync-external-store-shim.production.min.js
+       *
+       * Copyright (c) Facebook, Inc. and its affiliates.
+       *
+       * This source code is licensed under the MIT license found in the
+       * LICENSE file in the root directory of this source tree.
+       */
+      var e = __webpack_require__(9496);
+      function h(a, b) {
+        return (
+          (a === b && (0 !== a || 1 / a === 1 / b)) || (a !== a && b !== b)
+        );
+      }
+      var k = "function" === typeof Object.is ? Object.is : h,
+        l = e.useState,
+        m = e.useEffect,
+        n = e.useLayoutEffect,
+        p = e.useDebugValue;
+      function q(a, b) {
+        var d = b(),
+          f = l({ inst: { value: d, getSnapshot: b } }),
+          c = f[0].inst,
+          g = f[1];
+        n(
+          function() {
+            c.value = d;
+            c.getSnapshot = b;
+            r(c) && g({ inst: c });
           },
-          138: function(e, r, t) {
-            if (true) {
-              e.exports = t(403);
-            } else {
-            }
+          [a, d, b]
+        );
+        m(
+          function() {
+            r(c) && g({ inst: c });
+            return a(function() {
+              r(c) && g({ inst: c });
+            });
           },
-          522: function(e) {
-            e.exports = __webpack_require__(9496);
-          }
-        };
-        var r = {};
-        function __nccwpck_require__(t) {
-          var u = r[t];
-          if (u !== undefined) {
-            return u.exports;
-          }
-          var n = (r[t] = { exports: {} });
-          var a = true;
-          try {
-            e[t](n, n.exports, __nccwpck_require__);
-            a = false;
-          } finally {
-            if (a) delete r[t];
-          }
-          return n.exports;
+          [a]
+        );
+        p(d);
+        return d;
+      }
+      function r(a) {
+        var b = a.getSnapshot;
+        a = a.value;
+        try {
+          var d = b();
+          return !k(a, d);
+        } catch (f) {
+          return !0;
         }
-        if (typeof __nccwpck_require__ !== "undefined")
-          __nccwpck_require__.ab = __dirname + "/";
-        var t = __nccwpck_require__(138);
-        module.exports = t;
-      })();
+      }
+      function t(a, b) {
+        return b();
+      }
+      var u =
+        "undefined" === typeof window ||
+        "undefined" === typeof window.document ||
+        "undefined" === typeof window.document.createElement
+          ? t
+          : q;
+      exports.useSyncExternalStore =
+        void 0 !== e.useSyncExternalStore ? e.useSyncExternalStore : u;
 
       /***/
     },
 
-    /***/ 1605: /***/ function(
+    /***/ 9155: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(1926);
+      "use strict";
+
+      if (true) {
+        module.exports = __webpack_require__(9364);
+      } else {
+      }
 
       /***/
     }
@@ -859,7 +665,7 @@ object-assign
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(2744);
+      return __webpack_exec__(5695);
     });
     /******/ 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],
   {
-    /***/ 4337: /***/ function(
+    /***/ 7148: /***/ 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__(848);
+          return __webpack_require__(7481);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 848: /***/ function(
+    /***/ 7481: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -35,7 +35,7 @@
         4637
       );
       /* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        8915
+        4616
       );
       /* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         next_head__WEBPACK_IMPORTED_MODULE_1__
@@ -71,12 +71,12 @@
       /***/
     },
 
-    /***/ 8915: /***/ function(
+    /***/ 4616: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(4828);
+      module.exports = __webpack_require__(4790);
 
       /***/
     }
@@ -87,7 +87,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(4337);
+      return __webpack_exec__(7148);
     });
     /******/ 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],
   {
-    /***/ 4853: /***/ function(
+    /***/ 3515: /***/ 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__(7084);
+          return __webpack_require__(3451);
         }
       ]);
       if (false) {
@@ -18,74 +18,46 @@
       /***/
     },
 
-    /***/ 7084: /***/ function(
+    /***/ 3451: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
     ) {
       "use strict";
+      // ESM COMPAT FLAG
       __webpack_require__.r(__webpack_exports__);
-      /* harmony export */ __webpack_require__.d(__webpack_exports__, {
-        /* harmony export */ default: function() {
-          return /* export default binding */ __WEBPACK_DEFAULT_EXPORT__;
+
+      // EXPORTS
+      __webpack_require__.d(__webpack_exports__, {
+        default: function() {
+          return /* binding */ hooks;
         }
-        /* harmony export */
-      });
-      /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
-        4637
-      );
-      /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        9496
-      );
-      function _arrayLikeToArray(arr, len) {
-        if (len == null || len > arr.length) len = arr.length;
-        for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
-        return arr2;
-      }
+      }); // CONCATENATED MODULE: ./node_modules/.pnpm/@[email protected]/node_modules/@swc/helpers/src/_array_with_holes.mjs
+
       function _arrayWithHoles(arr) {
         if (Array.isArray(arr)) return arr;
-      }
-      function _iterableToArrayLimit(arr, i) {
-        var _i =
-          arr == null
-            ? null
-            : (typeof Symbol !== "undefined" && arr[Symbol.iterator]) ||
-              arr["@@iterator"];
-        if (_i == null) return;
-        var _arr = [];
-        var _n = true;
-        var _d = false;
-        var _s, _e;
-        try {
-          for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
-            _arr.push(_s.value);
-            if (i && _arr.length === i) break;
-          }
-        } catch (err) {
-          _d = true;
-          _e = err;
-        } finally {
-          try {
-            if (!_n && _i["return"] != null) _i["return"]();
-          } finally {
-            if (_d) throw _e;
-          }
-        }
-        return _arr;
-      }
+      } // CONCATENATED MODULE: ./node_modules/.pnpm/@[email protected]/node_modules/@swc/helpers/src/_iterable_to_array.mjs
+
+      function _iterableToArray(iter) {
+        if (
+          (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null) ||
+          iter["@@iterator"] != null
+        )
+          return Array.from(iter);
+      } // CONCATENATED MODULE: ./node_modules/.pnpm/@[email protected]/node_modules/@swc/helpers/src/_non_iterable_rest.mjs
+
       function _nonIterableRest() {
         throw new TypeError(
           "Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."
         );
-      }
-      function _slicedToArray(arr, i) {
-        return (
-          _arrayWithHoles(arr) ||
-          _iterableToArrayLimit(arr, i) ||
-          _unsupportedIterableToArray(arr, i) ||
-          _nonIterableRest()
-        );
-      }
+      } // CONCATENATED MODULE: ./node_modules/.pnpm/@[email protected]/node_modules/@swc/helpers/src/_array_like_to_array.mjs
+
+      function _arrayLikeToArray(arr, len) {
+        if (len == null || len > arr.length) len = arr.length;
+        for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
+        return arr2;
+      } // CONCATENATED MODULE: ./node_modules/.pnpm/@[email protected]/node_modules/@swc/helpers/src/_unsupported_iterable_to_array.mjs
+
       function _unsupportedIterableToArray(o, minLen) {
         if (!o) return;
         if (typeof o === "string") return _arrayLikeToArray(o, minLen);
@@ -97,56 +69,58 @@
           /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
         )
           return _arrayLikeToArray(o, minLen);
+      } // CONCATENATED MODULE: ./node_modules/.pnpm/@[email protected]/node_modules/@swc/helpers/src/_sliced_to_array.mjs
+
+      function _slicedToArray(arr, i) {
+        return (
+          _arrayWithHoles(arr) ||
+          _iterableToArray(arr, i) ||
+          _unsupportedIterableToArray(arr, i) ||
+          _nonIterableRest()
+        );
       }
 
-      /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__() {
-        var ref = _slicedToArray(
-            react__WEBPACK_IMPORTED_MODULE_1__.useState(0),
-            2
-          ),
+      // EXTERNAL MODULE: ./node_modules/.pnpm/[email protected]/node_modules/react/jsx-runtime.js
+      var jsx_runtime = __webpack_require__(4637);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/[email protected]/node_modules/react/index.js
+      var react = __webpack_require__(9496); // CONCATENATED MODULE: ./pages/hooks.js
+      /* harmony default export */ function hooks() {
+        var ref = _slicedToArray(react.useState(0), 2),
           clicks1 = ref[0],
           setClicks1 = ref[1];
-        var ref1 = (0, react__WEBPACK_IMPORTED_MODULE_1__.useState)(0),
+        var ref1 = (0, react.useState)(0),
           clicks2 = ref1[0],
           setClicks2 = ref1[1];
-        var doClick1 = react__WEBPACK_IMPORTED_MODULE_1__.useCallback(
+        var doClick1 = react.useCallback(
           function() {
             setClicks1(clicks1 + 1);
           },
           [clicks1]
         );
-        var doClick2 = (0, react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(
+        var doClick2 = (0, react.useCallback)(
           function() {
             setClicks2(clicks2 + 1);
           },
           [clicks2]
         );
-        return /*#__PURE__*/ (0,
-        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(
-          react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment,
-          {
-            children: [
-              /*#__PURE__*/ (0,
-              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("h3", {
-                children: ["Clicks ", clicks1]
-              }),
-              /*#__PURE__*/ (0,
-              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", {
-                onClick: doClick1,
-                children: "Click me"
-              }),
-              /*#__PURE__*/ (0,
-              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("h3", {
-                children: ["Clicks ", clicks2]
-              }),
-              /*#__PURE__*/ (0,
-              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", {
-                onClick: doClick2,
-                children: "Click me"
-              })
-            ]
-          }
-        );
+        return /*#__PURE__*/ (0, jsx_runtime.jsxs)(jsx_runtime.Fragment, {
+          children: [
+            /*#__PURE__*/ (0, jsx_runtime.jsxs)("h3", {
+              children: ["Clicks ", clicks1]
+            }),
+            /*#__PURE__*/ (0, jsx_runtime.jsx)("button", {
+              onClick: doClick1,
+              children: "Click me"
+            }),
+            /*#__PURE__*/ (0, jsx_runtime.jsxs)("h3", {
+              children: ["Clicks ", clicks2]
+            }),
+            /*#__PURE__*/ (0, jsx_runtime.jsx)("button", {
+              onClick: doClick2,
+              children: "Click me"
+            })
+          ]
+        });
       }
 
       /***/
@@ -158,7 +132,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(4853);
+      return __webpack_exec__(3515);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for image-HASH.js

Diff too large to display

Diff for index-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [405],
   {
-    /***/ 4786: /***/ function(
+    /***/ 6967: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/",
         function() {
-          return __webpack_require__(7245);
+          return __webpack_require__(3973);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 7245: /***/ function(
+    /***/ 3973: /***/ 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__(4786);
+      return __webpack_exec__(6967);
     });
     /******/ 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],
   {
-    /***/ 2783: /***/ function(
+    /***/ 9367: /***/ 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__(3122);
+          return __webpack_require__(1849);
         }
       ]);
       if (false) {
@@ -18,86 +18,59 @@
       /***/
     },
 
-    /***/ 7160: /***/ function(module, exports, __webpack_require__) {
+    /***/ 1908: /***/ function(module, exports) {
       "use strict";
 
-      function _arrayLikeToArray(arr, len) {
-        if (len == null || len > arr.length) len = arr.length;
-        for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
-        return arr2;
-      }
-      function _arrayWithHoles(arr) {
-        if (Array.isArray(arr)) return arr;
-      }
-      function _iterableToArrayLimit(arr, i) {
-        var _i =
-          arr == null
-            ? null
-            : (typeof Symbol !== "undefined" && arr[Symbol.iterator]) ||
-              arr["@@iterator"];
-        if (_i == null) return;
-        var _arr = [];
-        var _n = true;
-        var _d = false;
-        var _s, _e;
-        try {
-          for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
-            _arr.push(_s.value);
-            if (i && _arr.length === i) break;
-          }
-        } catch (err) {
-          _d = true;
-          _e = err;
-        } finally {
-          try {
-            if (!_n && _i["return"] != null) _i["return"]();
-          } finally {
-            if (_d) throw _e;
-          }
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
+      exports.getDomainLocale = getDomainLocale;
+      var basePath =
+        /* unused pure expression or super */ null && (false || "");
+      function getDomainLocale(path, locale, locales, domainLocales) {
+        if (false) {
+          var finalLocale,
+            proto,
+            domain,
+            target,
+            detectDomainLocale,
+            normalizeLocalePath;
+        } else {
+          return false;
         }
-        return _arr;
-      }
-      function _nonIterableRest() {
-        throw new TypeError(
-          "Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."
-        );
-      }
-      function _slicedToArray(arr, i) {
-        return (
-          _arrayWithHoles(arr) ||
-          _iterableToArrayLimit(arr, i) ||
-          _unsupportedIterableToArray(arr, i) ||
-          _nonIterableRest()
-        );
-      }
-      var _typeof = function(obj) {
-        "@swc/helpers - typeof";
-        return obj &&
-          typeof Symbol !== "undefined" &&
-          obj.constructor === Symbol
-          ? "symbol"
-          : typeof obj;
-      };
-      function _unsupportedIterableToArray(o, minLen) {
-        if (!o) return;
-        if (typeof o === "string") return _arrayLikeToArray(o, minLen);
-        var n = Object.prototype.toString.call(o).slice(8, -1);
-        if (n === "Object" && o.constructor) n = o.constructor.name;
-        if (n === "Map" || n === "Set") return Array.from(n);
-        if (
-          n === "Arguments" ||
-          /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
-        )
-          return _arrayLikeToArray(o, minLen);
       }
+      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=get-domain-locale.js.map
+
+      /***/
+    },
+
+    /***/ 882: /***/ function(module, exports, __webpack_require__) {
+      "use strict";
+
+      var _sliced_to_array = __webpack_require__(7694) /* ["default"] */.Z;
+      var _type_of = __webpack_require__(5484)["default"];
       Object.defineProperty(exports, "__esModule", {
         value: true
       });
       exports["default"] = void 0;
       var _react = _interopRequireDefault(__webpack_require__(9496));
-      var _router = __webpack_require__(1368);
-      var _router1 = __webpack_require__(7465);
-      var _useIntersection = __webpack_require__(6363);
+      var _router = __webpack_require__(8340);
+      var _addLocale = __webpack_require__(9465);
+      var _routerContext = __webpack_require__(1349);
+      var _appRouterContext = __webpack_require__(3407);
+      var _useIntersection = __webpack_require__(5668);
+      var _getDomainLocale = __webpack_require__(1908);
+      var _addBasePath = __webpack_require__(8126);
       function _interopRequireDefault(obj) {
         return obj && obj.__esModule
           ? obj
@@ -105,22 +78,6 @@
               default: obj
             };
       }
-      function _objectWithoutProperties(source, excluded) {
-        if (source == null) return {};
-        var target = _objectWithoutPropertiesLoose(source, excluded);
-        var key, i;
-        if (Object.getOwnPropertySymbols) {
-          var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
-          for (i = 0; i < sourceSymbolKeys.length; i++) {
-            key = sourceSymbolKeys[i];
-            if (excluded.indexOf(key) >= 0) continue;
-            if (!Object.prototype.propertyIsEnumerable.call(source, key))
-              continue;
-            target[key] = source[key];
-          }
-        }
-        return target;
-      }
       function _objectWithoutPropertiesLoose(source, excluded) {
         if (source == null) return {};
         var target = {};
@@ -133,6 +90,9 @@
         }
         return target;
       }
+      // @ts-ignore useTransition exist
+      var hasUseTransition =
+        typeof _react.default.useTransition !== "undefined";
       var prefetched = {};
       function prefetch(router, href, as, options) {
         if (false || !router) return;
@@ -171,7 +131,8 @@
         replace,
         shallow,
         scroll,
-        locale
+        locale,
+        startTransition
       ) {
         var nodeName = e.currentTarget.nodeName;
         // anchors inside an svg have a lowercase nodeName
@@ -184,22 +145,24 @@
           return;
         }
         e.preventDefault();
-        // replace state instead of push if prop is present
-        router[replace ? "replace" : "push"](href, as, {
-          shallow: shallow,
-          locale: locale,
-          scroll: scroll
-        });
+        var navigate = function() {
+          // replace state instead of push if prop is present
+          router[replace ? "replace" : "push"](href, as, {
+            shallow: shallow,
+            locale: locale,
+            scroll: scroll
+          });
+        };
+        if (startTransition) {
+          startTransition(navigate);
+        } else {
+          navigate();
+        }
       }
-      var Link = /*#__PURE__*/ _react.default.forwardRef(function(
+      var Link = /*#__PURE__*/ _react.default.forwardRef(function LinkComponent(
         props,
         forwardedRef
       ) {
-        var _legacyBehavior = props.legacyBehavior,
-          legacyBehavior =
-            _legacyBehavior === void 0
-              ? Boolean(false) !== true
-              : _legacyBehavior;
         if (false) {
           var hasWarned,
             optionalProps,
@@ -220,7 +183,12 @@
           locale = props.locale,
           onClick = props.onClick,
           onMouseEnter = props.onMouseEnter,
-          restProps = _objectWithoutProperties(props, [
+          _legacyBehavior = props.legacyBehavior,
+          legacyBehavior =
+            _legacyBehavior === void 0
+              ? Boolean(false) !== true
+              : _legacyBehavior,
+          restProps = _objectWithoutPropertiesLoose(props, [
             "href",
             "as",
             "children",
@@ -231,10 +199,14 @@
             "scroll",
             "locale",
             "onClick",
-            "onMouseEnter"
+            "onMouseEnter",
+            "legacyBehavior"
           ]);
         children = childrenProp;
-        if (legacyBehavior && typeof children === "string") {
+        if (
+          legacyBehavior &&
+          (typeof children === "string" || typeof children === "number")
+        ) {
           children = /*#__PURE__*/ _react.default.createElement(
             "a",
             null,
@@ -242,10 +214,24 @@
           );
         }
         var p = prefetchProp !== false;
-        var router = (0, _router1).useRouter();
-        var ref = _react.default.useMemo(
+        var ref = _sliced_to_array(
+            hasUseTransition // @ts-ignore useTransition exists
+              ? // eslint-disable-next-line react-hooks/rules-of-hooks
+                _react.default.useTransition()
+              : [],
+            2
+          ),
+          /* isPending */ startTransition = ref[1];
+        var router = _react.default.useContext(_routerContext.RouterContext);
+        var appRouter = _react.default.useContext(
+          _appRouterContext.AppRouterContext
+        );
+        if (appRouter) {
+          router = appRouter;
+        }
+        var ref1 = _react.default.useMemo(
             function() {
-              var ref = _slicedToArray(
+              var ref = _sliced_to_array(
                   (0, _router).resolveHref(router, hrefProp, true),
                   2
                 ),
@@ -260,8 +246,8 @@
             },
             [router, hrefProp, asProp]
           ),
-          href = ref.href,
-          as = ref.as;
+          href = ref1.href,
+          as = ref1.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
@@ -275,15 +261,15 @@
         var childRef = legacyBehavior
           ? child && typeof child === "object" && child.ref
           : forwardedRef;
-        var ref1 = _slicedToArray(
+        var ref2 = _sliced_to_array(
             (0, _useIntersection).useIntersection({
               rootMargin: "200px"
             }),
             3
           ),
-          setIntersectionRef = ref1[0],
-          isVisible = ref1[1],
-          resetVisible = ref1[2];
+          setIntersectionRef = ref2[0],
+          isVisible = ref2[1],
+          resetVisible = ref2[2];
         var setRef = _react.default.useCallback(
           function(el) {
             // Before the link getting observed, check if visible state need to be reset
@@ -342,7 +328,8 @@
                 replace,
                 shallow,
                 scroll,
-                locale
+                locale,
+                appRouter ? startTransition : undefined
               );
             }
           },
@@ -378,16 +365,16 @@
           var localeDomain =
             router &&
             router.isLocaleDomain &&
-            (0, _router).getDomainLocale(
+            (0, _getDomainLocale).getDomainLocale(
               as,
               curLocale,
-              router && router.locales,
-              router && router.domainLocales
+              router.locales,
+              router.domainLocales
             );
           childProps.href =
             localeDomain ||
-            (0, _router).addBasePath(
-              (0, _router).addLocale(
+            (0, _addBasePath).addBasePath(
+              (0, _addLocale).addLocale(
                 as,
                 curLocale,
                 router && router.defaultLocale
@@ -405,9 +392,13 @@
       var _default = Link;
       exports["default"] = _default;
       if (
-        typeof exports.default === "function" ||
-        (typeof exports.default === "object" && exports.default !== null)
+        (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=link.js.map
@@ -415,120 +406,54 @@
       /***/
     },
 
-    /***/ 6363: /***/ function(module, exports, __webpack_require__) {
+    /***/ 5668: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
-      function _arrayLikeToArray(arr, len) {
-        if (len == null || len > arr.length) len = arr.length;
-        for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
-        return arr2;
-      }
-      function _arrayWithHoles(arr) {
-        if (Array.isArray(arr)) return arr;
-      }
-      function _iterableToArrayLimit(arr, i) {
-        var _i =
-          arr == null
-            ? null
-            : (typeof Symbol !== "undefined" && arr[Symbol.iterator]) ||
-              arr["@@iterator"];
-        if (_i == null) return;
-        var _arr = [];
-        var _n = true;
-        var _d = false;
-        var _s, _e;
-        try {
-          for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
-            _arr.push(_s.value);
-            if (i && _arr.length === i) break;
-          }
-        } catch (err) {
-          _d = true;
-          _e = err;
-        } finally {
-          try {
-            if (!_n && _i["return"] != null) _i["return"]();
-          } finally {
-            if (_d) throw _e;
-          }
-        }
-        return _arr;
-      }
-      function _nonIterableRest() {
-        throw new TypeError(
-          "Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."
-        );
-      }
-      function _slicedToArray(arr, i) {
-        return (
-          _arrayWithHoles(arr) ||
-          _iterableToArrayLimit(arr, i) ||
-          _unsupportedIterableToArray(arr, i) ||
-          _nonIterableRest()
-        );
-      }
-      function _unsupportedIterableToArray(o, minLen) {
-        if (!o) return;
-        if (typeof o === "string") return _arrayLikeToArray(o, minLen);
-        var n = Object.prototype.toString.call(o).slice(8, -1);
-        if (n === "Object" && o.constructor) n = o.constructor.name;
-        if (n === "Map" || n === "Set") return Array.from(n);
-        if (
-          n === "Arguments" ||
-          /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
-        )
-          return _arrayLikeToArray(o, minLen);
-      }
+      var _sliced_to_array = __webpack_require__(7694) /* ["default"] */.Z;
       Object.defineProperty(exports, "__esModule", {
         value: true
       });
       exports.useIntersection = useIntersection;
       var _react = __webpack_require__(9496);
-      var _requestIdleCallback = __webpack_require__(7808);
-      var hasIntersectionObserver = typeof IntersectionObserver !== "undefined";
+      var _requestIdleCallback = __webpack_require__(5617);
+      var hasIntersectionObserver = typeof IntersectionObserver === "function";
       function useIntersection(param) {
         var rootRef = param.rootRef,
           rootMargin = param.rootMargin,
           disabled = param.disabled;
         var isDisabled = disabled || !hasIntersectionObserver;
         var unobserve = (0, _react).useRef();
-        var ref = _slicedToArray((0, _react).useState(false), 2),
+        var ref = _sliced_to_array((0, _react).useState(false), 2),
           visible = ref[0],
           setVisible = ref[1];
-        var ref1 = _slicedToArray(
-            (0, _react).useState(rootRef ? rootRef.current : null),
-            2
-          ),
-          root = ref1[0],
-          setRoot = ref1[1];
-        var setRef = (0, _react).useCallback(
-          function(el) {
-            if (unobserve.current) {
-              unobserve.current();
-              unobserve.current = undefined;
-            }
-            if (isDisabled || visible) return;
-            if (el && el.tagName) {
-              unobserve.current = observe(
-                el,
-                function(isVisible) {
-                  return isVisible && setVisible(isVisible);
-                },
-                {
-                  root: root,
-                  rootMargin: rootMargin
-                }
-              );
-            }
-          },
-          [isDisabled, root, rootMargin, visible]
-        );
-        var resetVisible = (0, _react).useCallback(function() {
-          setVisible(false);
-        }, []);
+        var ref1 = _sliced_to_array((0, _react).useState(null), 2),
+          element = ref1[0],
+          setElement = ref1[1];
         (0, _react).useEffect(
           function() {
-            if (!hasIntersectionObserver) {
+            if (hasIntersectionObserver) {
+              if (unobserve.current) {
+                unobserve.current();
+                unobserve.current = undefined;
+              }
+              if (isDisabled || visible) return;
+              if (element && element.tagName) {
+                unobserve.current = observe(
+                  element,
+                  function(isVisible) {
+                    return isVisible && setVisible(isVisible);
+                  },
+                  {
+                    root: rootRef == null ? void 0 : rootRef.current,
+                    rootMargin: rootMargin
+                  }
+                );
+              }
+              return function() {
+                unobserve.current == null ? void 0 : unobserve.current();
+                unobserve.current = undefined;
+              };
+            } else {
               if (!visible) {
                 var idleCallback = (0,
                 _requestIdleCallback).requestIdleCallback(function() {
@@ -542,15 +467,12 @@
               }
             }
           },
-          [visible]
+          [element, isDisabled, rootMargin, rootRef, visible]
         );
-        (0, _react).useEffect(
-          function() {
-            if (rootRef) setRoot(rootRef.current);
-          },
-          [rootRef]
-        );
-        return [setRef, visible, resetVisible];
+        var resetVisible = (0, _react).useCallback(function() {
+          setVisible(false);
+        }, []);
+        return [setElement, visible, resetVisible];
       }
       function observe(element, callback, options) {
         var ref = createObserver(options),
@@ -588,12 +510,9 @@
         var instance;
         if (existing) {
           instance = observers.get(existing);
-        } else {
-          instance = observers.get(id);
-          idList.push(id);
-        }
-        if (instance) {
-          return instance;
+          if (instance) {
+            return instance;
+          }
         }
         var elements = new Map();
         var observer = new IntersectionObserver(function(entries) {
@@ -605,20 +524,23 @@
             }
           });
         }, options);
-        observers.set(
-          id,
-          (instance = {
-            id: id,
-            observer: observer,
-            elements: elements
-          })
-        );
+        instance = {
+          id: id,
+          observer: observer,
+          elements: elements
+        };
+        idList.push(id);
+        observers.set(id, instance);
         return instance;
       }
       if (
-        typeof exports.default === "function" ||
-        (typeof exports.default === "object" && exports.default !== null)
+        (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=use-intersection.js.map
@@ -626,7 +548,34 @@
       /***/
     },
 
-    /***/ 3122: /***/ function(
+    /***/ 3407: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true
+      });
+      exports.AppRouterContext = void 0;
+      var _react = _interopRequireDefault(__webpack_require__(9496));
+      function _interopRequireDefault(obj) {
+        return obj && obj.__esModule
+          ? obj
+          : {
+              default: obj
+            };
+      }
+      var AppRouterContext = _react.default.createContext(null);
+      exports.AppRouterContext = AppRouterContext;
+      if (false) {
+      } //# sourceMappingURL=app-router-context.js.map
+
+      /***/
+    },
+
+    /***/ 1849: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -643,7 +592,7 @@
         4637
       );
       /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        8168
+        8728
       );
       /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         next_link__WEBPACK_IMPORTED_MODULE_1__
@@ -674,12 +623,12 @@
       /***/
     },
 
-    /***/ 8168: /***/ function(
+    /***/ 8728: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(7160);
+      module.exports = __webpack_require__(882);
 
       /***/
     }
@@ -690,7 +639,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(2783);
+      return __webpack_exec__(9367);
     });
     /******/ 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],
   {
-    /***/ 5863: /***/ function(
+    /***/ 4538: /***/ 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__(2550);
+          return __webpack_require__(7451);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 2550: /***/ function(
+    /***/ 7451: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -35,7 +35,7 @@
         4637
       );
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        9393
+        7084
       );
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -57,12 +57,12 @@
       /***/
     },
 
-    /***/ 9393: /***/ function(
+    /***/ 7084: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(7465);
+      module.exports = __webpack_require__(7489);
 
       /***/
     }
@@ -73,7 +73,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(5863);
+      return __webpack_exec__(4538);
     });
     /******/ 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],
   {
-    /***/ 581: /***/ function(
+    /***/ 2644: /***/ 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__(6436);
+          return __webpack_require__(5292);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 6436: /***/ function(
+    /***/ 5292: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -35,7 +35,7 @@
         4637
       );
       /* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        2311
+        7635
       );
       /* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         next_script__WEBPACK_IMPORTED_MODULE_1__
@@ -70,12 +70,12 @@
       /***/
     },
 
-    /***/ 2311: /***/ function(
+    /***/ 7635: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(5031);
+      module.exports = __webpack_require__(3951);
 
       /***/
     }
@@ -86,7 +86,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(581);
+      return __webpack_exec__(2644);
     });
     /******/ 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],
   {
-    /***/ 4573: /***/ function(
+    /***/ 5577: /***/ 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__(5526);
+          return __webpack_require__(2161);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 5526: /***/ function(
+    /***/ 2161: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -35,7 +35,7 @@
         4637
       );
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        9393
+        7084
       );
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -54,12 +54,12 @@
       /***/
     },
 
-    /***/ 9393: /***/ function(
+    /***/ 7084: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(7465);
+      module.exports = __webpack_require__(7489);
 
       /***/
     }
@@ -70,7 +70,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(4573);
+      return __webpack_exec__(5577);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for 437.HASH.js
@@ -1,8 +1,8 @@
 "use strict";
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
-  [437],
+  [128],
   {
-    /***/ 7437: /***/ function(
+    /***/ 5128: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
Diff for framework-HASH.js
@@ -19,7 +19,7 @@
  Modernizr 3.0.0pre (Custom Build) | MIT
 */
       var aa = __webpack_require__(9496),
-        m = __webpack_require__(9260),
+        m = __webpack_require__(2048),
         r = __webpack_require__(8051);
       function y(a) {
         for (
@@ -7895,7 +7895,7 @@
        * This source code is licensed under the MIT license found in the
        * LICENSE file in the root directory of this source tree.
        */
-      __webpack_require__(9260);
+      __webpack_require__(2048);
       var f = __webpack_require__(9496),
         g = 60103;
       exports.Fragment = 60107;
@@ -7948,7 +7948,7 @@
        * This source code is licensed under the MIT license found in the
        * LICENSE file in the root directory of this source tree.
        */
-      var l = __webpack_require__(9260),
+      var l = __webpack_require__(2048),
         n = 60103,
         p = 60106;
       exports.Fragment = 60107;
Diff for main-HASH.js

Diff too large to display

Diff for polyfills-HASH.js

Diff too large to display

Diff for webpack-HASH.js
@@ -159,7 +159,7 @@
     /******/ __webpack_require__.u = function(chunkId) {
       /******/ // return url for filenames based on template
       /******/ return (
-        "static/chunks/" + chunkId + "." + "b72a55e4a5d30197" + ".js"
+        "static/chunks/" + chunkId + "." + "e030bda2b87fb167" + ".js"
       );
       /******/
     };
@@ -227,7 +227,7 @@
           /******/
         }
         /******/ script.setAttribute("data-webpack", dataWebpackPrefix + key);
-        /******/ script.src = url;
+        /******/ script.src = __webpack_require__.tu(url);
         /******/
       }
       /******/ inProgress[url] = [done];
@@ -274,6 +274,41 @@
       /******/
     };
     /******/
+  })(); /* webpack/runtime/trusted types policy */
+  /******/
+
+  /******/ /******/ !(function() {
+    /******/ var policy;
+    /******/ __webpack_require__.tt = function() {
+      /******/ // Create Trusted Type policy if Trusted Types are available and the policy doesn't exist yet.
+      /******/ if (policy === undefined) {
+        /******/ policy = {
+          /******/ createScriptURL: function(url) {
+            return url;
+          }
+          /******/
+        };
+        /******/ if (
+          typeof trustedTypes !== "undefined" &&
+          trustedTypes.createPolicy
+        ) {
+          /******/ policy = trustedTypes.createPolicy("nextjs#bundler", policy);
+          /******/
+        }
+        /******/
+      }
+      /******/ return policy;
+      /******/
+    };
+    /******/
+  })(); /* webpack/runtime/trusted types script url */
+  /******/
+
+  /******/ /******/ !(function() {
+    /******/ __webpack_require__.tu = function(url) {
+      return __webpack_require__.tt().createScriptURL(url);
+    };
+    /******/
   })(); /* webpack/runtime/publicPath */
   /******/
Diff for index.html
@@ -8,34 +8,30 @@
     <script
       defer=""
       nomodule=""
-      src="/_next/static/chunks/polyfills-5cd94c89d3acac5f.js"
+      src="/_next/static/chunks/polyfills-0d1b80a048d4787e.js"
     ></script>
     <script
-      src="/_next/static/chunks/webpack-9302553dec9dd6bd.js"
+      src="/_next/static/chunks/webpack-7d45352f17e74673.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/framework-8755e6e713f733ae.js"
+      src="/_next/static/chunks/framework-044d557c64574856.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-b7dc8b0c0b51f9e4.js"
+      src="/_next/static/chunks/main-218d87e3da1a2048.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-ac11e687c9eb7ce2.js"
+      src="/_next/static/chunks/pages/_app-bc22dfa04aca59af.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/index-5d085461d4b7e1ee.js"
+      src="/_next/static/chunks/pages/index-1ecb7a225a122304.js"
       defer=""
     ></script>
     <script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>
     <script src="/_next/static/BUILD_ID/_ssgManifest.js" defer=""></script>
-    <script
-      src="/_next/static/BUILD_ID/_middlewareManifest.js"
-      defer=""
-    ></script>
   </head>
   <body>
     <div id="__next" data-reactroot="">Hello world 👋</div>
Diff for link.html
@@ -8,34 +8,30 @@
     <script
       defer=""
       nomodule=""
-      src="/_next/static/chunks/polyfills-5cd94c89d3acac5f.js"
+      src="/_next/static/chunks/polyfills-0d1b80a048d4787e.js"
     ></script>
     <script
-      src="/_next/static/chunks/webpack-9302553dec9dd6bd.js"
+      src="/_next/static/chunks/webpack-7d45352f17e74673.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/framework-8755e6e713f733ae.js"
+      src="/_next/static/chunks/framework-044d557c64574856.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-b7dc8b0c0b51f9e4.js"
+      src="/_next/static/chunks/main-218d87e3da1a2048.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-ac11e687c9eb7ce2.js"
+      src="/_next/static/chunks/pages/_app-bc22dfa04aca59af.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/link-5cbe1349380d92ee.js"
+      src="/_next/static/chunks/pages/link-3a3db92194a522ff.js"
       defer=""
     ></script>
     <script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>
     <script src="/_next/static/BUILD_ID/_ssgManifest.js" defer=""></script>
-    <script
-      src="/_next/static/BUILD_ID/_middlewareManifest.js"
-      defer=""
-    ></script>
   </head>
   <body>
     <div id="__next" data-reactroot="">
Diff for withRouter.html
@@ -8,34 +8,30 @@
     <script
       defer=""
       nomodule=""
-      src="/_next/static/chunks/polyfills-5cd94c89d3acac5f.js"
+      src="/_next/static/chunks/polyfills-0d1b80a048d4787e.js"
     ></script>
     <script
-      src="/_next/static/chunks/webpack-9302553dec9dd6bd.js"
+      src="/_next/static/chunks/webpack-7d45352f17e74673.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/framework-8755e6e713f733ae.js"
+      src="/_next/static/chunks/framework-044d557c64574856.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-b7dc8b0c0b51f9e4.js"
+      src="/_next/static/chunks/main-218d87e3da1a2048.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-ac11e687c9eb7ce2.js"
+      src="/_next/static/chunks/pages/_app-bc22dfa04aca59af.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/withRouter-8b03818d0ed540a0.js"
+      src="/_next/static/chunks/pages/withRouter-dee19dca16003991.js"
       defer=""
     ></script>
     <script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>
     <script src="/_next/static/BUILD_ID/_ssgManifest.js" defer=""></script>
-    <script
-      src="/_next/static/BUILD_ID/_middlewareManifest.js"
-      defer=""
-    ></script>
   </head>
   <body>
     <div id="__next" data-reactroot=""><div>I use withRouter</div></div>

Please sign in to comment.