Skip to content

Commit

Permalink
Fix flaky onLoad() test for next/image/future (#37993)
Browse files Browse the repository at this point in the history
This PR fixes flaky `onLoad()` test for `next/image/future`.

The test must modify the `src` after hydration to make sure it always works as expected.

This is because `next/image/future` uses native lazy loading and sometimes the event fires before hydration (docs were updated to mention this)
  • Loading branch information
styfle authored Jun 24, 2022
1 parent 0867465 commit f8732d9
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 66 deletions.
8 changes: 8 additions & 0 deletions docs/api-reference/next/future/image.md
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,14 @@ The callback function will be called with one argument, an object with the follo
- [`naturalWidth`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/naturalWidth)
- [`naturalHeight`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/naturalHeight)

### onLoad

A callback function that is invoked when the image is loaded.

Note that the load event might occur before client-side hydration completes, so this callback might not be invoked in that case.

Instead, use [`onLoadingComplete`](#onloadingcomplete).

### onError

A callback function that is invoked if the image fails to load.
Expand Down
44 changes: 15 additions & 29 deletions test/integration/image-future/default/pages/on-load.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,84 +2,70 @@ import { useState } from 'react'
import Image from 'next/future/image'

const Page = () => {
// Hoisted state to count each image load callback
const [idToCount, setIdToCount] = useState({})
const [clicked, setClicked] = useState(false)

const red =
'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mO8ysv7HwAEngHwC+JqOgAAAABJRU5ErkJggg=='

return (
<div>
<h1>Test onLoad</h1>
<p>
This is the native onLoad which doesn't work as many places as
onLoadingComplete
</p>
<button id="toggle" onClick={() => setClicked(!clicked)}>
Toggle
</button>

<ImageWithMessage
id="1"
src="/test.jpg"
src={clicked ? '/test.jpg' : red}
width="128"
height="128"
idToCount={idToCount}
setIdToCount={setIdToCount}
/>

<ImageWithMessage
id="2"
src={require('../public/test.png')}
placeholder="blur"
idToCount={idToCount}
setIdToCount={setIdToCount}
src={clicked ? require('../public/test.png') : red}
placeholder={clicked ? 'blur' : 'empty'}
/>

<ImageWithMessage
id="3"
src="/test.svg"
src={clicked ? '/test.svg' : red}
width="1200"
height="1200"
idToCount={idToCount}
setIdToCount={setIdToCount}
/>

<ImageWithMessage
id="4"
src="/test.ico"
src={clicked ? '/test.ico' : red}
width={200}
height={200}
idToCount={idToCount}
setIdToCount={setIdToCount}
/>

<ImageWithMessage
id="5"
src={clicked ? '/foo/test-rect.jpg' : '/wide.png'}
src={clicked ? '/wide.png' : red}
width="500"
height="500"
idToCount={idToCount}
setIdToCount={setIdToCount}
/>

<button id="toggle" onClick={() => setClicked(!clicked)}>
Toggle
</button>
<div id="footer" />
</div>
)
}

function ImageWithMessage({ id, idToCount, setIdToCount, ...props }) {
function ImageWithMessage({ id, ...props }) {
const [msg, setMsg] = useState('[LOADING]')
return (
<>
<div className="wrap">
<Image
id={`img${id}`}
onLoad={(e) => {
let count = idToCount[id] || 0
count++
idToCount[id] = count
setIdToCount(idToCount)
const msg = `loaded ${count} ${e.target.id} with native onLoad`
setMsg(msg)
console.log(msg)
setMsg(`loaded ${e.target.id} with native onLoad`)
}}
{...props}
/>
Expand Down
58 changes: 21 additions & 37 deletions test/integration/image-future/default/test/index.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -313,48 +313,31 @@ function runTests(mode) {
it('should callback native onLoad in most cases', async () => {
let browser = await webdriver(appPort, '/on-load')

for (let i = 1; i < 6; i++) {
await browser.eval(
`document.getElementById("img${i}").scrollIntoView({behavior: "smooth"})`
)
await waitFor(100)
}
await browser.eval('document.getElementById("toggle").click()')

await check(
() => browser.eval(`document.getElementById("img1").currentSrc`),
/test(.*)jpg/
)
await check(
() => browser.eval(`document.getElementById("img2").currentSrc`),
/test(.*).png/
)
await check(
() => browser.eval(`document.getElementById("img3").currentSrc`),
/test\.svg/
)
await check(
() => browser.eval(`document.getElementById("img4").currentSrc`),
/test(.*)ico/
await browser.eval(
`document.getElementById("footer").scrollIntoView({behavior: "smooth"})`
)

await check(
() => browser.eval(`document.getElementById("msg1").textContent`),
'loaded 1 img1 with native onLoad'
'loaded img1 with native onLoad'
)
await check(
() => browser.eval(`document.getElementById("msg2").textContent`),
'loaded 1 img2 with native onLoad'
'loaded img2 with native onLoad'
)
await check(
() => browser.eval(`document.getElementById("msg3").textContent`),
'loaded 1 img3 with native onLoad'
'loaded img3 with native onLoad'
)
await check(
() => browser.eval(`document.getElementById("msg4").textContent`),
'loaded 1 img4 with native onLoad'
'loaded img4 with native onLoad'
)
await check(
() => browser.eval(`document.getElementById("msg5").textContent`),
'loaded 1 img5 with native onLoad'
'loaded img5 with native onLoad'
)
await check(
() =>
Expand All @@ -363,25 +346,26 @@ function runTests(mode) {
),
'future'
)

await check(
() => browser.eval(`document.getElementById("img5").currentSrc`),
/wide.png/
() => browser.eval(`document.getElementById("img1").currentSrc`),
/test(.*)jpg/
)
await browser.eval('document.getElementById("toggle").click()')
await check(
() => browser.eval(`document.getElementById("msg5").textContent`),
'loaded 2 img5 with native onLoad'
() => browser.eval(`document.getElementById("img2").currentSrc`),
/test(.*).png/
)
await check(
() =>
browser.eval(
`document.getElementById("img5").getAttribute("data-nimg")`
),
'future'
() => browser.eval(`document.getElementById("img3").currentSrc`),
/test\.svg/
)
await check(
() => browser.eval(`document.getElementById("img4").currentSrc`),
/test(.*)ico/
)
await check(
() => browser.eval(`document.getElementById("img5").currentSrc`),
/test-rect.jpg/
/wide.png/
)
})

Expand Down

1 comment on commit f8732d9

@ijjk
Copy link
Member

@ijjk ijjk commented on f8732d9 Jun 24, 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 16.4s 17.8s ⚠️ +1.4s
buildDurationCached 6.8s 7.3s ⚠️ +417ms
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.736 4.916 ⚠️ +1.18
/ avg req/sec 669.16 508.58 ⚠️ -160.58
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.408 2.228 ⚠️ +0.82
/error-in-render avg req/sec 1775.42 1121.84 ⚠️ -653.58
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.6 kB ⚠️ +1.8 kB
webpack-HASH.js gzip 1.44 kB 1.54 kB ⚠️ +97 B
Overall change 72.5 kB 74.4 kB ⚠️ +1.9 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.48 kB -232 B
index-HASH.js gzip 263 B 263 B
link-HASH.js gzip 2.64 kB 2.33 kB -309 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.6 kB -1.8 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 524 B -7 B
link.html gzip 543 B 537 B -6 B
withRouter.html gzip 525 B 518 B -7 B
Overall change 1.6 kB 1.58 kB -20 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-54bd7602a6a07579.js"],
+  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-5e1551cac962cc44.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/@swc+helpers@0.4.2/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/@swc+helpers@0.4.2/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/@swc+helpers@0.4.2/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/@swc+helpers@0.4.2/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/@swc+helpers@0.4.2/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/@swc+helpers@0.4.2/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/react@17.0.2/node_modules/react/jsx-runtime.js
+      var jsx_runtime = __webpack_require__(4637);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/react@17.0.2/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
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [358],
   {
-    /***/ 7570: /***/ function(
+    /***/ 1487: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/image",
         function() {
-          return __webpack_require__(3918);
+          return __webpack_require__(4789);
         }
       ]);
       if (false) {
@@ -18,117 +18,23 @@
       /***/
     },
 
-    /***/ 2185: /***/ function(module, exports, __webpack_require__) {
+    /***/ 361: /***/ 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 _arrayWithoutHoles(arr) {
-        if (Array.isArray(arr)) return _arrayLikeToArray(arr);
-      }
-      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 _iterableToArray(iter) {
-        if (
-          (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null) ||
-          iter["@@iterator"] != null
-        )
-          return Array.from(iter);
-      }
-      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 _nonIterableSpread() {
-        throw new TypeError(
-          "Invalid attempt to spread 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 _toConsumableArray(arr) {
-        return (
-          _arrayWithoutHoles(arr) ||
-          _iterableToArray(arr) ||
-          _unsupportedIterableToArray(arr) ||
-          _nonIterableSpread()
-        );
-      }
-      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 _define_property = __webpack_require__(6599)["default"];
+      var _sliced_to_array = __webpack_require__(7694) /* ["default"] */.Z;
+      var _to_consumable_array = __webpack_require__(9076) /* ["default"] */.Z;
       Object.defineProperty(exports, "__esModule", {
         value: true
       });
       exports["default"] = Image;
       var _react = _interopRequireWildcard(__webpack_require__(9496));
-      var _head = _interopRequireDefault(__webpack_require__(4828));
-      var _imageConfig = __webpack_require__(2204);
-      var _useIntersection = __webpack_require__(6363);
-      var _imageConfigContext = __webpack_require__(1958);
-      var _utils = __webpack_require__(8030);
-      var _normalizeTrailingSlash = __webpack_require__(1872);
+      var _head = _interopRequireDefault(__webpack_require__(4790));
+      var _imageConfig = __webpack_require__(5676);
+      var _useIntersection = __webpack_require__(5668);
+      var _imageConfigContext = __webpack_require__(76);
+      var _utils = __webpack_require__(6326);
+      var _normalizeTrailingSlash = __webpack_require__(7600);
       function Image(_param) {
         var src = _param.src,
           sizes = _param.sizes,
@@ -139,8 +45,7 @@
           loading = _param.loading,
           _lazyRoot = _param.lazyRoot,
           lazyRoot = _lazyRoot === void 0 ? null : _lazyRoot,
-          _lazyBoundary = _param.lazyBoundary,
-          lazyBoundary = _lazyBoundary === void 0 ? "200px" : _lazyBoundary,
+          lazyBoundary = _param.lazyBoundary,
           className = _param.className,
           quality = _param.quality,
           width = _param.width,
@@ -152,7 +57,7 @@
           _placeholder = _param.placeholder,
           placeholder = _placeholder === void 0 ? "empty" : _placeholder,
           blurDataURL = _param.blurDataURL,
-          all = _objectWithoutProperties(_param, [
+          all = _objectWithoutPropertiesLoose(_param, [
             "src",
             "sizes",
             "unoptimized",
@@ -178,15 +83,15 @@
           function() {
             var c =
               configEnv || configContext || _imageConfig.imageConfigDefault;
-            var allSizes = _toConsumableArray(c.deviceSizes)
-              .concat(_toConsumableArray(c.imageSizes))
+            var allSizes = _to_consumable_array(c.deviceSizes)
+              .concat(_to_consumable_array(c.imageSizes))
               .sort(function(a, b) {
                 return a - b;
               });
             var deviceSizes = c.deviceSizes.sort(function(a, b) {
               return a - b;
             });
-            return _objectSpread({}, c, {
+            return _extends({}, c, {
               allSizes: allSizes,
               deviceSizes: deviceSizes
             });
@@ -208,7 +113,7 @@
             var _tmp;
             (_tmp = function(obj) {
               var _ = obj.config,
-                opts = _objectWithoutProperties(obj, ["config"]);
+                opts = _objectWithoutPropertiesLoose(obj, ["config"]);
               // The config object is internal only so we must
               // not pass it to the user-defined loader()
               return customImageLoader(opts);
@@ -254,16 +159,19 @@
           unoptimized = true;
           isLazy = false;
         }
-        if (true && loadedImageURLs.has(src)) {
+        if (true && loadedImageURLs.has(src) && layout !== "raw") {
           isLazy = false;
         }
-        var ref = _slicedToArray((0, _react).useState(false), 2),
+        if (experimentalUnoptimized) {
+          unoptimized = true;
+        }
+        var ref = _sliced_to_array((0, _react).useState(false), 2),
           blurComplete = ref[0],
           setBlurComplete = ref[1];
-        var ref1 = _slicedToArray(
+        var ref1 = _sliced_to_array(
             (0, _useIntersection).useIntersection({
               rootRef: lazyRoot,
-              rootMargin: lazyBoundary,
+              rootMargin: lazyBoundary || "200px",
               disabled: !isLazy
             }),
             3
@@ -271,7 +179,7 @@
           setIntersection = ref1[0],
           isIntersected = ref1[1],
           resetIntersected = ref1[2];
-        var isVisible = !isLazy || isIntersected;
+        var isVisible = !isLazy || isIntersected || layout === "raw";
         var wrapperStyle = {
           boxSizing: "border-box",
           display: "block",
@@ -327,14 +235,32 @@
           style,
           layout === "raw" ? {} : layoutStyle
         );
+        var svgBlurPlaceholder = "url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http%3A//www.w3.org/2000/svg' xmlns%3Axlink='http%3A//www.w3.org/1999/xlink' viewBox='0 0 "
+          .concat(widthInt, " ")
+          .concat(
+            heightInt,
+            "'%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='50'%3E%3C/feGaussianBlur%3E%3CfeComponentTransfer%3E%3CfeFuncA type='discrete' tableValues='1 1'%3E%3C/feFuncA%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Cimage filter='url(%23b)' x='0' y='0' height='100%25' width='100%25' href='"
+          )
+          .concat(blurDataURL, "'%3E%3C/image%3E%3C/svg%3E\");");
         var blurStyle =
           placeholder === "blur" && !blurComplete
-            ? {
-                filter: "blur(20px)",
-                backgroundSize: objectFit || "cover",
-                backgroundImage: 'url("'.concat(blurDataURL, '")'),
-                backgroundPosition: objectPosition || "0% 0%"
-              }
+            ? _extends(
+                {
+                  backgroundSize: objectFit || "cover",
+                  backgroundPosition: objectPosition || "0% 0%"
+                },
+                layout === "raw" &&
+                  (blurDataURL == null
+                    ? void 0
+                    : blurDataURL.startsWith("data:image"))
+                  ? {
+                      backgroundImage: svgBlurPlaceholder
+                    }
+                  : {
+                      filter: "blur(20px)",
+                      backgroundImage: 'url("'.concat(blurDataURL, '")')
+                    }
+              )
             : {};
         if (layout === "fill") {
           // <Image src="i.png" layout="fill" />
@@ -409,8 +335,8 @@
         var _obj;
         var linkProps =
           ((_obj = {}), // Note: imagesrcset and imagesizes are not in the link element type with react 17.
-          _defineProperty(_obj, imageSrcSetPropName, imgAttributes.srcSet),
-          _defineProperty(_obj, imageSizesPropName, imgAttributes.sizes),
+          _define_property(_obj, imageSrcSetPropName, imgAttributes.srcSet),
+          _define_property(_obj, imageSizesPropName, imgAttributes.sizes),
           _obj);
         var useLayoutEffect = false ? 0 : _react.default.useLayoutEffect;
         var onLoadingCompleteRef = (0, _react).useRef(onLoadingComplete);
@@ -430,7 +356,7 @@
           },
           [resetIntersected, src]
         );
-        var imgElementArgs = _objectSpread(
+        var imgElementArgs = _extends(
           {
             isLazy: isLazy,
             imgAttributes: imgAttributes,
@@ -450,7 +376,8 @@
             onLoadingCompleteRef: onLoadingCompleteRef,
             setBlurComplete: setBlurComplete,
             setIntersection: setIntersection,
-            isVisible: isVisible
+            isVisible: isVisible,
+            noscriptSizes: sizes
           },
           rest
         );
@@ -525,18 +452,21 @@
             : null
         );
       }
-      function _defineProperty1(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 _extends() {
+        _extends =
+          Object.assign ||
+          function(target) {
+            for (var i = 1; i < arguments.length; i++) {
+              var source = arguments[i];
+              for (var key in source) {
+                if (Object.prototype.hasOwnProperty.call(source, key)) {
+                  target[key] = source[key];
+                }
+              }
+            }
+            return target;
+          };
+        return _extends.apply(this, arguments);
       }
       function _interopRequireDefault(obj) {
         return obj && obj.__esModule
@@ -545,67 +475,50 @@
               default: obj
             };
       }
+      function _getRequireWildcardCache() {
+        if (typeof WeakMap !== "function") return null;
+        var cache = new WeakMap();
+        _getRequireWildcardCache = function _getRequireWildcardCache() {
+          return cache;
+        };
+        return cache;
+      }
       function _interopRequireWildcard(obj) {
         if (obj && obj.__esModule) {
           return obj;
-        } else {
-          var newObj = {};
-          if (obj != null) {
-            for (var key in obj) {
-              if (Object.prototype.hasOwnProperty.call(obj, key)) {
-                var desc =
-                  Object.defineProperty && Object.getOwnPropertyDescriptor
-                    ? Object.getOwnPropertyDescriptor(obj, key)
-                    : {};
-                if (desc.get || desc.set) {
-                  Object.defineProperty(newObj, key, desc);
-                } else {
-                  newObj[key] = obj[key];
-                }
-              }
-            }
-          }
-          newObj.default = obj;
-          return newObj;
         }
-      }
-      function _objectSpread(target) {
-        var _arguments = arguments,
-          _loop = function(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) {
-              _defineProperty1(target, key, source[key]);
-            });
+        if (
+          obj === null ||
+          (typeof obj !== "object" && typeof obj !== "function")
+        ) {
+          return {
+            default: obj
           };
-        for (var i = 1; i < arguments.length; i++) _loop(i);
-        return target;
-      }
-      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];
+        }
+        var cache = _getRequireWildcardCache();
+        if (cache && cache.has(obj)) {
+          return cache.get(obj);
+        }
+        var newObj = {};
+        var hasPropertyDescriptor =
+          Object.defineProperty && Object.getOwnPropertyDescriptor;
+        for (var key in obj) {
+          if (Object.prototype.hasOwnProperty.call(obj, key)) {
+            var desc = hasPropertyDescriptor
+              ? Object.getOwnPropertyDescriptor(obj, key)
+              : null;
+            if (desc && (desc.get || desc.set)) {
+              Object.defineProperty(newObj, key, desc);
+            } else {
+              newObj[key] = obj[key];
+            }
           }
         }
-        return target;
+        newObj.default = obj;
+        if (cache) {
+          cache.set(obj, newObj);
+        }
+        return newObj;
       }
       function _objectWithoutPropertiesLoose(source, excluded) {
         if (source == null) return {};
@@ -619,17 +532,23 @@
         }
         return target;
       }
-      var ref;
-      var experimentalLayoutRaw =
-        (ref = {
-          deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
-          imageSizes: [16, 32, 48, 64, 96, 128, 256, 384],
-          path: "/_next/image",
-          loader: "default",
-          experimentalLayoutRaw: false
-        }) === null || ref === void 0
-          ? void 0
-          : ref.experimentalLayoutRaw;
+      var ref =
+          {
+            deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
+            imageSizes: [16, 32, 48, 64, 96, 128, 256, 384],
+            path: "/_next/image",
+            loader: "default",
+            experimentalLayoutRaw: false
+          } || {},
+        _experimentalLayoutRaw = ref.experimentalLayoutRaw,
+        experimentalLayoutRaw =
+          _experimentalLayoutRaw === void 0 ? false : _experimentalLayoutRaw,
+        _experimentalRemotePatterns = ref.experimentalRemotePatterns,
+        experimentalRemotePatterns =
+          _experimentalRemotePatterns === void 0
+            ? []
+            : _experimentalRemotePatterns,
+        experimentalUnoptimized = ref.experimentalUnoptimized;
       var configEnv = {
         deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
         imageSizes: [16, 32, 48, 64, 96, 128, 256, 384],
@@ -694,7 +613,7 @@
             var smallestRatio =
               (_Math = Math).min.apply(
                 _Math,
-                _toConsumableArray(percentSizes)
+                _to_consumable_array(percentSizes)
               ) * 0.01;
             return {
               widths: allSizes.filter(function(s) {
@@ -718,7 +637,7 @@
             kind: "w"
           };
         }
-        var widths = _toConsumableArray(
+        var widths = _to_consumable_array(
           new Set( // > are actually 3x in the green color, but only 1.5x in the red and
             // > blue colors. Showing a 3x resolution image in the app vs a 2x
             // > resolution image will be visually the same, though the 3x image
@@ -802,11 +721,10 @@
         return undefined;
       }
       function defaultImageLoader(loaderProps) {
-        var ref2;
+        var ref;
         var loaderKey =
-          ((ref2 = loaderProps.config) === null || ref2 === void 0
-            ? void 0
-            : ref2.loader) || "default";
+          ((ref = loaderProps.config) == null ? void 0 : ref.loader) ||
+          "default";
         var load = loaders.get(loaderKey);
         if (load) {
           return load(loaderProps);
@@ -850,9 +768,7 @@
             setBlurComplete(true);
           }
           if (
-            onLoadingCompleteRef === null || onLoadingCompleteRef === void 0
-              ? void 0
-              : onLoadingCompleteRef.current
+            onLoadingCompleteRef == null ? void 0 : onLoadingCompleteRef.current
           ) {
             var naturalWidth = img.naturalWidth,
               naturalHeight = img.naturalHeight;
@@ -864,7 +780,7 @@
             });
           }
           if (false) {
-            var parent, widthModified, heightModified, ref3;
+            var parent, widthModified, heightModified, ref;
           }
         });
       }
@@ -890,7 +806,8 @@
           onLoad = _param.onLoad,
           onError = _param.onError,
           isVisible = _param.isVisible,
-          rest = _objectWithoutProperties(_param, [
+          noscriptSizes = _param.noscriptSizes,
+          rest = _objectWithoutPropertiesLoose(_param, [
             "imgAttributes",
             "heightInt",
             "widthInt",
@@ -911,8 +828,10 @@
             "setIntersection",
             "onLoad",
             "onError",
-            "isVisible"
+            "isVisible",
+            "noscriptSizes"
           ]);
+        loading = isLazy ? "lazy" : loading;
         return /*#__PURE__*/ _react.default.createElement(
           _react.default.Fragment,
           null,
@@ -932,13 +851,13 @@
                 decoding: "async",
                 "data-nimg": layout,
                 className: className,
-                style: _objectSpread({}, imgStyle, blurStyle),
+                // @ts-ignore - TODO: upgrade to `@types/react@17`
+                loading: layout === "raw" ? loading : undefined,
+                style: _extends({}, imgStyle, blurStyle),
                 ref: (0, _react).useCallback(
                   function(img) {
                     setIntersection(img);
-                    if (
-                      img === null || img === void 0 ? void 0 : img.complete
-                    ) {
+                    if (img == null ? void 0 : img.complete) {
                       handleLoading(
                         img,
                         srcString,
@@ -1000,7 +919,7 @@
                     layout: layout,
                     width: widthInt,
                     quality: qualityInt,
-                    sizes: imgAttributes.sizes,
+                    sizes: noscriptSizes,
                     loader: loader
                   }),
                   layout === "raw"
@@ -1015,7 +934,7 @@
                     style: imgStyle,
                     className: className,
                     // @ts-ignore - TODO: upgrade to `@types/react@17`
-                    loading: loading || "lazy"
+                    loading: loading
                   }
                 )
               )
@@ -1081,7 +1000,7 @@
           width = param.width,
           quality = param.quality;
         if (false) {
-          var parsedSrc, missingValues;
+          var hasMatch, parsedSrc, missingValues;
         }
         if (src.endsWith(".svg") && !config.dangerouslyAllowSVG) {
           // Special case to make svg serve as-is to avoid proxying
@@ -1100,9 +1019,13 @@
           .concat(quality || 75);
       }
       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=image.js.map
@@ -1110,120 +1033,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() {
@@ -1237,15 +1094,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),
@@ -1283,12 +1137,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) {
@@ -1300,20 +1151,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
@@ -1321,7 +1175,7 @@
       /***/
     },
 
-    /***/ 3918: /***/ function(
+    /***/ 4789: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -1342,8 +1196,8 @@
 
       // EXTERNAL MODULE: ./node_modules/.pnpm/react@17.0.2/node_modules/react/jsx-runtime.js
       var jsx_runtime = __webpack_require__(4637);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_sfoxds7t5ydpegc3knd667wn6m/node_modules/next/image.js
-      var next_image = __webpack_require__(8114);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_sfoxds7t5ydpegc3knd667wn6m/node_modules/next/image.js
+      var next_image = __webpack_require__(4033);
       var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // CONCATENATED MODULE: ./pages/nextjs.png
       /* harmony default export */ var nextjs = {
         src: "/_next/static/media/nextjs.cae0b805.png",
@@ -1371,12 +1225,12 @@
       /***/
     },
 
-    /***/ 8114: /***/ function(
+    /***/ 4033: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(2185);
+      module.exports = __webpack_require__(361);
 
       /***/
     }
@@ -1387,7 +1241,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(7570);
+      return __webpack_exec__(1487);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for index-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [405],
   {
-    /***/ 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,7 +199,8 @@
             "scroll",
             "locale",
             "onClick",
-            "onMouseEnter"
+            "onMouseEnter",
+            "legacyBehavior"
           ]);
         children = childrenProp;
         if (legacyBehavior && typeof children === "string") {
@@ -242,10 +211,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 +243,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 +258,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 +325,8 @@
                 replace,
                 shallow,
                 scroll,
-                locale
+                locale,
+                appRouter ? startTransition : undefined
               );
             }
           },
@@ -378,16 +362,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 +389,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 +403,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 +464,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 +507,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 +521,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 +545,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 +589,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 +620,12 @@
       /***/
     },
 
-    /***/ 8168: /***/ function(
+    /***/ 8728: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(7160);
+      module.exports = __webpack_require__(882);
 
       /***/
     }
@@ -690,7 +636,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-bad6a5525c6accdf.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-bad6a5525c6accdf.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-5e1551cac962cc44.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-bad6a5525c6accdf.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 13.2s 14.5s ⚠️ +1.2s
buildDurationCached 6.8s 7.2s ⚠️ +463ms
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.666 4.781 ⚠️ +1.11
/ avg req/sec 682.02 522.9 ⚠️ -159.12
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.395 2.194 ⚠️ +0.8
/error-in-render avg req/sec 1792.34 1139.54 ⚠️ -652.8
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.1 kB ⚠️ +1.84 kB
webpack-HASH.js gzip 1.45 kB 1.54 kB ⚠️ +95 B
Overall change 73.6 kB 75.5 kB ⚠️ +1.93 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.54 kB -243 B
index-HASH.js gzip 269 B 268 B -1 B
link-HASH.js gzip 2.76 kB 2.39 kB -374 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 15 kB -1.82 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 457 B ⚠️ +3 B
Overall change 454 B 457 B ⚠️ +3 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 524 B -7 B
link.html gzip 546 B 537 B -9 B
withRouter.html gzip 526 B 519 B -7 B
Overall change 1.6 kB 1.58 kB -23 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-54bd7602a6a07579.js"],
+  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-5e1551cac962cc44.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/@swc+helpers@0.4.2/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/@swc+helpers@0.4.2/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/@swc+helpers@0.4.2/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/@swc+helpers@0.4.2/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/@swc+helpers@0.4.2/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/@swc+helpers@0.4.2/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/react@17.0.2/node_modules/react/jsx-runtime.js
+      var jsx_runtime = __webpack_require__(4637);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/react@17.0.2/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
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [358],
   {
-    /***/ 7570: /***/ function(
+    /***/ 1487: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/image",
         function() {
-          return __webpack_require__(3918);
+          return __webpack_require__(4789);
         }
       ]);
       if (false) {
@@ -18,117 +18,23 @@
       /***/
     },
 
-    /***/ 2185: /***/ function(module, exports, __webpack_require__) {
+    /***/ 361: /***/ 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 _arrayWithoutHoles(arr) {
-        if (Array.isArray(arr)) return _arrayLikeToArray(arr);
-      }
-      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 _iterableToArray(iter) {
-        if (
-          (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null) ||
-          iter["@@iterator"] != null
-        )
-          return Array.from(iter);
-      }
-      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 _nonIterableSpread() {
-        throw new TypeError(
-          "Invalid attempt to spread 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 _toConsumableArray(arr) {
-        return (
-          _arrayWithoutHoles(arr) ||
-          _iterableToArray(arr) ||
-          _unsupportedIterableToArray(arr) ||
-          _nonIterableSpread()
-        );
-      }
-      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 _define_property = __webpack_require__(6599)["default"];
+      var _sliced_to_array = __webpack_require__(7694) /* ["default"] */.Z;
+      var _to_consumable_array = __webpack_require__(9076) /* ["default"] */.Z;
       Object.defineProperty(exports, "__esModule", {
         value: true
       });
       exports["default"] = Image;
       var _react = _interopRequireWildcard(__webpack_require__(9496));
-      var _head = _interopRequireDefault(__webpack_require__(4828));
-      var _imageConfig = __webpack_require__(2204);
-      var _useIntersection = __webpack_require__(6363);
-      var _imageConfigContext = __webpack_require__(1958);
-      var _utils = __webpack_require__(8030);
-      var _normalizeTrailingSlash = __webpack_require__(1872);
+      var _head = _interopRequireDefault(__webpack_require__(4790));
+      var _imageConfig = __webpack_require__(5676);
+      var _useIntersection = __webpack_require__(5668);
+      var _imageConfigContext = __webpack_require__(76);
+      var _utils = __webpack_require__(6326);
+      var _normalizeTrailingSlash = __webpack_require__(7600);
       function Image(_param) {
         var src = _param.src,
           sizes = _param.sizes,
@@ -139,8 +45,7 @@
           loading = _param.loading,
           _lazyRoot = _param.lazyRoot,
           lazyRoot = _lazyRoot === void 0 ? null : _lazyRoot,
-          _lazyBoundary = _param.lazyBoundary,
-          lazyBoundary = _lazyBoundary === void 0 ? "200px" : _lazyBoundary,
+          lazyBoundary = _param.lazyBoundary,
           className = _param.className,
           quality = _param.quality,
           width = _param.width,
@@ -152,7 +57,7 @@
           _placeholder = _param.placeholder,
           placeholder = _placeholder === void 0 ? "empty" : _placeholder,
           blurDataURL = _param.blurDataURL,
-          all = _objectWithoutProperties(_param, [
+          all = _objectWithoutPropertiesLoose(_param, [
             "src",
             "sizes",
             "unoptimized",
@@ -178,15 +83,15 @@
           function() {
             var c =
               configEnv || configContext || _imageConfig.imageConfigDefault;
-            var allSizes = _toConsumableArray(c.deviceSizes)
-              .concat(_toConsumableArray(c.imageSizes))
+            var allSizes = _to_consumable_array(c.deviceSizes)
+              .concat(_to_consumable_array(c.imageSizes))
               .sort(function(a, b) {
                 return a - b;
               });
             var deviceSizes = c.deviceSizes.sort(function(a, b) {
               return a - b;
             });
-            return _objectSpread({}, c, {
+            return _extends({}, c, {
               allSizes: allSizes,
               deviceSizes: deviceSizes
             });
@@ -208,7 +113,7 @@
             var _tmp;
             (_tmp = function(obj) {
               var _ = obj.config,
-                opts = _objectWithoutProperties(obj, ["config"]);
+                opts = _objectWithoutPropertiesLoose(obj, ["config"]);
               // The config object is internal only so we must
               // not pass it to the user-defined loader()
               return customImageLoader(opts);
@@ -254,16 +159,19 @@
           unoptimized = true;
           isLazy = false;
         }
-        if (true && loadedImageURLs.has(src)) {
+        if (true && loadedImageURLs.has(src) && layout !== "raw") {
           isLazy = false;
         }
-        var ref = _slicedToArray((0, _react).useState(false), 2),
+        if (experimentalUnoptimized) {
+          unoptimized = true;
+        }
+        var ref = _sliced_to_array((0, _react).useState(false), 2),
           blurComplete = ref[0],
           setBlurComplete = ref[1];
-        var ref1 = _slicedToArray(
+        var ref1 = _sliced_to_array(
             (0, _useIntersection).useIntersection({
               rootRef: lazyRoot,
-              rootMargin: lazyBoundary,
+              rootMargin: lazyBoundary || "200px",
               disabled: !isLazy
             }),
             3
@@ -271,7 +179,7 @@
           setIntersection = ref1[0],
           isIntersected = ref1[1],
           resetIntersected = ref1[2];
-        var isVisible = !isLazy || isIntersected;
+        var isVisible = !isLazy || isIntersected || layout === "raw";
         var wrapperStyle = {
           boxSizing: "border-box",
           display: "block",
@@ -327,14 +235,32 @@
           style,
           layout === "raw" ? {} : layoutStyle
         );
+        var svgBlurPlaceholder = "url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http%3A//www.w3.org/2000/svg' xmlns%3Axlink='http%3A//www.w3.org/1999/xlink' viewBox='0 0 "
+          .concat(widthInt, " ")
+          .concat(
+            heightInt,
+            "'%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='50'%3E%3C/feGaussianBlur%3E%3CfeComponentTransfer%3E%3CfeFuncA type='discrete' tableValues='1 1'%3E%3C/feFuncA%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Cimage filter='url(%23b)' x='0' y='0' height='100%25' width='100%25' href='"
+          )
+          .concat(blurDataURL, "'%3E%3C/image%3E%3C/svg%3E\");");
         var blurStyle =
           placeholder === "blur" && !blurComplete
-            ? {
-                filter: "blur(20px)",
-                backgroundSize: objectFit || "cover",
-                backgroundImage: 'url("'.concat(blurDataURL, '")'),
-                backgroundPosition: objectPosition || "0% 0%"
-              }
+            ? _extends(
+                {
+                  backgroundSize: objectFit || "cover",
+                  backgroundPosition: objectPosition || "0% 0%"
+                },
+                layout === "raw" &&
+                  (blurDataURL == null
+                    ? void 0
+                    : blurDataURL.startsWith("data:image"))
+                  ? {
+                      backgroundImage: svgBlurPlaceholder
+                    }
+                  : {
+                      filter: "blur(20px)",
+                      backgroundImage: 'url("'.concat(blurDataURL, '")')
+                    }
+              )
             : {};
         if (layout === "fill") {
           // <Image src="i.png" layout="fill" />
@@ -409,8 +335,8 @@
         var _obj;
         var linkProps =
           ((_obj = {}), // Note: imagesrcset and imagesizes are not in the link element type with react 17.
-          _defineProperty(_obj, imageSrcSetPropName, imgAttributes.srcSet),
-          _defineProperty(_obj, imageSizesPropName, imgAttributes.sizes),
+          _define_property(_obj, imageSrcSetPropName, imgAttributes.srcSet),
+          _define_property(_obj, imageSizesPropName, imgAttributes.sizes),
           _obj);
         var useLayoutEffect = false ? 0 : _react.default.useLayoutEffect;
         var onLoadingCompleteRef = (0, _react).useRef(onLoadingComplete);
@@ -430,7 +356,7 @@
           },
           [resetIntersected, src]
         );
-        var imgElementArgs = _objectSpread(
+        var imgElementArgs = _extends(
           {
             isLazy: isLazy,
             imgAttributes: imgAttributes,
@@ -450,7 +376,8 @@
             onLoadingCompleteRef: onLoadingCompleteRef,
             setBlurComplete: setBlurComplete,
             setIntersection: setIntersection,
-            isVisible: isVisible
+            isVisible: isVisible,
+            noscriptSizes: sizes
           },
           rest
         );
@@ -525,18 +452,21 @@
             : null
         );
       }
-      function _defineProperty1(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 _extends() {
+        _extends =
+          Object.assign ||
+          function(target) {
+            for (var i = 1; i < arguments.length; i++) {
+              var source = arguments[i];
+              for (var key in source) {
+                if (Object.prototype.hasOwnProperty.call(source, key)) {
+                  target[key] = source[key];
+                }
+              }
+            }
+            return target;
+          };
+        return _extends.apply(this, arguments);
       }
       function _interopRequireDefault(obj) {
         return obj && obj.__esModule
@@ -545,67 +475,50 @@
               default: obj
             };
       }
+      function _getRequireWildcardCache() {
+        if (typeof WeakMap !== "function") return null;
+        var cache = new WeakMap();
+        _getRequireWildcardCache = function _getRequireWildcardCache() {
+          return cache;
+        };
+        return cache;
+      }
       function _interopRequireWildcard(obj) {
         if (obj && obj.__esModule) {
           return obj;
-        } else {
-          var newObj = {};
-          if (obj != null) {
-            for (var key in obj) {
-              if (Object.prototype.hasOwnProperty.call(obj, key)) {
-                var desc =
-                  Object.defineProperty && Object.getOwnPropertyDescriptor
-                    ? Object.getOwnPropertyDescriptor(obj, key)
-                    : {};
-                if (desc.get || desc.set) {
-                  Object.defineProperty(newObj, key, desc);
-                } else {
-                  newObj[key] = obj[key];
-                }
-              }
-            }
-          }
-          newObj.default = obj;
-          return newObj;
         }
-      }
-      function _objectSpread(target) {
-        var _arguments = arguments,
-          _loop = function(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) {
-              _defineProperty1(target, key, source[key]);
-            });
+        if (
+          obj === null ||
+          (typeof obj !== "object" && typeof obj !== "function")
+        ) {
+          return {
+            default: obj
           };
-        for (var i = 1; i < arguments.length; i++) _loop(i);
-        return target;
-      }
-      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];
+        }
+        var cache = _getRequireWildcardCache();
+        if (cache && cache.has(obj)) {
+          return cache.get(obj);
+        }
+        var newObj = {};
+        var hasPropertyDescriptor =
+          Object.defineProperty && Object.getOwnPropertyDescriptor;
+        for (var key in obj) {
+          if (Object.prototype.hasOwnProperty.call(obj, key)) {
+            var desc = hasPropertyDescriptor
+              ? Object.getOwnPropertyDescriptor(obj, key)
+              : null;
+            if (desc && (desc.get || desc.set)) {
+              Object.defineProperty(newObj, key, desc);
+            } else {
+              newObj[key] = obj[key];
+            }
           }
         }
-        return target;
+        newObj.default = obj;
+        if (cache) {
+          cache.set(obj, newObj);
+        }
+        return newObj;
       }
       function _objectWithoutPropertiesLoose(source, excluded) {
         if (source == null) return {};
@@ -619,17 +532,23 @@
         }
         return target;
       }
-      var ref;
-      var experimentalLayoutRaw =
-        (ref = {
-          deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
-          imageSizes: [16, 32, 48, 64, 96, 128, 256, 384],
-          path: "/_next/image",
-          loader: "default",
-          experimentalLayoutRaw: false
-        }) === null || ref === void 0
-          ? void 0
-          : ref.experimentalLayoutRaw;
+      var ref =
+          {
+            deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
+            imageSizes: [16, 32, 48, 64, 96, 128, 256, 384],
+            path: "/_next/image",
+            loader: "default",
+            experimentalLayoutRaw: false
+          } || {},
+        _experimentalLayoutRaw = ref.experimentalLayoutRaw,
+        experimentalLayoutRaw =
+          _experimentalLayoutRaw === void 0 ? false : _experimentalLayoutRaw,
+        _experimentalRemotePatterns = ref.experimentalRemotePatterns,
+        experimentalRemotePatterns =
+          _experimentalRemotePatterns === void 0
+            ? []
+            : _experimentalRemotePatterns,
+        experimentalUnoptimized = ref.experimentalUnoptimized;
       var configEnv = {
         deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
         imageSizes: [16, 32, 48, 64, 96, 128, 256, 384],
@@ -694,7 +613,7 @@
             var smallestRatio =
               (_Math = Math).min.apply(
                 _Math,
-                _toConsumableArray(percentSizes)
+                _to_consumable_array(percentSizes)
               ) * 0.01;
             return {
               widths: allSizes.filter(function(s) {
@@ -718,7 +637,7 @@
             kind: "w"
           };
         }
-        var widths = _toConsumableArray(
+        var widths = _to_consumable_array(
           new Set( // > are actually 3x in the green color, but only 1.5x in the red and
             // > blue colors. Showing a 3x resolution image in the app vs a 2x
             // > resolution image will be visually the same, though the 3x image
@@ -802,11 +721,10 @@
         return undefined;
       }
       function defaultImageLoader(loaderProps) {
-        var ref2;
+        var ref;
         var loaderKey =
-          ((ref2 = loaderProps.config) === null || ref2 === void 0
-            ? void 0
-            : ref2.loader) || "default";
+          ((ref = loaderProps.config) == null ? void 0 : ref.loader) ||
+          "default";
         var load = loaders.get(loaderKey);
         if (load) {
           return load(loaderProps);
@@ -850,9 +768,7 @@
             setBlurComplete(true);
           }
           if (
-            onLoadingCompleteRef === null || onLoadingCompleteRef === void 0
-              ? void 0
-              : onLoadingCompleteRef.current
+            onLoadingCompleteRef == null ? void 0 : onLoadingCompleteRef.current
           ) {
             var naturalWidth = img.naturalWidth,
               naturalHeight = img.naturalHeight;
@@ -864,7 +780,7 @@
             });
           }
           if (false) {
-            var parent, widthModified, heightModified, ref3;
+            var parent, widthModified, heightModified, ref;
           }
         });
       }
@@ -890,7 +806,8 @@
           onLoad = _param.onLoad,
           onError = _param.onError,
           isVisible = _param.isVisible,
-          rest = _objectWithoutProperties(_param, [
+          noscriptSizes = _param.noscriptSizes,
+          rest = _objectWithoutPropertiesLoose(_param, [
             "imgAttributes",
             "heightInt",
             "widthInt",
@@ -911,8 +828,10 @@
             "setIntersection",
             "onLoad",
             "onError",
-            "isVisible"
+            "isVisible",
+            "noscriptSizes"
           ]);
+        loading = isLazy ? "lazy" : loading;
         return /*#__PURE__*/ _react.default.createElement(
           _react.default.Fragment,
           null,
@@ -932,13 +851,13 @@
                 decoding: "async",
                 "data-nimg": layout,
                 className: className,
-                style: _objectSpread({}, imgStyle, blurStyle),
+                // @ts-ignore - TODO: upgrade to `@types/react@17`
+                loading: layout === "raw" ? loading : undefined,
+                style: _extends({}, imgStyle, blurStyle),
                 ref: (0, _react).useCallback(
                   function(img) {
                     setIntersection(img);
-                    if (
-                      img === null || img === void 0 ? void 0 : img.complete
-                    ) {
+                    if (img == null ? void 0 : img.complete) {
                       handleLoading(
                         img,
                         srcString,
@@ -1000,7 +919,7 @@
                     layout: layout,
                     width: widthInt,
                     quality: qualityInt,
-                    sizes: imgAttributes.sizes,
+                    sizes: noscriptSizes,
                     loader: loader
                   }),
                   layout === "raw"
@@ -1015,7 +934,7 @@
                     style: imgStyle,
                     className: className,
                     // @ts-ignore - TODO: upgrade to `@types/react@17`
-                    loading: loading || "lazy"
+                    loading: loading
                   }
                 )
               )
@@ -1081,7 +1000,7 @@
           width = param.width,
           quality = param.quality;
         if (false) {
-          var parsedSrc, missingValues;
+          var hasMatch, parsedSrc, missingValues;
         }
         if (src.endsWith(".svg") && !config.dangerouslyAllowSVG) {
           // Special case to make svg serve as-is to avoid proxying
@@ -1100,9 +1019,13 @@
           .concat(quality || 75);
       }
       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=image.js.map
@@ -1110,120 +1033,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() {
@@ -1237,15 +1094,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),
@@ -1283,12 +1137,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) {
@@ -1300,20 +1151,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
@@ -1321,7 +1175,7 @@
       /***/
     },
 
-    /***/ 3918: /***/ function(
+    /***/ 4789: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -1342,8 +1196,8 @@
 
       // EXTERNAL MODULE: ./node_modules/.pnpm/react@17.0.2/node_modules/react/jsx-runtime.js
       var jsx_runtime = __webpack_require__(4637);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_sfoxds7t5ydpegc3knd667wn6m/node_modules/next/image.js
-      var next_image = __webpack_require__(8114);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_sfoxds7t5ydpegc3knd667wn6m/node_modules/next/image.js
+      var next_image = __webpack_require__(4033);
       var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // CONCATENATED MODULE: ./pages/nextjs.png
       /* harmony default export */ var nextjs = {
         src: "/_next/static/media/nextjs.cae0b805.png",
@@ -1371,12 +1225,12 @@
       /***/
     },
 
-    /***/ 8114: /***/ function(
+    /***/ 4033: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(2185);
+      module.exports = __webpack_require__(361);
 
       /***/
     }
@@ -1387,7 +1241,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(7570);
+      return __webpack_exec__(1487);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for index-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [405],
   {
-    /***/ 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,7 +199,8 @@
             "scroll",
             "locale",
             "onClick",
-            "onMouseEnter"
+            "onMouseEnter",
+            "legacyBehavior"
           ]);
         children = childrenProp;
         if (legacyBehavior && typeof children === "string") {
@@ -242,10 +211,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 +243,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 +258,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 +325,8 @@
                 replace,
                 shallow,
                 scroll,
-                locale
+                locale,
+                appRouter ? startTransition : undefined
               );
             }
           },
@@ -378,16 +362,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 +389,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 +403,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 +464,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 +507,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 +521,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 +545,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 +589,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 +620,12 @@
       /***/
     },
 
-    /***/ 8168: /***/ function(
+    /***/ 8728: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(7160);
+      module.exports = __webpack_require__(882);
 
       /***/
     }
@@ -690,7 +636,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-bad6a5525c6accdf.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-bad6a5525c6accdf.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-5e1551cac962cc44.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-bad6a5525c6accdf.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.