Skip to content

Commit

Permalink
v10.2.4-canary.17
Browse files Browse the repository at this point in the history
  • Loading branch information
ijjk committed Jun 15, 2021
1 parent 5a78f59 commit d19935c
Show file tree
Hide file tree
Showing 14 changed files with 20 additions and 20 deletions.
2 changes: 1 addition & 1 deletion lerna.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,5 @@
"registry": "https://registry.npmjs.org/"
}
},
"version": "10.2.4-canary.16"
"version": "10.2.4-canary.17"
}
2 changes: 1 addition & 1 deletion packages/create-next-app/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "create-next-app",
"version": "10.2.4-canary.16",
"version": "10.2.4-canary.17",
"keywords": [
"react",
"next",
Expand Down
4 changes: 2 additions & 2 deletions packages/eslint-config-next/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "eslint-config-next",
"version": "10.2.4-canary.16",
"version": "10.2.4-canary.17",
"description": "ESLint configuration used by NextJS.",
"main": "index.js",
"license": "MIT",
Expand All @@ -9,7 +9,7 @@
"directory": "packages/eslint-config-next"
},
"dependencies": {
"@next/eslint-plugin-next": "10.2.4-canary.16",
"@next/eslint-plugin-next": "10.2.4-canary.17",
"@rushstack/eslint-patch": "^1.0.6",
"@typescript-eslint/parser": "^4.20.0",
"eslint-import-resolver-node": "^0.3.4",
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-plugin-next/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/eslint-plugin-next",
"version": "10.2.4-canary.16",
"version": "10.2.4-canary.17",
"description": "ESLint plugin for NextJS.",
"main": "lib/index.js",
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion packages/next-bundle-analyzer/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/bundle-analyzer",
"version": "10.2.4-canary.16",
"version": "10.2.4-canary.17",
"main": "index.js",
"license": "MIT",
"repository": {
Expand Down
2 changes: 1 addition & 1 deletion packages/next-codemod/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/codemod",
"version": "10.2.4-canary.16",
"version": "10.2.4-canary.17",
"license": "MIT",
"dependencies": {
"chalk": "4.1.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/next-env/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/env",
"version": "10.2.4-canary.16",
"version": "10.2.4-canary.17",
"keywords": [
"react",
"next",
Expand Down
2 changes: 1 addition & 1 deletion packages/next-mdx/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/mdx",
"version": "10.2.4-canary.16",
"version": "10.2.4-canary.17",
"main": "index.js",
"license": "MIT",
"repository": {
Expand Down
2 changes: 1 addition & 1 deletion packages/next-plugin-storybook/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/plugin-storybook",
"version": "10.2.4-canary.16",
"version": "10.2.4-canary.17",
"repository": {
"url": "vercel/next.js",
"directory": "packages/next-plugin-storybook"
Expand Down
2 changes: 1 addition & 1 deletion packages/next-polyfill-module/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/polyfill-module",
"version": "10.2.4-canary.16",
"version": "10.2.4-canary.17",
"description": "A standard library polyfill for ES Modules supporting browsers (Edge 16+, Firefox 60+, Chrome 61+, Safari 10.1+)",
"main": "dist/polyfill-module.js",
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion packages/next-polyfill-nomodule/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/polyfill-nomodule",
"version": "10.2.4-canary.16",
"version": "10.2.4-canary.17",
"description": "A polyfill for non-dead, nomodule browsers.",
"main": "dist/polyfill-nomodule.js",
"license": "MIT",
Expand Down
12 changes: 6 additions & 6 deletions packages/next/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "next",
"version": "10.2.4-canary.16",
"version": "10.2.4-canary.17",
"description": "The React Framework",
"main": "./dist/server/next.js",
"license": "MIT",
Expand Down Expand Up @@ -64,10 +64,10 @@
"dependencies": {
"@babel/runtime": "7.12.5",
"@hapi/accept": "5.0.2",
"@next/env": "10.2.4-canary.16",
"@next/polyfill-module": "10.2.4-canary.16",
"@next/react-dev-overlay": "10.2.4-canary.16",
"@next/react-refresh-utils": "10.2.4-canary.16",
"@next/env": "10.2.4-canary.17",
"@next/polyfill-module": "10.2.4-canary.17",
"@next/react-dev-overlay": "10.2.4-canary.17",
"@next/react-refresh-utils": "10.2.4-canary.17",
"assert": "2.0.0",
"ast-types": "0.13.2",
"browserify-zlib": "0.2.0",
Expand Down Expand Up @@ -151,7 +151,7 @@
"@babel/preset-typescript": "7.12.7",
"@babel/traverse": "^7.12.10",
"@babel/types": "7.12.12",
"@next/polyfill-nomodule": "10.2.4-canary.16",
"@next/polyfill-nomodule": "10.2.4-canary.17",
"@taskr/clear": "1.1.0",
"@taskr/esnext": "1.1.0",
"@taskr/watch": "1.1.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/react-dev-overlay/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/react-dev-overlay",
"version": "10.2.4-canary.16",
"version": "10.2.4-canary.17",
"description": "A development-only overlay for developing React applications.",
"repository": {
"url": "vercel/next.js",
Expand Down
2 changes: 1 addition & 1 deletion packages/react-refresh-utils/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/react-refresh-utils",
"version": "10.2.4-canary.16",
"version": "10.2.4-canary.17",
"description": "An experimental package providing utilities for React Refresh.",
"repository": {
"url": "vercel/next.js",
Expand Down

1 comment on commit d19935c

@ijjk
Copy link
Member Author

@ijjk ijjk commented on d19935c Jun 15, 2021

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 Server Mode (Increase detected ⚠️)
General Overall decrease βœ“
vercel/next.js canary v10.2.3 vercel/next.js refs/heads/canary Change
buildDuration 12.4s 13.1s ⚠️ +649ms
buildDurationCached 3.4s 3.1s -295ms
nodeModulesSize 46.5 MB 46.4 MB -80.3 kB
Page Load Tests Overall increase βœ“
vercel/next.js canary v10.2.3 vercel/next.js refs/heads/canary Change
/ failed reqs 0 0 βœ“
/ total time (seconds) 2.476 2.27 -0.21
/ avg req/sec 1009.71 1101.35 +91.64
/error-in-render failed reqs 0 0 βœ“
/error-in-render total time (seconds) 1.324 1.232 -0.09
/error-in-render avg req/sec 1887.78 2029.62 +141.84
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary v10.2.3 vercel/next.js refs/heads/canary Change
framework-HASH.js gzip 42 kB 42 kB βœ“
main-HASH.js gzip 19.4 kB 20.2 kB ⚠️ +761 B
webpack-HASH.js gzip 994 B 804 B -190 B
Overall change 62.5 kB 63 kB ⚠️ +571 B
Legacy Client Bundles (polyfills) Overall decrease βœ“
vercel/next.js canary v10.2.3 vercel/next.js refs/heads/canary Change
polyfills-HASH.js gzip 31.1 kB 31.1 kB -2 B
Overall change 31.1 kB 31.1 kB -2 B
Client Pages Overall decrease βœ“
vercel/next.js canary v10.2.3 vercel/next.js refs/heads/canary Change
_app-HASH.js gzip 1.02 kB 801 B -219 B
_error-HASH.js gzip 3.06 kB 3.17 kB ⚠️ +104 B
amp-HASH.js gzip 526 B 527 B ⚠️ +1 B
css-HASH.js gzip 330 B 329 B -1 B
hooks-HASH.js gzip 904 B 903 B -1 B
index-HASH.js gzip 262 B 263 B ⚠️ +1 B
link-HASH.js gzip 1.66 kB 1.65 kB -8 B
routerDirect..HASH.js gzip 322 B 322 B βœ“
withRouter-HASH.js gzip 319 B 320 B ⚠️ +1 B
bb14e60e810b..30f.css gzip 125 B 125 B βœ“
Overall change 8.54 kB 8.41 kB -122 B
Client Build Manifests
vercel/next.js canary v10.2.3 vercel/next.js refs/heads/canary Change
_buildManifest.js gzip 391 B 391 B βœ“
Overall change 391 B 391 B βœ“
Rendered Page Sizes Overall decrease βœ“
vercel/next.js canary v10.2.3 vercel/next.js refs/heads/canary Change
index.html gzip 561 B 522 B -39 B
link.html gzip 569 B 535 B -34 B
withRouter.html gzip 555 B 515 B -40 B
Overall change 1.69 kB 1.57 kB -113 B

Diffs

Diff for _buildManifest.js
@@ -1,23 +1,23 @@
 self.__BUILD_MANIFEST = {
   __rewrites: { beforeFiles: [], afterFiles: [], fallback: [] },
-  "/": ["static\u002Fchunks\u002Fpages\u002Findex-b460df3d63326fbb06a1.js"],
+  "/": ["static\u002Fchunks\u002Fpages\u002Findex-96d821e908dd023681e4.js"],
   "/_error": [
-    "static\u002Fchunks\u002Fpages\u002F_error-51845a36fe9902c725c2.js"
+    "static\u002Fchunks\u002Fpages\u002F_error-a9b3a05c6c7f15ca24a9.js"
   ],
-  "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-27f75ad11120c5cdedd1.js"],
+  "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-7f1c918feab47667356f.js"],
   "/css": [
-    "static\u002Fcss\u002Fe025d27648136bbd252f.css",
-    "static\u002Fchunks\u002Fpages\u002Fcss-18fb61bd16b12bc4dfa3.js"
+    "static\u002Fcss\u002F59de118426c393f58653.css",
+    "static\u002Fchunks\u002Fpages\u002Fcss-fc196f2ef04da4c7630f.js"
   ],
   "/hooks": [
-    "static\u002Fchunks\u002Fpages\u002Fhooks-fdb4ee79a7c3f53f3fd0.js"
+    "static\u002Fchunks\u002Fpages\u002Fhooks-4e38b05900fed34fcf34.js"
   ],
-  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-5ad922485f835e8f265e.js"],
+  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-811992c79c17865c8834.js"],
   "/routerDirect": [
-    "static\u002Fchunks\u002Fpages\u002FrouterDirect-8f35c7ae67919ca0caa3.js"
+    "static\u002Fchunks\u002Fpages\u002FrouterDirect-406413a9f8b683e210e8.js"
   ],
   "/withRouter": [
-    "static\u002Fchunks\u002Fpages\u002FwithRouter-5eef84f3491045854d65.js"
+    "static\u002Fchunks\u002Fpages\u002FwithRouter-f913a23b67f50709b1ce.js"
   ],
   sortedPages: [
     "\u002F",
Diff for _app-HASH.js
@@ -1,54 +1,26 @@
-_N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
-  [4],
+(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
+  [888],
   {
-    /***/ 0: /***/ function(module, exports, __webpack_require__) {
-      __webpack_require__("e9+W");
-      module.exports = __webpack_require__("nOHt");
-
-      /***/
-    },
-
-    /***/ "7W2i": /***/ function(module, exports, __webpack_require__) {
-      var setPrototypeOf = __webpack_require__("SksO");
-
-      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);
-      }
-
-      module.exports = _inherits;
-
-      /***/
-    },
-
-    /***/ B5Ud: /***/ function(module, exports, __webpack_require__) {
+    /***/ 3857: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
       "use strict";
 
-      var _regeneratorRuntime = __webpack_require__("o0o1");
+      var _regeneratorRuntime = __webpack_require__(7757);
 
-      var _classCallCheck = __webpack_require__("lwsE");
+      var _classCallCheck = __webpack_require__(4575);
 
-      var _createClass = __webpack_require__("W8MJ");
+      var _createClass = __webpack_require__(3913);
 
-      var _inherits = __webpack_require__("7W2i");
+      var _inherits = __webpack_require__(2205);
 
-      var _possibleConstructorReturn = __webpack_require__("a1gu");
+      var _possibleConstructorReturn = __webpack_require__(8585);
 
-      var _getPrototypeOf = __webpack_require__("Nsbk");
+      var _getPrototypeOf = __webpack_require__(9754);
 
-      var _asyncToGenerator = __webpack_require__("yXPU");
+      var _asyncToGenerator = __webpack_require__(8926);
 
       function _createSuper(Derived) {
         var hasNativeReflectConstruct = _isNativeReflectConstruct();
@@ -79,16 +51,14 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
         }
       }
 
-      var _interopRequireDefault = __webpack_require__("TqRt");
+      var _interopRequireDefault = __webpack_require__(5318);
 
       exports.__esModule = true;
-      exports.Container = Container;
-      exports.createUrl = createUrl;
-      exports["default"] = void 0;
+      exports.default = void 0;
 
-      var _react = _interopRequireDefault(__webpack_require__("q1tI"));
+      var _react = _interopRequireDefault(__webpack_require__(7294));
 
-      var _utils = __webpack_require__("g/15");
+      var _utils = __webpack_require__(4755);
 
       exports.AppInitialProps = _utils.AppInitialProps;
       exports.NextWebVitalsMetric = _utils.NextWebVitalsMetric;
@@ -142,36 +112,15 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
         }
 
         _createClass(App, [
-          {
-            key: "componentDidCatch",
-            // Kept here for backwards compatibility.
-            // When someone ended App they could call `super.componentDidCatch`.
-            // @deprecated This method is no longer needed. Errors are caught at the top level
-            value: function componentDidCatch(error, _errorInfo) {
-              throw error;
-            }
-          },
           {
             key: "render",
             value: function render() {
               var _this$props = this.props,
-                router = _this$props.router,
                 Component = _this$props.Component,
-                pageProps = _this$props.pageProps,
-                __N_SSG = _this$props.__N_SSG,
-                __N_SSP = _this$props.__N_SSP;
+                pageProps = _this$props.pageProps;
               return /*#__PURE__*/ _react["default"].createElement(
                 Component,
-                Object.assign(
-                  {},
-                  pageProps, // we don't add the legacy URL prop if it's using non-legacy
-                  // methods like getStaticProps and getServerSideProps
-                  !(__N_SSG || __N_SSP)
-                    ? {
-                        url: createUrl(router)
-                      }
-                    : {}
-                )
+                pageProps
               );
             }
           }
@@ -180,142 +129,41 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
         return App;
       })(_react["default"].Component);
 
-      exports["default"] = App;
+      exports.default = App;
       App.origGetInitialProps = appGetInitialProps;
       App.getInitialProps = appGetInitialProps;
-      var warnContainer;
-      var warnUrl;
-
-      if (false) {
-      } // @deprecated noop for now until removal
-
-      function Container(p) {
-        if (false) {
-        }
-        return p.children;
-      }
-
-      function createUrl(router) {
-        // This is to make sure we don't references the router object at call time
-        var pathname = router.pathname,
-          asPath = router.asPath,
-          query = router.query;
-        return {
-          get query() {
-            if (false) {
-            }
-            return query;
-          },
-
-          get pathname() {
-            if (false) {
-            }
-            return pathname;
-          },
-
-          get asPath() {
-            if (false) {
-            }
-            return asPath;
-          },
-
-          back: function back() {
-            if (false) {
-            }
-            router.back();
-          },
-          push: function push(url, as) {
-            if (false) {
-            }
-            return router.push(url, as);
-          },
-          pushTo: function pushTo(href, as) {
-            if (false) {
-            }
-            var pushRoute = as ? href : "";
-            var pushUrl = as || href;
-            return router.push(pushRoute, pushUrl);
-          },
-          replace: function replace(url, as) {
-            if (false) {
-            }
-            return router.replace(url, as);
-          },
-          replaceTo: function replaceTo(href, as) {
-            if (false) {
-            }
-            var replaceRoute = as ? href : "";
-            var replaceUrl = as || href;
-            return router.replace(replaceRoute, replaceUrl);
-          }
-        };
-      }
-
-      /***/
-    },
-
-    /***/ Nsbk: /***/ function(module, exports) {
-      function _getPrototypeOf(o) {
-        module.exports = _getPrototypeOf = Object.setPrototypeOf
-          ? Object.getPrototypeOf
-          : function _getPrototypeOf(o) {
-              return o.__proto__ || Object.getPrototypeOf(o);
-            };
-        return _getPrototypeOf(o);
-      }
-
-      module.exports = _getPrototypeOf;
-
-      /***/
-    },
-
-    /***/ PJYZ: /***/ function(module, exports) {
-      function _assertThisInitialized(self) {
-        if (self === void 0) {
-          throw new ReferenceError(
-            "this hasn't been initialised - super() hasn't been called"
-          );
-        }
-
-        return self;
-      }
-
-      module.exports = _assertThisInitialized;
-
-      /***/
-    },
-
-    /***/ a1gu: /***/ function(module, exports, __webpack_require__) {
-      var _typeof = __webpack_require__("cDf5");
-
-      var assertThisInitialized = __webpack_require__("PJYZ");
-
-      function _possibleConstructorReturn(self, call) {
-        if (
-          call &&
-          (_typeof(call) === "object" || typeof call === "function")
-        ) {
-          return call;
-        }
-
-        return assertThisInitialized(self);
-      }
-
-      module.exports = _possibleConstructorReturn;
 
       /***/
     },
 
-    /***/ "e9+W": /***/ function(module, exports, __webpack_require__) {
+    /***/ 915: /***/ function(
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/_app",
         function() {
-          return __webpack_require__("B5Ud");
+          return __webpack_require__(3857);
         }
       ]);
 
       /***/
     }
   },
-  [[0, 0, 1, 2]]
+  /******/ function(__webpack_require__) {
+    // webpackRuntimeModules
+    /******/ // runtime can't be in strict mode because a global variable is assign and maybe created.
+    /******/
+
+    /******/ var __webpack_exec__ = function(moduleId) {
+      return __webpack_require__((__webpack_require__.s = moduleId));
+    };
+    /******/ __webpack_require__.O(0, [774, 179], function() {
+      return __webpack_exec__(915), __webpack_exec__(4651);
+    });
+    /******/ var __webpack_exports__ = __webpack_require__.O();
+    /******/ _N_E = __webpack_exports__;
+    /******/
+  }
 ]);
Diff for _error-HASH.js
@@ -1,283 +1,179 @@
-_N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
-  [5],
+(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
+  [820],
   {
-    /***/ "/0+H": /***/ function(module, exports, __webpack_require__) {
-      "use strict";
+    /***/ 3646: /***/ function(
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      var arrayLikeToArray = __webpack_require__(7228);
 
-      exports.__esModule = true;
-      exports.isInAmpMode = isInAmpMode;
-      exports.useAmp = useAmp;
+      function _arrayWithoutHoles(arr) {
+        if (Array.isArray(arr)) return arrayLikeToArray(arr);
+      }
 
-      var _react = _interopRequireDefault(__webpack_require__("q1tI"));
+      module.exports = _arrayWithoutHoles;
 
-      var _ampContext = __webpack_require__("lwAK");
+      /***/
+    },
 
-      function _interopRequireDefault(obj) {
-        return obj && obj.__esModule
-          ? obj
-          : {
-              default: obj
-            };
+    /***/ 9713: /***/ function(module) {
+      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 isInAmpMode() {
-        var _ref =
-            arguments.length > 0 && arguments[0] !== undefined
-              ? arguments[0]
-              : {},
-          _ref$ampFirst = _ref.ampFirst,
-          ampFirst = _ref$ampFirst === void 0 ? false : _ref$ampFirst,
-          _ref$hybrid = _ref.hybrid,
-          hybrid = _ref$hybrid === void 0 ? false : _ref$hybrid,
-          _ref$hasQuery = _ref.hasQuery,
-          hasQuery = _ref$hasQuery === void 0 ? false : _ref$hasQuery;
+      module.exports = _defineProperty;
 
-        return ampFirst || (hybrid && hasQuery);
-      }
+      /***/
+    },
 
-      function useAmp() {
-        // Don't assign the context value to a variable to save bytes
-        return isInAmpMode(
-          _react["default"].useContext(_ampContext.AmpStateContext)
-        );
+    /***/ 6860: /***/ function(module) {
+      function _iterableToArray(iter) {
+        if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter))
+          return Array.from(iter);
       }
 
+      module.exports = _iterableToArray;
+
       /***/
     },
 
-    /***/ "/a9y": /***/ function(module, exports, __webpack_require__) {
-      "use strict";
+    /***/ 8206: /***/ function(module) {
+      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."
+        );
+      }
 
-      var _classCallCheck = __webpack_require__("lwsE");
+      module.exports = _nonIterableSpread;
 
-      var _createClass = __webpack_require__("W8MJ");
+      /***/
+    },
 
-      var _inherits = __webpack_require__("7W2i");
+    /***/ 319: /***/ function(
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      var arrayWithoutHoles = __webpack_require__(3646);
 
-      var _possibleConstructorReturn = __webpack_require__("a1gu");
+      var iterableToArray = __webpack_require__(6860);
 
-      var _getPrototypeOf = __webpack_require__("Nsbk");
+      var unsupportedIterableToArray = __webpack_require__(379);
 
-      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 nonIterableSpread = __webpack_require__(8206);
 
-      function _isNativeReflectConstruct() {
-        if (typeof Reflect === "undefined" || !Reflect.construct) return false;
-        if (Reflect.construct.sham) return false;
-        if (typeof Proxy === "function") return true;
-        try {
-          Date.prototype.toString.call(
-            Reflect.construct(Date, [], function() {})
-          );
-          return true;
-        } catch (e) {
-          return false;
-        }
+      function _toConsumableArray(arr) {
+        return (
+          arrayWithoutHoles(arr) ||
+          iterableToArray(arr) ||
+          unsupportedIterableToArray(arr) ||
+          nonIterableSpread()
+        );
       }
 
-      var _interopRequireDefault = __webpack_require__("TqRt");
+      module.exports = _toConsumableArray;
 
-      exports.__esModule = true;
-      exports["default"] = void 0;
+      /***/
+    },
 
-      var _react = _interopRequireDefault(__webpack_require__("q1tI"));
+    /***/ 3398: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
 
-      var _head = _interopRequireDefault(__webpack_require__("8Kt/"));
+      exports.__esModule = true;
+      exports.AmpStateContext = void 0;
 
-      var statusCodes = {
-        400: "Bad Request",
-        404: "This page could not be found",
-        405: "Method Not Allowed",
-        500: "Internal Server Error"
-      };
+      var _react = _interopRequireDefault(__webpack_require__(7294));
 
-      function _getInitialProps(_ref) {
-        var res = _ref.res,
-          err = _ref.err;
-        var statusCode =
-          res && res.statusCode ? res.statusCode : err ? err.statusCode : 404;
-        return {
-          statusCode: statusCode
-        };
+      function _interopRequireDefault(obj) {
+        return obj && obj.__esModule
+          ? obj
+          : {
+              default: obj
+            };
       }
-      /**
-       * `Error` component used for handling errors.
-       */
 
-      var Error = /*#__PURE__*/ (function(_react$default$Compon) {
-        _inherits(Error, _react$default$Compon);
-
-        var _super = _createSuper(Error);
-
-        function Error() {
-          _classCallCheck(this, Error);
-
-          return _super.apply(this, arguments);
-        }
-
-        _createClass(Error, [
-          {
-            key: "render",
-            value: function render() {
-              var statusCode = this.props.statusCode;
-              var title =
-                this.props.title ||
-                statusCodes[statusCode] ||
-                "An unexpected error has occurred";
-              return /*#__PURE__*/ _react["default"].createElement(
-                "div",
-                {
-                  style: styles.error
-                },
-                /*#__PURE__*/ _react["default"].createElement(
-                  _head["default"],
-                  null,
-                  /*#__PURE__*/ _react["default"].createElement(
-                    "title",
-                    null,
-                    statusCode,
-                    ": ",
-                    title
-                  )
-                ),
-                /*#__PURE__*/ _react["default"].createElement(
-                  "div",
-                  null,
-                  /*#__PURE__*/ _react["default"].createElement("style", {
-                    dangerouslySetInnerHTML: {
-                      __html: "body { margin: 0 }"
-                    }
-                  }),
-                  statusCode
-                    ? /*#__PURE__*/ _react["default"].createElement(
-                        "h1",
-                        {
-                          style: styles.h1
-                        },
-                        statusCode
-                      )
-                    : null,
-                  /*#__PURE__*/ _react["default"].createElement(
-                    "div",
-                    {
-                      style: styles.desc
-                    },
-                    /*#__PURE__*/ _react["default"].createElement(
-                      "h2",
-                      {
-                        style: styles.h2
-                      },
-                      title,
-                      "."
-                    )
-                  )
-                )
-              );
-            }
-          }
-        ]);
+      var AmpStateContext = /*#__PURE__*/ _react["default"].createContext({});
 
-        return Error;
-      })(_react["default"].Component);
+      exports.AmpStateContext = AmpStateContext;
 
-      exports["default"] = Error;
-      Error.displayName = "ErrorPage";
-      Error.getInitialProps = _getInitialProps;
-      Error.origGetInitialProps = _getInitialProps;
-      var styles = {
-        error: {
-          color: "#000",
-          background: "#fff",
-          fontFamily:
-            '-apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Fira Sans", Avenir, "Helvetica Neue", "Lucida Grande", sans-serif',
-          height: "100vh",
-          textAlign: "center",
-          display: "flex",
-          flexDirection: "column",
-          alignItems: "center",
-          justifyContent: "center"
-        },
-        desc: {
-          display: "inline-block",
-          textAlign: "left",
-          lineHeight: "49px",
-          height: "49px",
-          verticalAlign: "middle"
-        },
-        h1: {
-          display: "inline-block",
-          borderRight: "1px solid rgba(0, 0, 0,.3)",
-          margin: 0,
-          marginRight: "20px",
-          padding: "10px 23px 10px 0",
-          fontSize: "24px",
-          fontWeight: 500,
-          verticalAlign: "top"
-        },
-        h2: {
-          fontSize: "14px",
-          fontWeight: "normal",
-          lineHeight: "inherit",
-          margin: 0,
-          padding: 0
-        }
-      };
+      if (false) {
+      }
 
       /***/
     },
 
-    /***/ "04ac": /***/ function(module, exports, __webpack_require__) {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/_error",
-        function() {
-          return __webpack_require__("/a9y");
-        }
-      ]);
+    /***/ 6393: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
 
-      /***/
-    },
+      exports.__esModule = true;
+      exports.isInAmpMode = isInAmpMode;
+      exports.useAmp = useAmp;
 
-    /***/ "7W2i": /***/ function(module, exports, __webpack_require__) {
-      var setPrototypeOf = __webpack_require__("SksO");
+      var _react = _interopRequireDefault(__webpack_require__(7294));
 
-      function _inherits(subClass, superClass) {
-        if (typeof superClass !== "function" && superClass !== null) {
-          throw new TypeError(
-            "Super expression must either be null or a function"
-          );
-        }
+      var _ampContext = __webpack_require__(3398);
 
-        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
+            };
       }
 
-      module.exports = _inherits;
+      function isInAmpMode() {
+        var _ref =
+            arguments.length > 0 && arguments[0] !== undefined
+              ? arguments[0]
+              : {},
+          _ref$ampFirst = _ref.ampFirst,
+          ampFirst = _ref$ampFirst === void 0 ? false : _ref$ampFirst,
+          _ref$hybrid = _ref.hybrid,
+          hybrid = _ref$hybrid === void 0 ? false : _ref$hybrid,
+          _ref$hasQuery = _ref.hasQuery,
+          hasQuery = _ref$hasQuery === void 0 ? false : _ref$hasQuery;
+
+        return ampFirst || (hybrid && hasQuery);
+      }
+
+      function useAmp() {
+        // Don't assign the context value to a variable to save bytes
+        return isInAmpMode(
+          _react["default"].useContext(_ampContext.AmpStateContext)
+        );
+      }
 
       /***/
     },
 
-    /***/ "8Kt/": /***/ function(module, exports, __webpack_require__) {
+    /***/ 2775: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
       "use strict";
 
-      var _defineProperty = __webpack_require__("lSNA");
+      var _defineProperty = __webpack_require__(9713);
 
       function ownKeys(object, enumerableOnly) {
         var keys = Object.keys(object);
@@ -319,17 +215,17 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
 
       exports.__esModule = true;
       exports.defaultHead = defaultHead;
-      exports["default"] = void 0;
+      exports.default = void 0;
 
-      var _react = _interopRequireWildcard(__webpack_require__("q1tI"));
+      var _react = _interopRequireWildcard(__webpack_require__(7294));
 
-      var _sideEffect = _interopRequireDefault(__webpack_require__("Xuae"));
+      var _sideEffect = _interopRequireDefault(__webpack_require__(3244));
 
-      var _ampContext = __webpack_require__("lwAK");
+      var _ampContext = __webpack_require__(3398);
 
-      var _headManagerContext = __webpack_require__("FYa8");
+      var _headManagerContext = __webpack_require__(1165);
 
-      var _amp = __webpack_require__("/0+H");
+      var _amp = __webpack_require__(6393);
 
       function _interopRequireDefault(obj) {
         return obj && obj.__esModule
@@ -589,228 +485,34 @@ Also adds support for deduplicated `key` properties
           },
           children
         );
-      } // TODO: Remove in the next major release
-
-      Head.rewind = function() {};
-
-      var _default = Head;
-      exports["default"] = _default;
-
-      /***/
-    },
-
-    /***/ Bnag: /***/ function(module, exports) {
-      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."
-        );
-      }
-
-      module.exports = _nonIterableSpread;
-
-      /***/
-    },
-
-    /***/ EbDI: /***/ function(module, exports) {
-      function _iterableToArray(iter) {
-        if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter))
-          return Array.from(iter);
-      }
-
-      module.exports = _iterableToArray;
-
-      /***/
-    },
-
-    /***/ FYa8: /***/ function(module, exports, __webpack_require__) {
-      "use strict";
-
-      exports.__esModule = true;
-      exports.HeadManagerContext = void 0;
-
-      var _react = _interopRequireDefault(__webpack_require__("q1tI"));
-
-      function _interopRequireDefault(obj) {
-        return obj && obj.__esModule
-          ? obj
-          : {
-              default: obj
-            };
-      }
-
-      var HeadManagerContext = /*#__PURE__*/ _react["default"].createContext(
-        {}
-      );
-
-      exports.HeadManagerContext = HeadManagerContext;
-
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ Ijbi: /***/ function(module, exports, __webpack_require__) {
-      var arrayLikeToArray = __webpack_require__("WkPL");
-
-      function _arrayWithoutHoles(arr) {
-        if (Array.isArray(arr)) return arrayLikeToArray(arr);
-      }
-
-      module.exports = _arrayWithoutHoles;
-
-      /***/
-    },
-
-    /***/ Nsbk: /***/ function(module, exports) {
-      function _getPrototypeOf(o) {
-        module.exports = _getPrototypeOf = Object.setPrototypeOf
-          ? Object.getPrototypeOf
-          : function _getPrototypeOf(o) {
-              return o.__proto__ || Object.getPrototypeOf(o);
-            };
-        return _getPrototypeOf(o);
-      }
-
-      module.exports = _getPrototypeOf;
-
-      /***/
-    },
-
-    /***/ PJYZ: /***/ function(module, exports) {
-      function _assertThisInitialized(self) {
-        if (self === void 0) {
-          throw new ReferenceError(
-            "this hasn't been initialised - super() hasn't been called"
-          );
-        }
-
-        return self;
-      }
-
-      module.exports = _assertThisInitialized;
-
-      /***/
-    },
-
-    /***/ Qetd: /***/ function(module, exports, __webpack_require__) {
-      "use strict";
-      var assign = Object.assign.bind(Object);
-      module.exports = assign;
-      module.exports.default = module.exports;
-      //# sourceMappingURL=object-assign.js.map
-
-      /***/
-    },
-
-    /***/ RIqP: /***/ function(module, exports, __webpack_require__) {
-      var arrayWithoutHoles = __webpack_require__("Ijbi");
-
-      var iterableToArray = __webpack_require__("EbDI");
-
-      var unsupportedIterableToArray = __webpack_require__("ZhPi");
-
-      var nonIterableSpread = __webpack_require__("Bnag");
-
-      function _toConsumableArray(arr) {
-        return (
-          arrayWithoutHoles(arr) ||
-          iterableToArray(arr) ||
-          unsupportedIterableToArray(arr) ||
-          nonIterableSpread()
-        );
-      }
-
-      module.exports = _toConsumableArray;
-
-      /***/
-    },
-
-    /***/ SksO: /***/ function(module, exports) {
-      function _setPrototypeOf(o, p) {
-        module.exports = _setPrototypeOf =
-          Object.setPrototypeOf ||
-          function _setPrototypeOf(o, p) {
-            o.__proto__ = p;
-            return o;
-          };
-
-        return _setPrototypeOf(o, p);
-      }
-
-      module.exports = _setPrototypeOf;
-
-      /***/
-    },
-
-    /***/ TqRt: /***/ function(module, exports) {
-      function _interopRequireDefault(obj) {
-        return obj && obj.__esModule
-          ? obj
-          : {
-              default: obj
-            };
-      }
-
-      module.exports = _interopRequireDefault;
-
-      /***/
-    },
-
-    /***/ W8MJ: /***/ function(module, exports) {
-      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;
       }
 
-      module.exports = _createClass;
-
-      /***/
-    },
-
-    /***/ WkPL: /***/ function(module, exports) {
-      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;
-      }
-
-      module.exports = _arrayLikeToArray;
+      var _default = Head;
+      exports.default = _default;
 
       /***/
     },
 
-    /***/ Xuae: /***/ function(module, exports, __webpack_require__) {
+    /***/ 3244: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
       "use strict";
 
-      var _toConsumableArray = __webpack_require__("RIqP");
+      var _toConsumableArray = __webpack_require__(319);
 
-      var _classCallCheck = __webpack_require__("lwsE");
+      var _classCallCheck = __webpack_require__(4575);
 
-      var _createClass = __webpack_require__("W8MJ");
+      var _createClass = __webpack_require__(3913);
 
-      var _assertThisInitialized = __webpack_require__("PJYZ");
+      var _assertThisInitialized = __webpack_require__(1506);
 
-      var _inherits = __webpack_require__("7W2i");
+      var _inherits = __webpack_require__(2205);
 
-      var _possibleConstructorReturn = __webpack_require__("a1gu");
+      var _possibleConstructorReturn = __webpack_require__(8585);
 
-      var _getPrototypeOf = __webpack_require__("Nsbk");
+      var _getPrototypeOf = __webpack_require__(9754);
 
       function _createSuper(Derived) {
         var hasNativeReflectConstruct = _isNativeReflectConstruct();
@@ -842,9 +544,9 @@ Also adds support for deduplicated `key` properties
       }
 
       exports.__esModule = true;
-      exports["default"] = void 0;
+      exports.default = void 0;
 
-      var _react = __webpack_require__("q1tI");
+      var _react = __webpack_require__(7294);
 
       var isServer = false;
 
@@ -924,141 +626,251 @@ Also adds support for deduplicated `key` properties
         return _default;
       })(_react.Component);
 
-      exports["default"] = _default;
+      exports.default = _default;
 
       /***/
     },
 
-    /***/ ZhPi: /***/ function(module, exports, __webpack_require__) {
-      var arrayLikeToArray = __webpack_require__("WkPL");
+    /***/ 3359: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
 
-      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(o);
-        if (
-          n === "Arguments" ||
-          /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
-        )
-          return arrayLikeToArray(o, minLen);
-      }
+      var _classCallCheck = __webpack_require__(4575);
 
-      module.exports = _unsupportedIterableToArray;
+      var _createClass = __webpack_require__(3913);
 
-      /***/
-    },
+      var _inherits = __webpack_require__(2205);
 
-    /***/ a1gu: /***/ function(module, exports, __webpack_require__) {
-      var _typeof = __webpack_require__("cDf5");
+      var _possibleConstructorReturn = __webpack_require__(8585);
 
-      var assertThisInitialized = __webpack_require__("PJYZ");
+      var _getPrototypeOf = __webpack_require__(9754);
 
-      function _possibleConstructorReturn(self, call) {
-        if (
-          call &&
-          (_typeof(call) === "object" || typeof call === "function")
-        ) {
-          return call;
-        }
-
-        return assertThisInitialized(self);
+      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);
+        };
       }
 
-      module.exports = _possibleConstructorReturn;
-
-      /***/
-    },
-
-    /***/ cDf5: /***/ function(module, exports) {
-      function _typeof(obj) {
-        "@babel/helpers - typeof";
-
-        if (
-          typeof Symbol === "function" &&
-          typeof Symbol.iterator === "symbol"
-        ) {
-          module.exports = _typeof = function _typeof(obj) {
-            return typeof obj;
-          };
-        } else {
-          module.exports = _typeof = function _typeof(obj) {
-            return obj &&
-              typeof Symbol === "function" &&
-              obj.constructor === Symbol &&
-              obj !== Symbol.prototype
-              ? "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 {
+          Date.prototype.toString.call(
+            Reflect.construct(Date, [], function() {})
+          );
+          return true;
+        } catch (e) {
+          return false;
         }
-
-        return _typeof(obj);
       }
 
-      module.exports = _typeof;
+      var _interopRequireDefault = __webpack_require__(5318);
 
-      /***/
-    },
+      exports.__esModule = true;
+      exports.default = void 0;
 
-    /***/ lSNA: /***/ function(module, exports) {
-      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;
-        }
+      var _react = _interopRequireDefault(__webpack_require__(7294));
 
-        return obj;
-      }
+      var _head = _interopRequireDefault(__webpack_require__(2775));
 
-      module.exports = _defineProperty;
+      var statusCodes = {
+        400: "Bad Request",
+        404: "This page could not be found",
+        405: "Method Not Allowed",
+        500: "Internal Server Error"
+      };
 
-      /***/
-    },
+      function _getInitialProps(_ref) {
+        var res = _ref.res,
+          err = _ref.err;
+        var statusCode =
+          res && res.statusCode ? res.statusCode : err ? err.statusCode : 404;
+        return {
+          statusCode: statusCode
+        };
+      }
+      /**
+       * `Error` component used for handling errors.
+       */
 
-    /***/ lwAK: /***/ function(module, exports, __webpack_require__) {
-      "use strict";
+      var Error = /*#__PURE__*/ (function(_react$default$Compon) {
+        _inherits(Error, _react$default$Compon);
 
-      exports.__esModule = true;
-      exports.AmpStateContext = void 0;
+        var _super = _createSuper(Error);
 
-      var _react = _interopRequireDefault(__webpack_require__("q1tI"));
+        function Error() {
+          _classCallCheck(this, Error);
 
-      function _interopRequireDefault(obj) {
-        return obj && obj.__esModule
-          ? obj
-          : {
-              default: obj
-            };
-      }
+          return _super.apply(this, arguments);
+        }
 
-      var AmpStateContext = /*#__PURE__*/ _react["default"].createContext({});
+        _createClass(Error, [
+          {
+            key: "render",
+            value: function render() {
+              var statusCode = this.props.statusCode;
+              var title =
+                this.props.title ||
+                statusCodes[statusCode] ||
+                "An unexpected error has occurred";
+              return /*#__PURE__*/ _react["default"].createElement(
+                "div",
+                {
+                  style: styles.error
+                },
+                /*#__PURE__*/ _react["default"].createElement(
+                  _head["default"],
+                  null,
+                  /*#__PURE__*/ _react["default"].createElement(
+                    "title",
+                    null,
+                    statusCode
+                      ? "".concat(statusCode, ": ").concat(title)
+                      : "Application error: a client-side exception has occurred"
+                  )
+                ),
+                /*#__PURE__*/ _react["default"].createElement(
+                  "div",
+                  null,
+                  /*#__PURE__*/ _react["default"].createElement("style", {
+                    dangerouslySetInnerHTML: {
+                      __html: "body { margin: 0 }"
+                    }
+                  }),
+                  statusCode
+                    ? /*#__PURE__*/ _react["default"].createElement(
+                        "h1",
+                        {
+                          style: styles.h1
+                        },
+                        statusCode
+                      )
+                    : null,
+                  /*#__PURE__*/ _react["default"].createElement(
+                    "div",
+                    {
+                      style: styles.desc
+                    },
+                    /*#__PURE__*/ _react["default"].createElement(
+                      "h2",
+                      {
+                        style: styles.h2
+                      },
+                      this.props.title || statusCode
+                        ? title
+                        : /*#__PURE__*/ _react["default"].createElement(
+                            _react["default"].Fragment,
+                            null,
+                            "Application error: a client-side exception has occurred (",
+                            /*#__PURE__*/ _react["default"].createElement(
+                              "a",
+                              {
+                                href:
+                                  "https://nextjs.org/docs/messages/client-side-exception-occurred"
+                              },
+                              "developer guidance"
+                            ),
+                            ")"
+                          ),
+                      "."
+                    )
+                  )
+                )
+              );
+            }
+          }
+        ]);
 
-      exports.AmpStateContext = AmpStateContext;
+        return Error;
+      })(_react["default"].Component);
 
-      if (false) {
-      }
+      exports.default = Error;
+      Error.displayName = "ErrorPage";
+      Error.getInitialProps = _getInitialProps;
+      Error.origGetInitialProps = _getInitialProps;
+      var styles = {
+        error: {
+          color: "#000",
+          background: "#fff",
+          fontFamily:
+            '-apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Fira Sans", Avenir, "Helvetica Neue", "Lucida Grande", sans-serif',
+          height: "100vh",
+          textAlign: "center",
+          display: "flex",
+          flexDirection: "column",
+          alignItems: "center",
+          justifyContent: "center"
+        },
+        desc: {
+          display: "inline-block",
+          textAlign: "left",
+          lineHeight: "49px",
+          height: "49px",
+          verticalAlign: "middle"
+        },
+        h1: {
+          display: "inline-block",
+          borderRight: "1px solid rgba(0, 0, 0,.3)",
+          margin: 0,
+          marginRight: "20px",
+          padding: "10px 23px 10px 0",
+          fontSize: "24px",
+          fontWeight: 500,
+          verticalAlign: "top"
+        },
+        h2: {
+          fontSize: "14px",
+          fontWeight: "normal",
+          lineHeight: "inherit",
+          margin: 0,
+          padding: 0
+        }
+      };
 
       /***/
     },
 
-    /***/ lwsE: /***/ function(module, exports) {
-      function _classCallCheck(instance, Constructor) {
-        if (!(instance instanceof Constructor)) {
-          throw new TypeError("Cannot call a class as a function");
+    /***/ 4977: /***/ function(
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/_error",
+        function() {
+          return __webpack_require__(3359);
         }
-      }
-
-      module.exports = _classCallCheck;
+      ]);
 
       /***/
     }
   },
-  [["04ac", 0, 1]]
+  /******/ function(__webpack_require__) {
+    // webpackRuntimeModules
+    /******/ // runtime can't be in strict mode because a global variable is assign and maybe created.
+    /******/
+
+    /******/ var __webpack_exec__ = function(moduleId) {
+      return __webpack_require__((__webpack_require__.s = moduleId));
+    };
+    /******/ __webpack_require__.O(0, [888, 774, 179], function() {
+      return __webpack_exec__(4977);
+    });
+    /******/ var __webpack_exports__ = __webpack_require__.O();
+    /******/ _N_E = __webpack_exports__;
+    /******/
+  }
 ]);
Diff for amp-HASH.js
@@ -1,16 +1,60 @@
-_N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
-  [6],
+(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
+  [216],
   {
-    /***/ "/0+H": /***/ function(module, exports, __webpack_require__) {
+    /***/ 9135: /***/ function(
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      module.exports = __webpack_require__(6393);
+
+      /***/
+    },
+
+    /***/ 3398: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
+
+      exports.__esModule = true;
+      exports.AmpStateContext = void 0;
+
+      var _react = _interopRequireDefault(__webpack_require__(7294));
+
+      function _interopRequireDefault(obj) {
+        return obj && obj.__esModule
+          ? obj
+          : {
+              default: obj
+            };
+      }
+
+      var AmpStateContext = /*#__PURE__*/ _react["default"].createContext({});
+
+      exports.AmpStateContext = AmpStateContext;
+
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 6393: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
       "use strict";
 
       exports.__esModule = true;
       exports.isInAmpMode = isInAmpMode;
       exports.useAmp = useAmp;
 
-      var _react = _interopRequireDefault(__webpack_require__("q1tI"));
+      var _react = _interopRequireDefault(__webpack_require__(7294));
 
-      var _ampContext = __webpack_require__("lwAK");
+      var _ampContext = __webpack_require__(3398);
 
       function _interopRequireDefault(obj) {
         return obj && obj.__esModule
@@ -45,98 +89,66 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
       /***/
     },
 
-    /***/ JjeS: /***/ function(module, exports, __webpack_require__) {
-      module.exports = __webpack_require__("/0+H");
-
-      /***/
-    },
-
-    /***/ Q6ik: /***/ function(module, exports, __webpack_require__) {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/amp",
-        function() {
-          return __webpack_require__("rsBd");
-        }
-      ]);
-
-      /***/
-    },
-
-    /***/ Qetd: /***/ function(module, exports, __webpack_require__) {
-      "use strict";
-      var assign = Object.assign.bind(Object);
-      module.exports = assign;
-      module.exports.default = module.exports;
-      //# sourceMappingURL=object-assign.js.map
-
-      /***/
-    },
-
-    /***/ lwAK: /***/ function(module, exports, __webpack_require__) {
-      "use strict";
-
-      exports.__esModule = true;
-      exports.AmpStateContext = void 0;
-
-      var _react = _interopRequireDefault(__webpack_require__("q1tI"));
-
-      function _interopRequireDefault(obj) {
-        return obj && obj.__esModule
-          ? obj
-          : {
-              default: obj
-            };
-      }
-
-      var AmpStateContext = /*#__PURE__*/ _react["default"].createContext({});
-
-      exports.AmpStateContext = AmpStateContext;
-
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ rsBd: /***/ function(
-      module,
+    /***/ 6739: /***/ function(
+      __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
     ) {
       "use strict";
       __webpack_require__.r(__webpack_exports__);
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "config",
-        function() {
-          return config;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "default",
-        function() {
-          return Amp;
+      /* harmony export */ __webpack_require__.d(__webpack_exports__, {
+        /* harmony export */ config: function() {
+          return /* binding */ config;
+        },
+        /* harmony export */ default: function() {
+          return /* binding */ Amp;
         }
-      );
+        /* harmony export */
+      });
       /* harmony import */ var next_amp__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
-        "JjeS"
-      );
-      /* harmony import */ var next_amp__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/ __webpack_require__.n(
-        next_amp__WEBPACK_IMPORTED_MODULE_0__
+        9135
       );
 
       var config = {
         amp: "hybrid"
       };
       function Amp(props) {
-        return Object(next_amp__WEBPACK_IMPORTED_MODULE_0__["useAmp"])()
+        return (0, next_amp__WEBPACK_IMPORTED_MODULE_0__.useAmp)()
           ? "AMP mode"
           : "normal mode";
       }
 
+      /***/
+    },
+
+    /***/ 6071: /***/ function(
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/amp",
+        function() {
+          return __webpack_require__(6739);
+        }
+      ]);
+
       /***/
     }
   },
-  [["Q6ik", 0, 1]]
+  /******/ function(__webpack_require__) {
+    // webpackRuntimeModules
+    /******/ // runtime can't be in strict mode because a global variable is assign and maybe created.
+    /******/
+
+    /******/ var __webpack_exec__ = function(moduleId) {
+      return __webpack_require__((__webpack_require__.s = moduleId));
+    };
+    /******/ __webpack_require__.O(0, [888, 774, 179], function() {
+      return __webpack_exec__(6071);
+    });
+    /******/ var __webpack_exports__ = __webpack_require__.O();
+    /******/ _N_E = __webpack_exports__;
+    /******/
+  }
 ]);
Diff for css-HASH.js
@@ -1,68 +1,72 @@
-_N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
-  [7],
+(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
+  [706],
   {
-    /***/ Bf75: /***/ function(module, exports, __webpack_require__) {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/css",
-        function() {
-          return __webpack_require__("YsY6");
-        }
-      ]);
-
-      /***/
-    },
-
-    /***/ OHXn: /***/ function(module, exports, __webpack_require__) {
-      // extracted by mini-css-extract-plugin
-      module.exports = { helloWorld: "css_helloWorld__2Fhmt" };
-
-      /***/
-    },
-
-    /***/ Qetd: /***/ function(module, exports, __webpack_require__) {
-      "use strict";
-      var assign = Object.assign.bind(Object);
-      module.exports = assign;
-      module.exports.default = module.exports;
-      //# sourceMappingURL=object-assign.js.map
-
-      /***/
-    },
-
-    /***/ YsY6: /***/ function(
-      module,
+    /***/ 5409: /***/ function(
+      __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
     ) {
       "use strict";
       __webpack_require__.r(__webpack_exports__);
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
-        "nKUr"
-      );
-      /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/ __webpack_require__.n(
-        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__
+        5893
       );
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        "OHXn"
+        5964
       );
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         _css_module_css__WEBPACK_IMPORTED_MODULE_1__
       );
 
       var Page = function Page() {
-        return /*#__PURE__*/ Object(
-          react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__["jsx"]
-        )("div", {
-          className:
-            _css_module_css__WEBPACK_IMPORTED_MODULE_1___default.a.helloWorld,
+        return /*#__PURE__*/ (0,
+        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
+          className: _css_module_css__WEBPACK_IMPORTED_MODULE_1___default()
+            .helloWorld,
           children: "Hello world \uD83D\uDC4B"
         });
       };
 
       /* harmony default export */ __webpack_exports__["default"] = Page;
 
+      /***/
+    },
+
+    /***/ 7083: /***/ function(
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/css",
+        function() {
+          return __webpack_require__(5409);
+        }
+      ]);
+
+      /***/
+    },
+
+    /***/ 5964: /***/ function(module) {
+      // extracted by mini-css-extract-plugin
+      module.exports = { helloWorld: "css_helloWorld__2Fhmt" };
+
       /***/
     }
   },
-  [["Bf75", 0, 1]]
+  /******/ function(__webpack_require__) {
+    // webpackRuntimeModules
+    /******/ // runtime can't be in strict mode because a global variable is assign and maybe created.
+    /******/
+
+    /******/ var __webpack_exec__ = function(moduleId) {
+      return __webpack_require__((__webpack_require__.s = moduleId));
+    };
+    /******/ __webpack_require__.O(0, [774, 888, 179], function() {
+      return __webpack_exec__(7083);
+    });
+    /******/ var __webpack_exports__ = __webpack_require__.O();
+    /******/ _N_E = __webpack_exports__;
+    /******/
+  }
 ]);
Diff for hooks-HASH.js
@@ -1,8 +1,8 @@
-_N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
-  [8],
+(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
+  [757],
   {
-    /***/ "+MDD": /***/ function(
-      module,
+    /***/ 3050: /***/ function(
+      __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
     ) {
@@ -10,14 +10,18 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
       // ESM COMPAT FLAG
       __webpack_require__.r(__webpack_exports__);
 
-      // EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
-      var jsx_runtime = __webpack_require__("nKUr");
+      // EXPORTS
+      __webpack_require__.d(__webpack_exports__, {
+        default: function() {
+          return /* binding */ hooks;
+        }
+      });
 
-      // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js
+      // EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
+      var jsx_runtime = __webpack_require__(5893); // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js
       function _arrayWithHoles(arr) {
         if (Array.isArray(arr)) return arr;
-      }
-      // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js
+      } // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js
       function _iterableToArrayLimit(arr, i) {
         if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr)))
           return;
@@ -48,8 +52,7 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
         }
 
         return _arr;
-      }
-      // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
+      } // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
       function _arrayLikeToArray(arr, len) {
         if (len == null || len > arr.length) len = arr.length;
 
@@ -58,9 +61,7 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
         }
 
         return arr2;
-      }
-      // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
-
+      } // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
       function _unsupportedIterableToArray(o, minLen) {
         if (!o) return;
         if (typeof o === "string") return _arrayLikeToArray(o, minLen);
@@ -72,15 +73,12 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
           /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
         )
           return _arrayLikeToArray(o, minLen);
-      }
-      // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js
+      } // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js
       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."
         );
-      }
-      // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js
-
+      } // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js
       function _slicedToArray(arr, i) {
         return (
           _arrayWithHoles(arr) ||
@@ -90,81 +88,80 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
         );
       }
       // EXTERNAL MODULE: ./node_modules/react/index.js
-      var react = __webpack_require__("q1tI");
-      var react_default = /*#__PURE__*/ __webpack_require__.n(react);
-
-      // CONCATENATED MODULE: ./pages/hooks.js
-
-      /* harmony default export */ var hooks = (__webpack_exports__[
-        "default"
-      ] = function() {
-        var _React$useState = react_default.a.useState(0),
+      var react = __webpack_require__(7294); // CONCATENATED MODULE: ./pages/hooks.js
+      /* harmony default export */ var hooks = function() {
+        var _React$useState = react.useState(0),
           _React$useState2 = _slicedToArray(_React$useState, 2),
           clicks1 = _React$useState2[0],
           setClicks1 = _React$useState2[1];
 
-        var _useState = Object(react["useState"])(0),
+        var _useState = (0, react.useState)(0),
           clicks2 = _useState[0],
           setClicks2 = _useState[1];
 
-        var doClick1 = react_default.a.useCallback(
+        var doClick1 = react.useCallback(
           function() {
             setClicks1(clicks1 + 1);
           },
           [clicks1]
         );
-        var doClick2 = Object(react["useCallback"])(
+        var doClick2 = (0, react.useCallback)(
           function() {
             setClicks2(clicks2 + 1);
           },
           [clicks2]
         );
-        return /*#__PURE__*/ Object(jsx_runtime["jsxs"])(
-          jsx_runtime["Fragment"],
-          {
-            children: [
-              /*#__PURE__*/ Object(jsx_runtime["jsxs"])("h3", {
-                children: ["Clicks ", clicks1]
-              }),
-              /*#__PURE__*/ Object(jsx_runtime["jsx"])("button", {
-                onClick: doClick1,
-                children: "Click me"
-              }),
-              /*#__PURE__*/ Object(jsx_runtime["jsxs"])("h3", {
-                children: ["Clicks ", clicks2]
-              }),
-              /*#__PURE__*/ Object(jsx_runtime["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"
+            })
+          ]
+        });
+      };
 
       /***/
     },
 
-    /***/ Qetd: /***/ function(module, exports, __webpack_require__) {
-      "use strict";
-      var assign = Object.assign.bind(Object);
-      module.exports = assign;
-      module.exports.default = module.exports;
-      //# sourceMappingURL=object-assign.js.map
-
-      /***/
-    },
-
-    /***/ g1vQ: /***/ function(module, exports, __webpack_require__) {
+    /***/ 1470: /***/ function(
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/hooks",
         function() {
-          return __webpack_require__("+MDD");
+          return __webpack_require__(3050);
         }
       ]);
 
       /***/
     }
   },
-  [["g1vQ", 0, 1]]
+  /******/ function(__webpack_require__) {
+    // webpackRuntimeModules
+    /******/ // runtime can't be in strict mode because a global variable is assign and maybe created.
+    /******/
+
+    /******/ var __webpack_exec__ = function(moduleId) {
+      return __webpack_require__((__webpack_require__.s = moduleId));
+    };
+    /******/ __webpack_require__.O(0, [774, 888, 179], function() {
+      return __webpack_exec__(1470);
+    });
+    /******/ var __webpack_exports__ = __webpack_require__.O();
+    /******/ _N_E = __webpack_exports__;
+    /******/
+  }
 ]);
Diff for index-HASH.js
@@ -1,8 +1,8 @@
-_N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
-  [9],
+(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
+  [405],
   {
-    /***/ RNiq: /***/ function(
-      module,
+    /***/ 6124: /***/ function(
+      __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
     ) {
@@ -21,16 +21,34 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
       /***/
     },
 
-    /***/ vlRD: /***/ function(module, exports, __webpack_require__) {
+    /***/ 8581: /***/ function(
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/",
         function() {
-          return __webpack_require__("RNiq");
+          return __webpack_require__(6124);
         }
       ]);
 
       /***/
     }
   },
-  [["vlRD", 0]]
+  /******/ function(__webpack_require__) {
+    // webpackRuntimeModules
+    /******/ // runtime can't be in strict mode because a global variable is assign and maybe created.
+    /******/
+
+    /******/ var __webpack_exec__ = function(moduleId) {
+      return __webpack_require__((__webpack_require__.s = moduleId));
+    };
+    /******/ __webpack_require__.O(0, [888, 774, 179], function() {
+      return __webpack_exec__(8581);
+    });
+    /******/ var __webpack_exports__ = __webpack_require__.O();
+    /******/ _N_E = __webpack_exports__;
+    /******/
+  }
 ]);
Diff for link-HASH.js
@@ -1,89 +1,28 @@
-_N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
-  [10],
+(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
+  [644],
   {
-    /***/ ObF3: /***/ function(
-      module,
-      __webpack_exports__,
+    /***/ 2167: /***/ function(
+      __unused_webpack_module,
+      exports,
       __webpack_require__
     ) {
       "use strict";
-      __webpack_require__.r(__webpack_exports__);
-      /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
-        "nKUr"
-      );
-      /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/ __webpack_require__.n(
-        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__
-      );
-      /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        "YFqc"
-      );
-      /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
-        next_link__WEBPACK_IMPORTED_MODULE_1__
-      );
+      var __webpack_unused_export__;
 
-      function aLink(props) {
-        return /*#__PURE__*/ Object(
-          react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__["jsxs"]
-        )("div", {
-          children: [
-            /*#__PURE__*/ Object(
-              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__["jsx"]
-            )("h3", {
-              children: "A Link page!"
-            }),
-            /*#__PURE__*/ Object(
-              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__["jsx"]
-            )(next_link__WEBPACK_IMPORTED_MODULE_1___default.a, {
-              href: "/",
-              children: "Go to /"
-            })
-          ]
-        });
-      }
+      var _slicedToArray = __webpack_require__(3038);
 
-      aLink.getInitialProps = function() {
-        return {};
-      };
+      var _interopRequireWildcard = __webpack_require__(862);
 
-      /* harmony default export */ __webpack_exports__["default"] = aLink;
+      __webpack_unused_export__ = true;
+      exports.default = void 0;
 
-      /***/
-    },
+      var _react = _interopRequireWildcard(__webpack_require__(7294));
 
-    /***/ V8Sf: /***/ function(module, exports, __webpack_require__) {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/link",
-        function() {
-          return __webpack_require__("ObF3");
-        }
-      ]);
-
-      /***/
-    },
-
-    /***/ YFqc: /***/ function(module, exports, __webpack_require__) {
-      module.exports = __webpack_require__("cTJO");
-
-      /***/
-    },
-
-    /***/ cTJO: /***/ function(module, exports, __webpack_require__) {
-      "use strict";
+      var _router = __webpack_require__(9414);
 
-      var _slicedToArray = __webpack_require__("J4zp");
+      var _router2 = __webpack_require__(4651);
 
-      var _interopRequireWildcard = __webpack_require__("284h");
-
-      exports.__esModule = true;
-      exports["default"] = void 0;
-
-      var _react = _interopRequireWildcard(__webpack_require__("q1tI"));
-
-      var _router = __webpack_require__("elyg");
-
-      var _router2 = __webpack_require__("nOHt");
-
-      var _useIntersection = __webpack_require__("vNVm");
+      var _useIntersection = __webpack_require__(7426);
 
       var prefetched = {};
 
@@ -140,8 +79,8 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
 
         e.preventDefault(); //  avoid scroll for urls with anchor refs
 
-        if (scroll == null) {
-          scroll = as.indexOf("#") < 0;
+        if (scroll == null && as.indexOf("#") >= 0) {
+          scroll = false;
         } // replace state instead of push if prop is present
 
         router[replace ? "replace" : "push"](href, as, {
@@ -163,11 +102,10 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
 
         var p = props.prefetch !== false;
         var router = (0, _router2.useRouter)();
-        var pathname = (router && router.asPath) || "/";
 
         var _react$default$useMem = _react["default"].useMemo(
             function() {
-              var _ref = (0, _router.resolveHref)(pathname, props.href, true),
+              var _ref = (0, _router.resolveHref)(router, props.href, true),
                 _ref2 = _slicedToArray(_ref, 2),
                 resolvedHref = _ref2[0],
                 resolvedAs = _ref2[1];
@@ -175,11 +113,11 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
               return {
                 href: resolvedHref,
                 as: props.as
-                  ? (0, _router.resolveHref)(pathname, props.as)
+                  ? (0, _router.resolveHref)(router, props.as)
                   : resolvedAs || resolvedHref
               };
             },
-            [pathname, props.href, props.as]
+            [router, props.href, props.as]
           ),
           href = _react$default$useMem.href,
           as = _react$default$useMem.as;
@@ -198,7 +136,12 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
           );
         } // This will return the first child, if multiple are provided it will throw an error
 
-        var child = _react.Children.only(children);
+        var child;
+
+        if (false) {
+        } else {
+          child = _react.Children.only(children);
+        }
 
         var childRef = child && typeof child === "object" && child.ref;
 
@@ -307,22 +250,26 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
       }
 
       var _default = Link;
-      exports["default"] = _default;
+      exports.default = _default;
 
       /***/
     },
 
-    /***/ vNVm: /***/ function(module, exports, __webpack_require__) {
+    /***/ 7426: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
       "use strict";
 
-      var _slicedToArray = __webpack_require__("J4zp");
+      var _slicedToArray = __webpack_require__(3038);
 
       exports.__esModule = true;
       exports.useIntersection = useIntersection;
 
-      var _react = __webpack_require__("q1tI");
+      var _react = __webpack_require__(7294);
 
-      var _requestIdleCallback = __webpack_require__("0G5g");
+      var _requestIdleCallback = __webpack_require__(3447);
 
       var hasIntersectionObserver = typeof IntersectionObserver !== "undefined";
 
@@ -432,8 +379,90 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
         return instance;
       }
 
+      /***/
+    },
+
+    /***/ 647: /***/ function(
+      __unused_webpack_module,
+      __webpack_exports__,
+      __webpack_require__
+    ) {
+      "use strict";
+      __webpack_require__.r(__webpack_exports__);
+      /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
+        5893
+      );
+      /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
+        1664
+      );
+
+      function aLink(props) {
+        return /*#__PURE__*/ (0,
+        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
+          children: [
+            /*#__PURE__*/ (0,
+            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {
+              children: "A Link page!"
+            }),
+            /*#__PURE__*/ (0,
+            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
+              next_link__WEBPACK_IMPORTED_MODULE_1__.default,
+              {
+                href: "/",
+                children: "Go to /"
+              }
+            )
+          ]
+        });
+      }
+
+      aLink.getInitialProps = function() {
+        return {};
+      };
+
+      /* harmony default export */ __webpack_exports__["default"] = aLink;
+
+      /***/
+    },
+
+    /***/ 7847: /***/ function(
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/link",
+        function() {
+          return __webpack_require__(647);
+        }
+      ]);
+
+      /***/
+    },
+
+    /***/ 1664: /***/ function(
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      module.exports = __webpack_require__(2167);
+
       /***/
     }
   },
-  [["V8Sf", 0, 1, 2]]
+  /******/ function(__webpack_require__) {
+    // webpackRuntimeModules
+    /******/ // runtime can't be in strict mode because a global variable is assign and maybe created.
+    /******/
+
+    /******/ var __webpack_exec__ = function(moduleId) {
+      return __webpack_require__((__webpack_require__.s = moduleId));
+    };
+    /******/ __webpack_require__.O(0, [774, 888, 179], function() {
+      return __webpack_exec__(7847);
+    });
+    /******/ var __webpack_exports__ = __webpack_require__.O();
+    /******/ _N_E = __webpack_exports__;
+    /******/
+  }
 ]);
Diff for routerDirect-HASH.js
@@ -1,49 +1,25 @@
-_N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
-  [11],
+(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
+  [58],
   {
-    /***/ "20a2": /***/ function(module, exports, __webpack_require__) {
-      module.exports = __webpack_require__("nOHt");
-
-      /***/
-    },
-
-    /***/ LtRI: /***/ function(module, exports, __webpack_require__) {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/routerDirect",
-        function() {
-          return __webpack_require__("jSAA");
-        }
-      ]);
-
-      /***/
-    },
-
-    /***/ jSAA: /***/ function(
-      module,
+    /***/ 2163: /***/ function(
+      __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
     ) {
       "use strict";
       __webpack_require__.r(__webpack_exports__);
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
-        "nKUr"
-      );
-      /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/ __webpack_require__.n(
-        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__
+        5893
       );
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        "20a2"
-      );
-      /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
-        next_router__WEBPACK_IMPORTED_MODULE_1__
+        1163
       );
 
       /* eslint-disable-next-line */
 
       function routerDirect(props) {
-        return /*#__PURE__*/ Object(
-          react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__["jsx"]
-        )("div", {
+        return /*#__PURE__*/ (0,
+        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
           children: "I import the router directly"
         });
       }
@@ -56,8 +32,47 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
         "default"
       ] = routerDirect;
 
+      /***/
+    },
+
+    /***/ 5448: /***/ function(
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/routerDirect",
+        function() {
+          return __webpack_require__(2163);
+        }
+      ]);
+
+      /***/
+    },
+
+    /***/ 1163: /***/ function(
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      module.exports = __webpack_require__(4651);
+
       /***/
     }
   },
-  [["LtRI", 0, 1, 2]]
+  /******/ function(__webpack_require__) {
+    // webpackRuntimeModules
+    /******/ // runtime can't be in strict mode because a global variable is assign and maybe created.
+    /******/
+
+    /******/ var __webpack_exec__ = function(moduleId) {
+      return __webpack_require__((__webpack_require__.s = moduleId));
+    };
+    /******/ __webpack_require__.O(0, [774, 888, 179], function() {
+      return __webpack_exec__(5448);
+    });
+    /******/ var __webpack_exports__ = __webpack_require__.O();
+    /******/ _N_E = __webpack_exports__;
+    /******/
+  }
 ]);
Diff for withRouter-HASH.js
@@ -1,30 +1,23 @@
-_N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
-  [12],
+(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
+  [807],
   {
-    /***/ "0Hlz": /***/ function(
-      module,
+    /***/ 6222: /***/ function(
+      __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
     ) {
       "use strict";
       __webpack_require__.r(__webpack_exports__);
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
-        "nKUr"
-      );
-      /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/ __webpack_require__.n(
-        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__
+        5893
       );
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        "20a2"
-      );
-      /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
-        next_router__WEBPACK_IMPORTED_MODULE_1__
+        1163
       );
 
       function useWithRouter(props) {
-        return /*#__PURE__*/ Object(
-          react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__["jsx"]
-        )("div", {
+        return /*#__PURE__*/ (0,
+        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
           children: "I use withRouter"
         });
       }
@@ -33,29 +26,50 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
         return {};
       };
 
-      /* harmony default export */ __webpack_exports__["default"] = Object(
-        next_router__WEBPACK_IMPORTED_MODULE_1__["withRouter"]
-      )(useWithRouter);
+      /* harmony default export */ __webpack_exports__["default"] = (0,
+      next_router__WEBPACK_IMPORTED_MODULE_1__.withRouter)(useWithRouter);
 
       /***/
     },
 
-    /***/ "20a2": /***/ function(module, exports, __webpack_require__) {
-      module.exports = __webpack_require__("nOHt");
-
-      /***/
-    },
-
-    /***/ eThv: /***/ function(module, exports, __webpack_require__) {
+    /***/ 6744: /***/ function(
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/withRouter",
         function() {
-          return __webpack_require__("0Hlz");
+          return __webpack_require__(6222);
         }
       ]);
 
+      /***/
+    },
+
+    /***/ 1163: /***/ function(
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      module.exports = __webpack_require__(4651);
+
       /***/
     }
   },
-  [["eThv", 0, 1, 2]]
+  /******/ function(__webpack_require__) {
+    // webpackRuntimeModules
+    /******/ // runtime can't be in strict mode because a global variable is assign and maybe created.
+    /******/
+
+    /******/ var __webpack_exec__ = function(moduleId) {
+      return __webpack_require__((__webpack_require__.s = moduleId));
+    };
+    /******/ __webpack_require__.O(0, [774, 888, 179], function() {
+      return __webpack_exec__(6744);
+    });
+    /******/ var __webpack_exports__ = __webpack_require__.O();
+    /******/ _N_E = __webpack_exports__;
+    /******/
+  }
 ]);
Diff for 677f882d2ed8..c4df.HASH.js
deleted
Diff for framework.HASH.js

Diff too large to display

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
@@ -1,102 +1,29 @@
-/******/ (function(modules) {
+/******/ (function() {
   // webpackBootstrap
-  /******/ // install a JSONP callback for chunk loading
-  /******/ function webpackJsonpCallback(data) {
-    /******/ var chunkIds = data[0];
-    /******/ var moreModules = data[1];
-    /******/ var executeModules = data[2]; // add "moreModules" to the modules object, // then flag all "chunkIds" as loaded and fire callback
-    /******/
-    /******/ /******/ /******/ var moduleId,
-      chunkId,
-      i = 0,
-      resolves = [];
-    /******/ for (; i < chunkIds.length; i++) {
-      /******/ chunkId = chunkIds[i];
-      /******/ if (
-        Object.prototype.hasOwnProperty.call(installedChunks, chunkId) &&
-        installedChunks[chunkId]
-      ) {
-        /******/ resolves.push(installedChunks[chunkId][0]);
-        /******/
-      }
-      /******/ installedChunks[chunkId] = 0;
-      /******/
-    }
-    /******/ for (moduleId in moreModules) {
-      /******/ if (
-        Object.prototype.hasOwnProperty.call(moreModules, moduleId)
-      ) {
-        /******/ modules[moduleId] = moreModules[moduleId];
-        /******/
-      }
-      /******/
-    }
-    /******/ if (parentJsonpFunction) parentJsonpFunction(data);
-    /******/
-    /******/ while (resolves.length) {
-      /******/ resolves.shift()();
-      /******/
-    } // add entry modules from loaded chunk to deferred list
-    /******/
-    /******/ /******/ deferredModules.push.apply(
-      deferredModules,
-      executeModules || []
-    ); // run deferred modules when all chunks ready
-    /******/
-    /******/ /******/ return checkDeferredModules();
-    /******/
-  }
-  /******/ function checkDeferredModules() {
-    /******/ var result;
-    /******/ for (var i = 0; i < deferredModules.length; i++) {
-      /******/ var deferredModule = deferredModules[i];
-      /******/ var fulfilled = true;
-      /******/ for (var j = 1; j < deferredModule.length; j++) {
-        /******/ var depId = deferredModule[j];
-        /******/ if (installedChunks[depId] !== 0) fulfilled = false;
-        /******/
-      }
-      /******/ if (fulfilled) {
-        /******/ deferredModules.splice(i--, 1);
-        /******/ result = __webpack_require__(
-          (__webpack_require__.s = deferredModule[0])
-        );
-        /******/
-      }
-      /******/
-    }
-    /******/
-    /******/ return result;
-    /******/
-  } // The module cache
-  /******/
-  /******/ /******/ var installedModules = {}; // object to store loaded and loading chunks // undefined = chunk not loaded, null = chunk preloaded/prefetched // Promise = chunk loading, 0 = chunk loaded
-  /******/
-  /******/ /******/ /******/ /******/ var installedChunks = {
-    /******/ 0: 0
-    /******/
-  };
-  /******/
-  /******/ var deferredModules = []; // The require function
+  /******/ "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
-    /******/ if (installedModules[moduleId]) {
-      /******/ return installedModules[moduleId].exports;
+    /******/ var cachedModule = __webpack_module_cache__[moduleId];
+    /******/ if (cachedModule !== undefined) {
+      /******/ return cachedModule.exports;
       /******/
     } // Create a new module (and put it into the cache)
-    /******/ /******/ var module = (installedModules[moduleId] = {
-      /******/ i: moduleId,
-      /******/ l: false,
+    /******/ /******/ var module = (__webpack_module_cache__[moduleId] = {
+      /******/ // no module.id needed
+      /******/ // no module.loaded needed
       /******/ exports: {}
       /******/
     }); // Execute the module function
     /******/
+
     /******/ /******/ var threw = true;
     /******/ try {
-      /******/ modules[moduleId].call(
-        module.exports,
+      /******/ __webpack_modules__[moduleId](
         module,
         module.exports,
         __webpack_require__
@@ -104,108 +31,234 @@
       /******/ threw = false;
       /******/
     } finally {
-      /******/ if (threw) delete installedModules[moduleId];
+      /******/ if (threw) delete __webpack_module_cache__[moduleId];
       /******/
-    } // Flag the module as loaded
-    /******/
-    /******/ /******/ module.l = true; // Return the exports of the module
+    } // Return the exports of the module
     /******/
+
     /******/ /******/ return module.exports;
     /******/
   } // expose the modules object (__webpack_modules__)
   /******/
+
+  /******/ /******/ __webpack_require__.m = __webpack_modules__; /* webpack/runtime/chunk loaded */
   /******/
-  /******/ /******/ __webpack_require__.m = modules; // expose the module cache
+
+  /************************************************************************/
+  /******/ /******/ !(function() {
+    /******/ var deferred = [];
+    /******/ __webpack_require__.O = function(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 = deferred[i][0];
+        /******/ var fn = deferred[i][1];
+        /******/ var priority = deferred[i][2];
+        /******/ var fulfilled = true;
+        /******/ for (var j = 0; j < chunkIds.length; j++) {
+          /******/ if (
+            (priority & (1 === 0) || notFulfilled >= priority) &&
+            Object.keys(__webpack_require__.O).every(function(key) {
+              return __webpack_require__.O[key](chunkIds[j]);
+            })
+          ) {
+            /******/ chunkIds.splice(j--, 1);
+            /******/
+          } else {
+            /******/ fulfilled = false;
+            /******/ if (priority < notFulfilled) notFulfilled = priority;
+            /******/
+          }
+          /******/
+        }
+        /******/ if (fulfilled) {
+          /******/ deferred.splice(i--, 1);
+          /******/ result = fn();
+          /******/
+        }
+        /******/
+      }
+      /******/ return result;
+      /******/
+    };
+    /******/
+  })(); /* webpack/runtime/compat get default export */
   /******/
-  /******/ /******/ __webpack_require__.c = installedModules; // define getter function for harmony exports
+
+  /******/ /******/ !(function() {
+    /******/ // getDefaultExport function for compatibility with non-harmony modules
+    /******/ __webpack_require__.n = function(module) {
+      /******/ var getter =
+        module && module.__esModule
+          ? /******/ function() {
+              return module["default"];
+            }
+          : /******/ function() {
+              return module;
+            };
+      /******/ __webpack_require__.d(getter, { a: getter });
+      /******/ return getter;
+      /******/
+    };
+    /******/
+  })(); /* webpack/runtime/define property getters */
   /******/
-  /******/ /******/ __webpack_require__.d = function(exports, name, getter) {
-    /******/ if (!__webpack_require__.o(exports, name)) {
-      /******/ Object.defineProperty(exports, name, {
-        enumerable: true,
-        get: getter
-      });
+
+  /******/ /******/ !(function() {
+    /******/ // define getter functions for harmony exports
+    /******/ __webpack_require__.d = function(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]
+          });
+          /******/
+        }
+        /******/
+      }
       /******/
-    }
+    };
     /******/
-  }; // define __esModule on exports
+  })(); /* webpack/runtime/global */
   /******/
-  /******/ /******/ __webpack_require__.r = function(exports) {
-    /******/ if (typeof Symbol !== "undefined" && Symbol.toStringTag) {
-      /******/ Object.defineProperty(exports, Symbol.toStringTag, {
-        value: "Module"
-      });
+
+  /******/ /******/ !(function() {
+    /******/ __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;
+        /******/
+      }
       /******/
-    }
-    /******/ Object.defineProperty(exports, "__esModule", { value: true });
+    })();
     /******/
-  }; // create a fake namespace object // mode & 1: value is a module id, require it // mode & 2: merge all properties of value into the ns // mode & 4: return value when already ns object // mode & 8|1: behave like require
+  })(); /* webpack/runtime/hasOwnProperty shorthand */
   /******/
-  /******/ /******/ /******/ /******/ /******/ /******/ __webpack_require__.t = function(
-    value,
-    mode
-  ) {
-    /******/ if (mode & 1) value = __webpack_require__(value);
-    /******/ if (mode & 8) return value;
-    /******/ if (
-      mode & 4 &&
-      typeof value === "object" &&
-      value &&
-      value.__esModule
-    )
-      return value;
-    /******/ var ns = Object.create(null);
-    /******/ __webpack_require__.r(ns);
-    /******/ Object.defineProperty(ns, "default", {
-      enumerable: true,
-      value: value
-    });
-    /******/ if (mode & 2 && typeof value != "string")
-      for (var key in value)
-        __webpack_require__.d(
-          ns,
-          key,
-          function(key) {
-            return value[key];
-          }.bind(null, key)
-        );
-    /******/ return ns;
+
+  /******/ /******/ !(function() {
+    /******/ __webpack_require__.o = function(obj, prop) {
+      return Object.prototype.hasOwnProperty.call(obj, prop);
+    };
     /******/
-  }; // getDefaultExport function for compatibility with non-harmony modules
+  })(); /* webpack/runtime/make namespace object */
   /******/
-  /******/ /******/ __webpack_require__.n = function(module) {
-    /******/ var getter =
-      module && module.__esModule
-        ? /******/ function getDefault() {
-            return module["default"];
-          }
-        : /******/ function getModuleExports() {
-            return module;
-          };
-    /******/ __webpack_require__.d(getter, "a", getter);
-    /******/ return getter;
+
+  /******/ /******/ !(function() {
+    /******/ // define __esModule on exports
+    /******/ __webpack_require__.r = function(exports) {
+      /******/ if (typeof Symbol !== "undefined" && Symbol.toStringTag) {
+        /******/ Object.defineProperty(exports, Symbol.toStringTag, {
+          value: "Module"
+        });
+        /******/
+      }
+      /******/ Object.defineProperty(exports, "__esModule", { value: true });
+      /******/
+    };
     /******/
-  }; // Object.prototype.hasOwnProperty.call
+  })(); /* webpack/runtime/publicPath */
   /******/
-  /******/ /******/ __webpack_require__.o = function(object, property) {
-    return Object.prototype.hasOwnProperty.call(object, property);
-  }; // __webpack_public_path__
+
+  /******/ /******/ !(function() {
+    /******/ __webpack_require__.p = "";
+    /******/
+  })(); /* webpack/runtime/jsonp chunk loading */
   /******/
-  /******/ /******/ __webpack_require__.p = "";
+
+  /******/ /******/ !(function() {
+    /******/ // 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 = {
+      /******/ 272: 0
+      /******/
+    }; // no chunk on demand loading // no prefetching // no preloaded // no HMR // no HMR manifest
+    /******/
+
+    /******/ /******/
+
+    /******/ /******/
+
+    /******/ /******/
+
+    /******/ /******/
+
+    /******/ /******/
+
+    /******/ __webpack_require__.O.j = function(chunkId) {
+      return installedChunks[chunkId] === 0;
+    }; // install a JSONP callback for chunk loading
+    /******/
+
+    /******/ /******/ var webpackJsonpCallback = function(
+      parentChunkLoadingFunction,
+      data
+    ) {
+      /******/ var chunkIds = data[0];
+      /******/ var moreModules = data[1];
+      /******/ var runtime = data[2]; // add "moreModules" to the modules object, // then flag all "chunkIds" as loaded and fire callback
+      /******/ /******/ /******/ var moduleId,
+        chunkId,
+        i = 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[chunkIds[i]] = 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)
+    );
+    /******/
+  })();
   /******/
-  /******/ var jsonpArray = (window["webpackJsonp_N_E"] =
-    window["webpackJsonp_N_E"] || []);
-  /******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray);
-  /******/ jsonpArray.push = webpackJsonpCallback;
-  /******/ jsonpArray = jsonpArray.slice();
-  /******/ for (var i = 0; i < jsonpArray.length; i++)
-    webpackJsonpCallback(jsonpArray[i]);
-  /******/ var parentJsonpFunction = oldJsonpFunction; // run deferred modules from other chunks
+  /************************************************************************/
   /******/
   /******/
-  /******/ /******/ checkDeferredModules();
   /******/
-})(
-  /************************************************************************/
-  /******/ []
-);
+})();
Diff for index.html
@@ -5,78 +5,46 @@
     <meta name="viewport" content="width=device-width" />
     <meta name="next-head-count" content="2" />
     <noscript data-n-css=""></noscript>
-    <link
-      rel="preload"
-      href="/_next/static/chunks/webpack-becabbdf5d4df28a038e.js"
-      as="script"
-    />
-    <link
-      rel="preload"
-      href="/_next/static/chunks/framework.7006f3366bdde818e289.js"
-      as="script"
-    />
-    <link
-      rel="preload"
-      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.26e6c0f15d34a1b1b821.js"
-      as="script"
-    />
-    <link
-      rel="preload"
-      href="/_next/static/chunks/main-92b76053297198c420e1.js"
-      as="script"
-    />
-    <link
-      rel="preload"
-      href="/_next/static/chunks/pages/_app-b27d78b0671a2f452859.js"
-      as="script"
-    />
-    <link
-      rel="preload"
-      href="/_next/static/chunks/pages/index-b460df3d63326fbb06a1.js"
-      as="script"
-    />
-  </head>
-  <body>
-    <div id="__next">Hello world πŸ‘‹</div>
-    <script id="__NEXT_DATA__" type="application/json">
-      {
-        "props": { "pageProps": {} },
-        "page": "/",
-        "query": {},
-        "buildId": "BUILD_ID",
-        "isFallback": false,
-        "gip": true
-      }
-    </script>
     <script
+      defer=""
       nomodule=""
-      src="/_next/static/chunks/polyfills-8e6ada07653aff5607ec.js"
-    ></script>
-    <script
-      src="/_next/static/chunks/webpack-becabbdf5d4df28a038e.js"
-      async=""
+      src="/_next/static/chunks/polyfills-78af6fe89161f65f5762.js"
     ></script>
     <script
-      src="/_next/static/chunks/framework.7006f3366bdde818e289.js"
-      async=""
+      src="/_next/static/chunks/webpack-16fb5e52861014c05b14.js"
+      defer=""
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.26e6c0f15d34a1b1b821.js"
-      async=""
+      src="/_next/static/chunks/framework-f5fb248c941a983ac98d.js"
+      defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-92b76053297198c420e1.js"
-      async=""
+      src="/_next/static/chunks/main-6a81caa1c917bed2c43f.js"
+      defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-b27d78b0671a2f452859.js"
-      async=""
+      src="/_next/static/chunks/pages/_app-28769756f9a0c21b149b.js"
+      defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/index-b460df3d63326fbb06a1.js"
-      async=""
+      src="/_next/static/chunks/pages/index-96d821e908dd023681e4.js"
+      defer=""
     ></script>
-    <script src="/_next/static/BUILD_ID/_buildManifest.js" async=""></script>
-    <script src="/_next/static/BUILD_ID/_ssgManifest.js" async=""></script>
+    <script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>
+    <script src="/_next/static/BUILD_ID/_ssgManifest.js" defer=""></script>
+  </head>
+  <body>
+    <div id="__next">Hello world πŸ‘‹</div>
+    <script id="__NEXT_DATA__" type="application/json">
+      {
+        "props": { "pageProps": {} },
+        "page": "/",
+        "query": {},
+        "buildId": "BUILD_ID",
+        "isFallback": false,
+        "gip": true,
+        "scriptLoader": []
+      }
+    </script>
   </body>
 </html>
Diff for link.html
@@ -5,36 +5,33 @@
     <meta name="viewport" content="width=device-width" />
     <meta name="next-head-count" content="2" />
     <noscript data-n-css=""></noscript>
-    <link
-      rel="preload"
-      href="/_next/static/chunks/webpack-becabbdf5d4df28a038e.js"
-      as="script"
-    />
-    <link
-      rel="preload"
-      href="/_next/static/chunks/framework.7006f3366bdde818e289.js"
-      as="script"
-    />
-    <link
-      rel="preload"
-      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.26e6c0f15d34a1b1b821.js"
-      as="script"
-    />
-    <link
-      rel="preload"
-      href="/_next/static/chunks/main-92b76053297198c420e1.js"
-      as="script"
-    />
-    <link
-      rel="preload"
-      href="/_next/static/chunks/pages/_app-b27d78b0671a2f452859.js"
-      as="script"
-    />
-    <link
-      rel="preload"
-      href="/_next/static/chunks/pages/link-5ad922485f835e8f265e.js"
-      as="script"
-    />
+    <script
+      defer=""
+      nomodule=""
+      src="/_next/static/chunks/polyfills-78af6fe89161f65f5762.js"
+    ></script>
+    <script
+      src="/_next/static/chunks/webpack-16fb5e52861014c05b14.js"
+      defer=""
+    ></script>
+    <script
+      src="/_next/static/chunks/framework-f5fb248c941a983ac98d.js"
+      defer=""
+    ></script>
+    <script
+      src="/_next/static/chunks/main-6a81caa1c917bed2c43f.js"
+      defer=""
+    ></script>
+    <script
+      src="/_next/static/chunks/pages/_app-28769756f9a0c21b149b.js"
+      defer=""
+    ></script>
+    <script
+      src="/_next/static/chunks/pages/link-811992c79c17865c8834.js"
+      defer=""
+    ></script>
+    <script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>
+    <script src="/_next/static/BUILD_ID/_ssgManifest.js" defer=""></script>
   </head>
   <body>
     <div id="__next">
@@ -50,38 +47,9 @@
         "query": {},
         "buildId": "BUILD_ID",
         "isFallback": false,
-        "gip": true
+        "gip": true,
+        "scriptLoader": []
       }
     </script>
-    <script
-      nomodule=""
-      src="/_next/static/chunks/polyfills-8e6ada07653aff5607ec.js"
-    ></script>
-    <script
-      src="/_next/static/chunks/webpack-becabbdf5d4df28a038e.js"
-      async=""
-    ></script>
-    <script
-      src="/_next/static/chunks/framework.7006f3366bdde818e289.js"
-      async=""
-    ></script>
-    <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.26e6c0f15d34a1b1b821.js"
-      async=""
-    ></script>
-    <script
-      src="/_next/static/chunks/main-92b76053297198c420e1.js"
-      async=""
-    ></script>
-    <script
-      src="/_next/static/chunks/pages/_app-b27d78b0671a2f452859.js"
-      async=""
-    ></script>
-    <script
-      src="/_next/static/chunks/pages/link-5ad922485f835e8f265e.js"
-      async=""
-    ></script>
-    <script src="/_next/static/BUILD_ID/_buildManifest.js" async=""></script>
-    <script src="/_next/static/BUILD_ID/_ssgManifest.js" async=""></script>
   </body>
 </html>
Diff for withRouter.html
@@ -5,78 +5,46 @@
     <meta name="viewport" content="width=device-width" />
     <meta name="next-head-count" content="2" />
     <noscript data-n-css=""></noscript>
-    <link
-      rel="preload"
-      href="/_next/static/chunks/webpack-becabbdf5d4df28a038e.js"
-      as="script"
-    />
-    <link
-      rel="preload"
-      href="/_next/static/chunks/framework.7006f3366bdde818e289.js"
-      as="script"
-    />
-    <link
-      rel="preload"
-      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.26e6c0f15d34a1b1b821.js"
-      as="script"
-    />
-    <link
-      rel="preload"
-      href="/_next/static/chunks/main-92b76053297198c420e1.js"
-      as="script"
-    />
-    <link
-      rel="preload"
-      href="/_next/static/chunks/pages/_app-b27d78b0671a2f452859.js"
-      as="script"
-    />
-    <link
-      rel="preload"
-      href="/_next/static/chunks/pages/withRouter-5eef84f3491045854d65.js"
-      as="script"
-    />
-  </head>
-  <body>
-    <div id="__next"><div>I use withRouter</div></div>
-    <script id="__NEXT_DATA__" type="application/json">
-      {
-        "props": { "pageProps": {} },
-        "page": "/withRouter",
-        "query": {},
-        "buildId": "BUILD_ID",
-        "isFallback": false,
-        "gip": true
-      }
-    </script>
     <script
+      defer=""
       nomodule=""
-      src="/_next/static/chunks/polyfills-8e6ada07653aff5607ec.js"
-    ></script>
-    <script
-      src="/_next/static/chunks/webpack-becabbdf5d4df28a038e.js"
-      async=""
+      src="/_next/static/chunks/polyfills-78af6fe89161f65f5762.js"
     ></script>
     <script
-      src="/_next/static/chunks/framework.7006f3366bdde818e289.js"
-      async=""
+      src="/_next/static/chunks/webpack-16fb5e52861014c05b14.js"
+      defer=""
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.26e6c0f15d34a1b1b821.js"
-      async=""
+      src="/_next/static/chunks/framework-f5fb248c941a983ac98d.js"
+      defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-92b76053297198c420e1.js"
-      async=""
+      src="/_next/static/chunks/main-6a81caa1c917bed2c43f.js"
+      defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-b27d78b0671a2f452859.js"
-      async=""
+      src="/_next/static/chunks/pages/_app-28769756f9a0c21b149b.js"
+      defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/withRouter-5eef84f3491045854d65.js"
-      async=""
+      src="/_next/static/chunks/pages/withRouter-f913a23b67f50709b1ce.js"
+      defer=""
     ></script>
-    <script src="/_next/static/BUILD_ID/_buildManifest.js" async=""></script>
-    <script src="/_next/static/BUILD_ID/_ssgManifest.js" async=""></script>
+    <script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>
+    <script src="/_next/static/BUILD_ID/_ssgManifest.js" defer=""></script>
+  </head>
+  <body>
+    <div id="__next"><div>I use withRouter</div></div>
+    <script id="__NEXT_DATA__" type="application/json">
+      {
+        "props": { "pageProps": {} },
+        "page": "/withRouter",
+        "query": {},
+        "buildId": "BUILD_ID",
+        "isFallback": false,
+        "gip": true,
+        "scriptLoader": []
+      }
+    </script>
   </body>
 </html>

Serverless Mode (Increase detected ⚠️)
General Overall decrease βœ“
vercel/next.js canary v10.2.3 vercel/next.js refs/heads/canary Change
buildDuration 15s 14.7s -356ms
buildDurationCached 4.3s 4.2s -87ms
nodeModulesSize 46.5 MB 46.4 MB -80.3 kB
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary v10.2.3 vercel/next.js refs/heads/canary Change
framework-HASH.js gzip 42 kB 42 kB βœ“
main-HASH.js gzip 19.4 kB 20.2 kB ⚠️ +761 B
webpack-HASH.js gzip 994 B 804 B -190 B
Overall change 62.5 kB 63 kB ⚠️ +571 B
Legacy Client Bundles (polyfills) Overall decrease βœ“
vercel/next.js canary v10.2.3 vercel/next.js refs/heads/canary Change
polyfills-HASH.js gzip 31.1 kB 31.1 kB -2 B
Overall change 31.1 kB 31.1 kB -2 B
Client Pages Overall decrease βœ“
vercel/next.js canary v10.2.3 vercel/next.js refs/heads/canary Change
_app-HASH.js gzip 1.02 kB 801 B -219 B
_error-HASH.js gzip 3.06 kB 3.17 kB ⚠️ +104 B
amp-HASH.js gzip 526 B 527 B ⚠️ +1 B
css-HASH.js gzip 330 B 329 B -1 B
hooks-HASH.js gzip 904 B 903 B -1 B
index-HASH.js gzip 262 B 263 B ⚠️ +1 B
link-HASH.js gzip 1.66 kB 1.65 kB -8 B
routerDirect..HASH.js gzip 322 B 322 B βœ“
withRouter-HASH.js gzip 319 B 320 B ⚠️ +1 B
bb14e60e810b..30f.css gzip 125 B 125 B βœ“
Overall change 8.54 kB 8.41 kB -122 B
Client Build Manifests
vercel/next.js canary v10.2.3 vercel/next.js refs/heads/canary Change
_buildManifest.js gzip 391 B 391 B βœ“
Overall change 391 B 391 B βœ“
Serverless bundles Overall decrease βœ“
vercel/next.js canary v10.2.3 vercel/next.js refs/heads/canary Change
_error.js 16.9 kB 16.9 kB ⚠️ +2 B
404.html 2.42 kB 1.98 kB -445 B
500.html 2.41 kB 1.96 kB -445 B
amp.amp.html 10.8 kB 10.8 kB ⚠️ +34 B
amp.html 1.61 kB 1.17 kB -442 B
css.html 1.79 kB 1.35 kB -442 B
hooks.html 1.67 kB 1.23 kB -444 B
index.js 17.2 kB 17.2 kB ⚠️ +3 B
link.js 17.5 kB 17.5 kB -1 B
routerDirect.js 17.3 kB 17.3 kB ⚠️ +1 B
withRouter.js 17.3 kB 17.3 kB ⚠️ +1 B
Overall change 107 kB 105 kB -2.18 kB

Webpack 4 Mode (Increase detected ⚠️)
General Overall decrease βœ“
vercel/next.js canary v10.2.3 vercel/next.js refs/heads/canary Change
buildDuration 12.9s 11.3s -1.6s
buildDurationCached 3.3s 4.6s ⚠️ +1.3s
nodeModulesSize 46.5 MB 46.4 MB -80.3 kB
Page Load Tests Overall increase βœ“
vercel/next.js canary v10.2.3 vercel/next.js refs/heads/canary Change
/ failed reqs 0 0 βœ“
/ total time (seconds) 2.585 2.404 -0.18
/ avg req/sec 967.2 1039.88 +72.68
/error-in-render failed reqs 0 0 βœ“
/error-in-render total time (seconds) 1.301 1.308 ⚠️ +0.01
/error-in-render avg req/sec 1922.18 1910.84 ⚠️ -11.34
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary v10.2.3 vercel/next.js refs/heads/canary Change
framework-HASH.js gzip 42 kB 41.8 kB -289 B
main-HASH.js gzip 19.4 kB 7.99 kB -11.4 kB
webpack-HASH.js gzip 994 B 751 B -243 B
677f882d2ed8..HASH.js gzip N/A 13.4 kB N/A
Overall change 62.5 kB 63.9 kB ⚠️ +1.4 kB
Legacy Client Bundles (polyfills) Overall increase ⚠️
vercel/next.js canary v10.2.3 vercel/next.js refs/heads/canary Change
polyfills-HASH.js gzip 31.1 kB 31.3 kB ⚠️ +157 B
Overall change 31.1 kB 31.3 kB ⚠️ +157 B
Client Pages Overall increase ⚠️
vercel/next.js canary v10.2.3 vercel/next.js refs/heads/canary Change
_app-HASH.js gzip 1.02 kB 1.07 kB ⚠️ +54 B
_error-HASH.js gzip 3.06 kB 3.84 kB ⚠️ +779 B
amp-HASH.js gzip 526 B 536 B ⚠️ +10 B
css-HASH.js gzip 330 B 333 B ⚠️ +3 B
hooks-HASH.js gzip 904 B 910 B ⚠️ +6 B
index-HASH.js gzip 262 B 227 B -35 B
link-HASH.js gzip 1.66 kB 1.64 kB -18 B
routerDirect..HASH.js gzip 322 B 295 B -27 B
withRouter-HASH.js gzip 319 B 292 B -27 B
bb14e60e810b..30f.css gzip 125 B 125 B βœ“
Overall change 8.54 kB 9.28 kB ⚠️ +745 B
Client Build Manifests Overall increase ⚠️
vercel/next.js canary v10.2.3 vercel/next.js refs/heads/canary Change
_buildManifest.js gzip 391 B 420 B ⚠️ +29 B
Overall change 391 B 420 B ⚠️ +29 B
Rendered Page Sizes Overall increase ⚠️
vercel/next.js canary v10.2.3 vercel/next.js refs/heads/canary Change
index.html gzip 561 B 568 B ⚠️ +7 B
link.html gzip 569 B 580 B ⚠️ +11 B
withRouter.html gzip 555 B 560 B ⚠️ +5 B
Overall change 1.69 kB 1.71 kB ⚠️ +23 B

Diffs

Diff for _buildManifest.js
@@ -2,7 +2,7 @@ self.__BUILD_MANIFEST = {
   __rewrites: { beforeFiles: [], afterFiles: [], fallback: [] },
   "/": ["static\u002Fchunks\u002Fpages\u002Findex-b460df3d63326fbb06a1.js"],
   "/_error": [
-    "static\u002Fchunks\u002Fpages\u002F_error-51845a36fe9902c725c2.js"
+    "static\u002Fchunks\u002Fpages\u002F_error-a195cc394aa8ad172947.js"
   ],
   "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-27f75ad11120c5cdedd1.js"],
   "/css": [
@@ -12,7 +12,7 @@ self.__BUILD_MANIFEST = {
   "/hooks": [
     "static\u002Fchunks\u002Fpages\u002Fhooks-fdb4ee79a7c3f53f3fd0.js"
   ],
-  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-5ad922485f835e8f265e.js"],
+  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-9b289bb7adfade3f5c5e.js"],
   "/routerDirect": [
     "static\u002Fchunks\u002Fpages\u002FrouterDirect-8f35c7ae67919ca0caa3.js"
   ],
Diff for _app-HASH.js
@@ -82,8 +82,6 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
       var _interopRequireDefault = __webpack_require__("TqRt");
 
       exports.__esModule = true;
-      exports.Container = Container;
-      exports.createUrl = createUrl;
       exports["default"] = void 0;
 
       var _react = _interopRequireDefault(__webpack_require__("q1tI"));
@@ -142,36 +140,15 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
         }
 
         _createClass(App, [
-          {
-            key: "componentDidCatch",
-            // Kept here for backwards compatibility.
-            // When someone ended App they could call `super.componentDidCatch`.
-            // @deprecated This method is no longer needed. Errors are caught at the top level
-            value: function componentDidCatch(error, _errorInfo) {
-              throw error;
-            }
-          },
           {
             key: "render",
             value: function render() {
               var _this$props = this.props,
-                router = _this$props.router,
                 Component = _this$props.Component,
-                pageProps = _this$props.pageProps,
-                __N_SSG = _this$props.__N_SSG,
-                __N_SSP = _this$props.__N_SSP;
+                pageProps = _this$props.pageProps;
               return /*#__PURE__*/ _react["default"].createElement(
                 Component,
-                Object.assign(
-                  {},
-                  pageProps, // we don't add the legacy URL prop if it's using non-legacy
-                  // methods like getStaticProps and getServerSideProps
-                  !(__N_SSG || __N_SSP)
-                    ? {
-                        url: createUrl(router)
-                      }
-                    : {}
-                )
+                pageProps
               );
             }
           }
@@ -183,73 +160,6 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
       exports["default"] = App;
       App.origGetInitialProps = appGetInitialProps;
       App.getInitialProps = appGetInitialProps;
-      var warnContainer;
-      var warnUrl;
-
-      if (false) {
-      } // @deprecated noop for now until removal
-
-      function Container(p) {
-        if (false) {
-        }
-        return p.children;
-      }
-
-      function createUrl(router) {
-        // This is to make sure we don't references the router object at call time
-        var pathname = router.pathname,
-          asPath = router.asPath,
-          query = router.query;
-        return {
-          get query() {
-            if (false) {
-            }
-            return query;
-          },
-
-          get pathname() {
-            if (false) {
-            }
-            return pathname;
-          },
-
-          get asPath() {
-            if (false) {
-            }
-            return asPath;
-          },
-
-          back: function back() {
-            if (false) {
-            }
-            router.back();
-          },
-          push: function push(url, as) {
-            if (false) {
-            }
-            return router.push(url, as);
-          },
-          pushTo: function pushTo(href, as) {
-            if (false) {
-            }
-            var pushRoute = as ? href : "";
-            var pushUrl = as || href;
-            return router.push(pushRoute, pushUrl);
-          },
-          replace: function replace(url, as) {
-            if (false) {
-            }
-            return router.replace(url, as);
-          },
-          replaceTo: function replaceTo(href, as) {
-            if (false) {
-            }
-            var replaceRoute = as ? href : "";
-            var replaceUrl = as || href;
-            return router.replace(replaceRoute, replaceUrl);
-          }
-        };
-      }
 
       /***/
     },
Diff for _error-HASH.js
@@ -147,9 +147,9 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
                   /*#__PURE__*/ _react["default"].createElement(
                     "title",
                     null,
-                    statusCode,
-                    ": ",
-                    title
+                    statusCode
+                      ? "".concat(statusCode, ": ").concat(title)
+                      : "Application error: a client-side exception has occurred"
                   )
                 ),
                 /*#__PURE__*/ _react["default"].createElement(
@@ -179,7 +179,22 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
                       {
                         style: styles.h2
                       },
-                      title,
+                      this.props.title || statusCode
+                        ? title
+                        : /*#__PURE__*/ _react["default"].createElement(
+                            _react["default"].Fragment,
+                            null,
+                            "Application error: a client-side exception has occurred (",
+                            /*#__PURE__*/ _react["default"].createElement(
+                              "a",
+                              {
+                                href:
+                                  "https://nextjs.org/docs/messages/client-side-exception-occurred"
+                              },
+                              "developer guidance"
+                            ),
+                            ")"
+                          ),
                       "."
                     )
                   )
@@ -589,9 +604,7 @@ Also adds support for deduplicated `key` properties
           },
           children
         );
-      } // TODO: Remove in the next major release
-
-      Head.rewind = function() {};
+      }
 
       var _default = Head;
       exports["default"] = _default;
Diff for link-HASH.js
@@ -140,8 +140,8 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
 
         e.preventDefault(); //  avoid scroll for urls with anchor refs
 
-        if (scroll == null) {
-          scroll = as.indexOf("#") < 0;
+        if (scroll == null && as.indexOf("#") >= 0) {
+          scroll = false;
         } // replace state instead of push if prop is present
 
         router[replace ? "replace" : "push"](href, as, {
@@ -163,11 +163,10 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
 
         var p = props.prefetch !== false;
         var router = (0, _router2.useRouter)();
-        var pathname = (router && router.asPath) || "/";
 
         var _react$default$useMem = _react["default"].useMemo(
             function() {
-              var _ref = (0, _router.resolveHref)(pathname, props.href, true),
+              var _ref = (0, _router.resolveHref)(router, props.href, true),
                 _ref2 = _slicedToArray(_ref, 2),
                 resolvedHref = _ref2[0],
                 resolvedAs = _ref2[1];
@@ -175,11 +174,11 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
               return {
                 href: resolvedHref,
                 as: props.as
-                  ? (0, _router.resolveHref)(pathname, props.as)
+                  ? (0, _router.resolveHref)(router, props.as)
                   : resolvedAs || resolvedHref
               };
             },
-            [pathname, props.href, props.as]
+            [router, props.href, props.as]
           ),
           href = _react$default$useMem.href,
           as = _react$default$useMem.as;
@@ -198,7 +197,12 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
           );
         } // This will return the first child, if multiple are provided it will throw an error
 
-        var child = _react.Children.only(children);
+        var child;
+
+        if (false) {
+        } else {
+          child = _react.Children.only(children);
+        }
 
         var childRef = child && typeof child === "object" && child.ref;
Diff for 677f882d2ed8..c4df.HASH.js
@@ -1273,7 +1273,8 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
 
       function isLocalURL(url) {
         // prevent a hydration mismatch on href for url with anchor refs
-        if (url.startsWith("/") || url.startsWith("#")) return true;
+        if (url.startsWith("/") || url.startsWith("#") || url.startsWith("?"))
+          return true;
 
         try {
           // absolute urls can be local if they are on the same origin
@@ -1364,21 +1365,23 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
        * Preserves absolute urls.
        */
 
-      function resolveHref(currentPath, href, resolveAs) {
+      function resolveHref(router, href, resolveAs) {
         // we use a dummy base url for relative urls
         var base;
+        var urlAsString =
+          typeof href === "string"
+            ? href
+            : (0, _utils.formatWithValidation)(href);
 
         try {
-          base = new URL(currentPath, "http://n");
+          base = new URL(
+            urlAsString.startsWith("#") ? router.asPath : router.pathname,
+            "http://n"
+          );
         } catch (_) {
           // fallback to / for invalid asPath values e.g. //
           base = new URL("/", "http://n");
-        }
-
-        var urlAsString =
-          typeof href === "string"
-            ? href
-            : (0, _utils.formatWithValidation)(href); // Return because it cannot be routed by the Next.js router
+        } // Return because it cannot be routed by the Next.js router
 
         if (!isLocalURL(urlAsString)) {
           return resolveAs ? [urlAsString] : urlAsString;
@@ -1438,7 +1441,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
       function prepareUrlAs(router, url, as) {
         // If url and as provided as an object representation,
         // we'll format them into the string version here.
-        var _resolveHref = resolveHref(router.asPath, url, true),
+        var _resolveHref = resolveHref(router, url, true),
           _resolveHref2 = _slicedToArray(_resolveHref, 2),
           resolvedHref = _resolveHref2[0],
           resolvedAs = _resolveHref2[1];
@@ -1452,7 +1455,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
           ? resolvedHref
           : addBasePath(resolvedHref);
         var preparedAs = as
-          ? stripOrigin(resolveHref(router.asPath, as))
+          ? stripOrigin(resolveHref(router, as))
           : resolvedAs || resolvedHref;
         return {
           url: preparedUrl,
@@ -1731,6 +1734,10 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
             if (_as.substr(0, 2) !== "//") {
               // in order for `e.state` to work on the `onpopstate` event
               // we have to register the initial route upon initialization
+              var options = {
+                locale: locale
+              };
+              options._shouldResolveHref = _as !== _pathname;
               this.changeState(
                 "replaceState",
                 (0, _utils.formatWithValidation)({
@@ -1738,9 +1745,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
                   query: _query
                 }),
                 (0, _utils.getURL)(),
-                {
-                  locale: locale
-                }
+                options
               );
             }
 
@@ -1823,8 +1828,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
                   options,
                   forcedScroll
                 ) {
-                  var _options$scroll,
-                    shouldResolveHref,
+                  var shouldResolveHref,
                     localeChange,
                     parsedAs,
                     localePathResult,
@@ -1854,6 +1858,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
                     missingParams,
                     _self$__NEXT_DATA__$p,
                     _self$__NEXT_DATA__$p2,
+                    _options$scroll,
                     routeInfo,
                     _routeInfo,
                     error,
@@ -1867,7 +1872,9 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
                     newAs,
                     notFoundRoute,
                     appComp,
-                    isValidShallowRoute;
+                    isValidShallowRoute,
+                    shouldScroll,
+                    resetScroll;
 
                   return _regeneratorRuntime.wrap(
                     function _callee$(_context) {
@@ -1883,23 +1890,20 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
                             return _context.abrupt("return", false);
 
                           case 3:
-                            shouldResolveHref = url === as || options._h; // for static pages with query params in the URL we delay
+                            shouldResolveHref =
+                              url === as ||
+                              options._h ||
+                              options._shouldResolveHref; // for static pages with query params in the URL we delay
                             // marking the router ready until after the query is updated
 
                             if (options._h) {
                               this.isReady = true;
-                            } // Default to scroll reset behavior unless explicitly specified to be
-                            // `false`! This makes the behavior between using `Router#push` and a
-                            // `<Link />` consistent.
-
-                            options.scroll = !!((_options$scroll =
-                              options.scroll) != null
-                              ? _options$scroll
-                              : true);
+                            }
+
                             localeChange = options.locale !== this.locale;
 
                             if (true) {
-                              _context.next = 19;
+                              _context.next = 18;
                               break;
                             }
 
@@ -1952,7 +1956,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
                             }
 
                             if (!didNavigate) {
-                              _context.next = 19;
+                              _context.next = 18;
                               break;
                             }
 
@@ -1961,7 +1965,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
                               new Promise(function() {})
                             );
 
-                          case 19:
+                          case 18:
                             if (!options._h) {
                               this.isSsr = false;
                             } // marking route changes as a navigation start entry
@@ -2006,7 +2010,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
                             if (
                               !(!options._h && this.onlyAHashChange(cleanedAs))
                             ) {
-                              _context.next = 35;
+                              _context.next = 34;
                               break;
                             }
 
@@ -2027,7 +2031,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
                             );
                             return _context.abrupt("return", true);
 
-                          case 35:
+                          case 34:
                             parsed = (0, _parseRelativeUrl.parseRelativeUrl)(
                               url
                             );
@@ -2036,30 +2040,30 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
                             // get their query parameters to allow ensuring they can be parsed properly
                             // when rewritten to
 
-                            _context.prev = 37;
-                            _context.next = 40;
+                            _context.prev = 36;
+                            _context.next = 39;
                             return this.pageLoader.getPageList();
 
-                          case 40:
+                          case 39:
                             pages = _context.sent;
-                            _context.next = 43;
+                            _context.next = 42;
                             return (0, _routeLoader.getClientBuildManifest)();
 
-                          case 43:
+                          case 42:
                             _yield = _context.sent;
                             rewrites = _yield.__rewrites;
-                            _context.next = 51;
+                            _context.next = 50;
                             break;
 
-                          case 47:
-                            _context.prev = 47;
-                            _context.t0 = _context["catch"](37);
+                          case 46:
+                            _context.prev = 46;
+                            _context.t0 = _context["catch"](36);
                             // If we fail to resolve the page list or client-build manifest, we must
                             // do a server-side transition:
                             window.location.href = as;
                             return _context.abrupt("return", false);
 
-                          case 51:
+                          case 50:
                             // If asked to change the current URL we should reload the current page
                             // (not location.reload() but reload getInitialProps and other Next.js stuffs)
                             // We also need to set the method = replaceState always
@@ -2082,6 +2086,8 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
                               : pathname;
 
                             if (shouldResolveHref && pathname !== "/_error") {
+                              options._shouldResolveHref = true;
+
                               if (false) {
                               } else {
                                 parsed.pathname = resolveDynamicRoute(
@@ -2091,6 +2097,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
 
                                 if (parsed.pathname !== pathname) {
                                   pathname = parsed.pathname;
+                                  parsed.pathname = addBasePath(pathname);
                                   url = (0, _utils.formatWithValidation)(
                                     parsed
                                   );
@@ -2104,12 +2111,12 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
                             );
 
                             if (isLocalURL(as)) {
-                              _context.next = 61;
+                              _context.next = 60;
                               break;
                             }
 
                             if (true) {
-                              _context.next = 59;
+                              _context.next = 58;
                               break;
                             }
 
@@ -2123,18 +2130,18 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
                                 "\nSee more info: https://nextjs.org/docs/messages/invalid-relative-url-external-as"
                             );
 
-                          case 59:
+                          case 58:
                             window.location.href = as;
                             return _context.abrupt("return", false);
 
-                          case 61:
+                          case 60:
                             resolvedAs = delLocale(
                               delBasePath(resolvedAs),
                               this.locale
                             );
 
                             if (!(0, _isDynamic.isDynamicRoute)(route)) {
-                              _context.next = 77;
+                              _context.next = 76;
                               break;
                             }
 
@@ -2157,7 +2164,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
                                 (shouldInterpolate && !interpolatedAs.result)
                               )
                             ) {
-                              _context.next = 76;
+                              _context.next = 75;
                               break;
                             }
 
@@ -2168,7 +2175,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
                             });
 
                             if (!(missingParams.length > 0)) {
-                              _context.next = 74;
+                              _context.next = 73;
                               break;
                             }
 
@@ -2199,11 +2206,11 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
                                 )
                             );
 
-                          case 74:
-                            _context.next = 77;
+                          case 73:
+                            _context.next = 76;
                             break;
 
-                          case 76:
+                          case 75:
                             if (shouldInterpolate) {
                               as = (0, _utils.formatWithValidation)(
                                 Object.assign({}, _parsedAs, {
@@ -2219,14 +2226,14 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
                               Object.assign(query, routeMatch);
                             }
 
-                          case 77:
+                          case 76:
                             Router.events.emit(
                               "routeChangeStart",
                               as,
                               routeProps
                             );
-                            _context.prev = 78;
-                            _context.next = 81;
+                            _context.prev = 77;
+                            _context.next = 80;
                             return this.getRouteInfo(
                               route,
                               pathname,
@@ -2236,7 +2243,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
                               routeProps
                             );
 
-                          case 81:
+                          case 80:
                             routeInfo = _context.sent;
                             (_routeInfo = routeInfo),
                               (error = _routeInfo.error),
@@ -2245,14 +2252,14 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
                               (__N_SSP = _routeInfo.__N_SSP); // handle redirect on client-transition
 
                             if (!((__N_SSG || __N_SSP) && props)) {
-                              _context.next = 108;
+                              _context.next = 107;
                               break;
                             }
 
                             if (
                               !(props.pageProps && props.pageProps.__N_REDIRECT)
                             ) {
-                              _context.next = 94;
+                              _context.next = 93;
                               break;
                             }
 
@@ -2261,7 +2268,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
                             // it's not
 
                             if (!destination.startsWith("/")) {
-                              _context.next = 92;
+                              _context.next = 91;
                               break;
                             }
 
@@ -2273,7 +2280,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
                             );
 
                             if (!pages.includes(parsedHref.pathname)) {
-                              _context.next = 92;
+                              _context.next = 91;
                               break;
                             }
 
@@ -2289,37 +2296,37 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
                               this.change(method, newUrl, newAs, options)
                             );
 
-                          case 92:
+                          case 91:
                             window.location.href = destination;
                             return _context.abrupt(
                               "return",
                               new Promise(function() {})
                             );
 
-                          case 94:
+                          case 93:
                             this.isPreview = !!props.__N_PREVIEW; // handle SSG data 404
 
                             if (!(props.notFound === SSG_DATA_NOT_FOUND)) {
-                              _context.next = 108;
+                              _context.next = 107;
                               break;
                             }
 
-                            _context.prev = 96;
-                            _context.next = 99;
+                            _context.prev = 95;
+                            _context.next = 98;
                             return this.fetchComponent("/404");
 
-                          case 99:
+                          case 98:
                             notFoundRoute = "/404";
-                            _context.next = 105;
+                            _context.next = 104;
                             break;
 
-                          case 102:
-                            _context.prev = 102;
-                            _context.t1 = _context["catch"](96);
+                          case 101:
+                            _context.prev = 101;
+                            _context.t1 = _context["catch"](95);
                             notFoundRoute = "/_error";
 
-                          case 105:
-                            _context.next = 107;
+                          case 104:
+                            _context.next = 106;
                             return this.getRouteInfo(
                               notFoundRoute,
                               notFoundRoute,
@@ -2331,10 +2338,10 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
                               }
                             );
 
-                          case 107:
+                          case 106:
                             routeInfo = _context.sent;
 
-                          case 108:
+                          case 107:
                             Router.events.emit(
                               "beforeHistoryChange",
                               as,
@@ -2343,10 +2350,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
                             this.changeState(method, url, as, options);
 
                             if (false) {
-                            } // shallow routing is only allowed for same page URL changes.
-
-                            isValidShallowRoute =
-                              options.shallow && this.route === route;
+                            }
 
                             if (
                               options._h &&
@@ -2364,30 +2368,36 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
                               // ensure statusCode is still correct for static 500 page
                               // when updating query information
                               props.pageProps.statusCode = 500;
-                            }
+                            } // shallow routing is only allowed for same page URL changes.
 
-                            _context.next = 115;
+                            isValidShallowRoute =
+                              options.shallow && this.route === route;
+                            shouldScroll =
+                              (_options$scroll = options.scroll) != null
+                                ? _options$scroll
+                                : !isValidShallowRoute;
+                            resetScroll = shouldScroll
+                              ? {
+                                  x: 0,
+                                  y: 0
+                                }
+                              : null;
+                            _context.next = 116;
                             return this.set(
                               route,
                               pathname,
                               query,
                               cleanedAs,
                               routeInfo,
-                              forcedScroll ||
-                                (isValidShallowRoute || !options.scroll
-                                  ? null
-                                  : {
-                                      x: 0,
-                                      y: 0
-                                    })
+                              forcedScroll != null ? forcedScroll : resetScroll
                             )["catch"](function(e) {
                               if (e.cancelled) error = error || e;
                               else throw e;
                             });
 
-                          case 115:
+                          case 116:
                             if (!error) {
-                              _context.next = 118;
+                              _context.next = 119;
                               break;
                             }
 
@@ -2399,7 +2409,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
                             );
                             throw error;
 
-                          case 118:
+                          case 119:
                             if (false) {
                             }
 
@@ -2410,21 +2420,21 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
                             );
                             return _context.abrupt("return", true);
 
-                          case 123:
-                            _context.prev = 123;
-                            _context.t2 = _context["catch"](78);
+                          case 124:
+                            _context.prev = 124;
+                            _context.t2 = _context["catch"](77);
 
                             if (!_context.t2.cancelled) {
-                              _context.next = 127;
+                              _context.next = 128;
                               break;
                             }
 
                             return _context.abrupt("return", false);
 
-                          case 127:
+                          case 128:
                             throw _context.t2;
 
-                          case 128:
+                          case 129:
                           case "end":
                             return _context.stop();
                         }
@@ -2433,9 +2443,9 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
                     _callee,
                     this,
                     [
-                      [37, 47],
-                      [78, 123],
-                      [96, 102]
+                      [36, 46],
+                      [77, 124],
+                      [95, 101]
                     ]
                   );
                 })
@@ -3012,6 +3022,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
 
                             if (parsed.pathname !== pathname) {
                               pathname = parsed.pathname;
+                              parsed.pathname = pathname;
                               url = (0, _utils.formatWithValidation)(parsed);
                             }
 
@@ -4529,7 +4540,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
         }
       });
       urlPropertyFields.forEach(function(field) {
-        // Here we need to use Object.defineProperty because, we need to return
+        // Here we need to use Object.defineProperty because we need to return
         // the property assigned to the actual router
         // The value might get changed as we change routes and this is the
         // proper way to access it
@@ -4573,7 +4584,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
         if (!singletonRouter.router) {
           var message =
             "No router instance found.\n" +
-            'You should only use "next/router" inside the client side of your app.\n';
+            'You should only use "next/router" on the client side of your app.\n';
           throw new Error(message);
         }
 
@@ -4591,7 +4602,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
       // (do not use following exports inside the app)
       // Create a router and assign it as the singleton instance.
       // This is used in client side when we are initilizing the app.
-      // This should **not** use inside the server.
+      // This should **not** be used inside the server.
 
       var createRouter = function createRouter() {
         for (
Diff for main-HASH.js
@@ -70,6 +70,234 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
       /***/
     },
 
+    /***/ "85TV": /***/ function(module, exports, __webpack_require__) {
+      "use strict";
+
+      var _slicedToArray = __webpack_require__("J4zp");
+
+      var _interopRequireDefault = __webpack_require__("TqRt");
+
+      exports.__esModule = true;
+      exports.initScriptLoader = initScriptLoader;
+      exports["default"] = void 0;
+
+      var _extends2 = _interopRequireDefault(__webpack_require__("pVnL"));
+
+      var _objectWithoutPropertiesLoose2 = _interopRequireDefault(
+        __webpack_require__("8OQS")
+      );
+
+      var _react = __webpack_require__("q1tI");
+
+      var _headManagerContext = __webpack_require__("FYa8");
+
+      var _headManager = __webpack_require__("DqTX");
+
+      var _requestIdleCallback = __webpack_require__("0G5g");
+
+      var ScriptCache = new Map();
+      var LoadCache = new Set();
+      var ignoreProps = [
+        "onLoad",
+        "dangerouslySetInnerHTML",
+        "children",
+        "onError",
+        "strategy"
+      ];
+
+      var loadScript = function loadScript(props) {
+        var src = props.src,
+          id = props.id,
+          _props$onLoad = props.onLoad,
+          onLoad = _props$onLoad === void 0 ? function() {} : _props$onLoad,
+          dangerouslySetInnerHTML = props.dangerouslySetInnerHTML,
+          _props$children = props.children,
+          children = _props$children === void 0 ? "" : _props$children,
+          onError = props.onError;
+        var cacheKey = id || src;
+
+        if (ScriptCache.has(src)) {
+          if (!LoadCache.has(cacheKey)) {
+            LoadCache.add(cacheKey); // Execute onLoad since the script loading has begun
+
+            ScriptCache.get(src).then(onLoad, onError);
+          }
+
+          return;
+        }
+
+        var el = document.createElement("script");
+        var loadPromise = new Promise(function(resolve, reject) {
+          el.addEventListener("load", function() {
+            resolve();
+
+            if (onLoad) {
+              onLoad.call(this);
+            }
+          });
+          el.addEventListener("error", function() {
+            reject();
+
+            if (onError) {
+              onError();
+            }
+          });
+        });
+
+        if (src) {
+          ScriptCache.set(src, loadPromise);
+          LoadCache.add(cacheKey);
+        }
+
+        if (dangerouslySetInnerHTML) {
+          el.innerHTML = dangerouslySetInnerHTML.__html || "";
+        } else if (children) {
+          el.textContent =
+            typeof children === "string"
+              ? children
+              : Array.isArray(children)
+              ? children.join("")
+              : "";
+        } else if (src) {
+          el.src = src;
+        }
+
+        for (
+          var _i = 0, _Object$entries = Object.entries(props);
+          _i < _Object$entries.length;
+          _i++
+        ) {
+          var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
+            k = _Object$entries$_i[0],
+            value = _Object$entries$_i[1];
+
+          if (value === undefined || ignoreProps.includes(k)) {
+            continue;
+          }
+
+          var attr = _headManager.DOMAttributeNames[k] || k.toLowerCase();
+          el.setAttribute(attr, value);
+        }
+
+        document.body.appendChild(el);
+      };
+
+      function handleClientScriptLoad(props) {
+        var _props$strategy = props.strategy,
+          strategy =
+            _props$strategy === void 0 ? "afterInteractive" : _props$strategy;
+
+        if (strategy === "afterInteractive") {
+          loadScript(props);
+        } else if (strategy === "lazyOnload") {
+          window.addEventListener("load", function() {
+            (0, _requestIdleCallback.requestIdleCallback)(function() {
+              return loadScript(props);
+            });
+          });
+        }
+      }
+
+      function loadLazyScript(props) {
+        if (document.readyState === "complete") {
+          (0, _requestIdleCallback.requestIdleCallback)(function() {
+            return loadScript(props);
+          });
+        } else {
+          window.addEventListener("load", function() {
+            (0, _requestIdleCallback.requestIdleCallback)(function() {
+              return loadScript(props);
+            });
+          });
+        }
+      }
+
+      function initScriptLoader(scriptLoaderItems) {
+        scriptLoaderItems.forEach(handleClientScriptLoad);
+      }
+
+      function Script(props) {
+        var _props$src = props.src,
+          src = _props$src === void 0 ? "" : _props$src,
+          _props$onLoad2 = props.onLoad,
+          onLoad = _props$onLoad2 === void 0 ? function() {} : _props$onLoad2,
+          _props$strategy2 = props.strategy,
+          strategy =
+            _props$strategy2 === void 0 ? "afterInteractive" : _props$strategy2,
+          onError = props.onError,
+          restProps = (0, _objectWithoutPropertiesLoose2["default"])(props, [
+            "src",
+            "onLoad",
+            "dangerouslySetInnerHTML",
+            "strategy",
+            "onError"
+          ]); // Context is available only during SSR
+
+        var _ref = (0, _react.useContext)(
+            _headManagerContext.HeadManagerContext
+          ),
+          updateScripts = _ref.updateScripts,
+          scripts = _ref.scripts;
+
+        (0, _react.useEffect)(
+          function() {
+            if (strategy === "afterInteractive") {
+              loadScript(props);
+            } else if (strategy === "lazyOnload") {
+              loadLazyScript(props);
+            }
+          },
+          [props, strategy]
+        );
+
+        if (strategy === "beforeInteractive") {
+          if (updateScripts) {
+            scripts.beforeInteractive = (
+              scripts.beforeInteractive || []
+            ).concat([
+              (0, _extends2["default"])(
+                {
+                  src: src,
+                  onLoad: onLoad,
+                  onError: onError
+                },
+                restProps
+              )
+            ]);
+            updateScripts(scripts);
+          }
+        }
+
+        return null;
+      }
+
+      var _default = Script;
+      exports["default"] = _default;
+
+      /***/
+    },
+
+    /***/ "8OQS": /***/ function(module, exports) {
+      function _objectWithoutPropertiesLoose(source, excluded) {
+        if (source == null) return {};
+        var target = {};
+        var sourceKeys = Object.keys(source);
+        var key, i;
+
+        for (i = 0; i < sourceKeys.length; i++) {
+          key = sourceKeys[i];
+          if (excluded.indexOf(key) >= 0) continue;
+          target[key] = source[key];
+        }
+
+        return target;
+      }
+
+      module.exports = _objectWithoutPropertiesLoose;
+
+      /***/
+    },
+
     /***/ BMP1: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
@@ -417,7 +645,7 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
         document.getElementById("__NEXT_DATA__").textContent
       );
       window.__NEXT_DATA__ = data;
-      var version = "10.2.3";
+      var version = "10.2.4-canary.17";
       exports.version = version;
 
       var looseToArray = function looseToArray(input) {
@@ -468,8 +696,11 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
           normalizeLocalePath;
       }
 
-      if (false) {
-        var _require5, initScriptLoader;
+      if (data.scriptLoader) {
+        var _require5 = __webpack_require__("85TV"),
+          initScriptLoader = _require5.initScriptLoader;
+
+        initScriptLoader(data.scriptLoader);
       }
 
       var pageLoader = new _pageLoader["default"](buildId, prefix);
@@ -986,7 +1217,6 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
         );
 
         if (false) {
-          var createRootName;
         } else {
           // The check for `.hydrate` is there to support React alternatives like preact
           if (shouldHydrate) {
Diff for index.html
@@ -5,78 +5,50 @@
     <meta name="viewport" content="width=device-width" />
     <meta name="next-head-count" content="2" />
     <noscript data-n-css=""></noscript>
-    <link
-      rel="preload"
-      href="/_next/static/chunks/webpack-becabbdf5d4df28a038e.js"
-      as="script"
-    />
-    <link
-      rel="preload"
-      href="/_next/static/chunks/framework.7006f3366bdde818e289.js"
-      as="script"
-    />
-    <link
-      rel="preload"
-      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.26e6c0f15d34a1b1b821.js"
-      as="script"
-    />
-    <link
-      rel="preload"
-      href="/_next/static/chunks/main-92b76053297198c420e1.js"
-      as="script"
-    />
-    <link
-      rel="preload"
-      href="/_next/static/chunks/pages/_app-b27d78b0671a2f452859.js"
-      as="script"
-    />
-    <link
-      rel="preload"
-      href="/_next/static/chunks/pages/index-b460df3d63326fbb06a1.js"
-      as="script"
-    />
-  </head>
-  <body>
-    <div id="__next">Hello world πŸ‘‹</div>
-    <script id="__NEXT_DATA__" type="application/json">
-      {
-        "props": { "pageProps": {} },
-        "page": "/",
-        "query": {},
-        "buildId": "BUILD_ID",
-        "isFallback": false,
-        "gip": true
-      }
-    </script>
     <script
+      defer=""
       nomodule=""
       src="/_next/static/chunks/polyfills-8e6ada07653aff5607ec.js"
     ></script>
     <script
       src="/_next/static/chunks/webpack-becabbdf5d4df28a038e.js"
-      async=""
+      defer=""
     ></script>
     <script
       src="/_next/static/chunks/framework.7006f3366bdde818e289.js"
-      async=""
+      defer=""
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.26e6c0f15d34a1b1b821.js"
-      async=""
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.20a22da5dd60e15fb078.js"
+      defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-92b76053297198c420e1.js"
-      async=""
+      src="/_next/static/chunks/main-5ab2b8770afe1c4396e3.js"
+      defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-b27d78b0671a2f452859.js"
-      async=""
+      src="/_next/static/chunks/pages/_app-14e4eac7b0cda2ea09bf.js"
+      defer=""
     ></script>
     <script
       src="/_next/static/chunks/pages/index-b460df3d63326fbb06a1.js"
-      async=""
+      defer=""
     ></script>
-    <script src="/_next/static/BUILD_ID/_buildManifest.js" async=""></script>
-    <script src="/_next/static/BUILD_ID/_ssgManifest.js" async=""></script>
+    <script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>
+    <script src="/_next/static/BUILD_ID/_ssgManifest.js" defer=""></script>
+  </head>
+  <body>
+    <div id="__next">Hello world πŸ‘‹</div>
+    <script id="__NEXT_DATA__" type="application/json">
+      {
+        "props": { "pageProps": {} },
+        "page": "/",
+        "query": {},
+        "buildId": "BUILD_ID",
+        "isFallback": false,
+        "gip": true,
+        "scriptLoader": []
+      }
+    </script>
   </body>
 </html>
Diff for link.html
@@ -5,83 +5,55 @@
     <meta name="viewport" content="width=device-width" />
     <meta name="next-head-count" content="2" />
     <noscript data-n-css=""></noscript>
-    <link
-      rel="preload"
-      href="/_next/static/chunks/webpack-becabbdf5d4df28a038e.js"
-      as="script"
-    />
-    <link
-      rel="preload"
-      href="/_next/static/chunks/framework.7006f3366bdde818e289.js"
-      as="script"
-    />
-    <link
-      rel="preload"
-      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.26e6c0f15d34a1b1b821.js"
-      as="script"
-    />
-    <link
-      rel="preload"
-      href="/_next/static/chunks/main-92b76053297198c420e1.js"
-      as="script"
-    />
-    <link
-      rel="preload"
-      href="/_next/static/chunks/pages/_app-b27d78b0671a2f452859.js"
-      as="script"
-    />
-    <link
-      rel="preload"
-      href="/_next/static/chunks/pages/link-5ad922485f835e8f265e.js"
-      as="script"
-    />
-  </head>
-  <body>
-    <div id="__next">
-      <div>
-        <h3>A Link page!</h3>
-        <a href="/">Go to /</a>
-      </div>
-    </div>
-    <script id="__NEXT_DATA__" type="application/json">
-      {
-        "props": { "pageProps": {} },
-        "page": "/link",
-        "query": {},
-        "buildId": "BUILD_ID",
-        "isFallback": false,
-        "gip": true
-      }
-    </script>
     <script
+      defer=""
       nomodule=""
       src="/_next/static/chunks/polyfills-8e6ada07653aff5607ec.js"
     ></script>
     <script
       src="/_next/static/chunks/webpack-becabbdf5d4df28a038e.js"
-      async=""
+      defer=""
     ></script>
     <script
       src="/_next/static/chunks/framework.7006f3366bdde818e289.js"
-      async=""
+      defer=""
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.26e6c0f15d34a1b1b821.js"
-      async=""
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.20a22da5dd60e15fb078.js"
+      defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-92b76053297198c420e1.js"
-      async=""
+      src="/_next/static/chunks/main-5ab2b8770afe1c4396e3.js"
+      defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-b27d78b0671a2f452859.js"
-      async=""
+      src="/_next/static/chunks/pages/_app-14e4eac7b0cda2ea09bf.js"
+      defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/link-5ad922485f835e8f265e.js"
-      async=""
+      src="/_next/static/chunks/pages/link-9b289bb7adfade3f5c5e.js"
+      defer=""
     ></script>
-    <script src="/_next/static/BUILD_ID/_buildManifest.js" async=""></script>
-    <script src="/_next/static/BUILD_ID/_ssgManifest.js" async=""></script>
+    <script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>
+    <script src="/_next/static/BUILD_ID/_ssgManifest.js" defer=""></script>
+  </head>
+  <body>
+    <div id="__next">
+      <div>
+        <h3>A Link page!</h3>
+        <a href="/">Go to /</a>
+      </div>
+    </div>
+    <script id="__NEXT_DATA__" type="application/json">
+      {
+        "props": { "pageProps": {} },
+        "page": "/link",
+        "query": {},
+        "buildId": "BUILD_ID",
+        "isFallback": false,
+        "gip": true,
+        "scriptLoader": []
+      }
+    </script>
   </body>
 </html>
Diff for withRouter.html
@@ -5,78 +5,50 @@
     <meta name="viewport" content="width=device-width" />
     <meta name="next-head-count" content="2" />
     <noscript data-n-css=""></noscript>
-    <link
-      rel="preload"
-      href="/_next/static/chunks/webpack-becabbdf5d4df28a038e.js"
-      as="script"
-    />
-    <link
-      rel="preload"
-      href="/_next/static/chunks/framework.7006f3366bdde818e289.js"
-      as="script"
-    />
-    <link
-      rel="preload"
-      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.26e6c0f15d34a1b1b821.js"
-      as="script"
-    />
-    <link
-      rel="preload"
-      href="/_next/static/chunks/main-92b76053297198c420e1.js"
-      as="script"
-    />
-    <link
-      rel="preload"
-      href="/_next/static/chunks/pages/_app-b27d78b0671a2f452859.js"
-      as="script"
-    />
-    <link
-      rel="preload"
-      href="/_next/static/chunks/pages/withRouter-5eef84f3491045854d65.js"
-      as="script"
-    />
-  </head>
-  <body>
-    <div id="__next"><div>I use withRouter</div></div>
-    <script id="__NEXT_DATA__" type="application/json">
-      {
-        "props": { "pageProps": {} },
-        "page": "/withRouter",
-        "query": {},
-        "buildId": "BUILD_ID",
-        "isFallback": false,
-        "gip": true
-      }
-    </script>
     <script
+      defer=""
       nomodule=""
       src="/_next/static/chunks/polyfills-8e6ada07653aff5607ec.js"
     ></script>
     <script
       src="/_next/static/chunks/webpack-becabbdf5d4df28a038e.js"
-      async=""
+      defer=""
     ></script>
     <script
       src="/_next/static/chunks/framework.7006f3366bdde818e289.js"
-      async=""
+      defer=""
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.26e6c0f15d34a1b1b821.js"
-      async=""
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.20a22da5dd60e15fb078.js"
+      defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-92b76053297198c420e1.js"
-      async=""
+      src="/_next/static/chunks/main-5ab2b8770afe1c4396e3.js"
+      defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-b27d78b0671a2f452859.js"
-      async=""
+      src="/_next/static/chunks/pages/_app-14e4eac7b0cda2ea09bf.js"
+      defer=""
     ></script>
     <script
       src="/_next/static/chunks/pages/withRouter-5eef84f3491045854d65.js"
-      async=""
+      defer=""
     ></script>
-    <script src="/_next/static/BUILD_ID/_buildManifest.js" async=""></script>
-    <script src="/_next/static/BUILD_ID/_ssgManifest.js" async=""></script>
+    <script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>
+    <script src="/_next/static/BUILD_ID/_ssgManifest.js" defer=""></script>
+  </head>
+  <body>
+    <div id="__next"><div>I use withRouter</div></div>
+    <script id="__NEXT_DATA__" type="application/json">
+      {
+        "props": { "pageProps": {} },
+        "page": "/withRouter",
+        "query": {},
+        "buildId": "BUILD_ID",
+        "isFallback": false,
+        "gip": true,
+        "scriptLoader": []
+      }
+    </script>
   </body>
 </html>

Please sign in to comment.