Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move next-server back into next package #8613

Merged
merged 12 commits into from
Sep 4, 2019

Conversation

timneutkens
Copy link
Member

@timneutkens timneutkens commented Sep 3, 2019

This removes the next-server package and moves the code back into the next package.

next-server was created as an experiment over a year ago but eventually we decided against it and implemented the serverless target to solve the same issues.

By moving it back into the next package we can simplify compilation and do optimizations faster.

@ijjk
Copy link
Member

ijjk commented Sep 3, 2019

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
buildDuration 22.8s 20.7s -2.1s
nodeModulesSize 42 MB 42 MB -26.6 kB
Client Bundles (main, webpack, commons) Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
main-HASH.js 18.3 kB 14.4 kB -3.84 kB
main-HASH.js gzip 6.66 kB 5.12 kB -1.55 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
Overall change -3.84 kB
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
main-HASH.module.js 16.6 kB 10.8 kB -5.76 kB
main-HASH.module.js gzip 6.39 kB 4.02 kB -2.37 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH.module.js gzip 746 B 746 B
Overall change -5.76 kB
Client Pages Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_app.js 1.83 kB 1.84 kB ⚠️ +2 B
_app.js gzip 884 B 885 B ⚠️ +1 B
_error.js 12.1 kB 5.36 kB -6.75 kB
_error.js gzip 4.76 kB 2.14 kB -2.62 kB
hooks.js 12.7 kB 12.7 kB
hooks.js gzip 4.81 kB 4.81 kB
index.js 343 B 343 B
index.js gzip 237 B 237 B
link.js 8.14 kB 9.93 kB ⚠️ +1.79 kB
link.js gzip 3.49 kB 4.13 kB ⚠️ +635 B
routerDirect.js 433 B 434 B ⚠️ +1 B
routerDirect.js gzip 296 B 296 B
withRouter.js 444 B 444 B
withRouter.js gzip 294 B 294 B
Overall change -4.96 kB
Client Pages Modern Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_app.module.js 1.73 kB 1.38 kB -349 B
_app.module.js gzip 840 B 695 B -145 B
_error.module.js 23.3 kB 6.21 kB -17.1 kB
_error.module.js gzip 8.62 kB 2.46 kB -6.16 kB
hooks.module.js 1.55 kB 1.55 kB
hooks.module.js gzip 804 B 805 B ⚠️ +1 B
index.module.js 319 B 319 B
index.module.js gzip 238 B 238 B
link.module.js 8.52 kB 14.6 kB ⚠️ +6.11 kB
link.module.js gzip 3.68 kB 5.98 kB ⚠️ +2.3 kB
routerDirect.module.js 419 B 419 B
routerDirect.module.js gzip 294 B 294 B
withRouter.module.js 429 B 430 B ⚠️ +1 B
withRouter.module.js gzip 293 B 293 B
Overall change -11.3 kB
Client Build Manifests
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_buildManifest.js 81 B 81 B
_buildManifest.js gzip 61 B 61 B
_buildManifest.module.js 81 B 81 B
_buildManifest.module.js gzip 61 B 61 B
Overall change
Rendered Page Sizes Overall increase ⚠️
zeit/next.js canary timneutkens/next.js add/move-next-server Change
index.html 3.75 kB 4.13 kB ⚠️ +386 B
index.html gzip 961 B 1.02 kB ⚠️ +61 B
link.html 3.79 kB 4.18 kB ⚠️ +386 B
link.html gzip 970 B 1.03 kB ⚠️ +60 B
withRouter.html 3.8 kB 4.19 kB ⚠️ +386 B
withRouter.html gzip 956 B 1.02 kB ⚠️ +62 B
Overall change ⚠️ +1.16 kB

Diffs

Diff for main-HASH.js
@@ -1,26 +1,68 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[11],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[12],{
 
-/***/ "/h46":
+/***/ "0IRE":
 /***/ (function(module, exports, __webpack_require__) {
 
-// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of
-__webpack_require__("cHUd")('Map');
+"use strict";
+
+Object.defineProperty(exports, "__esModule", { value: true });
+class DataManager {
+    constructor(data) {
+        this.data = new Map(data);
+    }
+    getData() {
+        return this.data;
+    }
+    get(key) {
+        return this.data.get(key);
+    }
+    set(key, value) {
+        this.data.set(key, value);
+    }
+    overwrite(data) {
+        this.data = new Map(data);
+    }
+}
+exports.DataManager = DataManager;
 
 
 /***/ }),
 
-/***/ "8iia":
+/***/ "8+Nu":
 /***/ (function(module, exports, __webpack_require__) {
 
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var classof = __webpack_require__("QMMT");
-var from = __webpack_require__("RRc/");
-module.exports = function (NAME) {
-  return function toJSON() {
-    if (classof(this) != NAME) throw TypeError(NAME + "#toJSON isn't generic");
-    return from(this);
-  };
-};
+var arrayWithHoles = __webpack_require__("8bdy");
+
+var iterableToArrayLimit = __webpack_require__("fprZ");
+
+var nonIterableRest = __webpack_require__("Bh1o");
+
+function _slicedToArray(arr, i) {
+  return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest();
+}
+
+module.exports = _slicedToArray;
+
+/***/ }),
+
+/***/ "8bdy":
+/***/ (function(module, exports, __webpack_require__) {
+
+var _Array$isArray = __webpack_require__("p0XB");
+
+function _arrayWithHoles(arr) {
+  if (_Array$isArray(arr)) return arr;
+}
+
+module.exports = _arrayWithHoles;
+
+/***/ }),
+
+/***/ "9BDd":
+/***/ (function(module, exports, __webpack_require__) {
+
+__webpack_require__("GvbO");
+module.exports = __webpack_require__("WEpk").Array.isArray;
 
 
 /***/ }),
@@ -42,26 +84,14 @@ window.next = next;
 
 /***/ }),
 
-/***/ "C2SN":
-/***/ (function(module, exports, __webpack_require__) {
+/***/ "Bh1o":
+/***/ (function(module, exports) {
 
-var isObject = __webpack_require__("93I4");
-var isArray = __webpack_require__("kAMH");
-var SPECIES = __webpack_require__("UWiX")('species');
-
-module.exports = function (original) {
-  var C;
-  if (isArray(original)) {
-    C = original.constructor;
-    // cross-realm fallback
-    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-    if (isObject(C)) {
-      C = C[SPECIES];
-      if (C === null) C = undefined;
-    }
-  } return C === undefined ? Array : C;
-};
+function _nonIterableRest() {
+  throw new TypeError("Invalid attempt to destructure non-iterable instance");
+}
 
+module.exports = _nonIterableRest;
 
 /***/ }),
 
@@ -208,57 +238,33 @@ function reactElementToDOM(_ref) {
 
 /***/ }),
 
-/***/ "HohS":
+/***/ "FYa8":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var runtimeConfig;
-
-exports["default"] = function () {
-  return runtimeConfig;
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+    result["default"] = mod;
+    return result;
 };
+Object.defineProperty(exports, "__esModule", { value: true });
+const React = __importStar(__webpack_require__("q1tI"));
+exports.HeadManagerContext = React.createContext(null);
 
-function setConfig(configValue) {
-  runtimeConfig = configValue;
-}
-
-exports.setConfig = setConfig;
 
 /***/ }),
 
-/***/ "IClC":
+/***/ "GvbO":
 /***/ (function(module, exports, __webpack_require__) {
 
-"use strict";
-
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-var __importStar = this && this.__importStar || function (mod) {
-  if (mod && mod.__esModule) return mod;
-  var result = {};
-  if (mod != null) for (var k in mod) {
-    if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-  }
-  result["default"] = mod;
-  return result;
-};
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
+// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)
+var $export = __webpack_require__("Y7ZC");
 
-var React = __importStar(__webpack_require__("q1tI"));
+$export($export.S, 'Array', { isArray: __webpack_require__("kAMH") });
 
-exports.HeadManagerContext = React.createContext(null);
 
 /***/ }),
 
@@ -305,25 +311,25 @@ var _headManager = _interopRequireDefault(__webpack_require__("DqTX"));
 
 var _router = __webpack_require__("nOHt");
 
-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 
 var _pageLoader = _interopRequireDefault(__webpack_require__("zmvN"));
 
-var envConfig = _interopRequireWildcard(__webpack_require__("PBx+"));
+var envConfig = _interopRequireWildcard(__webpack_require__("yLiY"));
 
-var _headManagerContext = __webpack_require__("IClC");
+var _headManagerContext = __webpack_require__("FYa8");
 
-var _dataManagerContext = __webpack_require__("qS9g");
+var _dataManagerContext = __webpack_require__("qArv");
 
-var _routerContext = __webpack_require__("9EOK");
+var _routerContext = __webpack_require__("qOIg");
 
-var _dataManager = __webpack_require__("cuFY");
+var _dataManager = __webpack_require__("0IRE");
 
 var _querystring = __webpack_require__("s4NR");
 
-var _isDynamic = __webpack_require__("kcOw");
+var _isDynamic = __webpack_require__("/jkW");
 /* global location */
 // Polyfill Promise globally
 // This is needed because Webpack's dynamic loading(common chunks) code
@@ -863,528 +869,112 @@ function _doRender() {
 
 /***/ }),
 
-/***/ "LX0d":
+/***/ "Rp86":
 /***/ (function(module, exports, __webpack_require__) {
 
-module.exports = __webpack_require__("UDep");
-
-/***/ }),
-
-/***/ "PBx+":
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__("HohS")
-
-
-/***/ }),
-
-/***/ "RRc/":
-/***/ (function(module, exports, __webpack_require__) {
-
-var forOf = __webpack_require__("oioR");
-
-module.exports = function (iter, ITERATOR) {
-  var result = [];
-  forOf(iter, false, result.push, result, ITERATOR);
-  return result;
-};
-
-
-/***/ }),
-
-/***/ "UDep":
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__("wgeU");
-__webpack_require__("FlQf");
 __webpack_require__("bBy9");
-__webpack_require__("g33z");
-__webpack_require__("XLbu");
-__webpack_require__("/h46");
-__webpack_require__("dVTT");
-module.exports = __webpack_require__("WEpk").Map;
-
-
-/***/ }),
-
-/***/ "V7Et":
-/***/ (function(module, exports, __webpack_require__) {
-
-// 0 -> Array#forEach
-// 1 -> Array#map
-// 2 -> Array#filter
-// 3 -> Array#some
-// 4 -> Array#every
-// 5 -> Array#find
-// 6 -> Array#findIndex
-var ctx = __webpack_require__("2GTP");
-var IObject = __webpack_require__("M1xp");
-var toObject = __webpack_require__("JB68");
-var toLength = __webpack_require__("tEej");
-var asc = __webpack_require__("v6xn");
-module.exports = function (TYPE, $create) {
-  var IS_MAP = TYPE == 1;
-  var IS_FILTER = TYPE == 2;
-  var IS_SOME = TYPE == 3;
-  var IS_EVERY = TYPE == 4;
-  var IS_FIND_INDEX = TYPE == 6;
-  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-  var create = $create || asc;
-  return function ($this, callbackfn, that) {
-    var O = toObject($this);
-    var self = IObject(O);
-    var f = ctx(callbackfn, that, 3);
-    var length = toLength(self.length);
-    var index = 0;
-    var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-    var val, res;
-    for (;length > index; index++) if (NO_HOLES || index in self) {
-      val = self[index];
-      res = f(val, index, O);
-      if (TYPE) {
-        if (IS_MAP) result[index] = res;   // map
-        else if (res) switch (TYPE) {
-          case 3: return true;             // some
-          case 5: return val;              // find
-          case 6: return index;            // findIndex
-          case 2: result.push(val);        // filter
-        } else if (IS_EVERY) return false; // every
-      }
-    }
-    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
-  };
-};
-
-
-/***/ }),
-
-/***/ "Wu5q":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var dP = __webpack_require__("2faE").f;
-var create = __webpack_require__("oVml");
-var redefineAll = __webpack_require__("XJU/");
-var ctx = __webpack_require__("2GTP");
-var anInstance = __webpack_require__("EXMj");
-var forOf = __webpack_require__("oioR");
-var $iterDefine = __webpack_require__("MPFp");
-var step = __webpack_require__("UO39");
-var setSpecies = __webpack_require__("TJWN");
-var DESCRIPTORS = __webpack_require__("jmDH");
-var fastKey = __webpack_require__("6/1s").fastKey;
-var validate = __webpack_require__("n3ko");
-var SIZE = DESCRIPTORS ? '_s' : 'size';
-
-var getEntry = function (that, key) {
-  // fast case
-  var index = fastKey(key);
-  var entry;
-  if (index !== 'F') return that._i[index];
-  // frozen object case
-  for (entry = that._f; entry; entry = entry.n) {
-    if (entry.k == key) return entry;
-  }
-};
-
-module.exports = {
-  getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {
-    var C = wrapper(function (that, iterable) {
-      anInstance(that, C, NAME, '_i');
-      that._t = NAME;         // collection type
-      that._i = create(null); // index
-      that._f = undefined;    // first entry
-      that._l = undefined;    // last entry
-      that[SIZE] = 0;         // size
-      if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
-    });
-    redefineAll(C.prototype, {
-      // 23.1.3.1 Map.prototype.clear()
-      // 23.2.3.2 Set.prototype.clear()
-      clear: function clear() {
-        for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {
-          entry.r = true;
-          if (entry.p) entry.p = entry.p.n = undefined;
-          delete data[entry.i];
-        }
-        that._f = that._l = undefined;
-        that[SIZE] = 0;
-      },
-      // 23.1.3.3 Map.prototype.delete(key)
-      // 23.2.3.4 Set.prototype.delete(value)
-      'delete': function (key) {
-        var that = validate(this, NAME);
-        var entry = getEntry(that, key);
-        if (entry) {
-          var next = entry.n;
-          var prev = entry.p;
-          delete that._i[entry.i];
-          entry.r = true;
-          if (prev) prev.n = next;
-          if (next) next.p = prev;
-          if (that._f == entry) that._f = next;
-          if (that._l == entry) that._l = prev;
-          that[SIZE]--;
-        } return !!entry;
-      },
-      // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
-      // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
-      forEach: function forEach(callbackfn /* , that = undefined */) {
-        validate(this, NAME);
-        var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
-        var entry;
-        while (entry = entry ? entry.n : this._f) {
-          f(entry.v, entry.k, this);
-          // revert to the last existing entry
-          while (entry && entry.r) entry = entry.p;
-        }
-      },
-      // 23.1.3.7 Map.prototype.has(key)
-      // 23.2.3.7 Set.prototype.has(value)
-      has: function has(key) {
-        return !!getEntry(validate(this, NAME), key);
-      }
-    });
-    if (DESCRIPTORS) dP(C.prototype, 'size', {
-      get: function () {
-        return validate(this, NAME)[SIZE];
-      }
-    });
-    return C;
-  },
-  def: function (that, key, value) {
-    var entry = getEntry(that, key);
-    var prev, index;
-    // change existing entry
-    if (entry) {
-      entry.v = value;
-    // create new entry
-    } else {
-      that._l = entry = {
-        i: index = fastKey(key, true), // <- index
-        k: key,                        // <- key
-        v: value,                      // <- value
-        p: prev = that._l,             // <- previous entry
-        n: undefined,                  // <- next entry
-        r: false                       // <- removed
-      };
-      if (!that._f) that._f = entry;
-      if (prev) prev.n = entry;
-      that[SIZE]++;
-      // add to index
-      if (index !== 'F') that._i[index] = entry;
-    } return that;
-  },
-  getEntry: getEntry,
-  setStrong: function (C, NAME, IS_MAP) {
-    // add .keys, .values, .entries, [@@iterator]
-    // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
-    $iterDefine(C, NAME, function (iterated, kind) {
-      this._t = validate(iterated, NAME); // target
-      this._k = kind;                     // kind
-      this._l = undefined;                // previous
-    }, function () {
-      var that = this;
-      var kind = that._k;
-      var entry = that._l;
-      // revert to the last existing entry
-      while (entry && entry.r) entry = entry.p;
-      // get next entry
-      if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {
-        // or finish the iteration
-        that._t = undefined;
-        return step(1);
-      }
-      // return step by kind
-      if (kind == 'keys') return step(0, entry.k);
-      if (kind == 'values') return step(0, entry.v);
-      return step(0, [entry.k, entry.v]);
-    }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
-
-    // add [@@species], 23.1.2.2, 23.2.2.2
-    setSpecies(NAME);
-  }
-};
+__webpack_require__("FlQf");
+module.exports = __webpack_require__("fXsU");
 
 
 /***/ }),
 
-/***/ "XLbu":
+/***/ "XXOK":
 /***/ (function(module, exports, __webpack_require__) {
 
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var $export = __webpack_require__("Y7ZC");
-
-$export($export.P + $export.R, 'Map', { toJSON: __webpack_require__("8iia")('Map') });
-
+module.exports = __webpack_require__("Rp86");
 
 /***/ }),
 
-/***/ "aPfg":
+/***/ "fXsU":
 /***/ (function(module, exports, __webpack_require__) {
 
-"use strict";
-
-// https://tc39.github.io/proposal-setmap-offrom/
-var $export = __webpack_require__("Y7ZC");
-var aFunction = __webpack_require__("eaoh");
-var ctx = __webpack_require__("2GTP");
-var forOf = __webpack_require__("oioR");
-
-module.exports = function (COLLECTION) {
-  $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {
-    var mapFn = arguments[1];
-    var mapping, A, n, cb;
-    aFunction(this);
-    mapping = mapFn !== undefined;
-    if (mapping) aFunction(mapFn);
-    if (source == undefined) return new this();
-    A = [];
-    if (mapping) {
-      n = 0;
-      cb = ctx(mapFn, arguments[2], 2);
-      forOf(source, false, function (nextItem) {
-        A.push(cb(nextItem, n++));
-      });
-    } else {
-      forOf(source, false, A.push, A);
-    }
-    return new this(A);
-  } });
+var anObject = __webpack_require__("5K7Z");
+var get = __webpack_require__("fNZA");
+module.exports = __webpack_require__("WEpk").getIterator = function (it) {
+  var iterFn = get(it);
+  if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');
+  return anObject(iterFn.call(it));
 };
 
 
 /***/ }),
 
-/***/ "cHUd":
+/***/ "fprZ":
 /***/ (function(module, exports, __webpack_require__) {
 
-"use strict";
-
-// https://tc39.github.io/proposal-setmap-offrom/
-var $export = __webpack_require__("Y7ZC");
-
-module.exports = function (COLLECTION) {
-  $export($export.S, COLLECTION, { of: function of() {
-    var length = arguments.length;
-    var A = new Array(length);
-    while (length--) A[length] = arguments[length];
-    return new this(A);
-  } });
-};
-
-
-/***/ }),
+var _getIterator = __webpack_require__("XXOK");
 
-/***/ "cuFY":
-/***/ (function(module, exports, __webpack_require__) {
+function _iterableToArrayLimit(arr, i) {
+  var _arr = [];
+  var _n = true;
+  var _d = false;
+  var _e = undefined;
 
-"use strict";
-
-
-var _Map = __webpack_require__("LX0d");
-
-var _classCallCheck = __webpack_require__("/HRN");
-
-var _createClass = __webpack_require__("WaGi");
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var DataManager =
-/*#__PURE__*/
-function () {
-  function DataManager(data) {
-    _classCallCheck(this, DataManager);
-
-    this.data = new _Map(data);
-  }
+  try {
+    for (var _i = _getIterator(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {
+      _arr.push(_s.value);
 
-  _createClass(DataManager, [{
-    key: "getData",
-    value: function getData() {
-      return this.data;
-    }
-  }, {
-    key: "get",
-    value: function get(key) {
-      return this.data.get(key);
-    }
-  }, {
-    key: "set",
-    value: function set(key, value) {
-      this.data.set(key, value);
+      if (i && _arr.length === i) break;
     }
-  }, {
-    key: "overwrite",
-    value: function overwrite(data) {
-      this.data = new _Map(data);
+  } catch (err) {
+    _d = true;
+    _e = err;
+  } finally {
+    try {
+      if (!_n && _i["return"] != null) _i["return"]();
+    } finally {
+      if (_d) throw _e;
     }
-  }]);
-
-  return DataManager;
-}();
-
-exports.DataManager = DataManager;
-
-/***/ }),
-
-/***/ "dVTT":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from
-__webpack_require__("aPfg")('Map');
-
-
-/***/ }),
-
-/***/ "g33z":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var strong = __webpack_require__("Wu5q");
-var validate = __webpack_require__("n3ko");
-var MAP = 'Map';
-
-// 23.1 Map Objects
-module.exports = __webpack_require__("raTm")(MAP, function (get) {
-  return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };
-}, {
-  // 23.1.3.6 Map.prototype.get(key)
-  get: function get(key) {
-    var entry = strong.getEntry(validate(this, MAP), key);
-    return entry && entry.v;
-  },
-  // 23.1.3.9 Map.prototype.set(key, value)
-  set: function set(key, value) {
-    return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);
   }
-}, strong, true);
-
-
-/***/ }),
-
-/***/ "n3ko":
-/***/ (function(module, exports, __webpack_require__) {
 
-var isObject = __webpack_require__("93I4");
-module.exports = function (it, TYPE) {
-  if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');
-  return it;
-};
+  return _arr;
+}
 
+module.exports = _iterableToArrayLimit;
 
 /***/ }),
 
-/***/ "qS9g":
+/***/ "p0XB":
 /***/ (function(module, exports, __webpack_require__) {
 
-"use strict";
-
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-var __importStar = this && this.__importStar || function (mod) {
-  if (mod && mod.__esModule) return mod;
-  var result = {};
-  if (mod != null) for (var k in mod) {
-    if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-  }
-  result["default"] = mod;
-  return result;
-};
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var React = __importStar(__webpack_require__("q1tI"));
-
-exports.DataManagerContext = React.createContext(null);
+module.exports = __webpack_require__("9BDd");
 
 /***/ }),
 
-/***/ "raTm":
+/***/ "qArv":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
-var global = __webpack_require__("5T2Y");
-var $export = __webpack_require__("Y7ZC");
-var meta = __webpack_require__("6/1s");
-var fails = __webpack_require__("KUxP");
-var hide = __webpack_require__("NegM");
-var redefineAll = __webpack_require__("XJU/");
-var forOf = __webpack_require__("oioR");
-var anInstance = __webpack_require__("EXMj");
-var isObject = __webpack_require__("93I4");
-var setToStringTag = __webpack_require__("RfKB");
-var dP = __webpack_require__("2faE").f;
-var each = __webpack_require__("V7Et")(0);
-var DESCRIPTORS = __webpack_require__("jmDH");
-
-module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
-  var Base = global[NAME];
-  var C = Base;
-  var ADDER = IS_MAP ? 'set' : 'add';
-  var proto = C && C.prototype;
-  var O = {};
-  if (!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {
-    new C().entries().next();
-  }))) {
-    // create collection constructor
-    C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);
-    redefineAll(C.prototype, methods);
-    meta.NEED = true;
-  } else {
-    C = wrapper(function (target, iterable) {
-      anInstance(target, C, NAME, '_c');
-      target._c = new Base();
-      if (iterable != undefined) forOf(iterable, IS_MAP, target[ADDER], target);
-    });
-    each('add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON'.split(','), function (KEY) {
-      var IS_ADDER = KEY == 'add' || KEY == 'set';
-      if (KEY in proto && !(IS_WEAK && KEY == 'clear')) hide(C.prototype, KEY, function (a, b) {
-        anInstance(this, C, KEY);
-        if (!IS_ADDER && IS_WEAK && !isObject(a)) return KEY == 'get' ? undefined : false;
-        var result = this._c[KEY](a === 0 ? 0 : a, b);
-        return IS_ADDER ? this : result;
-      });
-    });
-    IS_WEAK || dP(C.prototype, 'size', {
-      get: function () {
-        return this._c.size;
-      }
-    });
-  }
-
-  setToStringTag(C, NAME);
-
-  O[NAME] = C;
-  $export($export.G + $export.W + $export.F, O);
-
-  if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);
-
-  return C;
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+    result["default"] = mod;
+    return result;
 };
+Object.defineProperty(exports, "__esModule", { value: true });
+const React = __importStar(__webpack_require__("q1tI"));
+exports.DataManagerContext = React.createContext(null);
 
 
 /***/ }),
 
-/***/ "v6xn":
+/***/ "yLiY":
 /***/ (function(module, exports, __webpack_require__) {
 
-// 9.4.2.3 ArraySpeciesCreate(originalArray, length)
-var speciesConstructor = __webpack_require__("C2SN");
+"use strict";
 
-module.exports = function (original, length) {
-  return new (speciesConstructor(original))(length);
+Object.defineProperty(exports, "__esModule", { value: true });
+let runtimeConfig;
+exports.default = () => {
+    return runtimeConfig;
 };
+function setConfig(configValue) {
+    runtimeConfig = configValue;
+}
+exports.setConfig = setConfig;
 
 
 /***/ }),
@@ -1410,7 +1000,7 @@ var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("+oT+"));
 
 var _promise = _interopRequireDefault(__webpack_require__("eVuF"));
 
-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 /* global document, window */
 
 
@@ -1741,4 +1331,4 @@ exports["default"] = PageLoader;
 
 /***/ })
 
-},[["BMP1",0,1,2,3]]]);
\ No newline at end of file
+},[["BMP1",0,1,2,3,4]]]);
\ No newline at end of file
Diff for main-HASH.module.js
@@ -1,131 +1,29 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[10],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[11],{
 
-/***/ "+oT+":
+/***/ "0IRE":
 /***/ (function(module, exports, __webpack_require__) {
 
-var _Promise = __webpack_require__("eVuF");
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
-  try {
-    var info = gen[key](arg);
-    var value = info.value;
-  } catch (error) {
-    reject(error);
-    return;
-  }
-
-  if (info.done) {
-    resolve(value);
-  } else {
-    _Promise.resolve(value).then(_next, _throw);
-  }
-}
-
-function _asyncToGenerator(fn) {
-  return function () {
-    var self = this,
-        args = arguments;
-    return new _Promise(function (resolve, reject) {
-      var gen = fn.apply(self, args);
-
-      function _next(value) {
-        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
-      }
-
-      function _throw(err) {
-        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
-      }
+"use strict";
 
-      _next(undefined);
-    });
-  };
+Object.defineProperty(exports, "__esModule", { value: true });
+class DataManager {
+    constructor(data) {
+        this.data = new Map(data);
+    }
+    getData() {
+        return this.data;
+    }
+    get(key) {
+        return this.data.get(key);
+    }
+    set(key, value) {
+        this.data.set(key, value);
+    }
+    overwrite(data) {
+        this.data = new Map(data);
+    }
 }
-
-module.exports = _asyncToGenerator;
-
-/***/ }),
-
-/***/ "/h46":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of
-__webpack_require__("cHUd")('Map');
-
-
-/***/ }),
-
-/***/ "6/1s":
-/***/ (function(module, exports, __webpack_require__) {
-
-var META = __webpack_require__("YqAc")('meta');
-var isObject = __webpack_require__("93I4");
-var has = __webpack_require__("B+OT");
-var setDesc = __webpack_require__("2faE").f;
-var id = 0;
-var isExtensible = Object.isExtensible || function () {
-  return true;
-};
-var FREEZE = !__webpack_require__("KUxP")(function () {
-  return isExtensible(Object.preventExtensions({}));
-});
-var setMeta = function (it) {
-  setDesc(it, META, { value: {
-    i: 'O' + ++id, // object ID
-    w: {}          // weak collections IDs
-  } });
-};
-var fastKey = function (it, create) {
-  // return primitive with prefix
-  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
-  if (!has(it, META)) {
-    // can't set metadata to uncaught frozen object
-    if (!isExtensible(it)) return 'F';
-    // not necessary to add metadata
-    if (!create) return 'E';
-    // add missing metadata
-    setMeta(it);
-  // return object ID
-  } return it[META].i;
-};
-var getWeak = function (it, create) {
-  if (!has(it, META)) {
-    // can't set metadata to uncaught frozen object
-    if (!isExtensible(it)) return true;
-    // not necessary to add metadata
-    if (!create) return false;
-    // add missing metadata
-    setMeta(it);
-  // return hash weak collections IDs
-  } return it[META].w;
-};
-// add metadata on freeze-family methods calling
-var onFreeze = function (it) {
-  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);
-  return it;
-};
-var meta = module.exports = {
-  KEY: META,
-  NEED: false,
-  fastKey: fastKey,
-  getWeak: getWeak,
-  onFreeze: onFreeze
-};
-
-
-/***/ }),
-
-/***/ "8iia":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var classof = __webpack_require__("QMMT");
-var from = __webpack_require__("RRc/");
-module.exports = function (NAME) {
-  return function toJSON() {
-    if (classof(this) != NAME) throw TypeError(NAME + "#toJSON isn't generic");
-    return from(this);
-  };
-};
+exports.DataManager = DataManager;
 
 
 /***/ }),
@@ -147,29 +45,6 @@ window.next = next;
 
 /***/ }),
 
-/***/ "C2SN":
-/***/ (function(module, exports, __webpack_require__) {
-
-var isObject = __webpack_require__("93I4");
-var isArray = __webpack_require__("kAMH");
-var SPECIES = __webpack_require__("UWiX")('species');
-
-module.exports = function (original) {
-  var C;
-  if (isArray(original)) {
-    C = original.constructor;
-    // cross-realm fallback
-    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-    if (isObject(C)) {
-      C = C[SPECIES];
-      if (C === null) C = undefined;
-    }
-  } return C === undefined ? Array : C;
-};
-
-
-/***/ }),
-
 /***/ "DqTX":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -296,56 +171,23 @@ function reactElementToDOM(_ref) {
 
 /***/ }),
 
-/***/ "HohS":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-let runtimeConfig;
-
-exports.default = () => {
-  return runtimeConfig;
-};
-
-function setConfig(configValue) {
-  runtimeConfig = configValue;
-}
-
-exports.setConfig = setConfig;
-
-/***/ }),
-
-/***/ "IClC":
+/***/ "FYa8":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-var __importStar = this && this.__importStar || function (mod) {
-  if (mod && mod.__esModule) return mod;
-  var result = {};
-  if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-  result["default"] = mod;
-  return result;
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+    result["default"] = mod;
+    return result;
 };
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
+Object.defineProperty(exports, "__esModule", { value: true });
 const React = __importStar(__webpack_require__("q1tI"));
-
 exports.HeadManagerContext = React.createContext(null);
 
+
 /***/ }),
 
 /***/ "IKlv":
@@ -377,25 +219,25 @@ var _headManager = _interopRequireDefault(__webpack_require__("DqTX"));
 
 var _router = __webpack_require__("nOHt");
 
-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 
 var _pageLoader = _interopRequireDefault(__webpack_require__("zmvN"));
 
-var envConfig = _interopRequireWildcard(__webpack_require__("PBx+"));
+var envConfig = _interopRequireWildcard(__webpack_require__("yLiY"));
 
-var _headManagerContext = __webpack_require__("IClC");
+var _headManagerContext = __webpack_require__("FYa8");
 
-var _dataManagerContext = __webpack_require__("qS9g");
+var _dataManagerContext = __webpack_require__("qArv");
 
-var _routerContext = __webpack_require__("9EOK");
+var _routerContext = __webpack_require__("qOIg");
 
-var _dataManager = __webpack_require__("cuFY");
+var _dataManager = __webpack_require__("0IRE");
 
 var _querystring = __webpack_require__("s4NR");
 
-var _isDynamic = __webpack_require__("kcOw");
+var _isDynamic = __webpack_require__("/jkW");
 /* global location */
 // Polyfill Promise globally
 // This is needed because Webpack's dynamic loading(common chunks) code
@@ -785,523 +627,39 @@ function _doRender() {
 
 /***/ }),
 
-/***/ "LX0d":
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__("UDep");
-
-/***/ }),
-
-/***/ "PBx+":
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__("HohS")
-
-
-/***/ }),
-
-/***/ "RRc/":
-/***/ (function(module, exports, __webpack_require__) {
-
-var forOf = __webpack_require__("oioR");
-
-module.exports = function (iter, ITERATOR) {
-  var result = [];
-  forOf(iter, false, result.push, result, ITERATOR);
-  return result;
-};
-
-
-/***/ }),
-
-/***/ "UDep":
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__("wgeU");
-__webpack_require__("FlQf");
-__webpack_require__("bBy9");
-__webpack_require__("g33z");
-__webpack_require__("XLbu");
-__webpack_require__("/h46");
-__webpack_require__("dVTT");
-module.exports = __webpack_require__("WEpk").Map;
-
-
-/***/ }),
-
-/***/ "V7Et":
-/***/ (function(module, exports, __webpack_require__) {
-
-// 0 -> Array#forEach
-// 1 -> Array#map
-// 2 -> Array#filter
-// 3 -> Array#some
-// 4 -> Array#every
-// 5 -> Array#find
-// 6 -> Array#findIndex
-var ctx = __webpack_require__("2GTP");
-var IObject = __webpack_require__("M1xp");
-var toObject = __webpack_require__("JB68");
-var toLength = __webpack_require__("tEej");
-var asc = __webpack_require__("v6xn");
-module.exports = function (TYPE, $create) {
-  var IS_MAP = TYPE == 1;
-  var IS_FILTER = TYPE == 2;
-  var IS_SOME = TYPE == 3;
-  var IS_EVERY = TYPE == 4;
-  var IS_FIND_INDEX = TYPE == 6;
-  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-  var create = $create || asc;
-  return function ($this, callbackfn, that) {
-    var O = toObject($this);
-    var self = IObject(O);
-    var f = ctx(callbackfn, that, 3);
-    var length = toLength(self.length);
-    var index = 0;
-    var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-    var val, res;
-    for (;length > index; index++) if (NO_HOLES || index in self) {
-      val = self[index];
-      res = f(val, index, O);
-      if (TYPE) {
-        if (IS_MAP) result[index] = res;   // map
-        else if (res) switch (TYPE) {
-          case 3: return true;             // some
-          case 5: return val;              // find
-          case 6: return index;            // findIndex
-          case 2: result.push(val);        // filter
-        } else if (IS_EVERY) return false; // every
-      }
-    }
-    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
-  };
-};
-
-
-/***/ }),
-
-/***/ "Wu5q":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var dP = __webpack_require__("2faE").f;
-var create = __webpack_require__("oVml");
-var redefineAll = __webpack_require__("XJU/");
-var ctx = __webpack_require__("2GTP");
-var anInstance = __webpack_require__("EXMj");
-var forOf = __webpack_require__("oioR");
-var $iterDefine = __webpack_require__("MPFp");
-var step = __webpack_require__("UO39");
-var setSpecies = __webpack_require__("TJWN");
-var DESCRIPTORS = __webpack_require__("jmDH");
-var fastKey = __webpack_require__("6/1s").fastKey;
-var validate = __webpack_require__("n3ko");
-var SIZE = DESCRIPTORS ? '_s' : 'size';
-
-var getEntry = function (that, key) {
-  // fast case
-  var index = fastKey(key);
-  var entry;
-  if (index !== 'F') return that._i[index];
-  // frozen object case
-  for (entry = that._f; entry; entry = entry.n) {
-    if (entry.k == key) return entry;
-  }
-};
-
-module.exports = {
-  getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {
-    var C = wrapper(function (that, iterable) {
-      anInstance(that, C, NAME, '_i');
-      that._t = NAME;         // collection type
-      that._i = create(null); // index
-      that._f = undefined;    // first entry
-      that._l = undefined;    // last entry
-      that[SIZE] = 0;         // size
-      if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
-    });
-    redefineAll(C.prototype, {
-      // 23.1.3.1 Map.prototype.clear()
-      // 23.2.3.2 Set.prototype.clear()
-      clear: function clear() {
-        for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {
-          entry.r = true;
-          if (entry.p) entry.p = entry.p.n = undefined;
-          delete data[entry.i];
-        }
-        that._f = that._l = undefined;
-        that[SIZE] = 0;
-      },
-      // 23.1.3.3 Map.prototype.delete(key)
-      // 23.2.3.4 Set.prototype.delete(value)
-      'delete': function (key) {
-        var that = validate(this, NAME);
-        var entry = getEntry(that, key);
-        if (entry) {
-          var next = entry.n;
-          var prev = entry.p;
-          delete that._i[entry.i];
-          entry.r = true;
-          if (prev) prev.n = next;
-          if (next) next.p = prev;
-          if (that._f == entry) that._f = next;
-          if (that._l == entry) that._l = prev;
-          that[SIZE]--;
-        } return !!entry;
-      },
-      // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
-      // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
-      forEach: function forEach(callbackfn /* , that = undefined */) {
-        validate(this, NAME);
-        var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
-        var entry;
-        while (entry = entry ? entry.n : this._f) {
-          f(entry.v, entry.k, this);
-          // revert to the last existing entry
-          while (entry && entry.r) entry = entry.p;
-        }
-      },
-      // 23.1.3.7 Map.prototype.has(key)
-      // 23.2.3.7 Set.prototype.has(value)
-      has: function has(key) {
-        return !!getEntry(validate(this, NAME), key);
-      }
-    });
-    if (DESCRIPTORS) dP(C.prototype, 'size', {
-      get: function () {
-        return validate(this, NAME)[SIZE];
-      }
-    });
-    return C;
-  },
-  def: function (that, key, value) {
-    var entry = getEntry(that, key);
-    var prev, index;
-    // change existing entry
-    if (entry) {
-      entry.v = value;
-    // create new entry
-    } else {
-      that._l = entry = {
-        i: index = fastKey(key, true), // <- index
-        k: key,                        // <- key
-        v: value,                      // <- value
-        p: prev = that._l,             // <- previous entry
-        n: undefined,                  // <- next entry
-        r: false                       // <- removed
-      };
-      if (!that._f) that._f = entry;
-      if (prev) prev.n = entry;
-      that[SIZE]++;
-      // add to index
-      if (index !== 'F') that._i[index] = entry;
-    } return that;
-  },
-  getEntry: getEntry,
-  setStrong: function (C, NAME, IS_MAP) {
-    // add .keys, .values, .entries, [@@iterator]
-    // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
-    $iterDefine(C, NAME, function (iterated, kind) {
-      this._t = validate(iterated, NAME); // target
-      this._k = kind;                     // kind
-      this._l = undefined;                // previous
-    }, function () {
-      var that = this;
-      var kind = that._k;
-      var entry = that._l;
-      // revert to the last existing entry
-      while (entry && entry.r) entry = entry.p;
-      // get next entry
-      if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {
-        // or finish the iteration
-        that._t = undefined;
-        return step(1);
-      }
-      // return step by kind
-      if (kind == 'keys') return step(0, entry.k);
-      if (kind == 'values') return step(0, entry.v);
-      return step(0, [entry.k, entry.v]);
-    }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
-
-    // add [@@species], 23.1.2.2, 23.2.2.2
-    setSpecies(NAME);
-  }
-};
-
-
-/***/ }),
-
-/***/ "XLbu":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var $export = __webpack_require__("Y7ZC");
-
-$export($export.P + $export.R, 'Map', { toJSON: __webpack_require__("8iia")('Map') });
-
-
-/***/ }),
-
-/***/ "aPfg":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-// https://tc39.github.io/proposal-setmap-offrom/
-var $export = __webpack_require__("Y7ZC");
-var aFunction = __webpack_require__("eaoh");
-var ctx = __webpack_require__("2GTP");
-var forOf = __webpack_require__("oioR");
-
-module.exports = function (COLLECTION) {
-  $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {
-    var mapFn = arguments[1];
-    var mapping, A, n, cb;
-    aFunction(this);
-    mapping = mapFn !== undefined;
-    if (mapping) aFunction(mapFn);
-    if (source == undefined) return new this();
-    A = [];
-    if (mapping) {
-      n = 0;
-      cb = ctx(mapFn, arguments[2], 2);
-      forOf(source, false, function (nextItem) {
-        A.push(cb(nextItem, n++));
-      });
-    } else {
-      forOf(source, false, A.push, A);
-    }
-    return new this(A);
-  } });
-};
-
-
-/***/ }),
-
-/***/ "cHUd":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-// https://tc39.github.io/proposal-setmap-offrom/
-var $export = __webpack_require__("Y7ZC");
-
-module.exports = function (COLLECTION) {
-  $export($export.S, COLLECTION, { of: function of() {
-    var length = arguments.length;
-    var A = new Array(length);
-    while (length--) A[length] = arguments[length];
-    return new this(A);
-  } });
-};
-
-
-/***/ }),
-
-/***/ "cuFY":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _Map = __webpack_require__("LX0d");
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-class DataManager {
-  constructor(data) {
-    this.data = new _Map(data);
-  }
-
-  getData() {
-    return this.data;
-  }
-
-  get(key) {
-    return this.data.get(key);
-  }
-
-  set(key, value) {
-    this.data.set(key, value);
-  }
-
-  overwrite(data) {
-    this.data = new _Map(data);
-  }
-
-}
-
-exports.DataManager = DataManager;
-
-/***/ }),
-
-/***/ "dVTT":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from
-__webpack_require__("aPfg")('Map');
-
-
-/***/ }),
-
-/***/ "g33z":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var strong = __webpack_require__("Wu5q");
-var validate = __webpack_require__("n3ko");
-var MAP = 'Map';
-
-// 23.1 Map Objects
-module.exports = __webpack_require__("raTm")(MAP, function (get) {
-  return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };
-}, {
-  // 23.1.3.6 Map.prototype.get(key)
-  get: function get(key) {
-    var entry = strong.getEntry(validate(this, MAP), key);
-    return entry && entry.v;
-  },
-  // 23.1.3.9 Map.prototype.set(key, value)
-  set: function set(key, value) {
-    return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);
-  }
-}, strong, true);
-
-
-/***/ }),
-
-/***/ "kAMH":
-/***/ (function(module, exports, __webpack_require__) {
-
-// 7.2.2 IsArray(argument)
-var cof = __webpack_require__("a0xu");
-module.exports = Array.isArray || function isArray(arg) {
-  return cof(arg) == 'Array';
-};
-
-
-/***/ }),
-
-/***/ "n3ko":
-/***/ (function(module, exports, __webpack_require__) {
-
-var isObject = __webpack_require__("93I4");
-module.exports = function (it, TYPE) {
-  if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');
-  return it;
-};
-
-
-/***/ }),
-
-/***/ "qS9g":
+/***/ "qArv":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-var __importStar = this && this.__importStar || function (mod) {
-  if (mod && mod.__esModule) return mod;
-  var result = {};
-  if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-  result["default"] = mod;
-  return result;
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+    result["default"] = mod;
+    return result;
 };
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
+Object.defineProperty(exports, "__esModule", { value: true });
 const React = __importStar(__webpack_require__("q1tI"));
-
 exports.DataManagerContext = React.createContext(null);
 
-/***/ }),
-
-/***/ "raTm":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var global = __webpack_require__("5T2Y");
-var $export = __webpack_require__("Y7ZC");
-var meta = __webpack_require__("6/1s");
-var fails = __webpack_require__("KUxP");
-var hide = __webpack_require__("NegM");
-var redefineAll = __webpack_require__("XJU/");
-var forOf = __webpack_require__("oioR");
-var anInstance = __webpack_require__("EXMj");
-var isObject = __webpack_require__("93I4");
-var setToStringTag = __webpack_require__("RfKB");
-var dP = __webpack_require__("2faE").f;
-var each = __webpack_require__("V7Et")(0);
-var DESCRIPTORS = __webpack_require__("jmDH");
-
-module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
-  var Base = global[NAME];
-  var C = Base;
-  var ADDER = IS_MAP ? 'set' : 'add';
-  var proto = C && C.prototype;
-  var O = {};
-  if (!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {
-    new C().entries().next();
-  }))) {
-    // create collection constructor
-    C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);
-    redefineAll(C.prototype, methods);
-    meta.NEED = true;
-  } else {
-    C = wrapper(function (target, iterable) {
-      anInstance(target, C, NAME, '_c');
-      target._c = new Base();
-      if (iterable != undefined) forOf(iterable, IS_MAP, target[ADDER], target);
-    });
-    each('add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON'.split(','), function (KEY) {
-      var IS_ADDER = KEY == 'add' || KEY == 'set';
-      if (KEY in proto && !(IS_WEAK && KEY == 'clear')) hide(C.prototype, KEY, function (a, b) {
-        anInstance(this, C, KEY);
-        if (!IS_ADDER && IS_WEAK && !isObject(a)) return KEY == 'get' ? undefined : false;
-        var result = this._c[KEY](a === 0 ? 0 : a, b);
-        return IS_ADDER ? this : result;
-      });
-    });
-    IS_WEAK || dP(C.prototype, 'size', {
-      get: function () {
-        return this._c.size;
-      }
-    });
-  }
-
-  setToStringTag(C, NAME);
-
-  O[NAME] = C;
-  $export($export.G + $export.W + $export.F, O);
-
-  if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);
-
-  return C;
-};
-
 
 /***/ }),
 
-/***/ "v6xn":
+/***/ "yLiY":
 /***/ (function(module, exports, __webpack_require__) {
 
-// 9.4.2.3 ArraySpeciesCreate(originalArray, length)
-var speciesConstructor = __webpack_require__("C2SN");
+"use strict";
 
-module.exports = function (original, length) {
-  return new (speciesConstructor(original))(length);
+Object.defineProperty(exports, "__esModule", { value: true });
+let runtimeConfig;
+exports.default = () => {
+    return runtimeConfig;
 };
+function setConfig(configValue) {
+    runtimeConfig = configValue;
+}
+exports.setConfig = setConfig;
 
 
 /***/ }),
@@ -1321,7 +679,7 @@ var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("+oT+"));
 
 var _promise = _interopRequireDefault(__webpack_require__("eVuF"));
 
-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 /* global document, window */
 
 
@@ -1568,4 +926,4 @@ exports.default = PageLoader;
 
 /***/ })
 
-},[["BMP1",0,1,2]]]);
\ No newline at end of file
+},[["BMP1",0,1,2,3]]]);
\ No newline at end of file
Diff for _app.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[4],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[5],{
 
 /***/ "B5Ud":
 /***/ (function(module, exports, __webpack_require__) {
@@ -33,7 +33,7 @@ var _react = _interopRequireDefault(__webpack_require__("q1tI"));
 
 var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 
 exports.AppInitialProps = _utils.AppInitialProps;
 
@@ -200,4 +200,4 @@ function createUrl(router) {
 
 /***/ })
 
-},[["e9+W",0,1,2,3]]]);
\ No newline at end of file
+},[["e9+W",0,1,2,3,4]]]);
\ No newline at end of file
Diff for _error.js

Diff too large to display

Diff for hooks.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[6],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[7],{
 
 /***/ "+MDD":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
Diff for index.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[7],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[8],{
 
 /***/ "RNiq":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
Diff for link.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[8],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[9],{
 
 /***/ "/h46":
 /***/ (function(module, exports, __webpack_require__) {
@@ -48,6 +48,18 @@ module.exports = function (original) {
 
 /***/ }),
 
+/***/ "EXMj":
+/***/ (function(module, exports) {
+
+module.exports = function (it, Constructor, name, forbiddenField) {
+  if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {
+    throw TypeError(name + ': incorrect invocation!');
+  } return it;
+};
+
+
+/***/ }),
+
 /***/ "LX0d":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -55,6 +67,21 @@ module.exports = __webpack_require__("UDep");
 
 /***/ }),
 
+/***/ "NwJ3":
+/***/ (function(module, exports, __webpack_require__) {
+
+// check on default Array iterator
+var Iterators = __webpack_require__("SBuE");
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var ArrayProto = Array.prototype;
+
+module.exports = function (it) {
+  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
+};
+
+
+/***/ }),
+
 /***/ "ObF3":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
@@ -82,6 +109,36 @@ aLink.getInitialProps = function () {
 
 /***/ }),
 
+/***/ "QMMT":
+/***/ (function(module, exports, __webpack_require__) {
+
+// getting tag from 19.1.3.6 Object.prototype.toString()
+var cof = __webpack_require__("a0xu");
+var TAG = __webpack_require__("UWiX")('toStringTag');
+// ES3 wrong here
+var ARG = cof(function () { return arguments; }()) == 'Arguments';
+
+// fallback for IE11 Script Access Denied error
+var tryGet = function (it, key) {
+  try {
+    return it[key];
+  } catch (e) { /* empty */ }
+};
+
+module.exports = function (it) {
+  var O, T, B;
+  return it === undefined ? 'Undefined' : it === null ? 'Null'
+    // @@toStringTag case
+    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T
+    // builtinTag case
+    : ARG ? cof(O)
+    // ES3 arguments fallback
+    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
+};
+
+
+/***/ }),
+
 /***/ "RRc/":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -96,6 +153,28 @@ module.exports = function (iter, ITERATOR) {
 
 /***/ }),
 
+/***/ "TJWN":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var global = __webpack_require__("5T2Y");
+var core = __webpack_require__("WEpk");
+var dP = __webpack_require__("2faE");
+var DESCRIPTORS = __webpack_require__("jmDH");
+var SPECIES = __webpack_require__("UWiX")('species');
+
+module.exports = function (KEY) {
+  var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];
+  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {
+    configurable: true,
+    get: function () { return this; }
+  });
+};
+
+
+/***/ }),
+
 /***/ "UDep":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -327,6 +406,20 @@ module.exports = {
 
 /***/ }),
 
+/***/ "XJU/":
+/***/ (function(module, exports, __webpack_require__) {
+
+var hide = __webpack_require__("NegM");
+module.exports = function (target, src, safe) {
+  for (var key in src) {
+    if (safe && target[key]) target[key] = src[key];
+    else hide(target, key, src[key]);
+  } return target;
+};
+
+
+/***/ }),
+
 /***/ "XLbu":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -435,9 +528,9 @@ var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
 var _router = _interopRequireDefault(__webpack_require__("nOHt"));
 
-var _rewriteUrlForExport = __webpack_require__("KA3u");
+var _rewriteUrlForExport = __webpack_require__("P5f7");
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 /* global __NEXT_DATA__ */
 
 
@@ -704,6 +797,21 @@ __webpack_require__("aPfg")('Map');
 
 /***/ }),
 
+/***/ "fNZA":
+/***/ (function(module, exports, __webpack_require__) {
+
+var classof = __webpack_require__("QMMT");
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var Iterators = __webpack_require__("SBuE");
+module.exports = __webpack_require__("WEpk").getIteratorMethod = function (it) {
+  if (it != undefined) return it[ITERATOR]
+    || it['@@iterator']
+    || Iterators[classof(it)];
+};
+
+
+/***/ }),
+
 /***/ "g33z":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -743,6 +851,38 @@ module.exports = function (it, TYPE) {
 
 /***/ }),
 
+/***/ "oioR":
+/***/ (function(module, exports, __webpack_require__) {
+
+var ctx = __webpack_require__("2GTP");
+var call = __webpack_require__("sNwI");
+var isArrayIter = __webpack_require__("NwJ3");
+var anObject = __webpack_require__("5K7Z");
+var toLength = __webpack_require__("tEej");
+var getIterFn = __webpack_require__("fNZA");
+var BREAK = {};
+var RETURN = {};
+var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {
+  var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);
+  var f = ctx(fn, that, entries ? 2 : 1);
+  var index = 0;
+  var length, step, iterator, result;
+  if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');
+  // fast case for arrays with default iterator
+  if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {
+    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
+    if (result === BREAK || result === RETURN) return result;
+  } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {
+    result = call(iterator, f, step.value, entries);
+    if (result === BREAK || result === RETURN) return result;
+  }
+};
+exports.BREAK = BREAK;
+exports.RETURN = RETURN;
+
+
+/***/ }),
+
 /***/ "raTm":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -810,6 +950,25 @@ module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
 
 /***/ }),
 
+/***/ "sNwI":
+/***/ (function(module, exports, __webpack_require__) {
+
+// call something on iterator step with safe closing on error
+var anObject = __webpack_require__("5K7Z");
+module.exports = function (iterator, fn, value, entries) {
+  try {
+    return entries ? fn(anObject(value)[0], value[1]) : fn(value);
+  // 7.4.6 IteratorClose(iterator, completion)
+  } catch (e) {
+    var ret = iterator['return'];
+    if (ret !== undefined) anObject(ret.call(iterator));
+    throw e;
+  }
+};
+
+
+/***/ }),
+
 /***/ "v6xn":
 /***/ (function(module, exports, __webpack_require__) {
Diff for routerDirect.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[9],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[10],{
 
 /***/ "LtRI":
 /***/ (function(module, exports, __webpack_require__) {
Diff for withRouter.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[10],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[11],{
 
 /***/ "0Hlz":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
Diff for _app.module.js
@@ -1,49 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[3],{
-
-/***/ "+oT+":
-/***/ (function(module, exports, __webpack_require__) {
-
-var _Promise = __webpack_require__("eVuF");
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
-  try {
-    var info = gen[key](arg);
-    var value = info.value;
-  } catch (error) {
-    reject(error);
-    return;
-  }
-
-  if (info.done) {
-    resolve(value);
-  } else {
-    _Promise.resolve(value).then(_next, _throw);
-  }
-}
-
-function _asyncToGenerator(fn) {
-  return function () {
-    var self = this,
-        args = arguments;
-    return new _Promise(function (resolve, reject) {
-      var gen = fn.apply(self, args);
-
-      function _next(value) {
-        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
-      }
-
-      function _throw(err) {
-        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
-      }
-
-      _next(undefined);
-    });
-  };
-}
-
-module.exports = _asyncToGenerator;
-
-/***/ }),
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[4],{
 
 /***/ "B5Ud":
 /***/ (function(module, exports, __webpack_require__) {
@@ -66,7 +21,7 @@ var _react = _interopRequireDefault(__webpack_require__("q1tI"));
 
 var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 
 exports.AppInitialProps = _utils.AppInitialProps;
 
@@ -205,4 +160,4 @@ function createUrl(router) {
 
 /***/ })
 
-},[["e9+W",0,1,2]]]);
\ No newline at end of file
+},[["e9+W",0,1,2,3]]]);
\ No newline at end of file
Diff for _error.module.js

Diff too large to display

Diff for hooks.module.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[5],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[6],{
 
 /***/ "+MDD":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
Diff for index.module.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[6],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[7],{
 
 /***/ "RNiq":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
Diff for link.module.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[7],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[8],{
 
 /***/ "/h46":
 /***/ (function(module, exports, __webpack_require__) {
@@ -108,6 +108,43 @@ module.exports = function (original) {
 
 /***/ }),
 
+/***/ "EXMj":
+/***/ (function(module, exports) {
+
+module.exports = function (it, Constructor, name, forbiddenField) {
+  if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {
+    throw TypeError(name + ': incorrect invocation!');
+  } return it;
+};
+
+
+/***/ }),
+
+/***/ "FlQf":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var $at = __webpack_require__("ccE7")(true);
+
+// 21.1.3.27 String.prototype[@@iterator]()
+__webpack_require__("MPFp")(String, 'String', function (iterated) {
+  this._t = String(iterated); // target
+  this._i = 0;                // next index
+// 21.1.5.2.1 %StringIteratorPrototype%.next()
+}, function () {
+  var O = this._t;
+  var index = this._i;
+  var point;
+  if (index >= O.length) return { value: undefined, done: true };
+  point = $at(O, index);
+  this._i += point.length;
+  return { value: point, done: false };
+});
+
+
+/***/ }),
+
 /***/ "LX0d":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -115,6 +152,107 @@ module.exports = __webpack_require__("UDep");
 
 /***/ }),
 
+/***/ "MPFp":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var LIBRARY = __webpack_require__("uOPS");
+var $export = __webpack_require__("Y7ZC");
+var redefine = __webpack_require__("kTiW");
+var hide = __webpack_require__("NegM");
+var Iterators = __webpack_require__("SBuE");
+var $iterCreate = __webpack_require__("j2DC");
+var setToStringTag = __webpack_require__("RfKB");
+var getPrototypeOf = __webpack_require__("U+KD");
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`
+var FF_ITERATOR = '@@iterator';
+var KEYS = 'keys';
+var VALUES = 'values';
+
+var returnThis = function () { return this; };
+
+module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {
+  $iterCreate(Constructor, NAME, next);
+  var getMethod = function (kind) {
+    if (!BUGGY && kind in proto) return proto[kind];
+    switch (kind) {
+      case KEYS: return function keys() { return new Constructor(this, kind); };
+      case VALUES: return function values() { return new Constructor(this, kind); };
+    } return function entries() { return new Constructor(this, kind); };
+  };
+  var TAG = NAME + ' Iterator';
+  var DEF_VALUES = DEFAULT == VALUES;
+  var VALUES_BUG = false;
+  var proto = Base.prototype;
+  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];
+  var $default = $native || getMethod(DEFAULT);
+  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;
+  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;
+  var methods, key, IteratorPrototype;
+  // Fix native
+  if ($anyNative) {
+    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));
+    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {
+      // Set @@toStringTag to native iterators
+      setToStringTag(IteratorPrototype, TAG, true);
+      // fix for some old engines
+      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);
+    }
+  }
+  // fix Array#{values, @@iterator}.name in V8 / FF
+  if (DEF_VALUES && $native && $native.name !== VALUES) {
+    VALUES_BUG = true;
+    $default = function values() { return $native.call(this); };
+  }
+  // Define iterator
+  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {
+    hide(proto, ITERATOR, $default);
+  }
+  // Plug for library
+  Iterators[NAME] = $default;
+  Iterators[TAG] = returnThis;
+  if (DEFAULT) {
+    methods = {
+      values: DEF_VALUES ? $default : getMethod(VALUES),
+      keys: IS_SET ? $default : getMethod(KEYS),
+      entries: $entries
+    };
+    if (FORCED) for (key in methods) {
+      if (!(key in proto)) redefine(proto, key, methods[key]);
+    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
+  }
+  return methods;
+};
+
+
+/***/ }),
+
+/***/ "MvwC":
+/***/ (function(module, exports, __webpack_require__) {
+
+var document = __webpack_require__("5T2Y").document;
+module.exports = document && document.documentElement;
+
+
+/***/ }),
+
+/***/ "NwJ3":
+/***/ (function(module, exports, __webpack_require__) {
+
+// check on default Array iterator
+var Iterators = __webpack_require__("SBuE");
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var ArrayProto = Array.prototype;
+
+module.exports = function (it) {
+  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
+};
+
+
+/***/ }),
+
 /***/ "ObF3":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
@@ -140,6 +278,36 @@ aLink.getInitialProps = () => ({});
 
 /***/ }),
 
+/***/ "QMMT":
+/***/ (function(module, exports, __webpack_require__) {
+
+// getting tag from 19.1.3.6 Object.prototype.toString()
+var cof = __webpack_require__("a0xu");
+var TAG = __webpack_require__("UWiX")('toStringTag');
+// ES3 wrong here
+var ARG = cof(function () { return arguments; }()) == 'Arguments';
+
+// fallback for IE11 Script Access Denied error
+var tryGet = function (it, key) {
+  try {
+    return it[key];
+  } catch (e) { /* empty */ }
+};
+
+module.exports = function (it) {
+  var O, T, B;
+  return it === undefined ? 'Undefined' : it === null ? 'Null'
+    // @@toStringTag case
+    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T
+    // builtinTag case
+    : ARG ? cof(O)
+    // ES3 arguments fallback
+    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
+};
+
+
+/***/ }),
+
 /***/ "RRc/":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -154,6 +322,70 @@ module.exports = function (iter, ITERATOR) {
 
 /***/ }),
 
+/***/ "RfKB":
+/***/ (function(module, exports, __webpack_require__) {
+
+var def = __webpack_require__("2faE").f;
+var has = __webpack_require__("B+OT");
+var TAG = __webpack_require__("UWiX")('toStringTag');
+
+module.exports = function (it, tag, stat) {
+  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });
+};
+
+
+/***/ }),
+
+/***/ "SBuE":
+/***/ (function(module, exports) {
+
+module.exports = {};
+
+
+/***/ }),
+
+/***/ "TJWN":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var global = __webpack_require__("5T2Y");
+var core = __webpack_require__("WEpk");
+var dP = __webpack_require__("2faE");
+var DESCRIPTORS = __webpack_require__("jmDH");
+var SPECIES = __webpack_require__("UWiX")('species');
+
+module.exports = function (KEY) {
+  var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];
+  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {
+    configurable: true,
+    get: function () { return this; }
+  });
+};
+
+
+/***/ }),
+
+/***/ "U+KD":
+/***/ (function(module, exports, __webpack_require__) {
+
+// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
+var has = __webpack_require__("B+OT");
+var toObject = __webpack_require__("JB68");
+var IE_PROTO = __webpack_require__("VVlx")('IE_PROTO');
+var ObjectProto = Object.prototype;
+
+module.exports = Object.getPrototypeOf || function (O) {
+  O = toObject(O);
+  if (has(O, IE_PROTO)) return O[IE_PROTO];
+  if (typeof O.constructor == 'function' && O instanceof O.constructor) {
+    return O.constructor.prototype;
+  } return O instanceof Object ? ObjectProto : null;
+};
+
+
+/***/ }),
+
 /***/ "UDep":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -169,6 +401,34 @@ module.exports = __webpack_require__("WEpk").Map;
 
 /***/ }),
 
+/***/ "UO39":
+/***/ (function(module, exports) {
+
+module.exports = function (done, value) {
+  return { value: value, done: !!done };
+};
+
+
+/***/ }),
+
+/***/ "UWiX":
+/***/ (function(module, exports, __webpack_require__) {
+
+var store = __webpack_require__("29s/")('wks');
+var uid = __webpack_require__("YqAc");
+var Symbol = __webpack_require__("5T2Y").Symbol;
+var USE_SYMBOL = typeof Symbol == 'function';
+
+var $exports = module.exports = function (name) {
+  return store[name] || (store[name] =
+    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));
+};
+
+$exports.store = store;
+
+
+/***/ }),
+
 /***/ "V7Et":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -385,6 +645,20 @@ module.exports = {
 
 /***/ }),
 
+/***/ "XJU/":
+/***/ (function(module, exports, __webpack_require__) {
+
+var hide = __webpack_require__("NegM");
+module.exports = function (target, src, safe) {
+  for (var key in src) {
+    if (safe && target[key]) target[key] = src[key];
+    else hide(target, key, src[key]);
+  } return target;
+};
+
+
+/***/ }),
+
 /***/ "XLbu":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -440,6 +714,32 @@ module.exports = function (COLLECTION) {
 
 /***/ }),
 
+/***/ "bBy9":
+/***/ (function(module, exports, __webpack_require__) {
+
+__webpack_require__("w2d+");
+var global = __webpack_require__("5T2Y");
+var hide = __webpack_require__("NegM");
+var Iterators = __webpack_require__("SBuE");
+var TO_STRING_TAG = __webpack_require__("UWiX")('toStringTag');
+
+var DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +
+  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +
+  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +
+  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +
+  'TextTrackList,TouchList').split(',');
+
+for (var i = 0; i < DOMIterables.length; i++) {
+  var NAME = DOMIterables[i];
+  var Collection = global[NAME];
+  var proto = Collection && Collection.prototype;
+  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);
+  Iterators[NAME] = Iterators.Array;
+}
+
+
+/***/ }),
+
 /***/ "cHUd":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -483,9 +783,9 @@ var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
 var _router = _interopRequireDefault(__webpack_require__("nOHt"));
 
-var _rewriteUrlForExport = __webpack_require__("KA3u");
+var _rewriteUrlForExport = __webpack_require__("P5f7");
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 /* global __NEXT_DATA__ */
 
 
@@ -731,6 +1031,30 @@ exports.default = _default;
 
 /***/ }),
 
+/***/ "ccE7":
+/***/ (function(module, exports, __webpack_require__) {
+
+var toInteger = __webpack_require__("Ojgd");
+var defined = __webpack_require__("Jes0");
+// true  -> String#at
+// false -> String#codePointAt
+module.exports = function (TO_STRING) {
+  return function (that, pos) {
+    var s = String(defined(that));
+    var i = toInteger(pos);
+    var l = s.length;
+    var a, b;
+    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;
+    a = s.charCodeAt(i);
+    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff
+      ? TO_STRING ? s.charAt(i) : a
+      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
+  };
+};
+
+
+/***/ }),
+
 /***/ "dVTT":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -740,6 +1064,41 @@ __webpack_require__("aPfg")('Map');
 
 /***/ }),
 
+/***/ "fNZA":
+/***/ (function(module, exports, __webpack_require__) {
+
+var classof = __webpack_require__("QMMT");
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var Iterators = __webpack_require__("SBuE");
+module.exports = __webpack_require__("WEpk").getIteratorMethod = function (it) {
+  if (it != undefined) return it[ITERATOR]
+    || it['@@iterator']
+    || Iterators[classof(it)];
+};
+
+
+/***/ }),
+
+/***/ "fpC5":
+/***/ (function(module, exports, __webpack_require__) {
+
+var dP = __webpack_require__("2faE");
+var anObject = __webpack_require__("5K7Z");
+var getKeys = __webpack_require__("w6GO");
+
+module.exports = __webpack_require__("jmDH") ? Object.defineProperties : function defineProperties(O, Properties) {
+  anObject(O);
+  var keys = getKeys(Properties);
+  var length = keys.length;
+  var i = 0;
+  var P;
+  while (length > i) dP.f(O, P = keys[i++], Properties[P]);
+  return O;
+};
+
+
+/***/ }),
+
 /***/ "g33z":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -767,6 +1126,35 @@ module.exports = __webpack_require__("raTm")(MAP, function (get) {
 
 /***/ }),
 
+/***/ "hDam":
+/***/ (function(module, exports) {
+
+module.exports = function () { /* empty */ };
+
+
+/***/ }),
+
+/***/ "j2DC":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var create = __webpack_require__("oVml");
+var descriptor = __webpack_require__("rr1i");
+var setToStringTag = __webpack_require__("RfKB");
+var IteratorPrototype = {};
+
+// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
+__webpack_require__("NegM")(IteratorPrototype, __webpack_require__("UWiX")('iterator'), function () { return this; });
+
+module.exports = function (Constructor, NAME, next) {
+  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });
+  setToStringTag(Constructor, NAME + ' Iterator');
+};
+
+
+/***/ }),
+
 /***/ "kAMH":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -779,6 +1167,14 @@ module.exports = Array.isArray || function isArray(arg) {
 
 /***/ }),
 
+/***/ "kTiW":
+/***/ (function(module, exports, __webpack_require__) {
+
+module.exports = __webpack_require__("NegM");
+
+
+/***/ }),
+
 /***/ "n3ko":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -791,6 +1187,86 @@ module.exports = function (it, TYPE) {
 
 /***/ }),
 
+/***/ "oVml":
+/***/ (function(module, exports, __webpack_require__) {
+
+// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
+var anObject = __webpack_require__("5K7Z");
+var dPs = __webpack_require__("fpC5");
+var enumBugKeys = __webpack_require__("FpHa");
+var IE_PROTO = __webpack_require__("VVlx")('IE_PROTO');
+var Empty = function () { /* empty */ };
+var PROTOTYPE = 'prototype';
+
+// Create object with fake `null` prototype: use iframe Object with cleared prototype
+var createDict = function () {
+  // Thrash, waste and sodomy: IE GC bug
+  var iframe = __webpack_require__("Hsns")('iframe');
+  var i = enumBugKeys.length;
+  var lt = '<';
+  var gt = '>';
+  var iframeDocument;
+  iframe.style.display = 'none';
+  __webpack_require__("MvwC").appendChild(iframe);
+  iframe.src = 'javascript:'; // eslint-disable-line no-script-url
+  // createDict = iframe.contentWindow.Object;
+  // html.removeChild(iframe);
+  iframeDocument = iframe.contentWindow.document;
+  iframeDocument.open();
+  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);
+  iframeDocument.close();
+  createDict = iframeDocument.F;
+  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];
+  return createDict();
+};
+
+module.exports = Object.create || function create(O, Properties) {
+  var result;
+  if (O !== null) {
+    Empty[PROTOTYPE] = anObject(O);
+    result = new Empty();
+    Empty[PROTOTYPE] = null;
+    // add "__proto__" for Object.getPrototypeOf polyfill
+    result[IE_PROTO] = O;
+  } else result = createDict();
+  return Properties === undefined ? result : dPs(result, Properties);
+};
+
+
+/***/ }),
+
+/***/ "oioR":
+/***/ (function(module, exports, __webpack_require__) {
+
+var ctx = __webpack_require__("2GTP");
+var call = __webpack_require__("sNwI");
+var isArrayIter = __webpack_require__("NwJ3");
+var anObject = __webpack_require__("5K7Z");
+var toLength = __webpack_require__("tEej");
+var getIterFn = __webpack_require__("fNZA");
+var BREAK = {};
+var RETURN = {};
+var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {
+  var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);
+  var f = ctx(fn, that, entries ? 2 : 1);
+  var index = 0;
+  var length, step, iterator, result;
+  if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');
+  // fast case for arrays with default iterator
+  if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {
+    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
+    if (result === BREAK || result === RETURN) return result;
+  } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {
+    result = call(iterator, f, step.value, entries);
+    if (result === BREAK || result === RETURN) return result;
+  }
+};
+exports.BREAK = BREAK;
+exports.RETURN = RETURN;
+
+
+/***/ }),
+
 /***/ "raTm":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -858,6 +1334,25 @@ module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
 
 /***/ }),
 
+/***/ "sNwI":
+/***/ (function(module, exports, __webpack_require__) {
+
+// call something on iterator step with safe closing on error
+var anObject = __webpack_require__("5K7Z");
+module.exports = function (iterator, fn, value, entries) {
+  try {
+    return entries ? fn(anObject(value)[0], value[1]) : fn(value);
+  // 7.4.6 IteratorClose(iterator, completion)
+  } catch (e) {
+    var ret = iterator['return'];
+    if (ret !== undefined) anObject(ret.call(iterator));
+    throw e;
+  }
+};
+
+
+/***/ }),
+
 /***/ "v6xn":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -869,6 +1364,55 @@ module.exports = function (original, length) {
 };
 
 
+/***/ }),
+
+/***/ "w2d+":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var addToUnscopables = __webpack_require__("hDam");
+var step = __webpack_require__("UO39");
+var Iterators = __webpack_require__("SBuE");
+var toIObject = __webpack_require__("NsO/");
+
+// 22.1.3.4 Array.prototype.entries()
+// 22.1.3.13 Array.prototype.keys()
+// 22.1.3.29 Array.prototype.values()
+// 22.1.3.30 Array.prototype[@@iterator]()
+module.exports = __webpack_require__("MPFp")(Array, 'Array', function (iterated, kind) {
+  this._t = toIObject(iterated); // target
+  this._i = 0;                   // next index
+  this._k = kind;                // kind
+// 22.1.5.2.1 %ArrayIteratorPrototype%.next()
+}, function () {
+  var O = this._t;
+  var kind = this._k;
+  var index = this._i++;
+  if (!O || index >= O.length) {
+    this._t = undefined;
+    return step(1);
+  }
+  if (kind == 'keys') return step(0, index);
+  if (kind == 'values') return step(0, O[index]);
+  return step(0, [index, O[index]]);
+}, 'values');
+
+// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
+Iterators.Arguments = Iterators.Array;
+
+addToUnscopables('keys');
+addToUnscopables('values');
+addToUnscopables('entries');
+
+
+/***/ }),
+
+/***/ "wgeU":
+/***/ (function(module, exports) {
+
+
+
 /***/ })
 
 },[["V8Sf",0,1,2]]]);
\ No newline at end of file
Diff for routerDirect.module.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[8],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[9],{
 
 /***/ "LtRI":
 /***/ (function(module, exports, __webpack_require__) {
Diff for withRouter.module.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[9],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[10],{
 
 /***/ "0Hlz":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
Diff for index.html
@@ -6,19 +6,21 @@
         <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"
         />
         <meta name="next-head-count" content="2" />
-        <link rel="preload" href="/_next/static/hLaYeDGcfQxZKZfvglpQ1/pages/index.module.js"
+        <link rel="preload" href="/_next/static/Ezy_m4Q4r8r09AFw-XBiq/pages/index.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/hLaYeDGcfQxZKZfvglpQ1/pages/_app.module.js"
+        <link rel="preload" href="/_next/static/Ezy_m4Q4r8r09AFw-XBiq/pages/_app.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-ea228487a429f03c22be.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-2db0ada4beb83ccb90d3.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/782a90c53957ea3769e4717aae4509dbf94c88cc.c659a74b6088e6ac1abe.module.js"
+        <link rel="preload" href="/_next/static/chunks/DT2ZUkjN7LJQVEGeUmxYLaz6ZZ4=.4d964fd8388c4017eabc.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/hLaYeDGcfQxZKZfvglpQ1/_buildManifest.module.js"
+        <link rel="preload" href="/_next/static/chunks/pUIHvH+jKlSzXCzZLcZuBolMgc=.3f4abea1185a064f32e0.module.js"
+        as="script" crossorigin="anonymous" />
+        <link rel="preload" href="/_next/static/Ezy_m4Q4r8r09AFw-XBiq/_buildManifest.module.js"
         as="script" crossorigin="anonymous" />
     </head>
     
@@ -26,40 +28,44 @@
         <div id="__next">Hello world 👋</div>
         <script id="__NEXT_DATA__" type="application/json"
         crossorigin="anonymous">
-            {"dataManager":"[]","props":{"pageProps":{}},"page":"/","query":{},"buildId":"hLaYeDGcfQxZKZfvglpQ1"}
+            {"dataManager":"[]","props":{"pageProps":{}},"page":"/","query":{},"buildId":"Ezy_m4Q4r8r09AFw-XBiq"}
         </script>
         <script crossorigin="anonymous" nomodule="">
             !function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();
         </script>
-        <script async="" data-next-page="/" src="/_next/static/hLaYeDGcfQxZKZfvglpQ1/pages/index.js"
+        <script async="" data-next-page="/" src="/_next/static/Ezy_m4Q4r8r09AFw-XBiq/pages/index.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/" src="/_next/static/hLaYeDGcfQxZKZfvglpQ1/pages/index.module.js"
+        <script async="" data-next-page="/" src="/_next/static/Ezy_m4Q4r8r09AFw-XBiq/pages/index.module.js"
         crossorigin="anonymous" type="module"></script>
-        <script async="" data-next-page="/_app" src="/_next/static/hLaYeDGcfQxZKZfvglpQ1/pages/_app.js"
+        <script async="" data-next-page="/_app" src="/_next/static/Ezy_m4Q4r8r09AFw-XBiq/pages/_app.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/_app" src="/_next/static/hLaYeDGcfQxZKZfvglpQ1/pages/_app.module.js"
+        <script async="" data-next-page="/_app" src="/_next/static/Ezy_m4Q4r8r09AFw-XBiq/pages/_app.module.js"
         crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/runtime/webpack-a470c2a25bcb4d5a8ec0.js"
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-a1e3a940d5bb499fc0c7.js"
+        <script src="/_next/static/runtime/main-a188ebd08a5f20653f30.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-ea228487a429f03c22be.module.js"
+        <script src="/_next/static/runtime/main-2db0ada4beb83ccb90d3.module.js"
         async="" crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.js"
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/c28b5b30defb984c319a3e825de9742370bd4dd7.155621535702fe040780.js"
+        <script src="/_next/static/chunks/0sjmYNb1gxafkmEN6O3KFqBtJM=.51a842c47a941d029b87.js"
+        async="" crossorigin="anonymous" nomodule=""></script>
+        <script src="/_next/static/chunks/DT2ZUkjN7LJQVEGeUmxYLaz6ZZ4=.8ec578cd8cb4c871a95f.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/782a90c53957ea3769e4717aae4509dbf94c88cc.f6f7599a2edf91d8366a.js"
+        <script src="/_next/static/chunks/DT2ZUkjN7LJQVEGeUmxYLaz6ZZ4=.4d964fd8388c4017eabc.module.js"
+        async="" crossorigin="anonymous" type="module"></script>
+        <script src="/_next/static/chunks/pUIHvH+jKlSzXCzZLcZuBolMgc=.883a35a4990b7a95e5bc.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/782a90c53957ea3769e4717aae4509dbf94c88cc.c659a74b6088e6ac1abe.module.js"
+        <script src="/_next/static/chunks/pUIHvH+jKlSzXCzZLcZuBolMgc=.3f4abea1185a064f32e0.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/hLaYeDGcfQxZKZfvglpQ1/_buildManifest.js"
+        <script src="/_next/static/Ezy_m4Q4r8r09AFw-XBiq/_buildManifest.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/hLaYeDGcfQxZKZfvglpQ1/_buildManifest.module.js"
+        <script src="/_next/static/Ezy_m4Q4r8r09AFw-XBiq/_buildManifest.module.js"
         async="" crossorigin="anonymous" type="module"></script>
     </body>
Diff for link.html
@@ -6,19 +6,21 @@
         <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"
         />
         <meta name="next-head-count" content="2" />
-        <link rel="preload" href="/_next/static/hLaYeDGcfQxZKZfvglpQ1/pages/link.module.js"
+        <link rel="preload" href="/_next/static/Ezy_m4Q4r8r09AFw-XBiq/pages/link.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/hLaYeDGcfQxZKZfvglpQ1/pages/_app.module.js"
+        <link rel="preload" href="/_next/static/Ezy_m4Q4r8r09AFw-XBiq/pages/_app.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/782a90c53957ea3769e4717aae4509dbf94c88cc.c659a74b6088e6ac1abe.module.js"
+        <link rel="preload" href="/_next/static/chunks/DT2ZUkjN7LJQVEGeUmxYLaz6ZZ4=.4d964fd8388c4017eabc.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-ea228487a429f03c22be.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-2db0ada4beb83ccb90d3.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/hLaYeDGcfQxZKZfvglpQ1/_buildManifest.module.js"
+        <link rel="preload" href="/_next/static/chunks/pUIHvH+jKlSzXCzZLcZuBolMgc=.3f4abea1185a064f32e0.module.js"
+        as="script" crossorigin="anonymous" />
+        <link rel="preload" href="/_next/static/Ezy_m4Q4r8r09AFw-XBiq/_buildManifest.module.js"
         as="script" crossorigin="anonymous" />
     </head>
     
@@ -29,18 +31,18 @@
             </div>
         </div>
         <script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">
-            {"dataManager":"[]","props":{"pageProps":{}},"page":"/link","query":{},"buildId":"hLaYeDGcfQxZKZfvglpQ1"}
+            {"dataManager":"[]","props":{"pageProps":{}},"page":"/link","query":{},"buildId":"Ezy_m4Q4r8r09AFw-XBiq"}
         </script>
         <script crossorigin="anonymous" nomodule="">
             !function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();
         </script>
-        <script async="" data-next-page="/link" src="/_next/static/hLaYeDGcfQxZKZfvglpQ1/pages/link.js"
+        <script async="" data-next-page="/link" src="/_next/static/Ezy_m4Q4r8r09AFw-XBiq/pages/link.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/link" src="/_next/static/hLaYeDGcfQxZKZfvglpQ1/pages/link.module.js"
+        <script async="" data-next-page="/link" src="/_next/static/Ezy_m4Q4r8r09AFw-XBiq/pages/link.module.js"
         crossorigin="anonymous" type="module"></script>
-        <script async="" data-next-page="/_app" src="/_next/static/hLaYeDGcfQxZKZfvglpQ1/pages/_app.js"
+        <script async="" data-next-page="/_app" src="/_next/static/Ezy_m4Q4r8r09AFw-XBiq/pages/_app.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/_app" src="/_next/static/hLaYeDGcfQxZKZfvglpQ1/pages/_app.module.js"
+        <script async="" data-next-page="/_app" src="/_next/static/Ezy_m4Q4r8r09AFw-XBiq/pages/_app.module.js"
         crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/runtime/webpack-a470c2a25bcb4d5a8ec0.js"
         async="" crossorigin="anonymous" nomodule=""></script>
@@ -50,19 +52,23 @@
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/c28b5b30defb984c319a3e825de9742370bd4dd7.155621535702fe040780.js"
+        <script src="/_next/static/chunks/0sjmYNb1gxafkmEN6O3KFqBtJM=.51a842c47a941d029b87.js"
+        async="" crossorigin="anonymous" nomodule=""></script>
+        <script src="/_next/static/chunks/DT2ZUkjN7LJQVEGeUmxYLaz6ZZ4=.8ec578cd8cb4c871a95f.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/782a90c53957ea3769e4717aae4509dbf94c88cc.f6f7599a2edf91d8366a.js"
+        <script src="/_next/static/chunks/DT2ZUkjN7LJQVEGeUmxYLaz6ZZ4=.4d964fd8388c4017eabc.module.js"
+        async="" crossorigin="anonymous" type="module"></script>
+        <script src="/_next/static/runtime/main-a188ebd08a5f20653f30.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/782a90c53957ea3769e4717aae4509dbf94c88cc.c659a74b6088e6ac1abe.module.js"
+        <script src="/_next/static/runtime/main-2db0ada4beb83ccb90d3.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-a1e3a940d5bb499fc0c7.js"
+        <script src="/_next/static/chunks/pUIHvH+jKlSzXCzZLcZuBolMgc=.883a35a4990b7a95e5bc.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-ea228487a429f03c22be.module.js"
+        <script src="/_next/static/chunks/pUIHvH+jKlSzXCzZLcZuBolMgc=.3f4abea1185a064f32e0.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/hLaYeDGcfQxZKZfvglpQ1/_buildManifest.js"
+        <script src="/_next/static/Ezy_m4Q4r8r09AFw-XBiq/_buildManifest.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/hLaYeDGcfQxZKZfvglpQ1/_buildManifest.module.js"
+        <script src="/_next/static/Ezy_m4Q4r8r09AFw-XBiq/_buildManifest.module.js"
         async="" crossorigin="anonymous" type="module"></script>
     </body>
Diff for withRouter.html
@@ -6,19 +6,21 @@
         <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"
         />
         <meta name="next-head-count" content="2" />
-        <link rel="preload" href="/_next/static/hLaYeDGcfQxZKZfvglpQ1/pages/withRouter.module.js"
+        <link rel="preload" href="/_next/static/Ezy_m4Q4r8r09AFw-XBiq/pages/withRouter.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/hLaYeDGcfQxZKZfvglpQ1/pages/_app.module.js"
+        <link rel="preload" href="/_next/static/Ezy_m4Q4r8r09AFw-XBiq/pages/_app.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/782a90c53957ea3769e4717aae4509dbf94c88cc.c659a74b6088e6ac1abe.module.js"
+        <link rel="preload" href="/_next/static/chunks/DT2ZUkjN7LJQVEGeUmxYLaz6ZZ4=.4d964fd8388c4017eabc.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-ea228487a429f03c22be.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-2db0ada4beb83ccb90d3.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/hLaYeDGcfQxZKZfvglpQ1/_buildManifest.module.js"
+        <link rel="preload" href="/_next/static/chunks/pUIHvH+jKlSzXCzZLcZuBolMgc=.3f4abea1185a064f32e0.module.js"
+        as="script" crossorigin="anonymous" />
+        <link rel="preload" href="/_next/static/Ezy_m4Q4r8r09AFw-XBiq/_buildManifest.module.js"
         as="script" crossorigin="anonymous" />
     </head>
     
@@ -27,18 +29,18 @@
             <div>I use withRouter</div>
         </div>
         <script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">
-            {"dataManager":"[]","props":{"pageProps":{}},"page":"/withRouter","query":{},"buildId":"hLaYeDGcfQxZKZfvglpQ1"}
+            {"dataManager":"[]","props":{"pageProps":{}},"page":"/withRouter","query":{},"buildId":"Ezy_m4Q4r8r09AFw-XBiq"}
         </script>
         <script crossorigin="anonymous" nomodule="">
             !function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();
         </script>
-        <script async="" data-next-page="/withRouter" src="/_next/static/hLaYeDGcfQxZKZfvglpQ1/pages/withRouter.js"
+        <script async="" data-next-page="/withRouter" src="/_next/static/Ezy_m4Q4r8r09AFw-XBiq/pages/withRouter.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/withRouter" src="/_next/static/hLaYeDGcfQxZKZfvglpQ1/pages/withRouter.module.js"
+        <script async="" data-next-page="/withRouter" src="/_next/static/Ezy_m4Q4r8r09AFw-XBiq/pages/withRouter.module.js"
         crossorigin="anonymous" type="module"></script>
-        <script async="" data-next-page="/_app" src="/_next/static/hLaYeDGcfQxZKZfvglpQ1/pages/_app.js"
+        <script async="" data-next-page="/_app" src="/_next/static/Ezy_m4Q4r8r09AFw-XBiq/pages/_app.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/_app" src="/_next/static/hLaYeDGcfQxZKZfvglpQ1/pages/_app.module.js"
+        <script async="" data-next-page="/_app" src="/_next/static/Ezy_m4Q4r8r09AFw-XBiq/pages/_app.module.js"
         crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/runtime/webpack-a470c2a25bcb4d5a8ec0.js"
         async="" crossorigin="anonymous" nomodule=""></script>
@@ -48,19 +50,23 @@
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/c28b5b30defb984c319a3e825de9742370bd4dd7.155621535702fe040780.js"
+        <script src="/_next/static/chunks/0sjmYNb1gxafkmEN6O3KFqBtJM=.51a842c47a941d029b87.js"
+        async="" crossorigin="anonymous" nomodule=""></script>
+        <script src="/_next/static/chunks/DT2ZUkjN7LJQVEGeUmxYLaz6ZZ4=.8ec578cd8cb4c871a95f.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/782a90c53957ea3769e4717aae4509dbf94c88cc.f6f7599a2edf91d8366a.js"
+        <script src="/_next/static/chunks/DT2ZUkjN7LJQVEGeUmxYLaz6ZZ4=.4d964fd8388c4017eabc.module.js"
+        async="" crossorigin="anonymous" type="module"></script>
+        <script src="/_next/static/runtime/main-a188ebd08a5f20653f30.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/782a90c53957ea3769e4717aae4509dbf94c88cc.c659a74b6088e6ac1abe.module.js"
+        <script src="/_next/static/runtime/main-2db0ada4beb83ccb90d3.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-a1e3a940d5bb499fc0c7.js"
+        <script src="/_next/static/chunks/pUIHvH+jKlSzXCzZLcZuBolMgc=.883a35a4990b7a95e5bc.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-ea228487a429f03c22be.module.js"
+        <script src="/_next/static/chunks/pUIHvH+jKlSzXCzZLcZuBolMgc=.3f4abea1185a064f32e0.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/hLaYeDGcfQxZKZfvglpQ1/_buildManifest.js"
+        <script src="/_next/static/Ezy_m4Q4r8r09AFw-XBiq/_buildManifest.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/hLaYeDGcfQxZKZfvglpQ1/_buildManifest.module.js"
+        <script src="/_next/static/Ezy_m4Q4r8r09AFw-XBiq/_buildManifest.module.js"
         async="" crossorigin="anonymous" type="module"></script>
     </body>

Serverless Mode (Increase detected ⚠️)
General Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
buildDuration 23.8s 21s -2.7s
nodeModulesSize 42 MB 42 MB -26.6 kB
Client Bundles (main, webpack, commons) Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
main-HASH.js 18.3 kB 14.4 kB -3.84 kB
main-HASH.js gzip 6.66 kB 5.12 kB -1.55 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
Overall change -3.84 kB
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
main-HASH.module.js 16.6 kB 10.8 kB -5.76 kB
main-HASH.module.js gzip 6.39 kB 4.02 kB -2.37 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH.module.js gzip 746 B 746 B
Overall change -5.76 kB
Client Pages Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_app.js 1.83 kB 1.84 kB ⚠️ +2 B
_app.js gzip 884 B 885 B ⚠️ +1 B
_error.js 12.1 kB 5.36 kB -6.75 kB
_error.js gzip 4.76 kB 2.14 kB -2.62 kB
hooks.js 12.7 kB 12.7 kB
hooks.js gzip 4.81 kB 4.81 kB
index.js 343 B 343 B
index.js gzip 237 B 237 B
link.js 8.14 kB 9.93 kB ⚠️ +1.79 kB
link.js gzip 3.49 kB 4.13 kB ⚠️ +636 B
routerDirect.js 433 B 434 B ⚠️ +1 B
routerDirect.js gzip 296 B 296 B
withRouter.js 444 B 444 B
withRouter.js gzip 294 B 294 B
Overall change -4.96 kB
Client Pages Modern Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_app.module.js 1.73 kB 1.38 kB -349 B
_app.module.js gzip 840 B 695 B -145 B
_error.module.js 23.3 kB 6.21 kB -17.1 kB
_error.module.js gzip 8.62 kB 2.46 kB -6.16 kB
hooks.module.js 1.55 kB 1.55 kB
hooks.module.js gzip 804 B 805 B ⚠️ +1 B
index.module.js 319 B 319 B
index.module.js gzip 238 B 238 B
link.module.js 8.52 kB 14.6 kB ⚠️ +6.11 kB
link.module.js gzip 3.68 kB 5.98 kB ⚠️ +2.3 kB
routerDirect.module.js 419 B 420 B ⚠️ +1 B
routerDirect.module.js gzip 294 B 295 B ⚠️ +1 B
withRouter.module.js 429 B 430 B ⚠️ +1 B
withRouter.module.js gzip 293 B 293 B
Overall change -11.3 kB
Client Build Manifests
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_buildManifest.js 81 B 81 B
_buildManifest.js gzip 61 B 61 B
_buildManifest.module.js 81 B 81 B
_buildManifest.module.js gzip 61 B 61 B
Overall change
Serverless bundles Overall increase ⚠️
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_error.js 248 kB 249 kB ⚠️ +1.07 kB
_error.js gzip 66.4 kB 66 kB -325 B
hooks.html 3.86 kB 4.25 kB ⚠️ +385 B
hooks.html gzip 986 B 1.05 kB ⚠️ +61 B
index.js 248 kB 249 kB ⚠️ +1.03 kB
index.js gzip 66.6 kB 66.3 kB -321 B
link.js 256 kB 259 kB ⚠️ +2.86 kB
link.js gzip 68.8 kB 68.7 kB -37 B
routerDirect.js 249 kB 250 kB ⚠️ +1.03 kB
routerDirect.js gzip 66.7 kB 66.3 kB -400 B
withRouter.js 249 kB 250 kB ⚠️ +1.03 kB
withRouter.js gzip 66.7 kB 66.3 kB -452 B
Overall change ⚠️ +7.42 kB

@ijjk
Copy link
Member

ijjk commented Sep 3, 2019

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
buildDuration 23.9s 21.8s -2.1s
nodeModulesSize 42 MB 42 MB -27.5 kB
Client Bundles (main, webpack, commons) Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
main-HASH.js 18.3 kB 14.4 kB -3.84 kB
main-HASH.js gzip 6.66 kB 5.12 kB -1.55 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
Overall change -3.84 kB
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
main-HASH.module.js 16.6 kB 10.8 kB -5.76 kB
main-HASH.module.js gzip 6.39 kB 4.02 kB -2.37 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH.module.js gzip 746 B 746 B
Overall change -5.76 kB
Client Pages Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_app.js 1.83 kB 1.84 kB ⚠️ +2 B
_app.js gzip 884 B 885 B ⚠️ +1 B
_error.js 12.1 kB 5.36 kB -6.75 kB
_error.js gzip 4.76 kB 2.14 kB -2.62 kB
hooks.js 12.7 kB 12.7 kB
hooks.js gzip 4.81 kB 4.81 kB
index.js 343 B 343 B
index.js gzip 237 B 237 B
link.js 8.14 kB 9.93 kB ⚠️ +1.79 kB
link.js gzip 3.49 kB 4.13 kB ⚠️ +635 B
routerDirect.js 433 B 434 B ⚠️ +1 B
routerDirect.js gzip 296 B 296 B
withRouter.js 444 B 444 B
withRouter.js gzip 294 B 294 B
Overall change -4.96 kB
Client Pages Modern Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_app.module.js 1.73 kB 1.38 kB -349 B
_app.module.js gzip 840 B 695 B -145 B
_error.module.js 23.3 kB 6.21 kB -17.1 kB
_error.module.js gzip 8.62 kB 2.46 kB -6.16 kB
hooks.module.js 1.55 kB 1.55 kB
hooks.module.js gzip 804 B 805 B ⚠️ +1 B
index.module.js 319 B 319 B
index.module.js gzip 238 B 238 B
link.module.js 8.52 kB 14.6 kB ⚠️ +6.11 kB
link.module.js gzip 3.68 kB 5.98 kB ⚠️ +2.3 kB
routerDirect.module.js 419 B 419 B
routerDirect.module.js gzip 294 B 294 B
withRouter.module.js 429 B 430 B ⚠️ +1 B
withRouter.module.js gzip 293 B 293 B
Overall change -11.3 kB
Client Build Manifests
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_buildManifest.js 81 B 81 B
_buildManifest.js gzip 61 B 61 B
_buildManifest.module.js 81 B 81 B
_buildManifest.module.js gzip 61 B 61 B
Overall change
Rendered Page Sizes Overall increase ⚠️
zeit/next.js canary timneutkens/next.js add/move-next-server Change
index.html 3.75 kB 4.22 kB ⚠️ +474 B
index.html gzip 961 B 1.03 kB ⚠️ +65 B
link.html 3.79 kB 4.27 kB ⚠️ +474 B
link.html gzip 969 B 1.03 kB ⚠️ +66 B
withRouter.html 3.8 kB 4.28 kB ⚠️ +474 B
withRouter.html gzip 956 B 1.02 kB ⚠️ +66 B
Overall change ⚠️ +1.42 kB

Diffs

Diff for main-HASH.js
@@ -1,26 +1,68 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[11],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[12],{
 
-/***/ "/h46":
+/***/ "0IRE":
 /***/ (function(module, exports, __webpack_require__) {
 
-// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of
-__webpack_require__("cHUd")('Map');
+"use strict";
+
+Object.defineProperty(exports, "__esModule", { value: true });
+class DataManager {
+    constructor(data) {
+        this.data = new Map(data);
+    }
+    getData() {
+        return this.data;
+    }
+    get(key) {
+        return this.data.get(key);
+    }
+    set(key, value) {
+        this.data.set(key, value);
+    }
+    overwrite(data) {
+        this.data = new Map(data);
+    }
+}
+exports.DataManager = DataManager;
 
 
 /***/ }),
 
-/***/ "8iia":
+/***/ "8+Nu":
 /***/ (function(module, exports, __webpack_require__) {
 
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var classof = __webpack_require__("QMMT");
-var from = __webpack_require__("RRc/");
-module.exports = function (NAME) {
-  return function toJSON() {
-    if (classof(this) != NAME) throw TypeError(NAME + "#toJSON isn't generic");
-    return from(this);
-  };
-};
+var arrayWithHoles = __webpack_require__("8bdy");
+
+var iterableToArrayLimit = __webpack_require__("fprZ");
+
+var nonIterableRest = __webpack_require__("Bh1o");
+
+function _slicedToArray(arr, i) {
+  return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest();
+}
+
+module.exports = _slicedToArray;
+
+/***/ }),
+
+/***/ "8bdy":
+/***/ (function(module, exports, __webpack_require__) {
+
+var _Array$isArray = __webpack_require__("p0XB");
+
+function _arrayWithHoles(arr) {
+  if (_Array$isArray(arr)) return arr;
+}
+
+module.exports = _arrayWithHoles;
+
+/***/ }),
+
+/***/ "9BDd":
+/***/ (function(module, exports, __webpack_require__) {
+
+__webpack_require__("GvbO");
+module.exports = __webpack_require__("WEpk").Array.isArray;
 
 
 /***/ }),
@@ -42,26 +84,14 @@ window.next = next;
 
 /***/ }),
 
-/***/ "C2SN":
-/***/ (function(module, exports, __webpack_require__) {
+/***/ "Bh1o":
+/***/ (function(module, exports) {
 
-var isObject = __webpack_require__("93I4");
-var isArray = __webpack_require__("kAMH");
-var SPECIES = __webpack_require__("UWiX")('species');
-
-module.exports = function (original) {
-  var C;
-  if (isArray(original)) {
-    C = original.constructor;
-    // cross-realm fallback
-    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-    if (isObject(C)) {
-      C = C[SPECIES];
-      if (C === null) C = undefined;
-    }
-  } return C === undefined ? Array : C;
-};
+function _nonIterableRest() {
+  throw new TypeError("Invalid attempt to destructure non-iterable instance");
+}
 
+module.exports = _nonIterableRest;
 
 /***/ }),
 
@@ -208,57 +238,33 @@ function reactElementToDOM(_ref) {
 
 /***/ }),
 
-/***/ "HohS":
+/***/ "FYa8":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var runtimeConfig;
-
-exports["default"] = function () {
-  return runtimeConfig;
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+    result["default"] = mod;
+    return result;
 };
+Object.defineProperty(exports, "__esModule", { value: true });
+const React = __importStar(__webpack_require__("q1tI"));
+exports.HeadManagerContext = React.createContext(null);
 
-function setConfig(configValue) {
-  runtimeConfig = configValue;
-}
-
-exports.setConfig = setConfig;
 
 /***/ }),
 
-/***/ "IClC":
+/***/ "GvbO":
 /***/ (function(module, exports, __webpack_require__) {
 
-"use strict";
-
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-var __importStar = this && this.__importStar || function (mod) {
-  if (mod && mod.__esModule) return mod;
-  var result = {};
-  if (mod != null) for (var k in mod) {
-    if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-  }
-  result["default"] = mod;
-  return result;
-};
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
+// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)
+var $export = __webpack_require__("Y7ZC");
 
-var React = __importStar(__webpack_require__("q1tI"));
+$export($export.S, 'Array', { isArray: __webpack_require__("kAMH") });
 
-exports.HeadManagerContext = React.createContext(null);
 
 /***/ }),
 
@@ -305,25 +311,25 @@ var _headManager = _interopRequireDefault(__webpack_require__("DqTX"));
 
 var _router = __webpack_require__("nOHt");
 
-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 
 var _pageLoader = _interopRequireDefault(__webpack_require__("zmvN"));
 
-var envConfig = _interopRequireWildcard(__webpack_require__("PBx+"));
+var envConfig = _interopRequireWildcard(__webpack_require__("yLiY"));
 
-var _headManagerContext = __webpack_require__("IClC");
+var _headManagerContext = __webpack_require__("FYa8");
 
-var _dataManagerContext = __webpack_require__("qS9g");
+var _dataManagerContext = __webpack_require__("qArv");
 
-var _routerContext = __webpack_require__("9EOK");
+var _routerContext = __webpack_require__("qOIg");
 
-var _dataManager = __webpack_require__("cuFY");
+var _dataManager = __webpack_require__("0IRE");
 
 var _querystring = __webpack_require__("s4NR");
 
-var _isDynamic = __webpack_require__("kcOw");
+var _isDynamic = __webpack_require__("/jkW");
 /* global location */
 // Polyfill Promise globally
 // This is needed because Webpack's dynamic loading(common chunks) code
@@ -863,528 +869,112 @@ function _doRender() {
 
 /***/ }),
 
-/***/ "LX0d":
+/***/ "Rp86":
 /***/ (function(module, exports, __webpack_require__) {
 
-module.exports = __webpack_require__("UDep");
-
-/***/ }),
-
-/***/ "PBx+":
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__("HohS")
-
-
-/***/ }),
-
-/***/ "RRc/":
-/***/ (function(module, exports, __webpack_require__) {
-
-var forOf = __webpack_require__("oioR");
-
-module.exports = function (iter, ITERATOR) {
-  var result = [];
-  forOf(iter, false, result.push, result, ITERATOR);
-  return result;
-};
-
-
-/***/ }),
-
-/***/ "UDep":
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__("wgeU");
-__webpack_require__("FlQf");
 __webpack_require__("bBy9");
-__webpack_require__("g33z");
-__webpack_require__("XLbu");
-__webpack_require__("/h46");
-__webpack_require__("dVTT");
-module.exports = __webpack_require__("WEpk").Map;
-
-
-/***/ }),
-
-/***/ "V7Et":
-/***/ (function(module, exports, __webpack_require__) {
-
-// 0 -> Array#forEach
-// 1 -> Array#map
-// 2 -> Array#filter
-// 3 -> Array#some
-// 4 -> Array#every
-// 5 -> Array#find
-// 6 -> Array#findIndex
-var ctx = __webpack_require__("2GTP");
-var IObject = __webpack_require__("M1xp");
-var toObject = __webpack_require__("JB68");
-var toLength = __webpack_require__("tEej");
-var asc = __webpack_require__("v6xn");
-module.exports = function (TYPE, $create) {
-  var IS_MAP = TYPE == 1;
-  var IS_FILTER = TYPE == 2;
-  var IS_SOME = TYPE == 3;
-  var IS_EVERY = TYPE == 4;
-  var IS_FIND_INDEX = TYPE == 6;
-  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-  var create = $create || asc;
-  return function ($this, callbackfn, that) {
-    var O = toObject($this);
-    var self = IObject(O);
-    var f = ctx(callbackfn, that, 3);
-    var length = toLength(self.length);
-    var index = 0;
-    var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-    var val, res;
-    for (;length > index; index++) if (NO_HOLES || index in self) {
-      val = self[index];
-      res = f(val, index, O);
-      if (TYPE) {
-        if (IS_MAP) result[index] = res;   // map
-        else if (res) switch (TYPE) {
-          case 3: return true;             // some
-          case 5: return val;              // find
-          case 6: return index;            // findIndex
-          case 2: result.push(val);        // filter
-        } else if (IS_EVERY) return false; // every
-      }
-    }
-    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
-  };
-};
-
-
-/***/ }),
-
-/***/ "Wu5q":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var dP = __webpack_require__("2faE").f;
-var create = __webpack_require__("oVml");
-var redefineAll = __webpack_require__("XJU/");
-var ctx = __webpack_require__("2GTP");
-var anInstance = __webpack_require__("EXMj");
-var forOf = __webpack_require__("oioR");
-var $iterDefine = __webpack_require__("MPFp");
-var step = __webpack_require__("UO39");
-var setSpecies = __webpack_require__("TJWN");
-var DESCRIPTORS = __webpack_require__("jmDH");
-var fastKey = __webpack_require__("6/1s").fastKey;
-var validate = __webpack_require__("n3ko");
-var SIZE = DESCRIPTORS ? '_s' : 'size';
-
-var getEntry = function (that, key) {
-  // fast case
-  var index = fastKey(key);
-  var entry;
-  if (index !== 'F') return that._i[index];
-  // frozen object case
-  for (entry = that._f; entry; entry = entry.n) {
-    if (entry.k == key) return entry;
-  }
-};
-
-module.exports = {
-  getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {
-    var C = wrapper(function (that, iterable) {
-      anInstance(that, C, NAME, '_i');
-      that._t = NAME;         // collection type
-      that._i = create(null); // index
-      that._f = undefined;    // first entry
-      that._l = undefined;    // last entry
-      that[SIZE] = 0;         // size
-      if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
-    });
-    redefineAll(C.prototype, {
-      // 23.1.3.1 Map.prototype.clear()
-      // 23.2.3.2 Set.prototype.clear()
-      clear: function clear() {
-        for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {
-          entry.r = true;
-          if (entry.p) entry.p = entry.p.n = undefined;
-          delete data[entry.i];
-        }
-        that._f = that._l = undefined;
-        that[SIZE] = 0;
-      },
-      // 23.1.3.3 Map.prototype.delete(key)
-      // 23.2.3.4 Set.prototype.delete(value)
-      'delete': function (key) {
-        var that = validate(this, NAME);
-        var entry = getEntry(that, key);
-        if (entry) {
-          var next = entry.n;
-          var prev = entry.p;
-          delete that._i[entry.i];
-          entry.r = true;
-          if (prev) prev.n = next;
-          if (next) next.p = prev;
-          if (that._f == entry) that._f = next;
-          if (that._l == entry) that._l = prev;
-          that[SIZE]--;
-        } return !!entry;
-      },
-      // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
-      // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
-      forEach: function forEach(callbackfn /* , that = undefined */) {
-        validate(this, NAME);
-        var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
-        var entry;
-        while (entry = entry ? entry.n : this._f) {
-          f(entry.v, entry.k, this);
-          // revert to the last existing entry
-          while (entry && entry.r) entry = entry.p;
-        }
-      },
-      // 23.1.3.7 Map.prototype.has(key)
-      // 23.2.3.7 Set.prototype.has(value)
-      has: function has(key) {
-        return !!getEntry(validate(this, NAME), key);
-      }
-    });
-    if (DESCRIPTORS) dP(C.prototype, 'size', {
-      get: function () {
-        return validate(this, NAME)[SIZE];
-      }
-    });
-    return C;
-  },
-  def: function (that, key, value) {
-    var entry = getEntry(that, key);
-    var prev, index;
-    // change existing entry
-    if (entry) {
-      entry.v = value;
-    // create new entry
-    } else {
-      that._l = entry = {
-        i: index = fastKey(key, true), // <- index
-        k: key,                        // <- key
-        v: value,                      // <- value
-        p: prev = that._l,             // <- previous entry
-        n: undefined,                  // <- next entry
-        r: false                       // <- removed
-      };
-      if (!that._f) that._f = entry;
-      if (prev) prev.n = entry;
-      that[SIZE]++;
-      // add to index
-      if (index !== 'F') that._i[index] = entry;
-    } return that;
-  },
-  getEntry: getEntry,
-  setStrong: function (C, NAME, IS_MAP) {
-    // add .keys, .values, .entries, [@@iterator]
-    // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
-    $iterDefine(C, NAME, function (iterated, kind) {
-      this._t = validate(iterated, NAME); // target
-      this._k = kind;                     // kind
-      this._l = undefined;                // previous
-    }, function () {
-      var that = this;
-      var kind = that._k;
-      var entry = that._l;
-      // revert to the last existing entry
-      while (entry && entry.r) entry = entry.p;
-      // get next entry
-      if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {
-        // or finish the iteration
-        that._t = undefined;
-        return step(1);
-      }
-      // return step by kind
-      if (kind == 'keys') return step(0, entry.k);
-      if (kind == 'values') return step(0, entry.v);
-      return step(0, [entry.k, entry.v]);
-    }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
-
-    // add [@@species], 23.1.2.2, 23.2.2.2
-    setSpecies(NAME);
-  }
-};
+__webpack_require__("FlQf");
+module.exports = __webpack_require__("fXsU");
 
 
 /***/ }),
 
-/***/ "XLbu":
+/***/ "XXOK":
 /***/ (function(module, exports, __webpack_require__) {
 
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var $export = __webpack_require__("Y7ZC");
-
-$export($export.P + $export.R, 'Map', { toJSON: __webpack_require__("8iia")('Map') });
-
+module.exports = __webpack_require__("Rp86");
 
 /***/ }),
 
-/***/ "aPfg":
+/***/ "fXsU":
 /***/ (function(module, exports, __webpack_require__) {
 
-"use strict";
-
-// https://tc39.github.io/proposal-setmap-offrom/
-var $export = __webpack_require__("Y7ZC");
-var aFunction = __webpack_require__("eaoh");
-var ctx = __webpack_require__("2GTP");
-var forOf = __webpack_require__("oioR");
-
-module.exports = function (COLLECTION) {
-  $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {
-    var mapFn = arguments[1];
-    var mapping, A, n, cb;
-    aFunction(this);
-    mapping = mapFn !== undefined;
-    if (mapping) aFunction(mapFn);
-    if (source == undefined) return new this();
-    A = [];
-    if (mapping) {
-      n = 0;
-      cb = ctx(mapFn, arguments[2], 2);
-      forOf(source, false, function (nextItem) {
-        A.push(cb(nextItem, n++));
-      });
-    } else {
-      forOf(source, false, A.push, A);
-    }
-    return new this(A);
-  } });
+var anObject = __webpack_require__("5K7Z");
+var get = __webpack_require__("fNZA");
+module.exports = __webpack_require__("WEpk").getIterator = function (it) {
+  var iterFn = get(it);
+  if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');
+  return anObject(iterFn.call(it));
 };
 
 
 /***/ }),
 
-/***/ "cHUd":
+/***/ "fprZ":
 /***/ (function(module, exports, __webpack_require__) {
 
-"use strict";
-
-// https://tc39.github.io/proposal-setmap-offrom/
-var $export = __webpack_require__("Y7ZC");
-
-module.exports = function (COLLECTION) {
-  $export($export.S, COLLECTION, { of: function of() {
-    var length = arguments.length;
-    var A = new Array(length);
-    while (length--) A[length] = arguments[length];
-    return new this(A);
-  } });
-};
-
-
-/***/ }),
+var _getIterator = __webpack_require__("XXOK");
 
-/***/ "cuFY":
-/***/ (function(module, exports, __webpack_require__) {
+function _iterableToArrayLimit(arr, i) {
+  var _arr = [];
+  var _n = true;
+  var _d = false;
+  var _e = undefined;
 
-"use strict";
-
-
-var _Map = __webpack_require__("LX0d");
-
-var _classCallCheck = __webpack_require__("/HRN");
-
-var _createClass = __webpack_require__("WaGi");
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var DataManager =
-/*#__PURE__*/
-function () {
-  function DataManager(data) {
-    _classCallCheck(this, DataManager);
-
-    this.data = new _Map(data);
-  }
+  try {
+    for (var _i = _getIterator(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {
+      _arr.push(_s.value);
 
-  _createClass(DataManager, [{
-    key: "getData",
-    value: function getData() {
-      return this.data;
-    }
-  }, {
-    key: "get",
-    value: function get(key) {
-      return this.data.get(key);
-    }
-  }, {
-    key: "set",
-    value: function set(key, value) {
-      this.data.set(key, value);
+      if (i && _arr.length === i) break;
     }
-  }, {
-    key: "overwrite",
-    value: function overwrite(data) {
-      this.data = new _Map(data);
+  } catch (err) {
+    _d = true;
+    _e = err;
+  } finally {
+    try {
+      if (!_n && _i["return"] != null) _i["return"]();
+    } finally {
+      if (_d) throw _e;
     }
-  }]);
-
-  return DataManager;
-}();
-
-exports.DataManager = DataManager;
-
-/***/ }),
-
-/***/ "dVTT":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from
-__webpack_require__("aPfg")('Map');
-
-
-/***/ }),
-
-/***/ "g33z":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var strong = __webpack_require__("Wu5q");
-var validate = __webpack_require__("n3ko");
-var MAP = 'Map';
-
-// 23.1 Map Objects
-module.exports = __webpack_require__("raTm")(MAP, function (get) {
-  return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };
-}, {
-  // 23.1.3.6 Map.prototype.get(key)
-  get: function get(key) {
-    var entry = strong.getEntry(validate(this, MAP), key);
-    return entry && entry.v;
-  },
-  // 23.1.3.9 Map.prototype.set(key, value)
-  set: function set(key, value) {
-    return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);
   }
-}, strong, true);
-
-
-/***/ }),
-
-/***/ "n3ko":
-/***/ (function(module, exports, __webpack_require__) {
 
-var isObject = __webpack_require__("93I4");
-module.exports = function (it, TYPE) {
-  if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');
-  return it;
-};
+  return _arr;
+}
 
+module.exports = _iterableToArrayLimit;
 
 /***/ }),
 
-/***/ "qS9g":
+/***/ "p0XB":
 /***/ (function(module, exports, __webpack_require__) {
 
-"use strict";
-
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-var __importStar = this && this.__importStar || function (mod) {
-  if (mod && mod.__esModule) return mod;
-  var result = {};
-  if (mod != null) for (var k in mod) {
-    if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-  }
-  result["default"] = mod;
-  return result;
-};
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var React = __importStar(__webpack_require__("q1tI"));
-
-exports.DataManagerContext = React.createContext(null);
+module.exports = __webpack_require__("9BDd");
 
 /***/ }),
 
-/***/ "raTm":
+/***/ "qArv":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
-var global = __webpack_require__("5T2Y");
-var $export = __webpack_require__("Y7ZC");
-var meta = __webpack_require__("6/1s");
-var fails = __webpack_require__("KUxP");
-var hide = __webpack_require__("NegM");
-var redefineAll = __webpack_require__("XJU/");
-var forOf = __webpack_require__("oioR");
-var anInstance = __webpack_require__("EXMj");
-var isObject = __webpack_require__("93I4");
-var setToStringTag = __webpack_require__("RfKB");
-var dP = __webpack_require__("2faE").f;
-var each = __webpack_require__("V7Et")(0);
-var DESCRIPTORS = __webpack_require__("jmDH");
-
-module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
-  var Base = global[NAME];
-  var C = Base;
-  var ADDER = IS_MAP ? 'set' : 'add';
-  var proto = C && C.prototype;
-  var O = {};
-  if (!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {
-    new C().entries().next();
-  }))) {
-    // create collection constructor
-    C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);
-    redefineAll(C.prototype, methods);
-    meta.NEED = true;
-  } else {
-    C = wrapper(function (target, iterable) {
-      anInstance(target, C, NAME, '_c');
-      target._c = new Base();
-      if (iterable != undefined) forOf(iterable, IS_MAP, target[ADDER], target);
-    });
-    each('add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON'.split(','), function (KEY) {
-      var IS_ADDER = KEY == 'add' || KEY == 'set';
-      if (KEY in proto && !(IS_WEAK && KEY == 'clear')) hide(C.prototype, KEY, function (a, b) {
-        anInstance(this, C, KEY);
-        if (!IS_ADDER && IS_WEAK && !isObject(a)) return KEY == 'get' ? undefined : false;
-        var result = this._c[KEY](a === 0 ? 0 : a, b);
-        return IS_ADDER ? this : result;
-      });
-    });
-    IS_WEAK || dP(C.prototype, 'size', {
-      get: function () {
-        return this._c.size;
-      }
-    });
-  }
-
-  setToStringTag(C, NAME);
-
-  O[NAME] = C;
-  $export($export.G + $export.W + $export.F, O);
-
-  if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);
-
-  return C;
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+    result["default"] = mod;
+    return result;
 };
+Object.defineProperty(exports, "__esModule", { value: true });
+const React = __importStar(__webpack_require__("q1tI"));
+exports.DataManagerContext = React.createContext(null);
 
 
 /***/ }),
 
-/***/ "v6xn":
+/***/ "yLiY":
 /***/ (function(module, exports, __webpack_require__) {
 
-// 9.4.2.3 ArraySpeciesCreate(originalArray, length)
-var speciesConstructor = __webpack_require__("C2SN");
+"use strict";
 
-module.exports = function (original, length) {
-  return new (speciesConstructor(original))(length);
+Object.defineProperty(exports, "__esModule", { value: true });
+let runtimeConfig;
+exports.default = () => {
+    return runtimeConfig;
 };
+function setConfig(configValue) {
+    runtimeConfig = configValue;
+}
+exports.setConfig = setConfig;
 
 
 /***/ }),
@@ -1410,7 +1000,7 @@ var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("+oT+"));
 
 var _promise = _interopRequireDefault(__webpack_require__("eVuF"));
 
-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 /* global document, window */
 
 
@@ -1741,4 +1331,4 @@ exports["default"] = PageLoader;
 
 /***/ })
 
-},[["BMP1",0,1,2,3]]]);
\ No newline at end of file
+},[["BMP1",0,1,2,3,4]]]);
\ No newline at end of file
Diff for main-HASH.module.js
@@ -1,131 +1,29 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[10],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[11],{
 
-/***/ "+oT+":
+/***/ "0IRE":
 /***/ (function(module, exports, __webpack_require__) {
 
-var _Promise = __webpack_require__("eVuF");
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
-  try {
-    var info = gen[key](arg);
-    var value = info.value;
-  } catch (error) {
-    reject(error);
-    return;
-  }
-
-  if (info.done) {
-    resolve(value);
-  } else {
-    _Promise.resolve(value).then(_next, _throw);
-  }
-}
-
-function _asyncToGenerator(fn) {
-  return function () {
-    var self = this,
-        args = arguments;
-    return new _Promise(function (resolve, reject) {
-      var gen = fn.apply(self, args);
-
-      function _next(value) {
-        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
-      }
-
-      function _throw(err) {
-        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
-      }
+"use strict";
 
-      _next(undefined);
-    });
-  };
+Object.defineProperty(exports, "__esModule", { value: true });
+class DataManager {
+    constructor(data) {
+        this.data = new Map(data);
+    }
+    getData() {
+        return this.data;
+    }
+    get(key) {
+        return this.data.get(key);
+    }
+    set(key, value) {
+        this.data.set(key, value);
+    }
+    overwrite(data) {
+        this.data = new Map(data);
+    }
 }
-
-module.exports = _asyncToGenerator;
-
-/***/ }),
-
-/***/ "/h46":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of
-__webpack_require__("cHUd")('Map');
-
-
-/***/ }),
-
-/***/ "6/1s":
-/***/ (function(module, exports, __webpack_require__) {
-
-var META = __webpack_require__("YqAc")('meta');
-var isObject = __webpack_require__("93I4");
-var has = __webpack_require__("B+OT");
-var setDesc = __webpack_require__("2faE").f;
-var id = 0;
-var isExtensible = Object.isExtensible || function () {
-  return true;
-};
-var FREEZE = !__webpack_require__("KUxP")(function () {
-  return isExtensible(Object.preventExtensions({}));
-});
-var setMeta = function (it) {
-  setDesc(it, META, { value: {
-    i: 'O' + ++id, // object ID
-    w: {}          // weak collections IDs
-  } });
-};
-var fastKey = function (it, create) {
-  // return primitive with prefix
-  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
-  if (!has(it, META)) {
-    // can't set metadata to uncaught frozen object
-    if (!isExtensible(it)) return 'F';
-    // not necessary to add metadata
-    if (!create) return 'E';
-    // add missing metadata
-    setMeta(it);
-  // return object ID
-  } return it[META].i;
-};
-var getWeak = function (it, create) {
-  if (!has(it, META)) {
-    // can't set metadata to uncaught frozen object
-    if (!isExtensible(it)) return true;
-    // not necessary to add metadata
-    if (!create) return false;
-    // add missing metadata
-    setMeta(it);
-  // return hash weak collections IDs
-  } return it[META].w;
-};
-// add metadata on freeze-family methods calling
-var onFreeze = function (it) {
-  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);
-  return it;
-};
-var meta = module.exports = {
-  KEY: META,
-  NEED: false,
-  fastKey: fastKey,
-  getWeak: getWeak,
-  onFreeze: onFreeze
-};
-
-
-/***/ }),
-
-/***/ "8iia":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var classof = __webpack_require__("QMMT");
-var from = __webpack_require__("RRc/");
-module.exports = function (NAME) {
-  return function toJSON() {
-    if (classof(this) != NAME) throw TypeError(NAME + "#toJSON isn't generic");
-    return from(this);
-  };
-};
+exports.DataManager = DataManager;
 
 
 /***/ }),
@@ -147,29 +45,6 @@ window.next = next;
 
 /***/ }),
 
-/***/ "C2SN":
-/***/ (function(module, exports, __webpack_require__) {
-
-var isObject = __webpack_require__("93I4");
-var isArray = __webpack_require__("kAMH");
-var SPECIES = __webpack_require__("UWiX")('species');
-
-module.exports = function (original) {
-  var C;
-  if (isArray(original)) {
-    C = original.constructor;
-    // cross-realm fallback
-    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-    if (isObject(C)) {
-      C = C[SPECIES];
-      if (C === null) C = undefined;
-    }
-  } return C === undefined ? Array : C;
-};
-
-
-/***/ }),
-
 /***/ "DqTX":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -296,56 +171,23 @@ function reactElementToDOM(_ref) {
 
 /***/ }),
 
-/***/ "HohS":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-let runtimeConfig;
-
-exports.default = () => {
-  return runtimeConfig;
-};
-
-function setConfig(configValue) {
-  runtimeConfig = configValue;
-}
-
-exports.setConfig = setConfig;
-
-/***/ }),
-
-/***/ "IClC":
+/***/ "FYa8":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-var __importStar = this && this.__importStar || function (mod) {
-  if (mod && mod.__esModule) return mod;
-  var result = {};
-  if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-  result["default"] = mod;
-  return result;
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+    result["default"] = mod;
+    return result;
 };
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
+Object.defineProperty(exports, "__esModule", { value: true });
 const React = __importStar(__webpack_require__("q1tI"));
-
 exports.HeadManagerContext = React.createContext(null);
 
+
 /***/ }),
 
 /***/ "IKlv":
@@ -377,25 +219,25 @@ var _headManager = _interopRequireDefault(__webpack_require__("DqTX"));
 
 var _router = __webpack_require__("nOHt");
 
-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 
 var _pageLoader = _interopRequireDefault(__webpack_require__("zmvN"));
 
-var envConfig = _interopRequireWildcard(__webpack_require__("PBx+"));
+var envConfig = _interopRequireWildcard(__webpack_require__("yLiY"));
 
-var _headManagerContext = __webpack_require__("IClC");
+var _headManagerContext = __webpack_require__("FYa8");
 
-var _dataManagerContext = __webpack_require__("qS9g");
+var _dataManagerContext = __webpack_require__("qArv");
 
-var _routerContext = __webpack_require__("9EOK");
+var _routerContext = __webpack_require__("qOIg");
 
-var _dataManager = __webpack_require__("cuFY");
+var _dataManager = __webpack_require__("0IRE");
 
 var _querystring = __webpack_require__("s4NR");
 
-var _isDynamic = __webpack_require__("kcOw");
+var _isDynamic = __webpack_require__("/jkW");
 /* global location */
 // Polyfill Promise globally
 // This is needed because Webpack's dynamic loading(common chunks) code
@@ -785,523 +627,39 @@ function _doRender() {
 
 /***/ }),
 
-/***/ "LX0d":
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__("UDep");
-
-/***/ }),
-
-/***/ "PBx+":
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__("HohS")
-
-
-/***/ }),
-
-/***/ "RRc/":
-/***/ (function(module, exports, __webpack_require__) {
-
-var forOf = __webpack_require__("oioR");
-
-module.exports = function (iter, ITERATOR) {
-  var result = [];
-  forOf(iter, false, result.push, result, ITERATOR);
-  return result;
-};
-
-
-/***/ }),
-
-/***/ "UDep":
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__("wgeU");
-__webpack_require__("FlQf");
-__webpack_require__("bBy9");
-__webpack_require__("g33z");
-__webpack_require__("XLbu");
-__webpack_require__("/h46");
-__webpack_require__("dVTT");
-module.exports = __webpack_require__("WEpk").Map;
-
-
-/***/ }),
-
-/***/ "V7Et":
-/***/ (function(module, exports, __webpack_require__) {
-
-// 0 -> Array#forEach
-// 1 -> Array#map
-// 2 -> Array#filter
-// 3 -> Array#some
-// 4 -> Array#every
-// 5 -> Array#find
-// 6 -> Array#findIndex
-var ctx = __webpack_require__("2GTP");
-var IObject = __webpack_require__("M1xp");
-var toObject = __webpack_require__("JB68");
-var toLength = __webpack_require__("tEej");
-var asc = __webpack_require__("v6xn");
-module.exports = function (TYPE, $create) {
-  var IS_MAP = TYPE == 1;
-  var IS_FILTER = TYPE == 2;
-  var IS_SOME = TYPE == 3;
-  var IS_EVERY = TYPE == 4;
-  var IS_FIND_INDEX = TYPE == 6;
-  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-  var create = $create || asc;
-  return function ($this, callbackfn, that) {
-    var O = toObject($this);
-    var self = IObject(O);
-    var f = ctx(callbackfn, that, 3);
-    var length = toLength(self.length);
-    var index = 0;
-    var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-    var val, res;
-    for (;length > index; index++) if (NO_HOLES || index in self) {
-      val = self[index];
-      res = f(val, index, O);
-      if (TYPE) {
-        if (IS_MAP) result[index] = res;   // map
-        else if (res) switch (TYPE) {
-          case 3: return true;             // some
-          case 5: return val;              // find
-          case 6: return index;            // findIndex
-          case 2: result.push(val);        // filter
-        } else if (IS_EVERY) return false; // every
-      }
-    }
-    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
-  };
-};
-
-
-/***/ }),
-
-/***/ "Wu5q":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var dP = __webpack_require__("2faE").f;
-var create = __webpack_require__("oVml");
-var redefineAll = __webpack_require__("XJU/");
-var ctx = __webpack_require__("2GTP");
-var anInstance = __webpack_require__("EXMj");
-var forOf = __webpack_require__("oioR");
-var $iterDefine = __webpack_require__("MPFp");
-var step = __webpack_require__("UO39");
-var setSpecies = __webpack_require__("TJWN");
-var DESCRIPTORS = __webpack_require__("jmDH");
-var fastKey = __webpack_require__("6/1s").fastKey;
-var validate = __webpack_require__("n3ko");
-var SIZE = DESCRIPTORS ? '_s' : 'size';
-
-var getEntry = function (that, key) {
-  // fast case
-  var index = fastKey(key);
-  var entry;
-  if (index !== 'F') return that._i[index];
-  // frozen object case
-  for (entry = that._f; entry; entry = entry.n) {
-    if (entry.k == key) return entry;
-  }
-};
-
-module.exports = {
-  getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {
-    var C = wrapper(function (that, iterable) {
-      anInstance(that, C, NAME, '_i');
-      that._t = NAME;         // collection type
-      that._i = create(null); // index
-      that._f = undefined;    // first entry
-      that._l = undefined;    // last entry
-      that[SIZE] = 0;         // size
-      if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
-    });
-    redefineAll(C.prototype, {
-      // 23.1.3.1 Map.prototype.clear()
-      // 23.2.3.2 Set.prototype.clear()
-      clear: function clear() {
-        for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {
-          entry.r = true;
-          if (entry.p) entry.p = entry.p.n = undefined;
-          delete data[entry.i];
-        }
-        that._f = that._l = undefined;
-        that[SIZE] = 0;
-      },
-      // 23.1.3.3 Map.prototype.delete(key)
-      // 23.2.3.4 Set.prototype.delete(value)
-      'delete': function (key) {
-        var that = validate(this, NAME);
-        var entry = getEntry(that, key);
-        if (entry) {
-          var next = entry.n;
-          var prev = entry.p;
-          delete that._i[entry.i];
-          entry.r = true;
-          if (prev) prev.n = next;
-          if (next) next.p = prev;
-          if (that._f == entry) that._f = next;
-          if (that._l == entry) that._l = prev;
-          that[SIZE]--;
-        } return !!entry;
-      },
-      // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
-      // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
-      forEach: function forEach(callbackfn /* , that = undefined */) {
-        validate(this, NAME);
-        var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
-        var entry;
-        while (entry = entry ? entry.n : this._f) {
-          f(entry.v, entry.k, this);
-          // revert to the last existing entry
-          while (entry && entry.r) entry = entry.p;
-        }
-      },
-      // 23.1.3.7 Map.prototype.has(key)
-      // 23.2.3.7 Set.prototype.has(value)
-      has: function has(key) {
-        return !!getEntry(validate(this, NAME), key);
-      }
-    });
-    if (DESCRIPTORS) dP(C.prototype, 'size', {
-      get: function () {
-        return validate(this, NAME)[SIZE];
-      }
-    });
-    return C;
-  },
-  def: function (that, key, value) {
-    var entry = getEntry(that, key);
-    var prev, index;
-    // change existing entry
-    if (entry) {
-      entry.v = value;
-    // create new entry
-    } else {
-      that._l = entry = {
-        i: index = fastKey(key, true), // <- index
-        k: key,                        // <- key
-        v: value,                      // <- value
-        p: prev = that._l,             // <- previous entry
-        n: undefined,                  // <- next entry
-        r: false                       // <- removed
-      };
-      if (!that._f) that._f = entry;
-      if (prev) prev.n = entry;
-      that[SIZE]++;
-      // add to index
-      if (index !== 'F') that._i[index] = entry;
-    } return that;
-  },
-  getEntry: getEntry,
-  setStrong: function (C, NAME, IS_MAP) {
-    // add .keys, .values, .entries, [@@iterator]
-    // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
-    $iterDefine(C, NAME, function (iterated, kind) {
-      this._t = validate(iterated, NAME); // target
-      this._k = kind;                     // kind
-      this._l = undefined;                // previous
-    }, function () {
-      var that = this;
-      var kind = that._k;
-      var entry = that._l;
-      // revert to the last existing entry
-      while (entry && entry.r) entry = entry.p;
-      // get next entry
-      if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {
-        // or finish the iteration
-        that._t = undefined;
-        return step(1);
-      }
-      // return step by kind
-      if (kind == 'keys') return step(0, entry.k);
-      if (kind == 'values') return step(0, entry.v);
-      return step(0, [entry.k, entry.v]);
-    }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
-
-    // add [@@species], 23.1.2.2, 23.2.2.2
-    setSpecies(NAME);
-  }
-};
-
-
-/***/ }),
-
-/***/ "XLbu":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var $export = __webpack_require__("Y7ZC");
-
-$export($export.P + $export.R, 'Map', { toJSON: __webpack_require__("8iia")('Map') });
-
-
-/***/ }),
-
-/***/ "aPfg":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-// https://tc39.github.io/proposal-setmap-offrom/
-var $export = __webpack_require__("Y7ZC");
-var aFunction = __webpack_require__("eaoh");
-var ctx = __webpack_require__("2GTP");
-var forOf = __webpack_require__("oioR");
-
-module.exports = function (COLLECTION) {
-  $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {
-    var mapFn = arguments[1];
-    var mapping, A, n, cb;
-    aFunction(this);
-    mapping = mapFn !== undefined;
-    if (mapping) aFunction(mapFn);
-    if (source == undefined) return new this();
-    A = [];
-    if (mapping) {
-      n = 0;
-      cb = ctx(mapFn, arguments[2], 2);
-      forOf(source, false, function (nextItem) {
-        A.push(cb(nextItem, n++));
-      });
-    } else {
-      forOf(source, false, A.push, A);
-    }
-    return new this(A);
-  } });
-};
-
-
-/***/ }),
-
-/***/ "cHUd":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-// https://tc39.github.io/proposal-setmap-offrom/
-var $export = __webpack_require__("Y7ZC");
-
-module.exports = function (COLLECTION) {
-  $export($export.S, COLLECTION, { of: function of() {
-    var length = arguments.length;
-    var A = new Array(length);
-    while (length--) A[length] = arguments[length];
-    return new this(A);
-  } });
-};
-
-
-/***/ }),
-
-/***/ "cuFY":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _Map = __webpack_require__("LX0d");
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-class DataManager {
-  constructor(data) {
-    this.data = new _Map(data);
-  }
-
-  getData() {
-    return this.data;
-  }
-
-  get(key) {
-    return this.data.get(key);
-  }
-
-  set(key, value) {
-    this.data.set(key, value);
-  }
-
-  overwrite(data) {
-    this.data = new _Map(data);
-  }
-
-}
-
-exports.DataManager = DataManager;
-
-/***/ }),
-
-/***/ "dVTT":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from
-__webpack_require__("aPfg")('Map');
-
-
-/***/ }),
-
-/***/ "g33z":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var strong = __webpack_require__("Wu5q");
-var validate = __webpack_require__("n3ko");
-var MAP = 'Map';
-
-// 23.1 Map Objects
-module.exports = __webpack_require__("raTm")(MAP, function (get) {
-  return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };
-}, {
-  // 23.1.3.6 Map.prototype.get(key)
-  get: function get(key) {
-    var entry = strong.getEntry(validate(this, MAP), key);
-    return entry && entry.v;
-  },
-  // 23.1.3.9 Map.prototype.set(key, value)
-  set: function set(key, value) {
-    return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);
-  }
-}, strong, true);
-
-
-/***/ }),
-
-/***/ "kAMH":
-/***/ (function(module, exports, __webpack_require__) {
-
-// 7.2.2 IsArray(argument)
-var cof = __webpack_require__("a0xu");
-module.exports = Array.isArray || function isArray(arg) {
-  return cof(arg) == 'Array';
-};
-
-
-/***/ }),
-
-/***/ "n3ko":
-/***/ (function(module, exports, __webpack_require__) {
-
-var isObject = __webpack_require__("93I4");
-module.exports = function (it, TYPE) {
-  if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');
-  return it;
-};
-
-
-/***/ }),
-
-/***/ "qS9g":
+/***/ "qArv":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-var __importStar = this && this.__importStar || function (mod) {
-  if (mod && mod.__esModule) return mod;
-  var result = {};
-  if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-  result["default"] = mod;
-  return result;
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+    result["default"] = mod;
+    return result;
 };
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
+Object.defineProperty(exports, "__esModule", { value: true });
 const React = __importStar(__webpack_require__("q1tI"));
-
 exports.DataManagerContext = React.createContext(null);
 
-/***/ }),
-
-/***/ "raTm":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var global = __webpack_require__("5T2Y");
-var $export = __webpack_require__("Y7ZC");
-var meta = __webpack_require__("6/1s");
-var fails = __webpack_require__("KUxP");
-var hide = __webpack_require__("NegM");
-var redefineAll = __webpack_require__("XJU/");
-var forOf = __webpack_require__("oioR");
-var anInstance = __webpack_require__("EXMj");
-var isObject = __webpack_require__("93I4");
-var setToStringTag = __webpack_require__("RfKB");
-var dP = __webpack_require__("2faE").f;
-var each = __webpack_require__("V7Et")(0);
-var DESCRIPTORS = __webpack_require__("jmDH");
-
-module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
-  var Base = global[NAME];
-  var C = Base;
-  var ADDER = IS_MAP ? 'set' : 'add';
-  var proto = C && C.prototype;
-  var O = {};
-  if (!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {
-    new C().entries().next();
-  }))) {
-    // create collection constructor
-    C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);
-    redefineAll(C.prototype, methods);
-    meta.NEED = true;
-  } else {
-    C = wrapper(function (target, iterable) {
-      anInstance(target, C, NAME, '_c');
-      target._c = new Base();
-      if (iterable != undefined) forOf(iterable, IS_MAP, target[ADDER], target);
-    });
-    each('add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON'.split(','), function (KEY) {
-      var IS_ADDER = KEY == 'add' || KEY == 'set';
-      if (KEY in proto && !(IS_WEAK && KEY == 'clear')) hide(C.prototype, KEY, function (a, b) {
-        anInstance(this, C, KEY);
-        if (!IS_ADDER && IS_WEAK && !isObject(a)) return KEY == 'get' ? undefined : false;
-        var result = this._c[KEY](a === 0 ? 0 : a, b);
-        return IS_ADDER ? this : result;
-      });
-    });
-    IS_WEAK || dP(C.prototype, 'size', {
-      get: function () {
-        return this._c.size;
-      }
-    });
-  }
-
-  setToStringTag(C, NAME);
-
-  O[NAME] = C;
-  $export($export.G + $export.W + $export.F, O);
-
-  if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);
-
-  return C;
-};
-
 
 /***/ }),
 
-/***/ "v6xn":
+/***/ "yLiY":
 /***/ (function(module, exports, __webpack_require__) {
 
-// 9.4.2.3 ArraySpeciesCreate(originalArray, length)
-var speciesConstructor = __webpack_require__("C2SN");
+"use strict";
 
-module.exports = function (original, length) {
-  return new (speciesConstructor(original))(length);
+Object.defineProperty(exports, "__esModule", { value: true });
+let runtimeConfig;
+exports.default = () => {
+    return runtimeConfig;
 };
+function setConfig(configValue) {
+    runtimeConfig = configValue;
+}
+exports.setConfig = setConfig;
 
 
 /***/ }),
@@ -1321,7 +679,7 @@ var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("+oT+"));
 
 var _promise = _interopRequireDefault(__webpack_require__("eVuF"));
 
-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 /* global document, window */
 
 
@@ -1568,4 +926,4 @@ exports.default = PageLoader;
 
 /***/ })
 
-},[["BMP1",0,1,2]]]);
\ No newline at end of file
+},[["BMP1",0,1,2,3]]]);
\ No newline at end of file
Diff for _app.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[4],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[5],{
 
 /***/ "B5Ud":
 /***/ (function(module, exports, __webpack_require__) {
@@ -33,7 +33,7 @@ var _react = _interopRequireDefault(__webpack_require__("q1tI"));
 
 var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 
 exports.AppInitialProps = _utils.AppInitialProps;
 
@@ -200,4 +200,4 @@ function createUrl(router) {
 
 /***/ })
 
-},[["e9+W",0,1,2,3]]]);
\ No newline at end of file
+},[["e9+W",0,1,2,3,4]]]);
\ No newline at end of file
Diff for _error.js

Diff too large to display

Diff for hooks.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[6],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[7],{
 
 /***/ "+MDD":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
Diff for index.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[7],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[8],{
 
 /***/ "RNiq":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
Diff for link.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[8],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[9],{
 
 /***/ "/h46":
 /***/ (function(module, exports, __webpack_require__) {
@@ -48,6 +48,18 @@ module.exports = function (original) {
 
 /***/ }),
 
+/***/ "EXMj":
+/***/ (function(module, exports) {
+
+module.exports = function (it, Constructor, name, forbiddenField) {
+  if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {
+    throw TypeError(name + ': incorrect invocation!');
+  } return it;
+};
+
+
+/***/ }),
+
 /***/ "LX0d":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -55,6 +67,21 @@ module.exports = __webpack_require__("UDep");
 
 /***/ }),
 
+/***/ "NwJ3":
+/***/ (function(module, exports, __webpack_require__) {
+
+// check on default Array iterator
+var Iterators = __webpack_require__("SBuE");
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var ArrayProto = Array.prototype;
+
+module.exports = function (it) {
+  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
+};
+
+
+/***/ }),
+
 /***/ "ObF3":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
@@ -82,6 +109,36 @@ aLink.getInitialProps = function () {
 
 /***/ }),
 
+/***/ "QMMT":
+/***/ (function(module, exports, __webpack_require__) {
+
+// getting tag from 19.1.3.6 Object.prototype.toString()
+var cof = __webpack_require__("a0xu");
+var TAG = __webpack_require__("UWiX")('toStringTag');
+// ES3 wrong here
+var ARG = cof(function () { return arguments; }()) == 'Arguments';
+
+// fallback for IE11 Script Access Denied error
+var tryGet = function (it, key) {
+  try {
+    return it[key];
+  } catch (e) { /* empty */ }
+};
+
+module.exports = function (it) {
+  var O, T, B;
+  return it === undefined ? 'Undefined' : it === null ? 'Null'
+    // @@toStringTag case
+    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T
+    // builtinTag case
+    : ARG ? cof(O)
+    // ES3 arguments fallback
+    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
+};
+
+
+/***/ }),
+
 /***/ "RRc/":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -96,6 +153,28 @@ module.exports = function (iter, ITERATOR) {
 
 /***/ }),
 
+/***/ "TJWN":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var global = __webpack_require__("5T2Y");
+var core = __webpack_require__("WEpk");
+var dP = __webpack_require__("2faE");
+var DESCRIPTORS = __webpack_require__("jmDH");
+var SPECIES = __webpack_require__("UWiX")('species');
+
+module.exports = function (KEY) {
+  var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];
+  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {
+    configurable: true,
+    get: function () { return this; }
+  });
+};
+
+
+/***/ }),
+
 /***/ "UDep":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -327,6 +406,20 @@ module.exports = {
 
 /***/ }),
 
+/***/ "XJU/":
+/***/ (function(module, exports, __webpack_require__) {
+
+var hide = __webpack_require__("NegM");
+module.exports = function (target, src, safe) {
+  for (var key in src) {
+    if (safe && target[key]) target[key] = src[key];
+    else hide(target, key, src[key]);
+  } return target;
+};
+
+
+/***/ }),
+
 /***/ "XLbu":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -435,9 +528,9 @@ var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
 var _router = _interopRequireDefault(__webpack_require__("nOHt"));
 
-var _rewriteUrlForExport = __webpack_require__("KA3u");
+var _rewriteUrlForExport = __webpack_require__("P5f7");
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 /* global __NEXT_DATA__ */
 
 
@@ -704,6 +797,21 @@ __webpack_require__("aPfg")('Map');
 
 /***/ }),
 
+/***/ "fNZA":
+/***/ (function(module, exports, __webpack_require__) {
+
+var classof = __webpack_require__("QMMT");
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var Iterators = __webpack_require__("SBuE");
+module.exports = __webpack_require__("WEpk").getIteratorMethod = function (it) {
+  if (it != undefined) return it[ITERATOR]
+    || it['@@iterator']
+    || Iterators[classof(it)];
+};
+
+
+/***/ }),
+
 /***/ "g33z":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -743,6 +851,38 @@ module.exports = function (it, TYPE) {
 
 /***/ }),
 
+/***/ "oioR":
+/***/ (function(module, exports, __webpack_require__) {
+
+var ctx = __webpack_require__("2GTP");
+var call = __webpack_require__("sNwI");
+var isArrayIter = __webpack_require__("NwJ3");
+var anObject = __webpack_require__("5K7Z");
+var toLength = __webpack_require__("tEej");
+var getIterFn = __webpack_require__("fNZA");
+var BREAK = {};
+var RETURN = {};
+var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {
+  var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);
+  var f = ctx(fn, that, entries ? 2 : 1);
+  var index = 0;
+  var length, step, iterator, result;
+  if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');
+  // fast case for arrays with default iterator
+  if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {
+    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
+    if (result === BREAK || result === RETURN) return result;
+  } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {
+    result = call(iterator, f, step.value, entries);
+    if (result === BREAK || result === RETURN) return result;
+  }
+};
+exports.BREAK = BREAK;
+exports.RETURN = RETURN;
+
+
+/***/ }),
+
 /***/ "raTm":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -810,6 +950,25 @@ module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
 
 /***/ }),
 
+/***/ "sNwI":
+/***/ (function(module, exports, __webpack_require__) {
+
+// call something on iterator step with safe closing on error
+var anObject = __webpack_require__("5K7Z");
+module.exports = function (iterator, fn, value, entries) {
+  try {
+    return entries ? fn(anObject(value)[0], value[1]) : fn(value);
+  // 7.4.6 IteratorClose(iterator, completion)
+  } catch (e) {
+    var ret = iterator['return'];
+    if (ret !== undefined) anObject(ret.call(iterator));
+    throw e;
+  }
+};
+
+
+/***/ }),
+
 /***/ "v6xn":
 /***/ (function(module, exports, __webpack_require__) {
Diff for routerDirect.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[9],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[10],{
 
 /***/ "LtRI":
 /***/ (function(module, exports, __webpack_require__) {
Diff for withRouter.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[10],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[11],{
 
 /***/ "0Hlz":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
Diff for _app.module.js
@@ -1,49 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[3],{
-
-/***/ "+oT+":
-/***/ (function(module, exports, __webpack_require__) {
-
-var _Promise = __webpack_require__("eVuF");
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
-  try {
-    var info = gen[key](arg);
-    var value = info.value;
-  } catch (error) {
-    reject(error);
-    return;
-  }
-
-  if (info.done) {
-    resolve(value);
-  } else {
-    _Promise.resolve(value).then(_next, _throw);
-  }
-}
-
-function _asyncToGenerator(fn) {
-  return function () {
-    var self = this,
-        args = arguments;
-    return new _Promise(function (resolve, reject) {
-      var gen = fn.apply(self, args);
-
-      function _next(value) {
-        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
-      }
-
-      function _throw(err) {
-        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
-      }
-
-      _next(undefined);
-    });
-  };
-}
-
-module.exports = _asyncToGenerator;
-
-/***/ }),
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[4],{
 
 /***/ "B5Ud":
 /***/ (function(module, exports, __webpack_require__) {
@@ -66,7 +21,7 @@ var _react = _interopRequireDefault(__webpack_require__("q1tI"));
 
 var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 
 exports.AppInitialProps = _utils.AppInitialProps;
 
@@ -205,4 +160,4 @@ function createUrl(router) {
 
 /***/ })
 
-},[["e9+W",0,1,2]]]);
\ No newline at end of file
+},[["e9+W",0,1,2,3]]]);
\ No newline at end of file
Diff for _error.module.js

Diff too large to display

Diff for hooks.module.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[5],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[6],{
 
 /***/ "+MDD":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
Diff for index.module.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[6],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[7],{
 
 /***/ "RNiq":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
Diff for link.module.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[7],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[8],{
 
 /***/ "/h46":
 /***/ (function(module, exports, __webpack_require__) {
@@ -108,6 +108,43 @@ module.exports = function (original) {
 
 /***/ }),
 
+/***/ "EXMj":
+/***/ (function(module, exports) {
+
+module.exports = function (it, Constructor, name, forbiddenField) {
+  if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {
+    throw TypeError(name + ': incorrect invocation!');
+  } return it;
+};
+
+
+/***/ }),
+
+/***/ "FlQf":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var $at = __webpack_require__("ccE7")(true);
+
+// 21.1.3.27 String.prototype[@@iterator]()
+__webpack_require__("MPFp")(String, 'String', function (iterated) {
+  this._t = String(iterated); // target
+  this._i = 0;                // next index
+// 21.1.5.2.1 %StringIteratorPrototype%.next()
+}, function () {
+  var O = this._t;
+  var index = this._i;
+  var point;
+  if (index >= O.length) return { value: undefined, done: true };
+  point = $at(O, index);
+  this._i += point.length;
+  return { value: point, done: false };
+});
+
+
+/***/ }),
+
 /***/ "LX0d":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -115,6 +152,107 @@ module.exports = __webpack_require__("UDep");
 
 /***/ }),
 
+/***/ "MPFp":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var LIBRARY = __webpack_require__("uOPS");
+var $export = __webpack_require__("Y7ZC");
+var redefine = __webpack_require__("kTiW");
+var hide = __webpack_require__("NegM");
+var Iterators = __webpack_require__("SBuE");
+var $iterCreate = __webpack_require__("j2DC");
+var setToStringTag = __webpack_require__("RfKB");
+var getPrototypeOf = __webpack_require__("U+KD");
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`
+var FF_ITERATOR = '@@iterator';
+var KEYS = 'keys';
+var VALUES = 'values';
+
+var returnThis = function () { return this; };
+
+module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {
+  $iterCreate(Constructor, NAME, next);
+  var getMethod = function (kind) {
+    if (!BUGGY && kind in proto) return proto[kind];
+    switch (kind) {
+      case KEYS: return function keys() { return new Constructor(this, kind); };
+      case VALUES: return function values() { return new Constructor(this, kind); };
+    } return function entries() { return new Constructor(this, kind); };
+  };
+  var TAG = NAME + ' Iterator';
+  var DEF_VALUES = DEFAULT == VALUES;
+  var VALUES_BUG = false;
+  var proto = Base.prototype;
+  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];
+  var $default = $native || getMethod(DEFAULT);
+  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;
+  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;
+  var methods, key, IteratorPrototype;
+  // Fix native
+  if ($anyNative) {
+    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));
+    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {
+      // Set @@toStringTag to native iterators
+      setToStringTag(IteratorPrototype, TAG, true);
+      // fix for some old engines
+      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);
+    }
+  }
+  // fix Array#{values, @@iterator}.name in V8 / FF
+  if (DEF_VALUES && $native && $native.name !== VALUES) {
+    VALUES_BUG = true;
+    $default = function values() { return $native.call(this); };
+  }
+  // Define iterator
+  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {
+    hide(proto, ITERATOR, $default);
+  }
+  // Plug for library
+  Iterators[NAME] = $default;
+  Iterators[TAG] = returnThis;
+  if (DEFAULT) {
+    methods = {
+      values: DEF_VALUES ? $default : getMethod(VALUES),
+      keys: IS_SET ? $default : getMethod(KEYS),
+      entries: $entries
+    };
+    if (FORCED) for (key in methods) {
+      if (!(key in proto)) redefine(proto, key, methods[key]);
+    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
+  }
+  return methods;
+};
+
+
+/***/ }),
+
+/***/ "MvwC":
+/***/ (function(module, exports, __webpack_require__) {
+
+var document = __webpack_require__("5T2Y").document;
+module.exports = document && document.documentElement;
+
+
+/***/ }),
+
+/***/ "NwJ3":
+/***/ (function(module, exports, __webpack_require__) {
+
+// check on default Array iterator
+var Iterators = __webpack_require__("SBuE");
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var ArrayProto = Array.prototype;
+
+module.exports = function (it) {
+  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
+};
+
+
+/***/ }),
+
 /***/ "ObF3":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
@@ -140,6 +278,36 @@ aLink.getInitialProps = () => ({});
 
 /***/ }),
 
+/***/ "QMMT":
+/***/ (function(module, exports, __webpack_require__) {
+
+// getting tag from 19.1.3.6 Object.prototype.toString()
+var cof = __webpack_require__("a0xu");
+var TAG = __webpack_require__("UWiX")('toStringTag');
+// ES3 wrong here
+var ARG = cof(function () { return arguments; }()) == 'Arguments';
+
+// fallback for IE11 Script Access Denied error
+var tryGet = function (it, key) {
+  try {
+    return it[key];
+  } catch (e) { /* empty */ }
+};
+
+module.exports = function (it) {
+  var O, T, B;
+  return it === undefined ? 'Undefined' : it === null ? 'Null'
+    // @@toStringTag case
+    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T
+    // builtinTag case
+    : ARG ? cof(O)
+    // ES3 arguments fallback
+    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
+};
+
+
+/***/ }),
+
 /***/ "RRc/":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -154,6 +322,70 @@ module.exports = function (iter, ITERATOR) {
 
 /***/ }),
 
+/***/ "RfKB":
+/***/ (function(module, exports, __webpack_require__) {
+
+var def = __webpack_require__("2faE").f;
+var has = __webpack_require__("B+OT");
+var TAG = __webpack_require__("UWiX")('toStringTag');
+
+module.exports = function (it, tag, stat) {
+  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });
+};
+
+
+/***/ }),
+
+/***/ "SBuE":
+/***/ (function(module, exports) {
+
+module.exports = {};
+
+
+/***/ }),
+
+/***/ "TJWN":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var global = __webpack_require__("5T2Y");
+var core = __webpack_require__("WEpk");
+var dP = __webpack_require__("2faE");
+var DESCRIPTORS = __webpack_require__("jmDH");
+var SPECIES = __webpack_require__("UWiX")('species');
+
+module.exports = function (KEY) {
+  var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];
+  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {
+    configurable: true,
+    get: function () { return this; }
+  });
+};
+
+
+/***/ }),
+
+/***/ "U+KD":
+/***/ (function(module, exports, __webpack_require__) {
+
+// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
+var has = __webpack_require__("B+OT");
+var toObject = __webpack_require__("JB68");
+var IE_PROTO = __webpack_require__("VVlx")('IE_PROTO');
+var ObjectProto = Object.prototype;
+
+module.exports = Object.getPrototypeOf || function (O) {
+  O = toObject(O);
+  if (has(O, IE_PROTO)) return O[IE_PROTO];
+  if (typeof O.constructor == 'function' && O instanceof O.constructor) {
+    return O.constructor.prototype;
+  } return O instanceof Object ? ObjectProto : null;
+};
+
+
+/***/ }),
+
 /***/ "UDep":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -169,6 +401,34 @@ module.exports = __webpack_require__("WEpk").Map;
 
 /***/ }),
 
+/***/ "UO39":
+/***/ (function(module, exports) {
+
+module.exports = function (done, value) {
+  return { value: value, done: !!done };
+};
+
+
+/***/ }),
+
+/***/ "UWiX":
+/***/ (function(module, exports, __webpack_require__) {
+
+var store = __webpack_require__("29s/")('wks');
+var uid = __webpack_require__("YqAc");
+var Symbol = __webpack_require__("5T2Y").Symbol;
+var USE_SYMBOL = typeof Symbol == 'function';
+
+var $exports = module.exports = function (name) {
+  return store[name] || (store[name] =
+    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));
+};
+
+$exports.store = store;
+
+
+/***/ }),
+
 /***/ "V7Et":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -385,6 +645,20 @@ module.exports = {
 
 /***/ }),
 
+/***/ "XJU/":
+/***/ (function(module, exports, __webpack_require__) {
+
+var hide = __webpack_require__("NegM");
+module.exports = function (target, src, safe) {
+  for (var key in src) {
+    if (safe && target[key]) target[key] = src[key];
+    else hide(target, key, src[key]);
+  } return target;
+};
+
+
+/***/ }),
+
 /***/ "XLbu":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -440,6 +714,32 @@ module.exports = function (COLLECTION) {
 
 /***/ }),
 
+/***/ "bBy9":
+/***/ (function(module, exports, __webpack_require__) {
+
+__webpack_require__("w2d+");
+var global = __webpack_require__("5T2Y");
+var hide = __webpack_require__("NegM");
+var Iterators = __webpack_require__("SBuE");
+var TO_STRING_TAG = __webpack_require__("UWiX")('toStringTag');
+
+var DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +
+  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +
+  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +
+  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +
+  'TextTrackList,TouchList').split(',');
+
+for (var i = 0; i < DOMIterables.length; i++) {
+  var NAME = DOMIterables[i];
+  var Collection = global[NAME];
+  var proto = Collection && Collection.prototype;
+  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);
+  Iterators[NAME] = Iterators.Array;
+}
+
+
+/***/ }),
+
 /***/ "cHUd":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -483,9 +783,9 @@ var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
 var _router = _interopRequireDefault(__webpack_require__("nOHt"));
 
-var _rewriteUrlForExport = __webpack_require__("KA3u");
+var _rewriteUrlForExport = __webpack_require__("P5f7");
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 /* global __NEXT_DATA__ */
 
 
@@ -731,6 +1031,30 @@ exports.default = _default;
 
 /***/ }),
 
+/***/ "ccE7":
+/***/ (function(module, exports, __webpack_require__) {
+
+var toInteger = __webpack_require__("Ojgd");
+var defined = __webpack_require__("Jes0");
+// true  -> String#at
+// false -> String#codePointAt
+module.exports = function (TO_STRING) {
+  return function (that, pos) {
+    var s = String(defined(that));
+    var i = toInteger(pos);
+    var l = s.length;
+    var a, b;
+    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;
+    a = s.charCodeAt(i);
+    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff
+      ? TO_STRING ? s.charAt(i) : a
+      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
+  };
+};
+
+
+/***/ }),
+
 /***/ "dVTT":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -740,6 +1064,41 @@ __webpack_require__("aPfg")('Map');
 
 /***/ }),
 
+/***/ "fNZA":
+/***/ (function(module, exports, __webpack_require__) {
+
+var classof = __webpack_require__("QMMT");
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var Iterators = __webpack_require__("SBuE");
+module.exports = __webpack_require__("WEpk").getIteratorMethod = function (it) {
+  if (it != undefined) return it[ITERATOR]
+    || it['@@iterator']
+    || Iterators[classof(it)];
+};
+
+
+/***/ }),
+
+/***/ "fpC5":
+/***/ (function(module, exports, __webpack_require__) {
+
+var dP = __webpack_require__("2faE");
+var anObject = __webpack_require__("5K7Z");
+var getKeys = __webpack_require__("w6GO");
+
+module.exports = __webpack_require__("jmDH") ? Object.defineProperties : function defineProperties(O, Properties) {
+  anObject(O);
+  var keys = getKeys(Properties);
+  var length = keys.length;
+  var i = 0;
+  var P;
+  while (length > i) dP.f(O, P = keys[i++], Properties[P]);
+  return O;
+};
+
+
+/***/ }),
+
 /***/ "g33z":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -767,6 +1126,35 @@ module.exports = __webpack_require__("raTm")(MAP, function (get) {
 
 /***/ }),
 
+/***/ "hDam":
+/***/ (function(module, exports) {
+
+module.exports = function () { /* empty */ };
+
+
+/***/ }),
+
+/***/ "j2DC":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var create = __webpack_require__("oVml");
+var descriptor = __webpack_require__("rr1i");
+var setToStringTag = __webpack_require__("RfKB");
+var IteratorPrototype = {};
+
+// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
+__webpack_require__("NegM")(IteratorPrototype, __webpack_require__("UWiX")('iterator'), function () { return this; });
+
+module.exports = function (Constructor, NAME, next) {
+  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });
+  setToStringTag(Constructor, NAME + ' Iterator');
+};
+
+
+/***/ }),
+
 /***/ "kAMH":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -779,6 +1167,14 @@ module.exports = Array.isArray || function isArray(arg) {
 
 /***/ }),
 
+/***/ "kTiW":
+/***/ (function(module, exports, __webpack_require__) {
+
+module.exports = __webpack_require__("NegM");
+
+
+/***/ }),
+
 /***/ "n3ko":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -791,6 +1187,86 @@ module.exports = function (it, TYPE) {
 
 /***/ }),
 
+/***/ "oVml":
+/***/ (function(module, exports, __webpack_require__) {
+
+// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
+var anObject = __webpack_require__("5K7Z");
+var dPs = __webpack_require__("fpC5");
+var enumBugKeys = __webpack_require__("FpHa");
+var IE_PROTO = __webpack_require__("VVlx")('IE_PROTO');
+var Empty = function () { /* empty */ };
+var PROTOTYPE = 'prototype';
+
+// Create object with fake `null` prototype: use iframe Object with cleared prototype
+var createDict = function () {
+  // Thrash, waste and sodomy: IE GC bug
+  var iframe = __webpack_require__("Hsns")('iframe');
+  var i = enumBugKeys.length;
+  var lt = '<';
+  var gt = '>';
+  var iframeDocument;
+  iframe.style.display = 'none';
+  __webpack_require__("MvwC").appendChild(iframe);
+  iframe.src = 'javascript:'; // eslint-disable-line no-script-url
+  // createDict = iframe.contentWindow.Object;
+  // html.removeChild(iframe);
+  iframeDocument = iframe.contentWindow.document;
+  iframeDocument.open();
+  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);
+  iframeDocument.close();
+  createDict = iframeDocument.F;
+  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];
+  return createDict();
+};
+
+module.exports = Object.create || function create(O, Properties) {
+  var result;
+  if (O !== null) {
+    Empty[PROTOTYPE] = anObject(O);
+    result = new Empty();
+    Empty[PROTOTYPE] = null;
+    // add "__proto__" for Object.getPrototypeOf polyfill
+    result[IE_PROTO] = O;
+  } else result = createDict();
+  return Properties === undefined ? result : dPs(result, Properties);
+};
+
+
+/***/ }),
+
+/***/ "oioR":
+/***/ (function(module, exports, __webpack_require__) {
+
+var ctx = __webpack_require__("2GTP");
+var call = __webpack_require__("sNwI");
+var isArrayIter = __webpack_require__("NwJ3");
+var anObject = __webpack_require__("5K7Z");
+var toLength = __webpack_require__("tEej");
+var getIterFn = __webpack_require__("fNZA");
+var BREAK = {};
+var RETURN = {};
+var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {
+  var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);
+  var f = ctx(fn, that, entries ? 2 : 1);
+  var index = 0;
+  var length, step, iterator, result;
+  if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');
+  // fast case for arrays with default iterator
+  if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {
+    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
+    if (result === BREAK || result === RETURN) return result;
+  } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {
+    result = call(iterator, f, step.value, entries);
+    if (result === BREAK || result === RETURN) return result;
+  }
+};
+exports.BREAK = BREAK;
+exports.RETURN = RETURN;
+
+
+/***/ }),
+
 /***/ "raTm":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -858,6 +1334,25 @@ module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
 
 /***/ }),
 
+/***/ "sNwI":
+/***/ (function(module, exports, __webpack_require__) {
+
+// call something on iterator step with safe closing on error
+var anObject = __webpack_require__("5K7Z");
+module.exports = function (iterator, fn, value, entries) {
+  try {
+    return entries ? fn(anObject(value)[0], value[1]) : fn(value);
+  // 7.4.6 IteratorClose(iterator, completion)
+  } catch (e) {
+    var ret = iterator['return'];
+    if (ret !== undefined) anObject(ret.call(iterator));
+    throw e;
+  }
+};
+
+
+/***/ }),
+
 /***/ "v6xn":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -869,6 +1364,55 @@ module.exports = function (original, length) {
 };
 
 
+/***/ }),
+
+/***/ "w2d+":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var addToUnscopables = __webpack_require__("hDam");
+var step = __webpack_require__("UO39");
+var Iterators = __webpack_require__("SBuE");
+var toIObject = __webpack_require__("NsO/");
+
+// 22.1.3.4 Array.prototype.entries()
+// 22.1.3.13 Array.prototype.keys()
+// 22.1.3.29 Array.prototype.values()
+// 22.1.3.30 Array.prototype[@@iterator]()
+module.exports = __webpack_require__("MPFp")(Array, 'Array', function (iterated, kind) {
+  this._t = toIObject(iterated); // target
+  this._i = 0;                   // next index
+  this._k = kind;                // kind
+// 22.1.5.2.1 %ArrayIteratorPrototype%.next()
+}, function () {
+  var O = this._t;
+  var kind = this._k;
+  var index = this._i++;
+  if (!O || index >= O.length) {
+    this._t = undefined;
+    return step(1);
+  }
+  if (kind == 'keys') return step(0, index);
+  if (kind == 'values') return step(0, O[index]);
+  return step(0, [index, O[index]]);
+}, 'values');
+
+// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
+Iterators.Arguments = Iterators.Array;
+
+addToUnscopables('keys');
+addToUnscopables('values');
+addToUnscopables('entries');
+
+
+/***/ }),
+
+/***/ "wgeU":
+/***/ (function(module, exports) {
+
+
+
 /***/ })
 
 },[["V8Sf",0,1,2]]]);
\ No newline at end of file
Diff for routerDirect.module.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[8],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[9],{
 
 /***/ "LtRI":
 /***/ (function(module, exports, __webpack_require__) {
Diff for withRouter.module.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[9],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[10],{
 
 /***/ "0Hlz":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
Diff for index.html
@@ -6,19 +6,21 @@
         <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"
         />
         <meta name="next-head-count" content="2" />
-        <link rel="preload" href="/_next/static/3LjeTOsEFXh-RaNYrnLY6/pages/index.module.js"
+        <link rel="preload" href="/_next/static/6voLVttXhxRwZqkanRgl8/pages/index.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/3LjeTOsEFXh-RaNYrnLY6/pages/_app.module.js"
+        <link rel="preload" href="/_next/static/6voLVttXhxRwZqkanRgl8/pages/_app.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-ea228487a429f03c22be.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-2db0ada4beb83ccb90d3.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/09b630030a979fcdcaf4996a537a39c7a5926c99.c659a74b6088e6ac1abe.module.js"
+        <link rel="preload" href="/_next/static/chunks/ddbed41362e33c598037c09d503f5ba3341c9c01.4d964fd8388c4017eabc.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/3LjeTOsEFXh-RaNYrnLY6/_buildManifest.module.js"
+        <link rel="preload" href="/_next/static/chunks/34da8e8699f04423cf046a4adb7e74a5eb7244ff.3f4abea1185a064f32e0.module.js"
+        as="script" crossorigin="anonymous" />
+        <link rel="preload" href="/_next/static/6voLVttXhxRwZqkanRgl8/_buildManifest.module.js"
         as="script" crossorigin="anonymous" />
     </head>
     
@@ -26,40 +28,44 @@
         <div id="__next">Hello world 👋</div>
         <script id="__NEXT_DATA__" type="application/json"
         crossorigin="anonymous">
-            {"dataManager":"[]","props":{"pageProps":{}},"page":"/","query":{},"buildId":"3LjeTOsEFXh-RaNYrnLY6"}
+            {"dataManager":"[]","props":{"pageProps":{}},"page":"/","query":{},"buildId":"6voLVttXhxRwZqkanRgl8"}
         </script>
         <script crossorigin="anonymous" nomodule="">
             !function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();
         </script>
-        <script async="" data-next-page="/" src="/_next/static/3LjeTOsEFXh-RaNYrnLY6/pages/index.js"
+        <script async="" data-next-page="/" src="/_next/static/6voLVttXhxRwZqkanRgl8/pages/index.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/" src="/_next/static/3LjeTOsEFXh-RaNYrnLY6/pages/index.module.js"
+        <script async="" data-next-page="/" src="/_next/static/6voLVttXhxRwZqkanRgl8/pages/index.module.js"
         crossorigin="anonymous" type="module"></script>
-        <script async="" data-next-page="/_app" src="/_next/static/3LjeTOsEFXh-RaNYrnLY6/pages/_app.js"
+        <script async="" data-next-page="/_app" src="/_next/static/6voLVttXhxRwZqkanRgl8/pages/_app.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/_app" src="/_next/static/3LjeTOsEFXh-RaNYrnLY6/pages/_app.module.js"
+        <script async="" data-next-page="/_app" src="/_next/static/6voLVttXhxRwZqkanRgl8/pages/_app.module.js"
         crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/runtime/webpack-a470c2a25bcb4d5a8ec0.js"
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-a1e3a940d5bb499fc0c7.js"
+        <script src="/_next/static/runtime/main-a188ebd08a5f20653f30.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-ea228487a429f03c22be.module.js"
+        <script src="/_next/static/runtime/main-2db0ada4beb83ccb90d3.module.js"
         async="" crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.js"
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/47d2acc1918a635b336fd7151edea6f36e5cfa39.155621535702fe040780.js"
+        <script src="/_next/static/chunks/4c73059d70b02d866d92c13ee5ba73c94e99a9d8.51a842c47a941d029b87.js"
+        async="" crossorigin="anonymous" nomodule=""></script>
+        <script src="/_next/static/chunks/ddbed41362e33c598037c09d503f5ba3341c9c01.8ec578cd8cb4c871a95f.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/09b630030a979fcdcaf4996a537a39c7a5926c99.f6f7599a2edf91d8366a.js"
+        <script src="/_next/static/chunks/ddbed41362e33c598037c09d503f5ba3341c9c01.4d964fd8388c4017eabc.module.js"
+        async="" crossorigin="anonymous" type="module"></script>
+        <script src="/_next/static/chunks/34da8e8699f04423cf046a4adb7e74a5eb7244ff.883a35a4990b7a95e5bc.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/09b630030a979fcdcaf4996a537a39c7a5926c99.c659a74b6088e6ac1abe.module.js"
+        <script src="/_next/static/chunks/34da8e8699f04423cf046a4adb7e74a5eb7244ff.3f4abea1185a064f32e0.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/3LjeTOsEFXh-RaNYrnLY6/_buildManifest.js"
+        <script src="/_next/static/6voLVttXhxRwZqkanRgl8/_buildManifest.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/3LjeTOsEFXh-RaNYrnLY6/_buildManifest.module.js"
+        <script src="/_next/static/6voLVttXhxRwZqkanRgl8/_buildManifest.module.js"
         async="" crossorigin="anonymous" type="module"></script>
     </body>
Diff for link.html
@@ -6,19 +6,21 @@
         <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"
         />
         <meta name="next-head-count" content="2" />
-        <link rel="preload" href="/_next/static/3LjeTOsEFXh-RaNYrnLY6/pages/link.module.js"
+        <link rel="preload" href="/_next/static/6voLVttXhxRwZqkanRgl8/pages/link.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/3LjeTOsEFXh-RaNYrnLY6/pages/_app.module.js"
+        <link rel="preload" href="/_next/static/6voLVttXhxRwZqkanRgl8/pages/_app.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/09b630030a979fcdcaf4996a537a39c7a5926c99.c659a74b6088e6ac1abe.module.js"
+        <link rel="preload" href="/_next/static/chunks/ddbed41362e33c598037c09d503f5ba3341c9c01.4d964fd8388c4017eabc.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-ea228487a429f03c22be.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-2db0ada4beb83ccb90d3.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/3LjeTOsEFXh-RaNYrnLY6/_buildManifest.module.js"
+        <link rel="preload" href="/_next/static/chunks/34da8e8699f04423cf046a4adb7e74a5eb7244ff.3f4abea1185a064f32e0.module.js"
+        as="script" crossorigin="anonymous" />
+        <link rel="preload" href="/_next/static/6voLVttXhxRwZqkanRgl8/_buildManifest.module.js"
         as="script" crossorigin="anonymous" />
     </head>
     
@@ -29,18 +31,18 @@
             </div>
         </div>
         <script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">
-            {"dataManager":"[]","props":{"pageProps":{}},"page":"/link","query":{},"buildId":"3LjeTOsEFXh-RaNYrnLY6"}
+            {"dataManager":"[]","props":{"pageProps":{}},"page":"/link","query":{},"buildId":"6voLVttXhxRwZqkanRgl8"}
         </script>
         <script crossorigin="anonymous" nomodule="">
             !function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();
         </script>
-        <script async="" data-next-page="/link" src="/_next/static/3LjeTOsEFXh-RaNYrnLY6/pages/link.js"
+        <script async="" data-next-page="/link" src="/_next/static/6voLVttXhxRwZqkanRgl8/pages/link.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/link" src="/_next/static/3LjeTOsEFXh-RaNYrnLY6/pages/link.module.js"
+        <script async="" data-next-page="/link" src="/_next/static/6voLVttXhxRwZqkanRgl8/pages/link.module.js"
         crossorigin="anonymous" type="module"></script>
-        <script async="" data-next-page="/_app" src="/_next/static/3LjeTOsEFXh-RaNYrnLY6/pages/_app.js"
+        <script async="" data-next-page="/_app" src="/_next/static/6voLVttXhxRwZqkanRgl8/pages/_app.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/_app" src="/_next/static/3LjeTOsEFXh-RaNYrnLY6/pages/_app.module.js"
+        <script async="" data-next-page="/_app" src="/_next/static/6voLVttXhxRwZqkanRgl8/pages/_app.module.js"
         crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/runtime/webpack-a470c2a25bcb4d5a8ec0.js"
         async="" crossorigin="anonymous" nomodule=""></script>
@@ -50,19 +52,23 @@
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/47d2acc1918a635b336fd7151edea6f36e5cfa39.155621535702fe040780.js"
+        <script src="/_next/static/chunks/4c73059d70b02d866d92c13ee5ba73c94e99a9d8.51a842c47a941d029b87.js"
+        async="" crossorigin="anonymous" nomodule=""></script>
+        <script src="/_next/static/chunks/ddbed41362e33c598037c09d503f5ba3341c9c01.8ec578cd8cb4c871a95f.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/09b630030a979fcdcaf4996a537a39c7a5926c99.f6f7599a2edf91d8366a.js"
+        <script src="/_next/static/chunks/ddbed41362e33c598037c09d503f5ba3341c9c01.4d964fd8388c4017eabc.module.js"
+        async="" crossorigin="anonymous" type="module"></script>
+        <script src="/_next/static/runtime/main-a188ebd08a5f20653f30.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/09b630030a979fcdcaf4996a537a39c7a5926c99.c659a74b6088e6ac1abe.module.js"
+        <script src="/_next/static/runtime/main-2db0ada4beb83ccb90d3.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-a1e3a940d5bb499fc0c7.js"
+        <script src="/_next/static/chunks/34da8e8699f04423cf046a4adb7e74a5eb7244ff.883a35a4990b7a95e5bc.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-ea228487a429f03c22be.module.js"
+        <script src="/_next/static/chunks/34da8e8699f04423cf046a4adb7e74a5eb7244ff.3f4abea1185a064f32e0.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/3LjeTOsEFXh-RaNYrnLY6/_buildManifest.js"
+        <script src="/_next/static/6voLVttXhxRwZqkanRgl8/_buildManifest.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/3LjeTOsEFXh-RaNYrnLY6/_buildManifest.module.js"
+        <script src="/_next/static/6voLVttXhxRwZqkanRgl8/_buildManifest.module.js"
         async="" crossorigin="anonymous" type="module"></script>
     </body>
Diff for withRouter.html
@@ -6,19 +6,21 @@
         <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"
         />
         <meta name="next-head-count" content="2" />
-        <link rel="preload" href="/_next/static/3LjeTOsEFXh-RaNYrnLY6/pages/withRouter.module.js"
+        <link rel="preload" href="/_next/static/6voLVttXhxRwZqkanRgl8/pages/withRouter.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/3LjeTOsEFXh-RaNYrnLY6/pages/_app.module.js"
+        <link rel="preload" href="/_next/static/6voLVttXhxRwZqkanRgl8/pages/_app.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/09b630030a979fcdcaf4996a537a39c7a5926c99.c659a74b6088e6ac1abe.module.js"
+        <link rel="preload" href="/_next/static/chunks/ddbed41362e33c598037c09d503f5ba3341c9c01.4d964fd8388c4017eabc.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-ea228487a429f03c22be.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-2db0ada4beb83ccb90d3.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/3LjeTOsEFXh-RaNYrnLY6/_buildManifest.module.js"
+        <link rel="preload" href="/_next/static/chunks/34da8e8699f04423cf046a4adb7e74a5eb7244ff.3f4abea1185a064f32e0.module.js"
+        as="script" crossorigin="anonymous" />
+        <link rel="preload" href="/_next/static/6voLVttXhxRwZqkanRgl8/_buildManifest.module.js"
         as="script" crossorigin="anonymous" />
     </head>
     
@@ -27,18 +29,18 @@
             <div>I use withRouter</div>
         </div>
         <script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">
-            {"dataManager":"[]","props":{"pageProps":{}},"page":"/withRouter","query":{},"buildId":"3LjeTOsEFXh-RaNYrnLY6"}
+            {"dataManager":"[]","props":{"pageProps":{}},"page":"/withRouter","query":{},"buildId":"6voLVttXhxRwZqkanRgl8"}
         </script>
         <script crossorigin="anonymous" nomodule="">
             !function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();
         </script>
-        <script async="" data-next-page="/withRouter" src="/_next/static/3LjeTOsEFXh-RaNYrnLY6/pages/withRouter.js"
+        <script async="" data-next-page="/withRouter" src="/_next/static/6voLVttXhxRwZqkanRgl8/pages/withRouter.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/withRouter" src="/_next/static/3LjeTOsEFXh-RaNYrnLY6/pages/withRouter.module.js"
+        <script async="" data-next-page="/withRouter" src="/_next/static/6voLVttXhxRwZqkanRgl8/pages/withRouter.module.js"
         crossorigin="anonymous" type="module"></script>
-        <script async="" data-next-page="/_app" src="/_next/static/3LjeTOsEFXh-RaNYrnLY6/pages/_app.js"
+        <script async="" data-next-page="/_app" src="/_next/static/6voLVttXhxRwZqkanRgl8/pages/_app.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/_app" src="/_next/static/3LjeTOsEFXh-RaNYrnLY6/pages/_app.module.js"
+        <script async="" data-next-page="/_app" src="/_next/static/6voLVttXhxRwZqkanRgl8/pages/_app.module.js"
         crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/runtime/webpack-a470c2a25bcb4d5a8ec0.js"
         async="" crossorigin="anonymous" nomodule=""></script>
@@ -48,19 +50,23 @@
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/47d2acc1918a635b336fd7151edea6f36e5cfa39.155621535702fe040780.js"
+        <script src="/_next/static/chunks/4c73059d70b02d866d92c13ee5ba73c94e99a9d8.51a842c47a941d029b87.js"
+        async="" crossorigin="anonymous" nomodule=""></script>
+        <script src="/_next/static/chunks/ddbed41362e33c598037c09d503f5ba3341c9c01.8ec578cd8cb4c871a95f.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/09b630030a979fcdcaf4996a537a39c7a5926c99.f6f7599a2edf91d8366a.js"
+        <script src="/_next/static/chunks/ddbed41362e33c598037c09d503f5ba3341c9c01.4d964fd8388c4017eabc.module.js"
+        async="" crossorigin="anonymous" type="module"></script>
+        <script src="/_next/static/runtime/main-a188ebd08a5f20653f30.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/09b630030a979fcdcaf4996a537a39c7a5926c99.c659a74b6088e6ac1abe.module.js"
+        <script src="/_next/static/runtime/main-2db0ada4beb83ccb90d3.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-a1e3a940d5bb499fc0c7.js"
+        <script src="/_next/static/chunks/34da8e8699f04423cf046a4adb7e74a5eb7244ff.883a35a4990b7a95e5bc.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-ea228487a429f03c22be.module.js"
+        <script src="/_next/static/chunks/34da8e8699f04423cf046a4adb7e74a5eb7244ff.3f4abea1185a064f32e0.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/3LjeTOsEFXh-RaNYrnLY6/_buildManifest.js"
+        <script src="/_next/static/6voLVttXhxRwZqkanRgl8/_buildManifest.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/3LjeTOsEFXh-RaNYrnLY6/_buildManifest.module.js"
+        <script src="/_next/static/6voLVttXhxRwZqkanRgl8/_buildManifest.module.js"
         async="" crossorigin="anonymous" type="module"></script>
     </body>

Serverless Mode (Increase detected ⚠️)
General Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
buildDuration 25.5s 22s -3.5s
nodeModulesSize 42 MB 42 MB -27.5 kB
Client Bundles (main, webpack, commons) Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
main-HASH.js 18.3 kB 14.4 kB -3.84 kB
main-HASH.js gzip 6.66 kB 5.12 kB -1.55 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
Overall change -3.84 kB
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
main-HASH.module.js 16.6 kB 10.8 kB -5.76 kB
main-HASH.module.js gzip 6.39 kB 4.02 kB -2.37 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH.module.js gzip 746 B 746 B
Overall change -5.76 kB
Client Pages Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_app.js 1.83 kB 1.84 kB ⚠️ +2 B
_app.js gzip 884 B 885 B ⚠️ +1 B
_error.js 12.1 kB 5.36 kB -6.75 kB
_error.js gzip 4.76 kB 2.14 kB -2.62 kB
hooks.js 12.7 kB 12.7 kB
hooks.js gzip 4.81 kB 4.81 kB
index.js 343 B 343 B
index.js gzip 237 B 237 B
link.js 8.14 kB 9.93 kB ⚠️ +1.79 kB
link.js gzip 3.49 kB 4.13 kB ⚠️ +635 B
routerDirect.js 433 B 434 B ⚠️ +1 B
routerDirect.js gzip 296 B 296 B
withRouter.js 444 B 444 B
withRouter.js gzip 294 B 294 B
Overall change -4.96 kB
Client Pages Modern Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_app.module.js 1.73 kB 1.38 kB -349 B
_app.module.js gzip 840 B 695 B -145 B
_error.module.js 23.3 kB 6.21 kB -17.1 kB
_error.module.js gzip 8.62 kB 2.46 kB -6.16 kB
hooks.module.js 1.55 kB 1.55 kB
hooks.module.js gzip 804 B 805 B ⚠️ +1 B
index.module.js 319 B 319 B
index.module.js gzip 238 B 238 B
link.module.js 8.52 kB 14.6 kB ⚠️ +6.11 kB
link.module.js gzip 3.68 kB 5.98 kB ⚠️ +2.3 kB
routerDirect.module.js 419 B 419 B
routerDirect.module.js gzip 294 B 294 B
withRouter.module.js 429 B 430 B ⚠️ +1 B
withRouter.module.js gzip 293 B 293 B
Overall change -11.3 kB
Client Build Manifests
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_buildManifest.js 81 B 81 B
_buildManifest.js gzip 61 B 61 B
_buildManifest.module.js 81 B 81 B
_buildManifest.module.js gzip 61 B 61 B
Overall change
Serverless bundles Overall increase ⚠️
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_error.js 248 kB 249 kB ⚠️ +1.22 kB
_error.js gzip 66.3 kB 66 kB -262 B
hooks.html 3.86 kB 4.34 kB ⚠️ +474 B
hooks.html gzip 988 B 1.05 kB ⚠️ +67 B
index.js 248 kB 249 kB ⚠️ +1.18 kB
index.js gzip 66.7 kB 66.3 kB -447 B
link.js 256 kB 259 kB ⚠️ +3 kB
link.js gzip 69 kB 68.8 kB -157 B
routerDirect.js 249 kB 250 kB ⚠️ +1.18 kB
routerDirect.js gzip 66.8 kB 66.3 kB -492 B
withRouter.js 249 kB 250 kB ⚠️ +1.18 kB
withRouter.js gzip 66.8 kB 66.4 kB -375 B
Overall change ⚠️ +8.22 kB

@ijjk
Copy link
Member

ijjk commented Sep 3, 2019

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
buildDuration 20.2s 18.8s -1.4s
nodeModulesSize 42 MB 42 MB -27.4 kB
Client Bundles (main, webpack, commons) Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
main-HASH.js 18.3 kB 14.4 kB -3.84 kB
main-HASH.js gzip 6.66 kB 5.12 kB -1.55 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
Overall change -3.84 kB
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
main-HASH.module.js 16.6 kB 10.8 kB -5.76 kB
main-HASH.module.js gzip 6.39 kB 4.02 kB -2.37 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH.module.js gzip 746 B 746 B
Overall change -5.76 kB
Client Pages Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_app.js 1.83 kB 1.84 kB ⚠️ +2 B
_app.js gzip 884 B 885 B ⚠️ +1 B
_error.js 12.1 kB 5.36 kB -6.75 kB
_error.js gzip 4.76 kB 2.14 kB -2.62 kB
hooks.js 12.7 kB 12.7 kB
hooks.js gzip 4.81 kB 4.81 kB
index.js 343 B 343 B
index.js gzip 237 B 237 B
link.js 8.14 kB 9.93 kB ⚠️ +1.79 kB
link.js gzip 3.49 kB 4.13 kB ⚠️ +635 B
routerDirect.js 433 B 434 B ⚠️ +1 B
routerDirect.js gzip 296 B 296 B
withRouter.js 444 B 444 B
withRouter.js gzip 294 B 294 B
Overall change -4.96 kB
Client Pages Modern Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_app.module.js 1.73 kB 1.38 kB -349 B
_app.module.js gzip 840 B 695 B -145 B
_error.module.js 23.3 kB 6.21 kB -17.1 kB
_error.module.js gzip 8.62 kB 2.46 kB -6.16 kB
hooks.module.js 1.55 kB 1.55 kB
hooks.module.js gzip 804 B 805 B ⚠️ +1 B
index.module.js 319 B 319 B
index.module.js gzip 238 B 238 B
link.module.js 8.52 kB 14.6 kB ⚠️ +6.11 kB
link.module.js gzip 3.68 kB 5.98 kB ⚠️ +2.3 kB
routerDirect.module.js 419 B 419 B
routerDirect.module.js gzip 294 B 294 B
withRouter.module.js 429 B 430 B ⚠️ +1 B
withRouter.module.js gzip 293 B 293 B
Overall change -11.3 kB
Client Build Manifests
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_buildManifest.js 81 B 81 B
_buildManifest.js gzip 61 B 61 B
_buildManifest.module.js 81 B 81 B
_buildManifest.module.js gzip 61 B 61 B
Overall change
Rendered Page Sizes Overall increase ⚠️
zeit/next.js canary timneutkens/next.js add/move-next-server Change
index.html 3.75 kB 4.22 kB ⚠️ +474 B
index.html gzip 961 B 1.03 kB ⚠️ +66 B
link.html 3.79 kB 4.27 kB ⚠️ +474 B
link.html gzip 970 B 1.04 kB ⚠️ +66 B
withRouter.html 3.8 kB 4.28 kB ⚠️ +474 B
withRouter.html gzip 957 B 1.02 kB ⚠️ +67 B
Overall change ⚠️ +1.42 kB

Diffs

Diff for main-HASH.js
@@ -1,26 +1,68 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[11],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[12],{
 
-/***/ "/h46":
+/***/ "0IRE":
 /***/ (function(module, exports, __webpack_require__) {
 
-// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of
-__webpack_require__("cHUd")('Map');
+"use strict";
+
+Object.defineProperty(exports, "__esModule", { value: true });
+class DataManager {
+    constructor(data) {
+        this.data = new Map(data);
+    }
+    getData() {
+        return this.data;
+    }
+    get(key) {
+        return this.data.get(key);
+    }
+    set(key, value) {
+        this.data.set(key, value);
+    }
+    overwrite(data) {
+        this.data = new Map(data);
+    }
+}
+exports.DataManager = DataManager;
 
 
 /***/ }),
 
-/***/ "8iia":
+/***/ "8+Nu":
 /***/ (function(module, exports, __webpack_require__) {
 
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var classof = __webpack_require__("QMMT");
-var from = __webpack_require__("RRc/");
-module.exports = function (NAME) {
-  return function toJSON() {
-    if (classof(this) != NAME) throw TypeError(NAME + "#toJSON isn't generic");
-    return from(this);
-  };
-};
+var arrayWithHoles = __webpack_require__("8bdy");
+
+var iterableToArrayLimit = __webpack_require__("fprZ");
+
+var nonIterableRest = __webpack_require__("Bh1o");
+
+function _slicedToArray(arr, i) {
+  return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest();
+}
+
+module.exports = _slicedToArray;
+
+/***/ }),
+
+/***/ "8bdy":
+/***/ (function(module, exports, __webpack_require__) {
+
+var _Array$isArray = __webpack_require__("p0XB");
+
+function _arrayWithHoles(arr) {
+  if (_Array$isArray(arr)) return arr;
+}
+
+module.exports = _arrayWithHoles;
+
+/***/ }),
+
+/***/ "9BDd":
+/***/ (function(module, exports, __webpack_require__) {
+
+__webpack_require__("GvbO");
+module.exports = __webpack_require__("WEpk").Array.isArray;
 
 
 /***/ }),
@@ -42,26 +84,14 @@ window.next = next;
 
 /***/ }),
 
-/***/ "C2SN":
-/***/ (function(module, exports, __webpack_require__) {
+/***/ "Bh1o":
+/***/ (function(module, exports) {
 
-var isObject = __webpack_require__("93I4");
-var isArray = __webpack_require__("kAMH");
-var SPECIES = __webpack_require__("UWiX")('species');
-
-module.exports = function (original) {
-  var C;
-  if (isArray(original)) {
-    C = original.constructor;
-    // cross-realm fallback
-    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-    if (isObject(C)) {
-      C = C[SPECIES];
-      if (C === null) C = undefined;
-    }
-  } return C === undefined ? Array : C;
-};
+function _nonIterableRest() {
+  throw new TypeError("Invalid attempt to destructure non-iterable instance");
+}
 
+module.exports = _nonIterableRest;
 
 /***/ }),
 
@@ -208,57 +238,33 @@ function reactElementToDOM(_ref) {
 
 /***/ }),
 
-/***/ "HohS":
+/***/ "FYa8":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var runtimeConfig;
-
-exports["default"] = function () {
-  return runtimeConfig;
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+    result["default"] = mod;
+    return result;
 };
+Object.defineProperty(exports, "__esModule", { value: true });
+const React = __importStar(__webpack_require__("q1tI"));
+exports.HeadManagerContext = React.createContext(null);
 
-function setConfig(configValue) {
-  runtimeConfig = configValue;
-}
-
-exports.setConfig = setConfig;
 
 /***/ }),
 
-/***/ "IClC":
+/***/ "GvbO":
 /***/ (function(module, exports, __webpack_require__) {
 
-"use strict";
-
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-var __importStar = this && this.__importStar || function (mod) {
-  if (mod && mod.__esModule) return mod;
-  var result = {};
-  if (mod != null) for (var k in mod) {
-    if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-  }
-  result["default"] = mod;
-  return result;
-};
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
+// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)
+var $export = __webpack_require__("Y7ZC");
 
-var React = __importStar(__webpack_require__("q1tI"));
+$export($export.S, 'Array', { isArray: __webpack_require__("kAMH") });
 
-exports.HeadManagerContext = React.createContext(null);
 
 /***/ }),
 
@@ -305,25 +311,25 @@ var _headManager = _interopRequireDefault(__webpack_require__("DqTX"));
 
 var _router = __webpack_require__("nOHt");
 
-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 
 var _pageLoader = _interopRequireDefault(__webpack_require__("zmvN"));
 
-var envConfig = _interopRequireWildcard(__webpack_require__("PBx+"));
+var envConfig = _interopRequireWildcard(__webpack_require__("yLiY"));
 
-var _headManagerContext = __webpack_require__("IClC");
+var _headManagerContext = __webpack_require__("FYa8");
 
-var _dataManagerContext = __webpack_require__("qS9g");
+var _dataManagerContext = __webpack_require__("qArv");
 
-var _routerContext = __webpack_require__("9EOK");
+var _routerContext = __webpack_require__("qOIg");
 
-var _dataManager = __webpack_require__("cuFY");
+var _dataManager = __webpack_require__("0IRE");
 
 var _querystring = __webpack_require__("s4NR");
 
-var _isDynamic = __webpack_require__("kcOw");
+var _isDynamic = __webpack_require__("/jkW");
 /* global location */
 // Polyfill Promise globally
 // This is needed because Webpack's dynamic loading(common chunks) code
@@ -863,528 +869,112 @@ function _doRender() {
 
 /***/ }),
 
-/***/ "LX0d":
+/***/ "Rp86":
 /***/ (function(module, exports, __webpack_require__) {
 
-module.exports = __webpack_require__("UDep");
-
-/***/ }),
-
-/***/ "PBx+":
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__("HohS")
-
-
-/***/ }),
-
-/***/ "RRc/":
-/***/ (function(module, exports, __webpack_require__) {
-
-var forOf = __webpack_require__("oioR");
-
-module.exports = function (iter, ITERATOR) {
-  var result = [];
-  forOf(iter, false, result.push, result, ITERATOR);
-  return result;
-};
-
-
-/***/ }),
-
-/***/ "UDep":
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__("wgeU");
-__webpack_require__("FlQf");
 __webpack_require__("bBy9");
-__webpack_require__("g33z");
-__webpack_require__("XLbu");
-__webpack_require__("/h46");
-__webpack_require__("dVTT");
-module.exports = __webpack_require__("WEpk").Map;
-
-
-/***/ }),
-
-/***/ "V7Et":
-/***/ (function(module, exports, __webpack_require__) {
-
-// 0 -> Array#forEach
-// 1 -> Array#map
-// 2 -> Array#filter
-// 3 -> Array#some
-// 4 -> Array#every
-// 5 -> Array#find
-// 6 -> Array#findIndex
-var ctx = __webpack_require__("2GTP");
-var IObject = __webpack_require__("M1xp");
-var toObject = __webpack_require__("JB68");
-var toLength = __webpack_require__("tEej");
-var asc = __webpack_require__("v6xn");
-module.exports = function (TYPE, $create) {
-  var IS_MAP = TYPE == 1;
-  var IS_FILTER = TYPE == 2;
-  var IS_SOME = TYPE == 3;
-  var IS_EVERY = TYPE == 4;
-  var IS_FIND_INDEX = TYPE == 6;
-  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-  var create = $create || asc;
-  return function ($this, callbackfn, that) {
-    var O = toObject($this);
-    var self = IObject(O);
-    var f = ctx(callbackfn, that, 3);
-    var length = toLength(self.length);
-    var index = 0;
-    var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-    var val, res;
-    for (;length > index; index++) if (NO_HOLES || index in self) {
-      val = self[index];
-      res = f(val, index, O);
-      if (TYPE) {
-        if (IS_MAP) result[index] = res;   // map
-        else if (res) switch (TYPE) {
-          case 3: return true;             // some
-          case 5: return val;              // find
-          case 6: return index;            // findIndex
-          case 2: result.push(val);        // filter
-        } else if (IS_EVERY) return false; // every
-      }
-    }
-    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
-  };
-};
-
-
-/***/ }),
-
-/***/ "Wu5q":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var dP = __webpack_require__("2faE").f;
-var create = __webpack_require__("oVml");
-var redefineAll = __webpack_require__("XJU/");
-var ctx = __webpack_require__("2GTP");
-var anInstance = __webpack_require__("EXMj");
-var forOf = __webpack_require__("oioR");
-var $iterDefine = __webpack_require__("MPFp");
-var step = __webpack_require__("UO39");
-var setSpecies = __webpack_require__("TJWN");
-var DESCRIPTORS = __webpack_require__("jmDH");
-var fastKey = __webpack_require__("6/1s").fastKey;
-var validate = __webpack_require__("n3ko");
-var SIZE = DESCRIPTORS ? '_s' : 'size';
-
-var getEntry = function (that, key) {
-  // fast case
-  var index = fastKey(key);
-  var entry;
-  if (index !== 'F') return that._i[index];
-  // frozen object case
-  for (entry = that._f; entry; entry = entry.n) {
-    if (entry.k == key) return entry;
-  }
-};
-
-module.exports = {
-  getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {
-    var C = wrapper(function (that, iterable) {
-      anInstance(that, C, NAME, '_i');
-      that._t = NAME;         // collection type
-      that._i = create(null); // index
-      that._f = undefined;    // first entry
-      that._l = undefined;    // last entry
-      that[SIZE] = 0;         // size
-      if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
-    });
-    redefineAll(C.prototype, {
-      // 23.1.3.1 Map.prototype.clear()
-      // 23.2.3.2 Set.prototype.clear()
-      clear: function clear() {
-        for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {
-          entry.r = true;
-          if (entry.p) entry.p = entry.p.n = undefined;
-          delete data[entry.i];
-        }
-        that._f = that._l = undefined;
-        that[SIZE] = 0;
-      },
-      // 23.1.3.3 Map.prototype.delete(key)
-      // 23.2.3.4 Set.prototype.delete(value)
-      'delete': function (key) {
-        var that = validate(this, NAME);
-        var entry = getEntry(that, key);
-        if (entry) {
-          var next = entry.n;
-          var prev = entry.p;
-          delete that._i[entry.i];
-          entry.r = true;
-          if (prev) prev.n = next;
-          if (next) next.p = prev;
-          if (that._f == entry) that._f = next;
-          if (that._l == entry) that._l = prev;
-          that[SIZE]--;
-        } return !!entry;
-      },
-      // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
-      // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
-      forEach: function forEach(callbackfn /* , that = undefined */) {
-        validate(this, NAME);
-        var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
-        var entry;
-        while (entry = entry ? entry.n : this._f) {
-          f(entry.v, entry.k, this);
-          // revert to the last existing entry
-          while (entry && entry.r) entry = entry.p;
-        }
-      },
-      // 23.1.3.7 Map.prototype.has(key)
-      // 23.2.3.7 Set.prototype.has(value)
-      has: function has(key) {
-        return !!getEntry(validate(this, NAME), key);
-      }
-    });
-    if (DESCRIPTORS) dP(C.prototype, 'size', {
-      get: function () {
-        return validate(this, NAME)[SIZE];
-      }
-    });
-    return C;
-  },
-  def: function (that, key, value) {
-    var entry = getEntry(that, key);
-    var prev, index;
-    // change existing entry
-    if (entry) {
-      entry.v = value;
-    // create new entry
-    } else {
-      that._l = entry = {
-        i: index = fastKey(key, true), // <- index
-        k: key,                        // <- key
-        v: value,                      // <- value
-        p: prev = that._l,             // <- previous entry
-        n: undefined,                  // <- next entry
-        r: false                       // <- removed
-      };
-      if (!that._f) that._f = entry;
-      if (prev) prev.n = entry;
-      that[SIZE]++;
-      // add to index
-      if (index !== 'F') that._i[index] = entry;
-    } return that;
-  },
-  getEntry: getEntry,
-  setStrong: function (C, NAME, IS_MAP) {
-    // add .keys, .values, .entries, [@@iterator]
-    // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
-    $iterDefine(C, NAME, function (iterated, kind) {
-      this._t = validate(iterated, NAME); // target
-      this._k = kind;                     // kind
-      this._l = undefined;                // previous
-    }, function () {
-      var that = this;
-      var kind = that._k;
-      var entry = that._l;
-      // revert to the last existing entry
-      while (entry && entry.r) entry = entry.p;
-      // get next entry
-      if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {
-        // or finish the iteration
-        that._t = undefined;
-        return step(1);
-      }
-      // return step by kind
-      if (kind == 'keys') return step(0, entry.k);
-      if (kind == 'values') return step(0, entry.v);
-      return step(0, [entry.k, entry.v]);
-    }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
-
-    // add [@@species], 23.1.2.2, 23.2.2.2
-    setSpecies(NAME);
-  }
-};
+__webpack_require__("FlQf");
+module.exports = __webpack_require__("fXsU");
 
 
 /***/ }),
 
-/***/ "XLbu":
+/***/ "XXOK":
 /***/ (function(module, exports, __webpack_require__) {
 
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var $export = __webpack_require__("Y7ZC");
-
-$export($export.P + $export.R, 'Map', { toJSON: __webpack_require__("8iia")('Map') });
-
+module.exports = __webpack_require__("Rp86");
 
 /***/ }),
 
-/***/ "aPfg":
+/***/ "fXsU":
 /***/ (function(module, exports, __webpack_require__) {
 
-"use strict";
-
-// https://tc39.github.io/proposal-setmap-offrom/
-var $export = __webpack_require__("Y7ZC");
-var aFunction = __webpack_require__("eaoh");
-var ctx = __webpack_require__("2GTP");
-var forOf = __webpack_require__("oioR");
-
-module.exports = function (COLLECTION) {
-  $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {
-    var mapFn = arguments[1];
-    var mapping, A, n, cb;
-    aFunction(this);
-    mapping = mapFn !== undefined;
-    if (mapping) aFunction(mapFn);
-    if (source == undefined) return new this();
-    A = [];
-    if (mapping) {
-      n = 0;
-      cb = ctx(mapFn, arguments[2], 2);
-      forOf(source, false, function (nextItem) {
-        A.push(cb(nextItem, n++));
-      });
-    } else {
-      forOf(source, false, A.push, A);
-    }
-    return new this(A);
-  } });
+var anObject = __webpack_require__("5K7Z");
+var get = __webpack_require__("fNZA");
+module.exports = __webpack_require__("WEpk").getIterator = function (it) {
+  var iterFn = get(it);
+  if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');
+  return anObject(iterFn.call(it));
 };
 
 
 /***/ }),
 
-/***/ "cHUd":
+/***/ "fprZ":
 /***/ (function(module, exports, __webpack_require__) {
 
-"use strict";
-
-// https://tc39.github.io/proposal-setmap-offrom/
-var $export = __webpack_require__("Y7ZC");
-
-module.exports = function (COLLECTION) {
-  $export($export.S, COLLECTION, { of: function of() {
-    var length = arguments.length;
-    var A = new Array(length);
-    while (length--) A[length] = arguments[length];
-    return new this(A);
-  } });
-};
-
-
-/***/ }),
+var _getIterator = __webpack_require__("XXOK");
 
-/***/ "cuFY":
-/***/ (function(module, exports, __webpack_require__) {
+function _iterableToArrayLimit(arr, i) {
+  var _arr = [];
+  var _n = true;
+  var _d = false;
+  var _e = undefined;
 
-"use strict";
-
-
-var _Map = __webpack_require__("LX0d");
-
-var _classCallCheck = __webpack_require__("/HRN");
-
-var _createClass = __webpack_require__("WaGi");
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var DataManager =
-/*#__PURE__*/
-function () {
-  function DataManager(data) {
-    _classCallCheck(this, DataManager);
-
-    this.data = new _Map(data);
-  }
+  try {
+    for (var _i = _getIterator(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {
+      _arr.push(_s.value);
 
-  _createClass(DataManager, [{
-    key: "getData",
-    value: function getData() {
-      return this.data;
-    }
-  }, {
-    key: "get",
-    value: function get(key) {
-      return this.data.get(key);
-    }
-  }, {
-    key: "set",
-    value: function set(key, value) {
-      this.data.set(key, value);
+      if (i && _arr.length === i) break;
     }
-  }, {
-    key: "overwrite",
-    value: function overwrite(data) {
-      this.data = new _Map(data);
+  } catch (err) {
+    _d = true;
+    _e = err;
+  } finally {
+    try {
+      if (!_n && _i["return"] != null) _i["return"]();
+    } finally {
+      if (_d) throw _e;
     }
-  }]);
-
-  return DataManager;
-}();
-
-exports.DataManager = DataManager;
-
-/***/ }),
-
-/***/ "dVTT":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from
-__webpack_require__("aPfg")('Map');
-
-
-/***/ }),
-
-/***/ "g33z":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var strong = __webpack_require__("Wu5q");
-var validate = __webpack_require__("n3ko");
-var MAP = 'Map';
-
-// 23.1 Map Objects
-module.exports = __webpack_require__("raTm")(MAP, function (get) {
-  return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };
-}, {
-  // 23.1.3.6 Map.prototype.get(key)
-  get: function get(key) {
-    var entry = strong.getEntry(validate(this, MAP), key);
-    return entry && entry.v;
-  },
-  // 23.1.3.9 Map.prototype.set(key, value)
-  set: function set(key, value) {
-    return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);
   }
-}, strong, true);
-
-
-/***/ }),
-
-/***/ "n3ko":
-/***/ (function(module, exports, __webpack_require__) {
 
-var isObject = __webpack_require__("93I4");
-module.exports = function (it, TYPE) {
-  if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');
-  return it;
-};
+  return _arr;
+}
 
+module.exports = _iterableToArrayLimit;
 
 /***/ }),
 
-/***/ "qS9g":
+/***/ "p0XB":
 /***/ (function(module, exports, __webpack_require__) {
 
-"use strict";
-
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-var __importStar = this && this.__importStar || function (mod) {
-  if (mod && mod.__esModule) return mod;
-  var result = {};
-  if (mod != null) for (var k in mod) {
-    if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-  }
-  result["default"] = mod;
-  return result;
-};
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var React = __importStar(__webpack_require__("q1tI"));
-
-exports.DataManagerContext = React.createContext(null);
+module.exports = __webpack_require__("9BDd");
 
 /***/ }),
 
-/***/ "raTm":
+/***/ "qArv":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
-var global = __webpack_require__("5T2Y");
-var $export = __webpack_require__("Y7ZC");
-var meta = __webpack_require__("6/1s");
-var fails = __webpack_require__("KUxP");
-var hide = __webpack_require__("NegM");
-var redefineAll = __webpack_require__("XJU/");
-var forOf = __webpack_require__("oioR");
-var anInstance = __webpack_require__("EXMj");
-var isObject = __webpack_require__("93I4");
-var setToStringTag = __webpack_require__("RfKB");
-var dP = __webpack_require__("2faE").f;
-var each = __webpack_require__("V7Et")(0);
-var DESCRIPTORS = __webpack_require__("jmDH");
-
-module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
-  var Base = global[NAME];
-  var C = Base;
-  var ADDER = IS_MAP ? 'set' : 'add';
-  var proto = C && C.prototype;
-  var O = {};
-  if (!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {
-    new C().entries().next();
-  }))) {
-    // create collection constructor
-    C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);
-    redefineAll(C.prototype, methods);
-    meta.NEED = true;
-  } else {
-    C = wrapper(function (target, iterable) {
-      anInstance(target, C, NAME, '_c');
-      target._c = new Base();
-      if (iterable != undefined) forOf(iterable, IS_MAP, target[ADDER], target);
-    });
-    each('add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON'.split(','), function (KEY) {
-      var IS_ADDER = KEY == 'add' || KEY == 'set';
-      if (KEY in proto && !(IS_WEAK && KEY == 'clear')) hide(C.prototype, KEY, function (a, b) {
-        anInstance(this, C, KEY);
-        if (!IS_ADDER && IS_WEAK && !isObject(a)) return KEY == 'get' ? undefined : false;
-        var result = this._c[KEY](a === 0 ? 0 : a, b);
-        return IS_ADDER ? this : result;
-      });
-    });
-    IS_WEAK || dP(C.prototype, 'size', {
-      get: function () {
-        return this._c.size;
-      }
-    });
-  }
-
-  setToStringTag(C, NAME);
-
-  O[NAME] = C;
-  $export($export.G + $export.W + $export.F, O);
-
-  if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);
-
-  return C;
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+    result["default"] = mod;
+    return result;
 };
+Object.defineProperty(exports, "__esModule", { value: true });
+const React = __importStar(__webpack_require__("q1tI"));
+exports.DataManagerContext = React.createContext(null);
 
 
 /***/ }),
 
-/***/ "v6xn":
+/***/ "yLiY":
 /***/ (function(module, exports, __webpack_require__) {
 
-// 9.4.2.3 ArraySpeciesCreate(originalArray, length)
-var speciesConstructor = __webpack_require__("C2SN");
+"use strict";
 
-module.exports = function (original, length) {
-  return new (speciesConstructor(original))(length);
+Object.defineProperty(exports, "__esModule", { value: true });
+let runtimeConfig;
+exports.default = () => {
+    return runtimeConfig;
 };
+function setConfig(configValue) {
+    runtimeConfig = configValue;
+}
+exports.setConfig = setConfig;
 
 
 /***/ }),
@@ -1410,7 +1000,7 @@ var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("+oT+"));
 
 var _promise = _interopRequireDefault(__webpack_require__("eVuF"));
 
-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 /* global document, window */
 
 
@@ -1741,4 +1331,4 @@ exports["default"] = PageLoader;
 
 /***/ })
 
-},[["BMP1",0,1,2,3]]]);
\ No newline at end of file
+},[["BMP1",0,1,2,3,4]]]);
\ No newline at end of file
Diff for main-HASH.module.js
@@ -1,131 +1,29 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[10],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[11],{
 
-/***/ "+oT+":
+/***/ "0IRE":
 /***/ (function(module, exports, __webpack_require__) {
 
-var _Promise = __webpack_require__("eVuF");
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
-  try {
-    var info = gen[key](arg);
-    var value = info.value;
-  } catch (error) {
-    reject(error);
-    return;
-  }
-
-  if (info.done) {
-    resolve(value);
-  } else {
-    _Promise.resolve(value).then(_next, _throw);
-  }
-}
-
-function _asyncToGenerator(fn) {
-  return function () {
-    var self = this,
-        args = arguments;
-    return new _Promise(function (resolve, reject) {
-      var gen = fn.apply(self, args);
-
-      function _next(value) {
-        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
-      }
-
-      function _throw(err) {
-        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
-      }
+"use strict";
 
-      _next(undefined);
-    });
-  };
+Object.defineProperty(exports, "__esModule", { value: true });
+class DataManager {
+    constructor(data) {
+        this.data = new Map(data);
+    }
+    getData() {
+        return this.data;
+    }
+    get(key) {
+        return this.data.get(key);
+    }
+    set(key, value) {
+        this.data.set(key, value);
+    }
+    overwrite(data) {
+        this.data = new Map(data);
+    }
 }
-
-module.exports = _asyncToGenerator;
-
-/***/ }),
-
-/***/ "/h46":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of
-__webpack_require__("cHUd")('Map');
-
-
-/***/ }),
-
-/***/ "6/1s":
-/***/ (function(module, exports, __webpack_require__) {
-
-var META = __webpack_require__("YqAc")('meta');
-var isObject = __webpack_require__("93I4");
-var has = __webpack_require__("B+OT");
-var setDesc = __webpack_require__("2faE").f;
-var id = 0;
-var isExtensible = Object.isExtensible || function () {
-  return true;
-};
-var FREEZE = !__webpack_require__("KUxP")(function () {
-  return isExtensible(Object.preventExtensions({}));
-});
-var setMeta = function (it) {
-  setDesc(it, META, { value: {
-    i: 'O' + ++id, // object ID
-    w: {}          // weak collections IDs
-  } });
-};
-var fastKey = function (it, create) {
-  // return primitive with prefix
-  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
-  if (!has(it, META)) {
-    // can't set metadata to uncaught frozen object
-    if (!isExtensible(it)) return 'F';
-    // not necessary to add metadata
-    if (!create) return 'E';
-    // add missing metadata
-    setMeta(it);
-  // return object ID
-  } return it[META].i;
-};
-var getWeak = function (it, create) {
-  if (!has(it, META)) {
-    // can't set metadata to uncaught frozen object
-    if (!isExtensible(it)) return true;
-    // not necessary to add metadata
-    if (!create) return false;
-    // add missing metadata
-    setMeta(it);
-  // return hash weak collections IDs
-  } return it[META].w;
-};
-// add metadata on freeze-family methods calling
-var onFreeze = function (it) {
-  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);
-  return it;
-};
-var meta = module.exports = {
-  KEY: META,
-  NEED: false,
-  fastKey: fastKey,
-  getWeak: getWeak,
-  onFreeze: onFreeze
-};
-
-
-/***/ }),
-
-/***/ "8iia":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var classof = __webpack_require__("QMMT");
-var from = __webpack_require__("RRc/");
-module.exports = function (NAME) {
-  return function toJSON() {
-    if (classof(this) != NAME) throw TypeError(NAME + "#toJSON isn't generic");
-    return from(this);
-  };
-};
+exports.DataManager = DataManager;
 
 
 /***/ }),
@@ -147,29 +45,6 @@ window.next = next;
 
 /***/ }),
 
-/***/ "C2SN":
-/***/ (function(module, exports, __webpack_require__) {
-
-var isObject = __webpack_require__("93I4");
-var isArray = __webpack_require__("kAMH");
-var SPECIES = __webpack_require__("UWiX")('species');
-
-module.exports = function (original) {
-  var C;
-  if (isArray(original)) {
-    C = original.constructor;
-    // cross-realm fallback
-    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-    if (isObject(C)) {
-      C = C[SPECIES];
-      if (C === null) C = undefined;
-    }
-  } return C === undefined ? Array : C;
-};
-
-
-/***/ }),
-
 /***/ "DqTX":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -296,56 +171,23 @@ function reactElementToDOM(_ref) {
 
 /***/ }),
 
-/***/ "HohS":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-let runtimeConfig;
-
-exports.default = () => {
-  return runtimeConfig;
-};
-
-function setConfig(configValue) {
-  runtimeConfig = configValue;
-}
-
-exports.setConfig = setConfig;
-
-/***/ }),
-
-/***/ "IClC":
+/***/ "FYa8":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-var __importStar = this && this.__importStar || function (mod) {
-  if (mod && mod.__esModule) return mod;
-  var result = {};
-  if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-  result["default"] = mod;
-  return result;
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+    result["default"] = mod;
+    return result;
 };
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
+Object.defineProperty(exports, "__esModule", { value: true });
 const React = __importStar(__webpack_require__("q1tI"));
-
 exports.HeadManagerContext = React.createContext(null);
 
+
 /***/ }),
 
 /***/ "IKlv":
@@ -377,25 +219,25 @@ var _headManager = _interopRequireDefault(__webpack_require__("DqTX"));
 
 var _router = __webpack_require__("nOHt");
 
-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 
 var _pageLoader = _interopRequireDefault(__webpack_require__("zmvN"));
 
-var envConfig = _interopRequireWildcard(__webpack_require__("PBx+"));
+var envConfig = _interopRequireWildcard(__webpack_require__("yLiY"));
 
-var _headManagerContext = __webpack_require__("IClC");
+var _headManagerContext = __webpack_require__("FYa8");
 
-var _dataManagerContext = __webpack_require__("qS9g");
+var _dataManagerContext = __webpack_require__("qArv");
 
-var _routerContext = __webpack_require__("9EOK");
+var _routerContext = __webpack_require__("qOIg");
 
-var _dataManager = __webpack_require__("cuFY");
+var _dataManager = __webpack_require__("0IRE");
 
 var _querystring = __webpack_require__("s4NR");
 
-var _isDynamic = __webpack_require__("kcOw");
+var _isDynamic = __webpack_require__("/jkW");
 /* global location */
 // Polyfill Promise globally
 // This is needed because Webpack's dynamic loading(common chunks) code
@@ -785,523 +627,39 @@ function _doRender() {
 
 /***/ }),
 
-/***/ "LX0d":
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__("UDep");
-
-/***/ }),
-
-/***/ "PBx+":
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__("HohS")
-
-
-/***/ }),
-
-/***/ "RRc/":
-/***/ (function(module, exports, __webpack_require__) {
-
-var forOf = __webpack_require__("oioR");
-
-module.exports = function (iter, ITERATOR) {
-  var result = [];
-  forOf(iter, false, result.push, result, ITERATOR);
-  return result;
-};
-
-
-/***/ }),
-
-/***/ "UDep":
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__("wgeU");
-__webpack_require__("FlQf");
-__webpack_require__("bBy9");
-__webpack_require__("g33z");
-__webpack_require__("XLbu");
-__webpack_require__("/h46");
-__webpack_require__("dVTT");
-module.exports = __webpack_require__("WEpk").Map;
-
-
-/***/ }),
-
-/***/ "V7Et":
-/***/ (function(module, exports, __webpack_require__) {
-
-// 0 -> Array#forEach
-// 1 -> Array#map
-// 2 -> Array#filter
-// 3 -> Array#some
-// 4 -> Array#every
-// 5 -> Array#find
-// 6 -> Array#findIndex
-var ctx = __webpack_require__("2GTP");
-var IObject = __webpack_require__("M1xp");
-var toObject = __webpack_require__("JB68");
-var toLength = __webpack_require__("tEej");
-var asc = __webpack_require__("v6xn");
-module.exports = function (TYPE, $create) {
-  var IS_MAP = TYPE == 1;
-  var IS_FILTER = TYPE == 2;
-  var IS_SOME = TYPE == 3;
-  var IS_EVERY = TYPE == 4;
-  var IS_FIND_INDEX = TYPE == 6;
-  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-  var create = $create || asc;
-  return function ($this, callbackfn, that) {
-    var O = toObject($this);
-    var self = IObject(O);
-    var f = ctx(callbackfn, that, 3);
-    var length = toLength(self.length);
-    var index = 0;
-    var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-    var val, res;
-    for (;length > index; index++) if (NO_HOLES || index in self) {
-      val = self[index];
-      res = f(val, index, O);
-      if (TYPE) {
-        if (IS_MAP) result[index] = res;   // map
-        else if (res) switch (TYPE) {
-          case 3: return true;             // some
-          case 5: return val;              // find
-          case 6: return index;            // findIndex
-          case 2: result.push(val);        // filter
-        } else if (IS_EVERY) return false; // every
-      }
-    }
-    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
-  };
-};
-
-
-/***/ }),
-
-/***/ "Wu5q":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var dP = __webpack_require__("2faE").f;
-var create = __webpack_require__("oVml");
-var redefineAll = __webpack_require__("XJU/");
-var ctx = __webpack_require__("2GTP");
-var anInstance = __webpack_require__("EXMj");
-var forOf = __webpack_require__("oioR");
-var $iterDefine = __webpack_require__("MPFp");
-var step = __webpack_require__("UO39");
-var setSpecies = __webpack_require__("TJWN");
-var DESCRIPTORS = __webpack_require__("jmDH");
-var fastKey = __webpack_require__("6/1s").fastKey;
-var validate = __webpack_require__("n3ko");
-var SIZE = DESCRIPTORS ? '_s' : 'size';
-
-var getEntry = function (that, key) {
-  // fast case
-  var index = fastKey(key);
-  var entry;
-  if (index !== 'F') return that._i[index];
-  // frozen object case
-  for (entry = that._f; entry; entry = entry.n) {
-    if (entry.k == key) return entry;
-  }
-};
-
-module.exports = {
-  getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {
-    var C = wrapper(function (that, iterable) {
-      anInstance(that, C, NAME, '_i');
-      that._t = NAME;         // collection type
-      that._i = create(null); // index
-      that._f = undefined;    // first entry
-      that._l = undefined;    // last entry
-      that[SIZE] = 0;         // size
-      if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
-    });
-    redefineAll(C.prototype, {
-      // 23.1.3.1 Map.prototype.clear()
-      // 23.2.3.2 Set.prototype.clear()
-      clear: function clear() {
-        for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {
-          entry.r = true;
-          if (entry.p) entry.p = entry.p.n = undefined;
-          delete data[entry.i];
-        }
-        that._f = that._l = undefined;
-        that[SIZE] = 0;
-      },
-      // 23.1.3.3 Map.prototype.delete(key)
-      // 23.2.3.4 Set.prototype.delete(value)
-      'delete': function (key) {
-        var that = validate(this, NAME);
-        var entry = getEntry(that, key);
-        if (entry) {
-          var next = entry.n;
-          var prev = entry.p;
-          delete that._i[entry.i];
-          entry.r = true;
-          if (prev) prev.n = next;
-          if (next) next.p = prev;
-          if (that._f == entry) that._f = next;
-          if (that._l == entry) that._l = prev;
-          that[SIZE]--;
-        } return !!entry;
-      },
-      // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
-      // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
-      forEach: function forEach(callbackfn /* , that = undefined */) {
-        validate(this, NAME);
-        var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
-        var entry;
-        while (entry = entry ? entry.n : this._f) {
-          f(entry.v, entry.k, this);
-          // revert to the last existing entry
-          while (entry && entry.r) entry = entry.p;
-        }
-      },
-      // 23.1.3.7 Map.prototype.has(key)
-      // 23.2.3.7 Set.prototype.has(value)
-      has: function has(key) {
-        return !!getEntry(validate(this, NAME), key);
-      }
-    });
-    if (DESCRIPTORS) dP(C.prototype, 'size', {
-      get: function () {
-        return validate(this, NAME)[SIZE];
-      }
-    });
-    return C;
-  },
-  def: function (that, key, value) {
-    var entry = getEntry(that, key);
-    var prev, index;
-    // change existing entry
-    if (entry) {
-      entry.v = value;
-    // create new entry
-    } else {
-      that._l = entry = {
-        i: index = fastKey(key, true), // <- index
-        k: key,                        // <- key
-        v: value,                      // <- value
-        p: prev = that._l,             // <- previous entry
-        n: undefined,                  // <- next entry
-        r: false                       // <- removed
-      };
-      if (!that._f) that._f = entry;
-      if (prev) prev.n = entry;
-      that[SIZE]++;
-      // add to index
-      if (index !== 'F') that._i[index] = entry;
-    } return that;
-  },
-  getEntry: getEntry,
-  setStrong: function (C, NAME, IS_MAP) {
-    // add .keys, .values, .entries, [@@iterator]
-    // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
-    $iterDefine(C, NAME, function (iterated, kind) {
-      this._t = validate(iterated, NAME); // target
-      this._k = kind;                     // kind
-      this._l = undefined;                // previous
-    }, function () {
-      var that = this;
-      var kind = that._k;
-      var entry = that._l;
-      // revert to the last existing entry
-      while (entry && entry.r) entry = entry.p;
-      // get next entry
-      if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {
-        // or finish the iteration
-        that._t = undefined;
-        return step(1);
-      }
-      // return step by kind
-      if (kind == 'keys') return step(0, entry.k);
-      if (kind == 'values') return step(0, entry.v);
-      return step(0, [entry.k, entry.v]);
-    }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
-
-    // add [@@species], 23.1.2.2, 23.2.2.2
-    setSpecies(NAME);
-  }
-};
-
-
-/***/ }),
-
-/***/ "XLbu":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var $export = __webpack_require__("Y7ZC");
-
-$export($export.P + $export.R, 'Map', { toJSON: __webpack_require__("8iia")('Map') });
-
-
-/***/ }),
-
-/***/ "aPfg":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-// https://tc39.github.io/proposal-setmap-offrom/
-var $export = __webpack_require__("Y7ZC");
-var aFunction = __webpack_require__("eaoh");
-var ctx = __webpack_require__("2GTP");
-var forOf = __webpack_require__("oioR");
-
-module.exports = function (COLLECTION) {
-  $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {
-    var mapFn = arguments[1];
-    var mapping, A, n, cb;
-    aFunction(this);
-    mapping = mapFn !== undefined;
-    if (mapping) aFunction(mapFn);
-    if (source == undefined) return new this();
-    A = [];
-    if (mapping) {
-      n = 0;
-      cb = ctx(mapFn, arguments[2], 2);
-      forOf(source, false, function (nextItem) {
-        A.push(cb(nextItem, n++));
-      });
-    } else {
-      forOf(source, false, A.push, A);
-    }
-    return new this(A);
-  } });
-};
-
-
-/***/ }),
-
-/***/ "cHUd":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-// https://tc39.github.io/proposal-setmap-offrom/
-var $export = __webpack_require__("Y7ZC");
-
-module.exports = function (COLLECTION) {
-  $export($export.S, COLLECTION, { of: function of() {
-    var length = arguments.length;
-    var A = new Array(length);
-    while (length--) A[length] = arguments[length];
-    return new this(A);
-  } });
-};
-
-
-/***/ }),
-
-/***/ "cuFY":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _Map = __webpack_require__("LX0d");
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-class DataManager {
-  constructor(data) {
-    this.data = new _Map(data);
-  }
-
-  getData() {
-    return this.data;
-  }
-
-  get(key) {
-    return this.data.get(key);
-  }
-
-  set(key, value) {
-    this.data.set(key, value);
-  }
-
-  overwrite(data) {
-    this.data = new _Map(data);
-  }
-
-}
-
-exports.DataManager = DataManager;
-
-/***/ }),
-
-/***/ "dVTT":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from
-__webpack_require__("aPfg")('Map');
-
-
-/***/ }),
-
-/***/ "g33z":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var strong = __webpack_require__("Wu5q");
-var validate = __webpack_require__("n3ko");
-var MAP = 'Map';
-
-// 23.1 Map Objects
-module.exports = __webpack_require__("raTm")(MAP, function (get) {
-  return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };
-}, {
-  // 23.1.3.6 Map.prototype.get(key)
-  get: function get(key) {
-    var entry = strong.getEntry(validate(this, MAP), key);
-    return entry && entry.v;
-  },
-  // 23.1.3.9 Map.prototype.set(key, value)
-  set: function set(key, value) {
-    return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);
-  }
-}, strong, true);
-
-
-/***/ }),
-
-/***/ "kAMH":
-/***/ (function(module, exports, __webpack_require__) {
-
-// 7.2.2 IsArray(argument)
-var cof = __webpack_require__("a0xu");
-module.exports = Array.isArray || function isArray(arg) {
-  return cof(arg) == 'Array';
-};
-
-
-/***/ }),
-
-/***/ "n3ko":
-/***/ (function(module, exports, __webpack_require__) {
-
-var isObject = __webpack_require__("93I4");
-module.exports = function (it, TYPE) {
-  if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');
-  return it;
-};
-
-
-/***/ }),
-
-/***/ "qS9g":
+/***/ "qArv":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-var __importStar = this && this.__importStar || function (mod) {
-  if (mod && mod.__esModule) return mod;
-  var result = {};
-  if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-  result["default"] = mod;
-  return result;
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+    result["default"] = mod;
+    return result;
 };
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
+Object.defineProperty(exports, "__esModule", { value: true });
 const React = __importStar(__webpack_require__("q1tI"));
-
 exports.DataManagerContext = React.createContext(null);
 
-/***/ }),
-
-/***/ "raTm":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var global = __webpack_require__("5T2Y");
-var $export = __webpack_require__("Y7ZC");
-var meta = __webpack_require__("6/1s");
-var fails = __webpack_require__("KUxP");
-var hide = __webpack_require__("NegM");
-var redefineAll = __webpack_require__("XJU/");
-var forOf = __webpack_require__("oioR");
-var anInstance = __webpack_require__("EXMj");
-var isObject = __webpack_require__("93I4");
-var setToStringTag = __webpack_require__("RfKB");
-var dP = __webpack_require__("2faE").f;
-var each = __webpack_require__("V7Et")(0);
-var DESCRIPTORS = __webpack_require__("jmDH");
-
-module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
-  var Base = global[NAME];
-  var C = Base;
-  var ADDER = IS_MAP ? 'set' : 'add';
-  var proto = C && C.prototype;
-  var O = {};
-  if (!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {
-    new C().entries().next();
-  }))) {
-    // create collection constructor
-    C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);
-    redefineAll(C.prototype, methods);
-    meta.NEED = true;
-  } else {
-    C = wrapper(function (target, iterable) {
-      anInstance(target, C, NAME, '_c');
-      target._c = new Base();
-      if (iterable != undefined) forOf(iterable, IS_MAP, target[ADDER], target);
-    });
-    each('add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON'.split(','), function (KEY) {
-      var IS_ADDER = KEY == 'add' || KEY == 'set';
-      if (KEY in proto && !(IS_WEAK && KEY == 'clear')) hide(C.prototype, KEY, function (a, b) {
-        anInstance(this, C, KEY);
-        if (!IS_ADDER && IS_WEAK && !isObject(a)) return KEY == 'get' ? undefined : false;
-        var result = this._c[KEY](a === 0 ? 0 : a, b);
-        return IS_ADDER ? this : result;
-      });
-    });
-    IS_WEAK || dP(C.prototype, 'size', {
-      get: function () {
-        return this._c.size;
-      }
-    });
-  }
-
-  setToStringTag(C, NAME);
-
-  O[NAME] = C;
-  $export($export.G + $export.W + $export.F, O);
-
-  if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);
-
-  return C;
-};
-
 
 /***/ }),
 
-/***/ "v6xn":
+/***/ "yLiY":
 /***/ (function(module, exports, __webpack_require__) {
 
-// 9.4.2.3 ArraySpeciesCreate(originalArray, length)
-var speciesConstructor = __webpack_require__("C2SN");
+"use strict";
 
-module.exports = function (original, length) {
-  return new (speciesConstructor(original))(length);
+Object.defineProperty(exports, "__esModule", { value: true });
+let runtimeConfig;
+exports.default = () => {
+    return runtimeConfig;
 };
+function setConfig(configValue) {
+    runtimeConfig = configValue;
+}
+exports.setConfig = setConfig;
 
 
 /***/ }),
@@ -1321,7 +679,7 @@ var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("+oT+"));
 
 var _promise = _interopRequireDefault(__webpack_require__("eVuF"));
 
-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 /* global document, window */
 
 
@@ -1568,4 +926,4 @@ exports.default = PageLoader;
 
 /***/ })
 
-},[["BMP1",0,1,2]]]);
\ No newline at end of file
+},[["BMP1",0,1,2,3]]]);
\ No newline at end of file
Diff for _app.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[4],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[5],{
 
 /***/ "B5Ud":
 /***/ (function(module, exports, __webpack_require__) {
@@ -33,7 +33,7 @@ var _react = _interopRequireDefault(__webpack_require__("q1tI"));
 
 var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 
 exports.AppInitialProps = _utils.AppInitialProps;
 
@@ -200,4 +200,4 @@ function createUrl(router) {
 
 /***/ })
 
-},[["e9+W",0,1,2,3]]]);
\ No newline at end of file
+},[["e9+W",0,1,2,3,4]]]);
\ No newline at end of file
Diff for _error.js

Diff too large to display

Diff for hooks.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[6],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[7],{
 
 /***/ "+MDD":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
Diff for index.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[7],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[8],{
 
 /***/ "RNiq":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
Diff for link.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[8],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[9],{
 
 /***/ "/h46":
 /***/ (function(module, exports, __webpack_require__) {
@@ -48,6 +48,18 @@ module.exports = function (original) {
 
 /***/ }),
 
+/***/ "EXMj":
+/***/ (function(module, exports) {
+
+module.exports = function (it, Constructor, name, forbiddenField) {
+  if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {
+    throw TypeError(name + ': incorrect invocation!');
+  } return it;
+};
+
+
+/***/ }),
+
 /***/ "LX0d":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -55,6 +67,21 @@ module.exports = __webpack_require__("UDep");
 
 /***/ }),
 
+/***/ "NwJ3":
+/***/ (function(module, exports, __webpack_require__) {
+
+// check on default Array iterator
+var Iterators = __webpack_require__("SBuE");
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var ArrayProto = Array.prototype;
+
+module.exports = function (it) {
+  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
+};
+
+
+/***/ }),
+
 /***/ "ObF3":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
@@ -82,6 +109,36 @@ aLink.getInitialProps = function () {
 
 /***/ }),
 
+/***/ "QMMT":
+/***/ (function(module, exports, __webpack_require__) {
+
+// getting tag from 19.1.3.6 Object.prototype.toString()
+var cof = __webpack_require__("a0xu");
+var TAG = __webpack_require__("UWiX")('toStringTag');
+// ES3 wrong here
+var ARG = cof(function () { return arguments; }()) == 'Arguments';
+
+// fallback for IE11 Script Access Denied error
+var tryGet = function (it, key) {
+  try {
+    return it[key];
+  } catch (e) { /* empty */ }
+};
+
+module.exports = function (it) {
+  var O, T, B;
+  return it === undefined ? 'Undefined' : it === null ? 'Null'
+    // @@toStringTag case
+    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T
+    // builtinTag case
+    : ARG ? cof(O)
+    // ES3 arguments fallback
+    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
+};
+
+
+/***/ }),
+
 /***/ "RRc/":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -96,6 +153,28 @@ module.exports = function (iter, ITERATOR) {
 
 /***/ }),
 
+/***/ "TJWN":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var global = __webpack_require__("5T2Y");
+var core = __webpack_require__("WEpk");
+var dP = __webpack_require__("2faE");
+var DESCRIPTORS = __webpack_require__("jmDH");
+var SPECIES = __webpack_require__("UWiX")('species');
+
+module.exports = function (KEY) {
+  var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];
+  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {
+    configurable: true,
+    get: function () { return this; }
+  });
+};
+
+
+/***/ }),
+
 /***/ "UDep":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -327,6 +406,20 @@ module.exports = {
 
 /***/ }),
 
+/***/ "XJU/":
+/***/ (function(module, exports, __webpack_require__) {
+
+var hide = __webpack_require__("NegM");
+module.exports = function (target, src, safe) {
+  for (var key in src) {
+    if (safe && target[key]) target[key] = src[key];
+    else hide(target, key, src[key]);
+  } return target;
+};
+
+
+/***/ }),
+
 /***/ "XLbu":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -435,9 +528,9 @@ var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
 var _router = _interopRequireDefault(__webpack_require__("nOHt"));
 
-var _rewriteUrlForExport = __webpack_require__("KA3u");
+var _rewriteUrlForExport = __webpack_require__("P5f7");
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 /* global __NEXT_DATA__ */
 
 
@@ -704,6 +797,21 @@ __webpack_require__("aPfg")('Map');
 
 /***/ }),
 
+/***/ "fNZA":
+/***/ (function(module, exports, __webpack_require__) {
+
+var classof = __webpack_require__("QMMT");
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var Iterators = __webpack_require__("SBuE");
+module.exports = __webpack_require__("WEpk").getIteratorMethod = function (it) {
+  if (it != undefined) return it[ITERATOR]
+    || it['@@iterator']
+    || Iterators[classof(it)];
+};
+
+
+/***/ }),
+
 /***/ "g33z":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -743,6 +851,38 @@ module.exports = function (it, TYPE) {
 
 /***/ }),
 
+/***/ "oioR":
+/***/ (function(module, exports, __webpack_require__) {
+
+var ctx = __webpack_require__("2GTP");
+var call = __webpack_require__("sNwI");
+var isArrayIter = __webpack_require__("NwJ3");
+var anObject = __webpack_require__("5K7Z");
+var toLength = __webpack_require__("tEej");
+var getIterFn = __webpack_require__("fNZA");
+var BREAK = {};
+var RETURN = {};
+var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {
+  var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);
+  var f = ctx(fn, that, entries ? 2 : 1);
+  var index = 0;
+  var length, step, iterator, result;
+  if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');
+  // fast case for arrays with default iterator
+  if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {
+    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
+    if (result === BREAK || result === RETURN) return result;
+  } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {
+    result = call(iterator, f, step.value, entries);
+    if (result === BREAK || result === RETURN) return result;
+  }
+};
+exports.BREAK = BREAK;
+exports.RETURN = RETURN;
+
+
+/***/ }),
+
 /***/ "raTm":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -810,6 +950,25 @@ module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
 
 /***/ }),
 
+/***/ "sNwI":
+/***/ (function(module, exports, __webpack_require__) {
+
+// call something on iterator step with safe closing on error
+var anObject = __webpack_require__("5K7Z");
+module.exports = function (iterator, fn, value, entries) {
+  try {
+    return entries ? fn(anObject(value)[0], value[1]) : fn(value);
+  // 7.4.6 IteratorClose(iterator, completion)
+  } catch (e) {
+    var ret = iterator['return'];
+    if (ret !== undefined) anObject(ret.call(iterator));
+    throw e;
+  }
+};
+
+
+/***/ }),
+
 /***/ "v6xn":
 /***/ (function(module, exports, __webpack_require__) {
Diff for routerDirect.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[9],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[10],{
 
 /***/ "LtRI":
 /***/ (function(module, exports, __webpack_require__) {
Diff for withRouter.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[10],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[11],{
 
 /***/ "0Hlz":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
Diff for _app.module.js
@@ -1,49 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[3],{
-
-/***/ "+oT+":
-/***/ (function(module, exports, __webpack_require__) {
-
-var _Promise = __webpack_require__("eVuF");
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
-  try {
-    var info = gen[key](arg);
-    var value = info.value;
-  } catch (error) {
-    reject(error);
-    return;
-  }
-
-  if (info.done) {
-    resolve(value);
-  } else {
-    _Promise.resolve(value).then(_next, _throw);
-  }
-}
-
-function _asyncToGenerator(fn) {
-  return function () {
-    var self = this,
-        args = arguments;
-    return new _Promise(function (resolve, reject) {
-      var gen = fn.apply(self, args);
-
-      function _next(value) {
-        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
-      }
-
-      function _throw(err) {
-        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
-      }
-
-      _next(undefined);
-    });
-  };
-}
-
-module.exports = _asyncToGenerator;
-
-/***/ }),
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[4],{
 
 /***/ "B5Ud":
 /***/ (function(module, exports, __webpack_require__) {
@@ -66,7 +21,7 @@ var _react = _interopRequireDefault(__webpack_require__("q1tI"));
 
 var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 
 exports.AppInitialProps = _utils.AppInitialProps;
 
@@ -205,4 +160,4 @@ function createUrl(router) {
 
 /***/ })
 
-},[["e9+W",0,1,2]]]);
\ No newline at end of file
+},[["e9+W",0,1,2,3]]]);
\ No newline at end of file
Diff for _error.module.js

Diff too large to display

Diff for hooks.module.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[5],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[6],{
 
 /***/ "+MDD":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
Diff for index.module.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[6],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[7],{
 
 /***/ "RNiq":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
Diff for link.module.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[7],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[8],{
 
 /***/ "/h46":
 /***/ (function(module, exports, __webpack_require__) {
@@ -108,6 +108,43 @@ module.exports = function (original) {
 
 /***/ }),
 
+/***/ "EXMj":
+/***/ (function(module, exports) {
+
+module.exports = function (it, Constructor, name, forbiddenField) {
+  if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {
+    throw TypeError(name + ': incorrect invocation!');
+  } return it;
+};
+
+
+/***/ }),
+
+/***/ "FlQf":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var $at = __webpack_require__("ccE7")(true);
+
+// 21.1.3.27 String.prototype[@@iterator]()
+__webpack_require__("MPFp")(String, 'String', function (iterated) {
+  this._t = String(iterated); // target
+  this._i = 0;                // next index
+// 21.1.5.2.1 %StringIteratorPrototype%.next()
+}, function () {
+  var O = this._t;
+  var index = this._i;
+  var point;
+  if (index >= O.length) return { value: undefined, done: true };
+  point = $at(O, index);
+  this._i += point.length;
+  return { value: point, done: false };
+});
+
+
+/***/ }),
+
 /***/ "LX0d":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -115,6 +152,107 @@ module.exports = __webpack_require__("UDep");
 
 /***/ }),
 
+/***/ "MPFp":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var LIBRARY = __webpack_require__("uOPS");
+var $export = __webpack_require__("Y7ZC");
+var redefine = __webpack_require__("kTiW");
+var hide = __webpack_require__("NegM");
+var Iterators = __webpack_require__("SBuE");
+var $iterCreate = __webpack_require__("j2DC");
+var setToStringTag = __webpack_require__("RfKB");
+var getPrototypeOf = __webpack_require__("U+KD");
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`
+var FF_ITERATOR = '@@iterator';
+var KEYS = 'keys';
+var VALUES = 'values';
+
+var returnThis = function () { return this; };
+
+module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {
+  $iterCreate(Constructor, NAME, next);
+  var getMethod = function (kind) {
+    if (!BUGGY && kind in proto) return proto[kind];
+    switch (kind) {
+      case KEYS: return function keys() { return new Constructor(this, kind); };
+      case VALUES: return function values() { return new Constructor(this, kind); };
+    } return function entries() { return new Constructor(this, kind); };
+  };
+  var TAG = NAME + ' Iterator';
+  var DEF_VALUES = DEFAULT == VALUES;
+  var VALUES_BUG = false;
+  var proto = Base.prototype;
+  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];
+  var $default = $native || getMethod(DEFAULT);
+  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;
+  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;
+  var methods, key, IteratorPrototype;
+  // Fix native
+  if ($anyNative) {
+    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));
+    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {
+      // Set @@toStringTag to native iterators
+      setToStringTag(IteratorPrototype, TAG, true);
+      // fix for some old engines
+      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);
+    }
+  }
+  // fix Array#{values, @@iterator}.name in V8 / FF
+  if (DEF_VALUES && $native && $native.name !== VALUES) {
+    VALUES_BUG = true;
+    $default = function values() { return $native.call(this); };
+  }
+  // Define iterator
+  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {
+    hide(proto, ITERATOR, $default);
+  }
+  // Plug for library
+  Iterators[NAME] = $default;
+  Iterators[TAG] = returnThis;
+  if (DEFAULT) {
+    methods = {
+      values: DEF_VALUES ? $default : getMethod(VALUES),
+      keys: IS_SET ? $default : getMethod(KEYS),
+      entries: $entries
+    };
+    if (FORCED) for (key in methods) {
+      if (!(key in proto)) redefine(proto, key, methods[key]);
+    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
+  }
+  return methods;
+};
+
+
+/***/ }),
+
+/***/ "MvwC":
+/***/ (function(module, exports, __webpack_require__) {
+
+var document = __webpack_require__("5T2Y").document;
+module.exports = document && document.documentElement;
+
+
+/***/ }),
+
+/***/ "NwJ3":
+/***/ (function(module, exports, __webpack_require__) {
+
+// check on default Array iterator
+var Iterators = __webpack_require__("SBuE");
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var ArrayProto = Array.prototype;
+
+module.exports = function (it) {
+  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
+};
+
+
+/***/ }),
+
 /***/ "ObF3":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
@@ -140,6 +278,36 @@ aLink.getInitialProps = () => ({});
 
 /***/ }),
 
+/***/ "QMMT":
+/***/ (function(module, exports, __webpack_require__) {
+
+// getting tag from 19.1.3.6 Object.prototype.toString()
+var cof = __webpack_require__("a0xu");
+var TAG = __webpack_require__("UWiX")('toStringTag');
+// ES3 wrong here
+var ARG = cof(function () { return arguments; }()) == 'Arguments';
+
+// fallback for IE11 Script Access Denied error
+var tryGet = function (it, key) {
+  try {
+    return it[key];
+  } catch (e) { /* empty */ }
+};
+
+module.exports = function (it) {
+  var O, T, B;
+  return it === undefined ? 'Undefined' : it === null ? 'Null'
+    // @@toStringTag case
+    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T
+    // builtinTag case
+    : ARG ? cof(O)
+    // ES3 arguments fallback
+    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
+};
+
+
+/***/ }),
+
 /***/ "RRc/":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -154,6 +322,70 @@ module.exports = function (iter, ITERATOR) {
 
 /***/ }),
 
+/***/ "RfKB":
+/***/ (function(module, exports, __webpack_require__) {
+
+var def = __webpack_require__("2faE").f;
+var has = __webpack_require__("B+OT");
+var TAG = __webpack_require__("UWiX")('toStringTag');
+
+module.exports = function (it, tag, stat) {
+  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });
+};
+
+
+/***/ }),
+
+/***/ "SBuE":
+/***/ (function(module, exports) {
+
+module.exports = {};
+
+
+/***/ }),
+
+/***/ "TJWN":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var global = __webpack_require__("5T2Y");
+var core = __webpack_require__("WEpk");
+var dP = __webpack_require__("2faE");
+var DESCRIPTORS = __webpack_require__("jmDH");
+var SPECIES = __webpack_require__("UWiX")('species');
+
+module.exports = function (KEY) {
+  var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];
+  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {
+    configurable: true,
+    get: function () { return this; }
+  });
+};
+
+
+/***/ }),
+
+/***/ "U+KD":
+/***/ (function(module, exports, __webpack_require__) {
+
+// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
+var has = __webpack_require__("B+OT");
+var toObject = __webpack_require__("JB68");
+var IE_PROTO = __webpack_require__("VVlx")('IE_PROTO');
+var ObjectProto = Object.prototype;
+
+module.exports = Object.getPrototypeOf || function (O) {
+  O = toObject(O);
+  if (has(O, IE_PROTO)) return O[IE_PROTO];
+  if (typeof O.constructor == 'function' && O instanceof O.constructor) {
+    return O.constructor.prototype;
+  } return O instanceof Object ? ObjectProto : null;
+};
+
+
+/***/ }),
+
 /***/ "UDep":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -169,6 +401,34 @@ module.exports = __webpack_require__("WEpk").Map;
 
 /***/ }),
 
+/***/ "UO39":
+/***/ (function(module, exports) {
+
+module.exports = function (done, value) {
+  return { value: value, done: !!done };
+};
+
+
+/***/ }),
+
+/***/ "UWiX":
+/***/ (function(module, exports, __webpack_require__) {
+
+var store = __webpack_require__("29s/")('wks');
+var uid = __webpack_require__("YqAc");
+var Symbol = __webpack_require__("5T2Y").Symbol;
+var USE_SYMBOL = typeof Symbol == 'function';
+
+var $exports = module.exports = function (name) {
+  return store[name] || (store[name] =
+    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));
+};
+
+$exports.store = store;
+
+
+/***/ }),
+
 /***/ "V7Et":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -385,6 +645,20 @@ module.exports = {
 
 /***/ }),
 
+/***/ "XJU/":
+/***/ (function(module, exports, __webpack_require__) {
+
+var hide = __webpack_require__("NegM");
+module.exports = function (target, src, safe) {
+  for (var key in src) {
+    if (safe && target[key]) target[key] = src[key];
+    else hide(target, key, src[key]);
+  } return target;
+};
+
+
+/***/ }),
+
 /***/ "XLbu":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -440,6 +714,32 @@ module.exports = function (COLLECTION) {
 
 /***/ }),
 
+/***/ "bBy9":
+/***/ (function(module, exports, __webpack_require__) {
+
+__webpack_require__("w2d+");
+var global = __webpack_require__("5T2Y");
+var hide = __webpack_require__("NegM");
+var Iterators = __webpack_require__("SBuE");
+var TO_STRING_TAG = __webpack_require__("UWiX")('toStringTag');
+
+var DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +
+  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +
+  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +
+  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +
+  'TextTrackList,TouchList').split(',');
+
+for (var i = 0; i < DOMIterables.length; i++) {
+  var NAME = DOMIterables[i];
+  var Collection = global[NAME];
+  var proto = Collection && Collection.prototype;
+  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);
+  Iterators[NAME] = Iterators.Array;
+}
+
+
+/***/ }),
+
 /***/ "cHUd":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -483,9 +783,9 @@ var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
 var _router = _interopRequireDefault(__webpack_require__("nOHt"));
 
-var _rewriteUrlForExport = __webpack_require__("KA3u");
+var _rewriteUrlForExport = __webpack_require__("P5f7");
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 /* global __NEXT_DATA__ */
 
 
@@ -731,6 +1031,30 @@ exports.default = _default;
 
 /***/ }),
 
+/***/ "ccE7":
+/***/ (function(module, exports, __webpack_require__) {
+
+var toInteger = __webpack_require__("Ojgd");
+var defined = __webpack_require__("Jes0");
+// true  -> String#at
+// false -> String#codePointAt
+module.exports = function (TO_STRING) {
+  return function (that, pos) {
+    var s = String(defined(that));
+    var i = toInteger(pos);
+    var l = s.length;
+    var a, b;
+    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;
+    a = s.charCodeAt(i);
+    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff
+      ? TO_STRING ? s.charAt(i) : a
+      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
+  };
+};
+
+
+/***/ }),
+
 /***/ "dVTT":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -740,6 +1064,41 @@ __webpack_require__("aPfg")('Map');
 
 /***/ }),
 
+/***/ "fNZA":
+/***/ (function(module, exports, __webpack_require__) {
+
+var classof = __webpack_require__("QMMT");
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var Iterators = __webpack_require__("SBuE");
+module.exports = __webpack_require__("WEpk").getIteratorMethod = function (it) {
+  if (it != undefined) return it[ITERATOR]
+    || it['@@iterator']
+    || Iterators[classof(it)];
+};
+
+
+/***/ }),
+
+/***/ "fpC5":
+/***/ (function(module, exports, __webpack_require__) {
+
+var dP = __webpack_require__("2faE");
+var anObject = __webpack_require__("5K7Z");
+var getKeys = __webpack_require__("w6GO");
+
+module.exports = __webpack_require__("jmDH") ? Object.defineProperties : function defineProperties(O, Properties) {
+  anObject(O);
+  var keys = getKeys(Properties);
+  var length = keys.length;
+  var i = 0;
+  var P;
+  while (length > i) dP.f(O, P = keys[i++], Properties[P]);
+  return O;
+};
+
+
+/***/ }),
+
 /***/ "g33z":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -767,6 +1126,35 @@ module.exports = __webpack_require__("raTm")(MAP, function (get) {
 
 /***/ }),
 
+/***/ "hDam":
+/***/ (function(module, exports) {
+
+module.exports = function () { /* empty */ };
+
+
+/***/ }),
+
+/***/ "j2DC":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var create = __webpack_require__("oVml");
+var descriptor = __webpack_require__("rr1i");
+var setToStringTag = __webpack_require__("RfKB");
+var IteratorPrototype = {};
+
+// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
+__webpack_require__("NegM")(IteratorPrototype, __webpack_require__("UWiX")('iterator'), function () { return this; });
+
+module.exports = function (Constructor, NAME, next) {
+  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });
+  setToStringTag(Constructor, NAME + ' Iterator');
+};
+
+
+/***/ }),
+
 /***/ "kAMH":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -779,6 +1167,14 @@ module.exports = Array.isArray || function isArray(arg) {
 
 /***/ }),
 
+/***/ "kTiW":
+/***/ (function(module, exports, __webpack_require__) {
+
+module.exports = __webpack_require__("NegM");
+
+
+/***/ }),
+
 /***/ "n3ko":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -791,6 +1187,86 @@ module.exports = function (it, TYPE) {
 
 /***/ }),
 
+/***/ "oVml":
+/***/ (function(module, exports, __webpack_require__) {
+
+// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
+var anObject = __webpack_require__("5K7Z");
+var dPs = __webpack_require__("fpC5");
+var enumBugKeys = __webpack_require__("FpHa");
+var IE_PROTO = __webpack_require__("VVlx")('IE_PROTO');
+var Empty = function () { /* empty */ };
+var PROTOTYPE = 'prototype';
+
+// Create object with fake `null` prototype: use iframe Object with cleared prototype
+var createDict = function () {
+  // Thrash, waste and sodomy: IE GC bug
+  var iframe = __webpack_require__("Hsns")('iframe');
+  var i = enumBugKeys.length;
+  var lt = '<';
+  var gt = '>';
+  var iframeDocument;
+  iframe.style.display = 'none';
+  __webpack_require__("MvwC").appendChild(iframe);
+  iframe.src = 'javascript:'; // eslint-disable-line no-script-url
+  // createDict = iframe.contentWindow.Object;
+  // html.removeChild(iframe);
+  iframeDocument = iframe.contentWindow.document;
+  iframeDocument.open();
+  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);
+  iframeDocument.close();
+  createDict = iframeDocument.F;
+  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];
+  return createDict();
+};
+
+module.exports = Object.create || function create(O, Properties) {
+  var result;
+  if (O !== null) {
+    Empty[PROTOTYPE] = anObject(O);
+    result = new Empty();
+    Empty[PROTOTYPE] = null;
+    // add "__proto__" for Object.getPrototypeOf polyfill
+    result[IE_PROTO] = O;
+  } else result = createDict();
+  return Properties === undefined ? result : dPs(result, Properties);
+};
+
+
+/***/ }),
+
+/***/ "oioR":
+/***/ (function(module, exports, __webpack_require__) {
+
+var ctx = __webpack_require__("2GTP");
+var call = __webpack_require__("sNwI");
+var isArrayIter = __webpack_require__("NwJ3");
+var anObject = __webpack_require__("5K7Z");
+var toLength = __webpack_require__("tEej");
+var getIterFn = __webpack_require__("fNZA");
+var BREAK = {};
+var RETURN = {};
+var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {
+  var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);
+  var f = ctx(fn, that, entries ? 2 : 1);
+  var index = 0;
+  var length, step, iterator, result;
+  if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');
+  // fast case for arrays with default iterator
+  if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {
+    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
+    if (result === BREAK || result === RETURN) return result;
+  } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {
+    result = call(iterator, f, step.value, entries);
+    if (result === BREAK || result === RETURN) return result;
+  }
+};
+exports.BREAK = BREAK;
+exports.RETURN = RETURN;
+
+
+/***/ }),
+
 /***/ "raTm":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -858,6 +1334,25 @@ module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
 
 /***/ }),
 
+/***/ "sNwI":
+/***/ (function(module, exports, __webpack_require__) {
+
+// call something on iterator step with safe closing on error
+var anObject = __webpack_require__("5K7Z");
+module.exports = function (iterator, fn, value, entries) {
+  try {
+    return entries ? fn(anObject(value)[0], value[1]) : fn(value);
+  // 7.4.6 IteratorClose(iterator, completion)
+  } catch (e) {
+    var ret = iterator['return'];
+    if (ret !== undefined) anObject(ret.call(iterator));
+    throw e;
+  }
+};
+
+
+/***/ }),
+
 /***/ "v6xn":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -869,6 +1364,55 @@ module.exports = function (original, length) {
 };
 
 
+/***/ }),
+
+/***/ "w2d+":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var addToUnscopables = __webpack_require__("hDam");
+var step = __webpack_require__("UO39");
+var Iterators = __webpack_require__("SBuE");
+var toIObject = __webpack_require__("NsO/");
+
+// 22.1.3.4 Array.prototype.entries()
+// 22.1.3.13 Array.prototype.keys()
+// 22.1.3.29 Array.prototype.values()
+// 22.1.3.30 Array.prototype[@@iterator]()
+module.exports = __webpack_require__("MPFp")(Array, 'Array', function (iterated, kind) {
+  this._t = toIObject(iterated); // target
+  this._i = 0;                   // next index
+  this._k = kind;                // kind
+// 22.1.5.2.1 %ArrayIteratorPrototype%.next()
+}, function () {
+  var O = this._t;
+  var kind = this._k;
+  var index = this._i++;
+  if (!O || index >= O.length) {
+    this._t = undefined;
+    return step(1);
+  }
+  if (kind == 'keys') return step(0, index);
+  if (kind == 'values') return step(0, O[index]);
+  return step(0, [index, O[index]]);
+}, 'values');
+
+// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
+Iterators.Arguments = Iterators.Array;
+
+addToUnscopables('keys');
+addToUnscopables('values');
+addToUnscopables('entries');
+
+
+/***/ }),
+
+/***/ "wgeU":
+/***/ (function(module, exports) {
+
+
+
 /***/ })
 
 },[["V8Sf",0,1,2]]]);
\ No newline at end of file
Diff for routerDirect.module.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[8],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[9],{
 
 /***/ "LtRI":
 /***/ (function(module, exports, __webpack_require__) {
Diff for withRouter.module.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[9],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[10],{
 
 /***/ "0Hlz":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
Diff for index.html
@@ -6,19 +6,21 @@
         <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"
         />
         <meta name="next-head-count" content="2" />
-        <link rel="preload" href="/_next/static/6P4RGubL1O35_-ZgZ8c2R/pages/index.module.js"
+        <link rel="preload" href="/_next/static/a5g-7Mh5b9bUyCcwtdihr/pages/index.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/6P4RGubL1O35_-ZgZ8c2R/pages/_app.module.js"
+        <link rel="preload" href="/_next/static/a5g-7Mh5b9bUyCcwtdihr/pages/_app.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-ea228487a429f03c22be.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-2db0ada4beb83ccb90d3.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/9294a7fe337e190277b2574ef7c14017695f3d3b.c659a74b6088e6ac1abe.module.js"
+        <link rel="preload" href="/_next/static/chunks/3b08bf3db62b662a3e749c8e358aebe3b8a121f3.4d964fd8388c4017eabc.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/6P4RGubL1O35_-ZgZ8c2R/_buildManifest.module.js"
+        <link rel="preload" href="/_next/static/chunks/93034e736bbde68dc376954edf40dcb9aa3d08d6.3f4abea1185a064f32e0.module.js"
+        as="script" crossorigin="anonymous" />
+        <link rel="preload" href="/_next/static/a5g-7Mh5b9bUyCcwtdihr/_buildManifest.module.js"
         as="script" crossorigin="anonymous" />
     </head>
     
@@ -26,40 +28,44 @@
         <div id="__next">Hello world 👋</div>
         <script id="__NEXT_DATA__" type="application/json"
         crossorigin="anonymous">
-            {"dataManager":"[]","props":{"pageProps":{}},"page":"/","query":{},"buildId":"6P4RGubL1O35_-ZgZ8c2R"}
+            {"dataManager":"[]","props":{"pageProps":{}},"page":"/","query":{},"buildId":"a5g-7Mh5b9bUyCcwtdihr"}
         </script>
         <script crossorigin="anonymous" nomodule="">
             !function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();
         </script>
-        <script async="" data-next-page="/" src="/_next/static/6P4RGubL1O35_-ZgZ8c2R/pages/index.js"
+        <script async="" data-next-page="/" src="/_next/static/a5g-7Mh5b9bUyCcwtdihr/pages/index.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/" src="/_next/static/6P4RGubL1O35_-ZgZ8c2R/pages/index.module.js"
+        <script async="" data-next-page="/" src="/_next/static/a5g-7Mh5b9bUyCcwtdihr/pages/index.module.js"
         crossorigin="anonymous" type="module"></script>
-        <script async="" data-next-page="/_app" src="/_next/static/6P4RGubL1O35_-ZgZ8c2R/pages/_app.js"
+        <script async="" data-next-page="/_app" src="/_next/static/a5g-7Mh5b9bUyCcwtdihr/pages/_app.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/_app" src="/_next/static/6P4RGubL1O35_-ZgZ8c2R/pages/_app.module.js"
+        <script async="" data-next-page="/_app" src="/_next/static/a5g-7Mh5b9bUyCcwtdihr/pages/_app.module.js"
         crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/runtime/webpack-a470c2a25bcb4d5a8ec0.js"
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-a1e3a940d5bb499fc0c7.js"
+        <script src="/_next/static/runtime/main-a188ebd08a5f20653f30.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-ea228487a429f03c22be.module.js"
+        <script src="/_next/static/runtime/main-2db0ada4beb83ccb90d3.module.js"
         async="" crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.js"
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/6fda5ca7e0cc25ebca4f0ddccbca3f044fedea4c.155621535702fe040780.js"
+        <script src="/_next/static/chunks/58a9c47f3e488c75189d24ca308498cd76d36c7c.51a842c47a941d029b87.js"
+        async="" crossorigin="anonymous" nomodule=""></script>
+        <script src="/_next/static/chunks/3b08bf3db62b662a3e749c8e358aebe3b8a121f3.8ec578cd8cb4c871a95f.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/9294a7fe337e190277b2574ef7c14017695f3d3b.f6f7599a2edf91d8366a.js"
+        <script src="/_next/static/chunks/3b08bf3db62b662a3e749c8e358aebe3b8a121f3.4d964fd8388c4017eabc.module.js"
+        async="" crossorigin="anonymous" type="module"></script>
+        <script src="/_next/static/chunks/93034e736bbde68dc376954edf40dcb9aa3d08d6.883a35a4990b7a95e5bc.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/9294a7fe337e190277b2574ef7c14017695f3d3b.c659a74b6088e6ac1abe.module.js"
+        <script src="/_next/static/chunks/93034e736bbde68dc376954edf40dcb9aa3d08d6.3f4abea1185a064f32e0.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/6P4RGubL1O35_-ZgZ8c2R/_buildManifest.js"
+        <script src="/_next/static/a5g-7Mh5b9bUyCcwtdihr/_buildManifest.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/6P4RGubL1O35_-ZgZ8c2R/_buildManifest.module.js"
+        <script src="/_next/static/a5g-7Mh5b9bUyCcwtdihr/_buildManifest.module.js"
         async="" crossorigin="anonymous" type="module"></script>
     </body>
Diff for link.html
@@ -6,19 +6,21 @@
         <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"
         />
         <meta name="next-head-count" content="2" />
-        <link rel="preload" href="/_next/static/6P4RGubL1O35_-ZgZ8c2R/pages/link.module.js"
+        <link rel="preload" href="/_next/static/a5g-7Mh5b9bUyCcwtdihr/pages/link.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/6P4RGubL1O35_-ZgZ8c2R/pages/_app.module.js"
+        <link rel="preload" href="/_next/static/a5g-7Mh5b9bUyCcwtdihr/pages/_app.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/9294a7fe337e190277b2574ef7c14017695f3d3b.c659a74b6088e6ac1abe.module.js"
+        <link rel="preload" href="/_next/static/chunks/3b08bf3db62b662a3e749c8e358aebe3b8a121f3.4d964fd8388c4017eabc.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-ea228487a429f03c22be.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-2db0ada4beb83ccb90d3.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/6P4RGubL1O35_-ZgZ8c2R/_buildManifest.module.js"
+        <link rel="preload" href="/_next/static/chunks/93034e736bbde68dc376954edf40dcb9aa3d08d6.3f4abea1185a064f32e0.module.js"
+        as="script" crossorigin="anonymous" />
+        <link rel="preload" href="/_next/static/a5g-7Mh5b9bUyCcwtdihr/_buildManifest.module.js"
         as="script" crossorigin="anonymous" />
     </head>
     
@@ -29,18 +31,18 @@
             </div>
         </div>
         <script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">
-            {"dataManager":"[]","props":{"pageProps":{}},"page":"/link","query":{},"buildId":"6P4RGubL1O35_-ZgZ8c2R"}
+            {"dataManager":"[]","props":{"pageProps":{}},"page":"/link","query":{},"buildId":"a5g-7Mh5b9bUyCcwtdihr"}
         </script>
         <script crossorigin="anonymous" nomodule="">
             !function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();
         </script>
-        <script async="" data-next-page="/link" src="/_next/static/6P4RGubL1O35_-ZgZ8c2R/pages/link.js"
+        <script async="" data-next-page="/link" src="/_next/static/a5g-7Mh5b9bUyCcwtdihr/pages/link.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/link" src="/_next/static/6P4RGubL1O35_-ZgZ8c2R/pages/link.module.js"
+        <script async="" data-next-page="/link" src="/_next/static/a5g-7Mh5b9bUyCcwtdihr/pages/link.module.js"
         crossorigin="anonymous" type="module"></script>
-        <script async="" data-next-page="/_app" src="/_next/static/6P4RGubL1O35_-ZgZ8c2R/pages/_app.js"
+        <script async="" data-next-page="/_app" src="/_next/static/a5g-7Mh5b9bUyCcwtdihr/pages/_app.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/_app" src="/_next/static/6P4RGubL1O35_-ZgZ8c2R/pages/_app.module.js"
+        <script async="" data-next-page="/_app" src="/_next/static/a5g-7Mh5b9bUyCcwtdihr/pages/_app.module.js"
         crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/runtime/webpack-a470c2a25bcb4d5a8ec0.js"
         async="" crossorigin="anonymous" nomodule=""></script>
@@ -50,19 +52,23 @@
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/6fda5ca7e0cc25ebca4f0ddccbca3f044fedea4c.155621535702fe040780.js"
+        <script src="/_next/static/chunks/58a9c47f3e488c75189d24ca308498cd76d36c7c.51a842c47a941d029b87.js"
+        async="" crossorigin="anonymous" nomodule=""></script>
+        <script src="/_next/static/chunks/3b08bf3db62b662a3e749c8e358aebe3b8a121f3.8ec578cd8cb4c871a95f.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/9294a7fe337e190277b2574ef7c14017695f3d3b.f6f7599a2edf91d8366a.js"
+        <script src="/_next/static/chunks/3b08bf3db62b662a3e749c8e358aebe3b8a121f3.4d964fd8388c4017eabc.module.js"
+        async="" crossorigin="anonymous" type="module"></script>
+        <script src="/_next/static/runtime/main-a188ebd08a5f20653f30.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/9294a7fe337e190277b2574ef7c14017695f3d3b.c659a74b6088e6ac1abe.module.js"
+        <script src="/_next/static/runtime/main-2db0ada4beb83ccb90d3.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-a1e3a940d5bb499fc0c7.js"
+        <script src="/_next/static/chunks/93034e736bbde68dc376954edf40dcb9aa3d08d6.883a35a4990b7a95e5bc.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-ea228487a429f03c22be.module.js"
+        <script src="/_next/static/chunks/93034e736bbde68dc376954edf40dcb9aa3d08d6.3f4abea1185a064f32e0.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/6P4RGubL1O35_-ZgZ8c2R/_buildManifest.js"
+        <script src="/_next/static/a5g-7Mh5b9bUyCcwtdihr/_buildManifest.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/6P4RGubL1O35_-ZgZ8c2R/_buildManifest.module.js"
+        <script src="/_next/static/a5g-7Mh5b9bUyCcwtdihr/_buildManifest.module.js"
         async="" crossorigin="anonymous" type="module"></script>
     </body>
Diff for withRouter.html
@@ -6,19 +6,21 @@
         <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"
         />
         <meta name="next-head-count" content="2" />
-        <link rel="preload" href="/_next/static/6P4RGubL1O35_-ZgZ8c2R/pages/withRouter.module.js"
+        <link rel="preload" href="/_next/static/a5g-7Mh5b9bUyCcwtdihr/pages/withRouter.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/6P4RGubL1O35_-ZgZ8c2R/pages/_app.module.js"
+        <link rel="preload" href="/_next/static/a5g-7Mh5b9bUyCcwtdihr/pages/_app.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/9294a7fe337e190277b2574ef7c14017695f3d3b.c659a74b6088e6ac1abe.module.js"
+        <link rel="preload" href="/_next/static/chunks/3b08bf3db62b662a3e749c8e358aebe3b8a121f3.4d964fd8388c4017eabc.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-ea228487a429f03c22be.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-2db0ada4beb83ccb90d3.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/6P4RGubL1O35_-ZgZ8c2R/_buildManifest.module.js"
+        <link rel="preload" href="/_next/static/chunks/93034e736bbde68dc376954edf40dcb9aa3d08d6.3f4abea1185a064f32e0.module.js"
+        as="script" crossorigin="anonymous" />
+        <link rel="preload" href="/_next/static/a5g-7Mh5b9bUyCcwtdihr/_buildManifest.module.js"
         as="script" crossorigin="anonymous" />
     </head>
     
@@ -27,18 +29,18 @@
             <div>I use withRouter</div>
         </div>
         <script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">
-            {"dataManager":"[]","props":{"pageProps":{}},"page":"/withRouter","query":{},"buildId":"6P4RGubL1O35_-ZgZ8c2R"}
+            {"dataManager":"[]","props":{"pageProps":{}},"page":"/withRouter","query":{},"buildId":"a5g-7Mh5b9bUyCcwtdihr"}
         </script>
         <script crossorigin="anonymous" nomodule="">
             !function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();
         </script>
-        <script async="" data-next-page="/withRouter" src="/_next/static/6P4RGubL1O35_-ZgZ8c2R/pages/withRouter.js"
+        <script async="" data-next-page="/withRouter" src="/_next/static/a5g-7Mh5b9bUyCcwtdihr/pages/withRouter.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/withRouter" src="/_next/static/6P4RGubL1O35_-ZgZ8c2R/pages/withRouter.module.js"
+        <script async="" data-next-page="/withRouter" src="/_next/static/a5g-7Mh5b9bUyCcwtdihr/pages/withRouter.module.js"
         crossorigin="anonymous" type="module"></script>
-        <script async="" data-next-page="/_app" src="/_next/static/6P4RGubL1O35_-ZgZ8c2R/pages/_app.js"
+        <script async="" data-next-page="/_app" src="/_next/static/a5g-7Mh5b9bUyCcwtdihr/pages/_app.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/_app" src="/_next/static/6P4RGubL1O35_-ZgZ8c2R/pages/_app.module.js"
+        <script async="" data-next-page="/_app" src="/_next/static/a5g-7Mh5b9bUyCcwtdihr/pages/_app.module.js"
         crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/runtime/webpack-a470c2a25bcb4d5a8ec0.js"
         async="" crossorigin="anonymous" nomodule=""></script>
@@ -48,19 +50,23 @@
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/6fda5ca7e0cc25ebca4f0ddccbca3f044fedea4c.155621535702fe040780.js"
+        <script src="/_next/static/chunks/58a9c47f3e488c75189d24ca308498cd76d36c7c.51a842c47a941d029b87.js"
+        async="" crossorigin="anonymous" nomodule=""></script>
+        <script src="/_next/static/chunks/3b08bf3db62b662a3e749c8e358aebe3b8a121f3.8ec578cd8cb4c871a95f.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/9294a7fe337e190277b2574ef7c14017695f3d3b.f6f7599a2edf91d8366a.js"
+        <script src="/_next/static/chunks/3b08bf3db62b662a3e749c8e358aebe3b8a121f3.4d964fd8388c4017eabc.module.js"
+        async="" crossorigin="anonymous" type="module"></script>
+        <script src="/_next/static/runtime/main-a188ebd08a5f20653f30.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/9294a7fe337e190277b2574ef7c14017695f3d3b.c659a74b6088e6ac1abe.module.js"
+        <script src="/_next/static/runtime/main-2db0ada4beb83ccb90d3.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-a1e3a940d5bb499fc0c7.js"
+        <script src="/_next/static/chunks/93034e736bbde68dc376954edf40dcb9aa3d08d6.883a35a4990b7a95e5bc.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-ea228487a429f03c22be.module.js"
+        <script src="/_next/static/chunks/93034e736bbde68dc376954edf40dcb9aa3d08d6.3f4abea1185a064f32e0.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/6P4RGubL1O35_-ZgZ8c2R/_buildManifest.js"
+        <script src="/_next/static/a5g-7Mh5b9bUyCcwtdihr/_buildManifest.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/6P4RGubL1O35_-ZgZ8c2R/_buildManifest.module.js"
+        <script src="/_next/static/a5g-7Mh5b9bUyCcwtdihr/_buildManifest.module.js"
         async="" crossorigin="anonymous" type="module"></script>
     </body>

Serverless Mode (Increase detected ⚠️)
General Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
buildDuration 21s 18.6s -2.4s
nodeModulesSize 42 MB 42 MB -27.4 kB
Client Bundles (main, webpack, commons) Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
main-HASH.js 18.3 kB 14.4 kB -3.84 kB
main-HASH.js gzip 6.66 kB 5.12 kB -1.55 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
Overall change -3.84 kB
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
main-HASH.module.js 16.6 kB 10.8 kB -5.76 kB
main-HASH.module.js gzip 6.39 kB 4.02 kB -2.37 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH.module.js gzip 746 B 746 B
Overall change -5.76 kB
Client Pages Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_app.js 1.83 kB 1.84 kB ⚠️ +2 B
_app.js gzip 884 B 885 B ⚠️ +1 B
_error.js 12.1 kB 5.36 kB -6.75 kB
_error.js gzip 4.76 kB 2.14 kB -2.62 kB
hooks.js 12.7 kB 12.7 kB
hooks.js gzip 4.81 kB 4.81 kB
index.js 343 B 343 B
index.js gzip 237 B 237 B
link.js 8.14 kB 9.93 kB ⚠️ +1.79 kB
link.js gzip 3.49 kB 4.13 kB ⚠️ +635 B
routerDirect.js 433 B 434 B ⚠️ +1 B
routerDirect.js gzip 296 B 296 B
withRouter.js 444 B 444 B
withRouter.js gzip 294 B 294 B
Overall change -4.96 kB
Client Pages Modern Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_app.module.js 1.73 kB 1.38 kB -349 B
_app.module.js gzip 840 B 695 B -145 B
_error.module.js 23.3 kB 6.21 kB -17.1 kB
_error.module.js gzip 8.62 kB 2.46 kB -6.16 kB
hooks.module.js 1.55 kB 1.55 kB
hooks.module.js gzip 804 B 805 B ⚠️ +1 B
index.module.js 319 B 319 B
index.module.js gzip 238 B 238 B
link.module.js 8.52 kB 14.6 kB ⚠️ +6.11 kB
link.module.js gzip 3.68 kB 5.98 kB ⚠️ +2.3 kB
routerDirect.module.js 419 B 419 B
routerDirect.module.js gzip 294 B 294 B
withRouter.module.js 429 B 430 B ⚠️ +1 B
withRouter.module.js gzip 293 B 293 B
Overall change -11.3 kB
Client Build Manifests
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_buildManifest.js 81 B 81 B
_buildManifest.js gzip 61 B 61 B
_buildManifest.module.js 81 B 81 B
_buildManifest.module.js gzip 61 B 61 B
Overall change
Serverless bundles Overall increase ⚠️
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_error.js 248 kB 249 kB ⚠️ +1.22 kB
_error.js gzip 66.3 kB 66 kB -338 B
hooks.html 3.86 kB 4.34 kB ⚠️ +474 B
hooks.html gzip 982 B 1.05 kB ⚠️ +72 B
index.js 248 kB 249 kB ⚠️ +1.18 kB
index.js gzip 66.8 kB 66.3 kB -495 B
link.js 256 kB 259 kB ⚠️ +3 kB
link.js gzip 68.8 kB 68.8 kB -69 B
routerDirect.js 249 kB 250 kB ⚠️ +1.18 kB
routerDirect.js gzip 66.7 kB 66.3 kB -393 B
withRouter.js 249 kB 250 kB ⚠️ +1.18 kB
withRouter.js gzip 66.8 kB 66.3 kB -453 B
Overall change ⚠️ +8.22 kB

@ijjk
Copy link
Member

ijjk commented Sep 4, 2019

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
buildDuration 23.1s 21s -2.1s
nodeModulesSize 42 MB 42 MB -26.4 kB
Client Bundles (main, webpack, commons) Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
main-HASH.js 18.3 kB 14.4 kB -3.84 kB
main-HASH.js gzip 6.66 kB 5.12 kB -1.55 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
Overall change -3.84 kB
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
main-HASH.module.js 16.6 kB 10.8 kB -5.76 kB
main-HASH.module.js gzip 6.39 kB 4.02 kB -2.37 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH.module.js gzip 746 B 746 B
Overall change -5.76 kB
Client Pages Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_app.js 1.83 kB 1.84 kB ⚠️ +2 B
_app.js gzip 884 B 885 B ⚠️ +1 B
_error.js 12.1 kB 5.36 kB -6.75 kB
_error.js gzip 4.76 kB 2.14 kB -2.62 kB
hooks.js 12.7 kB 12.7 kB
hooks.js gzip 4.81 kB 4.81 kB
index.js 343 B 343 B
index.js gzip 237 B 237 B
link.js 8.14 kB 9.93 kB ⚠️ +1.79 kB
link.js gzip 3.49 kB 4.13 kB ⚠️ +635 B
routerDirect.js 433 B 434 B ⚠️ +1 B
routerDirect.js gzip 296 B 296 B
withRouter.js 444 B 444 B
withRouter.js gzip 294 B 294 B
Overall change -4.96 kB
Client Pages Modern Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_app.module.js 1.73 kB 1.38 kB -349 B
_app.module.js gzip 840 B 695 B -145 B
_error.module.js 23.3 kB 6.21 kB -17.1 kB
_error.module.js gzip 8.62 kB 2.46 kB -6.16 kB
hooks.module.js 1.55 kB 1.55 kB
hooks.module.js gzip 804 B 805 B ⚠️ +1 B
index.module.js 319 B 319 B
index.module.js gzip 238 B 238 B
link.module.js 8.52 kB 14.6 kB ⚠️ +6.11 kB
link.module.js gzip 3.68 kB 5.98 kB ⚠️ +2.3 kB
routerDirect.module.js 419 B 419 B
routerDirect.module.js gzip 294 B 294 B
withRouter.module.js 429 B 430 B ⚠️ +1 B
withRouter.module.js gzip 293 B 293 B
Overall change -11.3 kB
Client Build Manifests
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_buildManifest.js 81 B 81 B
_buildManifest.js gzip 61 B 61 B
_buildManifest.module.js 81 B 81 B
_buildManifest.module.js gzip 61 B 61 B
Overall change
Rendered Page Sizes Overall increase ⚠️
zeit/next.js canary timneutkens/next.js add/move-next-server Change
index.html 3.75 kB 4.22 kB ⚠️ +474 B
index.html gzip 959 B 1.03 kB ⚠️ +67 B
link.html 3.79 kB 4.27 kB ⚠️ +474 B
link.html gzip 968 B 1.03 kB ⚠️ +66 B
withRouter.html 3.8 kB 4.28 kB ⚠️ +474 B
withRouter.html gzip 955 B 1.02 kB ⚠️ +67 B
Overall change ⚠️ +1.42 kB

Diffs

Diff for main-HASH.js
@@ -1,26 +1,68 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[11],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[12],{
 
-/***/ "/h46":
+/***/ "0IRE":
 /***/ (function(module, exports, __webpack_require__) {
 
-// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of
-__webpack_require__("cHUd")('Map');
+"use strict";
+
+Object.defineProperty(exports, "__esModule", { value: true });
+class DataManager {
+    constructor(data) {
+        this.data = new Map(data);
+    }
+    getData() {
+        return this.data;
+    }
+    get(key) {
+        return this.data.get(key);
+    }
+    set(key, value) {
+        this.data.set(key, value);
+    }
+    overwrite(data) {
+        this.data = new Map(data);
+    }
+}
+exports.DataManager = DataManager;
 
 
 /***/ }),
 
-/***/ "8iia":
+/***/ "8+Nu":
 /***/ (function(module, exports, __webpack_require__) {
 
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var classof = __webpack_require__("QMMT");
-var from = __webpack_require__("RRc/");
-module.exports = function (NAME) {
-  return function toJSON() {
-    if (classof(this) != NAME) throw TypeError(NAME + "#toJSON isn't generic");
-    return from(this);
-  };
-};
+var arrayWithHoles = __webpack_require__("8bdy");
+
+var iterableToArrayLimit = __webpack_require__("fprZ");
+
+var nonIterableRest = __webpack_require__("Bh1o");
+
+function _slicedToArray(arr, i) {
+  return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest();
+}
+
+module.exports = _slicedToArray;
+
+/***/ }),
+
+/***/ "8bdy":
+/***/ (function(module, exports, __webpack_require__) {
+
+var _Array$isArray = __webpack_require__("p0XB");
+
+function _arrayWithHoles(arr) {
+  if (_Array$isArray(arr)) return arr;
+}
+
+module.exports = _arrayWithHoles;
+
+/***/ }),
+
+/***/ "9BDd":
+/***/ (function(module, exports, __webpack_require__) {
+
+__webpack_require__("GvbO");
+module.exports = __webpack_require__("WEpk").Array.isArray;
 
 
 /***/ }),
@@ -42,26 +84,14 @@ window.next = next;
 
 /***/ }),
 
-/***/ "C2SN":
-/***/ (function(module, exports, __webpack_require__) {
+/***/ "Bh1o":
+/***/ (function(module, exports) {
 
-var isObject = __webpack_require__("93I4");
-var isArray = __webpack_require__("kAMH");
-var SPECIES = __webpack_require__("UWiX")('species');
-
-module.exports = function (original) {
-  var C;
-  if (isArray(original)) {
-    C = original.constructor;
-    // cross-realm fallback
-    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-    if (isObject(C)) {
-      C = C[SPECIES];
-      if (C === null) C = undefined;
-    }
-  } return C === undefined ? Array : C;
-};
+function _nonIterableRest() {
+  throw new TypeError("Invalid attempt to destructure non-iterable instance");
+}
 
+module.exports = _nonIterableRest;
 
 /***/ }),
 
@@ -208,57 +238,33 @@ function reactElementToDOM(_ref) {
 
 /***/ }),
 
-/***/ "HohS":
+/***/ "FYa8":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var runtimeConfig;
-
-exports["default"] = function () {
-  return runtimeConfig;
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+    result["default"] = mod;
+    return result;
 };
+Object.defineProperty(exports, "__esModule", { value: true });
+const React = __importStar(__webpack_require__("q1tI"));
+exports.HeadManagerContext = React.createContext(null);
 
-function setConfig(configValue) {
-  runtimeConfig = configValue;
-}
-
-exports.setConfig = setConfig;
 
 /***/ }),
 
-/***/ "IClC":
+/***/ "GvbO":
 /***/ (function(module, exports, __webpack_require__) {
 
-"use strict";
-
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-var __importStar = this && this.__importStar || function (mod) {
-  if (mod && mod.__esModule) return mod;
-  var result = {};
-  if (mod != null) for (var k in mod) {
-    if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-  }
-  result["default"] = mod;
-  return result;
-};
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
+// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)
+var $export = __webpack_require__("Y7ZC");
 
-var React = __importStar(__webpack_require__("q1tI"));
+$export($export.S, 'Array', { isArray: __webpack_require__("kAMH") });
 
-exports.HeadManagerContext = React.createContext(null);
 
 /***/ }),
 
@@ -305,25 +311,25 @@ var _headManager = _interopRequireDefault(__webpack_require__("DqTX"));
 
 var _router = __webpack_require__("nOHt");
 
-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 
 var _pageLoader = _interopRequireDefault(__webpack_require__("zmvN"));
 
-var envConfig = _interopRequireWildcard(__webpack_require__("PBx+"));
+var envConfig = _interopRequireWildcard(__webpack_require__("yLiY"));
 
-var _headManagerContext = __webpack_require__("IClC");
+var _headManagerContext = __webpack_require__("FYa8");
 
-var _dataManagerContext = __webpack_require__("qS9g");
+var _dataManagerContext = __webpack_require__("qArv");
 
-var _routerContext = __webpack_require__("9EOK");
+var _routerContext = __webpack_require__("qOIg");
 
-var _dataManager = __webpack_require__("cuFY");
+var _dataManager = __webpack_require__("0IRE");
 
 var _querystring = __webpack_require__("s4NR");
 
-var _isDynamic = __webpack_require__("kcOw");
+var _isDynamic = __webpack_require__("/jkW");
 /* global location */
 // Polyfill Promise globally
 // This is needed because Webpack's dynamic loading(common chunks) code
@@ -863,528 +869,112 @@ function _doRender() {
 
 /***/ }),
 
-/***/ "LX0d":
+/***/ "Rp86":
 /***/ (function(module, exports, __webpack_require__) {
 
-module.exports = __webpack_require__("UDep");
-
-/***/ }),
-
-/***/ "PBx+":
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__("HohS")
-
-
-/***/ }),
-
-/***/ "RRc/":
-/***/ (function(module, exports, __webpack_require__) {
-
-var forOf = __webpack_require__("oioR");
-
-module.exports = function (iter, ITERATOR) {
-  var result = [];
-  forOf(iter, false, result.push, result, ITERATOR);
-  return result;
-};
-
-
-/***/ }),
-
-/***/ "UDep":
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__("wgeU");
-__webpack_require__("FlQf");
 __webpack_require__("bBy9");
-__webpack_require__("g33z");
-__webpack_require__("XLbu");
-__webpack_require__("/h46");
-__webpack_require__("dVTT");
-module.exports = __webpack_require__("WEpk").Map;
-
-
-/***/ }),
-
-/***/ "V7Et":
-/***/ (function(module, exports, __webpack_require__) {
-
-// 0 -> Array#forEach
-// 1 -> Array#map
-// 2 -> Array#filter
-// 3 -> Array#some
-// 4 -> Array#every
-// 5 -> Array#find
-// 6 -> Array#findIndex
-var ctx = __webpack_require__("2GTP");
-var IObject = __webpack_require__("M1xp");
-var toObject = __webpack_require__("JB68");
-var toLength = __webpack_require__("tEej");
-var asc = __webpack_require__("v6xn");
-module.exports = function (TYPE, $create) {
-  var IS_MAP = TYPE == 1;
-  var IS_FILTER = TYPE == 2;
-  var IS_SOME = TYPE == 3;
-  var IS_EVERY = TYPE == 4;
-  var IS_FIND_INDEX = TYPE == 6;
-  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-  var create = $create || asc;
-  return function ($this, callbackfn, that) {
-    var O = toObject($this);
-    var self = IObject(O);
-    var f = ctx(callbackfn, that, 3);
-    var length = toLength(self.length);
-    var index = 0;
-    var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-    var val, res;
-    for (;length > index; index++) if (NO_HOLES || index in self) {
-      val = self[index];
-      res = f(val, index, O);
-      if (TYPE) {
-        if (IS_MAP) result[index] = res;   // map
-        else if (res) switch (TYPE) {
-          case 3: return true;             // some
-          case 5: return val;              // find
-          case 6: return index;            // findIndex
-          case 2: result.push(val);        // filter
-        } else if (IS_EVERY) return false; // every
-      }
-    }
-    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
-  };
-};
-
-
-/***/ }),
-
-/***/ "Wu5q":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var dP = __webpack_require__("2faE").f;
-var create = __webpack_require__("oVml");
-var redefineAll = __webpack_require__("XJU/");
-var ctx = __webpack_require__("2GTP");
-var anInstance = __webpack_require__("EXMj");
-var forOf = __webpack_require__("oioR");
-var $iterDefine = __webpack_require__("MPFp");
-var step = __webpack_require__("UO39");
-var setSpecies = __webpack_require__("TJWN");
-var DESCRIPTORS = __webpack_require__("jmDH");
-var fastKey = __webpack_require__("6/1s").fastKey;
-var validate = __webpack_require__("n3ko");
-var SIZE = DESCRIPTORS ? '_s' : 'size';
-
-var getEntry = function (that, key) {
-  // fast case
-  var index = fastKey(key);
-  var entry;
-  if (index !== 'F') return that._i[index];
-  // frozen object case
-  for (entry = that._f; entry; entry = entry.n) {
-    if (entry.k == key) return entry;
-  }
-};
-
-module.exports = {
-  getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {
-    var C = wrapper(function (that, iterable) {
-      anInstance(that, C, NAME, '_i');
-      that._t = NAME;         // collection type
-      that._i = create(null); // index
-      that._f = undefined;    // first entry
-      that._l = undefined;    // last entry
-      that[SIZE] = 0;         // size
-      if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
-    });
-    redefineAll(C.prototype, {
-      // 23.1.3.1 Map.prototype.clear()
-      // 23.2.3.2 Set.prototype.clear()
-      clear: function clear() {
-        for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {
-          entry.r = true;
-          if (entry.p) entry.p = entry.p.n = undefined;
-          delete data[entry.i];
-        }
-        that._f = that._l = undefined;
-        that[SIZE] = 0;
-      },
-      // 23.1.3.3 Map.prototype.delete(key)
-      // 23.2.3.4 Set.prototype.delete(value)
-      'delete': function (key) {
-        var that = validate(this, NAME);
-        var entry = getEntry(that, key);
-        if (entry) {
-          var next = entry.n;
-          var prev = entry.p;
-          delete that._i[entry.i];
-          entry.r = true;
-          if (prev) prev.n = next;
-          if (next) next.p = prev;
-          if (that._f == entry) that._f = next;
-          if (that._l == entry) that._l = prev;
-          that[SIZE]--;
-        } return !!entry;
-      },
-      // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
-      // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
-      forEach: function forEach(callbackfn /* , that = undefined */) {
-        validate(this, NAME);
-        var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
-        var entry;
-        while (entry = entry ? entry.n : this._f) {
-          f(entry.v, entry.k, this);
-          // revert to the last existing entry
-          while (entry && entry.r) entry = entry.p;
-        }
-      },
-      // 23.1.3.7 Map.prototype.has(key)
-      // 23.2.3.7 Set.prototype.has(value)
-      has: function has(key) {
-        return !!getEntry(validate(this, NAME), key);
-      }
-    });
-    if (DESCRIPTORS) dP(C.prototype, 'size', {
-      get: function () {
-        return validate(this, NAME)[SIZE];
-      }
-    });
-    return C;
-  },
-  def: function (that, key, value) {
-    var entry = getEntry(that, key);
-    var prev, index;
-    // change existing entry
-    if (entry) {
-      entry.v = value;
-    // create new entry
-    } else {
-      that._l = entry = {
-        i: index = fastKey(key, true), // <- index
-        k: key,                        // <- key
-        v: value,                      // <- value
-        p: prev = that._l,             // <- previous entry
-        n: undefined,                  // <- next entry
-        r: false                       // <- removed
-      };
-      if (!that._f) that._f = entry;
-      if (prev) prev.n = entry;
-      that[SIZE]++;
-      // add to index
-      if (index !== 'F') that._i[index] = entry;
-    } return that;
-  },
-  getEntry: getEntry,
-  setStrong: function (C, NAME, IS_MAP) {
-    // add .keys, .values, .entries, [@@iterator]
-    // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
-    $iterDefine(C, NAME, function (iterated, kind) {
-      this._t = validate(iterated, NAME); // target
-      this._k = kind;                     // kind
-      this._l = undefined;                // previous
-    }, function () {
-      var that = this;
-      var kind = that._k;
-      var entry = that._l;
-      // revert to the last existing entry
-      while (entry && entry.r) entry = entry.p;
-      // get next entry
-      if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {
-        // or finish the iteration
-        that._t = undefined;
-        return step(1);
-      }
-      // return step by kind
-      if (kind == 'keys') return step(0, entry.k);
-      if (kind == 'values') return step(0, entry.v);
-      return step(0, [entry.k, entry.v]);
-    }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
-
-    // add [@@species], 23.1.2.2, 23.2.2.2
-    setSpecies(NAME);
-  }
-};
+__webpack_require__("FlQf");
+module.exports = __webpack_require__("fXsU");
 
 
 /***/ }),
 
-/***/ "XLbu":
+/***/ "XXOK":
 /***/ (function(module, exports, __webpack_require__) {
 
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var $export = __webpack_require__("Y7ZC");
-
-$export($export.P + $export.R, 'Map', { toJSON: __webpack_require__("8iia")('Map') });
-
+module.exports = __webpack_require__("Rp86");
 
 /***/ }),
 
-/***/ "aPfg":
+/***/ "fXsU":
 /***/ (function(module, exports, __webpack_require__) {
 
-"use strict";
-
-// https://tc39.github.io/proposal-setmap-offrom/
-var $export = __webpack_require__("Y7ZC");
-var aFunction = __webpack_require__("eaoh");
-var ctx = __webpack_require__("2GTP");
-var forOf = __webpack_require__("oioR");
-
-module.exports = function (COLLECTION) {
-  $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {
-    var mapFn = arguments[1];
-    var mapping, A, n, cb;
-    aFunction(this);
-    mapping = mapFn !== undefined;
-    if (mapping) aFunction(mapFn);
-    if (source == undefined) return new this();
-    A = [];
-    if (mapping) {
-      n = 0;
-      cb = ctx(mapFn, arguments[2], 2);
-      forOf(source, false, function (nextItem) {
-        A.push(cb(nextItem, n++));
-      });
-    } else {
-      forOf(source, false, A.push, A);
-    }
-    return new this(A);
-  } });
+var anObject = __webpack_require__("5K7Z");
+var get = __webpack_require__("fNZA");
+module.exports = __webpack_require__("WEpk").getIterator = function (it) {
+  var iterFn = get(it);
+  if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');
+  return anObject(iterFn.call(it));
 };
 
 
 /***/ }),
 
-/***/ "cHUd":
+/***/ "fprZ":
 /***/ (function(module, exports, __webpack_require__) {
 
-"use strict";
-
-// https://tc39.github.io/proposal-setmap-offrom/
-var $export = __webpack_require__("Y7ZC");
-
-module.exports = function (COLLECTION) {
-  $export($export.S, COLLECTION, { of: function of() {
-    var length = arguments.length;
-    var A = new Array(length);
-    while (length--) A[length] = arguments[length];
-    return new this(A);
-  } });
-};
-
-
-/***/ }),
+var _getIterator = __webpack_require__("XXOK");
 
-/***/ "cuFY":
-/***/ (function(module, exports, __webpack_require__) {
+function _iterableToArrayLimit(arr, i) {
+  var _arr = [];
+  var _n = true;
+  var _d = false;
+  var _e = undefined;
 
-"use strict";
-
-
-var _Map = __webpack_require__("LX0d");
-
-var _classCallCheck = __webpack_require__("/HRN");
-
-var _createClass = __webpack_require__("WaGi");
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var DataManager =
-/*#__PURE__*/
-function () {
-  function DataManager(data) {
-    _classCallCheck(this, DataManager);
-
-    this.data = new _Map(data);
-  }
+  try {
+    for (var _i = _getIterator(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {
+      _arr.push(_s.value);
 
-  _createClass(DataManager, [{
-    key: "getData",
-    value: function getData() {
-      return this.data;
-    }
-  }, {
-    key: "get",
-    value: function get(key) {
-      return this.data.get(key);
-    }
-  }, {
-    key: "set",
-    value: function set(key, value) {
-      this.data.set(key, value);
+      if (i && _arr.length === i) break;
     }
-  }, {
-    key: "overwrite",
-    value: function overwrite(data) {
-      this.data = new _Map(data);
+  } catch (err) {
+    _d = true;
+    _e = err;
+  } finally {
+    try {
+      if (!_n && _i["return"] != null) _i["return"]();
+    } finally {
+      if (_d) throw _e;
     }
-  }]);
-
-  return DataManager;
-}();
-
-exports.DataManager = DataManager;
-
-/***/ }),
-
-/***/ "dVTT":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from
-__webpack_require__("aPfg")('Map');
-
-
-/***/ }),
-
-/***/ "g33z":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var strong = __webpack_require__("Wu5q");
-var validate = __webpack_require__("n3ko");
-var MAP = 'Map';
-
-// 23.1 Map Objects
-module.exports = __webpack_require__("raTm")(MAP, function (get) {
-  return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };
-}, {
-  // 23.1.3.6 Map.prototype.get(key)
-  get: function get(key) {
-    var entry = strong.getEntry(validate(this, MAP), key);
-    return entry && entry.v;
-  },
-  // 23.1.3.9 Map.prototype.set(key, value)
-  set: function set(key, value) {
-    return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);
   }
-}, strong, true);
-
-
-/***/ }),
-
-/***/ "n3ko":
-/***/ (function(module, exports, __webpack_require__) {
 
-var isObject = __webpack_require__("93I4");
-module.exports = function (it, TYPE) {
-  if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');
-  return it;
-};
+  return _arr;
+}
 
+module.exports = _iterableToArrayLimit;
 
 /***/ }),
 
-/***/ "qS9g":
+/***/ "p0XB":
 /***/ (function(module, exports, __webpack_require__) {
 
-"use strict";
-
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-var __importStar = this && this.__importStar || function (mod) {
-  if (mod && mod.__esModule) return mod;
-  var result = {};
-  if (mod != null) for (var k in mod) {
-    if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-  }
-  result["default"] = mod;
-  return result;
-};
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var React = __importStar(__webpack_require__("q1tI"));
-
-exports.DataManagerContext = React.createContext(null);
+module.exports = __webpack_require__("9BDd");
 
 /***/ }),
 
-/***/ "raTm":
+/***/ "qArv":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
-var global = __webpack_require__("5T2Y");
-var $export = __webpack_require__("Y7ZC");
-var meta = __webpack_require__("6/1s");
-var fails = __webpack_require__("KUxP");
-var hide = __webpack_require__("NegM");
-var redefineAll = __webpack_require__("XJU/");
-var forOf = __webpack_require__("oioR");
-var anInstance = __webpack_require__("EXMj");
-var isObject = __webpack_require__("93I4");
-var setToStringTag = __webpack_require__("RfKB");
-var dP = __webpack_require__("2faE").f;
-var each = __webpack_require__("V7Et")(0);
-var DESCRIPTORS = __webpack_require__("jmDH");
-
-module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
-  var Base = global[NAME];
-  var C = Base;
-  var ADDER = IS_MAP ? 'set' : 'add';
-  var proto = C && C.prototype;
-  var O = {};
-  if (!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {
-    new C().entries().next();
-  }))) {
-    // create collection constructor
-    C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);
-    redefineAll(C.prototype, methods);
-    meta.NEED = true;
-  } else {
-    C = wrapper(function (target, iterable) {
-      anInstance(target, C, NAME, '_c');
-      target._c = new Base();
-      if (iterable != undefined) forOf(iterable, IS_MAP, target[ADDER], target);
-    });
-    each('add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON'.split(','), function (KEY) {
-      var IS_ADDER = KEY == 'add' || KEY == 'set';
-      if (KEY in proto && !(IS_WEAK && KEY == 'clear')) hide(C.prototype, KEY, function (a, b) {
-        anInstance(this, C, KEY);
-        if (!IS_ADDER && IS_WEAK && !isObject(a)) return KEY == 'get' ? undefined : false;
-        var result = this._c[KEY](a === 0 ? 0 : a, b);
-        return IS_ADDER ? this : result;
-      });
-    });
-    IS_WEAK || dP(C.prototype, 'size', {
-      get: function () {
-        return this._c.size;
-      }
-    });
-  }
-
-  setToStringTag(C, NAME);
-
-  O[NAME] = C;
-  $export($export.G + $export.W + $export.F, O);
-
-  if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);
-
-  return C;
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+    result["default"] = mod;
+    return result;
 };
+Object.defineProperty(exports, "__esModule", { value: true });
+const React = __importStar(__webpack_require__("q1tI"));
+exports.DataManagerContext = React.createContext(null);
 
 
 /***/ }),
 
-/***/ "v6xn":
+/***/ "yLiY":
 /***/ (function(module, exports, __webpack_require__) {
 
-// 9.4.2.3 ArraySpeciesCreate(originalArray, length)
-var speciesConstructor = __webpack_require__("C2SN");
+"use strict";
 
-module.exports = function (original, length) {
-  return new (speciesConstructor(original))(length);
+Object.defineProperty(exports, "__esModule", { value: true });
+let runtimeConfig;
+exports.default = () => {
+    return runtimeConfig;
 };
+function setConfig(configValue) {
+    runtimeConfig = configValue;
+}
+exports.setConfig = setConfig;
 
 
 /***/ }),
@@ -1410,7 +1000,7 @@ var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("+oT+"));
 
 var _promise = _interopRequireDefault(__webpack_require__("eVuF"));
 
-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 /* global document, window */
 
 
@@ -1741,4 +1331,4 @@ exports["default"] = PageLoader;
 
 /***/ })
 
-},[["BMP1",0,1,2,3]]]);
\ No newline at end of file
+},[["BMP1",0,1,2,3,4]]]);
\ No newline at end of file
Diff for main-HASH.module.js
@@ -1,131 +1,29 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[10],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[11],{
 
-/***/ "+oT+":
+/***/ "0IRE":
 /***/ (function(module, exports, __webpack_require__) {
 
-var _Promise = __webpack_require__("eVuF");
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
-  try {
-    var info = gen[key](arg);
-    var value = info.value;
-  } catch (error) {
-    reject(error);
-    return;
-  }
-
-  if (info.done) {
-    resolve(value);
-  } else {
-    _Promise.resolve(value).then(_next, _throw);
-  }
-}
-
-function _asyncToGenerator(fn) {
-  return function () {
-    var self = this,
-        args = arguments;
-    return new _Promise(function (resolve, reject) {
-      var gen = fn.apply(self, args);
-
-      function _next(value) {
-        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
-      }
-
-      function _throw(err) {
-        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
-      }
+"use strict";
 
-      _next(undefined);
-    });
-  };
+Object.defineProperty(exports, "__esModule", { value: true });
+class DataManager {
+    constructor(data) {
+        this.data = new Map(data);
+    }
+    getData() {
+        return this.data;
+    }
+    get(key) {
+        return this.data.get(key);
+    }
+    set(key, value) {
+        this.data.set(key, value);
+    }
+    overwrite(data) {
+        this.data = new Map(data);
+    }
 }
-
-module.exports = _asyncToGenerator;
-
-/***/ }),
-
-/***/ "/h46":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of
-__webpack_require__("cHUd")('Map');
-
-
-/***/ }),
-
-/***/ "6/1s":
-/***/ (function(module, exports, __webpack_require__) {
-
-var META = __webpack_require__("YqAc")('meta');
-var isObject = __webpack_require__("93I4");
-var has = __webpack_require__("B+OT");
-var setDesc = __webpack_require__("2faE").f;
-var id = 0;
-var isExtensible = Object.isExtensible || function () {
-  return true;
-};
-var FREEZE = !__webpack_require__("KUxP")(function () {
-  return isExtensible(Object.preventExtensions({}));
-});
-var setMeta = function (it) {
-  setDesc(it, META, { value: {
-    i: 'O' + ++id, // object ID
-    w: {}          // weak collections IDs
-  } });
-};
-var fastKey = function (it, create) {
-  // return primitive with prefix
-  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
-  if (!has(it, META)) {
-    // can't set metadata to uncaught frozen object
-    if (!isExtensible(it)) return 'F';
-    // not necessary to add metadata
-    if (!create) return 'E';
-    // add missing metadata
-    setMeta(it);
-  // return object ID
-  } return it[META].i;
-};
-var getWeak = function (it, create) {
-  if (!has(it, META)) {
-    // can't set metadata to uncaught frozen object
-    if (!isExtensible(it)) return true;
-    // not necessary to add metadata
-    if (!create) return false;
-    // add missing metadata
-    setMeta(it);
-  // return hash weak collections IDs
-  } return it[META].w;
-};
-// add metadata on freeze-family methods calling
-var onFreeze = function (it) {
-  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);
-  return it;
-};
-var meta = module.exports = {
-  KEY: META,
-  NEED: false,
-  fastKey: fastKey,
-  getWeak: getWeak,
-  onFreeze: onFreeze
-};
-
-
-/***/ }),
-
-/***/ "8iia":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var classof = __webpack_require__("QMMT");
-var from = __webpack_require__("RRc/");
-module.exports = function (NAME) {
-  return function toJSON() {
-    if (classof(this) != NAME) throw TypeError(NAME + "#toJSON isn't generic");
-    return from(this);
-  };
-};
+exports.DataManager = DataManager;
 
 
 /***/ }),
@@ -147,29 +45,6 @@ window.next = next;
 
 /***/ }),
 
-/***/ "C2SN":
-/***/ (function(module, exports, __webpack_require__) {
-
-var isObject = __webpack_require__("93I4");
-var isArray = __webpack_require__("kAMH");
-var SPECIES = __webpack_require__("UWiX")('species');
-
-module.exports = function (original) {
-  var C;
-  if (isArray(original)) {
-    C = original.constructor;
-    // cross-realm fallback
-    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-    if (isObject(C)) {
-      C = C[SPECIES];
-      if (C === null) C = undefined;
-    }
-  } return C === undefined ? Array : C;
-};
-
-
-/***/ }),
-
 /***/ "DqTX":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -296,56 +171,23 @@ function reactElementToDOM(_ref) {
 
 /***/ }),
 
-/***/ "HohS":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-let runtimeConfig;
-
-exports.default = () => {
-  return runtimeConfig;
-};
-
-function setConfig(configValue) {
-  runtimeConfig = configValue;
-}
-
-exports.setConfig = setConfig;
-
-/***/ }),
-
-/***/ "IClC":
+/***/ "FYa8":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-var __importStar = this && this.__importStar || function (mod) {
-  if (mod && mod.__esModule) return mod;
-  var result = {};
-  if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-  result["default"] = mod;
-  return result;
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+    result["default"] = mod;
+    return result;
 };
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
+Object.defineProperty(exports, "__esModule", { value: true });
 const React = __importStar(__webpack_require__("q1tI"));
-
 exports.HeadManagerContext = React.createContext(null);
 
+
 /***/ }),
 
 /***/ "IKlv":
@@ -377,25 +219,25 @@ var _headManager = _interopRequireDefault(__webpack_require__("DqTX"));
 
 var _router = __webpack_require__("nOHt");
 
-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 
 var _pageLoader = _interopRequireDefault(__webpack_require__("zmvN"));
 
-var envConfig = _interopRequireWildcard(__webpack_require__("PBx+"));
+var envConfig = _interopRequireWildcard(__webpack_require__("yLiY"));
 
-var _headManagerContext = __webpack_require__("IClC");
+var _headManagerContext = __webpack_require__("FYa8");
 
-var _dataManagerContext = __webpack_require__("qS9g");
+var _dataManagerContext = __webpack_require__("qArv");
 
-var _routerContext = __webpack_require__("9EOK");
+var _routerContext = __webpack_require__("qOIg");
 
-var _dataManager = __webpack_require__("cuFY");
+var _dataManager = __webpack_require__("0IRE");
 
 var _querystring = __webpack_require__("s4NR");
 
-var _isDynamic = __webpack_require__("kcOw");
+var _isDynamic = __webpack_require__("/jkW");
 /* global location */
 // Polyfill Promise globally
 // This is needed because Webpack's dynamic loading(common chunks) code
@@ -785,523 +627,39 @@ function _doRender() {
 
 /***/ }),
 
-/***/ "LX0d":
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__("UDep");
-
-/***/ }),
-
-/***/ "PBx+":
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__("HohS")
-
-
-/***/ }),
-
-/***/ "RRc/":
-/***/ (function(module, exports, __webpack_require__) {
-
-var forOf = __webpack_require__("oioR");
-
-module.exports = function (iter, ITERATOR) {
-  var result = [];
-  forOf(iter, false, result.push, result, ITERATOR);
-  return result;
-};
-
-
-/***/ }),
-
-/***/ "UDep":
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__("wgeU");
-__webpack_require__("FlQf");
-__webpack_require__("bBy9");
-__webpack_require__("g33z");
-__webpack_require__("XLbu");
-__webpack_require__("/h46");
-__webpack_require__("dVTT");
-module.exports = __webpack_require__("WEpk").Map;
-
-
-/***/ }),
-
-/***/ "V7Et":
-/***/ (function(module, exports, __webpack_require__) {
-
-// 0 -> Array#forEach
-// 1 -> Array#map
-// 2 -> Array#filter
-// 3 -> Array#some
-// 4 -> Array#every
-// 5 -> Array#find
-// 6 -> Array#findIndex
-var ctx = __webpack_require__("2GTP");
-var IObject = __webpack_require__("M1xp");
-var toObject = __webpack_require__("JB68");
-var toLength = __webpack_require__("tEej");
-var asc = __webpack_require__("v6xn");
-module.exports = function (TYPE, $create) {
-  var IS_MAP = TYPE == 1;
-  var IS_FILTER = TYPE == 2;
-  var IS_SOME = TYPE == 3;
-  var IS_EVERY = TYPE == 4;
-  var IS_FIND_INDEX = TYPE == 6;
-  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-  var create = $create || asc;
-  return function ($this, callbackfn, that) {
-    var O = toObject($this);
-    var self = IObject(O);
-    var f = ctx(callbackfn, that, 3);
-    var length = toLength(self.length);
-    var index = 0;
-    var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-    var val, res;
-    for (;length > index; index++) if (NO_HOLES || index in self) {
-      val = self[index];
-      res = f(val, index, O);
-      if (TYPE) {
-        if (IS_MAP) result[index] = res;   // map
-        else if (res) switch (TYPE) {
-          case 3: return true;             // some
-          case 5: return val;              // find
-          case 6: return index;            // findIndex
-          case 2: result.push(val);        // filter
-        } else if (IS_EVERY) return false; // every
-      }
-    }
-    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
-  };
-};
-
-
-/***/ }),
-
-/***/ "Wu5q":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var dP = __webpack_require__("2faE").f;
-var create = __webpack_require__("oVml");
-var redefineAll = __webpack_require__("XJU/");
-var ctx = __webpack_require__("2GTP");
-var anInstance = __webpack_require__("EXMj");
-var forOf = __webpack_require__("oioR");
-var $iterDefine = __webpack_require__("MPFp");
-var step = __webpack_require__("UO39");
-var setSpecies = __webpack_require__("TJWN");
-var DESCRIPTORS = __webpack_require__("jmDH");
-var fastKey = __webpack_require__("6/1s").fastKey;
-var validate = __webpack_require__("n3ko");
-var SIZE = DESCRIPTORS ? '_s' : 'size';
-
-var getEntry = function (that, key) {
-  // fast case
-  var index = fastKey(key);
-  var entry;
-  if (index !== 'F') return that._i[index];
-  // frozen object case
-  for (entry = that._f; entry; entry = entry.n) {
-    if (entry.k == key) return entry;
-  }
-};
-
-module.exports = {
-  getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {
-    var C = wrapper(function (that, iterable) {
-      anInstance(that, C, NAME, '_i');
-      that._t = NAME;         // collection type
-      that._i = create(null); // index
-      that._f = undefined;    // first entry
-      that._l = undefined;    // last entry
-      that[SIZE] = 0;         // size
-      if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
-    });
-    redefineAll(C.prototype, {
-      // 23.1.3.1 Map.prototype.clear()
-      // 23.2.3.2 Set.prototype.clear()
-      clear: function clear() {
-        for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {
-          entry.r = true;
-          if (entry.p) entry.p = entry.p.n = undefined;
-          delete data[entry.i];
-        }
-        that._f = that._l = undefined;
-        that[SIZE] = 0;
-      },
-      // 23.1.3.3 Map.prototype.delete(key)
-      // 23.2.3.4 Set.prototype.delete(value)
-      'delete': function (key) {
-        var that = validate(this, NAME);
-        var entry = getEntry(that, key);
-        if (entry) {
-          var next = entry.n;
-          var prev = entry.p;
-          delete that._i[entry.i];
-          entry.r = true;
-          if (prev) prev.n = next;
-          if (next) next.p = prev;
-          if (that._f == entry) that._f = next;
-          if (that._l == entry) that._l = prev;
-          that[SIZE]--;
-        } return !!entry;
-      },
-      // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
-      // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
-      forEach: function forEach(callbackfn /* , that = undefined */) {
-        validate(this, NAME);
-        var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
-        var entry;
-        while (entry = entry ? entry.n : this._f) {
-          f(entry.v, entry.k, this);
-          // revert to the last existing entry
-          while (entry && entry.r) entry = entry.p;
-        }
-      },
-      // 23.1.3.7 Map.prototype.has(key)
-      // 23.2.3.7 Set.prototype.has(value)
-      has: function has(key) {
-        return !!getEntry(validate(this, NAME), key);
-      }
-    });
-    if (DESCRIPTORS) dP(C.prototype, 'size', {
-      get: function () {
-        return validate(this, NAME)[SIZE];
-      }
-    });
-    return C;
-  },
-  def: function (that, key, value) {
-    var entry = getEntry(that, key);
-    var prev, index;
-    // change existing entry
-    if (entry) {
-      entry.v = value;
-    // create new entry
-    } else {
-      that._l = entry = {
-        i: index = fastKey(key, true), // <- index
-        k: key,                        // <- key
-        v: value,                      // <- value
-        p: prev = that._l,             // <- previous entry
-        n: undefined,                  // <- next entry
-        r: false                       // <- removed
-      };
-      if (!that._f) that._f = entry;
-      if (prev) prev.n = entry;
-      that[SIZE]++;
-      // add to index
-      if (index !== 'F') that._i[index] = entry;
-    } return that;
-  },
-  getEntry: getEntry,
-  setStrong: function (C, NAME, IS_MAP) {
-    // add .keys, .values, .entries, [@@iterator]
-    // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
-    $iterDefine(C, NAME, function (iterated, kind) {
-      this._t = validate(iterated, NAME); // target
-      this._k = kind;                     // kind
-      this._l = undefined;                // previous
-    }, function () {
-      var that = this;
-      var kind = that._k;
-      var entry = that._l;
-      // revert to the last existing entry
-      while (entry && entry.r) entry = entry.p;
-      // get next entry
-      if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {
-        // or finish the iteration
-        that._t = undefined;
-        return step(1);
-      }
-      // return step by kind
-      if (kind == 'keys') return step(0, entry.k);
-      if (kind == 'values') return step(0, entry.v);
-      return step(0, [entry.k, entry.v]);
-    }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
-
-    // add [@@species], 23.1.2.2, 23.2.2.2
-    setSpecies(NAME);
-  }
-};
-
-
-/***/ }),
-
-/***/ "XLbu":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var $export = __webpack_require__("Y7ZC");
-
-$export($export.P + $export.R, 'Map', { toJSON: __webpack_require__("8iia")('Map') });
-
-
-/***/ }),
-
-/***/ "aPfg":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-// https://tc39.github.io/proposal-setmap-offrom/
-var $export = __webpack_require__("Y7ZC");
-var aFunction = __webpack_require__("eaoh");
-var ctx = __webpack_require__("2GTP");
-var forOf = __webpack_require__("oioR");
-
-module.exports = function (COLLECTION) {
-  $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {
-    var mapFn = arguments[1];
-    var mapping, A, n, cb;
-    aFunction(this);
-    mapping = mapFn !== undefined;
-    if (mapping) aFunction(mapFn);
-    if (source == undefined) return new this();
-    A = [];
-    if (mapping) {
-      n = 0;
-      cb = ctx(mapFn, arguments[2], 2);
-      forOf(source, false, function (nextItem) {
-        A.push(cb(nextItem, n++));
-      });
-    } else {
-      forOf(source, false, A.push, A);
-    }
-    return new this(A);
-  } });
-};
-
-
-/***/ }),
-
-/***/ "cHUd":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-// https://tc39.github.io/proposal-setmap-offrom/
-var $export = __webpack_require__("Y7ZC");
-
-module.exports = function (COLLECTION) {
-  $export($export.S, COLLECTION, { of: function of() {
-    var length = arguments.length;
-    var A = new Array(length);
-    while (length--) A[length] = arguments[length];
-    return new this(A);
-  } });
-};
-
-
-/***/ }),
-
-/***/ "cuFY":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _Map = __webpack_require__("LX0d");
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-class DataManager {
-  constructor(data) {
-    this.data = new _Map(data);
-  }
-
-  getData() {
-    return this.data;
-  }
-
-  get(key) {
-    return this.data.get(key);
-  }
-
-  set(key, value) {
-    this.data.set(key, value);
-  }
-
-  overwrite(data) {
-    this.data = new _Map(data);
-  }
-
-}
-
-exports.DataManager = DataManager;
-
-/***/ }),
-
-/***/ "dVTT":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from
-__webpack_require__("aPfg")('Map');
-
-
-/***/ }),
-
-/***/ "g33z":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var strong = __webpack_require__("Wu5q");
-var validate = __webpack_require__("n3ko");
-var MAP = 'Map';
-
-// 23.1 Map Objects
-module.exports = __webpack_require__("raTm")(MAP, function (get) {
-  return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };
-}, {
-  // 23.1.3.6 Map.prototype.get(key)
-  get: function get(key) {
-    var entry = strong.getEntry(validate(this, MAP), key);
-    return entry && entry.v;
-  },
-  // 23.1.3.9 Map.prototype.set(key, value)
-  set: function set(key, value) {
-    return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);
-  }
-}, strong, true);
-
-
-/***/ }),
-
-/***/ "kAMH":
-/***/ (function(module, exports, __webpack_require__) {
-
-// 7.2.2 IsArray(argument)
-var cof = __webpack_require__("a0xu");
-module.exports = Array.isArray || function isArray(arg) {
-  return cof(arg) == 'Array';
-};
-
-
-/***/ }),
-
-/***/ "n3ko":
-/***/ (function(module, exports, __webpack_require__) {
-
-var isObject = __webpack_require__("93I4");
-module.exports = function (it, TYPE) {
-  if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');
-  return it;
-};
-
-
-/***/ }),
-
-/***/ "qS9g":
+/***/ "qArv":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-var __importStar = this && this.__importStar || function (mod) {
-  if (mod && mod.__esModule) return mod;
-  var result = {};
-  if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-  result["default"] = mod;
-  return result;
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+    result["default"] = mod;
+    return result;
 };
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
+Object.defineProperty(exports, "__esModule", { value: true });
 const React = __importStar(__webpack_require__("q1tI"));
-
 exports.DataManagerContext = React.createContext(null);
 
-/***/ }),
-
-/***/ "raTm":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var global = __webpack_require__("5T2Y");
-var $export = __webpack_require__("Y7ZC");
-var meta = __webpack_require__("6/1s");
-var fails = __webpack_require__("KUxP");
-var hide = __webpack_require__("NegM");
-var redefineAll = __webpack_require__("XJU/");
-var forOf = __webpack_require__("oioR");
-var anInstance = __webpack_require__("EXMj");
-var isObject = __webpack_require__("93I4");
-var setToStringTag = __webpack_require__("RfKB");
-var dP = __webpack_require__("2faE").f;
-var each = __webpack_require__("V7Et")(0);
-var DESCRIPTORS = __webpack_require__("jmDH");
-
-module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
-  var Base = global[NAME];
-  var C = Base;
-  var ADDER = IS_MAP ? 'set' : 'add';
-  var proto = C && C.prototype;
-  var O = {};
-  if (!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {
-    new C().entries().next();
-  }))) {
-    // create collection constructor
-    C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);
-    redefineAll(C.prototype, methods);
-    meta.NEED = true;
-  } else {
-    C = wrapper(function (target, iterable) {
-      anInstance(target, C, NAME, '_c');
-      target._c = new Base();
-      if (iterable != undefined) forOf(iterable, IS_MAP, target[ADDER], target);
-    });
-    each('add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON'.split(','), function (KEY) {
-      var IS_ADDER = KEY == 'add' || KEY == 'set';
-      if (KEY in proto && !(IS_WEAK && KEY == 'clear')) hide(C.prototype, KEY, function (a, b) {
-        anInstance(this, C, KEY);
-        if (!IS_ADDER && IS_WEAK && !isObject(a)) return KEY == 'get' ? undefined : false;
-        var result = this._c[KEY](a === 0 ? 0 : a, b);
-        return IS_ADDER ? this : result;
-      });
-    });
-    IS_WEAK || dP(C.prototype, 'size', {
-      get: function () {
-        return this._c.size;
-      }
-    });
-  }
-
-  setToStringTag(C, NAME);
-
-  O[NAME] = C;
-  $export($export.G + $export.W + $export.F, O);
-
-  if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);
-
-  return C;
-};
-
 
 /***/ }),
 
-/***/ "v6xn":
+/***/ "yLiY":
 /***/ (function(module, exports, __webpack_require__) {
 
-// 9.4.2.3 ArraySpeciesCreate(originalArray, length)
-var speciesConstructor = __webpack_require__("C2SN");
+"use strict";
 
-module.exports = function (original, length) {
-  return new (speciesConstructor(original))(length);
+Object.defineProperty(exports, "__esModule", { value: true });
+let runtimeConfig;
+exports.default = () => {
+    return runtimeConfig;
 };
+function setConfig(configValue) {
+    runtimeConfig = configValue;
+}
+exports.setConfig = setConfig;
 
 
 /***/ }),
@@ -1321,7 +679,7 @@ var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("+oT+"));
 
 var _promise = _interopRequireDefault(__webpack_require__("eVuF"));
 
-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 /* global document, window */
 
 
@@ -1568,4 +926,4 @@ exports.default = PageLoader;
 
 /***/ })
 
-},[["BMP1",0,1,2]]]);
\ No newline at end of file
+},[["BMP1",0,1,2,3]]]);
\ No newline at end of file
Diff for _app.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[4],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[5],{
 
 /***/ "B5Ud":
 /***/ (function(module, exports, __webpack_require__) {
@@ -33,7 +33,7 @@ var _react = _interopRequireDefault(__webpack_require__("q1tI"));
 
 var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 
 exports.AppInitialProps = _utils.AppInitialProps;
 
@@ -200,4 +200,4 @@ function createUrl(router) {
 
 /***/ })
 
-},[["e9+W",0,1,2,3]]]);
\ No newline at end of file
+},[["e9+W",0,1,2,3,4]]]);
\ No newline at end of file
Diff for _error.js

Diff too large to display

Diff for hooks.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[6],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[7],{
 
 /***/ "+MDD":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
Diff for index.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[7],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[8],{
 
 /***/ "RNiq":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
Diff for link.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[8],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[9],{
 
 /***/ "/h46":
 /***/ (function(module, exports, __webpack_require__) {
@@ -48,6 +48,18 @@ module.exports = function (original) {
 
 /***/ }),
 
+/***/ "EXMj":
+/***/ (function(module, exports) {
+
+module.exports = function (it, Constructor, name, forbiddenField) {
+  if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {
+    throw TypeError(name + ': incorrect invocation!');
+  } return it;
+};
+
+
+/***/ }),
+
 /***/ "LX0d":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -55,6 +67,21 @@ module.exports = __webpack_require__("UDep");
 
 /***/ }),
 
+/***/ "NwJ3":
+/***/ (function(module, exports, __webpack_require__) {
+
+// check on default Array iterator
+var Iterators = __webpack_require__("SBuE");
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var ArrayProto = Array.prototype;
+
+module.exports = function (it) {
+  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
+};
+
+
+/***/ }),
+
 /***/ "ObF3":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
@@ -82,6 +109,36 @@ aLink.getInitialProps = function () {
 
 /***/ }),
 
+/***/ "QMMT":
+/***/ (function(module, exports, __webpack_require__) {
+
+// getting tag from 19.1.3.6 Object.prototype.toString()
+var cof = __webpack_require__("a0xu");
+var TAG = __webpack_require__("UWiX")('toStringTag');
+// ES3 wrong here
+var ARG = cof(function () { return arguments; }()) == 'Arguments';
+
+// fallback for IE11 Script Access Denied error
+var tryGet = function (it, key) {
+  try {
+    return it[key];
+  } catch (e) { /* empty */ }
+};
+
+module.exports = function (it) {
+  var O, T, B;
+  return it === undefined ? 'Undefined' : it === null ? 'Null'
+    // @@toStringTag case
+    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T
+    // builtinTag case
+    : ARG ? cof(O)
+    // ES3 arguments fallback
+    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
+};
+
+
+/***/ }),
+
 /***/ "RRc/":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -96,6 +153,28 @@ module.exports = function (iter, ITERATOR) {
 
 /***/ }),
 
+/***/ "TJWN":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var global = __webpack_require__("5T2Y");
+var core = __webpack_require__("WEpk");
+var dP = __webpack_require__("2faE");
+var DESCRIPTORS = __webpack_require__("jmDH");
+var SPECIES = __webpack_require__("UWiX")('species');
+
+module.exports = function (KEY) {
+  var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];
+  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {
+    configurable: true,
+    get: function () { return this; }
+  });
+};
+
+
+/***/ }),
+
 /***/ "UDep":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -327,6 +406,20 @@ module.exports = {
 
 /***/ }),
 
+/***/ "XJU/":
+/***/ (function(module, exports, __webpack_require__) {
+
+var hide = __webpack_require__("NegM");
+module.exports = function (target, src, safe) {
+  for (var key in src) {
+    if (safe && target[key]) target[key] = src[key];
+    else hide(target, key, src[key]);
+  } return target;
+};
+
+
+/***/ }),
+
 /***/ "XLbu":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -435,9 +528,9 @@ var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
 var _router = _interopRequireDefault(__webpack_require__("nOHt"));
 
-var _rewriteUrlForExport = __webpack_require__("KA3u");
+var _rewriteUrlForExport = __webpack_require__("P5f7");
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 /* global __NEXT_DATA__ */
 
 
@@ -704,6 +797,21 @@ __webpack_require__("aPfg")('Map');
 
 /***/ }),
 
+/***/ "fNZA":
+/***/ (function(module, exports, __webpack_require__) {
+
+var classof = __webpack_require__("QMMT");
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var Iterators = __webpack_require__("SBuE");
+module.exports = __webpack_require__("WEpk").getIteratorMethod = function (it) {
+  if (it != undefined) return it[ITERATOR]
+    || it['@@iterator']
+    || Iterators[classof(it)];
+};
+
+
+/***/ }),
+
 /***/ "g33z":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -743,6 +851,38 @@ module.exports = function (it, TYPE) {
 
 /***/ }),
 
+/***/ "oioR":
+/***/ (function(module, exports, __webpack_require__) {
+
+var ctx = __webpack_require__("2GTP");
+var call = __webpack_require__("sNwI");
+var isArrayIter = __webpack_require__("NwJ3");
+var anObject = __webpack_require__("5K7Z");
+var toLength = __webpack_require__("tEej");
+var getIterFn = __webpack_require__("fNZA");
+var BREAK = {};
+var RETURN = {};
+var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {
+  var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);
+  var f = ctx(fn, that, entries ? 2 : 1);
+  var index = 0;
+  var length, step, iterator, result;
+  if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');
+  // fast case for arrays with default iterator
+  if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {
+    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
+    if (result === BREAK || result === RETURN) return result;
+  } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {
+    result = call(iterator, f, step.value, entries);
+    if (result === BREAK || result === RETURN) return result;
+  }
+};
+exports.BREAK = BREAK;
+exports.RETURN = RETURN;
+
+
+/***/ }),
+
 /***/ "raTm":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -810,6 +950,25 @@ module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
 
 /***/ }),
 
+/***/ "sNwI":
+/***/ (function(module, exports, __webpack_require__) {
+
+// call something on iterator step with safe closing on error
+var anObject = __webpack_require__("5K7Z");
+module.exports = function (iterator, fn, value, entries) {
+  try {
+    return entries ? fn(anObject(value)[0], value[1]) : fn(value);
+  // 7.4.6 IteratorClose(iterator, completion)
+  } catch (e) {
+    var ret = iterator['return'];
+    if (ret !== undefined) anObject(ret.call(iterator));
+    throw e;
+  }
+};
+
+
+/***/ }),
+
 /***/ "v6xn":
 /***/ (function(module, exports, __webpack_require__) {
Diff for routerDirect.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[9],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[10],{
 
 /***/ "LtRI":
 /***/ (function(module, exports, __webpack_require__) {
Diff for withRouter.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[10],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[11],{
 
 /***/ "0Hlz":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
Diff for _app.module.js
@@ -1,49 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[3],{
-
-/***/ "+oT+":
-/***/ (function(module, exports, __webpack_require__) {
-
-var _Promise = __webpack_require__("eVuF");
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
-  try {
-    var info = gen[key](arg);
-    var value = info.value;
-  } catch (error) {
-    reject(error);
-    return;
-  }
-
-  if (info.done) {
-    resolve(value);
-  } else {
-    _Promise.resolve(value).then(_next, _throw);
-  }
-}
-
-function _asyncToGenerator(fn) {
-  return function () {
-    var self = this,
-        args = arguments;
-    return new _Promise(function (resolve, reject) {
-      var gen = fn.apply(self, args);
-
-      function _next(value) {
-        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
-      }
-
-      function _throw(err) {
-        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
-      }
-
-      _next(undefined);
-    });
-  };
-}
-
-module.exports = _asyncToGenerator;
-
-/***/ }),
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[4],{
 
 /***/ "B5Ud":
 /***/ (function(module, exports, __webpack_require__) {
@@ -66,7 +21,7 @@ var _react = _interopRequireDefault(__webpack_require__("q1tI"));
 
 var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 
 exports.AppInitialProps = _utils.AppInitialProps;
 
@@ -205,4 +160,4 @@ function createUrl(router) {
 
 /***/ })
 
-},[["e9+W",0,1,2]]]);
\ No newline at end of file
+},[["e9+W",0,1,2,3]]]);
\ No newline at end of file
Diff for _error.module.js

Diff too large to display

Diff for hooks.module.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[5],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[6],{
 
 /***/ "+MDD":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
Diff for index.module.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[6],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[7],{
 
 /***/ "RNiq":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
Diff for link.module.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[7],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[8],{
 
 /***/ "/h46":
 /***/ (function(module, exports, __webpack_require__) {
@@ -108,6 +108,43 @@ module.exports = function (original) {
 
 /***/ }),
 
+/***/ "EXMj":
+/***/ (function(module, exports) {
+
+module.exports = function (it, Constructor, name, forbiddenField) {
+  if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {
+    throw TypeError(name + ': incorrect invocation!');
+  } return it;
+};
+
+
+/***/ }),
+
+/***/ "FlQf":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var $at = __webpack_require__("ccE7")(true);
+
+// 21.1.3.27 String.prototype[@@iterator]()
+__webpack_require__("MPFp")(String, 'String', function (iterated) {
+  this._t = String(iterated); // target
+  this._i = 0;                // next index
+// 21.1.5.2.1 %StringIteratorPrototype%.next()
+}, function () {
+  var O = this._t;
+  var index = this._i;
+  var point;
+  if (index >= O.length) return { value: undefined, done: true };
+  point = $at(O, index);
+  this._i += point.length;
+  return { value: point, done: false };
+});
+
+
+/***/ }),
+
 /***/ "LX0d":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -115,6 +152,107 @@ module.exports = __webpack_require__("UDep");
 
 /***/ }),
 
+/***/ "MPFp":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var LIBRARY = __webpack_require__("uOPS");
+var $export = __webpack_require__("Y7ZC");
+var redefine = __webpack_require__("kTiW");
+var hide = __webpack_require__("NegM");
+var Iterators = __webpack_require__("SBuE");
+var $iterCreate = __webpack_require__("j2DC");
+var setToStringTag = __webpack_require__("RfKB");
+var getPrototypeOf = __webpack_require__("U+KD");
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`
+var FF_ITERATOR = '@@iterator';
+var KEYS = 'keys';
+var VALUES = 'values';
+
+var returnThis = function () { return this; };
+
+module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {
+  $iterCreate(Constructor, NAME, next);
+  var getMethod = function (kind) {
+    if (!BUGGY && kind in proto) return proto[kind];
+    switch (kind) {
+      case KEYS: return function keys() { return new Constructor(this, kind); };
+      case VALUES: return function values() { return new Constructor(this, kind); };
+    } return function entries() { return new Constructor(this, kind); };
+  };
+  var TAG = NAME + ' Iterator';
+  var DEF_VALUES = DEFAULT == VALUES;
+  var VALUES_BUG = false;
+  var proto = Base.prototype;
+  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];
+  var $default = $native || getMethod(DEFAULT);
+  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;
+  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;
+  var methods, key, IteratorPrototype;
+  // Fix native
+  if ($anyNative) {
+    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));
+    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {
+      // Set @@toStringTag to native iterators
+      setToStringTag(IteratorPrototype, TAG, true);
+      // fix for some old engines
+      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);
+    }
+  }
+  // fix Array#{values, @@iterator}.name in V8 / FF
+  if (DEF_VALUES && $native && $native.name !== VALUES) {
+    VALUES_BUG = true;
+    $default = function values() { return $native.call(this); };
+  }
+  // Define iterator
+  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {
+    hide(proto, ITERATOR, $default);
+  }
+  // Plug for library
+  Iterators[NAME] = $default;
+  Iterators[TAG] = returnThis;
+  if (DEFAULT) {
+    methods = {
+      values: DEF_VALUES ? $default : getMethod(VALUES),
+      keys: IS_SET ? $default : getMethod(KEYS),
+      entries: $entries
+    };
+    if (FORCED) for (key in methods) {
+      if (!(key in proto)) redefine(proto, key, methods[key]);
+    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
+  }
+  return methods;
+};
+
+
+/***/ }),
+
+/***/ "MvwC":
+/***/ (function(module, exports, __webpack_require__) {
+
+var document = __webpack_require__("5T2Y").document;
+module.exports = document && document.documentElement;
+
+
+/***/ }),
+
+/***/ "NwJ3":
+/***/ (function(module, exports, __webpack_require__) {
+
+// check on default Array iterator
+var Iterators = __webpack_require__("SBuE");
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var ArrayProto = Array.prototype;
+
+module.exports = function (it) {
+  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
+};
+
+
+/***/ }),
+
 /***/ "ObF3":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
@@ -140,6 +278,36 @@ aLink.getInitialProps = () => ({});
 
 /***/ }),
 
+/***/ "QMMT":
+/***/ (function(module, exports, __webpack_require__) {
+
+// getting tag from 19.1.3.6 Object.prototype.toString()
+var cof = __webpack_require__("a0xu");
+var TAG = __webpack_require__("UWiX")('toStringTag');
+// ES3 wrong here
+var ARG = cof(function () { return arguments; }()) == 'Arguments';
+
+// fallback for IE11 Script Access Denied error
+var tryGet = function (it, key) {
+  try {
+    return it[key];
+  } catch (e) { /* empty */ }
+};
+
+module.exports = function (it) {
+  var O, T, B;
+  return it === undefined ? 'Undefined' : it === null ? 'Null'
+    // @@toStringTag case
+    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T
+    // builtinTag case
+    : ARG ? cof(O)
+    // ES3 arguments fallback
+    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
+};
+
+
+/***/ }),
+
 /***/ "RRc/":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -154,6 +322,70 @@ module.exports = function (iter, ITERATOR) {
 
 /***/ }),
 
+/***/ "RfKB":
+/***/ (function(module, exports, __webpack_require__) {
+
+var def = __webpack_require__("2faE").f;
+var has = __webpack_require__("B+OT");
+var TAG = __webpack_require__("UWiX")('toStringTag');
+
+module.exports = function (it, tag, stat) {
+  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });
+};
+
+
+/***/ }),
+
+/***/ "SBuE":
+/***/ (function(module, exports) {
+
+module.exports = {};
+
+
+/***/ }),
+
+/***/ "TJWN":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var global = __webpack_require__("5T2Y");
+var core = __webpack_require__("WEpk");
+var dP = __webpack_require__("2faE");
+var DESCRIPTORS = __webpack_require__("jmDH");
+var SPECIES = __webpack_require__("UWiX")('species');
+
+module.exports = function (KEY) {
+  var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];
+  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {
+    configurable: true,
+    get: function () { return this; }
+  });
+};
+
+
+/***/ }),
+
+/***/ "U+KD":
+/***/ (function(module, exports, __webpack_require__) {
+
+// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
+var has = __webpack_require__("B+OT");
+var toObject = __webpack_require__("JB68");
+var IE_PROTO = __webpack_require__("VVlx")('IE_PROTO');
+var ObjectProto = Object.prototype;
+
+module.exports = Object.getPrototypeOf || function (O) {
+  O = toObject(O);
+  if (has(O, IE_PROTO)) return O[IE_PROTO];
+  if (typeof O.constructor == 'function' && O instanceof O.constructor) {
+    return O.constructor.prototype;
+  } return O instanceof Object ? ObjectProto : null;
+};
+
+
+/***/ }),
+
 /***/ "UDep":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -169,6 +401,34 @@ module.exports = __webpack_require__("WEpk").Map;
 
 /***/ }),
 
+/***/ "UO39":
+/***/ (function(module, exports) {
+
+module.exports = function (done, value) {
+  return { value: value, done: !!done };
+};
+
+
+/***/ }),
+
+/***/ "UWiX":
+/***/ (function(module, exports, __webpack_require__) {
+
+var store = __webpack_require__("29s/")('wks');
+var uid = __webpack_require__("YqAc");
+var Symbol = __webpack_require__("5T2Y").Symbol;
+var USE_SYMBOL = typeof Symbol == 'function';
+
+var $exports = module.exports = function (name) {
+  return store[name] || (store[name] =
+    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));
+};
+
+$exports.store = store;
+
+
+/***/ }),
+
 /***/ "V7Et":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -385,6 +645,20 @@ module.exports = {
 
 /***/ }),
 
+/***/ "XJU/":
+/***/ (function(module, exports, __webpack_require__) {
+
+var hide = __webpack_require__("NegM");
+module.exports = function (target, src, safe) {
+  for (var key in src) {
+    if (safe && target[key]) target[key] = src[key];
+    else hide(target, key, src[key]);
+  } return target;
+};
+
+
+/***/ }),
+
 /***/ "XLbu":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -440,6 +714,32 @@ module.exports = function (COLLECTION) {
 
 /***/ }),
 
+/***/ "bBy9":
+/***/ (function(module, exports, __webpack_require__) {
+
+__webpack_require__("w2d+");
+var global = __webpack_require__("5T2Y");
+var hide = __webpack_require__("NegM");
+var Iterators = __webpack_require__("SBuE");
+var TO_STRING_TAG = __webpack_require__("UWiX")('toStringTag');
+
+var DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +
+  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +
+  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +
+  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +
+  'TextTrackList,TouchList').split(',');
+
+for (var i = 0; i < DOMIterables.length; i++) {
+  var NAME = DOMIterables[i];
+  var Collection = global[NAME];
+  var proto = Collection && Collection.prototype;
+  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);
+  Iterators[NAME] = Iterators.Array;
+}
+
+
+/***/ }),
+
 /***/ "cHUd":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -483,9 +783,9 @@ var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
 var _router = _interopRequireDefault(__webpack_require__("nOHt"));
 
-var _rewriteUrlForExport = __webpack_require__("KA3u");
+var _rewriteUrlForExport = __webpack_require__("P5f7");
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 /* global __NEXT_DATA__ */
 
 
@@ -731,6 +1031,30 @@ exports.default = _default;
 
 /***/ }),
 
+/***/ "ccE7":
+/***/ (function(module, exports, __webpack_require__) {
+
+var toInteger = __webpack_require__("Ojgd");
+var defined = __webpack_require__("Jes0");
+// true  -> String#at
+// false -> String#codePointAt
+module.exports = function (TO_STRING) {
+  return function (that, pos) {
+    var s = String(defined(that));
+    var i = toInteger(pos);
+    var l = s.length;
+    var a, b;
+    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;
+    a = s.charCodeAt(i);
+    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff
+      ? TO_STRING ? s.charAt(i) : a
+      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
+  };
+};
+
+
+/***/ }),
+
 /***/ "dVTT":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -740,6 +1064,41 @@ __webpack_require__("aPfg")('Map');
 
 /***/ }),
 
+/***/ "fNZA":
+/***/ (function(module, exports, __webpack_require__) {
+
+var classof = __webpack_require__("QMMT");
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var Iterators = __webpack_require__("SBuE");
+module.exports = __webpack_require__("WEpk").getIteratorMethod = function (it) {
+  if (it != undefined) return it[ITERATOR]
+    || it['@@iterator']
+    || Iterators[classof(it)];
+};
+
+
+/***/ }),
+
+/***/ "fpC5":
+/***/ (function(module, exports, __webpack_require__) {
+
+var dP = __webpack_require__("2faE");
+var anObject = __webpack_require__("5K7Z");
+var getKeys = __webpack_require__("w6GO");
+
+module.exports = __webpack_require__("jmDH") ? Object.defineProperties : function defineProperties(O, Properties) {
+  anObject(O);
+  var keys = getKeys(Properties);
+  var length = keys.length;
+  var i = 0;
+  var P;
+  while (length > i) dP.f(O, P = keys[i++], Properties[P]);
+  return O;
+};
+
+
+/***/ }),
+
 /***/ "g33z":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -767,6 +1126,35 @@ module.exports = __webpack_require__("raTm")(MAP, function (get) {
 
 /***/ }),
 
+/***/ "hDam":
+/***/ (function(module, exports) {
+
+module.exports = function () { /* empty */ };
+
+
+/***/ }),
+
+/***/ "j2DC":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var create = __webpack_require__("oVml");
+var descriptor = __webpack_require__("rr1i");
+var setToStringTag = __webpack_require__("RfKB");
+var IteratorPrototype = {};
+
+// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
+__webpack_require__("NegM")(IteratorPrototype, __webpack_require__("UWiX")('iterator'), function () { return this; });
+
+module.exports = function (Constructor, NAME, next) {
+  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });
+  setToStringTag(Constructor, NAME + ' Iterator');
+};
+
+
+/***/ }),
+
 /***/ "kAMH":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -779,6 +1167,14 @@ module.exports = Array.isArray || function isArray(arg) {
 
 /***/ }),
 
+/***/ "kTiW":
+/***/ (function(module, exports, __webpack_require__) {
+
+module.exports = __webpack_require__("NegM");
+
+
+/***/ }),
+
 /***/ "n3ko":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -791,6 +1187,86 @@ module.exports = function (it, TYPE) {
 
 /***/ }),
 
+/***/ "oVml":
+/***/ (function(module, exports, __webpack_require__) {
+
+// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
+var anObject = __webpack_require__("5K7Z");
+var dPs = __webpack_require__("fpC5");
+var enumBugKeys = __webpack_require__("FpHa");
+var IE_PROTO = __webpack_require__("VVlx")('IE_PROTO');
+var Empty = function () { /* empty */ };
+var PROTOTYPE = 'prototype';
+
+// Create object with fake `null` prototype: use iframe Object with cleared prototype
+var createDict = function () {
+  // Thrash, waste and sodomy: IE GC bug
+  var iframe = __webpack_require__("Hsns")('iframe');
+  var i = enumBugKeys.length;
+  var lt = '<';
+  var gt = '>';
+  var iframeDocument;
+  iframe.style.display = 'none';
+  __webpack_require__("MvwC").appendChild(iframe);
+  iframe.src = 'javascript:'; // eslint-disable-line no-script-url
+  // createDict = iframe.contentWindow.Object;
+  // html.removeChild(iframe);
+  iframeDocument = iframe.contentWindow.document;
+  iframeDocument.open();
+  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);
+  iframeDocument.close();
+  createDict = iframeDocument.F;
+  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];
+  return createDict();
+};
+
+module.exports = Object.create || function create(O, Properties) {
+  var result;
+  if (O !== null) {
+    Empty[PROTOTYPE] = anObject(O);
+    result = new Empty();
+    Empty[PROTOTYPE] = null;
+    // add "__proto__" for Object.getPrototypeOf polyfill
+    result[IE_PROTO] = O;
+  } else result = createDict();
+  return Properties === undefined ? result : dPs(result, Properties);
+};
+
+
+/***/ }),
+
+/***/ "oioR":
+/***/ (function(module, exports, __webpack_require__) {
+
+var ctx = __webpack_require__("2GTP");
+var call = __webpack_require__("sNwI");
+var isArrayIter = __webpack_require__("NwJ3");
+var anObject = __webpack_require__("5K7Z");
+var toLength = __webpack_require__("tEej");
+var getIterFn = __webpack_require__("fNZA");
+var BREAK = {};
+var RETURN = {};
+var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {
+  var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);
+  var f = ctx(fn, that, entries ? 2 : 1);
+  var index = 0;
+  var length, step, iterator, result;
+  if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');
+  // fast case for arrays with default iterator
+  if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {
+    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
+    if (result === BREAK || result === RETURN) return result;
+  } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {
+    result = call(iterator, f, step.value, entries);
+    if (result === BREAK || result === RETURN) return result;
+  }
+};
+exports.BREAK = BREAK;
+exports.RETURN = RETURN;
+
+
+/***/ }),
+
 /***/ "raTm":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -858,6 +1334,25 @@ module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
 
 /***/ }),
 
+/***/ "sNwI":
+/***/ (function(module, exports, __webpack_require__) {
+
+// call something on iterator step with safe closing on error
+var anObject = __webpack_require__("5K7Z");
+module.exports = function (iterator, fn, value, entries) {
+  try {
+    return entries ? fn(anObject(value)[0], value[1]) : fn(value);
+  // 7.4.6 IteratorClose(iterator, completion)
+  } catch (e) {
+    var ret = iterator['return'];
+    if (ret !== undefined) anObject(ret.call(iterator));
+    throw e;
+  }
+};
+
+
+/***/ }),
+
 /***/ "v6xn":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -869,6 +1364,55 @@ module.exports = function (original, length) {
 };
 
 
+/***/ }),
+
+/***/ "w2d+":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var addToUnscopables = __webpack_require__("hDam");
+var step = __webpack_require__("UO39");
+var Iterators = __webpack_require__("SBuE");
+var toIObject = __webpack_require__("NsO/");
+
+// 22.1.3.4 Array.prototype.entries()
+// 22.1.3.13 Array.prototype.keys()
+// 22.1.3.29 Array.prototype.values()
+// 22.1.3.30 Array.prototype[@@iterator]()
+module.exports = __webpack_require__("MPFp")(Array, 'Array', function (iterated, kind) {
+  this._t = toIObject(iterated); // target
+  this._i = 0;                   // next index
+  this._k = kind;                // kind
+// 22.1.5.2.1 %ArrayIteratorPrototype%.next()
+}, function () {
+  var O = this._t;
+  var kind = this._k;
+  var index = this._i++;
+  if (!O || index >= O.length) {
+    this._t = undefined;
+    return step(1);
+  }
+  if (kind == 'keys') return step(0, index);
+  if (kind == 'values') return step(0, O[index]);
+  return step(0, [index, O[index]]);
+}, 'values');
+
+// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
+Iterators.Arguments = Iterators.Array;
+
+addToUnscopables('keys');
+addToUnscopables('values');
+addToUnscopables('entries');
+
+
+/***/ }),
+
+/***/ "wgeU":
+/***/ (function(module, exports) {
+
+
+
 /***/ })
 
 },[["V8Sf",0,1,2]]]);
\ No newline at end of file
Diff for routerDirect.module.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[8],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[9],{
 
 /***/ "LtRI":
 /***/ (function(module, exports, __webpack_require__) {
Diff for withRouter.module.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[9],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[10],{
 
 /***/ "0Hlz":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
Diff for index.html
@@ -6,19 +6,21 @@
         <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"
         />
         <meta name="next-head-count" content="2" />
-        <link rel="preload" href="/_next/static/cyPZSlOq61KDIgbXedZZL/pages/index.module.js"
+        <link rel="preload" href="/_next/static/qVbe4XTIQpjEoT9glXkbA/pages/index.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/cyPZSlOq61KDIgbXedZZL/pages/_app.module.js"
+        <link rel="preload" href="/_next/static/qVbe4XTIQpjEoT9glXkbA/pages/_app.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-ea228487a429f03c22be.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-2db0ada4beb83ccb90d3.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/386203d97a9dae123235e7c29e407602804a26e2.c659a74b6088e6ac1abe.module.js"
+        <link rel="preload" href="/_next/static/chunks/f7995b7e3a370472b6f40ba064ba593f0b5dafda.4d964fd8388c4017eabc.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/cyPZSlOq61KDIgbXedZZL/_buildManifest.module.js"
+        <link rel="preload" href="/_next/static/chunks/476ad622467c5a8ff3788a60ff621c2666f407dc.3f4abea1185a064f32e0.module.js"
+        as="script" crossorigin="anonymous" />
+        <link rel="preload" href="/_next/static/qVbe4XTIQpjEoT9glXkbA/_buildManifest.module.js"
         as="script" crossorigin="anonymous" />
     </head>
     
@@ -26,40 +28,44 @@
         <div id="__next">Hello world 👋</div>
         <script id="__NEXT_DATA__" type="application/json"
         crossorigin="anonymous">
-            {"dataManager":"[]","props":{"pageProps":{}},"page":"/","query":{},"buildId":"cyPZSlOq61KDIgbXedZZL"}
+            {"dataManager":"[]","props":{"pageProps":{}},"page":"/","query":{},"buildId":"qVbe4XTIQpjEoT9glXkbA"}
         </script>
         <script crossorigin="anonymous" nomodule="">
             !function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();
         </script>
-        <script async="" data-next-page="/" src="/_next/static/cyPZSlOq61KDIgbXedZZL/pages/index.js"
+        <script async="" data-next-page="/" src="/_next/static/qVbe4XTIQpjEoT9glXkbA/pages/index.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/" src="/_next/static/cyPZSlOq61KDIgbXedZZL/pages/index.module.js"
+        <script async="" data-next-page="/" src="/_next/static/qVbe4XTIQpjEoT9glXkbA/pages/index.module.js"
         crossorigin="anonymous" type="module"></script>
-        <script async="" data-next-page="/_app" src="/_next/static/cyPZSlOq61KDIgbXedZZL/pages/_app.js"
+        <script async="" data-next-page="/_app" src="/_next/static/qVbe4XTIQpjEoT9glXkbA/pages/_app.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/_app" src="/_next/static/cyPZSlOq61KDIgbXedZZL/pages/_app.module.js"
+        <script async="" data-next-page="/_app" src="/_next/static/qVbe4XTIQpjEoT9glXkbA/pages/_app.module.js"
         crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/runtime/webpack-a470c2a25bcb4d5a8ec0.js"
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-a1e3a940d5bb499fc0c7.js"
+        <script src="/_next/static/runtime/main-a188ebd08a5f20653f30.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-ea228487a429f03c22be.module.js"
+        <script src="/_next/static/runtime/main-2db0ada4beb83ccb90d3.module.js"
         async="" crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.js"
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/2fbd93cc425e856f4a124bb8f9bac9fe20b4bb00.155621535702fe040780.js"
+        <script src="/_next/static/chunks/607ade6a9a34ccb6918fe17a7ece83b21b83c9df.51a842c47a941d029b87.js"
+        async="" crossorigin="anonymous" nomodule=""></script>
+        <script src="/_next/static/chunks/f7995b7e3a370472b6f40ba064ba593f0b5dafda.8ec578cd8cb4c871a95f.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/386203d97a9dae123235e7c29e407602804a26e2.f6f7599a2edf91d8366a.js"
+        <script src="/_next/static/chunks/f7995b7e3a370472b6f40ba064ba593f0b5dafda.4d964fd8388c4017eabc.module.js"
+        async="" crossorigin="anonymous" type="module"></script>
+        <script src="/_next/static/chunks/476ad622467c5a8ff3788a60ff621c2666f407dc.883a35a4990b7a95e5bc.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/386203d97a9dae123235e7c29e407602804a26e2.c659a74b6088e6ac1abe.module.js"
+        <script src="/_next/static/chunks/476ad622467c5a8ff3788a60ff621c2666f407dc.3f4abea1185a064f32e0.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/cyPZSlOq61KDIgbXedZZL/_buildManifest.js"
+        <script src="/_next/static/qVbe4XTIQpjEoT9glXkbA/_buildManifest.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/cyPZSlOq61KDIgbXedZZL/_buildManifest.module.js"
+        <script src="/_next/static/qVbe4XTIQpjEoT9glXkbA/_buildManifest.module.js"
         async="" crossorigin="anonymous" type="module"></script>
     </body>
Diff for link.html
@@ -6,19 +6,21 @@
         <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"
         />
         <meta name="next-head-count" content="2" />
-        <link rel="preload" href="/_next/static/cyPZSlOq61KDIgbXedZZL/pages/link.module.js"
+        <link rel="preload" href="/_next/static/qVbe4XTIQpjEoT9glXkbA/pages/link.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/cyPZSlOq61KDIgbXedZZL/pages/_app.module.js"
+        <link rel="preload" href="/_next/static/qVbe4XTIQpjEoT9glXkbA/pages/_app.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/386203d97a9dae123235e7c29e407602804a26e2.c659a74b6088e6ac1abe.module.js"
+        <link rel="preload" href="/_next/static/chunks/f7995b7e3a370472b6f40ba064ba593f0b5dafda.4d964fd8388c4017eabc.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-ea228487a429f03c22be.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-2db0ada4beb83ccb90d3.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/cyPZSlOq61KDIgbXedZZL/_buildManifest.module.js"
+        <link rel="preload" href="/_next/static/chunks/476ad622467c5a8ff3788a60ff621c2666f407dc.3f4abea1185a064f32e0.module.js"
+        as="script" crossorigin="anonymous" />
+        <link rel="preload" href="/_next/static/qVbe4XTIQpjEoT9glXkbA/_buildManifest.module.js"
         as="script" crossorigin="anonymous" />
     </head>
     
@@ -29,18 +31,18 @@
             </div>
         </div>
         <script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">
-            {"dataManager":"[]","props":{"pageProps":{}},"page":"/link","query":{},"buildId":"cyPZSlOq61KDIgbXedZZL"}
+            {"dataManager":"[]","props":{"pageProps":{}},"page":"/link","query":{},"buildId":"qVbe4XTIQpjEoT9glXkbA"}
         </script>
         <script crossorigin="anonymous" nomodule="">
             !function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();
         </script>
-        <script async="" data-next-page="/link" src="/_next/static/cyPZSlOq61KDIgbXedZZL/pages/link.js"
+        <script async="" data-next-page="/link" src="/_next/static/qVbe4XTIQpjEoT9glXkbA/pages/link.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/link" src="/_next/static/cyPZSlOq61KDIgbXedZZL/pages/link.module.js"
+        <script async="" data-next-page="/link" src="/_next/static/qVbe4XTIQpjEoT9glXkbA/pages/link.module.js"
         crossorigin="anonymous" type="module"></script>
-        <script async="" data-next-page="/_app" src="/_next/static/cyPZSlOq61KDIgbXedZZL/pages/_app.js"
+        <script async="" data-next-page="/_app" src="/_next/static/qVbe4XTIQpjEoT9glXkbA/pages/_app.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/_app" src="/_next/static/cyPZSlOq61KDIgbXedZZL/pages/_app.module.js"
+        <script async="" data-next-page="/_app" src="/_next/static/qVbe4XTIQpjEoT9glXkbA/pages/_app.module.js"
         crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/runtime/webpack-a470c2a25bcb4d5a8ec0.js"
         async="" crossorigin="anonymous" nomodule=""></script>
@@ -50,19 +52,23 @@
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/2fbd93cc425e856f4a124bb8f9bac9fe20b4bb00.155621535702fe040780.js"
+        <script src="/_next/static/chunks/607ade6a9a34ccb6918fe17a7ece83b21b83c9df.51a842c47a941d029b87.js"
+        async="" crossorigin="anonymous" nomodule=""></script>
+        <script src="/_next/static/chunks/f7995b7e3a370472b6f40ba064ba593f0b5dafda.8ec578cd8cb4c871a95f.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/386203d97a9dae123235e7c29e407602804a26e2.f6f7599a2edf91d8366a.js"
+        <script src="/_next/static/chunks/f7995b7e3a370472b6f40ba064ba593f0b5dafda.4d964fd8388c4017eabc.module.js"
+        async="" crossorigin="anonymous" type="module"></script>
+        <script src="/_next/static/runtime/main-a188ebd08a5f20653f30.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/386203d97a9dae123235e7c29e407602804a26e2.c659a74b6088e6ac1abe.module.js"
+        <script src="/_next/static/runtime/main-2db0ada4beb83ccb90d3.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-a1e3a940d5bb499fc0c7.js"
+        <script src="/_next/static/chunks/476ad622467c5a8ff3788a60ff621c2666f407dc.883a35a4990b7a95e5bc.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-ea228487a429f03c22be.module.js"
+        <script src="/_next/static/chunks/476ad622467c5a8ff3788a60ff621c2666f407dc.3f4abea1185a064f32e0.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/cyPZSlOq61KDIgbXedZZL/_buildManifest.js"
+        <script src="/_next/static/qVbe4XTIQpjEoT9glXkbA/_buildManifest.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/cyPZSlOq61KDIgbXedZZL/_buildManifest.module.js"
+        <script src="/_next/static/qVbe4XTIQpjEoT9glXkbA/_buildManifest.module.js"
         async="" crossorigin="anonymous" type="module"></script>
     </body>
Diff for withRouter.html
@@ -6,19 +6,21 @@
         <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"
         />
         <meta name="next-head-count" content="2" />
-        <link rel="preload" href="/_next/static/cyPZSlOq61KDIgbXedZZL/pages/withRouter.module.js"
+        <link rel="preload" href="/_next/static/qVbe4XTIQpjEoT9glXkbA/pages/withRouter.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/cyPZSlOq61KDIgbXedZZL/pages/_app.module.js"
+        <link rel="preload" href="/_next/static/qVbe4XTIQpjEoT9glXkbA/pages/_app.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/386203d97a9dae123235e7c29e407602804a26e2.c659a74b6088e6ac1abe.module.js"
+        <link rel="preload" href="/_next/static/chunks/f7995b7e3a370472b6f40ba064ba593f0b5dafda.4d964fd8388c4017eabc.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-ea228487a429f03c22be.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-2db0ada4beb83ccb90d3.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/cyPZSlOq61KDIgbXedZZL/_buildManifest.module.js"
+        <link rel="preload" href="/_next/static/chunks/476ad622467c5a8ff3788a60ff621c2666f407dc.3f4abea1185a064f32e0.module.js"
+        as="script" crossorigin="anonymous" />
+        <link rel="preload" href="/_next/static/qVbe4XTIQpjEoT9glXkbA/_buildManifest.module.js"
         as="script" crossorigin="anonymous" />
     </head>
     
@@ -27,18 +29,18 @@
             <div>I use withRouter</div>
         </div>
         <script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">
-            {"dataManager":"[]","props":{"pageProps":{}},"page":"/withRouter","query":{},"buildId":"cyPZSlOq61KDIgbXedZZL"}
+            {"dataManager":"[]","props":{"pageProps":{}},"page":"/withRouter","query":{},"buildId":"qVbe4XTIQpjEoT9glXkbA"}
         </script>
         <script crossorigin="anonymous" nomodule="">
             !function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();
         </script>
-        <script async="" data-next-page="/withRouter" src="/_next/static/cyPZSlOq61KDIgbXedZZL/pages/withRouter.js"
+        <script async="" data-next-page="/withRouter" src="/_next/static/qVbe4XTIQpjEoT9glXkbA/pages/withRouter.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/withRouter" src="/_next/static/cyPZSlOq61KDIgbXedZZL/pages/withRouter.module.js"
+        <script async="" data-next-page="/withRouter" src="/_next/static/qVbe4XTIQpjEoT9glXkbA/pages/withRouter.module.js"
         crossorigin="anonymous" type="module"></script>
-        <script async="" data-next-page="/_app" src="/_next/static/cyPZSlOq61KDIgbXedZZL/pages/_app.js"
+        <script async="" data-next-page="/_app" src="/_next/static/qVbe4XTIQpjEoT9glXkbA/pages/_app.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/_app" src="/_next/static/cyPZSlOq61KDIgbXedZZL/pages/_app.module.js"
+        <script async="" data-next-page="/_app" src="/_next/static/qVbe4XTIQpjEoT9glXkbA/pages/_app.module.js"
         crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/runtime/webpack-a470c2a25bcb4d5a8ec0.js"
         async="" crossorigin="anonymous" nomodule=""></script>
@@ -48,19 +50,23 @@
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/2fbd93cc425e856f4a124bb8f9bac9fe20b4bb00.155621535702fe040780.js"
+        <script src="/_next/static/chunks/607ade6a9a34ccb6918fe17a7ece83b21b83c9df.51a842c47a941d029b87.js"
+        async="" crossorigin="anonymous" nomodule=""></script>
+        <script src="/_next/static/chunks/f7995b7e3a370472b6f40ba064ba593f0b5dafda.8ec578cd8cb4c871a95f.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/386203d97a9dae123235e7c29e407602804a26e2.f6f7599a2edf91d8366a.js"
+        <script src="/_next/static/chunks/f7995b7e3a370472b6f40ba064ba593f0b5dafda.4d964fd8388c4017eabc.module.js"
+        async="" crossorigin="anonymous" type="module"></script>
+        <script src="/_next/static/runtime/main-a188ebd08a5f20653f30.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/386203d97a9dae123235e7c29e407602804a26e2.c659a74b6088e6ac1abe.module.js"
+        <script src="/_next/static/runtime/main-2db0ada4beb83ccb90d3.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-a1e3a940d5bb499fc0c7.js"
+        <script src="/_next/static/chunks/476ad622467c5a8ff3788a60ff621c2666f407dc.883a35a4990b7a95e5bc.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-ea228487a429f03c22be.module.js"
+        <script src="/_next/static/chunks/476ad622467c5a8ff3788a60ff621c2666f407dc.3f4abea1185a064f32e0.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/cyPZSlOq61KDIgbXedZZL/_buildManifest.js"
+        <script src="/_next/static/qVbe4XTIQpjEoT9glXkbA/_buildManifest.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/cyPZSlOq61KDIgbXedZZL/_buildManifest.module.js"
+        <script src="/_next/static/qVbe4XTIQpjEoT9glXkbA/_buildManifest.module.js"
         async="" crossorigin="anonymous" type="module"></script>
     </body>

Serverless Mode (Increase detected ⚠️)
General Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
buildDuration 24.9s 21.7s -3.2s
nodeModulesSize 42 MB 42 MB -26.4 kB
Client Bundles (main, webpack, commons) Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
main-HASH.js 18.3 kB 14.4 kB -3.84 kB
main-HASH.js gzip 6.66 kB 5.12 kB -1.55 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
Overall change -3.84 kB
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
main-HASH.module.js 16.6 kB 10.8 kB -5.76 kB
main-HASH.module.js gzip 6.39 kB 4.02 kB -2.37 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH.module.js gzip 746 B 746 B
Overall change -5.76 kB
Client Pages Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_app.js 1.83 kB 1.84 kB ⚠️ +2 B
_app.js gzip 884 B 885 B ⚠️ +1 B
_error.js 12.1 kB 5.36 kB -6.75 kB
_error.js gzip 4.76 kB 2.14 kB -2.62 kB
hooks.js 12.7 kB 12.7 kB
hooks.js gzip 4.81 kB 4.81 kB
index.js 343 B 343 B
index.js gzip 237 B 237 B
link.js 8.14 kB 9.93 kB ⚠️ +1.79 kB
link.js gzip 3.49 kB 4.13 kB ⚠️ +635 B
routerDirect.js 433 B 434 B ⚠️ +1 B
routerDirect.js gzip 296 B 296 B
withRouter.js 444 B 444 B
withRouter.js gzip 294 B 294 B
Overall change -4.96 kB
Client Pages Modern Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_app.module.js 1.73 kB 1.38 kB -349 B
_app.module.js gzip 840 B 695 B -145 B
_error.module.js 23.3 kB 6.21 kB -17.1 kB
_error.module.js gzip 8.62 kB 2.46 kB -6.16 kB
hooks.module.js 1.55 kB 1.55 kB
hooks.module.js gzip 804 B 805 B ⚠️ +1 B
index.module.js 319 B 319 B
index.module.js gzip 238 B 238 B
link.module.js 8.52 kB 14.6 kB ⚠️ +6.11 kB
link.module.js gzip 3.68 kB 5.98 kB ⚠️ +2.3 kB
routerDirect.module.js 419 B 419 B
routerDirect.module.js gzip 294 B 294 B
withRouter.module.js 429 B 430 B ⚠️ +1 B
withRouter.module.js gzip 293 B 293 B
Overall change -11.3 kB
Client Build Manifests
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_buildManifest.js 81 B 81 B
_buildManifest.js gzip 61 B 61 B
_buildManifest.module.js 81 B 81 B
_buildManifest.module.js gzip 61 B 61 B
Overall change
Serverless bundles Overall increase ⚠️
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_error.js 248 kB 249 kB ⚠️ +1.27 kB
_error.js gzip 66.4 kB 66 kB -370 B
hooks.html 3.86 kB 4.34 kB ⚠️ +474 B
hooks.html gzip 984 B 1.06 kB ⚠️ +74 B
index.js 248 kB 250 kB ⚠️ +1.23 kB
index.js gzip 66.6 kB 66.3 kB -327 B
link.js 256 kB 259 kB ⚠️ +3.06 kB
link.js gzip 69 kB 68.8 kB -185 B
routerDirect.js 249 kB 250 kB ⚠️ +1.23 kB
routerDirect.js gzip 66.7 kB 66.4 kB -358 B
withRouter.js 249 kB 250 kB ⚠️ +1.23 kB
withRouter.js gzip 66.8 kB 66.4 kB -370 B
Overall change ⚠️ +8.5 kB

@ijjk
Copy link
Member

ijjk commented Sep 4, 2019

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
buildDuration 21.5s 19.4s -2s
nodeModulesSize 42 MB 42 MB -26.3 kB
Client Bundles (main, webpack, commons) Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
main-HASH.js 18.3 kB 14.4 kB -3.84 kB
main-HASH.js gzip 6.66 kB 5.12 kB -1.55 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
Overall change -3.84 kB
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
main-HASH.module.js 16.6 kB 10.8 kB -5.76 kB
main-HASH.module.js gzip 6.39 kB 4.02 kB -2.37 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH.module.js gzip 746 B 746 B
Overall change -5.76 kB
Client Pages Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_app.js 1.83 kB 1.84 kB ⚠️ +2 B
_app.js gzip 884 B 885 B ⚠️ +1 B
_error.js 12.1 kB 5.36 kB -6.75 kB
_error.js gzip 4.76 kB 2.14 kB -2.62 kB
hooks.js 12.7 kB 12.7 kB
hooks.js gzip 4.81 kB 4.81 kB
index.js 343 B 343 B
index.js gzip 237 B 237 B
link.js 8.14 kB 9.93 kB ⚠️ +1.79 kB
link.js gzip 3.49 kB 4.13 kB ⚠️ +635 B
routerDirect.js 433 B 434 B ⚠️ +1 B
routerDirect.js gzip 296 B 296 B
withRouter.js 444 B 444 B
withRouter.js gzip 294 B 294 B
Overall change -4.96 kB
Client Pages Modern Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_app.module.js 1.73 kB 1.38 kB -349 B
_app.module.js gzip 840 B 695 B -145 B
_error.module.js 23.3 kB 6.21 kB -17.1 kB
_error.module.js gzip 8.62 kB 2.46 kB -6.16 kB
hooks.module.js 1.55 kB 1.55 kB
hooks.module.js gzip 804 B 805 B ⚠️ +1 B
index.module.js 319 B 319 B
index.module.js gzip 238 B 238 B
link.module.js 8.52 kB 14.6 kB ⚠️ +6.11 kB
link.module.js gzip 3.68 kB 5.98 kB ⚠️ +2.3 kB
routerDirect.module.js 419 B 419 B
routerDirect.module.js gzip 294 B 294 B
withRouter.module.js 429 B 430 B ⚠️ +1 B
withRouter.module.js gzip 293 B 293 B
Overall change -11.3 kB
Client Build Manifests
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_buildManifest.js 81 B 81 B
_buildManifest.js gzip 61 B 61 B
_buildManifest.module.js 81 B 81 B
_buildManifest.module.js gzip 61 B 61 B
Overall change
Rendered Page Sizes Overall increase ⚠️
zeit/next.js canary timneutkens/next.js add/move-next-server Change
index.html 3.75 kB 4.22 kB ⚠️ +474 B
index.html gzip 962 B 1.03 kB ⚠️ +65 B
link.html 3.79 kB 4.27 kB ⚠️ +474 B
link.html gzip 968 B 1.04 kB ⚠️ +69 B
withRouter.html 3.8 kB 4.28 kB ⚠️ +474 B
withRouter.html gzip 957 B 1.02 kB ⚠️ +67 B
Overall change ⚠️ +1.42 kB

Diffs

Diff for main-HASH.js
@@ -1,26 +1,68 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[11],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[12],{
 
-/***/ "/h46":
+/***/ "0IRE":
 /***/ (function(module, exports, __webpack_require__) {
 
-// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of
-__webpack_require__("cHUd")('Map');
+"use strict";
+
+Object.defineProperty(exports, "__esModule", { value: true });
+class DataManager {
+    constructor(data) {
+        this.data = new Map(data);
+    }
+    getData() {
+        return this.data;
+    }
+    get(key) {
+        return this.data.get(key);
+    }
+    set(key, value) {
+        this.data.set(key, value);
+    }
+    overwrite(data) {
+        this.data = new Map(data);
+    }
+}
+exports.DataManager = DataManager;
 
 
 /***/ }),
 
-/***/ "8iia":
+/***/ "8+Nu":
 /***/ (function(module, exports, __webpack_require__) {
 
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var classof = __webpack_require__("QMMT");
-var from = __webpack_require__("RRc/");
-module.exports = function (NAME) {
-  return function toJSON() {
-    if (classof(this) != NAME) throw TypeError(NAME + "#toJSON isn't generic");
-    return from(this);
-  };
-};
+var arrayWithHoles = __webpack_require__("8bdy");
+
+var iterableToArrayLimit = __webpack_require__("fprZ");
+
+var nonIterableRest = __webpack_require__("Bh1o");
+
+function _slicedToArray(arr, i) {
+  return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest();
+}
+
+module.exports = _slicedToArray;
+
+/***/ }),
+
+/***/ "8bdy":
+/***/ (function(module, exports, __webpack_require__) {
+
+var _Array$isArray = __webpack_require__("p0XB");
+
+function _arrayWithHoles(arr) {
+  if (_Array$isArray(arr)) return arr;
+}
+
+module.exports = _arrayWithHoles;
+
+/***/ }),
+
+/***/ "9BDd":
+/***/ (function(module, exports, __webpack_require__) {
+
+__webpack_require__("GvbO");
+module.exports = __webpack_require__("WEpk").Array.isArray;
 
 
 /***/ }),
@@ -42,26 +84,14 @@ window.next = next;
 
 /***/ }),
 
-/***/ "C2SN":
-/***/ (function(module, exports, __webpack_require__) {
+/***/ "Bh1o":
+/***/ (function(module, exports) {
 
-var isObject = __webpack_require__("93I4");
-var isArray = __webpack_require__("kAMH");
-var SPECIES = __webpack_require__("UWiX")('species');
-
-module.exports = function (original) {
-  var C;
-  if (isArray(original)) {
-    C = original.constructor;
-    // cross-realm fallback
-    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-    if (isObject(C)) {
-      C = C[SPECIES];
-      if (C === null) C = undefined;
-    }
-  } return C === undefined ? Array : C;
-};
+function _nonIterableRest() {
+  throw new TypeError("Invalid attempt to destructure non-iterable instance");
+}
 
+module.exports = _nonIterableRest;
 
 /***/ }),
 
@@ -208,57 +238,33 @@ function reactElementToDOM(_ref) {
 
 /***/ }),
 
-/***/ "HohS":
+/***/ "FYa8":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var runtimeConfig;
-
-exports["default"] = function () {
-  return runtimeConfig;
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+    result["default"] = mod;
+    return result;
 };
+Object.defineProperty(exports, "__esModule", { value: true });
+const React = __importStar(__webpack_require__("q1tI"));
+exports.HeadManagerContext = React.createContext(null);
 
-function setConfig(configValue) {
-  runtimeConfig = configValue;
-}
-
-exports.setConfig = setConfig;
 
 /***/ }),
 
-/***/ "IClC":
+/***/ "GvbO":
 /***/ (function(module, exports, __webpack_require__) {
 
-"use strict";
-
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-var __importStar = this && this.__importStar || function (mod) {
-  if (mod && mod.__esModule) return mod;
-  var result = {};
-  if (mod != null) for (var k in mod) {
-    if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-  }
-  result["default"] = mod;
-  return result;
-};
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
+// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)
+var $export = __webpack_require__("Y7ZC");
 
-var React = __importStar(__webpack_require__("q1tI"));
+$export($export.S, 'Array', { isArray: __webpack_require__("kAMH") });
 
-exports.HeadManagerContext = React.createContext(null);
 
 /***/ }),
 
@@ -305,25 +311,25 @@ var _headManager = _interopRequireDefault(__webpack_require__("DqTX"));
 
 var _router = __webpack_require__("nOHt");
 
-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 
 var _pageLoader = _interopRequireDefault(__webpack_require__("zmvN"));
 
-var envConfig = _interopRequireWildcard(__webpack_require__("PBx+"));
+var envConfig = _interopRequireWildcard(__webpack_require__("yLiY"));
 
-var _headManagerContext = __webpack_require__("IClC");
+var _headManagerContext = __webpack_require__("FYa8");
 
-var _dataManagerContext = __webpack_require__("qS9g");
+var _dataManagerContext = __webpack_require__("qArv");
 
-var _routerContext = __webpack_require__("9EOK");
+var _routerContext = __webpack_require__("qOIg");
 
-var _dataManager = __webpack_require__("cuFY");
+var _dataManager = __webpack_require__("0IRE");
 
 var _querystring = __webpack_require__("s4NR");
 
-var _isDynamic = __webpack_require__("kcOw");
+var _isDynamic = __webpack_require__("/jkW");
 /* global location */
 // Polyfill Promise globally
 // This is needed because Webpack's dynamic loading(common chunks) code
@@ -863,528 +869,112 @@ function _doRender() {
 
 /***/ }),
 
-/***/ "LX0d":
+/***/ "Rp86":
 /***/ (function(module, exports, __webpack_require__) {
 
-module.exports = __webpack_require__("UDep");
-
-/***/ }),
-
-/***/ "PBx+":
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__("HohS")
-
-
-/***/ }),
-
-/***/ "RRc/":
-/***/ (function(module, exports, __webpack_require__) {
-
-var forOf = __webpack_require__("oioR");
-
-module.exports = function (iter, ITERATOR) {
-  var result = [];
-  forOf(iter, false, result.push, result, ITERATOR);
-  return result;
-};
-
-
-/***/ }),
-
-/***/ "UDep":
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__("wgeU");
-__webpack_require__("FlQf");
 __webpack_require__("bBy9");
-__webpack_require__("g33z");
-__webpack_require__("XLbu");
-__webpack_require__("/h46");
-__webpack_require__("dVTT");
-module.exports = __webpack_require__("WEpk").Map;
-
-
-/***/ }),
-
-/***/ "V7Et":
-/***/ (function(module, exports, __webpack_require__) {
-
-// 0 -> Array#forEach
-// 1 -> Array#map
-// 2 -> Array#filter
-// 3 -> Array#some
-// 4 -> Array#every
-// 5 -> Array#find
-// 6 -> Array#findIndex
-var ctx = __webpack_require__("2GTP");
-var IObject = __webpack_require__("M1xp");
-var toObject = __webpack_require__("JB68");
-var toLength = __webpack_require__("tEej");
-var asc = __webpack_require__("v6xn");
-module.exports = function (TYPE, $create) {
-  var IS_MAP = TYPE == 1;
-  var IS_FILTER = TYPE == 2;
-  var IS_SOME = TYPE == 3;
-  var IS_EVERY = TYPE == 4;
-  var IS_FIND_INDEX = TYPE == 6;
-  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-  var create = $create || asc;
-  return function ($this, callbackfn, that) {
-    var O = toObject($this);
-    var self = IObject(O);
-    var f = ctx(callbackfn, that, 3);
-    var length = toLength(self.length);
-    var index = 0;
-    var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-    var val, res;
-    for (;length > index; index++) if (NO_HOLES || index in self) {
-      val = self[index];
-      res = f(val, index, O);
-      if (TYPE) {
-        if (IS_MAP) result[index] = res;   // map
-        else if (res) switch (TYPE) {
-          case 3: return true;             // some
-          case 5: return val;              // find
-          case 6: return index;            // findIndex
-          case 2: result.push(val);        // filter
-        } else if (IS_EVERY) return false; // every
-      }
-    }
-    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
-  };
-};
-
-
-/***/ }),
-
-/***/ "Wu5q":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var dP = __webpack_require__("2faE").f;
-var create = __webpack_require__("oVml");
-var redefineAll = __webpack_require__("XJU/");
-var ctx = __webpack_require__("2GTP");
-var anInstance = __webpack_require__("EXMj");
-var forOf = __webpack_require__("oioR");
-var $iterDefine = __webpack_require__("MPFp");
-var step = __webpack_require__("UO39");
-var setSpecies = __webpack_require__("TJWN");
-var DESCRIPTORS = __webpack_require__("jmDH");
-var fastKey = __webpack_require__("6/1s").fastKey;
-var validate = __webpack_require__("n3ko");
-var SIZE = DESCRIPTORS ? '_s' : 'size';
-
-var getEntry = function (that, key) {
-  // fast case
-  var index = fastKey(key);
-  var entry;
-  if (index !== 'F') return that._i[index];
-  // frozen object case
-  for (entry = that._f; entry; entry = entry.n) {
-    if (entry.k == key) return entry;
-  }
-};
-
-module.exports = {
-  getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {
-    var C = wrapper(function (that, iterable) {
-      anInstance(that, C, NAME, '_i');
-      that._t = NAME;         // collection type
-      that._i = create(null); // index
-      that._f = undefined;    // first entry
-      that._l = undefined;    // last entry
-      that[SIZE] = 0;         // size
-      if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
-    });
-    redefineAll(C.prototype, {
-      // 23.1.3.1 Map.prototype.clear()
-      // 23.2.3.2 Set.prototype.clear()
-      clear: function clear() {
-        for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {
-          entry.r = true;
-          if (entry.p) entry.p = entry.p.n = undefined;
-          delete data[entry.i];
-        }
-        that._f = that._l = undefined;
-        that[SIZE] = 0;
-      },
-      // 23.1.3.3 Map.prototype.delete(key)
-      // 23.2.3.4 Set.prototype.delete(value)
-      'delete': function (key) {
-        var that = validate(this, NAME);
-        var entry = getEntry(that, key);
-        if (entry) {
-          var next = entry.n;
-          var prev = entry.p;
-          delete that._i[entry.i];
-          entry.r = true;
-          if (prev) prev.n = next;
-          if (next) next.p = prev;
-          if (that._f == entry) that._f = next;
-          if (that._l == entry) that._l = prev;
-          that[SIZE]--;
-        } return !!entry;
-      },
-      // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
-      // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
-      forEach: function forEach(callbackfn /* , that = undefined */) {
-        validate(this, NAME);
-        var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
-        var entry;
-        while (entry = entry ? entry.n : this._f) {
-          f(entry.v, entry.k, this);
-          // revert to the last existing entry
-          while (entry && entry.r) entry = entry.p;
-        }
-      },
-      // 23.1.3.7 Map.prototype.has(key)
-      // 23.2.3.7 Set.prototype.has(value)
-      has: function has(key) {
-        return !!getEntry(validate(this, NAME), key);
-      }
-    });
-    if (DESCRIPTORS) dP(C.prototype, 'size', {
-      get: function () {
-        return validate(this, NAME)[SIZE];
-      }
-    });
-    return C;
-  },
-  def: function (that, key, value) {
-    var entry = getEntry(that, key);
-    var prev, index;
-    // change existing entry
-    if (entry) {
-      entry.v = value;
-    // create new entry
-    } else {
-      that._l = entry = {
-        i: index = fastKey(key, true), // <- index
-        k: key,                        // <- key
-        v: value,                      // <- value
-        p: prev = that._l,             // <- previous entry
-        n: undefined,                  // <- next entry
-        r: false                       // <- removed
-      };
-      if (!that._f) that._f = entry;
-      if (prev) prev.n = entry;
-      that[SIZE]++;
-      // add to index
-      if (index !== 'F') that._i[index] = entry;
-    } return that;
-  },
-  getEntry: getEntry,
-  setStrong: function (C, NAME, IS_MAP) {
-    // add .keys, .values, .entries, [@@iterator]
-    // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
-    $iterDefine(C, NAME, function (iterated, kind) {
-      this._t = validate(iterated, NAME); // target
-      this._k = kind;                     // kind
-      this._l = undefined;                // previous
-    }, function () {
-      var that = this;
-      var kind = that._k;
-      var entry = that._l;
-      // revert to the last existing entry
-      while (entry && entry.r) entry = entry.p;
-      // get next entry
-      if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {
-        // or finish the iteration
-        that._t = undefined;
-        return step(1);
-      }
-      // return step by kind
-      if (kind == 'keys') return step(0, entry.k);
-      if (kind == 'values') return step(0, entry.v);
-      return step(0, [entry.k, entry.v]);
-    }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
-
-    // add [@@species], 23.1.2.2, 23.2.2.2
-    setSpecies(NAME);
-  }
-};
+__webpack_require__("FlQf");
+module.exports = __webpack_require__("fXsU");
 
 
 /***/ }),
 
-/***/ "XLbu":
+/***/ "XXOK":
 /***/ (function(module, exports, __webpack_require__) {
 
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var $export = __webpack_require__("Y7ZC");
-
-$export($export.P + $export.R, 'Map', { toJSON: __webpack_require__("8iia")('Map') });
-
+module.exports = __webpack_require__("Rp86");
 
 /***/ }),
 
-/***/ "aPfg":
+/***/ "fXsU":
 /***/ (function(module, exports, __webpack_require__) {
 
-"use strict";
-
-// https://tc39.github.io/proposal-setmap-offrom/
-var $export = __webpack_require__("Y7ZC");
-var aFunction = __webpack_require__("eaoh");
-var ctx = __webpack_require__("2GTP");
-var forOf = __webpack_require__("oioR");
-
-module.exports = function (COLLECTION) {
-  $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {
-    var mapFn = arguments[1];
-    var mapping, A, n, cb;
-    aFunction(this);
-    mapping = mapFn !== undefined;
-    if (mapping) aFunction(mapFn);
-    if (source == undefined) return new this();
-    A = [];
-    if (mapping) {
-      n = 0;
-      cb = ctx(mapFn, arguments[2], 2);
-      forOf(source, false, function (nextItem) {
-        A.push(cb(nextItem, n++));
-      });
-    } else {
-      forOf(source, false, A.push, A);
-    }
-    return new this(A);
-  } });
+var anObject = __webpack_require__("5K7Z");
+var get = __webpack_require__("fNZA");
+module.exports = __webpack_require__("WEpk").getIterator = function (it) {
+  var iterFn = get(it);
+  if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');
+  return anObject(iterFn.call(it));
 };
 
 
 /***/ }),
 
-/***/ "cHUd":
+/***/ "fprZ":
 /***/ (function(module, exports, __webpack_require__) {
 
-"use strict";
-
-// https://tc39.github.io/proposal-setmap-offrom/
-var $export = __webpack_require__("Y7ZC");
-
-module.exports = function (COLLECTION) {
-  $export($export.S, COLLECTION, { of: function of() {
-    var length = arguments.length;
-    var A = new Array(length);
-    while (length--) A[length] = arguments[length];
-    return new this(A);
-  } });
-};
-
-
-/***/ }),
+var _getIterator = __webpack_require__("XXOK");
 
-/***/ "cuFY":
-/***/ (function(module, exports, __webpack_require__) {
+function _iterableToArrayLimit(arr, i) {
+  var _arr = [];
+  var _n = true;
+  var _d = false;
+  var _e = undefined;
 
-"use strict";
-
-
-var _Map = __webpack_require__("LX0d");
-
-var _classCallCheck = __webpack_require__("/HRN");
-
-var _createClass = __webpack_require__("WaGi");
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var DataManager =
-/*#__PURE__*/
-function () {
-  function DataManager(data) {
-    _classCallCheck(this, DataManager);
-
-    this.data = new _Map(data);
-  }
+  try {
+    for (var _i = _getIterator(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {
+      _arr.push(_s.value);
 
-  _createClass(DataManager, [{
-    key: "getData",
-    value: function getData() {
-      return this.data;
-    }
-  }, {
-    key: "get",
-    value: function get(key) {
-      return this.data.get(key);
-    }
-  }, {
-    key: "set",
-    value: function set(key, value) {
-      this.data.set(key, value);
+      if (i && _arr.length === i) break;
     }
-  }, {
-    key: "overwrite",
-    value: function overwrite(data) {
-      this.data = new _Map(data);
+  } catch (err) {
+    _d = true;
+    _e = err;
+  } finally {
+    try {
+      if (!_n && _i["return"] != null) _i["return"]();
+    } finally {
+      if (_d) throw _e;
     }
-  }]);
-
-  return DataManager;
-}();
-
-exports.DataManager = DataManager;
-
-/***/ }),
-
-/***/ "dVTT":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from
-__webpack_require__("aPfg")('Map');
-
-
-/***/ }),
-
-/***/ "g33z":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var strong = __webpack_require__("Wu5q");
-var validate = __webpack_require__("n3ko");
-var MAP = 'Map';
-
-// 23.1 Map Objects
-module.exports = __webpack_require__("raTm")(MAP, function (get) {
-  return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };
-}, {
-  // 23.1.3.6 Map.prototype.get(key)
-  get: function get(key) {
-    var entry = strong.getEntry(validate(this, MAP), key);
-    return entry && entry.v;
-  },
-  // 23.1.3.9 Map.prototype.set(key, value)
-  set: function set(key, value) {
-    return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);
   }
-}, strong, true);
-
-
-/***/ }),
-
-/***/ "n3ko":
-/***/ (function(module, exports, __webpack_require__) {
 
-var isObject = __webpack_require__("93I4");
-module.exports = function (it, TYPE) {
-  if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');
-  return it;
-};
+  return _arr;
+}
 
+module.exports = _iterableToArrayLimit;
 
 /***/ }),
 
-/***/ "qS9g":
+/***/ "p0XB":
 /***/ (function(module, exports, __webpack_require__) {
 
-"use strict";
-
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-var __importStar = this && this.__importStar || function (mod) {
-  if (mod && mod.__esModule) return mod;
-  var result = {};
-  if (mod != null) for (var k in mod) {
-    if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-  }
-  result["default"] = mod;
-  return result;
-};
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var React = __importStar(__webpack_require__("q1tI"));
-
-exports.DataManagerContext = React.createContext(null);
+module.exports = __webpack_require__("9BDd");
 
 /***/ }),
 
-/***/ "raTm":
+/***/ "qArv":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
-var global = __webpack_require__("5T2Y");
-var $export = __webpack_require__("Y7ZC");
-var meta = __webpack_require__("6/1s");
-var fails = __webpack_require__("KUxP");
-var hide = __webpack_require__("NegM");
-var redefineAll = __webpack_require__("XJU/");
-var forOf = __webpack_require__("oioR");
-var anInstance = __webpack_require__("EXMj");
-var isObject = __webpack_require__("93I4");
-var setToStringTag = __webpack_require__("RfKB");
-var dP = __webpack_require__("2faE").f;
-var each = __webpack_require__("V7Et")(0);
-var DESCRIPTORS = __webpack_require__("jmDH");
-
-module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
-  var Base = global[NAME];
-  var C = Base;
-  var ADDER = IS_MAP ? 'set' : 'add';
-  var proto = C && C.prototype;
-  var O = {};
-  if (!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {
-    new C().entries().next();
-  }))) {
-    // create collection constructor
-    C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);
-    redefineAll(C.prototype, methods);
-    meta.NEED = true;
-  } else {
-    C = wrapper(function (target, iterable) {
-      anInstance(target, C, NAME, '_c');
-      target._c = new Base();
-      if (iterable != undefined) forOf(iterable, IS_MAP, target[ADDER], target);
-    });
-    each('add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON'.split(','), function (KEY) {
-      var IS_ADDER = KEY == 'add' || KEY == 'set';
-      if (KEY in proto && !(IS_WEAK && KEY == 'clear')) hide(C.prototype, KEY, function (a, b) {
-        anInstance(this, C, KEY);
-        if (!IS_ADDER && IS_WEAK && !isObject(a)) return KEY == 'get' ? undefined : false;
-        var result = this._c[KEY](a === 0 ? 0 : a, b);
-        return IS_ADDER ? this : result;
-      });
-    });
-    IS_WEAK || dP(C.prototype, 'size', {
-      get: function () {
-        return this._c.size;
-      }
-    });
-  }
-
-  setToStringTag(C, NAME);
-
-  O[NAME] = C;
-  $export($export.G + $export.W + $export.F, O);
-
-  if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);
-
-  return C;
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+    result["default"] = mod;
+    return result;
 };
+Object.defineProperty(exports, "__esModule", { value: true });
+const React = __importStar(__webpack_require__("q1tI"));
+exports.DataManagerContext = React.createContext(null);
 
 
 /***/ }),
 
-/***/ "v6xn":
+/***/ "yLiY":
 /***/ (function(module, exports, __webpack_require__) {
 
-// 9.4.2.3 ArraySpeciesCreate(originalArray, length)
-var speciesConstructor = __webpack_require__("C2SN");
+"use strict";
 
-module.exports = function (original, length) {
-  return new (speciesConstructor(original))(length);
+Object.defineProperty(exports, "__esModule", { value: true });
+let runtimeConfig;
+exports.default = () => {
+    return runtimeConfig;
 };
+function setConfig(configValue) {
+    runtimeConfig = configValue;
+}
+exports.setConfig = setConfig;
 
 
 /***/ }),
@@ -1410,7 +1000,7 @@ var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("+oT+"));
 
 var _promise = _interopRequireDefault(__webpack_require__("eVuF"));
 
-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 /* global document, window */
 
 
@@ -1741,4 +1331,4 @@ exports["default"] = PageLoader;
 
 /***/ })
 
-},[["BMP1",0,1,2,3]]]);
\ No newline at end of file
+},[["BMP1",0,1,2,3,4]]]);
\ No newline at end of file
Diff for main-HASH.module.js
@@ -1,131 +1,29 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[10],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[11],{
 
-/***/ "+oT+":
+/***/ "0IRE":
 /***/ (function(module, exports, __webpack_require__) {
 
-var _Promise = __webpack_require__("eVuF");
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
-  try {
-    var info = gen[key](arg);
-    var value = info.value;
-  } catch (error) {
-    reject(error);
-    return;
-  }
-
-  if (info.done) {
-    resolve(value);
-  } else {
-    _Promise.resolve(value).then(_next, _throw);
-  }
-}
-
-function _asyncToGenerator(fn) {
-  return function () {
-    var self = this,
-        args = arguments;
-    return new _Promise(function (resolve, reject) {
-      var gen = fn.apply(self, args);
-
-      function _next(value) {
-        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
-      }
-
-      function _throw(err) {
-        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
-      }
+"use strict";
 
-      _next(undefined);
-    });
-  };
+Object.defineProperty(exports, "__esModule", { value: true });
+class DataManager {
+    constructor(data) {
+        this.data = new Map(data);
+    }
+    getData() {
+        return this.data;
+    }
+    get(key) {
+        return this.data.get(key);
+    }
+    set(key, value) {
+        this.data.set(key, value);
+    }
+    overwrite(data) {
+        this.data = new Map(data);
+    }
 }
-
-module.exports = _asyncToGenerator;
-
-/***/ }),
-
-/***/ "/h46":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of
-__webpack_require__("cHUd")('Map');
-
-
-/***/ }),
-
-/***/ "6/1s":
-/***/ (function(module, exports, __webpack_require__) {
-
-var META = __webpack_require__("YqAc")('meta');
-var isObject = __webpack_require__("93I4");
-var has = __webpack_require__("B+OT");
-var setDesc = __webpack_require__("2faE").f;
-var id = 0;
-var isExtensible = Object.isExtensible || function () {
-  return true;
-};
-var FREEZE = !__webpack_require__("KUxP")(function () {
-  return isExtensible(Object.preventExtensions({}));
-});
-var setMeta = function (it) {
-  setDesc(it, META, { value: {
-    i: 'O' + ++id, // object ID
-    w: {}          // weak collections IDs
-  } });
-};
-var fastKey = function (it, create) {
-  // return primitive with prefix
-  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
-  if (!has(it, META)) {
-    // can't set metadata to uncaught frozen object
-    if (!isExtensible(it)) return 'F';
-    // not necessary to add metadata
-    if (!create) return 'E';
-    // add missing metadata
-    setMeta(it);
-  // return object ID
-  } return it[META].i;
-};
-var getWeak = function (it, create) {
-  if (!has(it, META)) {
-    // can't set metadata to uncaught frozen object
-    if (!isExtensible(it)) return true;
-    // not necessary to add metadata
-    if (!create) return false;
-    // add missing metadata
-    setMeta(it);
-  // return hash weak collections IDs
-  } return it[META].w;
-};
-// add metadata on freeze-family methods calling
-var onFreeze = function (it) {
-  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);
-  return it;
-};
-var meta = module.exports = {
-  KEY: META,
-  NEED: false,
-  fastKey: fastKey,
-  getWeak: getWeak,
-  onFreeze: onFreeze
-};
-
-
-/***/ }),
-
-/***/ "8iia":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var classof = __webpack_require__("QMMT");
-var from = __webpack_require__("RRc/");
-module.exports = function (NAME) {
-  return function toJSON() {
-    if (classof(this) != NAME) throw TypeError(NAME + "#toJSON isn't generic");
-    return from(this);
-  };
-};
+exports.DataManager = DataManager;
 
 
 /***/ }),
@@ -147,29 +45,6 @@ window.next = next;
 
 /***/ }),
 
-/***/ "C2SN":
-/***/ (function(module, exports, __webpack_require__) {
-
-var isObject = __webpack_require__("93I4");
-var isArray = __webpack_require__("kAMH");
-var SPECIES = __webpack_require__("UWiX")('species');
-
-module.exports = function (original) {
-  var C;
-  if (isArray(original)) {
-    C = original.constructor;
-    // cross-realm fallback
-    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-    if (isObject(C)) {
-      C = C[SPECIES];
-      if (C === null) C = undefined;
-    }
-  } return C === undefined ? Array : C;
-};
-
-
-/***/ }),
-
 /***/ "DqTX":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -296,56 +171,23 @@ function reactElementToDOM(_ref) {
 
 /***/ }),
 
-/***/ "HohS":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-let runtimeConfig;
-
-exports.default = () => {
-  return runtimeConfig;
-};
-
-function setConfig(configValue) {
-  runtimeConfig = configValue;
-}
-
-exports.setConfig = setConfig;
-
-/***/ }),
-
-/***/ "IClC":
+/***/ "FYa8":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-var __importStar = this && this.__importStar || function (mod) {
-  if (mod && mod.__esModule) return mod;
-  var result = {};
-  if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-  result["default"] = mod;
-  return result;
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+    result["default"] = mod;
+    return result;
 };
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
+Object.defineProperty(exports, "__esModule", { value: true });
 const React = __importStar(__webpack_require__("q1tI"));
-
 exports.HeadManagerContext = React.createContext(null);
 
+
 /***/ }),
 
 /***/ "IKlv":
@@ -377,25 +219,25 @@ var _headManager = _interopRequireDefault(__webpack_require__("DqTX"));
 
 var _router = __webpack_require__("nOHt");
 
-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 
 var _pageLoader = _interopRequireDefault(__webpack_require__("zmvN"));
 
-var envConfig = _interopRequireWildcard(__webpack_require__("PBx+"));
+var envConfig = _interopRequireWildcard(__webpack_require__("yLiY"));
 
-var _headManagerContext = __webpack_require__("IClC");
+var _headManagerContext = __webpack_require__("FYa8");
 
-var _dataManagerContext = __webpack_require__("qS9g");
+var _dataManagerContext = __webpack_require__("qArv");
 
-var _routerContext = __webpack_require__("9EOK");
+var _routerContext = __webpack_require__("qOIg");
 
-var _dataManager = __webpack_require__("cuFY");
+var _dataManager = __webpack_require__("0IRE");
 
 var _querystring = __webpack_require__("s4NR");
 
-var _isDynamic = __webpack_require__("kcOw");
+var _isDynamic = __webpack_require__("/jkW");
 /* global location */
 // Polyfill Promise globally
 // This is needed because Webpack's dynamic loading(common chunks) code
@@ -785,523 +627,39 @@ function _doRender() {
 
 /***/ }),
 
-/***/ "LX0d":
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__("UDep");
-
-/***/ }),
-
-/***/ "PBx+":
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__("HohS")
-
-
-/***/ }),
-
-/***/ "RRc/":
-/***/ (function(module, exports, __webpack_require__) {
-
-var forOf = __webpack_require__("oioR");
-
-module.exports = function (iter, ITERATOR) {
-  var result = [];
-  forOf(iter, false, result.push, result, ITERATOR);
-  return result;
-};
-
-
-/***/ }),
-
-/***/ "UDep":
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__("wgeU");
-__webpack_require__("FlQf");
-__webpack_require__("bBy9");
-__webpack_require__("g33z");
-__webpack_require__("XLbu");
-__webpack_require__("/h46");
-__webpack_require__("dVTT");
-module.exports = __webpack_require__("WEpk").Map;
-
-
-/***/ }),
-
-/***/ "V7Et":
-/***/ (function(module, exports, __webpack_require__) {
-
-// 0 -> Array#forEach
-// 1 -> Array#map
-// 2 -> Array#filter
-// 3 -> Array#some
-// 4 -> Array#every
-// 5 -> Array#find
-// 6 -> Array#findIndex
-var ctx = __webpack_require__("2GTP");
-var IObject = __webpack_require__("M1xp");
-var toObject = __webpack_require__("JB68");
-var toLength = __webpack_require__("tEej");
-var asc = __webpack_require__("v6xn");
-module.exports = function (TYPE, $create) {
-  var IS_MAP = TYPE == 1;
-  var IS_FILTER = TYPE == 2;
-  var IS_SOME = TYPE == 3;
-  var IS_EVERY = TYPE == 4;
-  var IS_FIND_INDEX = TYPE == 6;
-  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-  var create = $create || asc;
-  return function ($this, callbackfn, that) {
-    var O = toObject($this);
-    var self = IObject(O);
-    var f = ctx(callbackfn, that, 3);
-    var length = toLength(self.length);
-    var index = 0;
-    var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-    var val, res;
-    for (;length > index; index++) if (NO_HOLES || index in self) {
-      val = self[index];
-      res = f(val, index, O);
-      if (TYPE) {
-        if (IS_MAP) result[index] = res;   // map
-        else if (res) switch (TYPE) {
-          case 3: return true;             // some
-          case 5: return val;              // find
-          case 6: return index;            // findIndex
-          case 2: result.push(val);        // filter
-        } else if (IS_EVERY) return false; // every
-      }
-    }
-    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
-  };
-};
-
-
-/***/ }),
-
-/***/ "Wu5q":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var dP = __webpack_require__("2faE").f;
-var create = __webpack_require__("oVml");
-var redefineAll = __webpack_require__("XJU/");
-var ctx = __webpack_require__("2GTP");
-var anInstance = __webpack_require__("EXMj");
-var forOf = __webpack_require__("oioR");
-var $iterDefine = __webpack_require__("MPFp");
-var step = __webpack_require__("UO39");
-var setSpecies = __webpack_require__("TJWN");
-var DESCRIPTORS = __webpack_require__("jmDH");
-var fastKey = __webpack_require__("6/1s").fastKey;
-var validate = __webpack_require__("n3ko");
-var SIZE = DESCRIPTORS ? '_s' : 'size';
-
-var getEntry = function (that, key) {
-  // fast case
-  var index = fastKey(key);
-  var entry;
-  if (index !== 'F') return that._i[index];
-  // frozen object case
-  for (entry = that._f; entry; entry = entry.n) {
-    if (entry.k == key) return entry;
-  }
-};
-
-module.exports = {
-  getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {
-    var C = wrapper(function (that, iterable) {
-      anInstance(that, C, NAME, '_i');
-      that._t = NAME;         // collection type
-      that._i = create(null); // index
-      that._f = undefined;    // first entry
-      that._l = undefined;    // last entry
-      that[SIZE] = 0;         // size
-      if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
-    });
-    redefineAll(C.prototype, {
-      // 23.1.3.1 Map.prototype.clear()
-      // 23.2.3.2 Set.prototype.clear()
-      clear: function clear() {
-        for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {
-          entry.r = true;
-          if (entry.p) entry.p = entry.p.n = undefined;
-          delete data[entry.i];
-        }
-        that._f = that._l = undefined;
-        that[SIZE] = 0;
-      },
-      // 23.1.3.3 Map.prototype.delete(key)
-      // 23.2.3.4 Set.prototype.delete(value)
-      'delete': function (key) {
-        var that = validate(this, NAME);
-        var entry = getEntry(that, key);
-        if (entry) {
-          var next = entry.n;
-          var prev = entry.p;
-          delete that._i[entry.i];
-          entry.r = true;
-          if (prev) prev.n = next;
-          if (next) next.p = prev;
-          if (that._f == entry) that._f = next;
-          if (that._l == entry) that._l = prev;
-          that[SIZE]--;
-        } return !!entry;
-      },
-      // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
-      // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
-      forEach: function forEach(callbackfn /* , that = undefined */) {
-        validate(this, NAME);
-        var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
-        var entry;
-        while (entry = entry ? entry.n : this._f) {
-          f(entry.v, entry.k, this);
-          // revert to the last existing entry
-          while (entry && entry.r) entry = entry.p;
-        }
-      },
-      // 23.1.3.7 Map.prototype.has(key)
-      // 23.2.3.7 Set.prototype.has(value)
-      has: function has(key) {
-        return !!getEntry(validate(this, NAME), key);
-      }
-    });
-    if (DESCRIPTORS) dP(C.prototype, 'size', {
-      get: function () {
-        return validate(this, NAME)[SIZE];
-      }
-    });
-    return C;
-  },
-  def: function (that, key, value) {
-    var entry = getEntry(that, key);
-    var prev, index;
-    // change existing entry
-    if (entry) {
-      entry.v = value;
-    // create new entry
-    } else {
-      that._l = entry = {
-        i: index = fastKey(key, true), // <- index
-        k: key,                        // <- key
-        v: value,                      // <- value
-        p: prev = that._l,             // <- previous entry
-        n: undefined,                  // <- next entry
-        r: false                       // <- removed
-      };
-      if (!that._f) that._f = entry;
-      if (prev) prev.n = entry;
-      that[SIZE]++;
-      // add to index
-      if (index !== 'F') that._i[index] = entry;
-    } return that;
-  },
-  getEntry: getEntry,
-  setStrong: function (C, NAME, IS_MAP) {
-    // add .keys, .values, .entries, [@@iterator]
-    // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
-    $iterDefine(C, NAME, function (iterated, kind) {
-      this._t = validate(iterated, NAME); // target
-      this._k = kind;                     // kind
-      this._l = undefined;                // previous
-    }, function () {
-      var that = this;
-      var kind = that._k;
-      var entry = that._l;
-      // revert to the last existing entry
-      while (entry && entry.r) entry = entry.p;
-      // get next entry
-      if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {
-        // or finish the iteration
-        that._t = undefined;
-        return step(1);
-      }
-      // return step by kind
-      if (kind == 'keys') return step(0, entry.k);
-      if (kind == 'values') return step(0, entry.v);
-      return step(0, [entry.k, entry.v]);
-    }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
-
-    // add [@@species], 23.1.2.2, 23.2.2.2
-    setSpecies(NAME);
-  }
-};
-
-
-/***/ }),
-
-/***/ "XLbu":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var $export = __webpack_require__("Y7ZC");
-
-$export($export.P + $export.R, 'Map', { toJSON: __webpack_require__("8iia")('Map') });
-
-
-/***/ }),
-
-/***/ "aPfg":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-// https://tc39.github.io/proposal-setmap-offrom/
-var $export = __webpack_require__("Y7ZC");
-var aFunction = __webpack_require__("eaoh");
-var ctx = __webpack_require__("2GTP");
-var forOf = __webpack_require__("oioR");
-
-module.exports = function (COLLECTION) {
-  $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {
-    var mapFn = arguments[1];
-    var mapping, A, n, cb;
-    aFunction(this);
-    mapping = mapFn !== undefined;
-    if (mapping) aFunction(mapFn);
-    if (source == undefined) return new this();
-    A = [];
-    if (mapping) {
-      n = 0;
-      cb = ctx(mapFn, arguments[2], 2);
-      forOf(source, false, function (nextItem) {
-        A.push(cb(nextItem, n++));
-      });
-    } else {
-      forOf(source, false, A.push, A);
-    }
-    return new this(A);
-  } });
-};
-
-
-/***/ }),
-
-/***/ "cHUd":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-// https://tc39.github.io/proposal-setmap-offrom/
-var $export = __webpack_require__("Y7ZC");
-
-module.exports = function (COLLECTION) {
-  $export($export.S, COLLECTION, { of: function of() {
-    var length = arguments.length;
-    var A = new Array(length);
-    while (length--) A[length] = arguments[length];
-    return new this(A);
-  } });
-};
-
-
-/***/ }),
-
-/***/ "cuFY":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _Map = __webpack_require__("LX0d");
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-class DataManager {
-  constructor(data) {
-    this.data = new _Map(data);
-  }
-
-  getData() {
-    return this.data;
-  }
-
-  get(key) {
-    return this.data.get(key);
-  }
-
-  set(key, value) {
-    this.data.set(key, value);
-  }
-
-  overwrite(data) {
-    this.data = new _Map(data);
-  }
-
-}
-
-exports.DataManager = DataManager;
-
-/***/ }),
-
-/***/ "dVTT":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from
-__webpack_require__("aPfg")('Map');
-
-
-/***/ }),
-
-/***/ "g33z":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var strong = __webpack_require__("Wu5q");
-var validate = __webpack_require__("n3ko");
-var MAP = 'Map';
-
-// 23.1 Map Objects
-module.exports = __webpack_require__("raTm")(MAP, function (get) {
-  return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };
-}, {
-  // 23.1.3.6 Map.prototype.get(key)
-  get: function get(key) {
-    var entry = strong.getEntry(validate(this, MAP), key);
-    return entry && entry.v;
-  },
-  // 23.1.3.9 Map.prototype.set(key, value)
-  set: function set(key, value) {
-    return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);
-  }
-}, strong, true);
-
-
-/***/ }),
-
-/***/ "kAMH":
-/***/ (function(module, exports, __webpack_require__) {
-
-// 7.2.2 IsArray(argument)
-var cof = __webpack_require__("a0xu");
-module.exports = Array.isArray || function isArray(arg) {
-  return cof(arg) == 'Array';
-};
-
-
-/***/ }),
-
-/***/ "n3ko":
-/***/ (function(module, exports, __webpack_require__) {
-
-var isObject = __webpack_require__("93I4");
-module.exports = function (it, TYPE) {
-  if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');
-  return it;
-};
-
-
-/***/ }),
-
-/***/ "qS9g":
+/***/ "qArv":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-var __importStar = this && this.__importStar || function (mod) {
-  if (mod && mod.__esModule) return mod;
-  var result = {};
-  if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-  result["default"] = mod;
-  return result;
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+    result["default"] = mod;
+    return result;
 };
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
+Object.defineProperty(exports, "__esModule", { value: true });
 const React = __importStar(__webpack_require__("q1tI"));
-
 exports.DataManagerContext = React.createContext(null);
 
-/***/ }),
-
-/***/ "raTm":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var global = __webpack_require__("5T2Y");
-var $export = __webpack_require__("Y7ZC");
-var meta = __webpack_require__("6/1s");
-var fails = __webpack_require__("KUxP");
-var hide = __webpack_require__("NegM");
-var redefineAll = __webpack_require__("XJU/");
-var forOf = __webpack_require__("oioR");
-var anInstance = __webpack_require__("EXMj");
-var isObject = __webpack_require__("93I4");
-var setToStringTag = __webpack_require__("RfKB");
-var dP = __webpack_require__("2faE").f;
-var each = __webpack_require__("V7Et")(0);
-var DESCRIPTORS = __webpack_require__("jmDH");
-
-module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
-  var Base = global[NAME];
-  var C = Base;
-  var ADDER = IS_MAP ? 'set' : 'add';
-  var proto = C && C.prototype;
-  var O = {};
-  if (!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {
-    new C().entries().next();
-  }))) {
-    // create collection constructor
-    C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);
-    redefineAll(C.prototype, methods);
-    meta.NEED = true;
-  } else {
-    C = wrapper(function (target, iterable) {
-      anInstance(target, C, NAME, '_c');
-      target._c = new Base();
-      if (iterable != undefined) forOf(iterable, IS_MAP, target[ADDER], target);
-    });
-    each('add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON'.split(','), function (KEY) {
-      var IS_ADDER = KEY == 'add' || KEY == 'set';
-      if (KEY in proto && !(IS_WEAK && KEY == 'clear')) hide(C.prototype, KEY, function (a, b) {
-        anInstance(this, C, KEY);
-        if (!IS_ADDER && IS_WEAK && !isObject(a)) return KEY == 'get' ? undefined : false;
-        var result = this._c[KEY](a === 0 ? 0 : a, b);
-        return IS_ADDER ? this : result;
-      });
-    });
-    IS_WEAK || dP(C.prototype, 'size', {
-      get: function () {
-        return this._c.size;
-      }
-    });
-  }
-
-  setToStringTag(C, NAME);
-
-  O[NAME] = C;
-  $export($export.G + $export.W + $export.F, O);
-
-  if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);
-
-  return C;
-};
-
 
 /***/ }),
 
-/***/ "v6xn":
+/***/ "yLiY":
 /***/ (function(module, exports, __webpack_require__) {
 
-// 9.4.2.3 ArraySpeciesCreate(originalArray, length)
-var speciesConstructor = __webpack_require__("C2SN");
+"use strict";
 
-module.exports = function (original, length) {
-  return new (speciesConstructor(original))(length);
+Object.defineProperty(exports, "__esModule", { value: true });
+let runtimeConfig;
+exports.default = () => {
+    return runtimeConfig;
 };
+function setConfig(configValue) {
+    runtimeConfig = configValue;
+}
+exports.setConfig = setConfig;
 
 
 /***/ }),
@@ -1321,7 +679,7 @@ var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("+oT+"));
 
 var _promise = _interopRequireDefault(__webpack_require__("eVuF"));
 
-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 /* global document, window */
 
 
@@ -1568,4 +926,4 @@ exports.default = PageLoader;
 
 /***/ })
 
-},[["BMP1",0,1,2]]]);
\ No newline at end of file
+},[["BMP1",0,1,2,3]]]);
\ No newline at end of file
Diff for _app.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[4],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[5],{
 
 /***/ "B5Ud":
 /***/ (function(module, exports, __webpack_require__) {
@@ -33,7 +33,7 @@ var _react = _interopRequireDefault(__webpack_require__("q1tI"));
 
 var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 
 exports.AppInitialProps = _utils.AppInitialProps;
 
@@ -200,4 +200,4 @@ function createUrl(router) {
 
 /***/ })
 
-},[["e9+W",0,1,2,3]]]);
\ No newline at end of file
+},[["e9+W",0,1,2,3,4]]]);
\ No newline at end of file
Diff for _error.js

Diff too large to display

Diff for hooks.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[6],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[7],{
 
 /***/ "+MDD":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
Diff for index.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[7],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[8],{
 
 /***/ "RNiq":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
Diff for link.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[8],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[9],{
 
 /***/ "/h46":
 /***/ (function(module, exports, __webpack_require__) {
@@ -48,6 +48,18 @@ module.exports = function (original) {
 
 /***/ }),
 
+/***/ "EXMj":
+/***/ (function(module, exports) {
+
+module.exports = function (it, Constructor, name, forbiddenField) {
+  if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {
+    throw TypeError(name + ': incorrect invocation!');
+  } return it;
+};
+
+
+/***/ }),
+
 /***/ "LX0d":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -55,6 +67,21 @@ module.exports = __webpack_require__("UDep");
 
 /***/ }),
 
+/***/ "NwJ3":
+/***/ (function(module, exports, __webpack_require__) {
+
+// check on default Array iterator
+var Iterators = __webpack_require__("SBuE");
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var ArrayProto = Array.prototype;
+
+module.exports = function (it) {
+  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
+};
+
+
+/***/ }),
+
 /***/ "ObF3":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
@@ -82,6 +109,36 @@ aLink.getInitialProps = function () {
 
 /***/ }),
 
+/***/ "QMMT":
+/***/ (function(module, exports, __webpack_require__) {
+
+// getting tag from 19.1.3.6 Object.prototype.toString()
+var cof = __webpack_require__("a0xu");
+var TAG = __webpack_require__("UWiX")('toStringTag');
+// ES3 wrong here
+var ARG = cof(function () { return arguments; }()) == 'Arguments';
+
+// fallback for IE11 Script Access Denied error
+var tryGet = function (it, key) {
+  try {
+    return it[key];
+  } catch (e) { /* empty */ }
+};
+
+module.exports = function (it) {
+  var O, T, B;
+  return it === undefined ? 'Undefined' : it === null ? 'Null'
+    // @@toStringTag case
+    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T
+    // builtinTag case
+    : ARG ? cof(O)
+    // ES3 arguments fallback
+    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
+};
+
+
+/***/ }),
+
 /***/ "RRc/":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -96,6 +153,28 @@ module.exports = function (iter, ITERATOR) {
 
 /***/ }),
 
+/***/ "TJWN":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var global = __webpack_require__("5T2Y");
+var core = __webpack_require__("WEpk");
+var dP = __webpack_require__("2faE");
+var DESCRIPTORS = __webpack_require__("jmDH");
+var SPECIES = __webpack_require__("UWiX")('species');
+
+module.exports = function (KEY) {
+  var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];
+  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {
+    configurable: true,
+    get: function () { return this; }
+  });
+};
+
+
+/***/ }),
+
 /***/ "UDep":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -327,6 +406,20 @@ module.exports = {
 
 /***/ }),
 
+/***/ "XJU/":
+/***/ (function(module, exports, __webpack_require__) {
+
+var hide = __webpack_require__("NegM");
+module.exports = function (target, src, safe) {
+  for (var key in src) {
+    if (safe && target[key]) target[key] = src[key];
+    else hide(target, key, src[key]);
+  } return target;
+};
+
+
+/***/ }),
+
 /***/ "XLbu":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -435,9 +528,9 @@ var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
 var _router = _interopRequireDefault(__webpack_require__("nOHt"));
 
-var _rewriteUrlForExport = __webpack_require__("KA3u");
+var _rewriteUrlForExport = __webpack_require__("P5f7");
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 /* global __NEXT_DATA__ */
 
 
@@ -704,6 +797,21 @@ __webpack_require__("aPfg")('Map');
 
 /***/ }),
 
+/***/ "fNZA":
+/***/ (function(module, exports, __webpack_require__) {
+
+var classof = __webpack_require__("QMMT");
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var Iterators = __webpack_require__("SBuE");
+module.exports = __webpack_require__("WEpk").getIteratorMethod = function (it) {
+  if (it != undefined) return it[ITERATOR]
+    || it['@@iterator']
+    || Iterators[classof(it)];
+};
+
+
+/***/ }),
+
 /***/ "g33z":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -743,6 +851,38 @@ module.exports = function (it, TYPE) {
 
 /***/ }),
 
+/***/ "oioR":
+/***/ (function(module, exports, __webpack_require__) {
+
+var ctx = __webpack_require__("2GTP");
+var call = __webpack_require__("sNwI");
+var isArrayIter = __webpack_require__("NwJ3");
+var anObject = __webpack_require__("5K7Z");
+var toLength = __webpack_require__("tEej");
+var getIterFn = __webpack_require__("fNZA");
+var BREAK = {};
+var RETURN = {};
+var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {
+  var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);
+  var f = ctx(fn, that, entries ? 2 : 1);
+  var index = 0;
+  var length, step, iterator, result;
+  if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');
+  // fast case for arrays with default iterator
+  if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {
+    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
+    if (result === BREAK || result === RETURN) return result;
+  } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {
+    result = call(iterator, f, step.value, entries);
+    if (result === BREAK || result === RETURN) return result;
+  }
+};
+exports.BREAK = BREAK;
+exports.RETURN = RETURN;
+
+
+/***/ }),
+
 /***/ "raTm":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -810,6 +950,25 @@ module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
 
 /***/ }),
 
+/***/ "sNwI":
+/***/ (function(module, exports, __webpack_require__) {
+
+// call something on iterator step with safe closing on error
+var anObject = __webpack_require__("5K7Z");
+module.exports = function (iterator, fn, value, entries) {
+  try {
+    return entries ? fn(anObject(value)[0], value[1]) : fn(value);
+  // 7.4.6 IteratorClose(iterator, completion)
+  } catch (e) {
+    var ret = iterator['return'];
+    if (ret !== undefined) anObject(ret.call(iterator));
+    throw e;
+  }
+};
+
+
+/***/ }),
+
 /***/ "v6xn":
 /***/ (function(module, exports, __webpack_require__) {
Diff for routerDirect.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[9],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[10],{
 
 /***/ "LtRI":
 /***/ (function(module, exports, __webpack_require__) {
Diff for withRouter.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[10],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[11],{
 
 /***/ "0Hlz":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
Diff for _app.module.js
@@ -1,49 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[3],{
-
-/***/ "+oT+":
-/***/ (function(module, exports, __webpack_require__) {
-
-var _Promise = __webpack_require__("eVuF");
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
-  try {
-    var info = gen[key](arg);
-    var value = info.value;
-  } catch (error) {
-    reject(error);
-    return;
-  }
-
-  if (info.done) {
-    resolve(value);
-  } else {
-    _Promise.resolve(value).then(_next, _throw);
-  }
-}
-
-function _asyncToGenerator(fn) {
-  return function () {
-    var self = this,
-        args = arguments;
-    return new _Promise(function (resolve, reject) {
-      var gen = fn.apply(self, args);
-
-      function _next(value) {
-        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
-      }
-
-      function _throw(err) {
-        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
-      }
-
-      _next(undefined);
-    });
-  };
-}
-
-module.exports = _asyncToGenerator;
-
-/***/ }),
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[4],{
 
 /***/ "B5Ud":
 /***/ (function(module, exports, __webpack_require__) {
@@ -66,7 +21,7 @@ var _react = _interopRequireDefault(__webpack_require__("q1tI"));
 
 var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 
 exports.AppInitialProps = _utils.AppInitialProps;
 
@@ -205,4 +160,4 @@ function createUrl(router) {
 
 /***/ })
 
-},[["e9+W",0,1,2]]]);
\ No newline at end of file
+},[["e9+W",0,1,2,3]]]);
\ No newline at end of file
Diff for _error.module.js

Diff too large to display

Diff for hooks.module.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[5],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[6],{
 
 /***/ "+MDD":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
Diff for index.module.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[6],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[7],{
 
 /***/ "RNiq":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
Diff for link.module.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[7],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[8],{
 
 /***/ "/h46":
 /***/ (function(module, exports, __webpack_require__) {
@@ -108,6 +108,43 @@ module.exports = function (original) {
 
 /***/ }),
 
+/***/ "EXMj":
+/***/ (function(module, exports) {
+
+module.exports = function (it, Constructor, name, forbiddenField) {
+  if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {
+    throw TypeError(name + ': incorrect invocation!');
+  } return it;
+};
+
+
+/***/ }),
+
+/***/ "FlQf":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var $at = __webpack_require__("ccE7")(true);
+
+// 21.1.3.27 String.prototype[@@iterator]()
+__webpack_require__("MPFp")(String, 'String', function (iterated) {
+  this._t = String(iterated); // target
+  this._i = 0;                // next index
+// 21.1.5.2.1 %StringIteratorPrototype%.next()
+}, function () {
+  var O = this._t;
+  var index = this._i;
+  var point;
+  if (index >= O.length) return { value: undefined, done: true };
+  point = $at(O, index);
+  this._i += point.length;
+  return { value: point, done: false };
+});
+
+
+/***/ }),
+
 /***/ "LX0d":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -115,6 +152,107 @@ module.exports = __webpack_require__("UDep");
 
 /***/ }),
 
+/***/ "MPFp":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var LIBRARY = __webpack_require__("uOPS");
+var $export = __webpack_require__("Y7ZC");
+var redefine = __webpack_require__("kTiW");
+var hide = __webpack_require__("NegM");
+var Iterators = __webpack_require__("SBuE");
+var $iterCreate = __webpack_require__("j2DC");
+var setToStringTag = __webpack_require__("RfKB");
+var getPrototypeOf = __webpack_require__("U+KD");
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`
+var FF_ITERATOR = '@@iterator';
+var KEYS = 'keys';
+var VALUES = 'values';
+
+var returnThis = function () { return this; };
+
+module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {
+  $iterCreate(Constructor, NAME, next);
+  var getMethod = function (kind) {
+    if (!BUGGY && kind in proto) return proto[kind];
+    switch (kind) {
+      case KEYS: return function keys() { return new Constructor(this, kind); };
+      case VALUES: return function values() { return new Constructor(this, kind); };
+    } return function entries() { return new Constructor(this, kind); };
+  };
+  var TAG = NAME + ' Iterator';
+  var DEF_VALUES = DEFAULT == VALUES;
+  var VALUES_BUG = false;
+  var proto = Base.prototype;
+  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];
+  var $default = $native || getMethod(DEFAULT);
+  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;
+  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;
+  var methods, key, IteratorPrototype;
+  // Fix native
+  if ($anyNative) {
+    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));
+    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {
+      // Set @@toStringTag to native iterators
+      setToStringTag(IteratorPrototype, TAG, true);
+      // fix for some old engines
+      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);
+    }
+  }
+  // fix Array#{values, @@iterator}.name in V8 / FF
+  if (DEF_VALUES && $native && $native.name !== VALUES) {
+    VALUES_BUG = true;
+    $default = function values() { return $native.call(this); };
+  }
+  // Define iterator
+  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {
+    hide(proto, ITERATOR, $default);
+  }
+  // Plug for library
+  Iterators[NAME] = $default;
+  Iterators[TAG] = returnThis;
+  if (DEFAULT) {
+    methods = {
+      values: DEF_VALUES ? $default : getMethod(VALUES),
+      keys: IS_SET ? $default : getMethod(KEYS),
+      entries: $entries
+    };
+    if (FORCED) for (key in methods) {
+      if (!(key in proto)) redefine(proto, key, methods[key]);
+    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
+  }
+  return methods;
+};
+
+
+/***/ }),
+
+/***/ "MvwC":
+/***/ (function(module, exports, __webpack_require__) {
+
+var document = __webpack_require__("5T2Y").document;
+module.exports = document && document.documentElement;
+
+
+/***/ }),
+
+/***/ "NwJ3":
+/***/ (function(module, exports, __webpack_require__) {
+
+// check on default Array iterator
+var Iterators = __webpack_require__("SBuE");
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var ArrayProto = Array.prototype;
+
+module.exports = function (it) {
+  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
+};
+
+
+/***/ }),
+
 /***/ "ObF3":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
@@ -140,6 +278,36 @@ aLink.getInitialProps = () => ({});
 
 /***/ }),
 
+/***/ "QMMT":
+/***/ (function(module, exports, __webpack_require__) {
+
+// getting tag from 19.1.3.6 Object.prototype.toString()
+var cof = __webpack_require__("a0xu");
+var TAG = __webpack_require__("UWiX")('toStringTag');
+// ES3 wrong here
+var ARG = cof(function () { return arguments; }()) == 'Arguments';
+
+// fallback for IE11 Script Access Denied error
+var tryGet = function (it, key) {
+  try {
+    return it[key];
+  } catch (e) { /* empty */ }
+};
+
+module.exports = function (it) {
+  var O, T, B;
+  return it === undefined ? 'Undefined' : it === null ? 'Null'
+    // @@toStringTag case
+    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T
+    // builtinTag case
+    : ARG ? cof(O)
+    // ES3 arguments fallback
+    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
+};
+
+
+/***/ }),
+
 /***/ "RRc/":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -154,6 +322,70 @@ module.exports = function (iter, ITERATOR) {
 
 /***/ }),
 
+/***/ "RfKB":
+/***/ (function(module, exports, __webpack_require__) {
+
+var def = __webpack_require__("2faE").f;
+var has = __webpack_require__("B+OT");
+var TAG = __webpack_require__("UWiX")('toStringTag');
+
+module.exports = function (it, tag, stat) {
+  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });
+};
+
+
+/***/ }),
+
+/***/ "SBuE":
+/***/ (function(module, exports) {
+
+module.exports = {};
+
+
+/***/ }),
+
+/***/ "TJWN":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var global = __webpack_require__("5T2Y");
+var core = __webpack_require__("WEpk");
+var dP = __webpack_require__("2faE");
+var DESCRIPTORS = __webpack_require__("jmDH");
+var SPECIES = __webpack_require__("UWiX")('species');
+
+module.exports = function (KEY) {
+  var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];
+  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {
+    configurable: true,
+    get: function () { return this; }
+  });
+};
+
+
+/***/ }),
+
+/***/ "U+KD":
+/***/ (function(module, exports, __webpack_require__) {
+
+// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
+var has = __webpack_require__("B+OT");
+var toObject = __webpack_require__("JB68");
+var IE_PROTO = __webpack_require__("VVlx")('IE_PROTO');
+var ObjectProto = Object.prototype;
+
+module.exports = Object.getPrototypeOf || function (O) {
+  O = toObject(O);
+  if (has(O, IE_PROTO)) return O[IE_PROTO];
+  if (typeof O.constructor == 'function' && O instanceof O.constructor) {
+    return O.constructor.prototype;
+  } return O instanceof Object ? ObjectProto : null;
+};
+
+
+/***/ }),
+
 /***/ "UDep":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -169,6 +401,34 @@ module.exports = __webpack_require__("WEpk").Map;
 
 /***/ }),
 
+/***/ "UO39":
+/***/ (function(module, exports) {
+
+module.exports = function (done, value) {
+  return { value: value, done: !!done };
+};
+
+
+/***/ }),
+
+/***/ "UWiX":
+/***/ (function(module, exports, __webpack_require__) {
+
+var store = __webpack_require__("29s/")('wks');
+var uid = __webpack_require__("YqAc");
+var Symbol = __webpack_require__("5T2Y").Symbol;
+var USE_SYMBOL = typeof Symbol == 'function';
+
+var $exports = module.exports = function (name) {
+  return store[name] || (store[name] =
+    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));
+};
+
+$exports.store = store;
+
+
+/***/ }),
+
 /***/ "V7Et":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -385,6 +645,20 @@ module.exports = {
 
 /***/ }),
 
+/***/ "XJU/":
+/***/ (function(module, exports, __webpack_require__) {
+
+var hide = __webpack_require__("NegM");
+module.exports = function (target, src, safe) {
+  for (var key in src) {
+    if (safe && target[key]) target[key] = src[key];
+    else hide(target, key, src[key]);
+  } return target;
+};
+
+
+/***/ }),
+
 /***/ "XLbu":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -440,6 +714,32 @@ module.exports = function (COLLECTION) {
 
 /***/ }),
 
+/***/ "bBy9":
+/***/ (function(module, exports, __webpack_require__) {
+
+__webpack_require__("w2d+");
+var global = __webpack_require__("5T2Y");
+var hide = __webpack_require__("NegM");
+var Iterators = __webpack_require__("SBuE");
+var TO_STRING_TAG = __webpack_require__("UWiX")('toStringTag');
+
+var DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +
+  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +
+  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +
+  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +
+  'TextTrackList,TouchList').split(',');
+
+for (var i = 0; i < DOMIterables.length; i++) {
+  var NAME = DOMIterables[i];
+  var Collection = global[NAME];
+  var proto = Collection && Collection.prototype;
+  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);
+  Iterators[NAME] = Iterators.Array;
+}
+
+
+/***/ }),
+
 /***/ "cHUd":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -483,9 +783,9 @@ var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
 var _router = _interopRequireDefault(__webpack_require__("nOHt"));
 
-var _rewriteUrlForExport = __webpack_require__("KA3u");
+var _rewriteUrlForExport = __webpack_require__("P5f7");
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 /* global __NEXT_DATA__ */
 
 
@@ -731,6 +1031,30 @@ exports.default = _default;
 
 /***/ }),
 
+/***/ "ccE7":
+/***/ (function(module, exports, __webpack_require__) {
+
+var toInteger = __webpack_require__("Ojgd");
+var defined = __webpack_require__("Jes0");
+// true  -> String#at
+// false -> String#codePointAt
+module.exports = function (TO_STRING) {
+  return function (that, pos) {
+    var s = String(defined(that));
+    var i = toInteger(pos);
+    var l = s.length;
+    var a, b;
+    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;
+    a = s.charCodeAt(i);
+    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff
+      ? TO_STRING ? s.charAt(i) : a
+      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
+  };
+};
+
+
+/***/ }),
+
 /***/ "dVTT":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -740,6 +1064,41 @@ __webpack_require__("aPfg")('Map');
 
 /***/ }),
 
+/***/ "fNZA":
+/***/ (function(module, exports, __webpack_require__) {
+
+var classof = __webpack_require__("QMMT");
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var Iterators = __webpack_require__("SBuE");
+module.exports = __webpack_require__("WEpk").getIteratorMethod = function (it) {
+  if (it != undefined) return it[ITERATOR]
+    || it['@@iterator']
+    || Iterators[classof(it)];
+};
+
+
+/***/ }),
+
+/***/ "fpC5":
+/***/ (function(module, exports, __webpack_require__) {
+
+var dP = __webpack_require__("2faE");
+var anObject = __webpack_require__("5K7Z");
+var getKeys = __webpack_require__("w6GO");
+
+module.exports = __webpack_require__("jmDH") ? Object.defineProperties : function defineProperties(O, Properties) {
+  anObject(O);
+  var keys = getKeys(Properties);
+  var length = keys.length;
+  var i = 0;
+  var P;
+  while (length > i) dP.f(O, P = keys[i++], Properties[P]);
+  return O;
+};
+
+
+/***/ }),
+
 /***/ "g33z":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -767,6 +1126,35 @@ module.exports = __webpack_require__("raTm")(MAP, function (get) {
 
 /***/ }),
 
+/***/ "hDam":
+/***/ (function(module, exports) {
+
+module.exports = function () { /* empty */ };
+
+
+/***/ }),
+
+/***/ "j2DC":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var create = __webpack_require__("oVml");
+var descriptor = __webpack_require__("rr1i");
+var setToStringTag = __webpack_require__("RfKB");
+var IteratorPrototype = {};
+
+// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
+__webpack_require__("NegM")(IteratorPrototype, __webpack_require__("UWiX")('iterator'), function () { return this; });
+
+module.exports = function (Constructor, NAME, next) {
+  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });
+  setToStringTag(Constructor, NAME + ' Iterator');
+};
+
+
+/***/ }),
+
 /***/ "kAMH":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -779,6 +1167,14 @@ module.exports = Array.isArray || function isArray(arg) {
 
 /***/ }),
 
+/***/ "kTiW":
+/***/ (function(module, exports, __webpack_require__) {
+
+module.exports = __webpack_require__("NegM");
+
+
+/***/ }),
+
 /***/ "n3ko":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -791,6 +1187,86 @@ module.exports = function (it, TYPE) {
 
 /***/ }),
 
+/***/ "oVml":
+/***/ (function(module, exports, __webpack_require__) {
+
+// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
+var anObject = __webpack_require__("5K7Z");
+var dPs = __webpack_require__("fpC5");
+var enumBugKeys = __webpack_require__("FpHa");
+var IE_PROTO = __webpack_require__("VVlx")('IE_PROTO');
+var Empty = function () { /* empty */ };
+var PROTOTYPE = 'prototype';
+
+// Create object with fake `null` prototype: use iframe Object with cleared prototype
+var createDict = function () {
+  // Thrash, waste and sodomy: IE GC bug
+  var iframe = __webpack_require__("Hsns")('iframe');
+  var i = enumBugKeys.length;
+  var lt = '<';
+  var gt = '>';
+  var iframeDocument;
+  iframe.style.display = 'none';
+  __webpack_require__("MvwC").appendChild(iframe);
+  iframe.src = 'javascript:'; // eslint-disable-line no-script-url
+  // createDict = iframe.contentWindow.Object;
+  // html.removeChild(iframe);
+  iframeDocument = iframe.contentWindow.document;
+  iframeDocument.open();
+  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);
+  iframeDocument.close();
+  createDict = iframeDocument.F;
+  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];
+  return createDict();
+};
+
+module.exports = Object.create || function create(O, Properties) {
+  var result;
+  if (O !== null) {
+    Empty[PROTOTYPE] = anObject(O);
+    result = new Empty();
+    Empty[PROTOTYPE] = null;
+    // add "__proto__" for Object.getPrototypeOf polyfill
+    result[IE_PROTO] = O;
+  } else result = createDict();
+  return Properties === undefined ? result : dPs(result, Properties);
+};
+
+
+/***/ }),
+
+/***/ "oioR":
+/***/ (function(module, exports, __webpack_require__) {
+
+var ctx = __webpack_require__("2GTP");
+var call = __webpack_require__("sNwI");
+var isArrayIter = __webpack_require__("NwJ3");
+var anObject = __webpack_require__("5K7Z");
+var toLength = __webpack_require__("tEej");
+var getIterFn = __webpack_require__("fNZA");
+var BREAK = {};
+var RETURN = {};
+var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {
+  var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);
+  var f = ctx(fn, that, entries ? 2 : 1);
+  var index = 0;
+  var length, step, iterator, result;
+  if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');
+  // fast case for arrays with default iterator
+  if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {
+    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
+    if (result === BREAK || result === RETURN) return result;
+  } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {
+    result = call(iterator, f, step.value, entries);
+    if (result === BREAK || result === RETURN) return result;
+  }
+};
+exports.BREAK = BREAK;
+exports.RETURN = RETURN;
+
+
+/***/ }),
+
 /***/ "raTm":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -858,6 +1334,25 @@ module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
 
 /***/ }),
 
+/***/ "sNwI":
+/***/ (function(module, exports, __webpack_require__) {
+
+// call something on iterator step with safe closing on error
+var anObject = __webpack_require__("5K7Z");
+module.exports = function (iterator, fn, value, entries) {
+  try {
+    return entries ? fn(anObject(value)[0], value[1]) : fn(value);
+  // 7.4.6 IteratorClose(iterator, completion)
+  } catch (e) {
+    var ret = iterator['return'];
+    if (ret !== undefined) anObject(ret.call(iterator));
+    throw e;
+  }
+};
+
+
+/***/ }),
+
 /***/ "v6xn":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -869,6 +1364,55 @@ module.exports = function (original, length) {
 };
 
 
+/***/ }),
+
+/***/ "w2d+":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var addToUnscopables = __webpack_require__("hDam");
+var step = __webpack_require__("UO39");
+var Iterators = __webpack_require__("SBuE");
+var toIObject = __webpack_require__("NsO/");
+
+// 22.1.3.4 Array.prototype.entries()
+// 22.1.3.13 Array.prototype.keys()
+// 22.1.3.29 Array.prototype.values()
+// 22.1.3.30 Array.prototype[@@iterator]()
+module.exports = __webpack_require__("MPFp")(Array, 'Array', function (iterated, kind) {
+  this._t = toIObject(iterated); // target
+  this._i = 0;                   // next index
+  this._k = kind;                // kind
+// 22.1.5.2.1 %ArrayIteratorPrototype%.next()
+}, function () {
+  var O = this._t;
+  var kind = this._k;
+  var index = this._i++;
+  if (!O || index >= O.length) {
+    this._t = undefined;
+    return step(1);
+  }
+  if (kind == 'keys') return step(0, index);
+  if (kind == 'values') return step(0, O[index]);
+  return step(0, [index, O[index]]);
+}, 'values');
+
+// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
+Iterators.Arguments = Iterators.Array;
+
+addToUnscopables('keys');
+addToUnscopables('values');
+addToUnscopables('entries');
+
+
+/***/ }),
+
+/***/ "wgeU":
+/***/ (function(module, exports) {
+
+
+
 /***/ })
 
 },[["V8Sf",0,1,2]]]);
\ No newline at end of file
Diff for routerDirect.module.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[8],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[9],{
 
 /***/ "LtRI":
 /***/ (function(module, exports, __webpack_require__) {
Diff for withRouter.module.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[9],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[10],{
 
 /***/ "0Hlz":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
Diff for index.html
@@ -6,19 +6,21 @@
         <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"
         />
         <meta name="next-head-count" content="2" />
-        <link rel="preload" href="/_next/static/hyD58NaTtwKFk3lW5n-0f/pages/index.module.js"
+        <link rel="preload" href="/_next/static/KOeC5aZoSYzodEk3phomp/pages/index.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/hyD58NaTtwKFk3lW5n-0f/pages/_app.module.js"
+        <link rel="preload" href="/_next/static/KOeC5aZoSYzodEk3phomp/pages/_app.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-ea228487a429f03c22be.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-2db0ada4beb83ccb90d3.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/8eecf51734406db5d17d1145fce6e4467e66f63e.c659a74b6088e6ac1abe.module.js"
+        <link rel="preload" href="/_next/static/chunks/53265e3eb699c3ecfcafc58dc68e1b5e7dab7d05.4d964fd8388c4017eabc.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/hyD58NaTtwKFk3lW5n-0f/_buildManifest.module.js"
+        <link rel="preload" href="/_next/static/chunks/d20d6e1a5cff8c09f540f206e262bd4ee33d5659.3f4abea1185a064f32e0.module.js"
+        as="script" crossorigin="anonymous" />
+        <link rel="preload" href="/_next/static/KOeC5aZoSYzodEk3phomp/_buildManifest.module.js"
         as="script" crossorigin="anonymous" />
     </head>
     
@@ -26,40 +28,44 @@
         <div id="__next">Hello world 👋</div>
         <script id="__NEXT_DATA__" type="application/json"
         crossorigin="anonymous">
-            {"dataManager":"[]","props":{"pageProps":{}},"page":"/","query":{},"buildId":"hyD58NaTtwKFk3lW5n-0f"}
+            {"dataManager":"[]","props":{"pageProps":{}},"page":"/","query":{},"buildId":"KOeC5aZoSYzodEk3phomp"}
         </script>
         <script crossorigin="anonymous" nomodule="">
             !function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();
         </script>
-        <script async="" data-next-page="/" src="/_next/static/hyD58NaTtwKFk3lW5n-0f/pages/index.js"
+        <script async="" data-next-page="/" src="/_next/static/KOeC5aZoSYzodEk3phomp/pages/index.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/" src="/_next/static/hyD58NaTtwKFk3lW5n-0f/pages/index.module.js"
+        <script async="" data-next-page="/" src="/_next/static/KOeC5aZoSYzodEk3phomp/pages/index.module.js"
         crossorigin="anonymous" type="module"></script>
-        <script async="" data-next-page="/_app" src="/_next/static/hyD58NaTtwKFk3lW5n-0f/pages/_app.js"
+        <script async="" data-next-page="/_app" src="/_next/static/KOeC5aZoSYzodEk3phomp/pages/_app.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/_app" src="/_next/static/hyD58NaTtwKFk3lW5n-0f/pages/_app.module.js"
+        <script async="" data-next-page="/_app" src="/_next/static/KOeC5aZoSYzodEk3phomp/pages/_app.module.js"
         crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/runtime/webpack-a470c2a25bcb4d5a8ec0.js"
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-a1e3a940d5bb499fc0c7.js"
+        <script src="/_next/static/runtime/main-a188ebd08a5f20653f30.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-ea228487a429f03c22be.module.js"
+        <script src="/_next/static/runtime/main-2db0ada4beb83ccb90d3.module.js"
         async="" crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.js"
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/c139d78dc3a682831513fd20e1ed02f9e7f6aabf.155621535702fe040780.js"
+        <script src="/_next/static/chunks/be0ecd3e6b09d9d5601396b0fda1243a0a66e3e7.51a842c47a941d029b87.js"
+        async="" crossorigin="anonymous" nomodule=""></script>
+        <script src="/_next/static/chunks/53265e3eb699c3ecfcafc58dc68e1b5e7dab7d05.8ec578cd8cb4c871a95f.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/8eecf51734406db5d17d1145fce6e4467e66f63e.f6f7599a2edf91d8366a.js"
+        <script src="/_next/static/chunks/53265e3eb699c3ecfcafc58dc68e1b5e7dab7d05.4d964fd8388c4017eabc.module.js"
+        async="" crossorigin="anonymous" type="module"></script>
+        <script src="/_next/static/chunks/d20d6e1a5cff8c09f540f206e262bd4ee33d5659.883a35a4990b7a95e5bc.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/8eecf51734406db5d17d1145fce6e4467e66f63e.c659a74b6088e6ac1abe.module.js"
+        <script src="/_next/static/chunks/d20d6e1a5cff8c09f540f206e262bd4ee33d5659.3f4abea1185a064f32e0.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/hyD58NaTtwKFk3lW5n-0f/_buildManifest.js"
+        <script src="/_next/static/KOeC5aZoSYzodEk3phomp/_buildManifest.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/hyD58NaTtwKFk3lW5n-0f/_buildManifest.module.js"
+        <script src="/_next/static/KOeC5aZoSYzodEk3phomp/_buildManifest.module.js"
         async="" crossorigin="anonymous" type="module"></script>
     </body>
Diff for link.html
@@ -6,19 +6,21 @@
         <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"
         />
         <meta name="next-head-count" content="2" />
-        <link rel="preload" href="/_next/static/hyD58NaTtwKFk3lW5n-0f/pages/link.module.js"
+        <link rel="preload" href="/_next/static/KOeC5aZoSYzodEk3phomp/pages/link.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/hyD58NaTtwKFk3lW5n-0f/pages/_app.module.js"
+        <link rel="preload" href="/_next/static/KOeC5aZoSYzodEk3phomp/pages/_app.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/8eecf51734406db5d17d1145fce6e4467e66f63e.c659a74b6088e6ac1abe.module.js"
+        <link rel="preload" href="/_next/static/chunks/53265e3eb699c3ecfcafc58dc68e1b5e7dab7d05.4d964fd8388c4017eabc.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-ea228487a429f03c22be.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-2db0ada4beb83ccb90d3.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/hyD58NaTtwKFk3lW5n-0f/_buildManifest.module.js"
+        <link rel="preload" href="/_next/static/chunks/d20d6e1a5cff8c09f540f206e262bd4ee33d5659.3f4abea1185a064f32e0.module.js"
+        as="script" crossorigin="anonymous" />
+        <link rel="preload" href="/_next/static/KOeC5aZoSYzodEk3phomp/_buildManifest.module.js"
         as="script" crossorigin="anonymous" />
     </head>
     
@@ -29,18 +31,18 @@
             </div>
         </div>
         <script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">
-            {"dataManager":"[]","props":{"pageProps":{}},"page":"/link","query":{},"buildId":"hyD58NaTtwKFk3lW5n-0f"}
+            {"dataManager":"[]","props":{"pageProps":{}},"page":"/link","query":{},"buildId":"KOeC5aZoSYzodEk3phomp"}
         </script>
         <script crossorigin="anonymous" nomodule="">
             !function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();
         </script>
-        <script async="" data-next-page="/link" src="/_next/static/hyD58NaTtwKFk3lW5n-0f/pages/link.js"
+        <script async="" data-next-page="/link" src="/_next/static/KOeC5aZoSYzodEk3phomp/pages/link.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/link" src="/_next/static/hyD58NaTtwKFk3lW5n-0f/pages/link.module.js"
+        <script async="" data-next-page="/link" src="/_next/static/KOeC5aZoSYzodEk3phomp/pages/link.module.js"
         crossorigin="anonymous" type="module"></script>
-        <script async="" data-next-page="/_app" src="/_next/static/hyD58NaTtwKFk3lW5n-0f/pages/_app.js"
+        <script async="" data-next-page="/_app" src="/_next/static/KOeC5aZoSYzodEk3phomp/pages/_app.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/_app" src="/_next/static/hyD58NaTtwKFk3lW5n-0f/pages/_app.module.js"
+        <script async="" data-next-page="/_app" src="/_next/static/KOeC5aZoSYzodEk3phomp/pages/_app.module.js"
         crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/runtime/webpack-a470c2a25bcb4d5a8ec0.js"
         async="" crossorigin="anonymous" nomodule=""></script>
@@ -50,19 +52,23 @@
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/c139d78dc3a682831513fd20e1ed02f9e7f6aabf.155621535702fe040780.js"
+        <script src="/_next/static/chunks/be0ecd3e6b09d9d5601396b0fda1243a0a66e3e7.51a842c47a941d029b87.js"
+        async="" crossorigin="anonymous" nomodule=""></script>
+        <script src="/_next/static/chunks/53265e3eb699c3ecfcafc58dc68e1b5e7dab7d05.8ec578cd8cb4c871a95f.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/8eecf51734406db5d17d1145fce6e4467e66f63e.f6f7599a2edf91d8366a.js"
+        <script src="/_next/static/chunks/53265e3eb699c3ecfcafc58dc68e1b5e7dab7d05.4d964fd8388c4017eabc.module.js"
+        async="" crossorigin="anonymous" type="module"></script>
+        <script src="/_next/static/runtime/main-a188ebd08a5f20653f30.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/8eecf51734406db5d17d1145fce6e4467e66f63e.c659a74b6088e6ac1abe.module.js"
+        <script src="/_next/static/runtime/main-2db0ada4beb83ccb90d3.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-a1e3a940d5bb499fc0c7.js"
+        <script src="/_next/static/chunks/d20d6e1a5cff8c09f540f206e262bd4ee33d5659.883a35a4990b7a95e5bc.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-ea228487a429f03c22be.module.js"
+        <script src="/_next/static/chunks/d20d6e1a5cff8c09f540f206e262bd4ee33d5659.3f4abea1185a064f32e0.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/hyD58NaTtwKFk3lW5n-0f/_buildManifest.js"
+        <script src="/_next/static/KOeC5aZoSYzodEk3phomp/_buildManifest.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/hyD58NaTtwKFk3lW5n-0f/_buildManifest.module.js"
+        <script src="/_next/static/KOeC5aZoSYzodEk3phomp/_buildManifest.module.js"
         async="" crossorigin="anonymous" type="module"></script>
     </body>
Diff for withRouter.html
@@ -6,19 +6,21 @@
         <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"
         />
         <meta name="next-head-count" content="2" />
-        <link rel="preload" href="/_next/static/hyD58NaTtwKFk3lW5n-0f/pages/withRouter.module.js"
+        <link rel="preload" href="/_next/static/KOeC5aZoSYzodEk3phomp/pages/withRouter.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/hyD58NaTtwKFk3lW5n-0f/pages/_app.module.js"
+        <link rel="preload" href="/_next/static/KOeC5aZoSYzodEk3phomp/pages/_app.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/8eecf51734406db5d17d1145fce6e4467e66f63e.c659a74b6088e6ac1abe.module.js"
+        <link rel="preload" href="/_next/static/chunks/53265e3eb699c3ecfcafc58dc68e1b5e7dab7d05.4d964fd8388c4017eabc.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-ea228487a429f03c22be.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-2db0ada4beb83ccb90d3.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/hyD58NaTtwKFk3lW5n-0f/_buildManifest.module.js"
+        <link rel="preload" href="/_next/static/chunks/d20d6e1a5cff8c09f540f206e262bd4ee33d5659.3f4abea1185a064f32e0.module.js"
+        as="script" crossorigin="anonymous" />
+        <link rel="preload" href="/_next/static/KOeC5aZoSYzodEk3phomp/_buildManifest.module.js"
         as="script" crossorigin="anonymous" />
     </head>
     
@@ -27,18 +29,18 @@
             <div>I use withRouter</div>
         </div>
         <script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">
-            {"dataManager":"[]","props":{"pageProps":{}},"page":"/withRouter","query":{},"buildId":"hyD58NaTtwKFk3lW5n-0f"}
+            {"dataManager":"[]","props":{"pageProps":{}},"page":"/withRouter","query":{},"buildId":"KOeC5aZoSYzodEk3phomp"}
         </script>
         <script crossorigin="anonymous" nomodule="">
             !function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();
         </script>
-        <script async="" data-next-page="/withRouter" src="/_next/static/hyD58NaTtwKFk3lW5n-0f/pages/withRouter.js"
+        <script async="" data-next-page="/withRouter" src="/_next/static/KOeC5aZoSYzodEk3phomp/pages/withRouter.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/withRouter" src="/_next/static/hyD58NaTtwKFk3lW5n-0f/pages/withRouter.module.js"
+        <script async="" data-next-page="/withRouter" src="/_next/static/KOeC5aZoSYzodEk3phomp/pages/withRouter.module.js"
         crossorigin="anonymous" type="module"></script>
-        <script async="" data-next-page="/_app" src="/_next/static/hyD58NaTtwKFk3lW5n-0f/pages/_app.js"
+        <script async="" data-next-page="/_app" src="/_next/static/KOeC5aZoSYzodEk3phomp/pages/_app.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/_app" src="/_next/static/hyD58NaTtwKFk3lW5n-0f/pages/_app.module.js"
+        <script async="" data-next-page="/_app" src="/_next/static/KOeC5aZoSYzodEk3phomp/pages/_app.module.js"
         crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/runtime/webpack-a470c2a25bcb4d5a8ec0.js"
         async="" crossorigin="anonymous" nomodule=""></script>
@@ -48,19 +50,23 @@
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/c139d78dc3a682831513fd20e1ed02f9e7f6aabf.155621535702fe040780.js"
+        <script src="/_next/static/chunks/be0ecd3e6b09d9d5601396b0fda1243a0a66e3e7.51a842c47a941d029b87.js"
+        async="" crossorigin="anonymous" nomodule=""></script>
+        <script src="/_next/static/chunks/53265e3eb699c3ecfcafc58dc68e1b5e7dab7d05.8ec578cd8cb4c871a95f.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/8eecf51734406db5d17d1145fce6e4467e66f63e.f6f7599a2edf91d8366a.js"
+        <script src="/_next/static/chunks/53265e3eb699c3ecfcafc58dc68e1b5e7dab7d05.4d964fd8388c4017eabc.module.js"
+        async="" crossorigin="anonymous" type="module"></script>
+        <script src="/_next/static/runtime/main-a188ebd08a5f20653f30.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/8eecf51734406db5d17d1145fce6e4467e66f63e.c659a74b6088e6ac1abe.module.js"
+        <script src="/_next/static/runtime/main-2db0ada4beb83ccb90d3.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-a1e3a940d5bb499fc0c7.js"
+        <script src="/_next/static/chunks/d20d6e1a5cff8c09f540f206e262bd4ee33d5659.883a35a4990b7a95e5bc.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-ea228487a429f03c22be.module.js"
+        <script src="/_next/static/chunks/d20d6e1a5cff8c09f540f206e262bd4ee33d5659.3f4abea1185a064f32e0.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/hyD58NaTtwKFk3lW5n-0f/_buildManifest.js"
+        <script src="/_next/static/KOeC5aZoSYzodEk3phomp/_buildManifest.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/hyD58NaTtwKFk3lW5n-0f/_buildManifest.module.js"
+        <script src="/_next/static/KOeC5aZoSYzodEk3phomp/_buildManifest.module.js"
         async="" crossorigin="anonymous" type="module"></script>
     </body>

Serverless Mode (Increase detected ⚠️)
General Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
buildDuration 22.8s 19.9s -2.9s
nodeModulesSize 42 MB 42 MB -26.3 kB
Client Bundles (main, webpack, commons) Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
main-HASH.js 18.2 kB 14.4 kB -3.84 kB
main-HASH.js gzip 6.66 kB 5.12 kB -1.55 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
Overall change -3.84 kB
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
main-HASH.module.js 16.6 kB 10.8 kB -5.76 kB
main-HASH.module.js gzip 6.39 kB 4.02 kB -2.36 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH.module.js gzip 746 B 746 B
Overall change -5.76 kB
Client Pages Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_app.js 1.83 kB 1.84 kB ⚠️ +2 B
_app.js gzip 884 B 885 B ⚠️ +1 B
_error.js 12.1 kB 5.36 kB -6.75 kB
_error.js gzip 4.76 kB 2.14 kB -2.62 kB
hooks.js 12.7 kB 12.7 kB
hooks.js gzip 4.81 kB 4.81 kB
index.js 343 B 343 B
index.js gzip 237 B 237 B
link.js 8.14 kB 9.93 kB ⚠️ +1.79 kB
link.js gzip 3.49 kB 4.13 kB ⚠️ +634 B
routerDirect.js 434 B 434 B
routerDirect.js gzip 296 B 296 B
withRouter.js 444 B 444 B
withRouter.js gzip 294 B 294 B
Overall change -4.96 kB
Client Pages Modern Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_app.module.js 1.73 kB 1.38 kB -349 B
_app.module.js gzip 840 B 695 B -145 B
_error.module.js 23.3 kB 6.21 kB -17.1 kB
_error.module.js gzip 8.62 kB 2.46 kB -6.16 kB
hooks.module.js 1.55 kB 1.55 kB
hooks.module.js gzip 805 B 805 B
index.module.js 319 B 319 B
index.module.js gzip 238 B 238 B
link.module.js 8.52 kB 14.6 kB ⚠️ +6.11 kB
link.module.js gzip 3.68 kB 5.98 kB ⚠️ +2.3 kB
routerDirect.module.js 419 B 419 B
routerDirect.module.js gzip 294 B 294 B
withRouter.module.js 430 B 430 B
withRouter.module.js gzip 293 B 293 B
Overall change -11.4 kB
Client Build Manifests
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_buildManifest.js 81 B 81 B
_buildManifest.js gzip 61 B 61 B
_buildManifest.module.js 81 B 81 B
_buildManifest.module.js gzip 61 B 61 B
Overall change
Serverless bundles Overall increase ⚠️
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_error.js 248 kB 249 kB ⚠️ +1.27 kB
_error.js gzip 66.4 kB 66 kB -342 B
hooks.html 3.86 kB 4.34 kB ⚠️ +474 B
hooks.html gzip 984 B 1.05 kB ⚠️ +69 B
index.js 248 kB 250 kB ⚠️ +1.23 kB
index.js gzip 66.6 kB 66.3 kB -233 B
link.js 256 kB 259 kB ⚠️ +3.06 kB
link.js gzip 68.9 kB 68.7 kB -228 B
routerDirect.js 249 kB 250 kB ⚠️ +1.23 kB
routerDirect.js gzip 66.9 kB 66.3 kB -584 B
withRouter.js 249 kB 250 kB ⚠️ +1.23 kB
withRouter.js gzip 66.9 kB 66.4 kB -525 B
Overall change ⚠️ +8.5 kB

…erver

# Conflicts:
#	packages/next-server/package.json
#	packages/next/package.json
@ijjk
Copy link
Member

ijjk commented Sep 4, 2019

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
buildDuration 21.3s 19.3s -2s
nodeModulesSize 42 MB 42 MB -26.3 kB
Client Bundles (main, webpack, commons) Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
main-HASH.js 18.3 kB 14.4 kB -3.84 kB
main-HASH.js gzip 6.67 kB 5.12 kB -1.55 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
Overall change -3.84 kB
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
main-HASH.module.js 16.6 kB 10.8 kB -5.76 kB
main-HASH.module.js gzip 6.39 kB 4.03 kB -2.37 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH.module.js gzip 746 B 746 B
Overall change -5.76 kB
Client Pages Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_app.js 1.83 kB 1.84 kB ⚠️ +2 B
_app.js gzip 884 B 885 B ⚠️ +1 B
_error.js 12.1 kB 5.36 kB -6.75 kB
_error.js gzip 4.76 kB 2.14 kB -2.62 kB
hooks.js 12.7 kB 12.7 kB
hooks.js gzip 4.81 kB 4.81 kB
index.js 343 B 343 B
index.js gzip 237 B 237 B
link.js 8.14 kB 9.93 kB ⚠️ +1.79 kB
link.js gzip 3.49 kB 4.13 kB ⚠️ +636 B
routerDirect.js 433 B 434 B ⚠️ +1 B
routerDirect.js gzip 296 B 296 B
withRouter.js 444 B 444 B
withRouter.js gzip 294 B 294 B
Overall change -4.96 kB
Client Pages Modern Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_app.module.js 1.73 kB 1.38 kB -349 B
_app.module.js gzip 840 B 695 B -145 B
_error.module.js 23.3 kB 6.21 kB -17.1 kB
_error.module.js gzip 8.62 kB 2.46 kB -6.16 kB
hooks.module.js 1.55 kB 1.55 kB
hooks.module.js gzip 804 B 805 B ⚠️ +1 B
index.module.js 319 B 319 B
index.module.js gzip 238 B 238 B
link.module.js 8.52 kB 14.6 kB ⚠️ +6.11 kB
link.module.js gzip 3.68 kB 5.98 kB ⚠️ +2.3 kB
routerDirect.module.js 419 B 420 B ⚠️ +1 B
routerDirect.module.js gzip 294 B 295 B ⚠️ +1 B
withRouter.module.js 429 B 430 B ⚠️ +1 B
withRouter.module.js gzip 293 B 293 B
Overall change -11.3 kB
Client Build Manifests
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_buildManifest.js 81 B 81 B
_buildManifest.js gzip 61 B 61 B
_buildManifest.module.js 81 B 81 B
_buildManifest.module.js gzip 61 B 61 B
Overall change
Rendered Page Sizes Overall increase ⚠️
zeit/next.js canary timneutkens/next.js add/move-next-server Change
index.html 3.75 kB 4.22 kB ⚠️ +474 B
index.html gzip 961 B 1.02 kB ⚠️ +63 B
link.html 3.79 kB 4.27 kB ⚠️ +474 B
link.html gzip 969 B 1.03 kB ⚠️ +63 B
withRouter.html 3.8 kB 4.28 kB ⚠️ +474 B
withRouter.html gzip 957 B 1.02 kB ⚠️ +63 B
Overall change ⚠️ +1.42 kB

Diffs

Diff for main-HASH.js
@@ -1,26 +1,68 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[11],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[12],{
 
-/***/ "/h46":
+/***/ "0IRE":
 /***/ (function(module, exports, __webpack_require__) {
 
-// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of
-__webpack_require__("cHUd")('Map');
+"use strict";
+
+Object.defineProperty(exports, "__esModule", { value: true });
+class DataManager {
+    constructor(data) {
+        this.data = new Map(data);
+    }
+    getData() {
+        return this.data;
+    }
+    get(key) {
+        return this.data.get(key);
+    }
+    set(key, value) {
+        this.data.set(key, value);
+    }
+    overwrite(data) {
+        this.data = new Map(data);
+    }
+}
+exports.DataManager = DataManager;
 
 
 /***/ }),
 
-/***/ "8iia":
+/***/ "8+Nu":
 /***/ (function(module, exports, __webpack_require__) {
 
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var classof = __webpack_require__("QMMT");
-var from = __webpack_require__("RRc/");
-module.exports = function (NAME) {
-  return function toJSON() {
-    if (classof(this) != NAME) throw TypeError(NAME + "#toJSON isn't generic");
-    return from(this);
-  };
-};
+var arrayWithHoles = __webpack_require__("8bdy");
+
+var iterableToArrayLimit = __webpack_require__("fprZ");
+
+var nonIterableRest = __webpack_require__("Bh1o");
+
+function _slicedToArray(arr, i) {
+  return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest();
+}
+
+module.exports = _slicedToArray;
+
+/***/ }),
+
+/***/ "8bdy":
+/***/ (function(module, exports, __webpack_require__) {
+
+var _Array$isArray = __webpack_require__("p0XB");
+
+function _arrayWithHoles(arr) {
+  if (_Array$isArray(arr)) return arr;
+}
+
+module.exports = _arrayWithHoles;
+
+/***/ }),
+
+/***/ "9BDd":
+/***/ (function(module, exports, __webpack_require__) {
+
+__webpack_require__("GvbO");
+module.exports = __webpack_require__("WEpk").Array.isArray;
 
 
 /***/ }),
@@ -42,26 +84,14 @@ window.next = next;
 
 /***/ }),
 
-/***/ "C2SN":
-/***/ (function(module, exports, __webpack_require__) {
+/***/ "Bh1o":
+/***/ (function(module, exports) {
 
-var isObject = __webpack_require__("93I4");
-var isArray = __webpack_require__("kAMH");
-var SPECIES = __webpack_require__("UWiX")('species');
-
-module.exports = function (original) {
-  var C;
-  if (isArray(original)) {
-    C = original.constructor;
-    // cross-realm fallback
-    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-    if (isObject(C)) {
-      C = C[SPECIES];
-      if (C === null) C = undefined;
-    }
-  } return C === undefined ? Array : C;
-};
+function _nonIterableRest() {
+  throw new TypeError("Invalid attempt to destructure non-iterable instance");
+}
 
+module.exports = _nonIterableRest;
 
 /***/ }),
 
@@ -208,57 +238,33 @@ function reactElementToDOM(_ref) {
 
 /***/ }),
 
-/***/ "HohS":
+/***/ "FYa8":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var runtimeConfig;
-
-exports["default"] = function () {
-  return runtimeConfig;
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+    result["default"] = mod;
+    return result;
 };
+Object.defineProperty(exports, "__esModule", { value: true });
+const React = __importStar(__webpack_require__("q1tI"));
+exports.HeadManagerContext = React.createContext(null);
 
-function setConfig(configValue) {
-  runtimeConfig = configValue;
-}
-
-exports.setConfig = setConfig;
 
 /***/ }),
 
-/***/ "IClC":
+/***/ "GvbO":
 /***/ (function(module, exports, __webpack_require__) {
 
-"use strict";
-
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-var __importStar = this && this.__importStar || function (mod) {
-  if (mod && mod.__esModule) return mod;
-  var result = {};
-  if (mod != null) for (var k in mod) {
-    if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-  }
-  result["default"] = mod;
-  return result;
-};
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
+// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)
+var $export = __webpack_require__("Y7ZC");
 
-var React = __importStar(__webpack_require__("q1tI"));
+$export($export.S, 'Array', { isArray: __webpack_require__("kAMH") });
 
-exports.HeadManagerContext = React.createContext(null);
 
 /***/ }),
 
@@ -305,25 +311,25 @@ var _headManager = _interopRequireDefault(__webpack_require__("DqTX"));
 
 var _router = __webpack_require__("nOHt");
 
-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 
 var _pageLoader = _interopRequireDefault(__webpack_require__("zmvN"));
 
-var envConfig = _interopRequireWildcard(__webpack_require__("PBx+"));
+var envConfig = _interopRequireWildcard(__webpack_require__("yLiY"));
 
-var _headManagerContext = __webpack_require__("IClC");
+var _headManagerContext = __webpack_require__("FYa8");
 
-var _dataManagerContext = __webpack_require__("qS9g");
+var _dataManagerContext = __webpack_require__("qArv");
 
-var _routerContext = __webpack_require__("9EOK");
+var _routerContext = __webpack_require__("qOIg");
 
-var _dataManager = __webpack_require__("cuFY");
+var _dataManager = __webpack_require__("0IRE");
 
 var _querystring = __webpack_require__("s4NR");
 
-var _isDynamic = __webpack_require__("kcOw");
+var _isDynamic = __webpack_require__("/jkW");
 /* global location */
 // Polyfill Promise globally
 // This is needed because Webpack's dynamic loading(common chunks) code
@@ -863,528 +869,112 @@ function _doRender() {
 
 /***/ }),
 
-/***/ "LX0d":
+/***/ "Rp86":
 /***/ (function(module, exports, __webpack_require__) {
 
-module.exports = __webpack_require__("UDep");
-
-/***/ }),
-
-/***/ "PBx+":
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__("HohS")
-
-
-/***/ }),
-
-/***/ "RRc/":
-/***/ (function(module, exports, __webpack_require__) {
-
-var forOf = __webpack_require__("oioR");
-
-module.exports = function (iter, ITERATOR) {
-  var result = [];
-  forOf(iter, false, result.push, result, ITERATOR);
-  return result;
-};
-
-
-/***/ }),
-
-/***/ "UDep":
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__("wgeU");
-__webpack_require__("FlQf");
 __webpack_require__("bBy9");
-__webpack_require__("g33z");
-__webpack_require__("XLbu");
-__webpack_require__("/h46");
-__webpack_require__("dVTT");
-module.exports = __webpack_require__("WEpk").Map;
-
-
-/***/ }),
-
-/***/ "V7Et":
-/***/ (function(module, exports, __webpack_require__) {
-
-// 0 -> Array#forEach
-// 1 -> Array#map
-// 2 -> Array#filter
-// 3 -> Array#some
-// 4 -> Array#every
-// 5 -> Array#find
-// 6 -> Array#findIndex
-var ctx = __webpack_require__("2GTP");
-var IObject = __webpack_require__("M1xp");
-var toObject = __webpack_require__("JB68");
-var toLength = __webpack_require__("tEej");
-var asc = __webpack_require__("v6xn");
-module.exports = function (TYPE, $create) {
-  var IS_MAP = TYPE == 1;
-  var IS_FILTER = TYPE == 2;
-  var IS_SOME = TYPE == 3;
-  var IS_EVERY = TYPE == 4;
-  var IS_FIND_INDEX = TYPE == 6;
-  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-  var create = $create || asc;
-  return function ($this, callbackfn, that) {
-    var O = toObject($this);
-    var self = IObject(O);
-    var f = ctx(callbackfn, that, 3);
-    var length = toLength(self.length);
-    var index = 0;
-    var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-    var val, res;
-    for (;length > index; index++) if (NO_HOLES || index in self) {
-      val = self[index];
-      res = f(val, index, O);
-      if (TYPE) {
-        if (IS_MAP) result[index] = res;   // map
-        else if (res) switch (TYPE) {
-          case 3: return true;             // some
-          case 5: return val;              // find
-          case 6: return index;            // findIndex
-          case 2: result.push(val);        // filter
-        } else if (IS_EVERY) return false; // every
-      }
-    }
-    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
-  };
-};
-
-
-/***/ }),
-
-/***/ "Wu5q":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var dP = __webpack_require__("2faE").f;
-var create = __webpack_require__("oVml");
-var redefineAll = __webpack_require__("XJU/");
-var ctx = __webpack_require__("2GTP");
-var anInstance = __webpack_require__("EXMj");
-var forOf = __webpack_require__("oioR");
-var $iterDefine = __webpack_require__("MPFp");
-var step = __webpack_require__("UO39");
-var setSpecies = __webpack_require__("TJWN");
-var DESCRIPTORS = __webpack_require__("jmDH");
-var fastKey = __webpack_require__("6/1s").fastKey;
-var validate = __webpack_require__("n3ko");
-var SIZE = DESCRIPTORS ? '_s' : 'size';
-
-var getEntry = function (that, key) {
-  // fast case
-  var index = fastKey(key);
-  var entry;
-  if (index !== 'F') return that._i[index];
-  // frozen object case
-  for (entry = that._f; entry; entry = entry.n) {
-    if (entry.k == key) return entry;
-  }
-};
-
-module.exports = {
-  getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {
-    var C = wrapper(function (that, iterable) {
-      anInstance(that, C, NAME, '_i');
-      that._t = NAME;         // collection type
-      that._i = create(null); // index
-      that._f = undefined;    // first entry
-      that._l = undefined;    // last entry
-      that[SIZE] = 0;         // size
-      if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
-    });
-    redefineAll(C.prototype, {
-      // 23.1.3.1 Map.prototype.clear()
-      // 23.2.3.2 Set.prototype.clear()
-      clear: function clear() {
-        for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {
-          entry.r = true;
-          if (entry.p) entry.p = entry.p.n = undefined;
-          delete data[entry.i];
-        }
-        that._f = that._l = undefined;
-        that[SIZE] = 0;
-      },
-      // 23.1.3.3 Map.prototype.delete(key)
-      // 23.2.3.4 Set.prototype.delete(value)
-      'delete': function (key) {
-        var that = validate(this, NAME);
-        var entry = getEntry(that, key);
-        if (entry) {
-          var next = entry.n;
-          var prev = entry.p;
-          delete that._i[entry.i];
-          entry.r = true;
-          if (prev) prev.n = next;
-          if (next) next.p = prev;
-          if (that._f == entry) that._f = next;
-          if (that._l == entry) that._l = prev;
-          that[SIZE]--;
-        } return !!entry;
-      },
-      // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
-      // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
-      forEach: function forEach(callbackfn /* , that = undefined */) {
-        validate(this, NAME);
-        var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
-        var entry;
-        while (entry = entry ? entry.n : this._f) {
-          f(entry.v, entry.k, this);
-          // revert to the last existing entry
-          while (entry && entry.r) entry = entry.p;
-        }
-      },
-      // 23.1.3.7 Map.prototype.has(key)
-      // 23.2.3.7 Set.prototype.has(value)
-      has: function has(key) {
-        return !!getEntry(validate(this, NAME), key);
-      }
-    });
-    if (DESCRIPTORS) dP(C.prototype, 'size', {
-      get: function () {
-        return validate(this, NAME)[SIZE];
-      }
-    });
-    return C;
-  },
-  def: function (that, key, value) {
-    var entry = getEntry(that, key);
-    var prev, index;
-    // change existing entry
-    if (entry) {
-      entry.v = value;
-    // create new entry
-    } else {
-      that._l = entry = {
-        i: index = fastKey(key, true), // <- index
-        k: key,                        // <- key
-        v: value,                      // <- value
-        p: prev = that._l,             // <- previous entry
-        n: undefined,                  // <- next entry
-        r: false                       // <- removed
-      };
-      if (!that._f) that._f = entry;
-      if (prev) prev.n = entry;
-      that[SIZE]++;
-      // add to index
-      if (index !== 'F') that._i[index] = entry;
-    } return that;
-  },
-  getEntry: getEntry,
-  setStrong: function (C, NAME, IS_MAP) {
-    // add .keys, .values, .entries, [@@iterator]
-    // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
-    $iterDefine(C, NAME, function (iterated, kind) {
-      this._t = validate(iterated, NAME); // target
-      this._k = kind;                     // kind
-      this._l = undefined;                // previous
-    }, function () {
-      var that = this;
-      var kind = that._k;
-      var entry = that._l;
-      // revert to the last existing entry
-      while (entry && entry.r) entry = entry.p;
-      // get next entry
-      if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {
-        // or finish the iteration
-        that._t = undefined;
-        return step(1);
-      }
-      // return step by kind
-      if (kind == 'keys') return step(0, entry.k);
-      if (kind == 'values') return step(0, entry.v);
-      return step(0, [entry.k, entry.v]);
-    }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
-
-    // add [@@species], 23.1.2.2, 23.2.2.2
-    setSpecies(NAME);
-  }
-};
+__webpack_require__("FlQf");
+module.exports = __webpack_require__("fXsU");
 
 
 /***/ }),
 
-/***/ "XLbu":
+/***/ "XXOK":
 /***/ (function(module, exports, __webpack_require__) {
 
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var $export = __webpack_require__("Y7ZC");
-
-$export($export.P + $export.R, 'Map', { toJSON: __webpack_require__("8iia")('Map') });
-
+module.exports = __webpack_require__("Rp86");
 
 /***/ }),
 
-/***/ "aPfg":
+/***/ "fXsU":
 /***/ (function(module, exports, __webpack_require__) {
 
-"use strict";
-
-// https://tc39.github.io/proposal-setmap-offrom/
-var $export = __webpack_require__("Y7ZC");
-var aFunction = __webpack_require__("eaoh");
-var ctx = __webpack_require__("2GTP");
-var forOf = __webpack_require__("oioR");
-
-module.exports = function (COLLECTION) {
-  $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {
-    var mapFn = arguments[1];
-    var mapping, A, n, cb;
-    aFunction(this);
-    mapping = mapFn !== undefined;
-    if (mapping) aFunction(mapFn);
-    if (source == undefined) return new this();
-    A = [];
-    if (mapping) {
-      n = 0;
-      cb = ctx(mapFn, arguments[2], 2);
-      forOf(source, false, function (nextItem) {
-        A.push(cb(nextItem, n++));
-      });
-    } else {
-      forOf(source, false, A.push, A);
-    }
-    return new this(A);
-  } });
+var anObject = __webpack_require__("5K7Z");
+var get = __webpack_require__("fNZA");
+module.exports = __webpack_require__("WEpk").getIterator = function (it) {
+  var iterFn = get(it);
+  if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');
+  return anObject(iterFn.call(it));
 };
 
 
 /***/ }),
 
-/***/ "cHUd":
+/***/ "fprZ":
 /***/ (function(module, exports, __webpack_require__) {
 
-"use strict";
-
-// https://tc39.github.io/proposal-setmap-offrom/
-var $export = __webpack_require__("Y7ZC");
-
-module.exports = function (COLLECTION) {
-  $export($export.S, COLLECTION, { of: function of() {
-    var length = arguments.length;
-    var A = new Array(length);
-    while (length--) A[length] = arguments[length];
-    return new this(A);
-  } });
-};
-
-
-/***/ }),
+var _getIterator = __webpack_require__("XXOK");
 
-/***/ "cuFY":
-/***/ (function(module, exports, __webpack_require__) {
+function _iterableToArrayLimit(arr, i) {
+  var _arr = [];
+  var _n = true;
+  var _d = false;
+  var _e = undefined;
 
-"use strict";
-
-
-var _Map = __webpack_require__("LX0d");
-
-var _classCallCheck = __webpack_require__("/HRN");
-
-var _createClass = __webpack_require__("WaGi");
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var DataManager =
-/*#__PURE__*/
-function () {
-  function DataManager(data) {
-    _classCallCheck(this, DataManager);
-
-    this.data = new _Map(data);
-  }
+  try {
+    for (var _i = _getIterator(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {
+      _arr.push(_s.value);
 
-  _createClass(DataManager, [{
-    key: "getData",
-    value: function getData() {
-      return this.data;
-    }
-  }, {
-    key: "get",
-    value: function get(key) {
-      return this.data.get(key);
-    }
-  }, {
-    key: "set",
-    value: function set(key, value) {
-      this.data.set(key, value);
+      if (i && _arr.length === i) break;
     }
-  }, {
-    key: "overwrite",
-    value: function overwrite(data) {
-      this.data = new _Map(data);
+  } catch (err) {
+    _d = true;
+    _e = err;
+  } finally {
+    try {
+      if (!_n && _i["return"] != null) _i["return"]();
+    } finally {
+      if (_d) throw _e;
     }
-  }]);
-
-  return DataManager;
-}();
-
-exports.DataManager = DataManager;
-
-/***/ }),
-
-/***/ "dVTT":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from
-__webpack_require__("aPfg")('Map');
-
-
-/***/ }),
-
-/***/ "g33z":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var strong = __webpack_require__("Wu5q");
-var validate = __webpack_require__("n3ko");
-var MAP = 'Map';
-
-// 23.1 Map Objects
-module.exports = __webpack_require__("raTm")(MAP, function (get) {
-  return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };
-}, {
-  // 23.1.3.6 Map.prototype.get(key)
-  get: function get(key) {
-    var entry = strong.getEntry(validate(this, MAP), key);
-    return entry && entry.v;
-  },
-  // 23.1.3.9 Map.prototype.set(key, value)
-  set: function set(key, value) {
-    return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);
   }
-}, strong, true);
-
-
-/***/ }),
-
-/***/ "n3ko":
-/***/ (function(module, exports, __webpack_require__) {
 
-var isObject = __webpack_require__("93I4");
-module.exports = function (it, TYPE) {
-  if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');
-  return it;
-};
+  return _arr;
+}
 
+module.exports = _iterableToArrayLimit;
 
 /***/ }),
 
-/***/ "qS9g":
+/***/ "p0XB":
 /***/ (function(module, exports, __webpack_require__) {
 
-"use strict";
-
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-var __importStar = this && this.__importStar || function (mod) {
-  if (mod && mod.__esModule) return mod;
-  var result = {};
-  if (mod != null) for (var k in mod) {
-    if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-  }
-  result["default"] = mod;
-  return result;
-};
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var React = __importStar(__webpack_require__("q1tI"));
-
-exports.DataManagerContext = React.createContext(null);
+module.exports = __webpack_require__("9BDd");
 
 /***/ }),
 
-/***/ "raTm":
+/***/ "qArv":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
-var global = __webpack_require__("5T2Y");
-var $export = __webpack_require__("Y7ZC");
-var meta = __webpack_require__("6/1s");
-var fails = __webpack_require__("KUxP");
-var hide = __webpack_require__("NegM");
-var redefineAll = __webpack_require__("XJU/");
-var forOf = __webpack_require__("oioR");
-var anInstance = __webpack_require__("EXMj");
-var isObject = __webpack_require__("93I4");
-var setToStringTag = __webpack_require__("RfKB");
-var dP = __webpack_require__("2faE").f;
-var each = __webpack_require__("V7Et")(0);
-var DESCRIPTORS = __webpack_require__("jmDH");
-
-module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
-  var Base = global[NAME];
-  var C = Base;
-  var ADDER = IS_MAP ? 'set' : 'add';
-  var proto = C && C.prototype;
-  var O = {};
-  if (!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {
-    new C().entries().next();
-  }))) {
-    // create collection constructor
-    C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);
-    redefineAll(C.prototype, methods);
-    meta.NEED = true;
-  } else {
-    C = wrapper(function (target, iterable) {
-      anInstance(target, C, NAME, '_c');
-      target._c = new Base();
-      if (iterable != undefined) forOf(iterable, IS_MAP, target[ADDER], target);
-    });
-    each('add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON'.split(','), function (KEY) {
-      var IS_ADDER = KEY == 'add' || KEY == 'set';
-      if (KEY in proto && !(IS_WEAK && KEY == 'clear')) hide(C.prototype, KEY, function (a, b) {
-        anInstance(this, C, KEY);
-        if (!IS_ADDER && IS_WEAK && !isObject(a)) return KEY == 'get' ? undefined : false;
-        var result = this._c[KEY](a === 0 ? 0 : a, b);
-        return IS_ADDER ? this : result;
-      });
-    });
-    IS_WEAK || dP(C.prototype, 'size', {
-      get: function () {
-        return this._c.size;
-      }
-    });
-  }
-
-  setToStringTag(C, NAME);
-
-  O[NAME] = C;
-  $export($export.G + $export.W + $export.F, O);
-
-  if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);
-
-  return C;
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+    result["default"] = mod;
+    return result;
 };
+Object.defineProperty(exports, "__esModule", { value: true });
+const React = __importStar(__webpack_require__("q1tI"));
+exports.DataManagerContext = React.createContext(null);
 
 
 /***/ }),
 
-/***/ "v6xn":
+/***/ "yLiY":
 /***/ (function(module, exports, __webpack_require__) {
 
-// 9.4.2.3 ArraySpeciesCreate(originalArray, length)
-var speciesConstructor = __webpack_require__("C2SN");
+"use strict";
 
-module.exports = function (original, length) {
-  return new (speciesConstructor(original))(length);
+Object.defineProperty(exports, "__esModule", { value: true });
+let runtimeConfig;
+exports.default = () => {
+    return runtimeConfig;
 };
+function setConfig(configValue) {
+    runtimeConfig = configValue;
+}
+exports.setConfig = setConfig;
 
 
 /***/ }),
@@ -1410,7 +1000,7 @@ var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("+oT+"));
 
 var _promise = _interopRequireDefault(__webpack_require__("eVuF"));
 
-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 /* global document, window */
 
 
@@ -1741,4 +1331,4 @@ exports["default"] = PageLoader;
 
 /***/ })
 
-},[["BMP1",0,1,2,3]]]);
\ No newline at end of file
+},[["BMP1",0,1,2,3,4]]]);
\ No newline at end of file
Diff for main-HASH.module.js
@@ -1,131 +1,29 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[10],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[11],{
 
-/***/ "+oT+":
+/***/ "0IRE":
 /***/ (function(module, exports, __webpack_require__) {
 
-var _Promise = __webpack_require__("eVuF");
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
-  try {
-    var info = gen[key](arg);
-    var value = info.value;
-  } catch (error) {
-    reject(error);
-    return;
-  }
-
-  if (info.done) {
-    resolve(value);
-  } else {
-    _Promise.resolve(value).then(_next, _throw);
-  }
-}
-
-function _asyncToGenerator(fn) {
-  return function () {
-    var self = this,
-        args = arguments;
-    return new _Promise(function (resolve, reject) {
-      var gen = fn.apply(self, args);
-
-      function _next(value) {
-        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
-      }
-
-      function _throw(err) {
-        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
-      }
+"use strict";
 
-      _next(undefined);
-    });
-  };
+Object.defineProperty(exports, "__esModule", { value: true });
+class DataManager {
+    constructor(data) {
+        this.data = new Map(data);
+    }
+    getData() {
+        return this.data;
+    }
+    get(key) {
+        return this.data.get(key);
+    }
+    set(key, value) {
+        this.data.set(key, value);
+    }
+    overwrite(data) {
+        this.data = new Map(data);
+    }
 }
-
-module.exports = _asyncToGenerator;
-
-/***/ }),
-
-/***/ "/h46":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of
-__webpack_require__("cHUd")('Map');
-
-
-/***/ }),
-
-/***/ "6/1s":
-/***/ (function(module, exports, __webpack_require__) {
-
-var META = __webpack_require__("YqAc")('meta');
-var isObject = __webpack_require__("93I4");
-var has = __webpack_require__("B+OT");
-var setDesc = __webpack_require__("2faE").f;
-var id = 0;
-var isExtensible = Object.isExtensible || function () {
-  return true;
-};
-var FREEZE = !__webpack_require__("KUxP")(function () {
-  return isExtensible(Object.preventExtensions({}));
-});
-var setMeta = function (it) {
-  setDesc(it, META, { value: {
-    i: 'O' + ++id, // object ID
-    w: {}          // weak collections IDs
-  } });
-};
-var fastKey = function (it, create) {
-  // return primitive with prefix
-  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
-  if (!has(it, META)) {
-    // can't set metadata to uncaught frozen object
-    if (!isExtensible(it)) return 'F';
-    // not necessary to add metadata
-    if (!create) return 'E';
-    // add missing metadata
-    setMeta(it);
-  // return object ID
-  } return it[META].i;
-};
-var getWeak = function (it, create) {
-  if (!has(it, META)) {
-    // can't set metadata to uncaught frozen object
-    if (!isExtensible(it)) return true;
-    // not necessary to add metadata
-    if (!create) return false;
-    // add missing metadata
-    setMeta(it);
-  // return hash weak collections IDs
-  } return it[META].w;
-};
-// add metadata on freeze-family methods calling
-var onFreeze = function (it) {
-  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);
-  return it;
-};
-var meta = module.exports = {
-  KEY: META,
-  NEED: false,
-  fastKey: fastKey,
-  getWeak: getWeak,
-  onFreeze: onFreeze
-};
-
-
-/***/ }),
-
-/***/ "8iia":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var classof = __webpack_require__("QMMT");
-var from = __webpack_require__("RRc/");
-module.exports = function (NAME) {
-  return function toJSON() {
-    if (classof(this) != NAME) throw TypeError(NAME + "#toJSON isn't generic");
-    return from(this);
-  };
-};
+exports.DataManager = DataManager;
 
 
 /***/ }),
@@ -147,29 +45,6 @@ window.next = next;
 
 /***/ }),
 
-/***/ "C2SN":
-/***/ (function(module, exports, __webpack_require__) {
-
-var isObject = __webpack_require__("93I4");
-var isArray = __webpack_require__("kAMH");
-var SPECIES = __webpack_require__("UWiX")('species');
-
-module.exports = function (original) {
-  var C;
-  if (isArray(original)) {
-    C = original.constructor;
-    // cross-realm fallback
-    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-    if (isObject(C)) {
-      C = C[SPECIES];
-      if (C === null) C = undefined;
-    }
-  } return C === undefined ? Array : C;
-};
-
-
-/***/ }),
-
 /***/ "DqTX":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -296,56 +171,23 @@ function reactElementToDOM(_ref) {
 
 /***/ }),
 
-/***/ "HohS":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-let runtimeConfig;
-
-exports.default = () => {
-  return runtimeConfig;
-};
-
-function setConfig(configValue) {
-  runtimeConfig = configValue;
-}
-
-exports.setConfig = setConfig;
-
-/***/ }),
-
-/***/ "IClC":
+/***/ "FYa8":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-var __importStar = this && this.__importStar || function (mod) {
-  if (mod && mod.__esModule) return mod;
-  var result = {};
-  if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-  result["default"] = mod;
-  return result;
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+    result["default"] = mod;
+    return result;
 };
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
+Object.defineProperty(exports, "__esModule", { value: true });
 const React = __importStar(__webpack_require__("q1tI"));
-
 exports.HeadManagerContext = React.createContext(null);
 
+
 /***/ }),
 
 /***/ "IKlv":
@@ -377,25 +219,25 @@ var _headManager = _interopRequireDefault(__webpack_require__("DqTX"));
 
 var _router = __webpack_require__("nOHt");
 
-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 
 var _pageLoader = _interopRequireDefault(__webpack_require__("zmvN"));
 
-var envConfig = _interopRequireWildcard(__webpack_require__("PBx+"));
+var envConfig = _interopRequireWildcard(__webpack_require__("yLiY"));
 
-var _headManagerContext = __webpack_require__("IClC");
+var _headManagerContext = __webpack_require__("FYa8");
 
-var _dataManagerContext = __webpack_require__("qS9g");
+var _dataManagerContext = __webpack_require__("qArv");
 
-var _routerContext = __webpack_require__("9EOK");
+var _routerContext = __webpack_require__("qOIg");
 
-var _dataManager = __webpack_require__("cuFY");
+var _dataManager = __webpack_require__("0IRE");
 
 var _querystring = __webpack_require__("s4NR");
 
-var _isDynamic = __webpack_require__("kcOw");
+var _isDynamic = __webpack_require__("/jkW");
 /* global location */
 // Polyfill Promise globally
 // This is needed because Webpack's dynamic loading(common chunks) code
@@ -785,523 +627,39 @@ function _doRender() {
 
 /***/ }),
 
-/***/ "LX0d":
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__("UDep");
-
-/***/ }),
-
-/***/ "PBx+":
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__("HohS")
-
-
-/***/ }),
-
-/***/ "RRc/":
-/***/ (function(module, exports, __webpack_require__) {
-
-var forOf = __webpack_require__("oioR");
-
-module.exports = function (iter, ITERATOR) {
-  var result = [];
-  forOf(iter, false, result.push, result, ITERATOR);
-  return result;
-};
-
-
-/***/ }),
-
-/***/ "UDep":
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__("wgeU");
-__webpack_require__("FlQf");
-__webpack_require__("bBy9");
-__webpack_require__("g33z");
-__webpack_require__("XLbu");
-__webpack_require__("/h46");
-__webpack_require__("dVTT");
-module.exports = __webpack_require__("WEpk").Map;
-
-
-/***/ }),
-
-/***/ "V7Et":
-/***/ (function(module, exports, __webpack_require__) {
-
-// 0 -> Array#forEach
-// 1 -> Array#map
-// 2 -> Array#filter
-// 3 -> Array#some
-// 4 -> Array#every
-// 5 -> Array#find
-// 6 -> Array#findIndex
-var ctx = __webpack_require__("2GTP");
-var IObject = __webpack_require__("M1xp");
-var toObject = __webpack_require__("JB68");
-var toLength = __webpack_require__("tEej");
-var asc = __webpack_require__("v6xn");
-module.exports = function (TYPE, $create) {
-  var IS_MAP = TYPE == 1;
-  var IS_FILTER = TYPE == 2;
-  var IS_SOME = TYPE == 3;
-  var IS_EVERY = TYPE == 4;
-  var IS_FIND_INDEX = TYPE == 6;
-  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-  var create = $create || asc;
-  return function ($this, callbackfn, that) {
-    var O = toObject($this);
-    var self = IObject(O);
-    var f = ctx(callbackfn, that, 3);
-    var length = toLength(self.length);
-    var index = 0;
-    var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-    var val, res;
-    for (;length > index; index++) if (NO_HOLES || index in self) {
-      val = self[index];
-      res = f(val, index, O);
-      if (TYPE) {
-        if (IS_MAP) result[index] = res;   // map
-        else if (res) switch (TYPE) {
-          case 3: return true;             // some
-          case 5: return val;              // find
-          case 6: return index;            // findIndex
-          case 2: result.push(val);        // filter
-        } else if (IS_EVERY) return false; // every
-      }
-    }
-    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
-  };
-};
-
-
-/***/ }),
-
-/***/ "Wu5q":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var dP = __webpack_require__("2faE").f;
-var create = __webpack_require__("oVml");
-var redefineAll = __webpack_require__("XJU/");
-var ctx = __webpack_require__("2GTP");
-var anInstance = __webpack_require__("EXMj");
-var forOf = __webpack_require__("oioR");
-var $iterDefine = __webpack_require__("MPFp");
-var step = __webpack_require__("UO39");
-var setSpecies = __webpack_require__("TJWN");
-var DESCRIPTORS = __webpack_require__("jmDH");
-var fastKey = __webpack_require__("6/1s").fastKey;
-var validate = __webpack_require__("n3ko");
-var SIZE = DESCRIPTORS ? '_s' : 'size';
-
-var getEntry = function (that, key) {
-  // fast case
-  var index = fastKey(key);
-  var entry;
-  if (index !== 'F') return that._i[index];
-  // frozen object case
-  for (entry = that._f; entry; entry = entry.n) {
-    if (entry.k == key) return entry;
-  }
-};
-
-module.exports = {
-  getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {
-    var C = wrapper(function (that, iterable) {
-      anInstance(that, C, NAME, '_i');
-      that._t = NAME;         // collection type
-      that._i = create(null); // index
-      that._f = undefined;    // first entry
-      that._l = undefined;    // last entry
-      that[SIZE] = 0;         // size
-      if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
-    });
-    redefineAll(C.prototype, {
-      // 23.1.3.1 Map.prototype.clear()
-      // 23.2.3.2 Set.prototype.clear()
-      clear: function clear() {
-        for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {
-          entry.r = true;
-          if (entry.p) entry.p = entry.p.n = undefined;
-          delete data[entry.i];
-        }
-        that._f = that._l = undefined;
-        that[SIZE] = 0;
-      },
-      // 23.1.3.3 Map.prototype.delete(key)
-      // 23.2.3.4 Set.prototype.delete(value)
-      'delete': function (key) {
-        var that = validate(this, NAME);
-        var entry = getEntry(that, key);
-        if (entry) {
-          var next = entry.n;
-          var prev = entry.p;
-          delete that._i[entry.i];
-          entry.r = true;
-          if (prev) prev.n = next;
-          if (next) next.p = prev;
-          if (that._f == entry) that._f = next;
-          if (that._l == entry) that._l = prev;
-          that[SIZE]--;
-        } return !!entry;
-      },
-      // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
-      // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
-      forEach: function forEach(callbackfn /* , that = undefined */) {
-        validate(this, NAME);
-        var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
-        var entry;
-        while (entry = entry ? entry.n : this._f) {
-          f(entry.v, entry.k, this);
-          // revert to the last existing entry
-          while (entry && entry.r) entry = entry.p;
-        }
-      },
-      // 23.1.3.7 Map.prototype.has(key)
-      // 23.2.3.7 Set.prototype.has(value)
-      has: function has(key) {
-        return !!getEntry(validate(this, NAME), key);
-      }
-    });
-    if (DESCRIPTORS) dP(C.prototype, 'size', {
-      get: function () {
-        return validate(this, NAME)[SIZE];
-      }
-    });
-    return C;
-  },
-  def: function (that, key, value) {
-    var entry = getEntry(that, key);
-    var prev, index;
-    // change existing entry
-    if (entry) {
-      entry.v = value;
-    // create new entry
-    } else {
-      that._l = entry = {
-        i: index = fastKey(key, true), // <- index
-        k: key,                        // <- key
-        v: value,                      // <- value
-        p: prev = that._l,             // <- previous entry
-        n: undefined,                  // <- next entry
-        r: false                       // <- removed
-      };
-      if (!that._f) that._f = entry;
-      if (prev) prev.n = entry;
-      that[SIZE]++;
-      // add to index
-      if (index !== 'F') that._i[index] = entry;
-    } return that;
-  },
-  getEntry: getEntry,
-  setStrong: function (C, NAME, IS_MAP) {
-    // add .keys, .values, .entries, [@@iterator]
-    // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
-    $iterDefine(C, NAME, function (iterated, kind) {
-      this._t = validate(iterated, NAME); // target
-      this._k = kind;                     // kind
-      this._l = undefined;                // previous
-    }, function () {
-      var that = this;
-      var kind = that._k;
-      var entry = that._l;
-      // revert to the last existing entry
-      while (entry && entry.r) entry = entry.p;
-      // get next entry
-      if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {
-        // or finish the iteration
-        that._t = undefined;
-        return step(1);
-      }
-      // return step by kind
-      if (kind == 'keys') return step(0, entry.k);
-      if (kind == 'values') return step(0, entry.v);
-      return step(0, [entry.k, entry.v]);
-    }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
-
-    // add [@@species], 23.1.2.2, 23.2.2.2
-    setSpecies(NAME);
-  }
-};
-
-
-/***/ }),
-
-/***/ "XLbu":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var $export = __webpack_require__("Y7ZC");
-
-$export($export.P + $export.R, 'Map', { toJSON: __webpack_require__("8iia")('Map') });
-
-
-/***/ }),
-
-/***/ "aPfg":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-// https://tc39.github.io/proposal-setmap-offrom/
-var $export = __webpack_require__("Y7ZC");
-var aFunction = __webpack_require__("eaoh");
-var ctx = __webpack_require__("2GTP");
-var forOf = __webpack_require__("oioR");
-
-module.exports = function (COLLECTION) {
-  $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {
-    var mapFn = arguments[1];
-    var mapping, A, n, cb;
-    aFunction(this);
-    mapping = mapFn !== undefined;
-    if (mapping) aFunction(mapFn);
-    if (source == undefined) return new this();
-    A = [];
-    if (mapping) {
-      n = 0;
-      cb = ctx(mapFn, arguments[2], 2);
-      forOf(source, false, function (nextItem) {
-        A.push(cb(nextItem, n++));
-      });
-    } else {
-      forOf(source, false, A.push, A);
-    }
-    return new this(A);
-  } });
-};
-
-
-/***/ }),
-
-/***/ "cHUd":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-// https://tc39.github.io/proposal-setmap-offrom/
-var $export = __webpack_require__("Y7ZC");
-
-module.exports = function (COLLECTION) {
-  $export($export.S, COLLECTION, { of: function of() {
-    var length = arguments.length;
-    var A = new Array(length);
-    while (length--) A[length] = arguments[length];
-    return new this(A);
-  } });
-};
-
-
-/***/ }),
-
-/***/ "cuFY":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _Map = __webpack_require__("LX0d");
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-class DataManager {
-  constructor(data) {
-    this.data = new _Map(data);
-  }
-
-  getData() {
-    return this.data;
-  }
-
-  get(key) {
-    return this.data.get(key);
-  }
-
-  set(key, value) {
-    this.data.set(key, value);
-  }
-
-  overwrite(data) {
-    this.data = new _Map(data);
-  }
-
-}
-
-exports.DataManager = DataManager;
-
-/***/ }),
-
-/***/ "dVTT":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from
-__webpack_require__("aPfg")('Map');
-
-
-/***/ }),
-
-/***/ "g33z":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var strong = __webpack_require__("Wu5q");
-var validate = __webpack_require__("n3ko");
-var MAP = 'Map';
-
-// 23.1 Map Objects
-module.exports = __webpack_require__("raTm")(MAP, function (get) {
-  return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };
-}, {
-  // 23.1.3.6 Map.prototype.get(key)
-  get: function get(key) {
-    var entry = strong.getEntry(validate(this, MAP), key);
-    return entry && entry.v;
-  },
-  // 23.1.3.9 Map.prototype.set(key, value)
-  set: function set(key, value) {
-    return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);
-  }
-}, strong, true);
-
-
-/***/ }),
-
-/***/ "kAMH":
-/***/ (function(module, exports, __webpack_require__) {
-
-// 7.2.2 IsArray(argument)
-var cof = __webpack_require__("a0xu");
-module.exports = Array.isArray || function isArray(arg) {
-  return cof(arg) == 'Array';
-};
-
-
-/***/ }),
-
-/***/ "n3ko":
-/***/ (function(module, exports, __webpack_require__) {
-
-var isObject = __webpack_require__("93I4");
-module.exports = function (it, TYPE) {
-  if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');
-  return it;
-};
-
-
-/***/ }),
-
-/***/ "qS9g":
+/***/ "qArv":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-var __importStar = this && this.__importStar || function (mod) {
-  if (mod && mod.__esModule) return mod;
-  var result = {};
-  if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-  result["default"] = mod;
-  return result;
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+    result["default"] = mod;
+    return result;
 };
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
+Object.defineProperty(exports, "__esModule", { value: true });
 const React = __importStar(__webpack_require__("q1tI"));
-
 exports.DataManagerContext = React.createContext(null);
 
-/***/ }),
-
-/***/ "raTm":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var global = __webpack_require__("5T2Y");
-var $export = __webpack_require__("Y7ZC");
-var meta = __webpack_require__("6/1s");
-var fails = __webpack_require__("KUxP");
-var hide = __webpack_require__("NegM");
-var redefineAll = __webpack_require__("XJU/");
-var forOf = __webpack_require__("oioR");
-var anInstance = __webpack_require__("EXMj");
-var isObject = __webpack_require__("93I4");
-var setToStringTag = __webpack_require__("RfKB");
-var dP = __webpack_require__("2faE").f;
-var each = __webpack_require__("V7Et")(0);
-var DESCRIPTORS = __webpack_require__("jmDH");
-
-module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
-  var Base = global[NAME];
-  var C = Base;
-  var ADDER = IS_MAP ? 'set' : 'add';
-  var proto = C && C.prototype;
-  var O = {};
-  if (!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {
-    new C().entries().next();
-  }))) {
-    // create collection constructor
-    C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);
-    redefineAll(C.prototype, methods);
-    meta.NEED = true;
-  } else {
-    C = wrapper(function (target, iterable) {
-      anInstance(target, C, NAME, '_c');
-      target._c = new Base();
-      if (iterable != undefined) forOf(iterable, IS_MAP, target[ADDER], target);
-    });
-    each('add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON'.split(','), function (KEY) {
-      var IS_ADDER = KEY == 'add' || KEY == 'set';
-      if (KEY in proto && !(IS_WEAK && KEY == 'clear')) hide(C.prototype, KEY, function (a, b) {
-        anInstance(this, C, KEY);
-        if (!IS_ADDER && IS_WEAK && !isObject(a)) return KEY == 'get' ? undefined : false;
-        var result = this._c[KEY](a === 0 ? 0 : a, b);
-        return IS_ADDER ? this : result;
-      });
-    });
-    IS_WEAK || dP(C.prototype, 'size', {
-      get: function () {
-        return this._c.size;
-      }
-    });
-  }
-
-  setToStringTag(C, NAME);
-
-  O[NAME] = C;
-  $export($export.G + $export.W + $export.F, O);
-
-  if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);
-
-  return C;
-};
-
 
 /***/ }),
 
-/***/ "v6xn":
+/***/ "yLiY":
 /***/ (function(module, exports, __webpack_require__) {
 
-// 9.4.2.3 ArraySpeciesCreate(originalArray, length)
-var speciesConstructor = __webpack_require__("C2SN");
+"use strict";
 
-module.exports = function (original, length) {
-  return new (speciesConstructor(original))(length);
+Object.defineProperty(exports, "__esModule", { value: true });
+let runtimeConfig;
+exports.default = () => {
+    return runtimeConfig;
 };
+function setConfig(configValue) {
+    runtimeConfig = configValue;
+}
+exports.setConfig = setConfig;
 
 
 /***/ }),
@@ -1321,7 +679,7 @@ var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("+oT+"));
 
 var _promise = _interopRequireDefault(__webpack_require__("eVuF"));
 
-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 /* global document, window */
 
 
@@ -1568,4 +926,4 @@ exports.default = PageLoader;
 
 /***/ })
 
-},[["BMP1",0,1,2]]]);
\ No newline at end of file
+},[["BMP1",0,1,2,3]]]);
\ No newline at end of file
Diff for _app.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[4],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[5],{
 
 /***/ "B5Ud":
 /***/ (function(module, exports, __webpack_require__) {
@@ -33,7 +33,7 @@ var _react = _interopRequireDefault(__webpack_require__("q1tI"));
 
 var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 
 exports.AppInitialProps = _utils.AppInitialProps;
 
@@ -200,4 +200,4 @@ function createUrl(router) {
 
 /***/ })
 
-},[["e9+W",0,1,2,3]]]);
\ No newline at end of file
+},[["e9+W",0,1,2,3,4]]]);
\ No newline at end of file
Diff for _error.js

Diff too large to display

Diff for hooks.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[6],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[7],{
 
 /***/ "+MDD":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
Diff for index.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[7],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[8],{
 
 /***/ "RNiq":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
Diff for link.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[8],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[9],{
 
 /***/ "/h46":
 /***/ (function(module, exports, __webpack_require__) {
@@ -48,6 +48,18 @@ module.exports = function (original) {
 
 /***/ }),
 
+/***/ "EXMj":
+/***/ (function(module, exports) {
+
+module.exports = function (it, Constructor, name, forbiddenField) {
+  if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {
+    throw TypeError(name + ': incorrect invocation!');
+  } return it;
+};
+
+
+/***/ }),
+
 /***/ "LX0d":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -55,6 +67,21 @@ module.exports = __webpack_require__("UDep");
 
 /***/ }),
 
+/***/ "NwJ3":
+/***/ (function(module, exports, __webpack_require__) {
+
+// check on default Array iterator
+var Iterators = __webpack_require__("SBuE");
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var ArrayProto = Array.prototype;
+
+module.exports = function (it) {
+  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
+};
+
+
+/***/ }),
+
 /***/ "ObF3":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
@@ -82,6 +109,36 @@ aLink.getInitialProps = function () {
 
 /***/ }),
 
+/***/ "QMMT":
+/***/ (function(module, exports, __webpack_require__) {
+
+// getting tag from 19.1.3.6 Object.prototype.toString()
+var cof = __webpack_require__("a0xu");
+var TAG = __webpack_require__("UWiX")('toStringTag');
+// ES3 wrong here
+var ARG = cof(function () { return arguments; }()) == 'Arguments';
+
+// fallback for IE11 Script Access Denied error
+var tryGet = function (it, key) {
+  try {
+    return it[key];
+  } catch (e) { /* empty */ }
+};
+
+module.exports = function (it) {
+  var O, T, B;
+  return it === undefined ? 'Undefined' : it === null ? 'Null'
+    // @@toStringTag case
+    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T
+    // builtinTag case
+    : ARG ? cof(O)
+    // ES3 arguments fallback
+    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
+};
+
+
+/***/ }),
+
 /***/ "RRc/":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -96,6 +153,28 @@ module.exports = function (iter, ITERATOR) {
 
 /***/ }),
 
+/***/ "TJWN":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var global = __webpack_require__("5T2Y");
+var core = __webpack_require__("WEpk");
+var dP = __webpack_require__("2faE");
+var DESCRIPTORS = __webpack_require__("jmDH");
+var SPECIES = __webpack_require__("UWiX")('species');
+
+module.exports = function (KEY) {
+  var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];
+  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {
+    configurable: true,
+    get: function () { return this; }
+  });
+};
+
+
+/***/ }),
+
 /***/ "UDep":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -327,6 +406,20 @@ module.exports = {
 
 /***/ }),
 
+/***/ "XJU/":
+/***/ (function(module, exports, __webpack_require__) {
+
+var hide = __webpack_require__("NegM");
+module.exports = function (target, src, safe) {
+  for (var key in src) {
+    if (safe && target[key]) target[key] = src[key];
+    else hide(target, key, src[key]);
+  } return target;
+};
+
+
+/***/ }),
+
 /***/ "XLbu":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -435,9 +528,9 @@ var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
 var _router = _interopRequireDefault(__webpack_require__("nOHt"));
 
-var _rewriteUrlForExport = __webpack_require__("KA3u");
+var _rewriteUrlForExport = __webpack_require__("P5f7");
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 /* global __NEXT_DATA__ */
 
 
@@ -704,6 +797,21 @@ __webpack_require__("aPfg")('Map');
 
 /***/ }),
 
+/***/ "fNZA":
+/***/ (function(module, exports, __webpack_require__) {
+
+var classof = __webpack_require__("QMMT");
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var Iterators = __webpack_require__("SBuE");
+module.exports = __webpack_require__("WEpk").getIteratorMethod = function (it) {
+  if (it != undefined) return it[ITERATOR]
+    || it['@@iterator']
+    || Iterators[classof(it)];
+};
+
+
+/***/ }),
+
 /***/ "g33z":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -743,6 +851,38 @@ module.exports = function (it, TYPE) {
 
 /***/ }),
 
+/***/ "oioR":
+/***/ (function(module, exports, __webpack_require__) {
+
+var ctx = __webpack_require__("2GTP");
+var call = __webpack_require__("sNwI");
+var isArrayIter = __webpack_require__("NwJ3");
+var anObject = __webpack_require__("5K7Z");
+var toLength = __webpack_require__("tEej");
+var getIterFn = __webpack_require__("fNZA");
+var BREAK = {};
+var RETURN = {};
+var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {
+  var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);
+  var f = ctx(fn, that, entries ? 2 : 1);
+  var index = 0;
+  var length, step, iterator, result;
+  if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');
+  // fast case for arrays with default iterator
+  if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {
+    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
+    if (result === BREAK || result === RETURN) return result;
+  } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {
+    result = call(iterator, f, step.value, entries);
+    if (result === BREAK || result === RETURN) return result;
+  }
+};
+exports.BREAK = BREAK;
+exports.RETURN = RETURN;
+
+
+/***/ }),
+
 /***/ "raTm":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -810,6 +950,25 @@ module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
 
 /***/ }),
 
+/***/ "sNwI":
+/***/ (function(module, exports, __webpack_require__) {
+
+// call something on iterator step with safe closing on error
+var anObject = __webpack_require__("5K7Z");
+module.exports = function (iterator, fn, value, entries) {
+  try {
+    return entries ? fn(anObject(value)[0], value[1]) : fn(value);
+  // 7.4.6 IteratorClose(iterator, completion)
+  } catch (e) {
+    var ret = iterator['return'];
+    if (ret !== undefined) anObject(ret.call(iterator));
+    throw e;
+  }
+};
+
+
+/***/ }),
+
 /***/ "v6xn":
 /***/ (function(module, exports, __webpack_require__) {
Diff for routerDirect.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[9],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[10],{
 
 /***/ "LtRI":
 /***/ (function(module, exports, __webpack_require__) {
Diff for withRouter.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[10],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[11],{
 
 /***/ "0Hlz":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
Diff for _app.module.js
@@ -1,49 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[3],{
-
-/***/ "+oT+":
-/***/ (function(module, exports, __webpack_require__) {
-
-var _Promise = __webpack_require__("eVuF");
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
-  try {
-    var info = gen[key](arg);
-    var value = info.value;
-  } catch (error) {
-    reject(error);
-    return;
-  }
-
-  if (info.done) {
-    resolve(value);
-  } else {
-    _Promise.resolve(value).then(_next, _throw);
-  }
-}
-
-function _asyncToGenerator(fn) {
-  return function () {
-    var self = this,
-        args = arguments;
-    return new _Promise(function (resolve, reject) {
-      var gen = fn.apply(self, args);
-
-      function _next(value) {
-        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
-      }
-
-      function _throw(err) {
-        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
-      }
-
-      _next(undefined);
-    });
-  };
-}
-
-module.exports = _asyncToGenerator;
-
-/***/ }),
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[4],{
 
 /***/ "B5Ud":
 /***/ (function(module, exports, __webpack_require__) {
@@ -66,7 +21,7 @@ var _react = _interopRequireDefault(__webpack_require__("q1tI"));
 
 var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 
 exports.AppInitialProps = _utils.AppInitialProps;
 
@@ -205,4 +160,4 @@ function createUrl(router) {
 
 /***/ })
 
-},[["e9+W",0,1,2]]]);
\ No newline at end of file
+},[["e9+W",0,1,2,3]]]);
\ No newline at end of file
Diff for _error.module.js

Diff too large to display

Diff for hooks.module.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[5],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[6],{
 
 /***/ "+MDD":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
Diff for index.module.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[6],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[7],{
 
 /***/ "RNiq":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
Diff for link.module.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[7],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[8],{
 
 /***/ "/h46":
 /***/ (function(module, exports, __webpack_require__) {
@@ -108,6 +108,43 @@ module.exports = function (original) {
 
 /***/ }),
 
+/***/ "EXMj":
+/***/ (function(module, exports) {
+
+module.exports = function (it, Constructor, name, forbiddenField) {
+  if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {
+    throw TypeError(name + ': incorrect invocation!');
+  } return it;
+};
+
+
+/***/ }),
+
+/***/ "FlQf":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var $at = __webpack_require__("ccE7")(true);
+
+// 21.1.3.27 String.prototype[@@iterator]()
+__webpack_require__("MPFp")(String, 'String', function (iterated) {
+  this._t = String(iterated); // target
+  this._i = 0;                // next index
+// 21.1.5.2.1 %StringIteratorPrototype%.next()
+}, function () {
+  var O = this._t;
+  var index = this._i;
+  var point;
+  if (index >= O.length) return { value: undefined, done: true };
+  point = $at(O, index);
+  this._i += point.length;
+  return { value: point, done: false };
+});
+
+
+/***/ }),
+
 /***/ "LX0d":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -115,6 +152,107 @@ module.exports = __webpack_require__("UDep");
 
 /***/ }),
 
+/***/ "MPFp":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var LIBRARY = __webpack_require__("uOPS");
+var $export = __webpack_require__("Y7ZC");
+var redefine = __webpack_require__("kTiW");
+var hide = __webpack_require__("NegM");
+var Iterators = __webpack_require__("SBuE");
+var $iterCreate = __webpack_require__("j2DC");
+var setToStringTag = __webpack_require__("RfKB");
+var getPrototypeOf = __webpack_require__("U+KD");
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`
+var FF_ITERATOR = '@@iterator';
+var KEYS = 'keys';
+var VALUES = 'values';
+
+var returnThis = function () { return this; };
+
+module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {
+  $iterCreate(Constructor, NAME, next);
+  var getMethod = function (kind) {
+    if (!BUGGY && kind in proto) return proto[kind];
+    switch (kind) {
+      case KEYS: return function keys() { return new Constructor(this, kind); };
+      case VALUES: return function values() { return new Constructor(this, kind); };
+    } return function entries() { return new Constructor(this, kind); };
+  };
+  var TAG = NAME + ' Iterator';
+  var DEF_VALUES = DEFAULT == VALUES;
+  var VALUES_BUG = false;
+  var proto = Base.prototype;
+  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];
+  var $default = $native || getMethod(DEFAULT);
+  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;
+  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;
+  var methods, key, IteratorPrototype;
+  // Fix native
+  if ($anyNative) {
+    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));
+    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {
+      // Set @@toStringTag to native iterators
+      setToStringTag(IteratorPrototype, TAG, true);
+      // fix for some old engines
+      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);
+    }
+  }
+  // fix Array#{values, @@iterator}.name in V8 / FF
+  if (DEF_VALUES && $native && $native.name !== VALUES) {
+    VALUES_BUG = true;
+    $default = function values() { return $native.call(this); };
+  }
+  // Define iterator
+  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {
+    hide(proto, ITERATOR, $default);
+  }
+  // Plug for library
+  Iterators[NAME] = $default;
+  Iterators[TAG] = returnThis;
+  if (DEFAULT) {
+    methods = {
+      values: DEF_VALUES ? $default : getMethod(VALUES),
+      keys: IS_SET ? $default : getMethod(KEYS),
+      entries: $entries
+    };
+    if (FORCED) for (key in methods) {
+      if (!(key in proto)) redefine(proto, key, methods[key]);
+    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
+  }
+  return methods;
+};
+
+
+/***/ }),
+
+/***/ "MvwC":
+/***/ (function(module, exports, __webpack_require__) {
+
+var document = __webpack_require__("5T2Y").document;
+module.exports = document && document.documentElement;
+
+
+/***/ }),
+
+/***/ "NwJ3":
+/***/ (function(module, exports, __webpack_require__) {
+
+// check on default Array iterator
+var Iterators = __webpack_require__("SBuE");
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var ArrayProto = Array.prototype;
+
+module.exports = function (it) {
+  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
+};
+
+
+/***/ }),
+
 /***/ "ObF3":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
@@ -140,6 +278,36 @@ aLink.getInitialProps = () => ({});
 
 /***/ }),
 
+/***/ "QMMT":
+/***/ (function(module, exports, __webpack_require__) {
+
+// getting tag from 19.1.3.6 Object.prototype.toString()
+var cof = __webpack_require__("a0xu");
+var TAG = __webpack_require__("UWiX")('toStringTag');
+// ES3 wrong here
+var ARG = cof(function () { return arguments; }()) == 'Arguments';
+
+// fallback for IE11 Script Access Denied error
+var tryGet = function (it, key) {
+  try {
+    return it[key];
+  } catch (e) { /* empty */ }
+};
+
+module.exports = function (it) {
+  var O, T, B;
+  return it === undefined ? 'Undefined' : it === null ? 'Null'
+    // @@toStringTag case
+    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T
+    // builtinTag case
+    : ARG ? cof(O)
+    // ES3 arguments fallback
+    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
+};
+
+
+/***/ }),
+
 /***/ "RRc/":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -154,6 +322,70 @@ module.exports = function (iter, ITERATOR) {
 
 /***/ }),
 
+/***/ "RfKB":
+/***/ (function(module, exports, __webpack_require__) {
+
+var def = __webpack_require__("2faE").f;
+var has = __webpack_require__("B+OT");
+var TAG = __webpack_require__("UWiX")('toStringTag');
+
+module.exports = function (it, tag, stat) {
+  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });
+};
+
+
+/***/ }),
+
+/***/ "SBuE":
+/***/ (function(module, exports) {
+
+module.exports = {};
+
+
+/***/ }),
+
+/***/ "TJWN":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var global = __webpack_require__("5T2Y");
+var core = __webpack_require__("WEpk");
+var dP = __webpack_require__("2faE");
+var DESCRIPTORS = __webpack_require__("jmDH");
+var SPECIES = __webpack_require__("UWiX")('species');
+
+module.exports = function (KEY) {
+  var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];
+  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {
+    configurable: true,
+    get: function () { return this; }
+  });
+};
+
+
+/***/ }),
+
+/***/ "U+KD":
+/***/ (function(module, exports, __webpack_require__) {
+
+// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
+var has = __webpack_require__("B+OT");
+var toObject = __webpack_require__("JB68");
+var IE_PROTO = __webpack_require__("VVlx")('IE_PROTO');
+var ObjectProto = Object.prototype;
+
+module.exports = Object.getPrototypeOf || function (O) {
+  O = toObject(O);
+  if (has(O, IE_PROTO)) return O[IE_PROTO];
+  if (typeof O.constructor == 'function' && O instanceof O.constructor) {
+    return O.constructor.prototype;
+  } return O instanceof Object ? ObjectProto : null;
+};
+
+
+/***/ }),
+
 /***/ "UDep":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -169,6 +401,34 @@ module.exports = __webpack_require__("WEpk").Map;
 
 /***/ }),
 
+/***/ "UO39":
+/***/ (function(module, exports) {
+
+module.exports = function (done, value) {
+  return { value: value, done: !!done };
+};
+
+
+/***/ }),
+
+/***/ "UWiX":
+/***/ (function(module, exports, __webpack_require__) {
+
+var store = __webpack_require__("29s/")('wks');
+var uid = __webpack_require__("YqAc");
+var Symbol = __webpack_require__("5T2Y").Symbol;
+var USE_SYMBOL = typeof Symbol == 'function';
+
+var $exports = module.exports = function (name) {
+  return store[name] || (store[name] =
+    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));
+};
+
+$exports.store = store;
+
+
+/***/ }),
+
 /***/ "V7Et":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -385,6 +645,20 @@ module.exports = {
 
 /***/ }),
 
+/***/ "XJU/":
+/***/ (function(module, exports, __webpack_require__) {
+
+var hide = __webpack_require__("NegM");
+module.exports = function (target, src, safe) {
+  for (var key in src) {
+    if (safe && target[key]) target[key] = src[key];
+    else hide(target, key, src[key]);
+  } return target;
+};
+
+
+/***/ }),
+
 /***/ "XLbu":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -440,6 +714,32 @@ module.exports = function (COLLECTION) {
 
 /***/ }),
 
+/***/ "bBy9":
+/***/ (function(module, exports, __webpack_require__) {
+
+__webpack_require__("w2d+");
+var global = __webpack_require__("5T2Y");
+var hide = __webpack_require__("NegM");
+var Iterators = __webpack_require__("SBuE");
+var TO_STRING_TAG = __webpack_require__("UWiX")('toStringTag');
+
+var DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +
+  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +
+  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +
+  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +
+  'TextTrackList,TouchList').split(',');
+
+for (var i = 0; i < DOMIterables.length; i++) {
+  var NAME = DOMIterables[i];
+  var Collection = global[NAME];
+  var proto = Collection && Collection.prototype;
+  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);
+  Iterators[NAME] = Iterators.Array;
+}
+
+
+/***/ }),
+
 /***/ "cHUd":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -483,9 +783,9 @@ var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
 var _router = _interopRequireDefault(__webpack_require__("nOHt"));
 
-var _rewriteUrlForExport = __webpack_require__("KA3u");
+var _rewriteUrlForExport = __webpack_require__("P5f7");
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 /* global __NEXT_DATA__ */
 
 
@@ -731,6 +1031,30 @@ exports.default = _default;
 
 /***/ }),
 
+/***/ "ccE7":
+/***/ (function(module, exports, __webpack_require__) {
+
+var toInteger = __webpack_require__("Ojgd");
+var defined = __webpack_require__("Jes0");
+// true  -> String#at
+// false -> String#codePointAt
+module.exports = function (TO_STRING) {
+  return function (that, pos) {
+    var s = String(defined(that));
+    var i = toInteger(pos);
+    var l = s.length;
+    var a, b;
+    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;
+    a = s.charCodeAt(i);
+    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff
+      ? TO_STRING ? s.charAt(i) : a
+      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
+  };
+};
+
+
+/***/ }),
+
 /***/ "dVTT":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -740,6 +1064,41 @@ __webpack_require__("aPfg")('Map');
 
 /***/ }),
 
+/***/ "fNZA":
+/***/ (function(module, exports, __webpack_require__) {
+
+var classof = __webpack_require__("QMMT");
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var Iterators = __webpack_require__("SBuE");
+module.exports = __webpack_require__("WEpk").getIteratorMethod = function (it) {
+  if (it != undefined) return it[ITERATOR]
+    || it['@@iterator']
+    || Iterators[classof(it)];
+};
+
+
+/***/ }),
+
+/***/ "fpC5":
+/***/ (function(module, exports, __webpack_require__) {
+
+var dP = __webpack_require__("2faE");
+var anObject = __webpack_require__("5K7Z");
+var getKeys = __webpack_require__("w6GO");
+
+module.exports = __webpack_require__("jmDH") ? Object.defineProperties : function defineProperties(O, Properties) {
+  anObject(O);
+  var keys = getKeys(Properties);
+  var length = keys.length;
+  var i = 0;
+  var P;
+  while (length > i) dP.f(O, P = keys[i++], Properties[P]);
+  return O;
+};
+
+
+/***/ }),
+
 /***/ "g33z":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -767,6 +1126,35 @@ module.exports = __webpack_require__("raTm")(MAP, function (get) {
 
 /***/ }),
 
+/***/ "hDam":
+/***/ (function(module, exports) {
+
+module.exports = function () { /* empty */ };
+
+
+/***/ }),
+
+/***/ "j2DC":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var create = __webpack_require__("oVml");
+var descriptor = __webpack_require__("rr1i");
+var setToStringTag = __webpack_require__("RfKB");
+var IteratorPrototype = {};
+
+// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
+__webpack_require__("NegM")(IteratorPrototype, __webpack_require__("UWiX")('iterator'), function () { return this; });
+
+module.exports = function (Constructor, NAME, next) {
+  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });
+  setToStringTag(Constructor, NAME + ' Iterator');
+};
+
+
+/***/ }),
+
 /***/ "kAMH":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -779,6 +1167,14 @@ module.exports = Array.isArray || function isArray(arg) {
 
 /***/ }),
 
+/***/ "kTiW":
+/***/ (function(module, exports, __webpack_require__) {
+
+module.exports = __webpack_require__("NegM");
+
+
+/***/ }),
+
 /***/ "n3ko":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -791,6 +1187,86 @@ module.exports = function (it, TYPE) {
 
 /***/ }),
 
+/***/ "oVml":
+/***/ (function(module, exports, __webpack_require__) {
+
+// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
+var anObject = __webpack_require__("5K7Z");
+var dPs = __webpack_require__("fpC5");
+var enumBugKeys = __webpack_require__("FpHa");
+var IE_PROTO = __webpack_require__("VVlx")('IE_PROTO');
+var Empty = function () { /* empty */ };
+var PROTOTYPE = 'prototype';
+
+// Create object with fake `null` prototype: use iframe Object with cleared prototype
+var createDict = function () {
+  // Thrash, waste and sodomy: IE GC bug
+  var iframe = __webpack_require__("Hsns")('iframe');
+  var i = enumBugKeys.length;
+  var lt = '<';
+  var gt = '>';
+  var iframeDocument;
+  iframe.style.display = 'none';
+  __webpack_require__("MvwC").appendChild(iframe);
+  iframe.src = 'javascript:'; // eslint-disable-line no-script-url
+  // createDict = iframe.contentWindow.Object;
+  // html.removeChild(iframe);
+  iframeDocument = iframe.contentWindow.document;
+  iframeDocument.open();
+  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);
+  iframeDocument.close();
+  createDict = iframeDocument.F;
+  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];
+  return createDict();
+};
+
+module.exports = Object.create || function create(O, Properties) {
+  var result;
+  if (O !== null) {
+    Empty[PROTOTYPE] = anObject(O);
+    result = new Empty();
+    Empty[PROTOTYPE] = null;
+    // add "__proto__" for Object.getPrototypeOf polyfill
+    result[IE_PROTO] = O;
+  } else result = createDict();
+  return Properties === undefined ? result : dPs(result, Properties);
+};
+
+
+/***/ }),
+
+/***/ "oioR":
+/***/ (function(module, exports, __webpack_require__) {
+
+var ctx = __webpack_require__("2GTP");
+var call = __webpack_require__("sNwI");
+var isArrayIter = __webpack_require__("NwJ3");
+var anObject = __webpack_require__("5K7Z");
+var toLength = __webpack_require__("tEej");
+var getIterFn = __webpack_require__("fNZA");
+var BREAK = {};
+var RETURN = {};
+var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {
+  var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);
+  var f = ctx(fn, that, entries ? 2 : 1);
+  var index = 0;
+  var length, step, iterator, result;
+  if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');
+  // fast case for arrays with default iterator
+  if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {
+    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
+    if (result === BREAK || result === RETURN) return result;
+  } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {
+    result = call(iterator, f, step.value, entries);
+    if (result === BREAK || result === RETURN) return result;
+  }
+};
+exports.BREAK = BREAK;
+exports.RETURN = RETURN;
+
+
+/***/ }),
+
 /***/ "raTm":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -858,6 +1334,25 @@ module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
 
 /***/ }),
 
+/***/ "sNwI":
+/***/ (function(module, exports, __webpack_require__) {
+
+// call something on iterator step with safe closing on error
+var anObject = __webpack_require__("5K7Z");
+module.exports = function (iterator, fn, value, entries) {
+  try {
+    return entries ? fn(anObject(value)[0], value[1]) : fn(value);
+  // 7.4.6 IteratorClose(iterator, completion)
+  } catch (e) {
+    var ret = iterator['return'];
+    if (ret !== undefined) anObject(ret.call(iterator));
+    throw e;
+  }
+};
+
+
+/***/ }),
+
 /***/ "v6xn":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -869,6 +1364,55 @@ module.exports = function (original, length) {
 };
 
 
+/***/ }),
+
+/***/ "w2d+":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var addToUnscopables = __webpack_require__("hDam");
+var step = __webpack_require__("UO39");
+var Iterators = __webpack_require__("SBuE");
+var toIObject = __webpack_require__("NsO/");
+
+// 22.1.3.4 Array.prototype.entries()
+// 22.1.3.13 Array.prototype.keys()
+// 22.1.3.29 Array.prototype.values()
+// 22.1.3.30 Array.prototype[@@iterator]()
+module.exports = __webpack_require__("MPFp")(Array, 'Array', function (iterated, kind) {
+  this._t = toIObject(iterated); // target
+  this._i = 0;                   // next index
+  this._k = kind;                // kind
+// 22.1.5.2.1 %ArrayIteratorPrototype%.next()
+}, function () {
+  var O = this._t;
+  var kind = this._k;
+  var index = this._i++;
+  if (!O || index >= O.length) {
+    this._t = undefined;
+    return step(1);
+  }
+  if (kind == 'keys') return step(0, index);
+  if (kind == 'values') return step(0, O[index]);
+  return step(0, [index, O[index]]);
+}, 'values');
+
+// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
+Iterators.Arguments = Iterators.Array;
+
+addToUnscopables('keys');
+addToUnscopables('values');
+addToUnscopables('entries');
+
+
+/***/ }),
+
+/***/ "wgeU":
+/***/ (function(module, exports) {
+
+
+
 /***/ })
 
 },[["V8Sf",0,1,2]]]);
\ No newline at end of file
Diff for routerDirect.module.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[8],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[9],{
 
 /***/ "LtRI":
 /***/ (function(module, exports, __webpack_require__) {
Diff for withRouter.module.js
@@ -1,4 +1,4 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[9],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[10],{
 
 /***/ "0Hlz":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
Diff for index.html
@@ -6,19 +6,21 @@
         <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"
         />
         <meta name="next-head-count" content="2" />
-        <link rel="preload" href="/_next/static/2uQAoMdI5NOFeByGQNrTO/pages/index.module.js"
+        <link rel="preload" href="/_next/static/S0f9c9VF9Z1zgYY-QNDEm/pages/index.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/2uQAoMdI5NOFeByGQNrTO/pages/_app.module.js"
+        <link rel="preload" href="/_next/static/S0f9c9VF9Z1zgYY-QNDEm/pages/_app.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-4fda372135fe9d471709.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-ad663b91827c032d10af.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/a67f0049fa6dfc6e1036d925d1db70e1fd8540b8.c659a74b6088e6ac1abe.module.js"
+        <link rel="preload" href="/_next/static/chunks/95500b141df8aa1ca26b43c093de798f4eb1cf3f.4d964fd8388c4017eabc.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/2uQAoMdI5NOFeByGQNrTO/_buildManifest.module.js"
+        <link rel="preload" href="/_next/static/chunks/c78ab2e0b8081af5f0946e356e49949af29703c8.3f4abea1185a064f32e0.module.js"
+        as="script" crossorigin="anonymous" />
+        <link rel="preload" href="/_next/static/S0f9c9VF9Z1zgYY-QNDEm/_buildManifest.module.js"
         as="script" crossorigin="anonymous" />
     </head>
     
@@ -26,40 +28,44 @@
         <div id="__next">Hello world 👋</div>
         <script id="__NEXT_DATA__" type="application/json"
         crossorigin="anonymous">
-            {"dataManager":"[]","props":{"pageProps":{}},"page":"/","query":{},"buildId":"2uQAoMdI5NOFeByGQNrTO"}
+            {"dataManager":"[]","props":{"pageProps":{}},"page":"/","query":{},"buildId":"S0f9c9VF9Z1zgYY-QNDEm"}
         </script>
         <script crossorigin="anonymous" nomodule="">
             !function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();
         </script>
-        <script async="" data-next-page="/" src="/_next/static/2uQAoMdI5NOFeByGQNrTO/pages/index.js"
+        <script async="" data-next-page="/" src="/_next/static/S0f9c9VF9Z1zgYY-QNDEm/pages/index.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/" src="/_next/static/2uQAoMdI5NOFeByGQNrTO/pages/index.module.js"
+        <script async="" data-next-page="/" src="/_next/static/S0f9c9VF9Z1zgYY-QNDEm/pages/index.module.js"
         crossorigin="anonymous" type="module"></script>
-        <script async="" data-next-page="/_app" src="/_next/static/2uQAoMdI5NOFeByGQNrTO/pages/_app.js"
+        <script async="" data-next-page="/_app" src="/_next/static/S0f9c9VF9Z1zgYY-QNDEm/pages/_app.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/_app" src="/_next/static/2uQAoMdI5NOFeByGQNrTO/pages/_app.module.js"
+        <script async="" data-next-page="/_app" src="/_next/static/S0f9c9VF9Z1zgYY-QNDEm/pages/_app.module.js"
         crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/runtime/webpack-a470c2a25bcb4d5a8ec0.js"
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-1cc0d9a8d8b262f2947c.js"
+        <script src="/_next/static/runtime/main-180584bec36c54d411f9.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-4fda372135fe9d471709.module.js"
+        <script src="/_next/static/runtime/main-ad663b91827c032d10af.module.js"
         async="" crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.js"
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/6258c0846a4ae18f615e7f627cf256a3ae452fbd.155621535702fe040780.js"
+        <script src="/_next/static/chunks/56d8975f544eb551835a650a8d5b997a8a6a0151.51a842c47a941d029b87.js"
+        async="" crossorigin="anonymous" nomodule=""></script>
+        <script src="/_next/static/chunks/95500b141df8aa1ca26b43c093de798f4eb1cf3f.8ec578cd8cb4c871a95f.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/a67f0049fa6dfc6e1036d925d1db70e1fd8540b8.f6f7599a2edf91d8366a.js"
+        <script src="/_next/static/chunks/95500b141df8aa1ca26b43c093de798f4eb1cf3f.4d964fd8388c4017eabc.module.js"
+        async="" crossorigin="anonymous" type="module"></script>
+        <script src="/_next/static/chunks/c78ab2e0b8081af5f0946e356e49949af29703c8.883a35a4990b7a95e5bc.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/a67f0049fa6dfc6e1036d925d1db70e1fd8540b8.c659a74b6088e6ac1abe.module.js"
+        <script src="/_next/static/chunks/c78ab2e0b8081af5f0946e356e49949af29703c8.3f4abea1185a064f32e0.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/2uQAoMdI5NOFeByGQNrTO/_buildManifest.js"
+        <script src="/_next/static/S0f9c9VF9Z1zgYY-QNDEm/_buildManifest.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/2uQAoMdI5NOFeByGQNrTO/_buildManifest.module.js"
+        <script src="/_next/static/S0f9c9VF9Z1zgYY-QNDEm/_buildManifest.module.js"
         async="" crossorigin="anonymous" type="module"></script>
     </body>
Diff for link.html
@@ -6,19 +6,21 @@
         <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"
         />
         <meta name="next-head-count" content="2" />
-        <link rel="preload" href="/_next/static/2uQAoMdI5NOFeByGQNrTO/pages/link.module.js"
+        <link rel="preload" href="/_next/static/S0f9c9VF9Z1zgYY-QNDEm/pages/link.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/2uQAoMdI5NOFeByGQNrTO/pages/_app.module.js"
+        <link rel="preload" href="/_next/static/S0f9c9VF9Z1zgYY-QNDEm/pages/_app.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/a67f0049fa6dfc6e1036d925d1db70e1fd8540b8.c659a74b6088e6ac1abe.module.js"
+        <link rel="preload" href="/_next/static/chunks/95500b141df8aa1ca26b43c093de798f4eb1cf3f.4d964fd8388c4017eabc.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-4fda372135fe9d471709.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-ad663b91827c032d10af.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/2uQAoMdI5NOFeByGQNrTO/_buildManifest.module.js"
+        <link rel="preload" href="/_next/static/chunks/c78ab2e0b8081af5f0946e356e49949af29703c8.3f4abea1185a064f32e0.module.js"
+        as="script" crossorigin="anonymous" />
+        <link rel="preload" href="/_next/static/S0f9c9VF9Z1zgYY-QNDEm/_buildManifest.module.js"
         as="script" crossorigin="anonymous" />
     </head>
     
@@ -29,18 +31,18 @@
             </div>
         </div>
         <script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">
-            {"dataManager":"[]","props":{"pageProps":{}},"page":"/link","query":{},"buildId":"2uQAoMdI5NOFeByGQNrTO"}
+            {"dataManager":"[]","props":{"pageProps":{}},"page":"/link","query":{},"buildId":"S0f9c9VF9Z1zgYY-QNDEm"}
         </script>
         <script crossorigin="anonymous" nomodule="">
             !function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();
         </script>
-        <script async="" data-next-page="/link" src="/_next/static/2uQAoMdI5NOFeByGQNrTO/pages/link.js"
+        <script async="" data-next-page="/link" src="/_next/static/S0f9c9VF9Z1zgYY-QNDEm/pages/link.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/link" src="/_next/static/2uQAoMdI5NOFeByGQNrTO/pages/link.module.js"
+        <script async="" data-next-page="/link" src="/_next/static/S0f9c9VF9Z1zgYY-QNDEm/pages/link.module.js"
         crossorigin="anonymous" type="module"></script>
-        <script async="" data-next-page="/_app" src="/_next/static/2uQAoMdI5NOFeByGQNrTO/pages/_app.js"
+        <script async="" data-next-page="/_app" src="/_next/static/S0f9c9VF9Z1zgYY-QNDEm/pages/_app.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/_app" src="/_next/static/2uQAoMdI5NOFeByGQNrTO/pages/_app.module.js"
+        <script async="" data-next-page="/_app" src="/_next/static/S0f9c9VF9Z1zgYY-QNDEm/pages/_app.module.js"
         crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/runtime/webpack-a470c2a25bcb4d5a8ec0.js"
         async="" crossorigin="anonymous" nomodule=""></script>
@@ -50,19 +52,23 @@
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/6258c0846a4ae18f615e7f627cf256a3ae452fbd.155621535702fe040780.js"
+        <script src="/_next/static/chunks/56d8975f544eb551835a650a8d5b997a8a6a0151.51a842c47a941d029b87.js"
+        async="" crossorigin="anonymous" nomodule=""></script>
+        <script src="/_next/static/chunks/95500b141df8aa1ca26b43c093de798f4eb1cf3f.8ec578cd8cb4c871a95f.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/a67f0049fa6dfc6e1036d925d1db70e1fd8540b8.f6f7599a2edf91d8366a.js"
+        <script src="/_next/static/chunks/95500b141df8aa1ca26b43c093de798f4eb1cf3f.4d964fd8388c4017eabc.module.js"
+        async="" crossorigin="anonymous" type="module"></script>
+        <script src="/_next/static/runtime/main-180584bec36c54d411f9.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/a67f0049fa6dfc6e1036d925d1db70e1fd8540b8.c659a74b6088e6ac1abe.module.js"
+        <script src="/_next/static/runtime/main-ad663b91827c032d10af.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-1cc0d9a8d8b262f2947c.js"
+        <script src="/_next/static/chunks/c78ab2e0b8081af5f0946e356e49949af29703c8.883a35a4990b7a95e5bc.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-4fda372135fe9d471709.module.js"
+        <script src="/_next/static/chunks/c78ab2e0b8081af5f0946e356e49949af29703c8.3f4abea1185a064f32e0.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/2uQAoMdI5NOFeByGQNrTO/_buildManifest.js"
+        <script src="/_next/static/S0f9c9VF9Z1zgYY-QNDEm/_buildManifest.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/2uQAoMdI5NOFeByGQNrTO/_buildManifest.module.js"
+        <script src="/_next/static/S0f9c9VF9Z1zgYY-QNDEm/_buildManifest.module.js"
         async="" crossorigin="anonymous" type="module"></script>
     </body>
Diff for withRouter.html
@@ -6,19 +6,21 @@
         <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"
         />
         <meta name="next-head-count" content="2" />
-        <link rel="preload" href="/_next/static/2uQAoMdI5NOFeByGQNrTO/pages/withRouter.module.js"
+        <link rel="preload" href="/_next/static/S0f9c9VF9Z1zgYY-QNDEm/pages/withRouter.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/2uQAoMdI5NOFeByGQNrTO/pages/_app.module.js"
+        <link rel="preload" href="/_next/static/S0f9c9VF9Z1zgYY-QNDEm/pages/_app.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/a67f0049fa6dfc6e1036d925d1db70e1fd8540b8.c659a74b6088e6ac1abe.module.js"
+        <link rel="preload" href="/_next/static/chunks/95500b141df8aa1ca26b43c093de798f4eb1cf3f.4d964fd8388c4017eabc.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-4fda372135fe9d471709.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-ad663b91827c032d10af.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/2uQAoMdI5NOFeByGQNrTO/_buildManifest.module.js"
+        <link rel="preload" href="/_next/static/chunks/c78ab2e0b8081af5f0946e356e49949af29703c8.3f4abea1185a064f32e0.module.js"
+        as="script" crossorigin="anonymous" />
+        <link rel="preload" href="/_next/static/S0f9c9VF9Z1zgYY-QNDEm/_buildManifest.module.js"
         as="script" crossorigin="anonymous" />
     </head>
     
@@ -27,18 +29,18 @@
             <div>I use withRouter</div>
         </div>
         <script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">
-            {"dataManager":"[]","props":{"pageProps":{}},"page":"/withRouter","query":{},"buildId":"2uQAoMdI5NOFeByGQNrTO"}
+            {"dataManager":"[]","props":{"pageProps":{}},"page":"/withRouter","query":{},"buildId":"S0f9c9VF9Z1zgYY-QNDEm"}
         </script>
         <script crossorigin="anonymous" nomodule="">
             !function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();
         </script>
-        <script async="" data-next-page="/withRouter" src="/_next/static/2uQAoMdI5NOFeByGQNrTO/pages/withRouter.js"
+        <script async="" data-next-page="/withRouter" src="/_next/static/S0f9c9VF9Z1zgYY-QNDEm/pages/withRouter.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/withRouter" src="/_next/static/2uQAoMdI5NOFeByGQNrTO/pages/withRouter.module.js"
+        <script async="" data-next-page="/withRouter" src="/_next/static/S0f9c9VF9Z1zgYY-QNDEm/pages/withRouter.module.js"
         crossorigin="anonymous" type="module"></script>
-        <script async="" data-next-page="/_app" src="/_next/static/2uQAoMdI5NOFeByGQNrTO/pages/_app.js"
+        <script async="" data-next-page="/_app" src="/_next/static/S0f9c9VF9Z1zgYY-QNDEm/pages/_app.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/_app" src="/_next/static/2uQAoMdI5NOFeByGQNrTO/pages/_app.module.js"
+        <script async="" data-next-page="/_app" src="/_next/static/S0f9c9VF9Z1zgYY-QNDEm/pages/_app.module.js"
         crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/runtime/webpack-a470c2a25bcb4d5a8ec0.js"
         async="" crossorigin="anonymous" nomodule=""></script>
@@ -48,19 +50,23 @@
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/6258c0846a4ae18f615e7f627cf256a3ae452fbd.155621535702fe040780.js"
+        <script src="/_next/static/chunks/56d8975f544eb551835a650a8d5b997a8a6a0151.51a842c47a941d029b87.js"
+        async="" crossorigin="anonymous" nomodule=""></script>
+        <script src="/_next/static/chunks/95500b141df8aa1ca26b43c093de798f4eb1cf3f.8ec578cd8cb4c871a95f.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/a67f0049fa6dfc6e1036d925d1db70e1fd8540b8.f6f7599a2edf91d8366a.js"
+        <script src="/_next/static/chunks/95500b141df8aa1ca26b43c093de798f4eb1cf3f.4d964fd8388c4017eabc.module.js"
+        async="" crossorigin="anonymous" type="module"></script>
+        <script src="/_next/static/runtime/main-180584bec36c54d411f9.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/a67f0049fa6dfc6e1036d925d1db70e1fd8540b8.c659a74b6088e6ac1abe.module.js"
+        <script src="/_next/static/runtime/main-ad663b91827c032d10af.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-1cc0d9a8d8b262f2947c.js"
+        <script src="/_next/static/chunks/c78ab2e0b8081af5f0946e356e49949af29703c8.883a35a4990b7a95e5bc.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-4fda372135fe9d471709.module.js"
+        <script src="/_next/static/chunks/c78ab2e0b8081af5f0946e356e49949af29703c8.3f4abea1185a064f32e0.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/2uQAoMdI5NOFeByGQNrTO/_buildManifest.js"
+        <script src="/_next/static/S0f9c9VF9Z1zgYY-QNDEm/_buildManifest.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/2uQAoMdI5NOFeByGQNrTO/_buildManifest.module.js"
+        <script src="/_next/static/S0f9c9VF9Z1zgYY-QNDEm/_buildManifest.module.js"
         async="" crossorigin="anonymous" type="module"></script>
     </body>

Serverless Mode (Increase detected ⚠️)
General Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
buildDuration 22.9s 19.8s -3.1s
nodeModulesSize 42 MB 42 MB -26.3 kB
Client Bundles (main, webpack, commons) Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
main-HASH.js 18.3 kB 14.4 kB -3.84 kB
main-HASH.js gzip 6.67 kB 5.12 kB -1.55 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
Overall change -3.84 kB
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
main-HASH.module.js 16.6 kB 10.8 kB -5.76 kB
main-HASH.module.js gzip 6.39 kB 4.03 kB -2.37 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH.module.js gzip 746 B 746 B
Overall change -5.76 kB
Client Pages Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_app.js 1.83 kB 1.84 kB ⚠️ +2 B
_app.js gzip 884 B 885 B ⚠️ +1 B
_error.js 12.1 kB 5.36 kB -6.75 kB
_error.js gzip 4.76 kB 2.14 kB -2.62 kB
hooks.js 12.7 kB 12.7 kB
hooks.js gzip 4.81 kB 4.81 kB
index.js 343 B 343 B
index.js gzip 237 B 237 B
link.js 8.14 kB 9.93 kB ⚠️ +1.79 kB
link.js gzip 3.49 kB 4.13 kB ⚠️ +635 B
routerDirect.js 433 B 434 B ⚠️ +1 B
routerDirect.js gzip 296 B 296 B
withRouter.js 444 B 444 B
withRouter.js gzip 294 B 294 B
Overall change -4.96 kB
Client Pages Modern Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_app.module.js 1.73 kB 1.38 kB -349 B
_app.module.js gzip 840 B 695 B -145 B
_error.module.js 23.3 kB 6.21 kB -17.1 kB
_error.module.js gzip 8.62 kB 2.46 kB -6.16 kB
hooks.module.js 1.55 kB 1.55 kB
hooks.module.js gzip 804 B 805 B ⚠️ +1 B
index.module.js 319 B 319 B
index.module.js gzip 238 B 238 B
link.module.js 8.52 kB 14.6 kB ⚠️ +6.11 kB
link.module.js gzip 3.68 kB 5.98 kB ⚠️ +2.3 kB
routerDirect.module.js 419 B 419 B
routerDirect.module.js gzip 294 B 294 B
withRouter.module.js 429 B 430 B ⚠️ +1 B
withRouter.module.js gzip 293 B 293 B
Overall change -11.3 kB
Client Build Manifests
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_buildManifest.js 81 B 81 B
_buildManifest.js gzip 61 B 61 B
_buildManifest.module.js 81 B 81 B
_buildManifest.module.js gzip 61 B 61 B
Overall change
Serverless bundles Overall increase ⚠️
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_error.js 248 kB 249 kB ⚠️ +1.27 kB
_error.js gzip 66.4 kB 66 kB -385 B
hooks.html 3.86 kB 4.34 kB ⚠️ +474 B
hooks.html gzip 986 B 1.05 kB ⚠️ +66 B
index.js 248 kB 250 kB ⚠️ +1.23 kB
index.js gzip 66.9 kB 66.3 kB -563 B
link.js 256 kB 259 kB ⚠️ +3.06 kB
link.js gzip 68.9 kB 68.8 kB -158 B
routerDirect.js 249 kB 250 kB ⚠️ +1.23 kB
routerDirect.js gzip 66.8 kB 66.4 kB -436 B
withRouter.js 249 kB 250 kB ⚠️ +1.23 kB
withRouter.js gzip 66.8 kB 66.4 kB -381 B
Overall change ⚠️ +8.5 kB

@ijjk
Copy link
Member

ijjk commented Sep 4, 2019

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
buildDuration 22.2s 19.6s -2.5s
nodeModulesSize 42 MB 42 MB -26.3 kB
Client Bundles (main, webpack, commons) Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
main-HASH.js 18.3 kB 14.4 kB -3.84 kB
main-HASH.js gzip 6.67 kB 5.12 kB -1.55 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
Overall change -3.84 kB
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
main-HASH.module.js 16.6 kB 10.8 kB -5.76 kB
main-HASH.module.js gzip 6.39 kB 4.03 kB -2.37 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH.module.js gzip 746 B 746 B
Overall change -5.76 kB
Client Pages Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_app.js 1.83 kB 1.84 kB ⚠️ +2 B
_app.js gzip 884 B 885 B ⚠️ +1 B
_error.js 12.1 kB 5.36 kB -6.75 kB
_error.js gzip 4.76 kB 2.14 kB -2.62 kB
hooks.js 12.7 kB 12.7 kB
hooks.js gzip 4.81 kB 4.81 kB
index.js 343 B 343 B
index.js gzip 237 B 237 B
link.js 8.14 kB 9.93 kB ⚠️ +1.79 kB
link.js gzip 3.49 kB 4.13 kB ⚠️ +635 B
routerDirect.js 433 B 434 B ⚠️ +1 B
routerDirect.js gzip 296 B 296 B
withRouter.js 444 B 444 B
withRouter.js gzip 294 B 294 B
Overall change -4.96 kB
Client Pages Modern Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_app.module.js 1.73 kB 1.38 kB -349 B
_app.module.js gzip 840 B 695 B -145 B
_error.module.js 23.3 kB 6.21 kB -17.1 kB
_error.module.js gzip 8.62 kB 2.46 kB -6.16 kB
hooks.module.js 1.55 kB 1.55 kB
hooks.module.js gzip 804 B 805 B ⚠️ +1 B
index.module.js 319 B 319 B
index.module.js gzip 238 B 238 B
link.module.js 8.52 kB 14.6 kB ⚠️ +6.11 kB
link.module.js gzip 3.68 kB 5.98 kB ⚠️ +2.3 kB
routerDirect.module.js 419 B 419 B
routerDirect.module.js gzip 294 B 294 B
withRouter.module.js 429 B 430 B ⚠️ +1 B
withRouter.module.js gzip 293 B 293 B
Overall change -11.3 kB
Client Build Manifests
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_buildManifest.js 81 B 81 B
_buildManifest.js gzip 61 B 61 B
_buildManifest.module.js 81 B 81 B
_buildManifest.module.js gzip 61 B 61 B
Overall change
Rendered Page Sizes Overall increase ⚠️
zeit/next.js canary timneutkens/next.js add/move-next-server Change
index.html 3.75 kB 4.22 kB ⚠️ +474 B
index.html gzip 959 B 1.03 kB ⚠️ +68 B
link.html 3.79 kB 4.27 kB ⚠️ +474 B
link.html gzip 968 B 1.03 kB ⚠️ +67 B
withRouter.html 3.8 kB 4.28 kB ⚠️ +474 B
withRouter.html gzip 954 B 1.02 kB ⚠️ +69 B
Overall change ⚠️ +1.42 kB

Diffs

Diff for main-HASH.js
@@ -1,26 +1,68 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[4],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[12],{
 
-/***/ "/h46":
+/***/ "0IRE":
 /***/ (function(module, exports, __webpack_require__) {
 
-// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of
-__webpack_require__("cHUd")('Map');
+"use strict";
+
+Object.defineProperty(exports, "__esModule", { value: true });
+class DataManager {
+    constructor(data) {
+        this.data = new Map(data);
+    }
+    getData() {
+        return this.data;
+    }
+    get(key) {
+        return this.data.get(key);
+    }
+    set(key, value) {
+        this.data.set(key, value);
+    }
+    overwrite(data) {
+        this.data = new Map(data);
+    }
+}
+exports.DataManager = DataManager;
 
 
 /***/ }),
 
-/***/ "8iia":
+/***/ "8+Nu":
 /***/ (function(module, exports, __webpack_require__) {
 
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var classof = __webpack_require__("QMMT");
-var from = __webpack_require__("RRc/");
-module.exports = function (NAME) {
-  return function toJSON() {
-    if (classof(this) != NAME) throw TypeError(NAME + "#toJSON isn't generic");
-    return from(this);
-  };
-};
+var arrayWithHoles = __webpack_require__("8bdy");
+
+var iterableToArrayLimit = __webpack_require__("fprZ");
+
+var nonIterableRest = __webpack_require__("Bh1o");
+
+function _slicedToArray(arr, i) {
+  return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest();
+}
+
+module.exports = _slicedToArray;
+
+/***/ }),
+
+/***/ "8bdy":
+/***/ (function(module, exports, __webpack_require__) {
+
+var _Array$isArray = __webpack_require__("p0XB");
+
+function _arrayWithHoles(arr) {
+  if (_Array$isArray(arr)) return arr;
+}
+
+module.exports = _arrayWithHoles;
+
+/***/ }),
+
+/***/ "9BDd":
+/***/ (function(module, exports, __webpack_require__) {
+
+__webpack_require__("GvbO");
+module.exports = __webpack_require__("WEpk").Array.isArray;
 
 
 /***/ }),
@@ -42,26 +84,14 @@ window.next = next;
 
 /***/ }),
 
-/***/ "C2SN":
-/***/ (function(module, exports, __webpack_require__) {
+/***/ "Bh1o":
+/***/ (function(module, exports) {
 
-var isObject = __webpack_require__("93I4");
-var isArray = __webpack_require__("kAMH");
-var SPECIES = __webpack_require__("UWiX")('species');
-
-module.exports = function (original) {
-  var C;
-  if (isArray(original)) {
-    C = original.constructor;
-    // cross-realm fallback
-    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-    if (isObject(C)) {
-      C = C[SPECIES];
-      if (C === null) C = undefined;
-    }
-  } return C === undefined ? Array : C;
-};
+function _nonIterableRest() {
+  throw new TypeError("Invalid attempt to destructure non-iterable instance");
+}
 
+module.exports = _nonIterableRest;
 
 /***/ }),
 
@@ -208,57 +238,33 @@ function reactElementToDOM(_ref) {
 
 /***/ }),
 
-/***/ "HohS":
+/***/ "FYa8":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var runtimeConfig;
-
-exports["default"] = function () {
-  return runtimeConfig;
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+    result["default"] = mod;
+    return result;
 };
+Object.defineProperty(exports, "__esModule", { value: true });
+const React = __importStar(__webpack_require__("q1tI"));
+exports.HeadManagerContext = React.createContext(null);
 
-function setConfig(configValue) {
-  runtimeConfig = configValue;
-}
-
-exports.setConfig = setConfig;
 
 /***/ }),
 
-/***/ "IClC":
+/***/ "GvbO":
 /***/ (function(module, exports, __webpack_require__) {
 
-"use strict";
-
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-var __importStar = this && this.__importStar || function (mod) {
-  if (mod && mod.__esModule) return mod;
-  var result = {};
-  if (mod != null) for (var k in mod) {
-    if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-  }
-  result["default"] = mod;
-  return result;
-};
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
+// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)
+var $export = __webpack_require__("Y7ZC");
 
-var React = __importStar(__webpack_require__("q1tI"));
+$export($export.S, 'Array', { isArray: __webpack_require__("kAMH") });
 
-exports.HeadManagerContext = React.createContext(null);
 
 /***/ }),
 
@@ -305,25 +311,25 @@ var _headManager = _interopRequireDefault(__webpack_require__("DqTX"));
 
 var _router = __webpack_require__("nOHt");
 
-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 
 var _pageLoader = _interopRequireDefault(__webpack_require__("zmvN"));
 
-var envConfig = _interopRequireWildcard(__webpack_require__("PBx+"));
+var envConfig = _interopRequireWildcard(__webpack_require__("yLiY"));
 
-var _headManagerContext = __webpack_require__("IClC");
+var _headManagerContext = __webpack_require__("FYa8");
 
-var _dataManagerContext = __webpack_require__("qS9g");
+var _dataManagerContext = __webpack_require__("qArv");
 
-var _routerContext = __webpack_require__("9EOK");
+var _routerContext = __webpack_require__("qOIg");
 
-var _dataManager = __webpack_require__("cuFY");
+var _dataManager = __webpack_require__("0IRE");
 
 var _querystring = __webpack_require__("s4NR");
 
-var _isDynamic = __webpack_require__("kcOw");
+var _isDynamic = __webpack_require__("/jkW");
 /* global location */
 // Polyfill Promise globally
 // This is needed because Webpack's dynamic loading(common chunks) code
@@ -863,528 +869,112 @@ function _doRender() {
 
 /***/ }),
 
-/***/ "LX0d":
+/***/ "Rp86":
 /***/ (function(module, exports, __webpack_require__) {
 
-module.exports = __webpack_require__("UDep");
-
-/***/ }),
-
-/***/ "PBx+":
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__("HohS")
-
-
-/***/ }),
-
-/***/ "RRc/":
-/***/ (function(module, exports, __webpack_require__) {
-
-var forOf = __webpack_require__("oioR");
-
-module.exports = function (iter, ITERATOR) {
-  var result = [];
-  forOf(iter, false, result.push, result, ITERATOR);
-  return result;
-};
-
-
-/***/ }),
-
-/***/ "UDep":
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__("wgeU");
-__webpack_require__("FlQf");
 __webpack_require__("bBy9");
-__webpack_require__("g33z");
-__webpack_require__("XLbu");
-__webpack_require__("/h46");
-__webpack_require__("dVTT");
-module.exports = __webpack_require__("WEpk").Map;
-
-
-/***/ }),
-
-/***/ "V7Et":
-/***/ (function(module, exports, __webpack_require__) {
-
-// 0 -> Array#forEach
-// 1 -> Array#map
-// 2 -> Array#filter
-// 3 -> Array#some
-// 4 -> Array#every
-// 5 -> Array#find
-// 6 -> Array#findIndex
-var ctx = __webpack_require__("2GTP");
-var IObject = __webpack_require__("M1xp");
-var toObject = __webpack_require__("JB68");
-var toLength = __webpack_require__("tEej");
-var asc = __webpack_require__("v6xn");
-module.exports = function (TYPE, $create) {
-  var IS_MAP = TYPE == 1;
-  var IS_FILTER = TYPE == 2;
-  var IS_SOME = TYPE == 3;
-  var IS_EVERY = TYPE == 4;
-  var IS_FIND_INDEX = TYPE == 6;
-  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-  var create = $create || asc;
-  return function ($this, callbackfn, that) {
-    var O = toObject($this);
-    var self = IObject(O);
-    var f = ctx(callbackfn, that, 3);
-    var length = toLength(self.length);
-    var index = 0;
-    var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-    var val, res;
-    for (;length > index; index++) if (NO_HOLES || index in self) {
-      val = self[index];
-      res = f(val, index, O);
-      if (TYPE) {
-        if (IS_MAP) result[index] = res;   // map
-        else if (res) switch (TYPE) {
-          case 3: return true;             // some
-          case 5: return val;              // find
-          case 6: return index;            // findIndex
-          case 2: result.push(val);        // filter
-        } else if (IS_EVERY) return false; // every
-      }
-    }
-    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
-  };
-};
-
-
-/***/ }),
-
-/***/ "Wu5q":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var dP = __webpack_require__("2faE").f;
-var create = __webpack_require__("oVml");
-var redefineAll = __webpack_require__("XJU/");
-var ctx = __webpack_require__("2GTP");
-var anInstance = __webpack_require__("EXMj");
-var forOf = __webpack_require__("oioR");
-var $iterDefine = __webpack_require__("MPFp");
-var step = __webpack_require__("UO39");
-var setSpecies = __webpack_require__("TJWN");
-var DESCRIPTORS = __webpack_require__("jmDH");
-var fastKey = __webpack_require__("6/1s").fastKey;
-var validate = __webpack_require__("n3ko");
-var SIZE = DESCRIPTORS ? '_s' : 'size';
-
-var getEntry = function (that, key) {
-  // fast case
-  var index = fastKey(key);
-  var entry;
-  if (index !== 'F') return that._i[index];
-  // frozen object case
-  for (entry = that._f; entry; entry = entry.n) {
-    if (entry.k == key) return entry;
-  }
-};
-
-module.exports = {
-  getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {
-    var C = wrapper(function (that, iterable) {
-      anInstance(that, C, NAME, '_i');
-      that._t = NAME;         // collection type
-      that._i = create(null); // index
-      that._f = undefined;    // first entry
-      that._l = undefined;    // last entry
-      that[SIZE] = 0;         // size
-      if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
-    });
-    redefineAll(C.prototype, {
-      // 23.1.3.1 Map.prototype.clear()
-      // 23.2.3.2 Set.prototype.clear()
-      clear: function clear() {
-        for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {
-          entry.r = true;
-          if (entry.p) entry.p = entry.p.n = undefined;
-          delete data[entry.i];
-        }
-        that._f = that._l = undefined;
-        that[SIZE] = 0;
-      },
-      // 23.1.3.3 Map.prototype.delete(key)
-      // 23.2.3.4 Set.prototype.delete(value)
-      'delete': function (key) {
-        var that = validate(this, NAME);
-        var entry = getEntry(that, key);
-        if (entry) {
-          var next = entry.n;
-          var prev = entry.p;
-          delete that._i[entry.i];
-          entry.r = true;
-          if (prev) prev.n = next;
-          if (next) next.p = prev;
-          if (that._f == entry) that._f = next;
-          if (that._l == entry) that._l = prev;
-          that[SIZE]--;
-        } return !!entry;
-      },
-      // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
-      // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
-      forEach: function forEach(callbackfn /* , that = undefined */) {
-        validate(this, NAME);
-        var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
-        var entry;
-        while (entry = entry ? entry.n : this._f) {
-          f(entry.v, entry.k, this);
-          // revert to the last existing entry
-          while (entry && entry.r) entry = entry.p;
-        }
-      },
-      // 23.1.3.7 Map.prototype.has(key)
-      // 23.2.3.7 Set.prototype.has(value)
-      has: function has(key) {
-        return !!getEntry(validate(this, NAME), key);
-      }
-    });
-    if (DESCRIPTORS) dP(C.prototype, 'size', {
-      get: function () {
-        return validate(this, NAME)[SIZE];
-      }
-    });
-    return C;
-  },
-  def: function (that, key, value) {
-    var entry = getEntry(that, key);
-    var prev, index;
-    // change existing entry
-    if (entry) {
-      entry.v = value;
-    // create new entry
-    } else {
-      that._l = entry = {
-        i: index = fastKey(key, true), // <- index
-        k: key,                        // <- key
-        v: value,                      // <- value
-        p: prev = that._l,             // <- previous entry
-        n: undefined,                  // <- next entry
-        r: false                       // <- removed
-      };
-      if (!that._f) that._f = entry;
-      if (prev) prev.n = entry;
-      that[SIZE]++;
-      // add to index
-      if (index !== 'F') that._i[index] = entry;
-    } return that;
-  },
-  getEntry: getEntry,
-  setStrong: function (C, NAME, IS_MAP) {
-    // add .keys, .values, .entries, [@@iterator]
-    // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
-    $iterDefine(C, NAME, function (iterated, kind) {
-      this._t = validate(iterated, NAME); // target
-      this._k = kind;                     // kind
-      this._l = undefined;                // previous
-    }, function () {
-      var that = this;
-      var kind = that._k;
-      var entry = that._l;
-      // revert to the last existing entry
-      while (entry && entry.r) entry = entry.p;
-      // get next entry
-      if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {
-        // or finish the iteration
-        that._t = undefined;
-        return step(1);
-      }
-      // return step by kind
-      if (kind == 'keys') return step(0, entry.k);
-      if (kind == 'values') return step(0, entry.v);
-      return step(0, [entry.k, entry.v]);
-    }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
-
-    // add [@@species], 23.1.2.2, 23.2.2.2
-    setSpecies(NAME);
-  }
-};
+__webpack_require__("FlQf");
+module.exports = __webpack_require__("fXsU");
 
 
 /***/ }),
 
-/***/ "XLbu":
+/***/ "XXOK":
 /***/ (function(module, exports, __webpack_require__) {
 
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var $export = __webpack_require__("Y7ZC");
-
-$export($export.P + $export.R, 'Map', { toJSON: __webpack_require__("8iia")('Map') });
-
+module.exports = __webpack_require__("Rp86");
 
 /***/ }),
 
-/***/ "aPfg":
+/***/ "fXsU":
 /***/ (function(module, exports, __webpack_require__) {
 
-"use strict";
-
-// https://tc39.github.io/proposal-setmap-offrom/
-var $export = __webpack_require__("Y7ZC");
-var aFunction = __webpack_require__("eaoh");
-var ctx = __webpack_require__("2GTP");
-var forOf = __webpack_require__("oioR");
-
-module.exports = function (COLLECTION) {
-  $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {
-    var mapFn = arguments[1];
-    var mapping, A, n, cb;
-    aFunction(this);
-    mapping = mapFn !== undefined;
-    if (mapping) aFunction(mapFn);
-    if (source == undefined) return new this();
-    A = [];
-    if (mapping) {
-      n = 0;
-      cb = ctx(mapFn, arguments[2], 2);
-      forOf(source, false, function (nextItem) {
-        A.push(cb(nextItem, n++));
-      });
-    } else {
-      forOf(source, false, A.push, A);
-    }
-    return new this(A);
-  } });
+var anObject = __webpack_require__("5K7Z");
+var get = __webpack_require__("fNZA");
+module.exports = __webpack_require__("WEpk").getIterator = function (it) {
+  var iterFn = get(it);
+  if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');
+  return anObject(iterFn.call(it));
 };
 
 
 /***/ }),
 
-/***/ "cHUd":
+/***/ "fprZ":
 /***/ (function(module, exports, __webpack_require__) {
 
-"use strict";
-
-// https://tc39.github.io/proposal-setmap-offrom/
-var $export = __webpack_require__("Y7ZC");
-
-module.exports = function (COLLECTION) {
-  $export($export.S, COLLECTION, { of: function of() {
-    var length = arguments.length;
-    var A = new Array(length);
-    while (length--) A[length] = arguments[length];
-    return new this(A);
-  } });
-};
-
-
-/***/ }),
+var _getIterator = __webpack_require__("XXOK");
 
-/***/ "cuFY":
-/***/ (function(module, exports, __webpack_require__) {
+function _iterableToArrayLimit(arr, i) {
+  var _arr = [];
+  var _n = true;
+  var _d = false;
+  var _e = undefined;
 
-"use strict";
-
-
-var _Map = __webpack_require__("LX0d");
-
-var _classCallCheck = __webpack_require__("/HRN");
-
-var _createClass = __webpack_require__("WaGi");
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var DataManager =
-/*#__PURE__*/
-function () {
-  function DataManager(data) {
-    _classCallCheck(this, DataManager);
-
-    this.data = new _Map(data);
-  }
+  try {
+    for (var _i = _getIterator(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {
+      _arr.push(_s.value);
 
-  _createClass(DataManager, [{
-    key: "getData",
-    value: function getData() {
-      return this.data;
-    }
-  }, {
-    key: "get",
-    value: function get(key) {
-      return this.data.get(key);
-    }
-  }, {
-    key: "set",
-    value: function set(key, value) {
-      this.data.set(key, value);
+      if (i && _arr.length === i) break;
     }
-  }, {
-    key: "overwrite",
-    value: function overwrite(data) {
-      this.data = new _Map(data);
+  } catch (err) {
+    _d = true;
+    _e = err;
+  } finally {
+    try {
+      if (!_n && _i["return"] != null) _i["return"]();
+    } finally {
+      if (_d) throw _e;
     }
-  }]);
-
-  return DataManager;
-}();
-
-exports.DataManager = DataManager;
-
-/***/ }),
-
-/***/ "dVTT":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from
-__webpack_require__("aPfg")('Map');
-
-
-/***/ }),
-
-/***/ "g33z":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var strong = __webpack_require__("Wu5q");
-var validate = __webpack_require__("n3ko");
-var MAP = 'Map';
-
-// 23.1 Map Objects
-module.exports = __webpack_require__("raTm")(MAP, function (get) {
-  return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };
-}, {
-  // 23.1.3.6 Map.prototype.get(key)
-  get: function get(key) {
-    var entry = strong.getEntry(validate(this, MAP), key);
-    return entry && entry.v;
-  },
-  // 23.1.3.9 Map.prototype.set(key, value)
-  set: function set(key, value) {
-    return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);
   }
-}, strong, true);
-
-
-/***/ }),
-
-/***/ "n3ko":
-/***/ (function(module, exports, __webpack_require__) {
 
-var isObject = __webpack_require__("93I4");
-module.exports = function (it, TYPE) {
-  if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');
-  return it;
-};
+  return _arr;
+}
 
+module.exports = _iterableToArrayLimit;
 
 /***/ }),
 
-/***/ "qS9g":
+/***/ "p0XB":
 /***/ (function(module, exports, __webpack_require__) {
 
-"use strict";
-
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-var __importStar = this && this.__importStar || function (mod) {
-  if (mod && mod.__esModule) return mod;
-  var result = {};
-  if (mod != null) for (var k in mod) {
-    if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-  }
-  result["default"] = mod;
-  return result;
-};
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var React = __importStar(__webpack_require__("q1tI"));
-
-exports.DataManagerContext = React.createContext(null);
+module.exports = __webpack_require__("9BDd");
 
 /***/ }),
 
-/***/ "raTm":
+/***/ "qArv":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
-var global = __webpack_require__("5T2Y");
-var $export = __webpack_require__("Y7ZC");
-var meta = __webpack_require__("6/1s");
-var fails = __webpack_require__("KUxP");
-var hide = __webpack_require__("NegM");
-var redefineAll = __webpack_require__("XJU/");
-var forOf = __webpack_require__("oioR");
-var anInstance = __webpack_require__("EXMj");
-var isObject = __webpack_require__("93I4");
-var setToStringTag = __webpack_require__("RfKB");
-var dP = __webpack_require__("2faE").f;
-var each = __webpack_require__("V7Et")(0);
-var DESCRIPTORS = __webpack_require__("jmDH");
-
-module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
-  var Base = global[NAME];
-  var C = Base;
-  var ADDER = IS_MAP ? 'set' : 'add';
-  var proto = C && C.prototype;
-  var O = {};
-  if (!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {
-    new C().entries().next();
-  }))) {
-    // create collection constructor
-    C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);
-    redefineAll(C.prototype, methods);
-    meta.NEED = true;
-  } else {
-    C = wrapper(function (target, iterable) {
-      anInstance(target, C, NAME, '_c');
-      target._c = new Base();
-      if (iterable != undefined) forOf(iterable, IS_MAP, target[ADDER], target);
-    });
-    each('add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON'.split(','), function (KEY) {
-      var IS_ADDER = KEY == 'add' || KEY == 'set';
-      if (KEY in proto && !(IS_WEAK && KEY == 'clear')) hide(C.prototype, KEY, function (a, b) {
-        anInstance(this, C, KEY);
-        if (!IS_ADDER && IS_WEAK && !isObject(a)) return KEY == 'get' ? undefined : false;
-        var result = this._c[KEY](a === 0 ? 0 : a, b);
-        return IS_ADDER ? this : result;
-      });
-    });
-    IS_WEAK || dP(C.prototype, 'size', {
-      get: function () {
-        return this._c.size;
-      }
-    });
-  }
-
-  setToStringTag(C, NAME);
-
-  O[NAME] = C;
-  $export($export.G + $export.W + $export.F, O);
-
-  if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);
-
-  return C;
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+    result["default"] = mod;
+    return result;
 };
+Object.defineProperty(exports, "__esModule", { value: true });
+const React = __importStar(__webpack_require__("q1tI"));
+exports.DataManagerContext = React.createContext(null);
 
 
 /***/ }),
 
-/***/ "v6xn":
+/***/ "yLiY":
 /***/ (function(module, exports, __webpack_require__) {
 
-// 9.4.2.3 ArraySpeciesCreate(originalArray, length)
-var speciesConstructor = __webpack_require__("C2SN");
+"use strict";
 
-module.exports = function (original, length) {
-  return new (speciesConstructor(original))(length);
+Object.defineProperty(exports, "__esModule", { value: true });
+let runtimeConfig;
+exports.default = () => {
+    return runtimeConfig;
 };
+function setConfig(configValue) {
+    runtimeConfig = configValue;
+}
+exports.setConfig = setConfig;
 
 
 /***/ }),
@@ -1410,7 +1000,7 @@ var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("+oT+"));
 
 var _promise = _interopRequireDefault(__webpack_require__("eVuF"));
 
-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 /* global document, window */
 
 
@@ -1741,4 +1331,4 @@ exports["default"] = PageLoader;
 
 /***/ })
 
-},[["BMP1",0,1,2,3]]]);
\ No newline at end of file
+},[["BMP1",0,1,2,3,4]]]);
\ No newline at end of file
Diff for main-HASH.module.js
@@ -1,131 +1,29 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[3],{
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[11],{
 
-/***/ "+oT+":
+/***/ "0IRE":
 /***/ (function(module, exports, __webpack_require__) {
 
-var _Promise = __webpack_require__("eVuF");
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
-  try {
-    var info = gen[key](arg);
-    var value = info.value;
-  } catch (error) {
-    reject(error);
-    return;
-  }
-
-  if (info.done) {
-    resolve(value);
-  } else {
-    _Promise.resolve(value).then(_next, _throw);
-  }
-}
-
-function _asyncToGenerator(fn) {
-  return function () {
-    var self = this,
-        args = arguments;
-    return new _Promise(function (resolve, reject) {
-      var gen = fn.apply(self, args);
-
-      function _next(value) {
-        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
-      }
-
-      function _throw(err) {
-        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
-      }
+"use strict";
 
-      _next(undefined);
-    });
-  };
+Object.defineProperty(exports, "__esModule", { value: true });
+class DataManager {
+    constructor(data) {
+        this.data = new Map(data);
+    }
+    getData() {
+        return this.data;
+    }
+    get(key) {
+        return this.data.get(key);
+    }
+    set(key, value) {
+        this.data.set(key, value);
+    }
+    overwrite(data) {
+        this.data = new Map(data);
+    }
 }
-
-module.exports = _asyncToGenerator;
-
-/***/ }),
-
-/***/ "/h46":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of
-__webpack_require__("cHUd")('Map');
-
-
-/***/ }),
-
-/***/ "6/1s":
-/***/ (function(module, exports, __webpack_require__) {
-
-var META = __webpack_require__("YqAc")('meta');
-var isObject = __webpack_require__("93I4");
-var has = __webpack_require__("B+OT");
-var setDesc = __webpack_require__("2faE").f;
-var id = 0;
-var isExtensible = Object.isExtensible || function () {
-  return true;
-};
-var FREEZE = !__webpack_require__("KUxP")(function () {
-  return isExtensible(Object.preventExtensions({}));
-});
-var setMeta = function (it) {
-  setDesc(it, META, { value: {
-    i: 'O' + ++id, // object ID
-    w: {}          // weak collections IDs
-  } });
-};
-var fastKey = function (it, create) {
-  // return primitive with prefix
-  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
-  if (!has(it, META)) {
-    // can't set metadata to uncaught frozen object
-    if (!isExtensible(it)) return 'F';
-    // not necessary to add metadata
-    if (!create) return 'E';
-    // add missing metadata
-    setMeta(it);
-  // return object ID
-  } return it[META].i;
-};
-var getWeak = function (it, create) {
-  if (!has(it, META)) {
-    // can't set metadata to uncaught frozen object
-    if (!isExtensible(it)) return true;
-    // not necessary to add metadata
-    if (!create) return false;
-    // add missing metadata
-    setMeta(it);
-  // return hash weak collections IDs
-  } return it[META].w;
-};
-// add metadata on freeze-family methods calling
-var onFreeze = function (it) {
-  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);
-  return it;
-};
-var meta = module.exports = {
-  KEY: META,
-  NEED: false,
-  fastKey: fastKey,
-  getWeak: getWeak,
-  onFreeze: onFreeze
-};
-
-
-/***/ }),
-
-/***/ "8iia":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var classof = __webpack_require__("QMMT");
-var from = __webpack_require__("RRc/");
-module.exports = function (NAME) {
-  return function toJSON() {
-    if (classof(this) != NAME) throw TypeError(NAME + "#toJSON isn't generic");
-    return from(this);
-  };
-};
+exports.DataManager = DataManager;
 
 
 /***/ }),
@@ -147,29 +45,6 @@ window.next = next;
 
 /***/ }),
 
-/***/ "C2SN":
-/***/ (function(module, exports, __webpack_require__) {
-
-var isObject = __webpack_require__("93I4");
-var isArray = __webpack_require__("kAMH");
-var SPECIES = __webpack_require__("UWiX")('species');
-
-module.exports = function (original) {
-  var C;
-  if (isArray(original)) {
-    C = original.constructor;
-    // cross-realm fallback
-    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-    if (isObject(C)) {
-      C = C[SPECIES];
-      if (C === null) C = undefined;
-    }
-  } return C === undefined ? Array : C;
-};
-
-
-/***/ }),
-
 /***/ "DqTX":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -296,56 +171,23 @@ function reactElementToDOM(_ref) {
 
 /***/ }),
 
-/***/ "HohS":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-let runtimeConfig;
-
-exports.default = () => {
-  return runtimeConfig;
-};
-
-function setConfig(configValue) {
-  runtimeConfig = configValue;
-}
-
-exports.setConfig = setConfig;
-
-/***/ }),
-
-/***/ "IClC":
+/***/ "FYa8":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-var __importStar = this && this.__importStar || function (mod) {
-  if (mod && mod.__esModule) return mod;
-  var result = {};
-  if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-  result["default"] = mod;
-  return result;
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+    result["default"] = mod;
+    return result;
 };
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
+Object.defineProperty(exports, "__esModule", { value: true });
 const React = __importStar(__webpack_require__("q1tI"));
-
 exports.HeadManagerContext = React.createContext(null);
 
+
 /***/ }),
 
 /***/ "IKlv":
@@ -377,25 +219,25 @@ var _headManager = _interopRequireDefault(__webpack_require__("DqTX"));
 
 var _router = __webpack_require__("nOHt");
 
-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 
 var _pageLoader = _interopRequireDefault(__webpack_require__("zmvN"));
 
-var envConfig = _interopRequireWildcard(__webpack_require__("PBx+"));
+var envConfig = _interopRequireWildcard(__webpack_require__("yLiY"));
 
-var _headManagerContext = __webpack_require__("IClC");
+var _headManagerContext = __webpack_require__("FYa8");
 
-var _dataManagerContext = __webpack_require__("qS9g");
+var _dataManagerContext = __webpack_require__("qArv");
 
-var _routerContext = __webpack_require__("9EOK");
+var _routerContext = __webpack_require__("qOIg");
 
-var _dataManager = __webpack_require__("cuFY");
+var _dataManager = __webpack_require__("0IRE");
 
 var _querystring = __webpack_require__("s4NR");
 
-var _isDynamic = __webpack_require__("kcOw");
+var _isDynamic = __webpack_require__("/jkW");
 /* global location */
 // Polyfill Promise globally
 // This is needed because Webpack's dynamic loading(common chunks) code
@@ -785,523 +627,39 @@ function _doRender() {
 
 /***/ }),
 
-/***/ "LX0d":
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__("UDep");
-
-/***/ }),
-
-/***/ "PBx+":
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__("HohS")
-
-
-/***/ }),
-
-/***/ "RRc/":
-/***/ (function(module, exports, __webpack_require__) {
-
-var forOf = __webpack_require__("oioR");
-
-module.exports = function (iter, ITERATOR) {
-  var result = [];
-  forOf(iter, false, result.push, result, ITERATOR);
-  return result;
-};
-
-
-/***/ }),
-
-/***/ "UDep":
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__("wgeU");
-__webpack_require__("FlQf");
-__webpack_require__("bBy9");
-__webpack_require__("g33z");
-__webpack_require__("XLbu");
-__webpack_require__("/h46");
-__webpack_require__("dVTT");
-module.exports = __webpack_require__("WEpk").Map;
-
-
-/***/ }),
-
-/***/ "V7Et":
-/***/ (function(module, exports, __webpack_require__) {
-
-// 0 -> Array#forEach
-// 1 -> Array#map
-// 2 -> Array#filter
-// 3 -> Array#some
-// 4 -> Array#every
-// 5 -> Array#find
-// 6 -> Array#findIndex
-var ctx = __webpack_require__("2GTP");
-var IObject = __webpack_require__("M1xp");
-var toObject = __webpack_require__("JB68");
-var toLength = __webpack_require__("tEej");
-var asc = __webpack_require__("v6xn");
-module.exports = function (TYPE, $create) {
-  var IS_MAP = TYPE == 1;
-  var IS_FILTER = TYPE == 2;
-  var IS_SOME = TYPE == 3;
-  var IS_EVERY = TYPE == 4;
-  var IS_FIND_INDEX = TYPE == 6;
-  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-  var create = $create || asc;
-  return function ($this, callbackfn, that) {
-    var O = toObject($this);
-    var self = IObject(O);
-    var f = ctx(callbackfn, that, 3);
-    var length = toLength(self.length);
-    var index = 0;
-    var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-    var val, res;
-    for (;length > index; index++) if (NO_HOLES || index in self) {
-      val = self[index];
-      res = f(val, index, O);
-      if (TYPE) {
-        if (IS_MAP) result[index] = res;   // map
-        else if (res) switch (TYPE) {
-          case 3: return true;             // some
-          case 5: return val;              // find
-          case 6: return index;            // findIndex
-          case 2: result.push(val);        // filter
-        } else if (IS_EVERY) return false; // every
-      }
-    }
-    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
-  };
-};
-
-
-/***/ }),
-
-/***/ "Wu5q":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var dP = __webpack_require__("2faE").f;
-var create = __webpack_require__("oVml");
-var redefineAll = __webpack_require__("XJU/");
-var ctx = __webpack_require__("2GTP");
-var anInstance = __webpack_require__("EXMj");
-var forOf = __webpack_require__("oioR");
-var $iterDefine = __webpack_require__("MPFp");
-var step = __webpack_require__("UO39");
-var setSpecies = __webpack_require__("TJWN");
-var DESCRIPTORS = __webpack_require__("jmDH");
-var fastKey = __webpack_require__("6/1s").fastKey;
-var validate = __webpack_require__("n3ko");
-var SIZE = DESCRIPTORS ? '_s' : 'size';
-
-var getEntry = function (that, key) {
-  // fast case
-  var index = fastKey(key);
-  var entry;
-  if (index !== 'F') return that._i[index];
-  // frozen object case
-  for (entry = that._f; entry; entry = entry.n) {
-    if (entry.k == key) return entry;
-  }
-};
-
-module.exports = {
-  getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {
-    var C = wrapper(function (that, iterable) {
-      anInstance(that, C, NAME, '_i');
-      that._t = NAME;         // collection type
-      that._i = create(null); // index
-      that._f = undefined;    // first entry
-      that._l = undefined;    // last entry
-      that[SIZE] = 0;         // size
-      if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
-    });
-    redefineAll(C.prototype, {
-      // 23.1.3.1 Map.prototype.clear()
-      // 23.2.3.2 Set.prototype.clear()
-      clear: function clear() {
-        for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {
-          entry.r = true;
-          if (entry.p) entry.p = entry.p.n = undefined;
-          delete data[entry.i];
-        }
-        that._f = that._l = undefined;
-        that[SIZE] = 0;
-      },
-      // 23.1.3.3 Map.prototype.delete(key)
-      // 23.2.3.4 Set.prototype.delete(value)
-      'delete': function (key) {
-        var that = validate(this, NAME);
-        var entry = getEntry(that, key);
-        if (entry) {
-          var next = entry.n;
-          var prev = entry.p;
-          delete that._i[entry.i];
-          entry.r = true;
-          if (prev) prev.n = next;
-          if (next) next.p = prev;
-          if (that._f == entry) that._f = next;
-          if (that._l == entry) that._l = prev;
-          that[SIZE]--;
-        } return !!entry;
-      },
-      // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
-      // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
-      forEach: function forEach(callbackfn /* , that = undefined */) {
-        validate(this, NAME);
-        var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
-        var entry;
-        while (entry = entry ? entry.n : this._f) {
-          f(entry.v, entry.k, this);
-          // revert to the last existing entry
-          while (entry && entry.r) entry = entry.p;
-        }
-      },
-      // 23.1.3.7 Map.prototype.has(key)
-      // 23.2.3.7 Set.prototype.has(value)
-      has: function has(key) {
-        return !!getEntry(validate(this, NAME), key);
-      }
-    });
-    if (DESCRIPTORS) dP(C.prototype, 'size', {
-      get: function () {
-        return validate(this, NAME)[SIZE];
-      }
-    });
-    return C;
-  },
-  def: function (that, key, value) {
-    var entry = getEntry(that, key);
-    var prev, index;
-    // change existing entry
-    if (entry) {
-      entry.v = value;
-    // create new entry
-    } else {
-      that._l = entry = {
-        i: index = fastKey(key, true), // <- index
-        k: key,                        // <- key
-        v: value,                      // <- value
-        p: prev = that._l,             // <- previous entry
-        n: undefined,                  // <- next entry
-        r: false                       // <- removed
-      };
-      if (!that._f) that._f = entry;
-      if (prev) prev.n = entry;
-      that[SIZE]++;
-      // add to index
-      if (index !== 'F') that._i[index] = entry;
-    } return that;
-  },
-  getEntry: getEntry,
-  setStrong: function (C, NAME, IS_MAP) {
-    // add .keys, .values, .entries, [@@iterator]
-    // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
-    $iterDefine(C, NAME, function (iterated, kind) {
-      this._t = validate(iterated, NAME); // target
-      this._k = kind;                     // kind
-      this._l = undefined;                // previous
-    }, function () {
-      var that = this;
-      var kind = that._k;
-      var entry = that._l;
-      // revert to the last existing entry
-      while (entry && entry.r) entry = entry.p;
-      // get next entry
-      if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {
-        // or finish the iteration
-        that._t = undefined;
-        return step(1);
-      }
-      // return step by kind
-      if (kind == 'keys') return step(0, entry.k);
-      if (kind == 'values') return step(0, entry.v);
-      return step(0, [entry.k, entry.v]);
-    }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
-
-    // add [@@species], 23.1.2.2, 23.2.2.2
-    setSpecies(NAME);
-  }
-};
-
-
-/***/ }),
-
-/***/ "XLbu":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var $export = __webpack_require__("Y7ZC");
-
-$export($export.P + $export.R, 'Map', { toJSON: __webpack_require__("8iia")('Map') });
-
-
-/***/ }),
-
-/***/ "aPfg":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-// https://tc39.github.io/proposal-setmap-offrom/
-var $export = __webpack_require__("Y7ZC");
-var aFunction = __webpack_require__("eaoh");
-var ctx = __webpack_require__("2GTP");
-var forOf = __webpack_require__("oioR");
-
-module.exports = function (COLLECTION) {
-  $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {
-    var mapFn = arguments[1];
-    var mapping, A, n, cb;
-    aFunction(this);
-    mapping = mapFn !== undefined;
-    if (mapping) aFunction(mapFn);
-    if (source == undefined) return new this();
-    A = [];
-    if (mapping) {
-      n = 0;
-      cb = ctx(mapFn, arguments[2], 2);
-      forOf(source, false, function (nextItem) {
-        A.push(cb(nextItem, n++));
-      });
-    } else {
-      forOf(source, false, A.push, A);
-    }
-    return new this(A);
-  } });
-};
-
-
-/***/ }),
-
-/***/ "cHUd":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-// https://tc39.github.io/proposal-setmap-offrom/
-var $export = __webpack_require__("Y7ZC");
-
-module.exports = function (COLLECTION) {
-  $export($export.S, COLLECTION, { of: function of() {
-    var length = arguments.length;
-    var A = new Array(length);
-    while (length--) A[length] = arguments[length];
-    return new this(A);
-  } });
-};
-
-
-/***/ }),
-
-/***/ "cuFY":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _Map = __webpack_require__("LX0d");
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-class DataManager {
-  constructor(data) {
-    this.data = new _Map(data);
-  }
-
-  getData() {
-    return this.data;
-  }
-
-  get(key) {
-    return this.data.get(key);
-  }
-
-  set(key, value) {
-    this.data.set(key, value);
-  }
-
-  overwrite(data) {
-    this.data = new _Map(data);
-  }
-
-}
-
-exports.DataManager = DataManager;
-
-/***/ }),
-
-/***/ "dVTT":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from
-__webpack_require__("aPfg")('Map');
-
-
-/***/ }),
-
-/***/ "g33z":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var strong = __webpack_require__("Wu5q");
-var validate = __webpack_require__("n3ko");
-var MAP = 'Map';
-
-// 23.1 Map Objects
-module.exports = __webpack_require__("raTm")(MAP, function (get) {
-  return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };
-}, {
-  // 23.1.3.6 Map.prototype.get(key)
-  get: function get(key) {
-    var entry = strong.getEntry(validate(this, MAP), key);
-    return entry && entry.v;
-  },
-  // 23.1.3.9 Map.prototype.set(key, value)
-  set: function set(key, value) {
-    return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);
-  }
-}, strong, true);
-
-
-/***/ }),
-
-/***/ "kAMH":
-/***/ (function(module, exports, __webpack_require__) {
-
-// 7.2.2 IsArray(argument)
-var cof = __webpack_require__("a0xu");
-module.exports = Array.isArray || function isArray(arg) {
-  return cof(arg) == 'Array';
-};
-
-
-/***/ }),
-
-/***/ "n3ko":
-/***/ (function(module, exports, __webpack_require__) {
-
-var isObject = __webpack_require__("93I4");
-module.exports = function (it, TYPE) {
-  if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');
-  return it;
-};
-
-
-/***/ }),
-
-/***/ "qS9g":
+/***/ "qArv":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-var __importStar = this && this.__importStar || function (mod) {
-  if (mod && mod.__esModule) return mod;
-  var result = {};
-  if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-  result["default"] = mod;
-  return result;
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+    result["default"] = mod;
+    return result;
 };
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
+Object.defineProperty(exports, "__esModule", { value: true });
 const React = __importStar(__webpack_require__("q1tI"));
-
 exports.DataManagerContext = React.createContext(null);
 
-/***/ }),
-
-/***/ "raTm":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var global = __webpack_require__("5T2Y");
-var $export = __webpack_require__("Y7ZC");
-var meta = __webpack_require__("6/1s");
-var fails = __webpack_require__("KUxP");
-var hide = __webpack_require__("NegM");
-var redefineAll = __webpack_require__("XJU/");
-var forOf = __webpack_require__("oioR");
-var anInstance = __webpack_require__("EXMj");
-var isObject = __webpack_require__("93I4");
-var setToStringTag = __webpack_require__("RfKB");
-var dP = __webpack_require__("2faE").f;
-var each = __webpack_require__("V7Et")(0);
-var DESCRIPTORS = __webpack_require__("jmDH");
-
-module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
-  var Base = global[NAME];
-  var C = Base;
-  var ADDER = IS_MAP ? 'set' : 'add';
-  var proto = C && C.prototype;
-  var O = {};
-  if (!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {
-    new C().entries().next();
-  }))) {
-    // create collection constructor
-    C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);
-    redefineAll(C.prototype, methods);
-    meta.NEED = true;
-  } else {
-    C = wrapper(function (target, iterable) {
-      anInstance(target, C, NAME, '_c');
-      target._c = new Base();
-      if (iterable != undefined) forOf(iterable, IS_MAP, target[ADDER], target);
-    });
-    each('add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON'.split(','), function (KEY) {
-      var IS_ADDER = KEY == 'add' || KEY == 'set';
-      if (KEY in proto && !(IS_WEAK && KEY == 'clear')) hide(C.prototype, KEY, function (a, b) {
-        anInstance(this, C, KEY);
-        if (!IS_ADDER && IS_WEAK && !isObject(a)) return KEY == 'get' ? undefined : false;
-        var result = this._c[KEY](a === 0 ? 0 : a, b);
-        return IS_ADDER ? this : result;
-      });
-    });
-    IS_WEAK || dP(C.prototype, 'size', {
-      get: function () {
-        return this._c.size;
-      }
-    });
-  }
-
-  setToStringTag(C, NAME);
-
-  O[NAME] = C;
-  $export($export.G + $export.W + $export.F, O);
-
-  if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);
-
-  return C;
-};
-
 
 /***/ }),
 
-/***/ "v6xn":
+/***/ "yLiY":
 /***/ (function(module, exports, __webpack_require__) {
 
-// 9.4.2.3 ArraySpeciesCreate(originalArray, length)
-var speciesConstructor = __webpack_require__("C2SN");
+"use strict";
 
-module.exports = function (original, length) {
-  return new (speciesConstructor(original))(length);
+Object.defineProperty(exports, "__esModule", { value: true });
+let runtimeConfig;
+exports.default = () => {
+    return runtimeConfig;
 };
+function setConfig(configValue) {
+    runtimeConfig = configValue;
+}
+exports.setConfig = setConfig;
 
 
 /***/ }),
@@ -1321,7 +679,7 @@ var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("+oT+"));
 
 var _promise = _interopRequireDefault(__webpack_require__("eVuF"));
 
-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 /* global document, window */
 
 
@@ -1568,4 +926,4 @@ exports.default = PageLoader;
 
 /***/ })
 
-},[["BMP1",0,1,2]]]);
\ No newline at end of file
+},[["BMP1",0,1,2,3]]]);
\ No newline at end of file
Diff for _app.js
@@ -33,7 +33,7 @@ var _react = _interopRequireDefault(__webpack_require__("q1tI"));
 
 var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 
 exports.AppInitialProps = _utils.AppInitialProps;
 
@@ -200,4 +200,4 @@ function createUrl(router) {
 
 /***/ })
 
-},[["e9+W",0,1,2,3]]]);
\ No newline at end of file
+},[["e9+W",0,1,2,3,4]]]);
\ No newline at end of file
Diff for _error.js

Diff too large to display

Diff for link.js
@@ -48,6 +48,18 @@ module.exports = function (original) {
 
 /***/ }),
 
+/***/ "EXMj":
+/***/ (function(module, exports) {
+
+module.exports = function (it, Constructor, name, forbiddenField) {
+  if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {
+    throw TypeError(name + ': incorrect invocation!');
+  } return it;
+};
+
+
+/***/ }),
+
 /***/ "LX0d":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -55,6 +67,21 @@ module.exports = __webpack_require__("UDep");
 
 /***/ }),
 
+/***/ "NwJ3":
+/***/ (function(module, exports, __webpack_require__) {
+
+// check on default Array iterator
+var Iterators = __webpack_require__("SBuE");
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var ArrayProto = Array.prototype;
+
+module.exports = function (it) {
+  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
+};
+
+
+/***/ }),
+
 /***/ "ObF3":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
@@ -82,6 +109,36 @@ aLink.getInitialProps = function () {
 
 /***/ }),
 
+/***/ "QMMT":
+/***/ (function(module, exports, __webpack_require__) {
+
+// getting tag from 19.1.3.6 Object.prototype.toString()
+var cof = __webpack_require__("a0xu");
+var TAG = __webpack_require__("UWiX")('toStringTag');
+// ES3 wrong here
+var ARG = cof(function () { return arguments; }()) == 'Arguments';
+
+// fallback for IE11 Script Access Denied error
+var tryGet = function (it, key) {
+  try {
+    return it[key];
+  } catch (e) { /* empty */ }
+};
+
+module.exports = function (it) {
+  var O, T, B;
+  return it === undefined ? 'Undefined' : it === null ? 'Null'
+    // @@toStringTag case
+    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T
+    // builtinTag case
+    : ARG ? cof(O)
+    // ES3 arguments fallback
+    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
+};
+
+
+/***/ }),
+
 /***/ "RRc/":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -96,6 +153,28 @@ module.exports = function (iter, ITERATOR) {
 
 /***/ }),
 
+/***/ "TJWN":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var global = __webpack_require__("5T2Y");
+var core = __webpack_require__("WEpk");
+var dP = __webpack_require__("2faE");
+var DESCRIPTORS = __webpack_require__("jmDH");
+var SPECIES = __webpack_require__("UWiX")('species');
+
+module.exports = function (KEY) {
+  var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];
+  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {
+    configurable: true,
+    get: function () { return this; }
+  });
+};
+
+
+/***/ }),
+
 /***/ "UDep":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -327,6 +406,20 @@ module.exports = {
 
 /***/ }),
 
+/***/ "XJU/":
+/***/ (function(module, exports, __webpack_require__) {
+
+var hide = __webpack_require__("NegM");
+module.exports = function (target, src, safe) {
+  for (var key in src) {
+    if (safe && target[key]) target[key] = src[key];
+    else hide(target, key, src[key]);
+  } return target;
+};
+
+
+/***/ }),
+
 /***/ "XLbu":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -435,9 +528,9 @@ var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
 var _router = _interopRequireDefault(__webpack_require__("nOHt"));
 
-var _rewriteUrlForExport = __webpack_require__("KA3u");
+var _rewriteUrlForExport = __webpack_require__("P5f7");
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 /* global __NEXT_DATA__ */
 
 
@@ -704,6 +797,21 @@ __webpack_require__("aPfg")('Map');
 
 /***/ }),
 
+/***/ "fNZA":
+/***/ (function(module, exports, __webpack_require__) {
+
+var classof = __webpack_require__("QMMT");
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var Iterators = __webpack_require__("SBuE");
+module.exports = __webpack_require__("WEpk").getIteratorMethod = function (it) {
+  if (it != undefined) return it[ITERATOR]
+    || it['@@iterator']
+    || Iterators[classof(it)];
+};
+
+
+/***/ }),
+
 /***/ "g33z":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -743,6 +851,38 @@ module.exports = function (it, TYPE) {
 
 /***/ }),
 
+/***/ "oioR":
+/***/ (function(module, exports, __webpack_require__) {
+
+var ctx = __webpack_require__("2GTP");
+var call = __webpack_require__("sNwI");
+var isArrayIter = __webpack_require__("NwJ3");
+var anObject = __webpack_require__("5K7Z");
+var toLength = __webpack_require__("tEej");
+var getIterFn = __webpack_require__("fNZA");
+var BREAK = {};
+var RETURN = {};
+var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {
+  var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);
+  var f = ctx(fn, that, entries ? 2 : 1);
+  var index = 0;
+  var length, step, iterator, result;
+  if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');
+  // fast case for arrays with default iterator
+  if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {
+    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
+    if (result === BREAK || result === RETURN) return result;
+  } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {
+    result = call(iterator, f, step.value, entries);
+    if (result === BREAK || result === RETURN) return result;
+  }
+};
+exports.BREAK = BREAK;
+exports.RETURN = RETURN;
+
+
+/***/ }),
+
 /***/ "raTm":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -810,6 +950,25 @@ module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
 
 /***/ }),
 
+/***/ "sNwI":
+/***/ (function(module, exports, __webpack_require__) {
+
+// call something on iterator step with safe closing on error
+var anObject = __webpack_require__("5K7Z");
+module.exports = function (iterator, fn, value, entries) {
+  try {
+    return entries ? fn(anObject(value)[0], value[1]) : fn(value);
+  // 7.4.6 IteratorClose(iterator, completion)
+  } catch (e) {
+    var ret = iterator['return'];
+    if (ret !== undefined) anObject(ret.call(iterator));
+    throw e;
+  }
+};
+
+
+/***/ }),
+
 /***/ "v6xn":
 /***/ (function(module, exports, __webpack_require__) {
Diff for _app.module.js
@@ -1,50 +1,5 @@
 (window["webpackJsonp"] = window["webpackJsonp"] || []).push([[4],{
 
-/***/ "+oT+":
-/***/ (function(module, exports, __webpack_require__) {
-
-var _Promise = __webpack_require__("eVuF");
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
-  try {
-    var info = gen[key](arg);
-    var value = info.value;
-  } catch (error) {
-    reject(error);
-    return;
-  }
-
-  if (info.done) {
-    resolve(value);
-  } else {
-    _Promise.resolve(value).then(_next, _throw);
-  }
-}
-
-function _asyncToGenerator(fn) {
-  return function () {
-    var self = this,
-        args = arguments;
-    return new _Promise(function (resolve, reject) {
-      var gen = fn.apply(self, args);
-
-      function _next(value) {
-        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
-      }
-
-      function _throw(err) {
-        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
-      }
-
-      _next(undefined);
-    });
-  };
-}
-
-module.exports = _asyncToGenerator;
-
-/***/ }),
-
 /***/ "B5Ud":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -66,7 +21,7 @@ var _react = _interopRequireDefault(__webpack_require__("q1tI"));
 
 var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 
 exports.AppInitialProps = _utils.AppInitialProps;
 
@@ -205,4 +160,4 @@ function createUrl(router) {
 
 /***/ })
 
-},[["e9+W",0,1,2]]]);
\ No newline at end of file
+},[["e9+W",0,1,2,3]]]);
\ No newline at end of file
Diff for _error.module.js

Diff too large to display

Diff for link.module.js
@@ -108,6 +108,43 @@ module.exports = function (original) {
 
 /***/ }),
 
+/***/ "EXMj":
+/***/ (function(module, exports) {
+
+module.exports = function (it, Constructor, name, forbiddenField) {
+  if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {
+    throw TypeError(name + ': incorrect invocation!');
+  } return it;
+};
+
+
+/***/ }),
+
+/***/ "FlQf":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var $at = __webpack_require__("ccE7")(true);
+
+// 21.1.3.27 String.prototype[@@iterator]()
+__webpack_require__("MPFp")(String, 'String', function (iterated) {
+  this._t = String(iterated); // target
+  this._i = 0;                // next index
+// 21.1.5.2.1 %StringIteratorPrototype%.next()
+}, function () {
+  var O = this._t;
+  var index = this._i;
+  var point;
+  if (index >= O.length) return { value: undefined, done: true };
+  point = $at(O, index);
+  this._i += point.length;
+  return { value: point, done: false };
+});
+
+
+/***/ }),
+
 /***/ "LX0d":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -115,6 +152,107 @@ module.exports = __webpack_require__("UDep");
 
 /***/ }),
 
+/***/ "MPFp":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var LIBRARY = __webpack_require__("uOPS");
+var $export = __webpack_require__("Y7ZC");
+var redefine = __webpack_require__("kTiW");
+var hide = __webpack_require__("NegM");
+var Iterators = __webpack_require__("SBuE");
+var $iterCreate = __webpack_require__("j2DC");
+var setToStringTag = __webpack_require__("RfKB");
+var getPrototypeOf = __webpack_require__("U+KD");
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`
+var FF_ITERATOR = '@@iterator';
+var KEYS = 'keys';
+var VALUES = 'values';
+
+var returnThis = function () { return this; };
+
+module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {
+  $iterCreate(Constructor, NAME, next);
+  var getMethod = function (kind) {
+    if (!BUGGY && kind in proto) return proto[kind];
+    switch (kind) {
+      case KEYS: return function keys() { return new Constructor(this, kind); };
+      case VALUES: return function values() { return new Constructor(this, kind); };
+    } return function entries() { return new Constructor(this, kind); };
+  };
+  var TAG = NAME + ' Iterator';
+  var DEF_VALUES = DEFAULT == VALUES;
+  var VALUES_BUG = false;
+  var proto = Base.prototype;
+  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];
+  var $default = $native || getMethod(DEFAULT);
+  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;
+  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;
+  var methods, key, IteratorPrototype;
+  // Fix native
+  if ($anyNative) {
+    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));
+    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {
+      // Set @@toStringTag to native iterators
+      setToStringTag(IteratorPrototype, TAG, true);
+      // fix for some old engines
+      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);
+    }
+  }
+  // fix Array#{values, @@iterator}.name in V8 / FF
+  if (DEF_VALUES && $native && $native.name !== VALUES) {
+    VALUES_BUG = true;
+    $default = function values() { return $native.call(this); };
+  }
+  // Define iterator
+  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {
+    hide(proto, ITERATOR, $default);
+  }
+  // Plug for library
+  Iterators[NAME] = $default;
+  Iterators[TAG] = returnThis;
+  if (DEFAULT) {
+    methods = {
+      values: DEF_VALUES ? $default : getMethod(VALUES),
+      keys: IS_SET ? $default : getMethod(KEYS),
+      entries: $entries
+    };
+    if (FORCED) for (key in methods) {
+      if (!(key in proto)) redefine(proto, key, methods[key]);
+    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
+  }
+  return methods;
+};
+
+
+/***/ }),
+
+/***/ "MvwC":
+/***/ (function(module, exports, __webpack_require__) {
+
+var document = __webpack_require__("5T2Y").document;
+module.exports = document && document.documentElement;
+
+
+/***/ }),
+
+/***/ "NwJ3":
+/***/ (function(module, exports, __webpack_require__) {
+
+// check on default Array iterator
+var Iterators = __webpack_require__("SBuE");
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var ArrayProto = Array.prototype;
+
+module.exports = function (it) {
+  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
+};
+
+
+/***/ }),
+
 /***/ "ObF3":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
@@ -140,6 +278,36 @@ aLink.getInitialProps = () => ({});
 
 /***/ }),
 
+/***/ "QMMT":
+/***/ (function(module, exports, __webpack_require__) {
+
+// getting tag from 19.1.3.6 Object.prototype.toString()
+var cof = __webpack_require__("a0xu");
+var TAG = __webpack_require__("UWiX")('toStringTag');
+// ES3 wrong here
+var ARG = cof(function () { return arguments; }()) == 'Arguments';
+
+// fallback for IE11 Script Access Denied error
+var tryGet = function (it, key) {
+  try {
+    return it[key];
+  } catch (e) { /* empty */ }
+};
+
+module.exports = function (it) {
+  var O, T, B;
+  return it === undefined ? 'Undefined' : it === null ? 'Null'
+    // @@toStringTag case
+    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T
+    // builtinTag case
+    : ARG ? cof(O)
+    // ES3 arguments fallback
+    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
+};
+
+
+/***/ }),
+
 /***/ "RRc/":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -154,6 +322,70 @@ module.exports = function (iter, ITERATOR) {
 
 /***/ }),
 
+/***/ "RfKB":
+/***/ (function(module, exports, __webpack_require__) {
+
+var def = __webpack_require__("2faE").f;
+var has = __webpack_require__("B+OT");
+var TAG = __webpack_require__("UWiX")('toStringTag');
+
+module.exports = function (it, tag, stat) {
+  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });
+};
+
+
+/***/ }),
+
+/***/ "SBuE":
+/***/ (function(module, exports) {
+
+module.exports = {};
+
+
+/***/ }),
+
+/***/ "TJWN":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var global = __webpack_require__("5T2Y");
+var core = __webpack_require__("WEpk");
+var dP = __webpack_require__("2faE");
+var DESCRIPTORS = __webpack_require__("jmDH");
+var SPECIES = __webpack_require__("UWiX")('species');
+
+module.exports = function (KEY) {
+  var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];
+  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {
+    configurable: true,
+    get: function () { return this; }
+  });
+};
+
+
+/***/ }),
+
+/***/ "U+KD":
+/***/ (function(module, exports, __webpack_require__) {
+
+// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
+var has = __webpack_require__("B+OT");
+var toObject = __webpack_require__("JB68");
+var IE_PROTO = __webpack_require__("VVlx")('IE_PROTO');
+var ObjectProto = Object.prototype;
+
+module.exports = Object.getPrototypeOf || function (O) {
+  O = toObject(O);
+  if (has(O, IE_PROTO)) return O[IE_PROTO];
+  if (typeof O.constructor == 'function' && O instanceof O.constructor) {
+    return O.constructor.prototype;
+  } return O instanceof Object ? ObjectProto : null;
+};
+
+
+/***/ }),
+
 /***/ "UDep":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -169,6 +401,34 @@ module.exports = __webpack_require__("WEpk").Map;
 
 /***/ }),
 
+/***/ "UO39":
+/***/ (function(module, exports) {
+
+module.exports = function (done, value) {
+  return { value: value, done: !!done };
+};
+
+
+/***/ }),
+
+/***/ "UWiX":
+/***/ (function(module, exports, __webpack_require__) {
+
+var store = __webpack_require__("29s/")('wks');
+var uid = __webpack_require__("YqAc");
+var Symbol = __webpack_require__("5T2Y").Symbol;
+var USE_SYMBOL = typeof Symbol == 'function';
+
+var $exports = module.exports = function (name) {
+  return store[name] || (store[name] =
+    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));
+};
+
+$exports.store = store;
+
+
+/***/ }),
+
 /***/ "V7Et":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -385,6 +645,20 @@ module.exports = {
 
 /***/ }),
 
+/***/ "XJU/":
+/***/ (function(module, exports, __webpack_require__) {
+
+var hide = __webpack_require__("NegM");
+module.exports = function (target, src, safe) {
+  for (var key in src) {
+    if (safe && target[key]) target[key] = src[key];
+    else hide(target, key, src[key]);
+  } return target;
+};
+
+
+/***/ }),
+
 /***/ "XLbu":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -440,6 +714,32 @@ module.exports = function (COLLECTION) {
 
 /***/ }),
 
+/***/ "bBy9":
+/***/ (function(module, exports, __webpack_require__) {
+
+__webpack_require__("w2d+");
+var global = __webpack_require__("5T2Y");
+var hide = __webpack_require__("NegM");
+var Iterators = __webpack_require__("SBuE");
+var TO_STRING_TAG = __webpack_require__("UWiX")('toStringTag');
+
+var DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +
+  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +
+  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +
+  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +
+  'TextTrackList,TouchList').split(',');
+
+for (var i = 0; i < DOMIterables.length; i++) {
+  var NAME = DOMIterables[i];
+  var Collection = global[NAME];
+  var proto = Collection && Collection.prototype;
+  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);
+  Iterators[NAME] = Iterators.Array;
+}
+
+
+/***/ }),
+
 /***/ "cHUd":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -483,9 +783,9 @@ var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
 var _router = _interopRequireDefault(__webpack_require__("nOHt"));
 
-var _rewriteUrlForExport = __webpack_require__("KA3u");
+var _rewriteUrlForExport = __webpack_require__("P5f7");
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 /* global __NEXT_DATA__ */
 
 
@@ -731,6 +1031,30 @@ exports.default = _default;
 
 /***/ }),
 
+/***/ "ccE7":
+/***/ (function(module, exports, __webpack_require__) {
+
+var toInteger = __webpack_require__("Ojgd");
+var defined = __webpack_require__("Jes0");
+// true  -> String#at
+// false -> String#codePointAt
+module.exports = function (TO_STRING) {
+  return function (that, pos) {
+    var s = String(defined(that));
+    var i = toInteger(pos);
+    var l = s.length;
+    var a, b;
+    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;
+    a = s.charCodeAt(i);
+    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff
+      ? TO_STRING ? s.charAt(i) : a
+      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
+  };
+};
+
+
+/***/ }),
+
 /***/ "dVTT":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -740,6 +1064,41 @@ __webpack_require__("aPfg")('Map');
 
 /***/ }),
 
+/***/ "fNZA":
+/***/ (function(module, exports, __webpack_require__) {
+
+var classof = __webpack_require__("QMMT");
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var Iterators = __webpack_require__("SBuE");
+module.exports = __webpack_require__("WEpk").getIteratorMethod = function (it) {
+  if (it != undefined) return it[ITERATOR]
+    || it['@@iterator']
+    || Iterators[classof(it)];
+};
+
+
+/***/ }),
+
+/***/ "fpC5":
+/***/ (function(module, exports, __webpack_require__) {
+
+var dP = __webpack_require__("2faE");
+var anObject = __webpack_require__("5K7Z");
+var getKeys = __webpack_require__("w6GO");
+
+module.exports = __webpack_require__("jmDH") ? Object.defineProperties : function defineProperties(O, Properties) {
+  anObject(O);
+  var keys = getKeys(Properties);
+  var length = keys.length;
+  var i = 0;
+  var P;
+  while (length > i) dP.f(O, P = keys[i++], Properties[P]);
+  return O;
+};
+
+
+/***/ }),
+
 /***/ "g33z":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -767,6 +1126,35 @@ module.exports = __webpack_require__("raTm")(MAP, function (get) {
 
 /***/ }),
 
+/***/ "hDam":
+/***/ (function(module, exports) {
+
+module.exports = function () { /* empty */ };
+
+
+/***/ }),
+
+/***/ "j2DC":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var create = __webpack_require__("oVml");
+var descriptor = __webpack_require__("rr1i");
+var setToStringTag = __webpack_require__("RfKB");
+var IteratorPrototype = {};
+
+// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
+__webpack_require__("NegM")(IteratorPrototype, __webpack_require__("UWiX")('iterator'), function () { return this; });
+
+module.exports = function (Constructor, NAME, next) {
+  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });
+  setToStringTag(Constructor, NAME + ' Iterator');
+};
+
+
+/***/ }),
+
 /***/ "kAMH":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -779,6 +1167,14 @@ module.exports = Array.isArray || function isArray(arg) {
 
 /***/ }),
 
+/***/ "kTiW":
+/***/ (function(module, exports, __webpack_require__) {
+
+module.exports = __webpack_require__("NegM");
+
+
+/***/ }),
+
 /***/ "n3ko":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -791,6 +1187,86 @@ module.exports = function (it, TYPE) {
 
 /***/ }),
 
+/***/ "oVml":
+/***/ (function(module, exports, __webpack_require__) {
+
+// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
+var anObject = __webpack_require__("5K7Z");
+var dPs = __webpack_require__("fpC5");
+var enumBugKeys = __webpack_require__("FpHa");
+var IE_PROTO = __webpack_require__("VVlx")('IE_PROTO');
+var Empty = function () { /* empty */ };
+var PROTOTYPE = 'prototype';
+
+// Create object with fake `null` prototype: use iframe Object with cleared prototype
+var createDict = function () {
+  // Thrash, waste and sodomy: IE GC bug
+  var iframe = __webpack_require__("Hsns")('iframe');
+  var i = enumBugKeys.length;
+  var lt = '<';
+  var gt = '>';
+  var iframeDocument;
+  iframe.style.display = 'none';
+  __webpack_require__("MvwC").appendChild(iframe);
+  iframe.src = 'javascript:'; // eslint-disable-line no-script-url
+  // createDict = iframe.contentWindow.Object;
+  // html.removeChild(iframe);
+  iframeDocument = iframe.contentWindow.document;
+  iframeDocument.open();
+  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);
+  iframeDocument.close();
+  createDict = iframeDocument.F;
+  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];
+  return createDict();
+};
+
+module.exports = Object.create || function create(O, Properties) {
+  var result;
+  if (O !== null) {
+    Empty[PROTOTYPE] = anObject(O);
+    result = new Empty();
+    Empty[PROTOTYPE] = null;
+    // add "__proto__" for Object.getPrototypeOf polyfill
+    result[IE_PROTO] = O;
+  } else result = createDict();
+  return Properties === undefined ? result : dPs(result, Properties);
+};
+
+
+/***/ }),
+
+/***/ "oioR":
+/***/ (function(module, exports, __webpack_require__) {
+
+var ctx = __webpack_require__("2GTP");
+var call = __webpack_require__("sNwI");
+var isArrayIter = __webpack_require__("NwJ3");
+var anObject = __webpack_require__("5K7Z");
+var toLength = __webpack_require__("tEej");
+var getIterFn = __webpack_require__("fNZA");
+var BREAK = {};
+var RETURN = {};
+var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {
+  var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);
+  var f = ctx(fn, that, entries ? 2 : 1);
+  var index = 0;
+  var length, step, iterator, result;
+  if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');
+  // fast case for arrays with default iterator
+  if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {
+    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
+    if (result === BREAK || result === RETURN) return result;
+  } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {
+    result = call(iterator, f, step.value, entries);
+    if (result === BREAK || result === RETURN) return result;
+  }
+};
+exports.BREAK = BREAK;
+exports.RETURN = RETURN;
+
+
+/***/ }),
+
 /***/ "raTm":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -858,6 +1334,25 @@ module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
 
 /***/ }),
 
+/***/ "sNwI":
+/***/ (function(module, exports, __webpack_require__) {
+
+// call something on iterator step with safe closing on error
+var anObject = __webpack_require__("5K7Z");
+module.exports = function (iterator, fn, value, entries) {
+  try {
+    return entries ? fn(anObject(value)[0], value[1]) : fn(value);
+  // 7.4.6 IteratorClose(iterator, completion)
+  } catch (e) {
+    var ret = iterator['return'];
+    if (ret !== undefined) anObject(ret.call(iterator));
+    throw e;
+  }
+};
+
+
+/***/ }),
+
 /***/ "v6xn":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -869,6 +1364,55 @@ module.exports = function (original, length) {
 };
 
 
+/***/ }),
+
+/***/ "w2d+":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var addToUnscopables = __webpack_require__("hDam");
+var step = __webpack_require__("UO39");
+var Iterators = __webpack_require__("SBuE");
+var toIObject = __webpack_require__("NsO/");
+
+// 22.1.3.4 Array.prototype.entries()
+// 22.1.3.13 Array.prototype.keys()
+// 22.1.3.29 Array.prototype.values()
+// 22.1.3.30 Array.prototype[@@iterator]()
+module.exports = __webpack_require__("MPFp")(Array, 'Array', function (iterated, kind) {
+  this._t = toIObject(iterated); // target
+  this._i = 0;                   // next index
+  this._k = kind;                // kind
+// 22.1.5.2.1 %ArrayIteratorPrototype%.next()
+}, function () {
+  var O = this._t;
+  var kind = this._k;
+  var index = this._i++;
+  if (!O || index >= O.length) {
+    this._t = undefined;
+    return step(1);
+  }
+  if (kind == 'keys') return step(0, index);
+  if (kind == 'values') return step(0, O[index]);
+  return step(0, [index, O[index]]);
+}, 'values');
+
+// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
+Iterators.Arguments = Iterators.Array;
+
+addToUnscopables('keys');
+addToUnscopables('values');
+addToUnscopables('entries');
+
+
+/***/ }),
+
+/***/ "wgeU":
+/***/ (function(module, exports) {
+
+
+
 /***/ })
 
 },[["V8Sf",0,1,2]]]);
\ No newline at end of file
Diff for index.html
@@ -6,19 +6,21 @@
         <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"
         />
         <meta name="next-head-count" content="2" />
-        <link rel="preload" href="/_next/static/yJZwB5nf-J57Mn7_OpVo5/pages/index.module.js"
+        <link rel="preload" href="/_next/static/SWgPdKv_YJeH-Iqq4ZDIQ/pages/index.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/yJZwB5nf-J57Mn7_OpVo5/pages/_app.module.js"
+        <link rel="preload" href="/_next/static/SWgPdKv_YJeH-Iqq4ZDIQ/pages/_app.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-483060e2d6035b2b34a4.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-ad663b91827c032d10af.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/50b8aca70cab93aa4efe09056cc6b84a68b6ee2a.c659a74b6088e6ac1abe.module.js"
+        <link rel="preload" href="/_next/static/chunks/a6946e2b4ef2cc43656d4fb2bdef782336b5c315.4d964fd8388c4017eabc.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/yJZwB5nf-J57Mn7_OpVo5/_buildManifest.module.js"
+        <link rel="preload" href="/_next/static/chunks/6a7c62f25ada9f186f9135a208d55565b0defe9b.3f4abea1185a064f32e0.module.js"
+        as="script" crossorigin="anonymous" />
+        <link rel="preload" href="/_next/static/SWgPdKv_YJeH-Iqq4ZDIQ/_buildManifest.module.js"
         as="script" crossorigin="anonymous" />
     </head>
     
@@ -26,40 +28,44 @@
         <div id="__next">Hello world 👋</div>
         <script id="__NEXT_DATA__" type="application/json"
         crossorigin="anonymous">
-            {"dataManager":"[]","props":{"pageProps":{}},"page":"/","query":{},"buildId":"yJZwB5nf-J57Mn7_OpVo5"}
+            {"dataManager":"[]","props":{"pageProps":{}},"page":"/","query":{},"buildId":"SWgPdKv_YJeH-Iqq4ZDIQ"}
         </script>
         <script crossorigin="anonymous" nomodule="">
             !function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();
         </script>
-        <script async="" data-next-page="/" src="/_next/static/yJZwB5nf-J57Mn7_OpVo5/pages/index.js"
+        <script async="" data-next-page="/" src="/_next/static/SWgPdKv_YJeH-Iqq4ZDIQ/pages/index.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/" src="/_next/static/yJZwB5nf-J57Mn7_OpVo5/pages/index.module.js"
+        <script async="" data-next-page="/" src="/_next/static/SWgPdKv_YJeH-Iqq4ZDIQ/pages/index.module.js"
         crossorigin="anonymous" type="module"></script>
-        <script async="" data-next-page="/_app" src="/_next/static/yJZwB5nf-J57Mn7_OpVo5/pages/_app.js"
+        <script async="" data-next-page="/_app" src="/_next/static/SWgPdKv_YJeH-Iqq4ZDIQ/pages/_app.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/_app" src="/_next/static/yJZwB5nf-J57Mn7_OpVo5/pages/_app.module.js"
+        <script async="" data-next-page="/_app" src="/_next/static/SWgPdKv_YJeH-Iqq4ZDIQ/pages/_app.module.js"
         crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/runtime/webpack-a470c2a25bcb4d5a8ec0.js"
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-9298f258fb060d828de6.js"
+        <script src="/_next/static/runtime/main-180584bec36c54d411f9.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-483060e2d6035b2b34a4.module.js"
+        <script src="/_next/static/runtime/main-ad663b91827c032d10af.module.js"
         async="" crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.js"
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/9c00ddc62ff9ef0a28dc53871b345b8f5692d641.155621535702fe040780.js"
+        <script src="/_next/static/chunks/677222134960c08af8f8970a7b798e40214adf61.51a842c47a941d029b87.js"
+        async="" crossorigin="anonymous" nomodule=""></script>
+        <script src="/_next/static/chunks/a6946e2b4ef2cc43656d4fb2bdef782336b5c315.8ec578cd8cb4c871a95f.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/50b8aca70cab93aa4efe09056cc6b84a68b6ee2a.f6f7599a2edf91d8366a.js"
+        <script src="/_next/static/chunks/a6946e2b4ef2cc43656d4fb2bdef782336b5c315.4d964fd8388c4017eabc.module.js"
+        async="" crossorigin="anonymous" type="module"></script>
+        <script src="/_next/static/chunks/6a7c62f25ada9f186f9135a208d55565b0defe9b.883a35a4990b7a95e5bc.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/50b8aca70cab93aa4efe09056cc6b84a68b6ee2a.c659a74b6088e6ac1abe.module.js"
+        <script src="/_next/static/chunks/6a7c62f25ada9f186f9135a208d55565b0defe9b.3f4abea1185a064f32e0.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/yJZwB5nf-J57Mn7_OpVo5/_buildManifest.js"
+        <script src="/_next/static/SWgPdKv_YJeH-Iqq4ZDIQ/_buildManifest.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/yJZwB5nf-J57Mn7_OpVo5/_buildManifest.module.js"
+        <script src="/_next/static/SWgPdKv_YJeH-Iqq4ZDIQ/_buildManifest.module.js"
         async="" crossorigin="anonymous" type="module"></script>
     </body>
Diff for link.html
@@ -6,19 +6,21 @@
         <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"
         />
         <meta name="next-head-count" content="2" />
-        <link rel="preload" href="/_next/static/yJZwB5nf-J57Mn7_OpVo5/pages/link.module.js"
+        <link rel="preload" href="/_next/static/SWgPdKv_YJeH-Iqq4ZDIQ/pages/link.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/yJZwB5nf-J57Mn7_OpVo5/pages/_app.module.js"
+        <link rel="preload" href="/_next/static/SWgPdKv_YJeH-Iqq4ZDIQ/pages/_app.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/50b8aca70cab93aa4efe09056cc6b84a68b6ee2a.c659a74b6088e6ac1abe.module.js"
+        <link rel="preload" href="/_next/static/chunks/a6946e2b4ef2cc43656d4fb2bdef782336b5c315.4d964fd8388c4017eabc.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-483060e2d6035b2b34a4.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-ad663b91827c032d10af.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/yJZwB5nf-J57Mn7_OpVo5/_buildManifest.module.js"
+        <link rel="preload" href="/_next/static/chunks/6a7c62f25ada9f186f9135a208d55565b0defe9b.3f4abea1185a064f32e0.module.js"
+        as="script" crossorigin="anonymous" />
+        <link rel="preload" href="/_next/static/SWgPdKv_YJeH-Iqq4ZDIQ/_buildManifest.module.js"
         as="script" crossorigin="anonymous" />
     </head>
     
@@ -29,18 +31,18 @@
             </div>
         </div>
         <script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">
-            {"dataManager":"[]","props":{"pageProps":{}},"page":"/link","query":{},"buildId":"yJZwB5nf-J57Mn7_OpVo5"}
+            {"dataManager":"[]","props":{"pageProps":{}},"page":"/link","query":{},"buildId":"SWgPdKv_YJeH-Iqq4ZDIQ"}
         </script>
         <script crossorigin="anonymous" nomodule="">
             !function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();
         </script>
-        <script async="" data-next-page="/link" src="/_next/static/yJZwB5nf-J57Mn7_OpVo5/pages/link.js"
+        <script async="" data-next-page="/link" src="/_next/static/SWgPdKv_YJeH-Iqq4ZDIQ/pages/link.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/link" src="/_next/static/yJZwB5nf-J57Mn7_OpVo5/pages/link.module.js"
+        <script async="" data-next-page="/link" src="/_next/static/SWgPdKv_YJeH-Iqq4ZDIQ/pages/link.module.js"
         crossorigin="anonymous" type="module"></script>
-        <script async="" data-next-page="/_app" src="/_next/static/yJZwB5nf-J57Mn7_OpVo5/pages/_app.js"
+        <script async="" data-next-page="/_app" src="/_next/static/SWgPdKv_YJeH-Iqq4ZDIQ/pages/_app.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/_app" src="/_next/static/yJZwB5nf-J57Mn7_OpVo5/pages/_app.module.js"
+        <script async="" data-next-page="/_app" src="/_next/static/SWgPdKv_YJeH-Iqq4ZDIQ/pages/_app.module.js"
         crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/runtime/webpack-a470c2a25bcb4d5a8ec0.js"
         async="" crossorigin="anonymous" nomodule=""></script>
@@ -50,19 +52,23 @@
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/9c00ddc62ff9ef0a28dc53871b345b8f5692d641.155621535702fe040780.js"
+        <script src="/_next/static/chunks/677222134960c08af8f8970a7b798e40214adf61.51a842c47a941d029b87.js"
+        async="" crossorigin="anonymous" nomodule=""></script>
+        <script src="/_next/static/chunks/a6946e2b4ef2cc43656d4fb2bdef782336b5c315.8ec578cd8cb4c871a95f.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/50b8aca70cab93aa4efe09056cc6b84a68b6ee2a.f6f7599a2edf91d8366a.js"
+        <script src="/_next/static/chunks/a6946e2b4ef2cc43656d4fb2bdef782336b5c315.4d964fd8388c4017eabc.module.js"
+        async="" crossorigin="anonymous" type="module"></script>
+        <script src="/_next/static/runtime/main-180584bec36c54d411f9.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/50b8aca70cab93aa4efe09056cc6b84a68b6ee2a.c659a74b6088e6ac1abe.module.js"
+        <script src="/_next/static/runtime/main-ad663b91827c032d10af.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-9298f258fb060d828de6.js"
+        <script src="/_next/static/chunks/6a7c62f25ada9f186f9135a208d55565b0defe9b.883a35a4990b7a95e5bc.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-483060e2d6035b2b34a4.module.js"
+        <script src="/_next/static/chunks/6a7c62f25ada9f186f9135a208d55565b0defe9b.3f4abea1185a064f32e0.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/yJZwB5nf-J57Mn7_OpVo5/_buildManifest.js"
+        <script src="/_next/static/SWgPdKv_YJeH-Iqq4ZDIQ/_buildManifest.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/yJZwB5nf-J57Mn7_OpVo5/_buildManifest.module.js"
+        <script src="/_next/static/SWgPdKv_YJeH-Iqq4ZDIQ/_buildManifest.module.js"
         async="" crossorigin="anonymous" type="module"></script>
     </body>
Diff for withRouter.html
@@ -6,19 +6,21 @@
         <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"
         />
         <meta name="next-head-count" content="2" />
-        <link rel="preload" href="/_next/static/yJZwB5nf-J57Mn7_OpVo5/pages/withRouter.module.js"
+        <link rel="preload" href="/_next/static/SWgPdKv_YJeH-Iqq4ZDIQ/pages/withRouter.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/yJZwB5nf-J57Mn7_OpVo5/pages/_app.module.js"
+        <link rel="preload" href="/_next/static/SWgPdKv_YJeH-Iqq4ZDIQ/pages/_app.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/50b8aca70cab93aa4efe09056cc6b84a68b6ee2a.c659a74b6088e6ac1abe.module.js"
+        <link rel="preload" href="/_next/static/chunks/a6946e2b4ef2cc43656d4fb2bdef782336b5c315.4d964fd8388c4017eabc.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-483060e2d6035b2b34a4.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-ad663b91827c032d10af.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/yJZwB5nf-J57Mn7_OpVo5/_buildManifest.module.js"
+        <link rel="preload" href="/_next/static/chunks/6a7c62f25ada9f186f9135a208d55565b0defe9b.3f4abea1185a064f32e0.module.js"
+        as="script" crossorigin="anonymous" />
+        <link rel="preload" href="/_next/static/SWgPdKv_YJeH-Iqq4ZDIQ/_buildManifest.module.js"
         as="script" crossorigin="anonymous" />
     </head>
     
@@ -27,18 +29,18 @@
             <div>I use withRouter</div>
         </div>
         <script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">
-            {"dataManager":"[]","props":{"pageProps":{}},"page":"/withRouter","query":{},"buildId":"yJZwB5nf-J57Mn7_OpVo5"}
+            {"dataManager":"[]","props":{"pageProps":{}},"page":"/withRouter","query":{},"buildId":"SWgPdKv_YJeH-Iqq4ZDIQ"}
         </script>
         <script crossorigin="anonymous" nomodule="">
             !function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();
         </script>
-        <script async="" data-next-page="/withRouter" src="/_next/static/yJZwB5nf-J57Mn7_OpVo5/pages/withRouter.js"
+        <script async="" data-next-page="/withRouter" src="/_next/static/SWgPdKv_YJeH-Iqq4ZDIQ/pages/withRouter.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/withRouter" src="/_next/static/yJZwB5nf-J57Mn7_OpVo5/pages/withRouter.module.js"
+        <script async="" data-next-page="/withRouter" src="/_next/static/SWgPdKv_YJeH-Iqq4ZDIQ/pages/withRouter.module.js"
         crossorigin="anonymous" type="module"></script>
-        <script async="" data-next-page="/_app" src="/_next/static/yJZwB5nf-J57Mn7_OpVo5/pages/_app.js"
+        <script async="" data-next-page="/_app" src="/_next/static/SWgPdKv_YJeH-Iqq4ZDIQ/pages/_app.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/_app" src="/_next/static/yJZwB5nf-J57Mn7_OpVo5/pages/_app.module.js"
+        <script async="" data-next-page="/_app" src="/_next/static/SWgPdKv_YJeH-Iqq4ZDIQ/pages/_app.module.js"
         crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/runtime/webpack-a470c2a25bcb4d5a8ec0.js"
         async="" crossorigin="anonymous" nomodule=""></script>
@@ -48,19 +50,23 @@
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/9c00ddc62ff9ef0a28dc53871b345b8f5692d641.155621535702fe040780.js"
+        <script src="/_next/static/chunks/677222134960c08af8f8970a7b798e40214adf61.51a842c47a941d029b87.js"
+        async="" crossorigin="anonymous" nomodule=""></script>
+        <script src="/_next/static/chunks/a6946e2b4ef2cc43656d4fb2bdef782336b5c315.8ec578cd8cb4c871a95f.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/50b8aca70cab93aa4efe09056cc6b84a68b6ee2a.f6f7599a2edf91d8366a.js"
+        <script src="/_next/static/chunks/a6946e2b4ef2cc43656d4fb2bdef782336b5c315.4d964fd8388c4017eabc.module.js"
+        async="" crossorigin="anonymous" type="module"></script>
+        <script src="/_next/static/runtime/main-180584bec36c54d411f9.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/50b8aca70cab93aa4efe09056cc6b84a68b6ee2a.c659a74b6088e6ac1abe.module.js"
+        <script src="/_next/static/runtime/main-ad663b91827c032d10af.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-9298f258fb060d828de6.js"
+        <script src="/_next/static/chunks/6a7c62f25ada9f186f9135a208d55565b0defe9b.883a35a4990b7a95e5bc.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-483060e2d6035b2b34a4.module.js"
+        <script src="/_next/static/chunks/6a7c62f25ada9f186f9135a208d55565b0defe9b.3f4abea1185a064f32e0.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/yJZwB5nf-J57Mn7_OpVo5/_buildManifest.js"
+        <script src="/_next/static/SWgPdKv_YJeH-Iqq4ZDIQ/_buildManifest.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/yJZwB5nf-J57Mn7_OpVo5/_buildManifest.module.js"
+        <script src="/_next/static/SWgPdKv_YJeH-Iqq4ZDIQ/_buildManifest.module.js"
         async="" crossorigin="anonymous" type="module"></script>
     </body>

Serverless Mode (Increase detected ⚠️)
General Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
buildDuration 23.2s 20.5s -2.7s
nodeModulesSize 42 MB 42 MB -26.3 kB
Client Bundles (main, webpack, commons) Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
main-HASH.js 18.3 kB 14.4 kB -3.84 kB
main-HASH.js gzip 6.67 kB 5.12 kB -1.55 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
Overall change -3.84 kB
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
main-HASH.module.js 16.6 kB 10.8 kB -5.76 kB
main-HASH.module.js gzip 6.39 kB 4.03 kB -2.37 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH.module.js gzip 746 B 746 B
Overall change -5.76 kB
Client Pages Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_app.js 1.83 kB 1.84 kB ⚠️ +2 B
_app.js gzip 884 B 885 B ⚠️ +1 B
_error.js 12.1 kB 5.36 kB -6.75 kB
_error.js gzip 4.76 kB 2.14 kB -2.62 kB
hooks.js 12.7 kB 12.7 kB
hooks.js gzip 4.81 kB 4.81 kB
index.js 343 B 343 B
index.js gzip 237 B 237 B
link.js 8.14 kB 9.93 kB ⚠️ +1.79 kB
link.js gzip 3.49 kB 4.13 kB ⚠️ +636 B
routerDirect.js 433 B 434 B ⚠️ +1 B
routerDirect.js gzip 296 B 296 B
withRouter.js 444 B 444 B
withRouter.js gzip 294 B 294 B
Overall change -4.96 kB
Client Pages Modern Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_app.module.js 1.73 kB 1.38 kB -349 B
_app.module.js gzip 840 B 695 B -145 B
_error.module.js 23.3 kB 6.21 kB -17.1 kB
_error.module.js gzip 8.62 kB 2.46 kB -6.16 kB
hooks.module.js 1.55 kB 1.55 kB
hooks.module.js gzip 804 B 805 B ⚠️ +1 B
index.module.js 319 B 319 B
index.module.js gzip 238 B 238 B
link.module.js 8.52 kB 14.6 kB ⚠️ +6.11 kB
link.module.js gzip 3.68 kB 5.98 kB ⚠️ +2.3 kB
routerDirect.module.js 419 B 420 B ⚠️ +1 B
routerDirect.module.js gzip 294 B 295 B ⚠️ +1 B
withRouter.module.js 429 B 430 B ⚠️ +1 B
withRouter.module.js gzip 293 B 293 B
Overall change -11.3 kB
Client Build Manifests
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_buildManifest.js 81 B 81 B
_buildManifest.js gzip 61 B 61 B
_buildManifest.module.js 81 B 81 B
_buildManifest.module.js gzip 61 B 61 B
Overall change
Serverless bundles Overall increase ⚠️
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_error.js 248 kB 249 kB ⚠️ +1.27 kB
_error.js gzip 66.5 kB 66.1 kB -440 B
hooks.html 3.86 kB 4.34 kB ⚠️ +474 B
hooks.html gzip 983 B 1.06 kB ⚠️ +73 B
index.js 248 kB 250 kB ⚠️ +1.23 kB
index.js gzip 66.6 kB 66.3 kB -261 B
link.js 256 kB 259 kB ⚠️ +3.06 kB
link.js gzip 68.9 kB 68.8 kB -187 B
routerDirect.js 249 kB 250 kB ⚠️ +1.23 kB
routerDirect.js gzip 66.9 kB 66.4 kB -505 B
withRouter.js 249 kB 250 kB ⚠️ +1.23 kB
withRouter.js gzip 66.9 kB 66.4 kB -504 B
Overall change ⚠️ +8.5 kB

@ijjk
Copy link
Member

ijjk commented Sep 4, 2019

Stats from current PR

Default Server Mode (Decrease detected ✓)
General Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
buildDuration 25.4s 25.2s -225ms
nodeModulesSize 42 MB 42 MB -26.3 kB
Client Bundles (main, webpack, commons) Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
main-HASH.js 18.3 kB 18.2 kB -42 B
main-HASH.js gzip 6.67 kB 6.64 kB -29 B
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
Overall change -42 B
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
main-HASH.module.js 16.6 kB 16.6 kB -42 B
main-HASH.module.js gzip 6.39 kB 6.38 kB -10 B
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH.module.js gzip 746 B 746 B
Overall change -42 B
Client Pages Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_app.js 1.83 kB 1.83 kB
_app.js gzip 884 B 883 B -1 B
_error.js 12.1 kB 12.1 kB -44 B
_error.js gzip 4.76 kB 4.74 kB -16 B
hooks.js 12.7 kB 12.7 kB
hooks.js gzip 4.81 kB 4.81 kB
index.js 343 B 343 B
index.js gzip 237 B 237 B
link.js 8.14 kB 8.14 kB
link.js gzip 3.49 kB 3.49 kB -1 B
routerDirect.js 433 B 433 B
routerDirect.js gzip 296 B 296 B
withRouter.js 444 B 444 B
withRouter.js gzip 294 B 294 B
Overall change -44 B
Client Pages Modern Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_app.module.js 1.73 kB 1.73 kB
_app.module.js gzip 840 B 841 B ⚠️ +1 B
_error.module.js 23.3 kB 23.3 kB -44 B
_error.module.js gzip 8.62 kB 8.6 kB -22 B
hooks.module.js 1.55 kB 1.55 kB
hooks.module.js gzip 804 B 804 B
index.module.js 319 B 319 B
index.module.js gzip 238 B 238 B
link.module.js 8.52 kB 8.52 kB
link.module.js gzip 3.68 kB 3.67 kB -3 B
routerDirect.module.js 419 B 419 B
routerDirect.module.js gzip 294 B 294 B
withRouter.module.js 429 B 429 B
withRouter.module.js gzip 293 B 293 B
Overall change -44 B
Client Build Manifests
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_buildManifest.js 81 B 81 B
_buildManifest.js gzip 61 B 61 B
_buildManifest.module.js 81 B 81 B
_buildManifest.module.js gzip 61 B 61 B
Overall change
Rendered Page Sizes
zeit/next.js canary timneutkens/next.js add/move-next-server Change
index.html 3.75 kB 3.75 kB
index.html gzip 963 B 959 B -4 B
link.html 3.79 kB 3.79 kB
link.html gzip 970 B 967 B -3 B
withRouter.html 3.8 kB 3.8 kB
withRouter.html gzip 958 B 954 B -4 B
Overall change

Diffs

Diff for main-HASH.js
@@ -9,6 +9,62 @@ __webpack_require__("cHUd")('Map');
 
 /***/ }),
 
+/***/ "0IRE":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var _Map = __webpack_require__("LX0d");
+
+var _classCallCheck = __webpack_require__("/HRN");
+
+var _createClass = __webpack_require__("WaGi");
+
+var _Object$defineProperty = __webpack_require__("hfKm");
+
+_Object$defineProperty(exports, "__esModule", {
+  value: true
+});
+
+var DataManager =
+/*#__PURE__*/
+function () {
+  function DataManager(data) {
+    _classCallCheck(this, DataManager);
+
+    this.data = new _Map(data);
+  }
+
+  _createClass(DataManager, [{
+    key: "getData",
+    value: function getData() {
+      return this.data;
+    }
+  }, {
+    key: "get",
+    value: function get(key) {
+      return this.data.get(key);
+    }
+  }, {
+    key: "set",
+    value: function set(key, value) {
+      this.data.set(key, value);
+    }
+  }, {
+    key: "overwrite",
+    value: function overwrite(data) {
+      this.data = new _Map(data);
+    }
+  }]);
+
+  return DataManager;
+}();
+
+exports.DataManager = DataManager;
+
+/***/ }),
+
 /***/ "8iia":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -208,33 +264,7 @@ function reactElementToDOM(_ref) {
 
 /***/ }),
 
-/***/ "HohS":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var runtimeConfig;
-
-exports["default"] = function () {
-  return runtimeConfig;
-};
-
-function setConfig(configValue) {
-  runtimeConfig = configValue;
-}
-
-exports.setConfig = setConfig;
-
-/***/ }),
-
-/***/ "IClC":
+/***/ "FYa8":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -305,25 +335,25 @@ var _headManager = _interopRequireDefault(__webpack_require__("DqTX"));
 
 var _router = __webpack_require__("nOHt");
 
-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 
 var _pageLoader = _interopRequireDefault(__webpack_require__("zmvN"));
 
-var envConfig = _interopRequireWildcard(__webpack_require__("PBx+"));
+var envConfig = _interopRequireWildcard(__webpack_require__("yLiY"));
 
-var _headManagerContext = __webpack_require__("IClC");
+var _headManagerContext = __webpack_require__("FYa8");
 
-var _dataManagerContext = __webpack_require__("qS9g");
+var _dataManagerContext = __webpack_require__("qArv");
 
-var _routerContext = __webpack_require__("9EOK");
+var _routerContext = __webpack_require__("qOIg");
 
-var _dataManager = __webpack_require__("cuFY");
+var _dataManager = __webpack_require__("0IRE");
 
 var _querystring = __webpack_require__("s4NR");
 
-var _isDynamic = __webpack_require__("kcOw");
+var _isDynamic = __webpack_require__("/jkW");
 /* global location */
 // Polyfill Promise globally
 // This is needed because Webpack's dynamic loading(common chunks) code
@@ -870,14 +900,6 @@ module.exports = __webpack_require__("UDep");
 
 /***/ }),
 
-/***/ "PBx+":
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__("HohS")
-
-
-/***/ }),
-
 /***/ "RRc/":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -1177,62 +1199,6 @@ module.exports = function (COLLECTION) {
 
 /***/ }),
 
-/***/ "cuFY":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _Map = __webpack_require__("LX0d");
-
-var _classCallCheck = __webpack_require__("/HRN");
-
-var _createClass = __webpack_require__("WaGi");
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var DataManager =
-/*#__PURE__*/
-function () {
-  function DataManager(data) {
-    _classCallCheck(this, DataManager);
-
-    this.data = new _Map(data);
-  }
-
-  _createClass(DataManager, [{
-    key: "getData",
-    value: function getData() {
-      return this.data;
-    }
-  }, {
-    key: "get",
-    value: function get(key) {
-      return this.data.get(key);
-    }
-  }, {
-    key: "set",
-    value: function set(key, value) {
-      this.data.set(key, value);
-    }
-  }, {
-    key: "overwrite",
-    value: function overwrite(data) {
-      this.data = new _Map(data);
-    }
-  }]);
-
-  return DataManager;
-}();
-
-exports.DataManager = DataManager;
-
-/***/ }),
-
 /***/ "dVTT":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -1281,7 +1247,7 @@ module.exports = function (it, TYPE) {
 
 /***/ }),
 
-/***/ "qS9g":
+/***/ "qArv":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -1389,6 +1355,32 @@ module.exports = function (original, length) {
 
 /***/ }),
 
+/***/ "yLiY":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var _Object$defineProperty = __webpack_require__("hfKm");
+
+_Object$defineProperty(exports, "__esModule", {
+  value: true
+});
+
+var runtimeConfig;
+
+exports["default"] = function () {
+  return runtimeConfig;
+};
+
+function setConfig(configValue) {
+  runtimeConfig = configValue;
+}
+
+exports.setConfig = setConfig;
+
+/***/ }),
+
 /***/ "zmvN":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -1410,7 +1402,7 @@ var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("+oT+"));
 
 var _promise = _interopRequireDefault(__webpack_require__("eVuF"));
 
-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 /* global document, window */
Diff for main-HASH.module.js
@@ -54,6 +54,47 @@ __webpack_require__("cHUd")('Map');
 
 /***/ }),
 
+/***/ "0IRE":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var _Map = __webpack_require__("LX0d");
+
+var _Object$defineProperty = __webpack_require__("hfKm");
+
+_Object$defineProperty(exports, "__esModule", {
+  value: true
+});
+
+class DataManager {
+  constructor(data) {
+    this.data = new _Map(data);
+  }
+
+  getData() {
+    return this.data;
+  }
+
+  get(key) {
+    return this.data.get(key);
+  }
+
+  set(key, value) {
+    this.data.set(key, value);
+  }
+
+  overwrite(data) {
+    this.data = new _Map(data);
+  }
+
+}
+
+exports.DataManager = DataManager;
+
+/***/ }),
+
 /***/ "6/1s":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -296,33 +337,7 @@ function reactElementToDOM(_ref) {
 
 /***/ }),
 
-/***/ "HohS":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-let runtimeConfig;
-
-exports.default = () => {
-  return runtimeConfig;
-};
-
-function setConfig(configValue) {
-  runtimeConfig = configValue;
-}
-
-exports.setConfig = setConfig;
-
-/***/ }),
-
-/***/ "IClC":
+/***/ "FYa8":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -377,25 +392,25 @@ var _headManager = _interopRequireDefault(__webpack_require__("DqTX"));
 
 var _router = __webpack_require__("nOHt");
 
-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 
 var _pageLoader = _interopRequireDefault(__webpack_require__("zmvN"));
 
-var envConfig = _interopRequireWildcard(__webpack_require__("PBx+"));
+var envConfig = _interopRequireWildcard(__webpack_require__("yLiY"));
 
-var _headManagerContext = __webpack_require__("IClC");
+var _headManagerContext = __webpack_require__("FYa8");
 
-var _dataManagerContext = __webpack_require__("qS9g");
+var _dataManagerContext = __webpack_require__("qArv");
 
-var _routerContext = __webpack_require__("9EOK");
+var _routerContext = __webpack_require__("qOIg");
 
-var _dataManager = __webpack_require__("cuFY");
+var _dataManager = __webpack_require__("0IRE");
 
 var _querystring = __webpack_require__("s4NR");
 
-var _isDynamic = __webpack_require__("kcOw");
+var _isDynamic = __webpack_require__("/jkW");
 /* global location */
 // Polyfill Promise globally
 // This is needed because Webpack's dynamic loading(common chunks) code
@@ -792,14 +807,6 @@ module.exports = __webpack_require__("UDep");
 
 /***/ }),
 
-/***/ "PBx+":
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__("HohS")
-
-
-/***/ }),
-
 /***/ "RRc/":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -1099,47 +1106,6 @@ module.exports = function (COLLECTION) {
 
 /***/ }),
 
-/***/ "cuFY":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _Map = __webpack_require__("LX0d");
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-class DataManager {
-  constructor(data) {
-    this.data = new _Map(data);
-  }
-
-  getData() {
-    return this.data;
-  }
-
-  get(key) {
-    return this.data.get(key);
-  }
-
-  set(key, value) {
-    this.data.set(key, value);
-  }
-
-  overwrite(data) {
-    this.data = new _Map(data);
-  }
-
-}
-
-exports.DataManager = DataManager;
-
-/***/ }),
-
 /***/ "dVTT":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -1200,7 +1166,7 @@ module.exports = function (it, TYPE) {
 
 /***/ }),
 
-/***/ "qS9g":
+/***/ "qArv":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -1306,6 +1272,32 @@ module.exports = function (original, length) {
 
 /***/ }),
 
+/***/ "yLiY":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var _Object$defineProperty = __webpack_require__("hfKm");
+
+_Object$defineProperty(exports, "__esModule", {
+  value: true
+});
+
+let runtimeConfig;
+
+exports.default = () => {
+  return runtimeConfig;
+};
+
+function setConfig(configValue) {
+  runtimeConfig = configValue;
+}
+
+exports.setConfig = setConfig;
+
+/***/ }),
+
 /***/ "zmvN":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -1321,7 +1313,7 @@ var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("+oT+"));
 
 var _promise = _interopRequireDefault(__webpack_require__("eVuF"));
 
-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 /* global document, window */
Diff for _app.js
@@ -33,7 +33,7 @@ var _react = _interopRequireDefault(__webpack_require__("q1tI"));
 
 var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 
 exports.AppInitialProps = _utils.AppInitialProps;
Diff for _error.js
@@ -15,6 +15,51 @@ module.exports = __webpack_require__("WEpk").Set;
 
 /***/ }),
 
+/***/ "/0+H":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var _Object$defineProperty = __webpack_require__("hfKm");
+
+var __importDefault = this && this.__importDefault || function (mod) {
+  return mod && mod.__esModule ? mod : {
+    "default": mod
+  };
+};
+
+_Object$defineProperty(exports, "__esModule", {
+  value: true
+});
+
+var react_1 = __importDefault(__webpack_require__("q1tI"));
+
+var amp_context_1 = __webpack_require__("lwAK");
+
+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;
+}
+
+exports.isInAmpMode = isInAmpMode;
+
+function useAmp() {
+  // Don't assign the context value to a variable to save bytes
+  return isInAmpMode(react_1["default"].useContext(amp_context_1.AmpStateContext));
+}
+
+exports.useAmp = useAmp;
+
+/***/ }),
+
 /***/ "/a9y":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -38,7 +83,7 @@ exports["default"] = void 0;
 
 var _react = _interopRequireDefault(__webpack_require__("q1tI"));
 
-var _head = _interopRequireDefault(__webpack_require__("PgRs"));
+var _head = _interopRequireDefault(__webpack_require__("8Kt/"));
 
 var statusCodes = {
   400: 'Bad Request',
@@ -171,137 +216,164 @@ module.exports = _nonIterableSpread;
 
 /***/ }),
 
-/***/ "3JuP":
+/***/ "8Kt/":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
+var _Set = __webpack_require__("ttDY");
+
 var _Object$defineProperty = __webpack_require__("hfKm");
 
-var __importStar = this && this.__importStar || function (mod) {
-  if (mod && mod.__esModule) return mod;
-  var result = {};
-  if (mod != null) for (var k in mod) {
-    if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-  }
-  result["default"] = mod;
-  return result;
+var __importDefault = this && this.__importDefault || function (mod) {
+  return mod && mod.__esModule ? mod : {
+    "default": mod
+  };
 };
 
 _Object$defineProperty(exports, "__esModule", {
   value: true
 });
 
-var React = __importStar(__webpack_require__("q1tI"));
-
-exports.AmpStateContext = React.createContext({});
-
-/***/ }),
-
-/***/ "4hZ1":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
+var react_1 = __importDefault(__webpack_require__("q1tI"));
 
-var _classCallCheck = __webpack_require__("/HRN");
+var side_effect_1 = __importDefault(__webpack_require__("Xuae"));
 
-var _possibleConstructorReturn = __webpack_require__("ZDA2");
+var amp_context_1 = __webpack_require__("lwAK");
 
-var _getPrototypeOf = __webpack_require__("/+P4");
+var head_manager_context_1 = __webpack_require__("FYa8");
 
-var _assertThisInitialized = __webpack_require__("K47E");
+var amp_1 = __webpack_require__("/0+H");
 
-var _createClass = __webpack_require__("WaGi");
+function defaultHead() {
+  var inAmpMode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
+  var head = [react_1["default"].createElement("meta", {
+    key: "charSet",
+    charSet: "utf-8"
+  })];
 
-var _inherits = __webpack_require__("N9n2");
+  if (!inAmpMode) {
+    head.push(react_1["default"].createElement("meta", {
+      key: "viewport",
+      name: "viewport",
+      content: "width=device-width,minimum-scale=1,initial-scale=1"
+    }));
+  }
 
-var _toConsumableArray = __webpack_require__("TbGu");
+  return head;
+}
 
-var _Set = __webpack_require__("ttDY");
+exports.defaultHead = defaultHead;
 
-var _Object$defineProperty = __webpack_require__("hfKm");
+function onlyReactElement(list, child) {
+  // React children can be "string" or "number" in this case we ignore them for backwards compat
+  if (typeof child === 'string' || typeof child === 'number') {
+    return list;
+  } // Adds support for React.Fragment
 
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
 
-var react_1 = __webpack_require__("q1tI");
+  if (child.type === react_1["default"].Fragment) {
+    return list.concat(react_1["default"].Children.toArray(child.props.children).reduce(function (fragmentList, fragmentChild) {
+      if (typeof fragmentChild === 'string' || typeof fragmentChild === 'number') {
+        return fragmentList;
+      }
 
-var isServer = false;
+      return fragmentList.concat(fragmentChild);
+    }, []));
+  }
 
-exports["default"] = function () {
-  var mountedInstances = new _Set();
-  var state;
+  return list.concat(child);
+}
 
-  function emitChange(component) {
-    state = component.props.reduceComponentsToState(_toConsumableArray(mountedInstances), component.props);
+var METATYPES = ['name', 'httpEquiv', 'charSet', 'itemProp'];
+/*
+ returns a function for filtering head child elements
+ which shouldn't be duplicated, like <title/>
+ Also adds support for deduplicated `key` properties
+*/
 
-    if (component.props.handleStateChange) {
-      component.props.handleStateChange(state);
+function unique() {
+  var keys = new _Set();
+  var tags = new _Set();
+  var metaTypes = new _Set();
+  var metaCategories = {};
+  return function (h) {
+    if (h.key && typeof h.key !== 'number' && h.key.indexOf('.$') === 0) {
+      if (keys.has(h.key)) return false;
+      keys.add(h.key);
+      return true;
     }
-  }
 
-  return (
-    /*#__PURE__*/
-    function (_react_1$Component) {
-      _inherits(_class, _react_1$Component);
+    switch (h.type) {
+      case 'title':
+      case 'base':
+        if (tags.has(h.type)) return false;
+        tags.add(h.type);
+        break;
 
-      _createClass(_class, null, [{
-        key: "rewind",
-        // Used when server rendering
-        value: function rewind() {
-          var recordedState = state;
-          state = undefined;
-          mountedInstances.clear();
-          return recordedState;
+      case 'meta':
+        for (var i = 0, len = METATYPES.length; i < len; i++) {
+          var metatype = METATYPES[i];
+          if (!h.props.hasOwnProperty(metatype)) continue;
+
+          if (metatype === 'charSet') {
+            if (metaTypes.has(metatype)) return false;
+            metaTypes.add(metatype);
+          } else {
+            var category = h.props[metatype];
+            var categories = metaCategories[metatype] || new _Set();
+            if (categories.has(category)) return false;
+            categories.add(category);
+            metaCategories[metatype] = categories;
+          }
         }
-      }]);
 
-      function _class(props) {
-        var _this;
+        break;
+    }
 
-        _classCallCheck(this, _class);
+    return true;
+  };
+}
+/**
+ *
+ * @param headElement List of multiple <Head> instances
+ */
 
-        _this = _possibleConstructorReturn(this, _getPrototypeOf(_class).call(this, props));
 
-        if (isServer) {
-          mountedInstances.add(_assertThisInitialized(_this));
-          emitChange(_assertThisInitialized(_this));
-        }
+function reduceComponents(headElements, props) {
+  return headElements.reduce(function (list, headElement) {
+    var headElementChildren = react_1["default"].Children.toArray(headElement.props.children);
+    return list.concat(headElementChildren);
+  }, []).reduce(onlyReactElement, []).reverse().concat(defaultHead(props.inAmpMode)).filter(unique()).reverse().map(function (c, i) {
+    var key = c.key || i;
+    return react_1["default"].cloneElement(c, {
+      key: key
+    });
+  });
+}
 
-        return _this;
-      }
+var Effect = side_effect_1["default"]();
+/**
+ * This component injects elements to `<head>` of your page.
+ * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.
+ */
 
-      _createClass(_class, [{
-        key: "componentDidMount",
-        value: function componentDidMount() {
-          mountedInstances.add(this);
-          emitChange(this);
-        }
-      }, {
-        key: "componentDidUpdate",
-        value: function componentDidUpdate() {
-          emitChange(this);
-        }
-      }, {
-        key: "componentWillUnmount",
-        value: function componentWillUnmount() {
-          mountedInstances["delete"](this);
-          emitChange(this);
-        }
-      }, {
-        key: "render",
-        value: function render() {
-          return null;
-        }
-      }]);
+function Head(_ref) {
+  var children = _ref.children;
+  return react_1["default"].createElement(amp_context_1.AmpStateContext.Consumer, null, function (ampState) {
+    return react_1["default"].createElement(head_manager_context_1.HeadManagerContext.Consumer, null, function (updateHead) {
+      return react_1["default"].createElement(Effect, {
+        reduceComponentsToState: reduceComponents,
+        handleStateChange: updateHead,
+        inAmpMode: amp_1.isInAmpMode(ampState)
+      }, children);
+    });
+  });
+}
 
-      return _class;
-    }(react_1.Component)
-  );
-};
+Head.rewind = Effect.rewind;
+exports["default"] = Head;
 
 /***/ }),
 
@@ -366,7 +438,7 @@ module.exports = function (original) {
 
 /***/ }),
 
-/***/ "IClC":
+/***/ "FYa8":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -425,14 +497,6 @@ module.exports = _iterableToArray;
 
 /***/ }),
 
-/***/ "PgRs":
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__("m/Pd")
-
-
-/***/ }),
-
 /***/ "RRc/":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -731,48 +795,109 @@ module.exports = {
 
 /***/ }),
 
-/***/ "Wziy":
+/***/ "Xuae":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
-var _Object$defineProperty = __webpack_require__("hfKm");
+var _classCallCheck = __webpack_require__("/HRN");
 
-var __importDefault = this && this.__importDefault || function (mod) {
-  return mod && mod.__esModule ? mod : {
-    "default": mod
-  };
-};
+var _possibleConstructorReturn = __webpack_require__("ZDA2");
+
+var _getPrototypeOf = __webpack_require__("/+P4");
+
+var _assertThisInitialized = __webpack_require__("K47E");
+
+var _createClass = __webpack_require__("WaGi");
+
+var _inherits = __webpack_require__("N9n2");
+
+var _toConsumableArray = __webpack_require__("TbGu");
+
+var _Set = __webpack_require__("ttDY");
+
+var _Object$defineProperty = __webpack_require__("hfKm");
 
 _Object$defineProperty(exports, "__esModule", {
   value: true
 });
 
-var react_1 = __importDefault(__webpack_require__("q1tI"));
+var react_1 = __webpack_require__("q1tI");
 
-var amp_context_1 = __webpack_require__("3JuP");
+var isServer = false;
 
-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;
+exports["default"] = function () {
+  var mountedInstances = new _Set();
+  var state;
 
-  return ampFirst || hybrid && hasQuery;
-}
+  function emitChange(component) {
+    state = component.props.reduceComponentsToState(_toConsumableArray(mountedInstances), component.props);
 
-exports.isInAmpMode = isInAmpMode;
+    if (component.props.handleStateChange) {
+      component.props.handleStateChange(state);
+    }
+  }
 
-function useAmp() {
-  // Don't assign the context value to a variable to save bytes
-  return isInAmpMode(react_1["default"].useContext(amp_context_1.AmpStateContext));
-}
+  return (
+    /*#__PURE__*/
+    function (_react_1$Component) {
+      _inherits(_class, _react_1$Component);
 
-exports.useAmp = useAmp;
+      _createClass(_class, null, [{
+        key: "rewind",
+        // Used when server rendering
+        value: function rewind() {
+          var recordedState = state;
+          state = undefined;
+          mountedInstances.clear();
+          return recordedState;
+        }
+      }]);
+
+      function _class(props) {
+        var _this;
+
+        _classCallCheck(this, _class);
+
+        _this = _possibleConstructorReturn(this, _getPrototypeOf(_class).call(this, props));
+
+        if (isServer) {
+          mountedInstances.add(_assertThisInitialized(_this));
+          emitChange(_assertThisInitialized(_this));
+        }
+
+        return _this;
+      }
+
+      _createClass(_class, [{
+        key: "componentDidMount",
+        value: function componentDidMount() {
+          mountedInstances.add(this);
+          emitChange(this);
+        }
+      }, {
+        key: "componentDidUpdate",
+        value: function componentDidUpdate() {
+          emitChange(this);
+        }
+      }, {
+        key: "componentWillUnmount",
+        value: function componentWillUnmount() {
+          mountedInstances["delete"](this);
+          emitChange(this);
+        }
+      }, {
+        key: "render",
+        value: function render() {
+          return null;
+        }
+      }]);
+
+      return _class;
+    }(react_1.Component)
+  );
+};
 
 /***/ }),
 
@@ -886,164 +1011,31 @@ module.exports = __webpack_require__("WEpk").isIterable = function (it) {
 
 /***/ }),
 
-/***/ "m/Pd":
+/***/ "lwAK":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
-var _Set = __webpack_require__("ttDY");
-
 var _Object$defineProperty = __webpack_require__("hfKm");
 
-var __importDefault = this && this.__importDefault || function (mod) {
-  return mod && mod.__esModule ? mod : {
-    "default": mod
-  };
+var __importStar = this && this.__importStar || function (mod) {
+  if (mod && mod.__esModule) return mod;
+  var result = {};
+  if (mod != null) for (var k in mod) {
+    if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+  }
+  result["default"] = mod;
+  return result;
 };
 
 _Object$defineProperty(exports, "__esModule", {
   value: true
 });
 
-var react_1 = __importDefault(__webpack_require__("q1tI"));
-
-var side_effect_1 = __importDefault(__webpack_require__("4hZ1"));
-
-var amp_context_1 = __webpack_require__("3JuP");
-
-var head_manager_context_1 = __webpack_require__("IClC");
-
-var amp_1 = __webpack_require__("Wziy");
-
-function defaultHead() {
-  var inAmpMode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-  var head = [react_1["default"].createElement("meta", {
-    key: "charSet",
-    charSet: "utf-8"
-  })];
-
-  if (!inAmpMode) {
-    head.push(react_1["default"].createElement("meta", {
-      key: "viewport",
-      name: "viewport",
-      content: "width=device-width,minimum-scale=1,initial-scale=1"
-    }));
-  }
-
-  return head;
-}
-
-exports.defaultHead = defaultHead;
-
-function onlyReactElement(list, child) {
-  // React children can be "string" or "number" in this case we ignore them for backwards compat
-  if (typeof child === 'string' || typeof child === 'number') {
-    return list;
-  } // Adds support for React.Fragment
-
-
-  if (child.type === react_1["default"].Fragment) {
-    return list.concat(react_1["default"].Children.toArray(child.props.children).reduce(function (fragmentList, fragmentChild) {
-      if (typeof fragmentChild === 'string' || typeof fragmentChild === 'number') {
-        return fragmentList;
-      }
-
-      return fragmentList.concat(fragmentChild);
-    }, []));
-  }
-
-  return list.concat(child);
-}
-
-var METATYPES = ['name', 'httpEquiv', 'charSet', 'itemProp'];
-/*
- returns a function for filtering head child elements
- which shouldn't be duplicated, like <title/>
- Also adds support for deduplicated `key` properties
-*/
-
-function unique() {
-  var keys = new _Set();
-  var tags = new _Set();
-  var metaTypes = new _Set();
-  var metaCategories = {};
-  return function (h) {
-    if (h.key && typeof h.key !== 'number' && h.key.indexOf('.$') === 0) {
-      if (keys.has(h.key)) return false;
-      keys.add(h.key);
-      return true;
-    }
-
-    switch (h.type) {
-      case 'title':
-      case 'base':
-        if (tags.has(h.type)) return false;
-        tags.add(h.type);
-        break;
-
-      case 'meta':
-        for (var i = 0, len = METATYPES.length; i < len; i++) {
-          var metatype = METATYPES[i];
-          if (!h.props.hasOwnProperty(metatype)) continue;
-
-          if (metatype === 'charSet') {
-            if (metaTypes.has(metatype)) return false;
-            metaTypes.add(metatype);
-          } else {
-            var category = h.props[metatype];
-            var categories = metaCategories[metatype] || new _Set();
-            if (categories.has(category)) return false;
-            categories.add(category);
-            metaCategories[metatype] = categories;
-          }
-        }
-
-        break;
-    }
-
-    return true;
-  };
-}
-/**
- *
- * @param headElement List of multiple <Head> instances
- */
-
-
-function reduceComponents(headElements, props) {
-  return headElements.reduce(function (list, headElement) {
-    var headElementChildren = react_1["default"].Children.toArray(headElement.props.children);
-    return list.concat(headElementChildren);
-  }, []).reduce(onlyReactElement, []).reverse().concat(defaultHead(props.inAmpMode)).filter(unique()).reverse().map(function (c, i) {
-    var key = c.key || i;
-    return react_1["default"].cloneElement(c, {
-      key: key
-    });
-  });
-}
-
-var Effect = side_effect_1["default"]();
-/**
- * This component injects elements to `<head>` of your page.
- * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.
- */
-
-function Head(_ref) {
-  var children = _ref.children;
-  return react_1["default"].createElement(amp_context_1.AmpStateContext.Consumer, null, function (ampState) {
-    return react_1["default"].createElement(head_manager_context_1.HeadManagerContext.Consumer, null, function (updateHead) {
-      return react_1["default"].createElement(Effect, {
-        reduceComponentsToState: reduceComponents,
-        handleStateChange: updateHead,
-        inAmpMode: amp_1.isInAmpMode(ampState)
-      }, children);
-    });
-  });
-}
+var React = __importStar(__webpack_require__("q1tI"));
 
-Head.rewind = Effect.rewind;
-exports["default"] = Head;
+exports.AmpStateContext = React.createContext({});
 
 /***/ }),
Diff for link.js
@@ -435,9 +435,9 @@ var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
 var _router = _interopRequireDefault(__webpack_require__("nOHt"));
 
-var _rewriteUrlForExport = __webpack_require__("KA3u");
+var _rewriteUrlForExport = __webpack_require__("P5f7");
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 /* global __NEXT_DATA__ */
Diff for _app.module.js
@@ -66,7 +66,7 @@ var _react = _interopRequireDefault(__webpack_require__("q1tI"));
 
 var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 
 exports.AppInitialProps = _utils.AppInitialProps;
Diff for _error.module.js
@@ -15,6 +15,48 @@ module.exports = __webpack_require__("WEpk").Set;
 
 /***/ }),
 
+/***/ "/0+H":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var _Object$defineProperty = __webpack_require__("hfKm");
+
+var __importDefault = this && this.__importDefault || function (mod) {
+  return mod && mod.__esModule ? mod : {
+    "default": mod
+  };
+};
+
+_Object$defineProperty(exports, "__esModule", {
+  value: true
+});
+
+const react_1 = __importDefault(__webpack_require__("q1tI"));
+
+const amp_context_1 = __webpack_require__("lwAK");
+
+function isInAmpMode() {
+  let {
+    ampFirst = false,
+    hybrid = false,
+    hasQuery = false
+  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
+  return ampFirst || hybrid && hasQuery;
+}
+
+exports.isInAmpMode = isInAmpMode;
+
+function useAmp() {
+  // Don't assign the context value to a variable to save bytes
+  return isInAmpMode(react_1.default.useContext(amp_context_1.AmpStateContext));
+}
+
+exports.useAmp = useAmp;
+
+/***/ }),
+
 /***/ "/a9y":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -28,7 +70,7 @@ exports.default = void 0;
 
 var _react = _interopRequireDefault(__webpack_require__("q1tI"));
 
-var _head = _interopRequireDefault(__webpack_require__("PgRs"));
+var _head = _interopRequireDefault(__webpack_require__("8Kt/"));
 
 const statusCodes = {
   400: 'Bad Request',
@@ -198,103 +240,6 @@ exports.f = __webpack_require__("jmDH") ? Object.defineProperty : function defin
 
 /***/ }),
 
-/***/ "3JuP":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-var __importStar = this && this.__importStar || function (mod) {
-  if (mod && mod.__esModule) return mod;
-  var result = {};
-  if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-  result["default"] = mod;
-  return result;
-};
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-const React = __importStar(__webpack_require__("q1tI"));
-
-exports.AmpStateContext = React.createContext({});
-
-/***/ }),
-
-/***/ "4hZ1":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _Set = __webpack_require__("ttDY");
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-const react_1 = __webpack_require__("q1tI");
-
-const isServer = false;
-
-exports.default = () => {
-  const mountedInstances = new _Set();
-  let state;
-
-  function emitChange(component) {
-    state = component.props.reduceComponentsToState([...mountedInstances], component.props);
-
-    if (component.props.handleStateChange) {
-      component.props.handleStateChange(state);
-    }
-  }
-
-  return class extends react_1.Component {
-    // Used when server rendering
-    static rewind() {
-      const recordedState = state;
-      state = undefined;
-      mountedInstances.clear();
-      return recordedState;
-    }
-
-    constructor(props) {
-      super(props);
-
-      if (isServer) {
-        mountedInstances.add(this);
-        emitChange(this);
-      }
-    }
-
-    componentDidMount() {
-      mountedInstances.add(this);
-      emitChange(this);
-    }
-
-    componentDidUpdate() {
-      emitChange(this);
-    }
-
-    componentWillUnmount() {
-      mountedInstances.delete(this);
-      emitChange(this);
-    }
-
-    render() {
-      return null;
-    }
-
-  };
-};
-
-/***/ }),
-
 /***/ "5K7Z":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -404,6 +349,165 @@ var meta = module.exports = {
 
 /***/ }),
 
+/***/ "8Kt/":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var _Set = __webpack_require__("ttDY");
+
+var _Object$defineProperty = __webpack_require__("hfKm");
+
+var __importDefault = this && this.__importDefault || function (mod) {
+  return mod && mod.__esModule ? mod : {
+    "default": mod
+  };
+};
+
+_Object$defineProperty(exports, "__esModule", {
+  value: true
+});
+
+const react_1 = __importDefault(__webpack_require__("q1tI"));
+
+const side_effect_1 = __importDefault(__webpack_require__("Xuae"));
+
+const amp_context_1 = __webpack_require__("lwAK");
+
+const head_manager_context_1 = __webpack_require__("FYa8");
+
+const amp_1 = __webpack_require__("/0+H");
+
+function defaultHead() {
+  let inAmpMode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
+  const head = [react_1.default.createElement("meta", {
+    key: "charSet",
+    charSet: "utf-8"
+  })];
+
+  if (!inAmpMode) {
+    head.push(react_1.default.createElement("meta", {
+      key: "viewport",
+      name: "viewport",
+      content: "width=device-width,minimum-scale=1,initial-scale=1"
+    }));
+  }
+
+  return head;
+}
+
+exports.defaultHead = defaultHead;
+
+function onlyReactElement(list, child) {
+  // React children can be "string" or "number" in this case we ignore them for backwards compat
+  if (typeof child === 'string' || typeof child === 'number') {
+    return list;
+  } // Adds support for React.Fragment
+
+
+  if (child.type === react_1.default.Fragment) {
+    return list.concat(react_1.default.Children.toArray(child.props.children).reduce((fragmentList, fragmentChild) => {
+      if (typeof fragmentChild === 'string' || typeof fragmentChild === 'number') {
+        return fragmentList;
+      }
+
+      return fragmentList.concat(fragmentChild);
+    }, []));
+  }
+
+  return list.concat(child);
+}
+
+const METATYPES = ['name', 'httpEquiv', 'charSet', 'itemProp'];
+/*
+ returns a function for filtering head child elements
+ which shouldn't be duplicated, like <title/>
+ Also adds support for deduplicated `key` properties
+*/
+
+function unique() {
+  const keys = new _Set();
+  const tags = new _Set();
+  const metaTypes = new _Set();
+  const metaCategories = {};
+  return h => {
+    if (h.key && typeof h.key !== 'number' && h.key.indexOf('.$') === 0) {
+      if (keys.has(h.key)) return false;
+      keys.add(h.key);
+      return true;
+    }
+
+    switch (h.type) {
+      case 'title':
+      case 'base':
+        if (tags.has(h.type)) return false;
+        tags.add(h.type);
+        break;
+
+      case 'meta':
+        for (let i = 0, len = METATYPES.length; i < len; i++) {
+          const metatype = METATYPES[i];
+          if (!h.props.hasOwnProperty(metatype)) continue;
+
+          if (metatype === 'charSet') {
+            if (metaTypes.has(metatype)) return false;
+            metaTypes.add(metatype);
+          } else {
+            const category = h.props[metatype];
+            const categories = metaCategories[metatype] || new _Set();
+            if (categories.has(category)) return false;
+            categories.add(category);
+            metaCategories[metatype] = categories;
+          }
+        }
+
+        break;
+    }
+
+    return true;
+  };
+}
+/**
+ *
+ * @param headElement List of multiple <Head> instances
+ */
+
+
+function reduceComponents(headElements, props) {
+  return headElements.reduce((list, headElement) => {
+    const headElementChildren = react_1.default.Children.toArray(headElement.props.children);
+    return list.concat(headElementChildren);
+  }, []).reduce(onlyReactElement, []).reverse().concat(defaultHead(props.inAmpMode)).filter(unique()).reverse().map((c, i) => {
+    const key = c.key || i;
+    return react_1.default.cloneElement(c, {
+      key
+    });
+  });
+}
+
+const Effect = side_effect_1.default();
+/**
+ * This component injects elements to `<head>` of your page.
+ * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.
+ */
+
+function Head(_ref) {
+  let {
+    children
+  } = _ref;
+  return react_1.default.createElement(amp_context_1.AmpStateContext.Consumer, null, ampState => react_1.default.createElement(head_manager_context_1.HeadManagerContext.Consumer, null, updateHead => react_1.default.createElement(Effect, {
+    reduceComponentsToState: reduceComponents,
+    handleStateChange: updateHead,
+    inAmpMode: amp_1.isInAmpMode(ampState)
+  }, children)));
+}
+
+Head.rewind = Effect.rewind;
+exports.default = Head;
+
+/***/ }),
+
 /***/ "8iia":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -512,6 +616,32 @@ module.exports = function (it, Constructor, name, forbiddenField) {
 
 /***/ }),
 
+/***/ "FYa8":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var _Object$defineProperty = __webpack_require__("hfKm");
+
+var __importStar = this && this.__importStar || function (mod) {
+  if (mod && mod.__esModule) return mod;
+  var result = {};
+  if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+  result["default"] = mod;
+  return result;
+};
+
+_Object$defineProperty(exports, "__esModule", {
+  value: true
+});
+
+const React = __importStar(__webpack_require__("q1tI"));
+
+exports.HeadManagerContext = React.createContext(null);
+
+/***/ }),
+
 /***/ "FlQf":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -581,32 +711,6 @@ module.exports = function (it) {
 
 /***/ }),
 
-/***/ "IClC":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-var __importStar = this && this.__importStar || function (mod) {
-  if (mod && mod.__esModule) return mod;
-  var result = {};
-  if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
-  result["default"] = mod;
-  return result;
-};
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-const React = __importStar(__webpack_require__("q1tI"));
-
-exports.HeadManagerContext = React.createContext(null);
-
-/***/ }),
-
 /***/ "JB68":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -911,14 +1015,6 @@ module.exports = function (it) {
 
 /***/ }),
 
-/***/ "PgRs":
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__("m/Pd")
-
-
-/***/ }),
-
 /***/ "QMMT":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -1340,59 +1436,88 @@ module.exports = {
 
 /***/ }),
 
-/***/ "Wziy":
+/***/ "XJU/":
+/***/ (function(module, exports, __webpack_require__) {
+
+var hide = __webpack_require__("NegM");
+module.exports = function (target, src, safe) {
+  for (var key in src) {
+    if (safe && target[key]) target[key] = src[key];
+    else hide(target, key, src[key]);
+  } return target;
+};
+
+
+/***/ }),
+
+/***/ "Xuae":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
-var _Object$defineProperty = __webpack_require__("hfKm");
+var _Set = __webpack_require__("ttDY");
 
-var __importDefault = this && this.__importDefault || function (mod) {
-  return mod && mod.__esModule ? mod : {
-    "default": mod
-  };
-};
+var _Object$defineProperty = __webpack_require__("hfKm");
 
 _Object$defineProperty(exports, "__esModule", {
   value: true
 });
 
-const react_1 = __importDefault(__webpack_require__("q1tI"));
+const react_1 = __webpack_require__("q1tI");
 
-const amp_context_1 = __webpack_require__("3JuP");
+const isServer = false;
 
-function isInAmpMode() {
-  let {
-    ampFirst = false,
-    hybrid = false,
-    hasQuery = false
-  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
-  return ampFirst || hybrid && hasQuery;
-}
+exports.default = () => {
+  const mountedInstances = new _Set();
+  let state;
 
-exports.isInAmpMode = isInAmpMode;
+  function emitChange(component) {
+    state = component.props.reduceComponentsToState([...mountedInstances], component.props);
 
-function useAmp() {
-  // Don't assign the context value to a variable to save bytes
-  return isInAmpMode(react_1.default.useContext(amp_context_1.AmpStateContext));
-}
+    if (component.props.handleStateChange) {
+      component.props.handleStateChange(state);
+    }
+  }
 
-exports.useAmp = useAmp;
+  return class extends react_1.Component {
+    // Used when server rendering
+    static rewind() {
+      const recordedState = state;
+      state = undefined;
+      mountedInstances.clear();
+      return recordedState;
+    }
 
-/***/ }),
+    constructor(props) {
+      super(props);
 
-/***/ "XJU/":
-/***/ (function(module, exports, __webpack_require__) {
+      if (isServer) {
+        mountedInstances.add(this);
+        emitChange(this);
+      }
+    }
 
-var hide = __webpack_require__("NegM");
-module.exports = function (target, src, safe) {
-  for (var key in src) {
-    if (safe && target[key]) target[key] = src[key];
-    else hide(target, key, src[key]);
-  } return target;
-};
+    componentDidMount() {
+      mountedInstances.add(this);
+      emitChange(this);
+    }
+
+    componentDidUpdate() {
+      emitChange(this);
+    }
+
+    componentWillUnmount() {
+      mountedInstances.delete(this);
+      emitChange(this);
+    }
 
+    render() {
+      return null;
+    }
+
+  };
+};
 
 /***/ }),
 
@@ -1729,162 +1854,29 @@ module.exports = __webpack_require__("NegM");
 
 /***/ }),
 
-/***/ "m/Pd":
+/***/ "lwAK":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
-var _Set = __webpack_require__("ttDY");
-
 var _Object$defineProperty = __webpack_require__("hfKm");
 
-var __importDefault = this && this.__importDefault || function (mod) {
-  return mod && mod.__esModule ? mod : {
-    "default": mod
-  };
+var __importStar = this && this.__importStar || function (mod) {
+  if (mod && mod.__esModule) return mod;
+  var result = {};
+  if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+  result["default"] = mod;
+  return result;
 };
 
 _Object$defineProperty(exports, "__esModule", {
   value: true
 });
 
-const react_1 = __importDefault(__webpack_require__("q1tI"));
-
-const side_effect_1 = __importDefault(__webpack_require__("4hZ1"));
-
-const amp_context_1 = __webpack_require__("3JuP");
-
-const head_manager_context_1 = __webpack_require__("IClC");
-
-const amp_1 = __webpack_require__("Wziy");
-
-function defaultHead() {
-  let inAmpMode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-  const head = [react_1.default.createElement("meta", {
-    key: "charSet",
-    charSet: "utf-8"
-  })];
-
-  if (!inAmpMode) {
-    head.push(react_1.default.createElement("meta", {
-      key: "viewport",
-      name: "viewport",
-      content: "width=device-width,minimum-scale=1,initial-scale=1"
-    }));
-  }
-
-  return head;
-}
-
-exports.defaultHead = defaultHead;
-
-function onlyReactElement(list, child) {
-  // React children can be "string" or "number" in this case we ignore them for backwards compat
-  if (typeof child === 'string' || typeof child === 'number') {
-    return list;
-  } // Adds support for React.Fragment
-
-
-  if (child.type === react_1.default.Fragment) {
-    return list.concat(react_1.default.Children.toArray(child.props.children).reduce((fragmentList, fragmentChild) => {
-      if (typeof fragmentChild === 'string' || typeof fragmentChild === 'number') {
-        return fragmentList;
-      }
-
-      return fragmentList.concat(fragmentChild);
-    }, []));
-  }
-
-  return list.concat(child);
-}
-
-const METATYPES = ['name', 'httpEquiv', 'charSet', 'itemProp'];
-/*
- returns a function for filtering head child elements
- which shouldn't be duplicated, like <title/>
- Also adds support for deduplicated `key` properties
-*/
-
-function unique() {
-  const keys = new _Set();
-  const tags = new _Set();
-  const metaTypes = new _Set();
-  const metaCategories = {};
-  return h => {
-    if (h.key && typeof h.key !== 'number' && h.key.indexOf('.$') === 0) {
-      if (keys.has(h.key)) return false;
-      keys.add(h.key);
-      return true;
-    }
-
-    switch (h.type) {
-      case 'title':
-      case 'base':
-        if (tags.has(h.type)) return false;
-        tags.add(h.type);
-        break;
-
-      case 'meta':
-        for (let i = 0, len = METATYPES.length; i < len; i++) {
-          const metatype = METATYPES[i];
-          if (!h.props.hasOwnProperty(metatype)) continue;
-
-          if (metatype === 'charSet') {
-            if (metaTypes.has(metatype)) return false;
-            metaTypes.add(metatype);
-          } else {
-            const category = h.props[metatype];
-            const categories = metaCategories[metatype] || new _Set();
-            if (categories.has(category)) return false;
-            categories.add(category);
-            metaCategories[metatype] = categories;
-          }
-        }
-
-        break;
-    }
-
-    return true;
-  };
-}
-/**
- *
- * @param headElement List of multiple <Head> instances
- */
-
-
-function reduceComponents(headElements, props) {
-  return headElements.reduce((list, headElement) => {
-    const headElementChildren = react_1.default.Children.toArray(headElement.props.children);
-    return list.concat(headElementChildren);
-  }, []).reduce(onlyReactElement, []).reverse().concat(defaultHead(props.inAmpMode)).filter(unique()).reverse().map((c, i) => {
-    const key = c.key || i;
-    return react_1.default.cloneElement(c, {
-      key
-    });
-  });
-}
-
-const Effect = side_effect_1.default();
-/**
- * This component injects elements to `<head>` of your page.
- * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.
- */
-
-function Head(_ref) {
-  let {
-    children
-  } = _ref;
-  return react_1.default.createElement(amp_context_1.AmpStateContext.Consumer, null, ampState => react_1.default.createElement(head_manager_context_1.HeadManagerContext.Consumer, null, updateHead => react_1.default.createElement(Effect, {
-    reduceComponentsToState: reduceComponents,
-    handleStateChange: updateHead,
-    inAmpMode: amp_1.isInAmpMode(ampState)
-  }, children)));
-}
+const React = __importStar(__webpack_require__("q1tI"));
 
-Head.rewind = Effect.rewind;
-exports.default = Head;
+exports.AmpStateContext = React.createContext({});
 
 /***/ }),
Diff for link.module.js
@@ -483,9 +483,9 @@ var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
 var _router = _interopRequireDefault(__webpack_require__("nOHt"));
 
-var _rewriteUrlForExport = __webpack_require__("KA3u");
+var _rewriteUrlForExport = __webpack_require__("P5f7");
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 /* global __NEXT_DATA__ */
Diff for index.html
@@ -6,19 +6,19 @@
         <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"
         />
         <meta name="next-head-count" content="2" />
-        <link rel="preload" href="/_next/static/e15uF7AvCGtD8kx-wJl3L/pages/index.module.js"
+        <link rel="preload" href="/_next/static/1en3jWzZdoLVtmwSJP7sn/pages/index.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/e15uF7AvCGtD8kx-wJl3L/pages/_app.module.js"
+        <link rel="preload" href="/_next/static/1en3jWzZdoLVtmwSJP7sn/pages/_app.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-4fda372135fe9d471709.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-41b570be350e74cf32cb.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/043678cef3eabb673ff535975b3a1262ff0fcc7e.c659a74b6088e6ac1abe.module.js"
+        <link rel="preload" href="/_next/static/chunks/b37a8fd39c056d75d8d3bdaa701fdaa0389c8163.85e4c18b9e4b400e5496.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/e15uF7AvCGtD8kx-wJl3L/_buildManifest.module.js"
+        <link rel="preload" href="/_next/static/1en3jWzZdoLVtmwSJP7sn/_buildManifest.module.js"
         as="script" crossorigin="anonymous" />
     </head>
     
@@ -26,40 +26,40 @@
         <div id="__next">Hello world 👋</div>
         <script id="__NEXT_DATA__" type="application/json"
         crossorigin="anonymous">
-            {"dataManager":"[]","props":{"pageProps":{}},"page":"/","query":{},"buildId":"e15uF7AvCGtD8kx-wJl3L"}
+            {"dataManager":"[]","props":{"pageProps":{}},"page":"/","query":{},"buildId":"1en3jWzZdoLVtmwSJP7sn"}
         </script>
         <script crossorigin="anonymous" nomodule="">
             !function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();
         </script>
-        <script async="" data-next-page="/" src="/_next/static/e15uF7AvCGtD8kx-wJl3L/pages/index.js"
+        <script async="" data-next-page="/" src="/_next/static/1en3jWzZdoLVtmwSJP7sn/pages/index.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/" src="/_next/static/e15uF7AvCGtD8kx-wJl3L/pages/index.module.js"
+        <script async="" data-next-page="/" src="/_next/static/1en3jWzZdoLVtmwSJP7sn/pages/index.module.js"
         crossorigin="anonymous" type="module"></script>
-        <script async="" data-next-page="/_app" src="/_next/static/e15uF7AvCGtD8kx-wJl3L/pages/_app.js"
+        <script async="" data-next-page="/_app" src="/_next/static/1en3jWzZdoLVtmwSJP7sn/pages/_app.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/_app" src="/_next/static/e15uF7AvCGtD8kx-wJl3L/pages/_app.module.js"
+        <script async="" data-next-page="/_app" src="/_next/static/1en3jWzZdoLVtmwSJP7sn/pages/_app.module.js"
         crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/runtime/webpack-a470c2a25bcb4d5a8ec0.js"
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-1cc0d9a8d8b262f2947c.js"
+        <script src="/_next/static/runtime/main-b50e91af3fd1d8cb23a4.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-4fda372135fe9d471709.module.js"
+        <script src="/_next/static/runtime/main-41b570be350e74cf32cb.module.js"
         async="" crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.js"
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/d7d00359faa6e497eb356edda53bbd24eb3b8d2c.155621535702fe040780.js"
+        <script src="/_next/static/chunks/93377d289983871779dd8d388227da3776ce158e.155621535702fe040780.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/043678cef3eabb673ff535975b3a1262ff0fcc7e.f6f7599a2edf91d8366a.js"
+        <script src="/_next/static/chunks/b37a8fd39c056d75d8d3bdaa701fdaa0389c8163.474e0ebc58bce106266f.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/043678cef3eabb673ff535975b3a1262ff0fcc7e.c659a74b6088e6ac1abe.module.js"
+        <script src="/_next/static/chunks/b37a8fd39c056d75d8d3bdaa701fdaa0389c8163.85e4c18b9e4b400e5496.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/e15uF7AvCGtD8kx-wJl3L/_buildManifest.js"
+        <script src="/_next/static/1en3jWzZdoLVtmwSJP7sn/_buildManifest.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/e15uF7AvCGtD8kx-wJl3L/_buildManifest.module.js"
+        <script src="/_next/static/1en3jWzZdoLVtmwSJP7sn/_buildManifest.module.js"
         async="" crossorigin="anonymous" type="module"></script>
     </body>
Diff for link.html
@@ -6,19 +6,19 @@
         <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"
         />
         <meta name="next-head-count" content="2" />
-        <link rel="preload" href="/_next/static/e15uF7AvCGtD8kx-wJl3L/pages/link.module.js"
+        <link rel="preload" href="/_next/static/1en3jWzZdoLVtmwSJP7sn/pages/link.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/e15uF7AvCGtD8kx-wJl3L/pages/_app.module.js"
+        <link rel="preload" href="/_next/static/1en3jWzZdoLVtmwSJP7sn/pages/_app.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/043678cef3eabb673ff535975b3a1262ff0fcc7e.c659a74b6088e6ac1abe.module.js"
+        <link rel="preload" href="/_next/static/chunks/b37a8fd39c056d75d8d3bdaa701fdaa0389c8163.85e4c18b9e4b400e5496.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-4fda372135fe9d471709.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-41b570be350e74cf32cb.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/e15uF7AvCGtD8kx-wJl3L/_buildManifest.module.js"
+        <link rel="preload" href="/_next/static/1en3jWzZdoLVtmwSJP7sn/_buildManifest.module.js"
         as="script" crossorigin="anonymous" />
     </head>
     
@@ -29,18 +29,18 @@
             </div>
         </div>
         <script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">
-            {"dataManager":"[]","props":{"pageProps":{}},"page":"/link","query":{},"buildId":"e15uF7AvCGtD8kx-wJl3L"}
+            {"dataManager":"[]","props":{"pageProps":{}},"page":"/link","query":{},"buildId":"1en3jWzZdoLVtmwSJP7sn"}
         </script>
         <script crossorigin="anonymous" nomodule="">
             !function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();
         </script>
-        <script async="" data-next-page="/link" src="/_next/static/e15uF7AvCGtD8kx-wJl3L/pages/link.js"
+        <script async="" data-next-page="/link" src="/_next/static/1en3jWzZdoLVtmwSJP7sn/pages/link.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/link" src="/_next/static/e15uF7AvCGtD8kx-wJl3L/pages/link.module.js"
+        <script async="" data-next-page="/link" src="/_next/static/1en3jWzZdoLVtmwSJP7sn/pages/link.module.js"
         crossorigin="anonymous" type="module"></script>
-        <script async="" data-next-page="/_app" src="/_next/static/e15uF7AvCGtD8kx-wJl3L/pages/_app.js"
+        <script async="" data-next-page="/_app" src="/_next/static/1en3jWzZdoLVtmwSJP7sn/pages/_app.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/_app" src="/_next/static/e15uF7AvCGtD8kx-wJl3L/pages/_app.module.js"
+        <script async="" data-next-page="/_app" src="/_next/static/1en3jWzZdoLVtmwSJP7sn/pages/_app.module.js"
         crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/runtime/webpack-a470c2a25bcb4d5a8ec0.js"
         async="" crossorigin="anonymous" nomodule=""></script>
@@ -50,19 +50,19 @@
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/d7d00359faa6e497eb356edda53bbd24eb3b8d2c.155621535702fe040780.js"
+        <script src="/_next/static/chunks/93377d289983871779dd8d388227da3776ce158e.155621535702fe040780.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/043678cef3eabb673ff535975b3a1262ff0fcc7e.f6f7599a2edf91d8366a.js"
+        <script src="/_next/static/chunks/b37a8fd39c056d75d8d3bdaa701fdaa0389c8163.474e0ebc58bce106266f.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/043678cef3eabb673ff535975b3a1262ff0fcc7e.c659a74b6088e6ac1abe.module.js"
+        <script src="/_next/static/chunks/b37a8fd39c056d75d8d3bdaa701fdaa0389c8163.85e4c18b9e4b400e5496.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-1cc0d9a8d8b262f2947c.js"
+        <script src="/_next/static/runtime/main-b50e91af3fd1d8cb23a4.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-4fda372135fe9d471709.module.js"
+        <script src="/_next/static/runtime/main-41b570be350e74cf32cb.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/e15uF7AvCGtD8kx-wJl3L/_buildManifest.js"
+        <script src="/_next/static/1en3jWzZdoLVtmwSJP7sn/_buildManifest.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/e15uF7AvCGtD8kx-wJl3L/_buildManifest.module.js"
+        <script src="/_next/static/1en3jWzZdoLVtmwSJP7sn/_buildManifest.module.js"
         async="" crossorigin="anonymous" type="module"></script>
     </body>
Diff for withRouter.html
@@ -6,19 +6,19 @@
         <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"
         />
         <meta name="next-head-count" content="2" />
-        <link rel="preload" href="/_next/static/e15uF7AvCGtD8kx-wJl3L/pages/withRouter.module.js"
+        <link rel="preload" href="/_next/static/1en3jWzZdoLVtmwSJP7sn/pages/withRouter.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/e15uF7AvCGtD8kx-wJl3L/pages/_app.module.js"
+        <link rel="preload" href="/_next/static/1en3jWzZdoLVtmwSJP7sn/pages/_app.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/043678cef3eabb673ff535975b3a1262ff0fcc7e.c659a74b6088e6ac1abe.module.js"
+        <link rel="preload" href="/_next/static/chunks/b37a8fd39c056d75d8d3bdaa701fdaa0389c8163.85e4c18b9e4b400e5496.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-4fda372135fe9d471709.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-41b570be350e74cf32cb.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/e15uF7AvCGtD8kx-wJl3L/_buildManifest.module.js"
+        <link rel="preload" href="/_next/static/1en3jWzZdoLVtmwSJP7sn/_buildManifest.module.js"
         as="script" crossorigin="anonymous" />
     </head>
     
@@ -27,18 +27,18 @@
             <div>I use withRouter</div>
         </div>
         <script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">
-            {"dataManager":"[]","props":{"pageProps":{}},"page":"/withRouter","query":{},"buildId":"e15uF7AvCGtD8kx-wJl3L"}
+            {"dataManager":"[]","props":{"pageProps":{}},"page":"/withRouter","query":{},"buildId":"1en3jWzZdoLVtmwSJP7sn"}
         </script>
         <script crossorigin="anonymous" nomodule="">
             !function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();
         </script>
-        <script async="" data-next-page="/withRouter" src="/_next/static/e15uF7AvCGtD8kx-wJl3L/pages/withRouter.js"
+        <script async="" data-next-page="/withRouter" src="/_next/static/1en3jWzZdoLVtmwSJP7sn/pages/withRouter.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/withRouter" src="/_next/static/e15uF7AvCGtD8kx-wJl3L/pages/withRouter.module.js"
+        <script async="" data-next-page="/withRouter" src="/_next/static/1en3jWzZdoLVtmwSJP7sn/pages/withRouter.module.js"
         crossorigin="anonymous" type="module"></script>
-        <script async="" data-next-page="/_app" src="/_next/static/e15uF7AvCGtD8kx-wJl3L/pages/_app.js"
+        <script async="" data-next-page="/_app" src="/_next/static/1en3jWzZdoLVtmwSJP7sn/pages/_app.js"
         crossorigin="anonymous" nomodule=""></script>
-        <script async="" data-next-page="/_app" src="/_next/static/e15uF7AvCGtD8kx-wJl3L/pages/_app.module.js"
+        <script async="" data-next-page="/_app" src="/_next/static/1en3jWzZdoLVtmwSJP7sn/pages/_app.module.js"
         crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/runtime/webpack-a470c2a25bcb4d5a8ec0.js"
         async="" crossorigin="anonymous" nomodule=""></script>
@@ -48,19 +48,19 @@
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/d7d00359faa6e497eb356edda53bbd24eb3b8d2c.155621535702fe040780.js"
+        <script src="/_next/static/chunks/93377d289983871779dd8d388227da3776ce158e.155621535702fe040780.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/043678cef3eabb673ff535975b3a1262ff0fcc7e.f6f7599a2edf91d8366a.js"
+        <script src="/_next/static/chunks/b37a8fd39c056d75d8d3bdaa701fdaa0389c8163.474e0ebc58bce106266f.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/043678cef3eabb673ff535975b3a1262ff0fcc7e.c659a74b6088e6ac1abe.module.js"
+        <script src="/_next/static/chunks/b37a8fd39c056d75d8d3bdaa701fdaa0389c8163.85e4c18b9e4b400e5496.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-1cc0d9a8d8b262f2947c.js"
+        <script src="/_next/static/runtime/main-b50e91af3fd1d8cb23a4.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-4fda372135fe9d471709.module.js"
+        <script src="/_next/static/runtime/main-41b570be350e74cf32cb.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/e15uF7AvCGtD8kx-wJl3L/_buildManifest.js"
+        <script src="/_next/static/1en3jWzZdoLVtmwSJP7sn/_buildManifest.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/e15uF7AvCGtD8kx-wJl3L/_buildManifest.module.js"
+        <script src="/_next/static/1en3jWzZdoLVtmwSJP7sn/_buildManifest.module.js"
         async="" crossorigin="anonymous" type="module"></script>
     </body>

Serverless Mode (Decrease detected ✓)
General Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
buildDuration 26.4s 26.8s ⚠️ +423ms
nodeModulesSize 42 MB 42 MB -26.3 kB
Client Bundles (main, webpack, commons) Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
main-HASH.js 18.3 kB 18.2 kB -41 B
main-HASH.js gzip 6.67 kB 6.64 kB -28 B
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
Overall change -41 B
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
main-HASH.module.js 16.6 kB 16.6 kB -41 B
main-HASH.module.js gzip 6.39 kB 6.38 kB -9 B
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH.module.js gzip 746 B 746 B
Overall change -41 B
Client Pages Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_app.js 1.83 kB 1.83 kB
_app.js gzip 884 B 883 B -1 B
_error.js 12.1 kB 12.1 kB -44 B
_error.js gzip 4.76 kB 4.74 kB -17 B
hooks.js 12.7 kB 12.7 kB
hooks.js gzip 4.81 kB 4.81 kB
index.js 343 B 343 B
index.js gzip 237 B 237 B
link.js 8.14 kB 8.14 kB
link.js gzip 3.49 kB 3.49 kB -2 B
routerDirect.js 434 B 433 B -1 B
routerDirect.js gzip 296 B 296 B
withRouter.js 444 B 444 B
withRouter.js gzip 294 B 294 B
Overall change -45 B
Client Pages Modern Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_app.module.js 1.73 kB 1.73 kB
_app.module.js gzip 840 B 841 B ⚠️ +1 B
_error.module.js 23.3 kB 23.3 kB -44 B
_error.module.js gzip 8.62 kB 8.6 kB -22 B
hooks.module.js 1.55 kB 1.55 kB
hooks.module.js gzip 805 B 804 B -1 B
index.module.js 319 B 319 B
index.module.js gzip 238 B 238 B
link.module.js 8.52 kB 8.52 kB
link.module.js gzip 3.68 kB 3.67 kB -3 B
routerDirect.module.js 419 B 419 B
routerDirect.module.js gzip 294 B 294 B
withRouter.module.js 430 B 429 B -1 B
withRouter.module.js gzip 293 B 293 B
Overall change -45 B
Client Build Manifests
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_buildManifest.js 81 B 81 B
_buildManifest.js gzip 61 B 61 B
_buildManifest.module.js 81 B 81 B
_buildManifest.module.js gzip 61 B 61 B
Overall change
Serverless bundles Overall decrease ✓
zeit/next.js canary timneutkens/next.js add/move-next-server Change
_error.js 248 kB 247 kB -208 B
_error.js gzip 66.3 kB 66.2 kB -77 B
hooks.html 3.86 kB 3.86 kB
hooks.html gzip 986 B 985 B -1 B
index.js 248 kB 248 kB -248 B
index.js gzip 66.6 kB 66.5 kB -144 B
link.js 256 kB 255 kB -248 B
link.js gzip 68.9 kB 68.6 kB -324 B
routerDirect.js 249 kB 249 kB -248 B
routerDirect.js gzip 66.7 kB 66.5 kB -163 B
withRouter.js 249 kB 249 kB -248 B
withRouter.js gzip 66.7 kB 66.6 kB -74 B
Overall change -1.2 kB

Copy link
Member

@Timer Timer left a comment

Choose a reason for hiding this comment

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

LGTM, but too big to properly review in depth. Let's see what happens!

@Timer Timer added this to the 9.0.6 milestone Sep 4, 2019
@Timer Timer merged commit 2ba352d into vercel:canary Sep 4, 2019
@timneutkens timneutkens deleted the add/move-next-server branch September 4, 2019 14:50
@sheerun
Copy link
Contributor

sheerun commented Sep 12, 2019

My future self told you this year ago, but you didn't listen: #5406

@lkbr
Copy link

lkbr commented Sep 13, 2019

Did you ever stop to think about the value of writing this comment?

Let's say you're right. You get to be feel a bit smug but it gets to be just another needlessly negative discouraging thing maintainers have to deal with that discourages them from ever experimenting.

Anyway, it looks like you weren't right. The reason mentioned for stopping the experiment is because a superior serverless target approach was discovered not because developers were consuming different versions of the packages like you predicted.

As beneficiaries of Next being open source it is in our best interest to be encouraging and constructive. We really don't want discouraged and burnt out maintainers.

@sheerun
Copy link
Contributor

sheerun commented Sep 13, 2019

It's you that even didn't bother to answer original issue, not me

@LinusU
Copy link

LinusU commented Oct 8, 2019

@timneutkens sorry for being a bit late here, I just realised that this package was removed now.

The serverless target is great for deploying to serverless, but I think that a great use case for the separate next-server package was when building a Docker image.

Before this change, we could have next in devDependencies, and next-server in dependencies. We would then use a docker multi-stage build to ensure that only the normal dependencies was included in the final docker image.

With this change we have to move next to dependencies, which means that the entire build toolchain will be included in our production docker images 😭

Is there anything we can do to improve this situation? I would be happy to help by discussing and submitting pull requests! 🙌

@Timer
Copy link
Member

Timer commented Oct 9, 2019

@LinusU you should be able to accomplish the same / a better effect by using target: 'serverless' (this can still be ran using next start).

@LinusU
Copy link

LinusU commented Oct 9, 2019

@Timer the serverless target doesn't support publicRuntimeConfig which is a requirement for us 😞

We want to promote from dev -> stage -> live without having to rebuild the app and deploy a new container. It's a bad practice to have configuration built into the docker container since it then won't be the same actual container running in the different environments, and you can't promote by using the same docker tag...

Maybe that is something that could be fixed though?

When using target: 'serverless', is the idea that you put all of your dependencies as dev-dependencies, and that each page will bundle all of it's dependencies? Won't that mean that I will get as many copies of e.g. React as I have pages in my Docker container, potentially making it huge? 🤔

@nodkz
Copy link

nodkz commented Dec 30, 2019

@LinusU did you find any workaround?

I'm also faced with the increased size of Docker images and really disappointed that next-server package was removed.

@LinusU
Copy link

LinusU commented Jan 15, 2020

@nodkz indeed I did!

I published this package in order to server the pages built with target: serverless:

https://www.npmjs.com/package/next-serverless-server

index.js

const server = require('next-serverless-server')

server(__dirname).listen(3000, (err) => {
  if (err) throw err

  console.log('> Ready on http://localhost:3000')
})

It's my only dependency, everything else is a dev-dependency!

and I solved the ENV-reading with something like this:

_document.ts

import Upstream, { Head, Main, NextScript } from 'next/document'
import React from 'react'

import { getConfig } from '../lib/config'

class Document extends Upstream<DocumentProps> {
  render () {
    const envScript = `window.CONFIG = ${JSON.stringify(this.props.config)}`

    return (
      <html lang='en'>
        <Head>
          <meta charSet='utf-8' />
        </Head>
        <body>
          <script dangerouslySetInnerHTML={{ __html: envScript }} />
          <Main />
          <NextScript />
        </body>
      </html>
    )
  }
}

Document.getInitialProps = () => {
  return { config: getConfig() }
}

export default Document

config.ts

import unwrap from 'ts-unwrap'

function getConfigVar (name: string) {
  return unwrap(process.env[name], `Missing environmental variable: ${name}`)
}

export function getConfig () {
  // tslint:disable-next-line strict-type-predicates
  if (typeof window !== 'undefined') return window.CONFIG

  return {
    graphqlUri: getConfigVar('GRAPHQL_URI')
  }
}

graphql.ts

import { getConfig } from './config'

// ...

{
  uri: getConfig().graphqlUri
}

Also, I should mention that I'm not actually running this in Docker. I'm running this on AWS Lambda using scandium. Works great! 🎉

@vercel vercel locked as resolved and limited conversation to collaborators Jan 31, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants