text: (window["webpackJsonp"] = window["webpackJsonp"] || []).push([["static/development/pages/_app.js"],{
  
  /***/ "./components/Nav.js":
  /*!***************************!*\
    !*** ./components/Nav.js ***!
    \***************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/link */ "./node_modules/next/link.js");
  /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_link__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! styled-components */ "./node_modules/styled-components/dist/styled-components.browser.esm.js");
  /* harmony import */ var _pages_document__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../pages/_document */ "./pages/_document.js");
  var _this = undefined,
      _jsxFileName = "/home/tobias/dev/flattenandflausch/frontend/components/Nav.js";
  
  
  var __jsx = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement;
  
  
  
  var Container = styled_components__WEBPACK_IMPORTED_MODULE_2__["default"].nav.withConfig({
    displayName: "Nav__Container",
    componentId: "i7kgpv-0"
  })(["background:#ddd;"]);
  var Content = styled_components__WEBPACK_IMPORTED_MODULE_2__["default"].div.withConfig({
    displayName: "Nav__Content",
    componentId: "i7kgpv-1"
  })(["align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:var(--max-width);padding:0 var(--padding);"]);
  var Credits = styled_components__WEBPACK_IMPORTED_MODULE_2__["default"].a.withConfig({
    displayName: "Nav__Credits",
    componentId: "i7kgpv-2"
  })(["margin:0.5rem 0;"]);
  var H1 = styled_components__WEBPACK_IMPORTED_MODULE_2__["default"].h1.withConfig({
    displayName: "Nav__H1",
    componentId: "i7kgpv-3"
  })(["font-size:1rem;margin:0.5rem 0;"]);
  
  var Nav = function Nav() {
    return __jsx(Container, {
      __self: _this,
      __source: {
        fileName: _jsxFileName,
        lineNumber: 28,
        columnNumber: 3
      }
    }, __jsx(Content, {
      __self: _this,
      __source: {
        fileName: _jsxFileName,
        lineNumber: 29,
        columnNumber: 5
      }
    }, __jsx(next_link__WEBPACK_IMPORTED_MODULE_1___default.a, {
      as: "/",
      href: "/",
      __self: _this,
      __source: {
        fileName: _jsxFileName,
        lineNumber: 30,
        columnNumber: 7
      }
    }, __jsx(H1, {
      __self: _this,
      __source: {
        fileName: _jsxFileName,
        lineNumber: 31,
        columnNumber: 9
      }
    }, __jsx("a", {
      href: "/",
      __self: _this,
      __source: {
        fileName: _jsxFileName,
        lineNumber: 32,
        columnNumber: 11
      }
    }, _pages_document__WEBPACK_IMPORTED_MODULE_3__["title"]))), __jsx(Credits, {
      href: "https://github.com/flattenandflausch/frontend",
      rel: "noopener noreferrer",
      target: "_blank",
      __self: _this,
      __source: {
        fileName: _jsxFileName,
        lineNumber: 35,
        columnNumber: 7
      }
    }, "Repo")));
  };
  
  /* harmony default export */ __webpack_exports__["default"] = (Nav);
  
  /***/ }),
  
  /***/ "./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js":
  /*!**************************************************************************!*\
    !*** ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js ***!
    \**************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _assertThisInitialized; });
  function _assertThisInitialized(self) {
    if (self === void 0) {
      throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
    }
  
    return self;
  }
  
  /***/ }),
  
  /***/ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js":
  /*!*******************************************************************!*\
    !*** ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js ***!
    \*******************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _classCallCheck; });
  function _classCallCheck(instance, Constructor) {
    if (!(instance instanceof Constructor)) {
      throw new TypeError("Cannot call a class as a function");
    }
  }
  
  /***/ }),
  
  /***/ "./node_modules/@babel/runtime/helpers/esm/createClass.js":
  /*!****************************************************************!*\
    !*** ./node_modules/@babel/runtime/helpers/esm/createClass.js ***!
    \****************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _createClass; });
  function _defineProperties(target, props) {
    for (var i = 0; i < props.length; i++) {
      var descriptor = props[i];
      descriptor.enumerable = descriptor.enumerable || false;
      descriptor.configurable = true;
      if ("value" in descriptor) descriptor.writable = true;
      Object.defineProperty(target, descriptor.key, descriptor);
    }
  }
  
  function _createClass(Constructor, protoProps, staticProps) {
    if (protoProps) _defineProperties(Constructor.prototype, protoProps);
    if (staticProps) _defineProperties(Constructor, staticProps);
    return Constructor;
  }
  
  /***/ }),
  
  /***/ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js":
  /*!*******************************************************************!*\
    !*** ./node_modules/@babel/runtime/helpers/esm/defineProperty.js ***!
    \*******************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _defineProperty; });
  function _defineProperty(obj, key, value) {
    if (key in obj) {
      Object.defineProperty(obj, key, {
        value: value,
        enumerable: true,
        configurable: true,
        writable: true
      });
    } else {
      obj[key] = value;
    }
  
    return obj;
  }
  
  /***/ }),
  
  /***/ "./node_modules/@babel/runtime/helpers/esm/extends.js":
  /*!************************************************************!*\
    !*** ./node_modules/@babel/runtime/helpers/esm/extends.js ***!
    \************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _extends; });
  function _extends() {
    _extends = Object.assign || function (target) {
      for (var i = 1; i < arguments.length; i++) {
        var source = arguments[i];
  
        for (var key in source) {
          if (Object.prototype.hasOwnProperty.call(source, key)) {
            target[key] = source[key];
          }
        }
      }
  
      return target;
    };
  
    return _extends.apply(this, arguments);
  }
  
  /***/ }),
  
  /***/ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js":
  /*!*******************************************************************!*\
    !*** ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js ***!
    \*******************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _getPrototypeOf; });
  function _getPrototypeOf(o) {
    _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
      return o.__proto__ || Object.getPrototypeOf(o);
    };
    return _getPrototypeOf(o);
  }
  
  /***/ }),
  
  /***/ "./node_modules/@babel/runtime/helpers/esm/inherits.js":
  /*!*************************************************************!*\
    !*** ./node_modules/@babel/runtime/helpers/esm/inherits.js ***!
    \*************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _inherits; });
  /* harmony import */ var _setPrototypeOf__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js");
  
  function _inherits(subClass, superClass) {
    if (typeof superClass !== "function" && superClass !== null) {
      throw new TypeError("Super expression must either be null or a function");
    }
  
    subClass.prototype = Object.create(superClass && superClass.prototype, {
      constructor: {
        value: subClass,
        writable: true,
        configurable: true
      }
    });
    if (superClass) Object(_setPrototypeOf__WEBPACK_IMPORTED_MODULE_0__["default"])(subClass, superClass);
  }
  
  /***/ }),
  
  /***/ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js":
  /*!******************************************************************************!*\
    !*** ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js ***!
    \******************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _possibleConstructorReturn; });
  /* harmony import */ var _helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../helpers/esm/typeof */ "./node_modules/@babel/runtime/helpers/esm/typeof.js");
  /* harmony import */ var _assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assertThisInitialized */ "./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js");
  
  
  function _possibleConstructorReturn(self, call) {
    if (call && (Object(_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__["default"])(call) === "object" || typeof call === "function")) {
      return call;
    }
  
    return Object(_assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__["default"])(self);
  }
  
  /***/ }),
  
  /***/ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js":
  /*!*******************************************************************!*\
    !*** ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js ***!
    \*******************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _setPrototypeOf; });
  function _setPrototypeOf(o, p) {
    _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
      o.__proto__ = p;
      return o;
    };
  
    return _setPrototypeOf(o, p);
  }
  
  /***/ }),
  
  /***/ "./node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js":
  /*!**************************************************************************!*\
    !*** ./node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js ***!
    \**************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _taggedTemplateLiteral; });
  function _taggedTemplateLiteral(strings, raw) {
    if (!raw) {
      raw = strings.slice(0);
    }
  
    return Object.freeze(Object.defineProperties(strings, {
      raw: {
        value: Object.freeze(raw)
      }
    }));
  }
  
  /***/ }),
  
  /***/ "./node_modules/@babel/runtime/helpers/esm/typeof.js":
  /*!***********************************************************!*\
    !*** ./node_modules/@babel/runtime/helpers/esm/typeof.js ***!
    \***********************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _typeof; });
  function _typeof(obj) {
    "@babel/helpers - typeof";
  
    if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
      _typeof = function _typeof(obj) {
        return typeof obj;
      };
    } else {
      _typeof = function _typeof(obj) {
        return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
      };
    }
  
    return _typeof(obj);
  }
  
  /***/ }),
  
  /***/ "./node_modules/@babel/runtime/regenerator/index.js":
  /*!**********************************************************!*\
    !*** ./node_modules/@babel/runtime/regenerator/index.js ***!
    \**********************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  module.exports = __webpack_require__(/*! regenerator-runtime */ "./node_modules/regenerator-runtime/runtime.js");
  
  
  /***/ }),
  
  /***/ "./node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js":
  /*!*******************************************************************************!*\
    !*** ./node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js ***!
    \*******************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var _emotion_memoize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/memoize */ "./node_modules/@emotion/memoize/dist/memoize.browser.esm.js");
  
  
  var reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|inert|itemProp|itemScope|itemType|itemID|itemRef|on|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23
  
  var index = Object(_emotion_memoize__WEBPACK_IMPORTED_MODULE_0__["default"])(function (prop) {
    return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111
    /* o */
    && prop.charCodeAt(1) === 110
    /* n */
    && prop.charCodeAt(2) < 91;
  }
  /* Z+1 */
  );
  
  /* harmony default export */ __webpack_exports__["default"] = (index);
  
  
  /***/ }),
  
  /***/ "./node_modules/@emotion/memoize/dist/memoize.browser.esm.js":
  /*!*******************************************************************!*\
    !*** ./node_modules/@emotion/memoize/dist/memoize.browser.esm.js ***!
    \*******************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  function memoize(fn) {
    var cache = {};
    return function (arg) {
      if (cache[arg] === undefined) cache[arg] = fn(arg);
      return cache[arg];
    };
  }
  
  /* harmony default export */ __webpack_exports__["default"] = (memoize);
  
  
  /***/ }),
  
  /***/ "./node_modules/@emotion/unitless/dist/unitless.browser.esm.js":
  /*!*********************************************************************!*\
    !*** ./node_modules/@emotion/unitless/dist/unitless.browser.esm.js ***!
    \*********************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  var unitlessKeys = {
    animationIterationCount: 1,
    borderImageOutset: 1,
    borderImageSlice: 1,
    borderImageWidth: 1,
    boxFlex: 1,
    boxFlexGroup: 1,
    boxOrdinalGroup: 1,
    columnCount: 1,
    columns: 1,
    flex: 1,
    flexGrow: 1,
    flexPositive: 1,
    flexShrink: 1,
    flexNegative: 1,
    flexOrder: 1,
    gridRow: 1,
    gridRowEnd: 1,
    gridRowSpan: 1,
    gridRowStart: 1,
    gridColumn: 1,
    gridColumnEnd: 1,
    gridColumnSpan: 1,
    gridColumnStart: 1,
    msGridRow: 1,
    msGridRowSpan: 1,
    msGridColumn: 1,
    msGridColumnSpan: 1,
    fontWeight: 1,
    lineHeight: 1,
    opacity: 1,
    order: 1,
    orphans: 1,
    tabSize: 1,
    widows: 1,
    zIndex: 1,
    zoom: 1,
    WebkitLineClamp: 1,
    // SVG-related properties
    fillOpacity: 1,
    floodOpacity: 1,
    stopOpacity: 1,
    strokeDasharray: 1,
    strokeDashoffset: 1,
    strokeMiterlimit: 1,
    strokeOpacity: 1,
    strokeWidth: 1
  };
  
  /* harmony default export */ __webpack_exports__["default"] = (unitlessKeys);
  
  
  /***/ }),
  
  /***/ "./node_modules/function-bind/implementation.js":
  /*!******************************************************!*\
    !*** ./node_modules/function-bind/implementation.js ***!
    \******************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  /* eslint no-invalid-this: 1 */
  
  var ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';
  var slice = Array.prototype.slice;
  var toStr = Object.prototype.toString;
  var funcType = '[object Function]';
  
  module.exports = function bind(that) {
      var target = this;
      if (typeof target !== 'function' || toStr.call(target) !== funcType) {
          throw new TypeError(ERROR_MESSAGE + target);
      }
      var args = slice.call(arguments, 1);
  
      var bound;
      var binder = function () {
          if (this instanceof bound) {
              var result = target.apply(
                  this,
                  args.concat(slice.call(arguments))
              );
              if (Object(result) === result) {
                  return result;
              }
              return this;
          } else {
              return target.apply(
                  that,
                  args.concat(slice.call(arguments))
              );
          }
      };
  
      var boundLength = Math.max(0, target.length - args.length);
      var boundArgs = [];
      for (var i = 0; i < boundLength; i++) {
          boundArgs.push('$' + i);
      }
  
      bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);
  
      if (target.prototype) {
          var Empty = function Empty() {};
          Empty.prototype = target.prototype;
          bound.prototype = new Empty();
          Empty.prototype = null;
      }
  
      return bound;
  };
  
  
  /***/ }),
  
  /***/ "./node_modules/function-bind/index.js":
  /*!*********************************************!*\
    !*** ./node_modules/function-bind/index.js ***!
    \*********************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  var implementation = __webpack_require__(/*! ./implementation */ "./node_modules/function-bind/implementation.js");
  
  module.exports = Function.prototype.bind || implementation;
  
  
  /***/ }),
  
  /***/ "./node_modules/has/src/index.js":
  /*!***************************************!*\
    !*** ./node_modules/has/src/index.js ***!
    \***************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  var bind = __webpack_require__(/*! function-bind */ "./node_modules/function-bind/index.js");
  
  module.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);
  
  
  /***/ }),
  
  /***/ "./node_modules/is-what/dist/index.esm.js":
  /*!************************************************!*\
    !*** ./node_modules/is-what/dist/index.esm.js ***!
    \************************************************/
  /*! exports provided: getType, isAnyObject, isArray, isBlob, isBoolean, isDate, isEmptyString, isError, isFile, isFullString, isFunction, isNull, isNullOrUndefined, isNumber, isObject, isObjectLike, isPlainObject, isPrimitive, isPromise, isRegExp, isString, isSymbol, isType, isUndefined */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getType", function() { return getType; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isAnyObject", function() { return isAnyObject; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isArray", function() { return isArray; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isBlob", function() { return isBlob; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isBoolean", function() { return isBoolean; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isDate", function() { return isDate; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isEmptyString", function() { return isEmptyString; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isError", function() { return isError; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isFile", function() { return isFile; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isFullString", function() { return isFullString; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isFunction", function() { return isFunction; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isNull", function() { return isNull; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isNullOrUndefined", function() { return isNullOrUndefined; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isNumber", function() { return isNumber; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isObject", function() { return isObject; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isObjectLike", function() { return isObjectLike; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isPlainObject", function() { return isPlainObject; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isPrimitive", function() { return isPrimitive; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isPromise", function() { return isPromise; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isRegExp", function() { return isRegExp; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isString", function() { return isString; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isSymbol", function() { return isSymbol; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isType", function() { return isType; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isUndefined", function() { return isUndefined; });
  /**
   * Returns the object type of the given payload
   *
   * @param {*} payload
   * @returns {string}
   */
  function getType(payload) {
      return Object.prototype.toString.call(payload).slice(8, -1);
  }
  /**
   * Returns whether the payload is undefined
   *
   * @param {*} payload
   * @returns {payload is undefined}
   */
  function isUndefined(payload) {
      return getType(payload) === 'Undefined';
  }
  /**
   * Returns whether the payload is null
   *
   * @param {*} payload
   * @returns {payload is null}
   */
  function isNull(payload) {
      return getType(payload) === 'Null';
  }
  /**
   * Returns whether the payload is a plain JavaScript object (excluding special classes or objects with other prototypes)
   *
   * @param {*} payload
   * @returns {payload is {[key: string]: any}}
   */
  function isPlainObject(payload) {
      if (getType(payload) !== 'Object')
          return false;
      return payload.constructor === Object && Object.getPrototypeOf(payload) === Object.prototype;
  }
  /**
   * Returns whether the payload is a plain JavaScript object (excluding special classes or objects with other prototypes)
   *
   * @param {*} payload
   * @returns {payload is {[key: string]: any}}
   */
  function isObject(payload) {
      return isPlainObject(payload);
  }
  /**
   * Returns whether the payload is an any kind of object (including special classes or objects with different prototypes)
   *
   * @param {*} payload
   * @returns {payload is {[key: string]: any}}
   */
  function isAnyObject(payload) {
      return getType(payload) === 'Object';
  }
  /**
   * Returns whether the payload is an object like a type passed in < >
   *
   * Usage: isObjectLike<{id: any}>(payload) // will make sure it's an object and has an `id` prop.
   *
   * @template T this must be passed in < >
   * @param {*} payload
   * @returns {payload is T}
   */
  function isObjectLike(payload) {
      return isAnyObject(payload);
  }
  /**
   * Returns whether the payload is a function
   *
   * @param {*} payload
   * @returns {payload is Function}
   */
  function isFunction(payload) {
      return getType(payload) === 'Function';
  }
  /**
   * Returns whether the payload is an array
   *
   * @param {*} payload
   * @returns {payload is undefined}
   */
  function isArray(payload) {
      return getType(payload) === 'Array';
  }
  /**
   * Returns whether the payload is a string
   *
   * @param {*} payload
   * @returns {payload is string}
   */
  function isString(payload) {
      return getType(payload) === 'String';
  }
  /**
   * Returns whether the payload is a string, BUT returns false for ''
   *
   * @param {*} payload
   * @returns {payload is string}
   */
  function isFullString(payload) {
      return isString(payload) && payload !== '';
  }
  /**
   * Returns whether the payload is ''
   *
   * @param {*} payload
   * @returns {payload is string}
   */
  function isEmptyString(payload) {
      return payload === '';
  }
  /**
   * Returns whether the payload is a number
   *
   * This will return false for NaN
   *
   * @param {*} payload
   * @returns {payload is number}
   */
  function isNumber(payload) {
      return getType(payload) === 'Number' && !isNaN(payload);
  }
  /**
   * Returns whether the payload is a boolean
   *
   * @param {*} payload
   * @returns {payload is boolean}
   */
  function isBoolean(payload) {
      return getType(payload) === 'Boolean';
  }
  /**
   * Returns whether the payload is a regular expression (RegExp)
   *
   * @param {*} payload
   * @returns {payload is RegExp}
   */
  function isRegExp(payload) {
      return getType(payload) === 'RegExp';
  }
  /**
   * Returns whether the payload is a Symbol
   *
   * @param {*} payload
   * @returns {payload is symbol}
   */
  function isSymbol(payload) {
      return getType(payload) === 'Symbol';
  }
  /**
   * Returns whether the payload is a Date, and that the date is valid
   *
   * @param {*} payload
   * @returns {payload is Date}
   */
  function isDate(payload) {
      return getType(payload) === 'Date' && !isNaN(payload);
  }
  /**
   * Returns whether the payload is a Blob
   *
   * @param {*} payload
   * @returns {payload is Blob}
   */
  function isBlob(payload) {
      return getType(payload) === 'Blob';
  }
  /**
   * Returns whether the payload is a File
   *
   * @param {*} payload
   * @returns {payload is File}
   */
  function isFile(payload) {
      return getType(payload) === 'File';
  }
  /**
   * Returns whether the payload is a Promise
   *
   * @param {*} payload
   * @returns {payload is Promise}
   */
  function isPromise(payload) {
      return getType(payload) === 'Promise';
  }
  /**
   * Returns whether the payload is an Error
   *
   * @param {*} payload
   * @returns {payload is Error}
   */
  function isError(payload) {
      return getType(payload) === 'Error';
  }
  /**
   * Returns whether the payload is a primitive type (eg. Boolean | Null | Undefined | Number | String | Symbol)
   *
   * @param {*} payload
   * @returns {(payload is boolean | null | undefined | number | string | symbol)}
   */
  function isPrimitive(payload) {
      return (isBoolean(payload) ||
          isNull(payload) ||
          isUndefined(payload) ||
          isNumber(payload) ||
          isString(payload) ||
          isSymbol(payload));
  }
  /**
   * Returns true whether the payload is null or undefined
   *
   * @param {*} payload
   * @returns {(payload is null | undefined)}
   */
  function isNullOrUndefined(payload) {
      return isNull(payload) || isUndefined(payload);
  }
  /**
   * Does a generic check to check that the given payload is of a given type.
   * In cases like Number, it will return true for NaN as NaN is a Number (thanks javascript!);
   * It will, however, differentiate between object and null
   *
   * @template T
   * @param {*} payload
   * @param {T} type
   * @throws {TypeError} Will throw type error if type is an invalid type
   * @returns {payload is T}
   */
  function isType(payload, type) {
      if (!(type instanceof Function)) {
          throw new TypeError('Type must be a function');
      }
      if (!Object.prototype.hasOwnProperty.call(type, 'prototype')) {
          throw new TypeError('Type is not a class');
      }
      // Classes usually have names (as functions usually have names)
      var name = type.name;
      return getType(payload) === name || Boolean(payload && payload.constructor === type);
  }
  
  
  
  
  /***/ }),
  
  /***/ "./node_modules/memoize-one/dist/memoize-one.esm.js":
  /*!**********************************************************!*\
    !*** ./node_modules/memoize-one/dist/memoize-one.esm.js ***!
    \**********************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  function areInputsEqual(newInputs, lastInputs) {
      if (newInputs.length !== lastInputs.length) {
          return false;
      }
      for (var i = 0; i < newInputs.length; i++) {
          if (newInputs[i] !== lastInputs[i]) {
              return false;
          }
      }
      return true;
  }
  
  function memoizeOne(resultFn, isEqual) {
      if (isEqual === void 0) { isEqual = areInputsEqual; }
      var lastThis;
      var lastArgs = [];
      var lastResult;
      var calledOnce = false;
      function memoized() {
          var newArgs = [];
          for (var _i = 0; _i < arguments.length; _i++) {
              newArgs[_i] = arguments[_i];
          }
          if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {
              return lastResult;
          }
          lastResult = resultFn.apply(this, newArgs);
          calledOnce = true;
          lastThis = this;
          lastArgs = newArgs;
          return lastResult;
      }
      return memoized;
  }
  
  /* harmony default export */ __webpack_exports__["default"] = (memoizeOne);
  
  
  /***/ }),
  
  /***/ "./node_modules/merge-anything/dist/index.esm.js":
  /*!*******************************************************!*\
    !*** ./node_modules/merge-anything/dist/index.esm.js ***!
    \*******************************************************/
  /*! exports provided: default, concatArrays, merge */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "concatArrays", function() { return concatArrays; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "merge", function() { return merge; });
  /* harmony import */ var is_what__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! is-what */ "./node_modules/is-what/dist/index.esm.js");
  
  
  /*! *****************************************************************************
  Copyright (c) Microsoft Corporation. All rights reserved.
  Licensed under the Apache License, Version 2.0 (the "License"); you may not use
  this file except in compliance with the License. You may obtain a copy of the
  License at http://www.apache.org/licenses/LICENSE-2.0
  
  THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
  WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
  MERCHANTABLITY OR NON-INFRINGEMENT.
  
  See the Apache Version 2.0 License for specific language governing permissions
  and limitations under the License.
  ***************************************************************************** */
  
  function __spreadArrays() {
      for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
      for (var r = Array(s), k = 0, i = 0; i < il; i++)
          for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
              r[k] = a[j];
      return r;
  }
  
  function assignProp(carry, key, newVal, originalObject) {
      var propType = originalObject.propertyIsEnumerable(key)
          ? 'enumerable'
          : 'nonenumerable';
      if (propType === 'enumerable')
          carry[key] = newVal;
      if (propType === 'nonenumerable') {
          Object.defineProperty(carry, key, {
              value: newVal,
              enumerable: false,
              writable: true,
              configurable: true
          });
      }
  }
  function mergeRecursively(origin, newComer, extensions) {
      // work directly on newComer if its not an object
      if (!Object(is_what__WEBPACK_IMPORTED_MODULE_0__["isPlainObject"])(newComer)) {
          // extend merge rules
          if (extensions && Object(is_what__WEBPACK_IMPORTED_MODULE_0__["isArray"])(extensions)) {
              extensions.forEach(function (extend) {
                  newComer = extend(origin, newComer);
              });
          }
          return newComer;
      }
      // define newObject to merge all values upon
      var newObject = {};
      if (Object(is_what__WEBPACK_IMPORTED_MODULE_0__["isPlainObject"])(origin)) {
          var props_1 = Object.getOwnPropertyNames(origin);
          var symbols_1 = Object.getOwnPropertySymbols(origin);
          newObject = __spreadArrays(props_1, symbols_1).reduce(function (carry, key) {
              // @ts-ignore
              var targetVal = origin[key];
              if ((!Object(is_what__WEBPACK_IMPORTED_MODULE_0__["isSymbol"])(key) && !Object.getOwnPropertyNames(newComer).includes(key)) ||
                  (Object(is_what__WEBPACK_IMPORTED_MODULE_0__["isSymbol"])(key) && !Object.getOwnPropertySymbols(newComer).includes(key))) {
                  assignProp(carry, key, targetVal, origin);
              }
              return carry;
          }, {});
      }
      var props = Object.getOwnPropertyNames(newComer);
      var symbols = Object.getOwnPropertySymbols(newComer);
      var result = __spreadArrays(props, symbols).reduce(function (carry, key) {
          // re-define the origin and newComer as targetVal and newVal
          var newVal = newComer[key];
          var targetVal = (Object(is_what__WEBPACK_IMPORTED_MODULE_0__["isPlainObject"])(origin))
              // @ts-ignore
              ? origin[key]
              : undefined;
          // extend merge rules
          if (extensions && Object(is_what__WEBPACK_IMPORTED_MODULE_0__["isArray"])(extensions)) {
              extensions.forEach(function (extend) {
                  newVal = extend(targetVal, newVal);
              });
          }
          // When newVal is an object do the merge recursively
          if (targetVal !== undefined && Object(is_what__WEBPACK_IMPORTED_MODULE_0__["isPlainObject"])(newVal)) {
              newVal = mergeRecursively(targetVal, newVal, extensions);
          }
          assignProp(carry, key, newVal, newComer);
          return carry;
      }, newObject);
      return result;
  }
  /**
   * Merge anything recursively.
   * Objects get merged, special objects (classes etc.) are re-assigned "as is".
   * Basic types overwrite objects or other basic types.
   *
   * @param {(IConfig | any)} origin
   * @param {...any[]} newComers
   * @returns the result
   */
  function merge(origin) {
      var newComers = [];
      for (var _i = 1; _i < arguments.length; _i++) {
          newComers[_i - 1] = arguments[_i];
      }
      var extensions = null;
      var base = origin;
      if (Object(is_what__WEBPACK_IMPORTED_MODULE_0__["isPlainObject"])(origin) && origin.extensions && Object.keys(origin).length === 1) {
          base = {};
          extensions = origin.extensions;
      }
      return newComers.reduce(function (result, newComer) {
          return mergeRecursively(result, newComer, extensions);
      }, base);
  }
  
  function concatArrays(originVal, newVal) {
      if (Object(is_what__WEBPACK_IMPORTED_MODULE_0__["isArray"])(originVal) && Object(is_what__WEBPACK_IMPORTED_MODULE_0__["isArray"])(newVal)) {
          // concat logic
          return originVal.concat(newVal);
      }
      return newVal; // always return newVal as fallback!!
  }
  
  /* harmony default export */ __webpack_exports__["default"] = (merge);
  
  
  
  /***/ }),
  
  /***/ "./node_modules/native-url/dist/index.js":
  /*!***********************************************!*\
    !*** ./node_modules/native-url/dist/index.js ***!
    \***********************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  var e,t=(e=__webpack_require__(/*! querystring */ "./node_modules/querystring-es3/index.js"))&&"object"==typeof e&&"default"in e?e.default:e,r=/https?|ftp|gopher|file/;function o(e){"string"==typeof e&&(e=f(e));var o=function(e,t,r){var o=e.auth,a=e.hostname,s=e.protocol||"",h=e.pathname||"",c=e.hash||"",p=e.query||"",n=!1;o=o?encodeURIComponent(o).replace(/%3A/i,":")+"@":"",e.host?n=o+e.host:a&&(n=o+(~a.indexOf(":")?"["+a+"]":a),e.port&&(n+=":"+e.port)),p&&"object"==typeof p&&(p=t.encode(p));var l=e.search||p&&"?"+p||"";return s&&":"!==s.substr(-1)&&(s+=":"),e.slashes||(!s||r.test(s))&&!1!==n?(n="//"+(n||""),h&&"/"!==h[0]&&(h="/"+h)):n||(n=""),c&&"#"!==c[0]&&(c="#"+c),l&&"?"!==l[0]&&(l="?"+l),{protocol:s,host:n,pathname:h=h.replace(/[?#]/g,encodeURIComponent),search:l=l.replace("#","%23"),hash:c}}(e,t,r);return""+o.protocol+o.host+o.pathname+o.search+o.hash}var a="http://",s="w.w",h=a+s,c=/^https?|ftp|gopher|file/,p=/^(.*?)([#?].*)/,n=/^([a-z0-9.+-]*:)(\/{0,3})(.*)/i,l=/^([a-z0-9.+-]*:)?\/\/\/*/i,i=/^([a-z0-9.+-]*:)(\/{0,2})\[(.*)\]$/i;function u(e){try{return decodeURI(e)}catch(t){return e}}function f(e,r,a){void 0===r&&(r=!1),void 0===a&&(a=!1);var f=(e=e.trim()).match(p);e=f?u(f[1]).replace(/\\/g,"/")+f[2]:u(e).replace(/\\/g,"/"),i.test(e)&&"/"!==e.slice(-1)&&(e+="/");var m=!/(^javascript)/.test(e)&&e.match(n),v=l.test(e),d="";m&&(c.test(m[1])||(d=m[1].toLowerCase(),e=""+m[2]+m[3]),m[2]||(v=!1,c.test(m[1])?(d=m[1],e=""+m[3]):e="//"+m[3]),3!==m[2].length&&1!==m[2].length||(d=m[1],e="/"+m[3]));var g,b=e.match(/(:[0-9]+)/),y="";b&&b[1]&&3===b[1].length&&(e=e.replace(y=b[1],y+"00"));var w={},x="",R="";try{g=new URL(e)}catch(t){x=t,d||a||!/^\/\//.test(e)||/^\/\/.+[@.]/.test(e)||(R="/",e=e.substr(1));try{g=new URL(e,h)}catch(e){return w.protocol=d,w.href=d,w}}w.slashes=v&&!R,w.host=g.host===s?"":g.host,w.hostname=g.hostname===s?"":g.hostname.replace(/(\[|\])/g,""),w.protocol=x?d||null:g.protocol,w.search=g.search.replace(/\\/g,"%5C"),w.hash=g.hash.replace(/\\/g,"%5C");var U=e.split("#");!w.search&&~U[0].indexOf("?")&&(w.search="?"),w.hash||""!==U[1]||(w.hash="#"),w.query=r?t.decode(g.search.substr(1)):w.search.substr(1),w.pathname=R+u(g.pathname).replace(/"/g,"%22"),"about:"===w.protocol&&"blank"===w.pathname&&(w.protocol="",w.pathname=""),x&&"/"!==e[0]&&(w.pathname=w.pathname.substr(1)),d&&!c.test(d)&&"/"!==e.slice(-1)&&"/"===w.pathname&&(w.pathname=""),w.path=w.pathname+w.search,w.auth=[g.username,g.password].map(decodeURIComponent).filter(Boolean).join(":"),w.port=g.port,y&&(w.host=w.host.replace(y+"00",y),w.port=w.port.slice(0,-2)),w.href=R?""+w.pathname+w.search+w.hash:o(w);var j=/^(file)/.test(w.href)?["host","hostname"]:[];return Object.keys(w).forEach(function(e){~j.indexOf(e)||(w[e]=w[e]||null)}),w}var m=/^([a-z0-9.+-]*:\/\/\/)([a-z0-9.+-]:\/*)?/i,v=/https?|ftp|gopher|file/;function d(e,t){var r="string"==typeof e?f(e):e;e="object"==typeof e?o(e):e;var s=f(t),c="";r.protocol&&!r.slashes&&(c=r.protocol,e=e.replace(r.protocol,""),c+="/"===t[0]||"/"===e[0]?"/":""),c&&s.protocol&&(c="",s.slashes||(c=s.protocol,t=t.replace(s.protocol,"")));var p=e.match(m);p&&!s.protocol&&(e=e.substr((c=p[1]+(p[2]||"")).length),/^\/\/[^\/]/.test(t)&&(c=c.slice(0,-1)));var n=new URL(e,h+"/"),l=new URL(t,n).toString().replace(h,""),i=s.protocol||r.protocol;return i+=r.slashes||s.slashes?"//":"",!c&&i?l=l.replace(a,i):c&&(l=l.replace(a,"")),v.test(l)||~t.indexOf(".")||"/"===e.slice(-1)||"/"===t.slice(-1)||"/"!==l.slice(-1)||(l=l.slice(0,-1)),c&&(l=c+("/"===l[0]?l.substr(1):l)),l}exports.parse=f,exports.format=o,exports.resolve=d,exports.resolveObject=function(e,t){return f(d(e,t))};
  //# sourceMappingURL=index.js.map
  
  
  /***/ }),
  
  /***/ "./node_modules/next/app.js":
  /*!**********************************!*\
    !*** ./node_modules/next/app.js ***!
    \**********************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  module.exports = __webpack_require__(/*! ./dist/pages/_app */ "./node_modules/next/dist/pages/_app.js")
  
  
  /***/ }),
  
  /***/ "./node_modules/next/dist/build/polyfills/object-assign.js":
  /*!***********************************************************************************************************************!*\
    !*** delegated ./node_modules/next/dist/build/polyfills/object-assign.js from dll-reference dll_2adc2403d89adc16ead0 ***!
    \***********************************************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  module.exports = (__webpack_require__(/*! dll-reference dll_2adc2403d89adc16ead0 */ "dll-reference dll_2adc2403d89adc16ead0"))("./node_modules/next/dist/build/polyfills/object-assign.js");
  
  /***/ }),
  
  /***/ "./node_modules/next/dist/build/polyfills/object.assign/index.js":
  /*!***********************************************************************!*\
    !*** ./node_modules/next/dist/build/polyfills/object.assign/index.js ***!
    \***********************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  var assign=Object.assign.bind(Object);function g(){return assign;}Object.defineProperties(g(),{implementation:{get:g},shim:{value:g},getPolyfill:{value:g}});module.exports=g();
  
  /***/ }),
  
  /***/ "./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?page=%2F_app&absolutePagePath=private-next-pages%2F_app.js!./":
  /*!*********************************************************************************************************************************************!*\
    !*** ./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?page=%2F_app&absolutePagePath=private-next-pages%2F_app.js ***!
    \*********************************************************************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  
      (window.__NEXT_P=window.__NEXT_P||[]).push(["/_app", function() {
        var mod = __webpack_require__(/*! private-next-pages/_app.js */ "./pages/_app.js")
        if(true) {
          module.hot.accept(/*! private-next-pages/_app.js */ "./pages/_app.js", function() {
            if(!next.router.components["/_app"]) return
            var updatedPage = __webpack_require__(/*! private-next-pages/_app.js */ "./pages/_app.js")
            next.router.update("/_app", updatedPage)
          })
        }
        return mod
      }]);
  
  
  /***/ }),
  
  /***/ "./node_modules/next/dist/build/webpack/loaders/next-plugin-loader.js?middleware=unstable-enhance-app-server!./":
  /*!*******************************************************************************************************************!*\
    !*** ./node_modules/next/dist/build/webpack/loaders/next-plugin-loader.js?middleware=unstable-enhance-app-server ***!
    \*******************************************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  
  
  
      /* harmony default export */ __webpack_exports__["default"] = (function (ctx) {
        return Promise.all([])
      });
  
  
  /***/ }),
  
  /***/ "./node_modules/next/dist/build/webpack/loaders/next-plugin-loader.js?middleware=unstable-get-styles-server!./":
  /*!******************************************************************************************************************!*\
    !*** ./node_modules/next/dist/build/webpack/loaders/next-plugin-loader.js?middleware=unstable-get-styles-server ***!
    \******************************************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  
  
  
      /* harmony default export */ __webpack_exports__["default"] = (function (ctx) {
        return Promise.all([])
      });
  
  
  /***/ }),
  
  /***/ "./node_modules/next/dist/client/link.js":
  /*!***********************************************!*\
    !*** ./node_modules/next/dist/client/link.js ***!
    \***********************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  var _classCallCheck = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/next/node_modules/@babel/runtime/helpers/classCallCheck.js");
  
  var _createClass = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/next/node_modules/@babel/runtime/helpers/createClass.js");
  
  var _possibleConstructorReturn = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/next/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js");
  
  var _getPrototypeOf = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/next/node_modules/@babel/runtime/helpers/getPrototypeOf.js");
  
  var _inherits = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/next/node_modules/@babel/runtime/helpers/inherits.js");
  
  function _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
  
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
  
  var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/next/node_modules/@babel/runtime/helpers/interopRequireDefault.js");
  
  var _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ "./node_modules/next/node_modules/@babel/runtime/helpers/interopRequireWildcard.js");
  
  exports.__esModule = true;
  exports["default"] = void 0;
  
  var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "./node_modules/react/index.js"));
  
  var _url = __webpack_require__(/*! url */ "./node_modules/native-url/dist/index.js");
  
  var _utils = __webpack_require__(/*! ../next-server/lib/utils */ "./node_modules/next/dist/next-server/lib/utils.js");
  
  var _router = _interopRequireDefault(__webpack_require__(/*! ./router */ "./node_modules/next/dist/client/router.js"));
  
  function isLocal(href) {
    var url = (0, _url.parse)(href, false, true);
    var origin = (0, _url.parse)((0, _utils.getLocationOrigin)(), false, true);
    return !url.host || url.protocol === origin.protocol && url.host === origin.host;
  }
  
  function memoizedFormatUrl(formatFunc) {
    var lastHref = null;
    var lastAs = null;
    var lastResult = null;
    return function (href, as) {
      if (lastResult && href === lastHref && as === lastAs) {
        return lastResult;
      }
  
      var result = formatFunc(href, as);
      lastHref = href;
      lastAs = as;
      lastResult = result;
      return result;
    };
  }
  
  function formatUrl(url) {
    return url && typeof url === 'object' ? (0, _utils.formatWithValidation)(url) : url;
  }
  
  var observer;
  var listeners = new Map();
  var IntersectionObserver = true ? window.IntersectionObserver : undefined;
  var prefetched = {};
  
  function getObserver() {
    // Return shared instance of IntersectionObserver if already created
    if (observer) {
      return observer;
    } // Only create shared IntersectionObserver if supported in browser
  
  
    if (!IntersectionObserver) {
      return undefined;
    }
  
    return observer = new IntersectionObserver(function (entries) {
      entries.forEach(function (entry) {
        if (!listeners.has(entry.target)) {
          return;
        }
  
        var cb = listeners.get(entry.target);
  
        if (entry.isIntersecting || entry.intersectionRatio > 0) {
          observer.unobserve(entry.target);
          listeners["delete"](entry.target);
          cb();
        }
      });
    }, {
      rootMargin: '200px'
    });
  }
  
  var listenToIntersections = function listenToIntersections(el, cb) {
    var observer = getObserver();
  
    if (!observer) {
      return function () {};
    }
  
    observer.observe(el);
    listeners.set(el, cb);
    return function () {
      try {
        observer.unobserve(el);
      } catch (err) {
        console.error(err);
      }
  
      listeners["delete"](el);
    };
  };
  
  var Link = /*#__PURE__*/function (_react$Component) {
    _inherits(Link, _react$Component);
  
    var _super = _createSuper(Link);
  
    function Link(props) {
      var _this;
  
      _classCallCheck(this, Link);
  
      _this = _super.call(this, props);
      _this.p = void 0;
  
      _this.cleanUpListeners = function () {};
  
      _this.formatUrls = memoizedFormatUrl(function (href, asHref) {
        return {
          href: formatUrl(href),
          as: asHref ? formatUrl(asHref) : asHref
        };
      });
  
      _this.linkClicked = function (e) {
        var _e$currentTarget = e.currentTarget,
            nodeName = _e$currentTarget.nodeName,
            target = _e$currentTarget.target;
  
        if (nodeName === 'A' && (target && target !== '_self' || e.metaKey || e.ctrlKey || e.shiftKey || e.nativeEvent && e.nativeEvent.which === 2)) {
          // ignore click for new tab / new window behavior
          return;
        }
  
        var _this$formatUrls = _this.formatUrls(_this.props.href, _this.props.as),
            href = _this$formatUrls.href,
            as = _this$formatUrls.as;
  
        if (!isLocal(href)) {
          // ignore click if it's outside our scope (e.g. https://google.com)
          return;
        }
  
        var pathname = window.location.pathname;
        href = (0, _url.resolve)(pathname, href);
        as = as ? (0, _url.resolve)(pathname, as) : href;
        e.preventDefault(); //  avoid scroll for urls with anchor refs
  
        var scroll = _this.props.scroll;
  
        if (scroll == null) {
          scroll = as.indexOf('#') < 0;
        } // replace state instead of push if prop is present
  
  
        _router["default"][_this.props.replace ? 'replace' : 'push'](href, as, {
          shallow: _this.props.shallow
        }).then(function (success) {
          if (!success) return;
  
          if (scroll) {
            window.scrollTo(0, 0);
            document.body.focus();
          }
        });
      };
  
      if (true) {
        if (props.prefetch) {
          console.warn('Next.js auto-prefetches automatically based on viewport. The prefetch attribute is no longer needed. More: https://err.sh/zeit/next.js/prefetch-true-deprecated');
        }
      }
  
      _this.p = props.prefetch !== false;
      return _this;
    }
  
    _createClass(Link, [{
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        this.cleanUpListeners();
      }
    }, {
      key: "getPaths",
      value: function getPaths() {
        var pathname = window.location.pathname;
  
        var _this$formatUrls2 = this.formatUrls(this.props.href, this.props.as),
            parsedHref = _this$formatUrls2.href,
            parsedAs = _this$formatUrls2.as;
  
        var resolvedHref = (0, _url.resolve)(pathname, parsedHref);
        return [resolvedHref, parsedAs ? (0, _url.resolve)(pathname, parsedAs) : resolvedHref];
      }
    }, {
      key: "handleRef",
      value: function handleRef(ref) {
        var _this2 = this;
  
        if (this.p && IntersectionObserver && ref && ref.tagName) {
          this.cleanUpListeners();
          var isPrefetched = prefetched[this.getPaths().join( // Join on an invalid URI character
          '%')];
  
          if (!isPrefetched) {
            this.cleanUpListeners = listenToIntersections(ref, function () {
              _this2.prefetch();
            });
          }
        }
      } // The function is memoized so that no extra lifecycles are needed
      // as per https://reactjs.org/blog/2018/06/07/you-probably-dont-need-derived-state.html
  
    }, {
      key: "prefetch",
      value: function prefetch(options) {
        if (!this.p || false) return; // Prefetch the JSON page if asked (only in the client)
  
        var paths = this.getPaths(); // We need to handle a prefetch error here since we may be
        // loading with priority which can reject but we don't
        // want to force navigation since this is only a prefetch
  
        _router["default"].prefetch(paths[
        /* href */
        0], paths[
        /* asPath */
        1], options)["catch"](function (err) {
          if (true) {
            // rethrow to show invalid URL errors
            throw err;
          }
        });
  
        prefetched[paths.join( // Join on an invalid URI character
        '%')] = true;
      }
    }, {
      key: "render",
      value: function render() {
        var _this3 = this;
  
        var children = this.props.children;
  
        var _this$formatUrls3 = this.formatUrls(this.props.href, this.props.as),
            href = _this$formatUrls3.href,
            as = _this$formatUrls3.as; // Deprecated. Warning shown by propType check. If the children provided is a string (<Link>example</Link>) we wrap it in an <a> tag
  
  
        if (typeof children === 'string') {
          children = _react["default"].createElement("a", null, children);
        } // This will return the first child, if multiple are provided it will throw an error
  
  
        var child = _react.Children.only(children);
  
        var props = {
          ref: function ref(el) {
            _this3.handleRef(el);
  
            if (child && typeof child === 'object' && child.ref) {
              if (typeof child.ref === 'function') child.ref(el);else if (typeof child.ref === 'object') {
                child.ref.current = el;
              }
            }
          },
          onMouseEnter: function onMouseEnter(e) {
            if (child.props && typeof child.props.onMouseEnter === 'function') {
              child.props.onMouseEnter(e);
            }
  
            _this3.prefetch({
              priority: true
            });
          },
          onClick: function onClick(e) {
            if (child.props && typeof child.props.onClick === 'function') {
              child.props.onClick(e);
            }
  
            if (!e.defaultPrevented) {
              _this3.linkClicked(e);
            }
          }
        }; // If child is an <a> tag and doesn't have a href attribute, or if the 'passHref' property is
        // defined, we specify the current 'href', so that repetition is not needed by the user
  
        if (this.props.passHref || child.type === 'a' && !('href' in child.props)) {
          props.href = as || href;
        } // Add the ending slash to the paths. So, we can serve the
        // "<page>/index.html" directly.
  
  
        if (false) { var rewriteUrlForNextExport; }
  
        return _react["default"].cloneElement(child, props);
      }
    }]);
  
    return Link;
  }(_react.Component);
  
  if (true) {
    var warn = (0, _utils.execOnce)(console.error); // This module gets removed by webpack.IgnorePlugin
  
    var PropTypes = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js");
  
    var exact = __webpack_require__(/*! prop-types-exact */ "./node_modules/prop-types-exact/build/index.js"); // @ts-ignore the property is supported, when declaring it on the class it outputs an extra bit of code which is not needed.
  
  
    Link.propTypes = exact({
      href: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,
      as: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),
      prefetch: PropTypes.bool,
      replace: PropTypes.bool,
      shallow: PropTypes.bool,
      passHref: PropTypes.bool,
      scroll: PropTypes.bool,
      children: PropTypes.oneOfType([PropTypes.element, function (props, propName) {
        var value = props[propName];
  
        if (typeof value === 'string') {
          warn("Warning: You're using a string directly inside <Link>. This usage has been deprecated. Please add an <a> tag as child of <Link>");
        }
  
        return null;
      }]).isRequired
    });
  }
  
  var _default = Link;
  exports["default"] = _default;
  
  /***/ }),
  
  /***/ "./node_modules/next/dist/client/router.js":
  /*!*************************************************!*\
    !*** ./node_modules/next/dist/client/router.js ***!
    \*************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  var _construct = __webpack_require__(/*! @babel/runtime/helpers/construct */ "./node_modules/next/node_modules/@babel/runtime/helpers/construct.js");
  
  function _createForOfIteratorHelper(o) { if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (o = _unsupportedIterableToArray(o))) { var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var it, normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
  
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(n); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
  
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
  
  var _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ "./node_modules/next/node_modules/@babel/runtime/helpers/interopRequireWildcard.js");
  
  var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/next/node_modules/@babel/runtime/helpers/interopRequireDefault.js");
  
  exports.__esModule = true;
  exports.useRouter = useRouter;
  exports.makePublicRouterInstance = makePublicRouterInstance;
  exports.createRouter = exports.withRouter = exports["default"] = void 0;
  
  var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js"));
  
  var _router2 = _interopRequireWildcard(__webpack_require__(/*! ../next-server/lib/router/router */ "./node_modules/next/dist/next-server/lib/router/router.js"));
  
  exports.Router = _router2["default"];
  exports.NextRouter = _router2.NextRouter;
  
  var _routerContext = __webpack_require__(/*! ../next-server/lib/router-context */ "./node_modules/next/dist/next-server/lib/router-context.js");
  
  var _withRouter = _interopRequireDefault(__webpack_require__(/*! ./with-router */ "./node_modules/next/dist/client/with-router.js"));
  
  exports.withRouter = _withRouter["default"];
  /* global window */
  
  var singletonRouter = {
    router: null,
    // holds the actual router instance
    readyCallbacks: [],
    ready: function ready(cb) {
      if (this.router) return cb();
  
      if (true) {
        this.readyCallbacks.push(cb);
      }
    }
  }; // Create public properties and methods of the router in the singletonRouter
  
  var urlPropertyFields = ['pathname', 'route', 'query', 'asPath', 'components', 'isFallback'];
  var routerEvents = ['routeChangeStart', 'beforeHistoryChange', 'routeChangeComplete', 'routeChangeError', 'hashChangeStart', 'hashChangeComplete'];
  var coreMethodFields = ['push', 'replace', 'reload', 'back', 'prefetch', 'beforePopState']; // Events is a static property on the router, the router doesn't have to be initialized to use it
  
  Object.defineProperty(singletonRouter, 'events', {
    get: function get() {
      return _router2["default"].events;
    }
  });
  urlPropertyFields.forEach(function (field) {
    // Here we need to use Object.defineProperty because, we need to return
    // the property assigned to the actual router
    // The value might get changed as we change routes and this is the
    // proper way to access it
    Object.defineProperty(singletonRouter, field, {
      get: function get() {
        var router = getRouter();
        return router[field];
      }
    });
  });
  coreMethodFields.forEach(function (field) {
    // We don't really know the types here, so we add them later instead
    ;
  
    singletonRouter[field] = function () {
      var router = getRouter();
      return router[field].apply(router, arguments);
    };
  });
  routerEvents.forEach(function (event) {
    singletonRouter.ready(function () {
      _router2["default"].events.on(event, function () {
        var eventField = "on" + event.charAt(0).toUpperCase() + event.substring(1);
        var _singletonRouter = singletonRouter;
  
        if (_singletonRouter[eventField]) {
          try {
            _singletonRouter[eventField].apply(_singletonRouter, arguments);
          } catch (err) {
            // tslint:disable-next-line:no-console
            console.error("Error when running the Router event: " + eventField); // tslint:disable-next-line:no-console
  
            console.error(err.message + "\n" + err.stack);
          }
        }
      });
    });
  });
  
  function getRouter() {
    if (!singletonRouter.router) {
      var message = 'No router instance found.\n' + 'You should only use "next/router" inside the client side of your app.\n';
      throw new Error(message);
    }
  
    return singletonRouter.router;
  } // Export the singletonRouter and this is the public API.
  
  
  var _default = singletonRouter; // Reexport the withRoute HOC
  
  exports["default"] = _default;
  
  function useRouter() {
    return _react["default"].useContext(_routerContext.RouterContext);
  } // INTERNAL APIS
  // -------------
  // (do not use following exports inside the app)
  // Create a router and assign it as the singleton instance.
  // This is used in client side when we are initilizing the app.
  // This should **not** use inside the server.
  
  
  var createRouter = function createRouter() {
    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
      args[_key] = arguments[_key];
    }
  
    singletonRouter.router = _construct(_router2["default"], args);
    singletonRouter.readyCallbacks.forEach(function (cb) {
      return cb();
    });
    singletonRouter.readyCallbacks = [];
    return singletonRouter.router;
  }; // This function is used to create the `withRouter` router instance
  
  
  exports.createRouter = createRouter;
  
  function makePublicRouterInstance(router) {
    var _router = router;
    var instance = {};
  
    var _iterator = _createForOfIteratorHelper(urlPropertyFields),
        _step;
  
    try {
      for (_iterator.s(); !(_step = _iterator.n()).done;) {
        var property = _step.value;
  
        if (typeof _router[property] === 'object') {
          instance[property] = Object.assign({}, _router[property]); // makes sure query is not stateful
  
          continue;
        }
  
        instance[property] = _router[property];
      } // Events is a static property on the router, the router doesn't have to be initialized to use it
  
    } catch (err) {
      _iterator.e(err);
    } finally {
      _iterator.f();
    }
  
    instance.events = _router2["default"].events;
    coreMethodFields.forEach(function (field) {
      instance[field] = function () {
        return _router[field].apply(_router, arguments);
      };
    });
    return instance;
  }
  
  /***/ }),
  
  /***/ "./node_modules/next/dist/client/with-router.js":
  /*!******************************************************!*\
    !*** ./node_modules/next/dist/client/with-router.js ***!
    \******************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/next/node_modules/@babel/runtime/helpers/interopRequireDefault.js");
  
  exports.__esModule = true;
  exports["default"] = withRouter;
  
  var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js"));
  
  var _router = __webpack_require__(/*! ./router */ "./node_modules/next/dist/client/router.js");
  
  function withRouter(ComposedComponent) {
    function WithRouterWrapper(props) {
      return _react["default"].createElement(ComposedComponent, Object.assign({
        router: (0, _router.useRouter)()
      }, props));
    }
  
    WithRouterWrapper.getInitialProps = ComposedComponent.getInitialProps // This is needed to allow checking for custom getInitialProps in _app
    ;
    WithRouterWrapper.origGetInitialProps = ComposedComponent.origGetInitialProps;
  
    if (true) {
      var name = ComposedComponent.displayName || ComposedComponent.name || 'Unknown';
      WithRouterWrapper.displayName = "withRouter(" + name + ")";
    }
  
    return WithRouterWrapper;
  }
  
  /***/ }),
  
  /***/ "./node_modules/next/dist/next-server/lib/amp-context.js":
  /*!***************************************************************!*\
    !*** ./node_modules/next/dist/next-server/lib/amp-context.js ***!
    \***************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  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__(/*! react */ "./node_modules/react/index.js"));
  
  exports.AmpStateContext = React.createContext({});
  
  /***/ }),
  
  /***/ "./node_modules/next/dist/next-server/lib/amp.js":
  /*!*******************************************************!*\
    !*** ./node_modules/next/dist/next-server/lib/amp.js ***!
    \*******************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  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__(/*! react */ "./node_modules/react/index.js"));
  
  var amp_context_1 = __webpack_require__(/*! ./amp-context */ "./node_modules/next/dist/next-server/lib/amp-context.js");
  
  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;
  
  /***/ }),
  
  /***/ "./node_modules/next/dist/next-server/lib/constants.js":
  /*!*************************************************************!*\
    !*** ./node_modules/next/dist/next-server/lib/constants.js ***!
    \*************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.PHASE_EXPORT = 'phase-export';
  exports.PHASE_PRODUCTION_BUILD = 'phase-production-build';
  exports.PHASE_PRODUCTION_SERVER = 'phase-production-server';
  exports.PHASE_DEVELOPMENT_SERVER = 'phase-development-server';
  exports.PAGES_MANIFEST = 'pages-manifest.json';
  exports.BUILD_MANIFEST = 'build-manifest.json';
  exports.EXPORT_MARKER = 'export-marker.json';
  exports.EXPORT_DETAIL = 'export-detail.json';
  exports.PRERENDER_MANIFEST = 'prerender-manifest.json';
  exports.ROUTES_MANIFEST = 'routes-manifest.json';
  exports.REACT_LOADABLE_MANIFEST = 'react-loadable-manifest.json';
  exports.SERVER_DIRECTORY = 'server';
  exports.SERVERLESS_DIRECTORY = 'serverless';
  exports.CONFIG_FILE = 'next.config.js';
  exports.BUILD_ID_FILE = 'BUILD_ID';
  exports.BLOCKED_PAGES = ['/_document', '/_app'];
  exports.CLIENT_PUBLIC_FILES_PATH = 'public';
  exports.CLIENT_STATIC_FILES_PATH = 'static';
  exports.CLIENT_STATIC_FILES_RUNTIME = 'runtime';
  exports.AMP_RENDER_TARGET = '__NEXT_AMP_RENDER_TARGET__';
  exports.CLIENT_STATIC_FILES_RUNTIME_PATH = "".concat(exports.CLIENT_STATIC_FILES_PATH, "/").concat(exports.CLIENT_STATIC_FILES_RUNTIME); // static/runtime/main.js
  
  exports.CLIENT_STATIC_FILES_RUNTIME_MAIN = "".concat(exports.CLIENT_STATIC_FILES_RUNTIME_PATH, "/main.js"); // static/runtime/amp.js
  
  exports.CLIENT_STATIC_FILES_RUNTIME_AMP = "".concat(exports.CLIENT_STATIC_FILES_RUNTIME_PATH, "/amp.js"); // static/runtime/webpack.js
  
  exports.CLIENT_STATIC_FILES_RUNTIME_WEBPACK = "".concat(exports.CLIENT_STATIC_FILES_RUNTIME_PATH, "/webpack.js"); // static/runtime/polyfills.js
  
  exports.CLIENT_STATIC_FILES_RUNTIME_POLYFILLS = "".concat(exports.CLIENT_STATIC_FILES_RUNTIME_PATH, "/polyfills.js"); // matches static/<buildid>/pages/<page>.js
  
  exports.IS_BUNDLED_PAGE_REGEX = /^static[/\\][^/\\]+[/\\]pages.*\.js$/; // matches static/<buildid>/pages/:page*.js
  
  exports.ROUTE_NAME_REGEX = /^static[/\\][^/\\]+[/\\]pages[/\\](.*)\.js$/;
  exports.SERVERLESS_ROUTE_NAME_REGEX = /^pages[/\\](.*)\.js$/;
  exports.TEMPORARY_REDIRECT_STATUS = 307;
  exports.PERMANENT_REDIRECT_STATUS = 308;
  exports.STATIC_PROPS_ID = '__N_SSG';
  exports.SERVER_PROPS_ID = '__N_SSP';
  
  /***/ }),
  
  /***/ "./node_modules/next/dist/next-server/lib/document-context.js":
  /*!********************************************************************!*\
    !*** ./node_modules/next/dist/next-server/lib/document-context.js ***!
    \********************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  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__(/*! react */ "./node_modules/react/index.js"));
  
  exports.DocumentContext = React.createContext(null);
  
  /***/ }),
  
  /***/ "./node_modules/next/dist/next-server/lib/head-manager-context.js":
  /*!************************************************************************!*\
    !*** ./node_modules/next/dist/next-server/lib/head-manager-context.js ***!
    \************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  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__(/*! react */ "./node_modules/react/index.js"));
  
  exports.HeadManagerContext = React.createContext(null);
  
  /***/ }),
  
  /***/ "./node_modules/next/dist/next-server/lib/head.js":
  /*!********************************************************!*\
    !*** ./node_modules/next/dist/next-server/lib/head.js ***!
    \********************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  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__(/*! react */ "./node_modules/react/index.js"));
  
  var side_effect_1 = __importDefault(__webpack_require__(/*! ./side-effect */ "./node_modules/next/dist/next-server/lib/side-effect.js"));
  
  var amp_context_1 = __webpack_require__(/*! ./amp-context */ "./node_modules/next/dist/next-server/lib/amp-context.js");
  
  var head_manager_context_1 = __webpack_require__(/*! ./head-manager-context */ "./node_modules/next/dist/next-server/lib/head-manager-context.js");
  
  var amp_1 = __webpack_require__(/*! ./amp */ "./node_modules/next/dist/next-server/lib/amp.js");
  
  function defaultHead() {
    var inAmpMode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
    var head = [react_1["default"].createElement("meta", {
      charSet: "utf-8"
    })];
  
    if (!inAmpMode) {
      head.push(react_1["default"].createElement("meta", {
        name: "viewport",
        content: "width=device-width"
      }));
    }
  
    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) {
      var unique = true;
  
      if (h.key && typeof h.key !== 'number' && h.key.indexOf('$') > 0) {
        var key = h.key.slice(h.key.indexOf('$') + 1);
  
        if (keys.has(key)) {
          unique = false;
        } else {
          keys.add(key);
        }
      } // eslint-disable-next-line default-case
  
  
      switch (h.type) {
        case 'title':
        case 'base':
          if (tags.has(h.type)) {
            unique = false;
          } else {
            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)) {
                unique = false;
              } else {
                metaTypes.add(metatype);
              }
            } else {
              var category = h.props[metatype];
              var categories = metaCategories[metatype] || new Set();
  
              if (categories.has(category)) {
                unique = false;
              } else {
                categories.add(category);
                metaCategories[metatype] = categories;
              }
            }
          }
  
          break;
      }
  
      return unique;
    };
  }
  /**
   *
   * @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);
      });
    });
  }
  
  Head.rewind = Effect.rewind;
  exports["default"] = Head;
  
  /***/ }),
  
  /***/ "./node_modules/next/dist/next-server/lib/mitt.js":
  /*!********************************************************!*\
    !*** ./node_modules/next/dist/next-server/lib/mitt.js ***!
    \********************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  /*
  MIT License
  
  Copyright (c) Jason Miller (https://jasonformat.com/)
  
  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
  
  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
  
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
  
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  
  function mitt() {
    var all = Object.create(null);
    return {
      on: function on(type, handler) {
        ;
        (all[type] || (all[type] = [])).push(handler);
      },
      off: function off(type, handler) {
        if (all[type]) {
          // tslint:disable-next-line:no-bitwise
          all[type].splice(all[type].indexOf(handler) >>> 0, 1);
        }
      },
      emit: function emit(type) {
        for (var _len = arguments.length, evts = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
          evts[_key - 1] = arguments[_key];
        }
  
        // eslint-disable-next-line array-callback-return
        ;
        (all[type] || []).slice().map(function (handler) {
          handler.apply(void 0, evts);
        });
      }
    };
  }
  
  exports["default"] = mitt;
  
  /***/ }),
  
  /***/ "./node_modules/next/dist/next-server/lib/router-context.js":
  /*!******************************************************************!*\
    !*** ./node_modules/next/dist/next-server/lib/router-context.js ***!
    \******************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  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__(/*! react */ "./node_modules/react/index.js"));
  
  exports.RouterContext = React.createContext(null);
  
  /***/ }),
  
  /***/ "./node_modules/next/dist/next-server/lib/router/router.js":
  /*!*****************************************************************!*\
    !*** ./node_modules/next/dist/next-server/lib/router/router.js ***!
    \*****************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  var _regeneratorRuntime = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/next/node_modules/@babel/runtime/regenerator/index.js");
  
  var _slicedToArray = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "./node_modules/next/node_modules/@babel/runtime/helpers/slicedToArray.js");
  
  var _classCallCheck = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/next/node_modules/@babel/runtime/helpers/classCallCheck.js");
  
  var _createClass = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/next/node_modules/@babel/runtime/helpers/createClass.js");
  
  var __importDefault = this && this.__importDefault || function (mod) {
    return mod && mod.__esModule ? mod : {
      "default": mod
    };
  };
  
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  
  var url_1 = __webpack_require__(/*! url */ "./node_modules/native-url/dist/index.js");
  
  var mitt_1 = __importDefault(__webpack_require__(/*! ../mitt */ "./node_modules/next/dist/next-server/lib/mitt.js"));
  
  var utils_1 = __webpack_require__(/*! ../utils */ "./node_modules/next/dist/next-server/lib/utils.js");
  
  var is_dynamic_1 = __webpack_require__(/*! ./utils/is-dynamic */ "./node_modules/next/dist/next-server/lib/router/utils/is-dynamic.js");
  
  var route_matcher_1 = __webpack_require__(/*! ./utils/route-matcher */ "./node_modules/next/dist/next-server/lib/router/utils/route-matcher.js");
  
  var route_regex_1 = __webpack_require__(/*! ./utils/route-regex */ "./node_modules/next/dist/next-server/lib/router/utils/route-regex.js");
  
  function addBasePath(path) {
    // variable is always a string
    var p = "";
    return path.indexOf(p) !== 0 ? p + path : path;
  }
  
  function toRoute(path) {
    return path.replace(/\/$/, '') || '/';
  }
  
  var prepareRoute = function prepareRoute(path) {
    return toRoute(!path || path === '/' ? '/index' : path);
  };
  
  function fetchNextData(pathname, query, isServerRender, cb) {
    var attempts = isServerRender ? 3 : 1;
  
    function getResponse() {
      return fetch(utils_1.formatWithValidation({
        // @ts-ignore __NEXT_DATA__
        pathname: "/_next/data/".concat(__NEXT_DATA__.buildId).concat(pathname, ".json"),
        query: query
      }), {
        // Cookies are required to be present for Next.js' SSG "Preview Mode".
        // Cookies may also be required for `getServerSideProps`.
        //
        // > `fetch` won’t send cookies, unless you set the credentials init
        // > option.
        // https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch
        //
        // > For maximum browser compatibility when it comes to sending &
        // > receiving cookies, always supply the `credentials: 'same-origin'`
        // > option instead of relying on the default.
        // https://github.com/github/fetch#caveats
        credentials: 'same-origin'
      }).then(function (res) {
        if (!res.ok) {
          if (--attempts > 0 && res.status >= 500) {
            return getResponse();
          }
  
          throw new Error("Failed to load static props");
        }
  
        return res.json();
      });
    }
  
    return getResponse().then(function (data) {
      return cb ? cb(data) : data;
    })["catch"](function (err) {
      // We should only trigger a server-side transition if this was caused
      // on a client-side transition. Otherwise, we'd get into an infinite
      // loop.
      if (!isServerRender) {
        ;
        err.code = 'PAGE_LOAD_ERROR';
      }
  
      throw err;
    });
  }
  
  var Router = /*#__PURE__*/function () {
    function Router(pathname, query, as, _ref) {
      var _this = this;
  
      var initialProps = _ref.initialProps,
          pageLoader = _ref.pageLoader,
          App = _ref.App,
          wrapApp = _ref.wrapApp,
          Component = _ref.Component,
          err = _ref.err,
          subscription = _ref.subscription,
          isFallback = _ref.isFallback;
  
      _classCallCheck(this, Router);
  
      // Static Data Cache
      this.sdc = {};
  
      this.onPopState = function (e) {
        if (!e.state) {
          // We get state as undefined for two reasons.
          //  1. With older safari (< 8) and older chrome (< 34)
          //  2. When the URL changed with #
          //
          // In the both cases, we don't need to proceed and change the route.
          // (as it's already changed)
          // But we can simply replace the state with the new changes.
          // Actually, for (1) we don't need to nothing. But it's hard to detect that event.
          // So, doing the following for (1) does no harm.
          var _pathname = _this.pathname,
              _query = _this.query;
  
          _this.changeState('replaceState', utils_1.formatWithValidation({
            pathname: _pathname,
            query: _query
          }), utils_1.getURL());
  
          return;
        } // Make sure we don't re-render on initial load,
        // can be caused by navigating back from an external site
  
  
        if (e.state && _this.isSsr && e.state.as === _this.asPath && url_1.parse(e.state.url).pathname === _this.pathname) {
          return;
        } // If the downstream application returns falsy, return.
        // They will then be responsible for handling the event.
  
  
        if (_this._bps && !_this._bps(e.state)) {
          return;
        }
  
        var _e$state = e.state,
            url = _e$state.url,
            as = _e$state.as,
            options = _e$state.options;
  
        if (true) {
          if (typeof url === 'undefined' || typeof as === 'undefined') {
            console.warn('`popstate` event triggered but `event.state` did not have `url` or `as` https://err.sh/zeit/next.js/popstate-state-empty');
          }
        }
  
        _this.replace(url, as, options);
      };
  
      this._getStaticData = function (asPath) {
        var pathname = prepareRoute(url_1.parse(asPath).pathname);
        return  false ? undefined : fetchNextData(pathname, null, _this.isSsr, function (data) {
          return _this.sdc[pathname] = data;
        });
      };
  
      this._getServerData = function (asPath) {
        var _url_1$parse = url_1.parse(asPath, true),
            pathname = _url_1$parse.pathname,
            query = _url_1$parse.query;
  
        pathname = prepareRoute(pathname);
        return fetchNextData(pathname, query, _this.isSsr);
      }; // represents the current component key
  
  
      this.route = toRoute(pathname); // set up the component cache (by route keys)
  
      this.components = {}; // We should not keep the cache, if there's an error
      // Otherwise, this cause issues when when going back and
      // come again to the errored page.
  
      if (pathname !== '/_error') {
        this.components[this.route] = {
          Component: Component,
          props: initialProps,
          err: err,
          __N_SSG: initialProps && initialProps.__N_SSG,
          __N_SSP: initialProps && initialProps.__N_SSP
        };
      }
  
      this.components['/_app'] = {
        Component: App
      }; // Backwards compat for Router.router.events
      // TODO: Should be remove the following major version as it was never documented
  
      this.events = Router.events;
      this.pageLoader = pageLoader;
      this.pathname = pathname;
      this.query = query; // if auto prerendered and dynamic route wait to update asPath
      // until after mount to prevent hydration mismatch
  
      this.asPath = // @ts-ignore this is temporarily global (attached to window)
      is_dynamic_1.isDynamicRoute(pathname) && __NEXT_DATA__.autoExport ? pathname : as;
      this.sub = subscription;
      this.clc = null;
      this._wrapApp = wrapApp; // make sure to ignore extra popState in safari on navigating
      // back from external site
  
      this.isSsr = true;
      this.isFallback = isFallback;
  
      if (true) {
        // in order for `e.state` to work on the `onpopstate` event
        // we have to register the initial route upon initialization
        this.changeState('replaceState', utils_1.formatWithValidation({
          pathname: pathname,
          query: query
        }), as);
        window.addEventListener('popstate', this.onPopState);
      }
    } // @deprecated backwards compatibility even though it's a private method.
  
  
    _createClass(Router, [{
      key: "update",
      value: function update(route, mod) {
        var Component = mod["default"] || mod;
        var data = this.components[route];
  
        if (!data) {
          throw new Error("Cannot update unavailable route: ".concat(route));
        }
  
        var newData = Object.assign(Object.assign({}, data), {
          Component: Component,
          __N_SSG: mod.__N_SSG,
          __N_SSP: mod.__N_SSP
        });
        this.components[route] = newData; // pages/_app.js updated
  
        if (route === '/_app') {
          this.notify(this.components[this.route]);
          return;
        }
  
        if (route === this.route) {
          this.notify(newData);
        }
      }
    }, {
      key: "reload",
      value: function reload() {
        window.location.reload();
      }
      /**
       * Go back in history
       */
  
    }, {
      key: "back",
      value: function back() {
        window.history.back();
      }
      /**
       * Performs a `pushState` with arguments
       * @param url of the route
       * @param as masks `url` for the browser
       * @param options object you can define `shallow` and other options
       */
  
    }, {
      key: "push",
      value: function push(url) {
        var as = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : url;
        var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
        return this.change('pushState', url, as, options);
      }
      /**
       * Performs a `replaceState` with arguments
       * @param url of the route
       * @param as masks `url` for the browser
       * @param options object you can define `shallow` and other options
       */
  
    }, {
      key: "replace",
      value: function replace(url) {
        var as = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : url;
        var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
        return this.change('replaceState', url, as, options);
      }
    }, {
      key: "change",
      value: function change(method, _url, _as, options) {
        var _this2 = this;
  
        return new Promise(function (resolve, reject) {
          if (!options._h) {
            _this2.isSsr = false;
          } // marking route changes as a navigation start entry
  
  
          if (utils_1.ST) {
            performance.mark('routeChange');
          } // If url and as provided as an object representation,
          // we'll format them into the string version here.
  
  
          var url = typeof _url === 'object' ? utils_1.formatWithValidation(_url) : _url;
          var as = typeof _as === 'object' ? utils_1.formatWithValidation(_as) : _as; // Add the ending slash to the paths. So, we can serve the
          // "<page>/index.html" directly for the SSR page.
  
          if (false) { var rewriteUrlForNextExport; }
  
          _this2.abortComponentLoad(as); // If the url change is only related to a hash change
          // We should not proceed. We should only change the state.
          // WARNING: `_h` is an internal option for handing Next.js client-side
          // hydration. Your app should _never_ use this property. It may change at
          // any time without notice.
  
  
          if (!options._h && _this2.onlyAHashChange(as)) {
            _this2.asPath = as;
            Router.events.emit('hashChangeStart', as);
  
            _this2.changeState(method, url, addBasePath(as), options);
  
            _this2.scrollToHash(as);
  
            Router.events.emit('hashChangeComplete', as);
            return resolve(true);
          }
  
          var _url_1$parse2 = url_1.parse(url, true),
              pathname = _url_1$parse2.pathname,
              query = _url_1$parse2.query,
              protocol = _url_1$parse2.protocol;
  
          if (!pathname || protocol) {
            if (true) {
              throw new Error("Invalid href passed to router: ".concat(url, " https://err.sh/zeit/next.js/invalid-href-passed"));
            }
  
            return resolve(false);
          } // If asked to change the current URL we should reload the current page
          // (not location.reload() but reload getInitialProps and other Next.js stuffs)
          // We also need to set the method = replaceState always
          // as this should not go into the history (That's how browsers work)
          // We should compare the new asPath to the current asPath, not the url
  
  
          if (!_this2.urlIsNew(as)) {
            method = 'replaceState';
          }
  
          var route = toRoute(pathname);
          var _options$shallow = options.shallow,
              shallow = _options$shallow === void 0 ? false : _options$shallow;
  
          if (is_dynamic_1.isDynamicRoute(route)) {
            var _url_1$parse3 = url_1.parse(as),
                asPathname = _url_1$parse3.pathname;
  
            var routeRegex = route_regex_1.getRouteRegex(route);
            var routeMatch = route_matcher_1.getRouteMatcher(routeRegex)(asPathname);
  
            if (!routeMatch) {
              var missingParams = Object.keys(routeRegex.groups).filter(function (param) {
                return !query[param];
              });
  
              if (missingParams.length > 0) {
                if (true) {
                  console.warn("Mismatching `as` and `href` failed to manually provide " + "the params: ".concat(missingParams.join(', '), " in the `href`'s `query`"));
                }
  
                return reject(new Error("The provided `as` value (".concat(asPathname, ") is incompatible with the `href` value (").concat(route, "). ") + "Read more: https://err.sh/zeit/next.js/incompatible-href-as"));
              }
            } else {
              // Merge params into `query`, overwriting any specified in search
              Object.assign(query, routeMatch);
            }
          }
  
          Router.events.emit('routeChangeStart', as); // If shallow is true and the route exists in the router cache we reuse the previous result
  
          _this2.getRouteInfo(route, pathname, query, as, shallow).then(function (routeInfo) {
            var error = routeInfo.error;
  
            if (error && error.cancelled) {
              return resolve(false);
            }
  
            Router.events.emit('beforeHistoryChange', as);
  
            _this2.changeState(method, url, addBasePath(as), options);
  
            if (true) {
              var appComp = _this2.components['/_app'].Component;
              window.next.isPrerendered = appComp.getInitialProps === appComp.origGetInitialProps && !routeInfo.Component.getInitialProps;
            }
  
            _this2.set(route, pathname, query, as, routeInfo);
  
            if (error) {
              Router.events.emit('routeChangeError', error, as);
              throw error;
            }
  
            Router.events.emit('routeChangeComplete', as);
            return resolve(true);
          }, reject);
        });
      }
    }, {
      key: "changeState",
      value: function changeState(method, url, as) {
        var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
  
        if (true) {
          if (typeof window.history === 'undefined') {
            console.error("Warning: window.history is not available.");
            return;
          }
  
          if (typeof window.history[method] === 'undefined') {
            console.error("Warning: window.history.".concat(method, " is not available"));
            return;
          }
        }
  
        if (method !== 'pushState' || utils_1.getURL() !== as) {
          window.history[method]({
            url: url,
            as: as,
            options: options
          }, // Most browsers currently ignores this parameter, although they may use it in the future.
          // Passing the empty string here should be safe against future changes to the method.
          // https://developer.mozilla.org/en-US/docs/Web/API/History/replaceState
          '', as);
        }
      }
    }, {
      key: "getRouteInfo",
      value: function getRouteInfo(route, pathname, query, as) {
        var _this3 = this;
  
        var shallow = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
        var cachedRouteInfo = this.components[route]; // If there is a shallow route transition possible
        // If the route is already rendered on the screen.
  
        if (shallow && cachedRouteInfo && this.route === route) {
          return Promise.resolve(cachedRouteInfo);
        }
  
        var handleError = function handleError(err, loadErrorFail) {
          return new Promise(function (resolve) {
            if (err.code === 'PAGE_LOAD_ERROR' || loadErrorFail) {
              // If we can't load the page it could be one of following reasons
              //  1. Page doesn't exists
              //  2. Page does exist in a different zone
              //  3. Internal error while loading the page
              // So, doing a hard reload is the proper way to deal with this.
              window.location.href = as; // Changing the URL doesn't block executing the current code path.
              // So, we need to mark it as a cancelled error and stop the routing logic.
  
              err.cancelled = true; // @ts-ignore TODO: fix the control flow here
  
              return resolve({
                error: err
              });
            }
  
            if (err.cancelled) {
              // @ts-ignore TODO: fix the control flow here
              return resolve({
                error: err
              });
            }
  
            resolve(_this3.fetchComponent('/_error').then(function (res) {
              var Component = res.page;
              var routeInfo = {
                Component: Component,
                err: err
              };
              return new Promise(function (resolve) {
                _this3.getInitialProps(Component, {
                  err: err,
                  pathname: pathname,
                  query: query
                }).then(function (props) {
                  routeInfo.props = props;
                  routeInfo.error = err;
                  resolve(routeInfo);
                }, function (gipErr) {
                  console.error('Error in error page `getInitialProps`: ', gipErr);
                  routeInfo.error = err;
                  routeInfo.props = {};
                  resolve(routeInfo);
                });
              });
            })["catch"](function (err) {
              return handleError(err, true);
            }));
          });
        };
  
        return new Promise(function (resolve, reject) {
          if (cachedRouteInfo) {
            return resolve(cachedRouteInfo);
          }
  
          _this3.fetchComponent(route).then(function (res) {
            return resolve({
              Component: res.page,
              __N_SSG: res.mod.__N_SSG,
              __N_SSP: res.mod.__N_SSP
            });
          }, reject);
        }).then(function (routeInfo) {
          var Component = routeInfo.Component,
              __N_SSG = routeInfo.__N_SSG,
              __N_SSP = routeInfo.__N_SSP;
  
          if (true) {
            var _require = __webpack_require__(/*! react-is */ "./node_modules/next/node_modules/react-is/index.js"),
                isValidElementType = _require.isValidElementType;
  
            if (!isValidElementType(Component)) {
              throw new Error("The default export is not a React Component in page: \"".concat(pathname, "\""));
            }
          }
  
          return _this3._getData(function () {
            return __N_SSG ? _this3._getStaticData(as) : __N_SSP ? _this3._getServerData(as) : _this3.getInitialProps(Component, // we provide AppTree later so this needs to be `any`
            {
              pathname: pathname,
              query: query,
              asPath: as
            });
          }).then(function (props) {
            routeInfo.props = props;
            _this3.components[route] = routeInfo;
            return routeInfo;
          });
        })["catch"](handleError);
      }
    }, {
      key: "set",
      value: function set(route, pathname, query, as, data) {
        this.isFallback = false;
        this.route = route;
        this.pathname = pathname;
        this.query = query;
        this.asPath = as;
        this.notify(data);
      }
      /**
       * Callback to execute before replacing router state
       * @param cb callback to be executed
       */
  
    }, {
      key: "beforePopState",
      value: function beforePopState(cb) {
        this._bps = cb;
      }
    }, {
      key: "onlyAHashChange",
      value: function onlyAHashChange(as) {
        if (!this.asPath) return false;
  
        var _this$asPath$split = this.asPath.split('#'),
            _this$asPath$split2 = _slicedToArray(_this$asPath$split, 2),
            oldUrlNoHash = _this$asPath$split2[0],
            oldHash = _this$asPath$split2[1];
  
        var _as$split = as.split('#'),
            _as$split2 = _slicedToArray(_as$split, 2),
            newUrlNoHash = _as$split2[0],
            newHash = _as$split2[1]; // Makes sure we scroll to the provided hash if the url/hash are the same
  
  
        if (newHash && oldUrlNoHash === newUrlNoHash && oldHash === newHash) {
          return true;
        } // If the urls are change, there's more than a hash change
  
  
        if (oldUrlNoHash !== newUrlNoHash) {
          return false;
        } // If the hash has changed, then it's a hash only change.
        // This check is necessary to handle both the enter and
        // leave hash === '' cases. The identity case falls through
        // and is treated as a next reload.
  
  
        return oldHash !== newHash;
      }
    }, {
      key: "scrollToHash",
      value: function scrollToHash(as) {
        var _as$split3 = as.split('#'),
            _as$split4 = _slicedToArray(_as$split3, 2),
            hash = _as$split4[1]; // Scroll to top if the hash is just `#` with no value
  
  
        if (hash === '') {
          window.scrollTo(0, 0);
          return;
        } // First we check if the element by id is found
  
  
        var idEl = document.getElementById(hash);
  
        if (idEl) {
          idEl.scrollIntoView();
          return;
        } // If there's no element with the id, we check the `name` property
        // To mirror browsers
  
  
        var nameEl = document.getElementsByName(hash)[0];
  
        if (nameEl) {
          nameEl.scrollIntoView();
        }
      }
    }, {
      key: "urlIsNew",
      value: function urlIsNew(asPath) {
        return this.asPath !== asPath;
      }
      /**
       * Prefetch page code, you may wait for the data during page rendering.
       * This feature only works in production!
       * @param url the href of prefetched page
       * @param asPath the as path of the prefetched page
       */
  
    }, {
      key: "prefetch",
      value: function prefetch(url) {
        var _this4 = this;
  
        var asPath = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : url;
        var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
        return new Promise(function (resolve, reject) {
          var _url_1$parse4 = url_1.parse(url),
              pathname = _url_1$parse4.pathname,
              protocol = _url_1$parse4.protocol;
  
          if (!pathname || protocol) {
            if (true) {
              throw new Error("Invalid href passed to router: ".concat(url, " https://err.sh/zeit/next.js/invalid-href-passed"));
            }
  
            return;
          } // Prefetch is not supported in development mode because it would trigger on-demand-entries
  
  
          if (true) {
            return;
          }
  
          Promise.all([_this4.pageLoader.prefetchData(url, asPath), _this4.pageLoader[options.priority ? 'loadPage' : 'prefetch'](toRoute(pathname))]).then(function () {
            return resolve();
          }, reject);
        });
      }
    }, {
      key: "fetchComponent",
      value: function fetchComponent(route) {
        var cancelled, cancel, componentResult, error;
        return _regeneratorRuntime.async(function fetchComponent$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                cancelled = false;
  
                cancel = this.clc = function () {
                  cancelled = true;
                };
  
                _context.next = 4;
                return _regeneratorRuntime.awrap(this.pageLoader.loadPage(route));
  
              case 4:
                componentResult = _context.sent;
  
                if (!cancelled) {
                  _context.next = 9;
                  break;
                }
  
                error = new Error("Abort fetching component for route: \"".concat(route, "\""));
                error.cancelled = true;
                throw error;
  
              case 9:
                if (cancel === this.clc) {
                  this.clc = null;
                }
  
                return _context.abrupt("return", componentResult);
  
              case 11:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_getData",
      value: function _getData(fn) {
        var _this5 = this;
  
        var cancelled = false;
  
        var cancel = function cancel() {
          cancelled = true;
        };
  
        this.clc = cancel;
        return fn().then(function (data) {
          if (cancel === _this5.clc) {
            _this5.clc = null;
          }
  
          if (cancelled) {
            var err = new Error('Loading initial props cancelled');
            err.cancelled = true;
            throw err;
          }
  
          return data;
        });
      }
    }, {
      key: "getInitialProps",
      value: function getInitialProps(Component, ctx) {
        var App = this.components['/_app'].Component;
  
        var AppTree = this._wrapApp(App);
  
        ctx.AppTree = AppTree;
        return utils_1.loadGetInitialProps(App, {
          AppTree: AppTree,
          Component: Component,
          router: this,
          ctx: ctx
        });
      }
    }, {
      key: "abortComponentLoad",
      value: function abortComponentLoad(as) {
        if (this.clc) {
          var e = new Error('Route Cancelled');
          e.cancelled = true;
          Router.events.emit('routeChangeError', e, as);
          this.clc();
          this.clc = null;
        }
      }
    }, {
      key: "notify",
      value: function notify(data) {
        this.sub(data, this.components['/_app'].Component);
      }
    }], [{
      key: "_rewriteUrlForNextExport",
      value: function _rewriteUrlForNextExport(url) {
        if (false) { var rewriteUrlForNextExport; } else {
          return url;
        }
      }
    }]);
  
    return Router;
  }();
  
  exports["default"] = Router;
  Router.events = mitt_1["default"]();
  
  /***/ }),
  
  /***/ "./node_modules/next/dist/next-server/lib/router/utils/is-dynamic.js":
  /*!***************************************************************************!*\
    !*** ./node_modules/next/dist/next-server/lib/router/utils/is-dynamic.js ***!
    \***************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  Object.defineProperty(exports, "__esModule", {
    value: true
  }); // Identify /[param]/ in route string
  
  var TEST_ROUTE = /\/\[[^/]+?\](?=\/|$)/;
  
  function isDynamicRoute(route) {
    return TEST_ROUTE.test(route);
  }
  
  exports.isDynamicRoute = isDynamicRoute;
  
  /***/ }),
  
  /***/ "./node_modules/next/dist/next-server/lib/router/utils/route-matcher.js":
  /*!******************************************************************************!*\
    !*** ./node_modules/next/dist/next-server/lib/router/utils/route-matcher.js ***!
    \******************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  
  function getRouteMatcher(routeRegex) {
    var re = routeRegex.re,
        groups = routeRegex.groups;
    return function (pathname) {
      var routeMatch = re.exec(pathname);
  
      if (!routeMatch) {
        return false;
      }
  
      var decode = decodeURIComponent;
      var params = {};
      Object.keys(groups).forEach(function (slugName) {
        var g = groups[slugName];
        var m = routeMatch[g.pos];
  
        if (m !== undefined) {
          params[slugName] = ~m.indexOf('/') ? m.split('/').map(function (entry) {
            return decode(entry);
          }) : g.repeat ? [decode(m)] : decode(m);
        }
      });
      return params;
    };
  }
  
  exports.getRouteMatcher = getRouteMatcher;
  
  /***/ }),
  
  /***/ "./node_modules/next/dist/next-server/lib/router/utils/route-regex.js":
  /*!****************************************************************************!*\
    !*** ./node_modules/next/dist/next-server/lib/router/utils/route-regex.js ***!
    \****************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  
  function getRouteRegex(normalizedRoute) {
    // Escape all characters that could be considered RegEx
    var escapedRoute = (normalizedRoute.replace(/\/$/, '') || '/').replace(/[|\\{}()[\]^$+*?.-]/g, '\\$&');
    var groups = {};
    var groupIndex = 1;
    var parameterizedRoute = escapedRoute.replace(/\/\\\[([^/]+?)\\\](?=\/|$)/g, function (_, $1) {
      var isCatchAll = /^(\\\.){3}/.test($1);
      groups[$1 // Un-escape key
      .replace(/\\([|\\{}()[\]^$+*?.-])/g, '$1').replace(/^\.{3}/, '') // eslint-disable-next-line no-sequences
      ] = {
        pos: groupIndex++,
        repeat: isCatchAll
      };
      return isCatchAll ? '/(.+?)' : '/([^/]+?)';
    });
    return {
      re: new RegExp('^' + parameterizedRoute + '(?:/)?$', 'i'),
      groups: groups
    };
  }
  
  exports.getRouteRegex = getRouteRegex;
  
  /***/ }),
  
  /***/ "./node_modules/next/dist/next-server/lib/side-effect.js":
  /*!***************************************************************!*\
    !*** ./node_modules/next/dist/next-server/lib/side-effect.js ***!
    \***************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  var _classCallCheck = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/next/node_modules/@babel/runtime/helpers/classCallCheck.js");
  
  var _assertThisInitialized = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ "./node_modules/next/node_modules/@babel/runtime/helpers/assertThisInitialized.js");
  
  var _createClass = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/next/node_modules/@babel/runtime/helpers/createClass.js");
  
  var _possibleConstructorReturn = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/next/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js");
  
  var _getPrototypeOf = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/next/node_modules/@babel/runtime/helpers/getPrototypeOf.js");
  
  var _inherits = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/next/node_modules/@babel/runtime/helpers/inherits.js");
  
  var _toConsumableArray = __webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "./node_modules/next/node_modules/@babel/runtime/helpers/toConsumableArray.js");
  
  function _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
  
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
  
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  
  var react_1 = __webpack_require__(/*! react */ "./node_modules/react/index.js");
  
  var isServer = false;
  
  exports["default"] = function () {
    var mountedInstances = new Set();
    var state;
  
    function emitChange(component) {
      state = component.props.reduceComponentsToState(_toConsumableArray(mountedInstances), component.props);
  
      if (component.props.handleStateChange) {
        component.props.handleStateChange(state);
      }
    }
  
    return /*#__PURE__*/function (_react_1$Component) {
      _inherits(_class, _react_1$Component);
  
      var _super = _createSuper(_class);
  
      _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 = _super.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);
  };
  
  /***/ }),
  
  /***/ "./node_modules/next/dist/next-server/lib/utils.js":
  /*!*********************************************************!*\
    !*** ./node_modules/next/dist/next-server/lib/utils.js ***!
    \*********************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  var _regeneratorRuntime = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/next/node_modules/@babel/runtime/regenerator/index.js");
  
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  
  var url_1 = __webpack_require__(/*! url */ "./node_modules/native-url/dist/index.js");
  /**
   * Utils
   */
  
  
  function execOnce(fn) {
    var _this = this;
  
    var used = false;
    var result = null;
    return function () {
      if (!used) {
        used = true;
  
        for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
          args[_key] = arguments[_key];
        }
  
        result = fn.apply(_this, args);
      }
  
      return result;
    };
  }
  
  exports.execOnce = execOnce;
  
  function getLocationOrigin() {
    var _window$location = window.location,
        protocol = _window$location.protocol,
        hostname = _window$location.hostname,
        port = _window$location.port;
    return "".concat(protocol, "//").concat(hostname).concat(port ? ':' + port : '');
  }
  
  exports.getLocationOrigin = getLocationOrigin;
  
  function getURL() {
    var href = window.location.href;
    var origin = getLocationOrigin();
    return href.substring(origin.length);
  }
  
  exports.getURL = getURL;
  
  function getDisplayName(Component) {
    return typeof Component === 'string' ? Component : Component.displayName || Component.name || 'Unknown';
  }
  
  exports.getDisplayName = getDisplayName;
  
  function isResSent(res) {
    return res.finished || res.headersSent;
  }
  
  exports.isResSent = isResSent;
  
  function loadGetInitialProps(App, ctx) {
    var _a, message, res, props, _message;
  
    return _regeneratorRuntime.async(function loadGetInitialProps$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            if (false) {}
  
            if (!((_a = App.prototype) === null || _a === void 0 ? void 0 : _a.getInitialProps)) {
              _context.next = 4;
              break;
            }
  
            message = "\"".concat(getDisplayName(App), ".getInitialProps()\" is defined as an instance method - visit https://err.sh/zeit/next.js/get-initial-props-as-an-instance-method for more information.");
            throw new Error(message);
  
          case 4:
            // when called from _app `ctx` is nested in `ctx`
            res = ctx.res || ctx.ctx && ctx.ctx.res;
  
            if (App.getInitialProps) {
              _context.next = 12;
              break;
            }
  
            if (!(ctx.ctx && ctx.Component)) {
              _context.next = 11;
              break;
            }
  
            _context.next = 9;
            return _regeneratorRuntime.awrap(loadGetInitialProps(ctx.Component, ctx.ctx));
  
          case 9:
            _context.t0 = _context.sent;
            return _context.abrupt("return", {
              pageProps: _context.t0
            });
  
          case 11:
            return _context.abrupt("return", {});
  
          case 12:
            _context.next = 14;
            return _regeneratorRuntime.awrap(App.getInitialProps(ctx));
  
          case 14:
            props = _context.sent;
  
            if (!(res && isResSent(res))) {
              _context.next = 17;
              break;
            }
  
            return _context.abrupt("return", props);
  
          case 17:
            if (props) {
              _context.next = 20;
              break;
            }
  
            _message = "\"".concat(getDisplayName(App), ".getInitialProps()\" should resolve to an object. But found \"").concat(props, "\" instead.");
            throw new Error(_message);
  
          case 20:
            if (true) {
              if (Object.keys(props).length === 0 && !ctx.ctx) {
                console.warn("".concat(getDisplayName(App), " returned an empty object from `getInitialProps`. This de-optimizes and prevents automatic static optimization. https://err.sh/zeit/next.js/empty-object-getInitialProps"));
              }
            }
  
            return _context.abrupt("return", props);
  
          case 22:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, null, Promise);
  }
  
  exports.loadGetInitialProps = loadGetInitialProps;
  exports.urlObjectKeys = ['auth', 'hash', 'host', 'hostname', 'href', 'path', 'pathname', 'port', 'protocol', 'query', 'search', 'slashes'];
  
  function formatWithValidation(url, options) {
    if (true) {
      if (url !== null && typeof url === 'object') {
        Object.keys(url).forEach(function (key) {
          if (exports.urlObjectKeys.indexOf(key) === -1) {
            console.warn("Unknown key passed via urlObject into url.format: ".concat(key));
          }
        });
      }
    }
  
    return url_1.format(url, options);
  }
  
  exports.formatWithValidation = formatWithValidation;
  exports.SP = typeof performance !== 'undefined';
  exports.ST = exports.SP && typeof performance.mark === 'function' && typeof performance.measure === 'function';
  
  /***/ }),
  
  /***/ "./node_modules/next/dist/next-server/server/utils.js":
  /*!************************************************************!*\
    !*** ./node_modules/next/dist/next-server/server/utils.js ***!
    \************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  Object.defineProperty(exports, "__esModule", { value: true });
  const constants_1 = __webpack_require__(/*! ../lib/constants */ "./node_modules/next/dist/next-server/lib/constants.js");
  function isBlockedPage(pathname) {
      return constants_1.BLOCKED_PAGES.indexOf(pathname) !== -1;
  }
  exports.isBlockedPage = isBlockedPage;
  function cleanAmpPath(pathname) {
      if (pathname.match(/\?amp=(y|yes|true|1)/)) {
          pathname = pathname.replace(/\?amp=(y|yes|true|1)&?/, '?');
      }
      if (pathname.match(/&amp=(y|yes|true|1)/)) {
          pathname = pathname.replace(/&amp=(y|yes|true|1)/, '');
      }
      pathname = pathname.replace(/\?$/, '');
      return pathname;
  }
  exports.cleanAmpPath = cleanAmpPath;
  
  
  /***/ }),
  
  /***/ "./node_modules/next/dist/pages/_app.js":
  /*!**********************************************!*\
    !*** ./node_modules/next/dist/pages/_app.js ***!
    \**********************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  var _classCallCheck = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/next/node_modules/@babel/runtime/helpers/classCallCheck.js");
  
  var _createClass = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/next/node_modules/@babel/runtime/helpers/createClass.js");
  
  var _possibleConstructorReturn = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/next/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js");
  
  var _getPrototypeOf = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/next/node_modules/@babel/runtime/helpers/getPrototypeOf.js");
  
  var _inherits = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/next/node_modules/@babel/runtime/helpers/inherits.js");
  
  var _regeneratorRuntime = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/next/node_modules/@babel/runtime/regenerator/index.js");
  
  function _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
  
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
  
  var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/next/node_modules/@babel/runtime/helpers/interopRequireDefault.js");
  
  exports.__esModule = true;
  exports.Container = Container;
  exports.createUrl = createUrl;
  exports["default"] = void 0;
  
  var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js"));
  
  var _utils = __webpack_require__(/*! ../next-server/lib/utils */ "./node_modules/next/dist/next-server/lib/utils.js");
  
  exports.AppInitialProps = _utils.AppInitialProps;
  /**
  * `App` component is used for initialize of pages. It allows for overwriting and full control of the `page` initialization.
  * This allows for keeping state between navigation, custom error handling, injecting additional data.
  */
  
  function appGetInitialProps(_ref) {
    var Component, ctx, pageProps;
    return _regeneratorRuntime.async(function appGetInitialProps$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            Component = _ref.Component, ctx = _ref.ctx;
            _context.next = 3;
            return _regeneratorRuntime.awrap((0, _utils.loadGetInitialProps)(Component, ctx));
  
          case 3:
            pageProps = _context.sent;
            return _context.abrupt("return", {
              pageProps: pageProps
            });
  
          case 5:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, null, Promise);
  }
  
  var App = /*#__PURE__*/function (_react$default$Compon) {
    _inherits(App, _react$default$Compon);
  
    var _super = _createSuper(App);
  
    function App() {
      _classCallCheck(this, App);
  
      return _super.apply(this, arguments);
    }
  
    _createClass(App, [{
      key: "componentDidCatch",
      // Kept here for backwards compatibility.
      // When someone ended App they could call `super.componentDidCatch`.
      // @deprecated This method is no longer needed. Errors are caught at the top level
      value: function componentDidCatch(error, _errorInfo) {
        throw error;
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            router = _this$props.router,
            Component = _this$props.Component,
            pageProps = _this$props.pageProps,
            __N_SSG = _this$props.__N_SSG,
            __N_SSP = _this$props.__N_SSP;
        return _react["default"].createElement(Component, Object.assign({}, pageProps, // we don't add the legacy URL prop if it's using non-legacy
        // methods like getStaticProps and getServerSideProps
        !(__N_SSG || __N_SSP) ? {
          url: createUrl(router)
        } : {}));
      }
    }]);
  
    return App;
  }(_react["default"].Component);
  
  exports["default"] = App;
  App.origGetInitialProps = appGetInitialProps;
  App.getInitialProps = appGetInitialProps;
  var warnContainer;
  var warnUrl;
  
  if (true) {
    warnContainer = (0, _utils.execOnce)(function () {
      console.warn("Warning: the `Container` in `_app` has been deprecated and should be removed. https://err.sh/zeit/next.js/app-container-deprecated");
    });
    warnUrl = (0, _utils.execOnce)(function () {
      console.error("Warning: the 'url' property is deprecated. https://err.sh/zeit/next.js/url-deprecated");
    });
  } // @deprecated noop for now until removal
  
  
  function Container(p) {
    if (true) warnContainer();
    return p.children;
  }
  
  function createUrl(router) {
    // This is to make sure we don't references the router object at call time
    var pathname = router.pathname,
        asPath = router.asPath,
        query = router.query;
    return {
      get query() {
        if (true) warnUrl();
        return query;
      },
  
      get pathname() {
        if (true) warnUrl();
        return pathname;
      },
  
      get asPath() {
        if (true) warnUrl();
        return asPath;
      },
  
      back: function back() {
        if (true) warnUrl();
        router.back();
      },
      push: function push(url, as) {
        if (true) warnUrl();
        return router.push(url, as);
      },
      pushTo: function pushTo(href, as) {
        if (true) warnUrl();
        var pushRoute = as ? href : '';
        var pushUrl = as || href;
        return router.push(pushRoute, pushUrl);
      },
      replace: function replace(url, as) {
        if (true) warnUrl();
        return router.replace(url, as);
      },
      replaceTo: function replaceTo(href, as) {
        if (true) warnUrl();
        var replaceRoute = as ? href : '';
        var replaceUrl = as || href;
        return router.replace(replaceRoute, replaceUrl);
      }
    };
  }
  
  /***/ }),
  
  /***/ "./node_modules/next/dist/pages/_document.js":
  /*!***************************************************!*\
    !*** ./node_modules/next/dist/pages/_document.js ***!
    \***************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  var _toConsumableArray = __webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "./node_modules/next/node_modules/@babel/runtime/helpers/toConsumableArray.js");
  
  var _classCallCheck = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/next/node_modules/@babel/runtime/helpers/classCallCheck.js");
  
  var _createClass = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/next/node_modules/@babel/runtime/helpers/createClass.js");
  
  var _possibleConstructorReturn = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/next/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js");
  
  var _getPrototypeOf = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/next/node_modules/@babel/runtime/helpers/getPrototypeOf.js");
  
  var _inherits = __webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/next/node_modules/@babel/runtime/helpers/inherits.js");
  
  var _regeneratorRuntime = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/next/node_modules/@babel/runtime/regenerator/index.js");
  
  function _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
  
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
  
  function _createForOfIteratorHelper(o) { if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (o = _unsupportedIterableToArray(o))) { var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var it, normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
  
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(n); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
  
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
  
  exports.__esModule = true;
  exports.middleware = middleware;
  exports.NextScript = exports.Main = exports.Head = exports.Html = exports["default"] = void 0;
  
  var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"));
  
  var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "./node_modules/react/index.js"));
  
  var _server = _interopRequireDefault(__webpack_require__(/*! styled-jsx/server */ "./node_modules/styled-jsx/server.js"));
  
  var _constants = __webpack_require__(/*! ../next-server/lib/constants */ "./node_modules/next/dist/next-server/lib/constants.js");
  
  var _documentContext = __webpack_require__(/*! ../next-server/lib/document-context */ "./node_modules/next/dist/next-server/lib/document-context.js");
  
  var _utils = __webpack_require__(/*! ../next-server/lib/utils */ "./node_modules/next/dist/next-server/lib/utils.js");
  
  exports.DocumentContext = _utils.DocumentContext;
  exports.DocumentInitialProps = _utils.DocumentInitialProps;
  exports.DocumentProps = _utils.DocumentProps;
  
  var _utils2 = __webpack_require__(/*! ../next-server/server/utils */ "./node_modules/next/dist/next-server/server/utils.js");
  
  var _htmlescape = __webpack_require__(/*! ../server/htmlescape */ "./node_modules/next/dist/server/htmlescape.js");
  
  function _interopRequireDefault(obj) {
    return obj && obj.__esModule ? obj : {
      "default": obj
    };
  }
  
  function _getRequireWildcardCache() {
    if (typeof WeakMap !== "function") return null;
    var cache = new WeakMap();
  
    _getRequireWildcardCache = function _getRequireWildcardCache() {
      return cache;
    };
  
    return cache;
  }
  
  function _interopRequireWildcard(obj) {
    if (obj && obj.__esModule) {
      return obj;
    }
  
    if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
      return {
        "default": obj
      };
    }
  
    var cache = _getRequireWildcardCache();
  
    if (cache && cache.has(obj)) {
      return cache.get(obj);
    }
  
    var newObj = {};
    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
  
    for (var key in obj) {
      if (Object.prototype.hasOwnProperty.call(obj, key)) {
        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
  
        if (desc && (desc.get || desc.set)) {
          Object.defineProperty(newObj, key, desc);
        } else {
          newObj[key] = obj[key];
        }
      }
    }
  
    newObj["default"] = obj;
  
    if (cache) {
      cache.set(obj, newObj);
    }
  
    return newObj;
  }
  
  function middleware(_ref) {
    var req, res;
    return _regeneratorRuntime.async(function middleware$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            req = _ref.req, res = _ref.res;
  
          case 1:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, null, Promise);
  }
  
  function dedupe(bundles) {
    var files = new Set();
    var kept = [];
  
    var _iterator = _createForOfIteratorHelper(bundles),
        _step;
  
    try {
      for (_iterator.s(); !(_step = _iterator.n()).done;) {
        var bundle = _step.value;
        if (files.has(bundle.file)) continue;
        files.add(bundle.file);
        kept.push(bundle);
      }
    } catch (err) {
      _iterator.e(err);
    } finally {
      _iterator.f();
    }
  
    return kept;
  }
  
  function getOptionalModernScriptVariant(path) {
    if (false) {}
  
    return path;
  }
  /**
  * `Document` component handles the initial `document` markup and renders only on the server side.
  * Commonly used for implementing server side rendering for `css-in-js` libraries.
  */
  
  
  var Document = /*#__PURE__*/function (_react$Component) {
    _inherits(Document, _react$Component);
  
    var _super = _createSuper(Document);
  
    function Document() {
      _classCallCheck(this, Document);
  
      return _super.apply(this, arguments);
    }
  
    _createClass(Document, [{
      key: "render",
      value: function render() {
        return _react["default"].createElement(Html, null, _react["default"].createElement(Head, null), _react["default"].createElement("body", null, _react["default"].createElement(Main, null), _react["default"].createElement(NextScript, null)));
      }
    }], [{
      key: "getInitialProps",
  
      /**
      * `getInitialProps` hook returns the context object with the addition of `renderPage`.
      * `renderPage` callback executes `React` rendering logic synchronously to support server-rendering wrappers
      */
      value: function getInitialProps(ctx) {
        var enhancers, enhanceApp, _await$ctx$renderPage, html, head, styles;
  
        return _regeneratorRuntime.async(function getInitialProps$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                if (true) {
                  _context2.next = 6;
                  break;
                }
  
                _context2.next = 3;
                return _regeneratorRuntime.awrap(Promise.resolve().then(function () {
                  return _interopRequireWildcard(__webpack_require__(/*! next-plugin-loader?middleware=unstable-enhance-app-server */ "./node_modules/next/dist/build/webpack/loaders/next-plugin-loader.js?middleware=unstable-enhance-app-server!./"));
                }).then(function (mod) {
                  return mod["default"](ctx);
                }));
  
              case 3:
                _context2.t0 = _context2.sent;
                _context2.next = 7;
                break;
  
              case 6:
                _context2.t0 = [];
  
              case 7:
                enhancers = _context2.t0;
  
                enhanceApp = function enhanceApp(App) {
                  var _iterator2 = _createForOfIteratorHelper(enhancers),
                      _step2;
  
                  try {
                    for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
                      var enhancer = _step2.value;
                      App = enhancer(App);
                    }
                  } catch (err) {
                    _iterator2.e(err);
                  } finally {
                    _iterator2.f();
                  }
  
                  return function (props) {
                    return _react["default"].createElement(App, props);
                  };
                };
  
                _context2.next = 11;
                return _regeneratorRuntime.awrap(ctx.renderPage({
                  enhanceApp: enhanceApp
                }));
  
              case 11:
                _await$ctx$renderPage = _context2.sent;
                html = _await$ctx$renderPage.html;
                head = _await$ctx$renderPage.head;
                _context2.t1 = [];
                _context2.t2 = _toConsumableArray((0, _server["default"])());
                _context2.t3 = _toConsumableArray;
  
                if (true) {
                  _context2.next = 23;
                  break;
                }
  
                _context2.next = 20;
                return _regeneratorRuntime.awrap(Promise.resolve().then(function () {
                  return _interopRequireWildcard(__webpack_require__(/*! next-plugin-loader?middleware=unstable-get-styles-server */ "./node_modules/next/dist/build/webpack/loaders/next-plugin-loader.js?middleware=unstable-get-styles-server!./"));
                }).then(function (mod) {
                  return mod["default"](ctx);
                }));
  
              case 20:
                _context2.t4 = _context2.sent;
                _context2.next = 24;
                break;
  
              case 23:
                _context2.t4 = [];
  
              case 24:
                _context2.t5 = _context2.t4;
                _context2.t6 = (0, _context2.t3)(_context2.t5);
                styles = _context2.t1.concat.call(_context2.t1, _context2.t2, _context2.t6);
                return _context2.abrupt("return", {
                  html: html,
                  head: head,
                  styles: styles
                });
  
              case 28:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "renderDocument",
      value: function renderDocument(Document, props) {
        return _react["default"].createElement(_documentContext.DocumentContext.Provider, {
          value: {
            _documentProps: props,
            // In dev we invalidate the cache by appending a timestamp to the resource URL.
            // This is a workaround to fix https://github.com/zeit/next.js/issues/5860
            // TODO: remove this workaround when https://bugs.webkit.org/show_bug.cgi?id=187726 is fixed.
            _devOnlyInvalidateCacheQueryString: true ? '?ts=' + Date.now() : undefined
          }
        }, _react["default"].createElement(Document, props));
      }
    }]);
  
    return Document;
  }(_react.Component);
  
  exports["default"] = Document;
  Document.headTagsMiddleware =  false ? undefined : function () {
    return [];
  };
  Document.bodyTagsMiddleware =  false ? undefined : function () {
    return [];
  };
  Document.htmlPropsMiddleware =  false ? undefined : function () {
    return [];
  };
  
  var Html = /*#__PURE__*/function (_react$Component2) {
    _inherits(Html, _react$Component2);
  
    var _super2 = _createSuper(Html);
  
    function Html() {
      var _this;
  
      _classCallCheck(this, Html);
  
      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }
  
      _this = _super2.call.apply(_super2, [this].concat(args));
      _this.context = void 0;
      return _this;
    }
  
    _createClass(Html, [{
      key: "render",
      value: function render() {
        var _this$context$_docume = this.context._documentProps,
            inAmpMode = _this$context$_docume.inAmpMode,
            htmlProps = _this$context$_docume.htmlProps;
        return _react["default"].createElement("html", Object.assign({}, htmlProps, this.props, {
          amp: inAmpMode ? '' : undefined,
          "data-ampdevmode": inAmpMode && true ? '' : undefined
        }));
      }
    }]);
  
    return Html;
  }(_react.Component);
  
  exports.Html = Html;
  Html.contextType = _documentContext.DocumentContext;
  Html.propTypes = {
    children: _propTypes["default"].node.isRequired
  };
  
  var Head = /*#__PURE__*/function (_react$Component3) {
    _inherits(Head, _react$Component3);
  
    var _super3 = _createSuper(Head);
  
    function Head() {
      var _this2;
  
      _classCallCheck(this, Head);
  
      for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
        args[_key2] = arguments[_key2];
      }
  
      _this2 = _super3.call.apply(_super3, [this].concat(args));
      _this2.context = void 0;
      return _this2;
    }
  
    _createClass(Head, [{
      key: "getCssLinks",
      value: function getCssLinks() {
        var _this3 = this;
  
        var _this$context$_docume2 = this.context._documentProps,
            assetPrefix = _this$context$_docume2.assetPrefix,
            files = _this$context$_docume2.files;
        var _devOnlyInvalidateCacheQueryString = this.context._devOnlyInvalidateCacheQueryString;
        var cssFiles = files && files.length ? files.filter(function (f) {
          return /\.css$/.test(f);
        }) : [];
        var cssLinkElements = [];
        cssFiles.forEach(function (file) {
          cssLinkElements.push(_react["default"].createElement("link", {
            key: "".concat(file, "-preload"),
            nonce: _this3.props.nonce,
            rel: "preload",
            href: "".concat(assetPrefix, "/_next/").concat(encodeURI(file)).concat(_devOnlyInvalidateCacheQueryString),
            as: "style",
            crossOrigin: _this3.props.crossOrigin || undefined
          }), _react["default"].createElement("link", {
            key: file,
            nonce: _this3.props.nonce,
            rel: "stylesheet",
            href: "".concat(assetPrefix, "/_next/").concat(encodeURI(file)).concat(_devOnlyInvalidateCacheQueryString),
            crossOrigin: _this3.props.crossOrigin || undefined
          }));
        });
        return cssLinkElements.length === 0 ? null : cssLinkElements;
      }
    }, {
      key: "getPreloadDynamicChunks",
      value: function getPreloadDynamicChunks() {
        var _this4 = this;
  
        var _this$context$_docume3 = this.context._documentProps,
            dynamicImports = _this$context$_docume3.dynamicImports,
            assetPrefix = _this$context$_docume3.assetPrefix;
        var _devOnlyInvalidateCacheQueryString = this.context._devOnlyInvalidateCacheQueryString;
        return dedupe(dynamicImports).map(function (bundle) {
          // `dynamicImports` will contain both `.js` and `.module.js` when the
          // feature is enabled. This clause will filter down to the modern
          // variants only.
          if (!bundle.file.endsWith(getOptionalModernScriptVariant('.js'))) {
            return null;
          }
  
          return _react["default"].createElement("link", {
            rel: "preload",
            key: bundle.file,
            href: "".concat(assetPrefix, "/_next/").concat(encodeURI(bundle.file)).concat(_devOnlyInvalidateCacheQueryString),
            as: "script",
            nonce: _this4.props.nonce,
            crossOrigin: _this4.props.crossOrigin || undefined
          });
        }) // Filter out nulled scripts
        .filter(Boolean);
      }
    }, {
      key: "getPreloadMainLinks",
      value: function getPreloadMainLinks() {
        var _this5 = this;
  
        var _this$context$_docume4 = this.context._documentProps,
            assetPrefix = _this$context$_docume4.assetPrefix,
            files = _this$context$_docume4.files;
        var _devOnlyInvalidateCacheQueryString = this.context._devOnlyInvalidateCacheQueryString;
        var preloadFiles = files && files.length ? files.filter(function (file) {
          // `dynamicImports` will contain both `.js` and `.module.js` when
          // the feature is enabled. This clause will filter down to the
          // modern variants only.
          return file.endsWith(getOptionalModernScriptVariant('.js'));
        }) : [];
        return preloadFiles.length === 0 ? null : preloadFiles.map(function (file) {
          return _react["default"].createElement("link", {
            key: file,
            nonce: _this5.props.nonce,
            rel: "preload",
            href: "".concat(assetPrefix, "/_next/").concat(encodeURI(file)).concat(_devOnlyInvalidateCacheQueryString),
            as: "script",
            crossOrigin: _this5.props.crossOrigin || undefined
          });
        });
      }
    }, {
      key: "render",
      value: function render() {
        var _react$default;
  
        var _this$context$_docume5 = this.context._documentProps,
            styles = _this$context$_docume5.styles,
            ampPath = _this$context$_docume5.ampPath,
            inAmpMode = _this$context$_docume5.inAmpMode,
            assetPrefix = _this$context$_docume5.assetPrefix,
            hybridAmp = _this$context$_docume5.hybridAmp,
            canonicalBase = _this$context$_docume5.canonicalBase,
            __NEXT_DATA__ = _this$context$_docume5.__NEXT_DATA__,
            dangerousAsPath = _this$context$_docume5.dangerousAsPath,
            headTags = _this$context$_docume5.headTags;
        var _devOnlyInvalidateCacheQueryString = this.context._devOnlyInvalidateCacheQueryString;
        var page = __NEXT_DATA__.page,
            buildId = __NEXT_DATA__.buildId;
        var head = this.context._documentProps.head;
        var children = this.props.children; // show a warning if Head contains <title> (only in development)
  
        if (true) {
          children = _react["default"].Children.map(children, function (child) {
            var isReactHelmet = child && child.props && child.props['data-react-helmet'];
  
            if (child && child.type === 'title' && !isReactHelmet) {
              console.warn("Warning: <title> should not be used in _document.js's <Head>. https://err.sh/next.js/no-document-title");
            }
  
            return child;
          });
          if (this.props.crossOrigin) console.warn('Warning: `Head` attribute `crossOrigin` is deprecated. https://err.sh/next.js/doc-crossorigin-deprecated');
        }
  
        var hasAmphtmlRel = false;
        var hasCanonicalRel = false; // show warning and remove conflicting amp head tags
  
        head = _react["default"].Children.map(head || [], function (child) {
          if (!child) return child;
          var type = child.type,
              props = child.props;
  
          if (inAmpMode) {
            var badProp = '';
  
            if (type === 'meta' && props.name === 'viewport') {
              badProp = 'name="viewport"';
            } else if (type === 'link' && props.rel === 'canonical') {
              hasCanonicalRel = true;
            } else if (type === 'script') {
              // only block if
              // 1. it has a src and isn't pointing to ampproject's CDN
              // 2. it is using dangerouslySetInnerHTML without a type or
              // a type of text/javascript
              if (props.src && props.src.indexOf('ampproject') < -1 || props.dangerouslySetInnerHTML && (!props.type || props.type === 'text/javascript')) {
                badProp = '<script';
                Object.keys(props).forEach(function (prop) {
                  badProp += " ".concat(prop, "=\"").concat(props[prop], "\"");
                });
                badProp += '/>';
              }
            }
  
            if (badProp) {
              console.warn("Found conflicting amp tag \"".concat(child.type, "\" with conflicting prop ").concat(badProp, " in ").concat(__NEXT_DATA__.page, ". https://err.sh/next.js/conflicting-amp-tag"));
              return null;
            }
          } else {
            // non-amp mode
            if (type === 'link' && props.rel === 'amphtml') {
              hasAmphtmlRel = true;
            }
          }
  
          return child;
        }); // try to parse styles from fragment for backwards compat
  
        var curStyles = Array.isArray(styles) ? styles : [];
  
        if (inAmpMode && styles && // @ts-ignore Property 'props' does not exist on type ReactElement
        styles.props && // @ts-ignore Property 'props' does not exist on type ReactElement
        Array.isArray(styles.props.children)) {
          var hasStyles = function hasStyles(el) {
            return el && el.props && el.props.dangerouslySetInnerHTML && el.props.dangerouslySetInnerHTML.__html;
          }; // @ts-ignore Property 'props' does not exist on type ReactElement
  
  
          styles.props.children.forEach(function (child) {
            if (Array.isArray(child)) {
              child.map(function (el) {
                return hasStyles(el) && curStyles.push(el);
              });
            } else if (hasStyles(child)) {
              curStyles.push(child);
            }
          });
        }
  
        return _react["default"].createElement("head", this.props, this.context._documentProps.isDevelopment && this.context._documentProps.hasCssMode && _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement("style", {
          "data-next-hide-fouc": true,
          "data-ampdevmode": inAmpMode ? 'true' : undefined,
          dangerouslySetInnerHTML: {
            __html: "body{display:none}"
          }
        }), _react["default"].createElement("noscript", {
          "data-next-hide-fouc": true,
          "data-ampdevmode": inAmpMode ? 'true' : undefined
        }, _react["default"].createElement("style", {
          dangerouslySetInnerHTML: {
            __html: "body{display:block}"
          }
        }))), children, head, _react["default"].createElement("meta", {
          name: "next-head-count",
          content: _react["default"].Children.count(head || []).toString()
        }), inAmpMode && _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement("meta", {
          name: "viewport",
          content: "width=device-width,minimum-scale=1,initial-scale=1"
        }), !hasCanonicalRel && _react["default"].createElement("link", {
          rel: "canonical",
          href: canonicalBase + (0, _utils2.cleanAmpPath)(dangerousAsPath)
        }), _react["default"].createElement("link", {
          rel: "preload",
          as: "script",
          href: "https://cdn.ampproject.org/v0.js"
        }), styles && _react["default"].createElement("style", {
          "amp-custom": "",
          dangerouslySetInnerHTML: {
            __html: curStyles.map(function (style) {
              return style.props.dangerouslySetInnerHTML.__html;
            }).join('').replace(/\/\*# sourceMappingURL=.*\*\//g, '').replace(/\/\*@ sourceURL=.*?\*\//g, '')
          }
        }), _react["default"].createElement("style", {
          "amp-boilerplate": "",
          dangerouslySetInnerHTML: {
            __html: "body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}"
          }
        }), _react["default"].createElement("noscript", null, _react["default"].createElement("style", {
          "amp-boilerplate": "",
          dangerouslySetInnerHTML: {
            __html: "body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}"
          }
        })), _react["default"].createElement("script", {
          async: true,
          src: "https://cdn.ampproject.org/v0.js"
        })), !inAmpMode && _react["default"].createElement(_react["default"].Fragment, null, !hasAmphtmlRel && hybridAmp && _react["default"].createElement("link", {
          rel: "amphtml",
          href: canonicalBase + getAmpPath(ampPath, dangerousAsPath)
        }), this.getCssLinks(), page !== '/_error' && _react["default"].createElement("link", {
          rel: "preload",
          href: assetPrefix + getOptionalModernScriptVariant(encodeURI("/_next/static/".concat(buildId, "/pages").concat(getPageFile(page)))) + _devOnlyInvalidateCacheQueryString,
          as: "script",
          nonce: this.props.nonce,
          crossOrigin: this.props.crossOrigin || undefined
        }), _react["default"].createElement("link", {
          rel: "preload",
          href: assetPrefix + getOptionalModernScriptVariant(encodeURI("/_next/static/".concat(buildId, "/pages/_app.js"))) + _devOnlyInvalidateCacheQueryString,
          as: "script",
          nonce: this.props.nonce,
          crossOrigin: this.props.crossOrigin || undefined
        }), this.getPreloadDynamicChunks(), this.getPreloadMainLinks(), this.context._documentProps.isDevelopment && this.context._documentProps.hasCssMode && // this element is used to mount development styles so the
        // ordering matches production
        // (by default, style-loader injects at the bottom of <head />)
        _react["default"].createElement("noscript", {
          id: "__next_css__DO_NOT_USE__"
        }), styles || null), (_react$default = _react["default"]).createElement.apply(_react$default, [_react["default"].Fragment, {}].concat(_toConsumableArray(headTags || []))));
      }
    }]);
  
    return Head;
  }(_react.Component);
  
  exports.Head = Head;
  Head.contextType = _documentContext.DocumentContext;
  Head.propTypes = {
    nonce: _propTypes["default"].string,
    crossOrigin: _propTypes["default"].string
  };
  
  var Main = /*#__PURE__*/function (_react$Component4) {
    _inherits(Main, _react$Component4);
  
    var _super4 = _createSuper(Main);
  
    function Main() {
      var _this6;
  
      _classCallCheck(this, Main);
  
      for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
        args[_key3] = arguments[_key3];
      }
  
      _this6 = _super4.call.apply(_super4, [this].concat(args));
      _this6.context = void 0;
      return _this6;
    }
  
    _createClass(Main, [{
      key: "render",
      value: function render() {
        var _this$context$_docume6 = this.context._documentProps,
            inAmpMode = _this$context$_docume6.inAmpMode,
            html = _this$context$_docume6.html;
        if (inAmpMode) return _constants.AMP_RENDER_TARGET;
        return _react["default"].createElement("div", {
          id: "__next",
          dangerouslySetInnerHTML: {
            __html: html
          }
        });
      }
    }]);
  
    return Main;
  }(_react.Component);
  
  exports.Main = Main;
  Main.contextType = _documentContext.DocumentContext;
  
  var NextScript = /*#__PURE__*/function (_react$Component5) {
    _inherits(NextScript, _react$Component5);
  
    var _super5 = _createSuper(NextScript);
  
    function NextScript() {
      var _this7;
  
      _classCallCheck(this, NextScript);
  
      for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
        args[_key4] = arguments[_key4];
      }
  
      _this7 = _super5.call.apply(_super5, [this].concat(args));
      _this7.context = void 0;
      return _this7;
    }
  
    _createClass(NextScript, [{
      key: "getDynamicChunks",
      value: function getDynamicChunks() {
        var _this8 = this;
  
        var _this$context$_docume7 = this.context._documentProps,
            dynamicImports = _this$context$_docume7.dynamicImports,
            assetPrefix = _this$context$_docume7.assetPrefix,
            files = _this$context$_docume7.files;
        var _devOnlyInvalidateCacheQueryString = this.context._devOnlyInvalidateCacheQueryString;
        return dedupe(dynamicImports).map(function (bundle) {
          var modernProps = {};
  
          if (false) {}
  
          if (!/\.js$/.test(bundle.file) || files.includes(bundle.file)) return null;
          return _react["default"].createElement("script", Object.assign({
            async: true,
            key: bundle.file,
            src: "".concat(assetPrefix, "/_next/").concat(encodeURI(bundle.file)).concat(_devOnlyInvalidateCacheQueryString),
            nonce: _this8.props.nonce,
            crossOrigin: _this8.props.crossOrigin || undefined
          }, modernProps));
        });
      }
    }, {
      key: "getScripts",
      value: function getScripts() {
        var _this9 = this;
  
        var _this$context$_docume8 = this.context._documentProps,
            assetPrefix = _this$context$_docume8.assetPrefix,
            files = _this$context$_docume8.files,
            lowPriorityFiles = _this$context$_docume8.lowPriorityFiles;
        var _devOnlyInvalidateCacheQueryString = this.context._devOnlyInvalidateCacheQueryString;
        var normalScripts = files === null || files === void 0 ? void 0 : files.filter(function (file) {
          return file.endsWith('.js');
        });
        var lowPriorityScripts = lowPriorityFiles === null || lowPriorityFiles === void 0 ? void 0 : lowPriorityFiles.filter(function (file) {
          return file.endsWith('.js');
        });
        return [].concat(_toConsumableArray(normalScripts), _toConsumableArray(lowPriorityScripts)).map(function (file) {
          var modernProps = {};
  
          if (false) {}
  
          return _react["default"].createElement("script", Object.assign({
            key: file,
            src: "".concat(assetPrefix, "/_next/").concat(encodeURI(file)).concat(_devOnlyInvalidateCacheQueryString),
            nonce: _this9.props.nonce,
            async: true,
            crossOrigin: _this9.props.crossOrigin || undefined
          }, modernProps));
        });
      }
    }, {
      key: "getPolyfillScripts",
      value: function getPolyfillScripts() {
        var _this10 = this;
  
        // polyfills.js has to be rendered as nomodule without async
        // It also has to be the first script to load
        var _this$context$_docume9 = this.context._documentProps,
            assetPrefix = _this$context$_docume9.assetPrefix,
            polyfillFiles = _this$context$_docume9.polyfillFiles;
        var _devOnlyInvalidateCacheQueryString = this.context._devOnlyInvalidateCacheQueryString;
        return polyfillFiles.filter(function (polyfill) {
          return polyfill.endsWith('.js') && !/\.module\.js$/.test(polyfill);
        }).map(function (polyfill) {
          return _react["default"].createElement("script", {
            key: polyfill,
            nonce: _this10.props.nonce,
            crossOrigin: _this10.props.crossOrigin || undefined,
            noModule: true,
            src: "".concat(assetPrefix, "/_next/").concat(polyfill).concat(_devOnlyInvalidateCacheQueryString)
          });
        });
      }
    }, {
      key: "render",
      value: function render() {
        var _this11 = this,
            _react$default3;
  
        var _this$context$_docume10 = this.context._documentProps,
            staticMarkup = _this$context$_docume10.staticMarkup,
            assetPrefix = _this$context$_docume10.assetPrefix,
            inAmpMode = _this$context$_docume10.inAmpMode,
            devFiles = _this$context$_docume10.devFiles,
            __NEXT_DATA__ = _this$context$_docume10.__NEXT_DATA__,
            bodyTags = _this$context$_docume10.bodyTags;
        var _devOnlyInvalidateCacheQueryString = this.context._devOnlyInvalidateCacheQueryString;
  
        if (inAmpMode) {
          var _react$default2;
  
          if (false) {}
  
          var _devFiles = [_constants.CLIENT_STATIC_FILES_RUNTIME_AMP, _constants.CLIENT_STATIC_FILES_RUNTIME_WEBPACK];
          return _react["default"].createElement(_react["default"].Fragment, null, staticMarkup ? null : _react["default"].createElement("script", {
            id: "__NEXT_DATA__",
            type: "application/json",
            nonce: this.props.nonce,
            crossOrigin: this.props.crossOrigin || undefined,
            dangerouslySetInnerHTML: {
              __html: NextScript.getInlineScriptSource(this.context._documentProps)
            },
            "data-ampdevmode": true
          }), _devFiles ? _devFiles.map(function (file) {
            return _react["default"].createElement("script", {
              key: file,
              src: "".concat(assetPrefix, "/_next/").concat(file).concat(_devOnlyInvalidateCacheQueryString),
              nonce: _this11.props.nonce,
              crossOrigin: _this11.props.crossOrigin || undefined,
              "data-ampdevmode": true
            });
          }) : null, (_react$default2 = _react["default"]).createElement.apply(_react$default2, [_react["default"].Fragment, {}].concat(_toConsumableArray(bodyTags || []))));
        }
  
        var page = __NEXT_DATA__.page,
            buildId = __NEXT_DATA__.buildId;
  
        if (true) {
          if (this.props.crossOrigin) console.warn('Warning: `NextScript` attribute `crossOrigin` is deprecated. https://err.sh/next.js/doc-crossorigin-deprecated');
        }
  
        var pageScript = [_react["default"].createElement("script", Object.assign({
          async: true,
          "data-next-page": page,
          key: page,
          src: assetPrefix + encodeURI("/_next/static/".concat(buildId, "/pages").concat(getPageFile(page))) + _devOnlyInvalidateCacheQueryString,
          nonce: this.props.nonce,
          crossOrigin: this.props.crossOrigin || undefined
        },  false ? undefined : {})),  false && false];
        var appScript = [_react["default"].createElement("script", Object.assign({
          async: true,
          "data-next-page": "/_app",
          src: assetPrefix + "/_next/static/".concat(buildId, "/pages/_app.js") + _devOnlyInvalidateCacheQueryString,
          key: "_app",
          nonce: this.props.nonce,
          crossOrigin: this.props.crossOrigin || undefined
        },  false ? undefined : {})),  false && false];
        return _react["default"].createElement(_react["default"].Fragment, null, devFiles ? devFiles.map(function (file) {
          return !file.match(/\.js\.map/) && _react["default"].createElement("script", {
            key: file,
            src: "".concat(assetPrefix, "/_next/").concat(encodeURI(file)).concat(_devOnlyInvalidateCacheQueryString),
            nonce: _this11.props.nonce,
            crossOrigin: _this11.props.crossOrigin || undefined
          });
        }) : null, staticMarkup ? null : _react["default"].createElement("script", {
          id: "__NEXT_DATA__",
          type: "application/json",
          nonce: this.props.nonce,
          crossOrigin: this.props.crossOrigin || undefined,
          dangerouslySetInnerHTML: {
            __html: NextScript.getInlineScriptSource(this.context._documentProps)
          }
        }),  false ? undefined : null, this.getPolyfillScripts(), page !== '/_error' && pageScript, appScript, staticMarkup ? null : this.getDynamicChunks(), staticMarkup ? null : this.getScripts(), (_react$default3 = _react["default"]).createElement.apply(_react$default3, [_react["default"].Fragment, {}].concat(_toConsumableArray(bodyTags || []))));
      }
    }], [{
      key: "getInlineScriptSource",
      value: function getInlineScriptSource(documentProps) {
        var __NEXT_DATA__ = documentProps.__NEXT_DATA__;
  
        try {
          var data = JSON.stringify(__NEXT_DATA__);
          return (0, _htmlescape.htmlEscapeJsonString)(data);
        } catch (err) {
          if (err.message.indexOf('circular structure')) {
            throw new Error("Circular structure in \"getInitialProps\" result of page \"".concat(__NEXT_DATA__.page, "\". https://err.sh/zeit/next.js/circular-structure"));
          }
  
          throw err;
        }
      }
    }]);
  
    return NextScript;
  }(_react.Component);
  
  exports.NextScript = NextScript;
  NextScript.contextType = _documentContext.DocumentContext;
  NextScript.propTypes = {
    nonce: _propTypes["default"].string,
    crossOrigin: _propTypes["default"].string
  };
  NextScript.safariNomoduleFix = '!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()}}();';
  
  function getAmpPath(ampPath, asPath) {
    return ampPath ? ampPath : "".concat(asPath).concat(asPath.includes('?') ? '&' : '?', "amp=1");
  }
  
  function getPageFile(page, buildId) {
    if (page === '/') {
      return buildId ? "/index.".concat(buildId, ".js") : '/index.js';
    }
  
    return buildId ? "".concat(page, ".").concat(buildId, ".js") : "".concat(page, ".js");
  }
  
  /***/ }),
  
  /***/ "./node_modules/next/dist/server/htmlescape.js":
  /*!*****************************************************!*\
    !*** ./node_modules/next/dist/server/htmlescape.js ***!
    \*****************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  exports.__esModule=true;exports.htmlEscapeJsonString=htmlEscapeJsonString;// This utility is based on https://github.com/zertosh/htmlescape
  // License: https://github.com/zertosh/htmlescape/blob/0527ca7156a524d256101bb310a9f970f63078ad/LICENSE
  const ESCAPE_LOOKUP={'&':'\\u0026','>':'\\u003e','<':'\\u003c','\u2028':'\\u2028','\u2029':'\\u2029'};const ESCAPE_REGEX=/[&><\u2028\u2029]/g;function htmlEscapeJsonString(str){return str.replace(ESCAPE_REGEX,match=>ESCAPE_LOOKUP[match]);}
  
  /***/ }),
  
  /***/ "./node_modules/next/document.js":
  /*!***************************************!*\
    !*** ./node_modules/next/document.js ***!
    \***************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  module.exports = __webpack_require__(/*! ./dist/pages/_document */ "./node_modules/next/dist/pages/_document.js")
  
  
  /***/ }),
  
  /***/ "./node_modules/next/link.js":
  /*!***********************************!*\
    !*** ./node_modules/next/link.js ***!
    \***********************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  module.exports = __webpack_require__(/*! ./dist/client/link */ "./node_modules/next/dist/client/link.js")
  
  
  /***/ }),
  
  /***/ "./node_modules/next/node_modules/@babel/runtime/helpers/arrayWithHoles.js":
  /*!*********************************************************************************!*\
    !*** ./node_modules/next/node_modules/@babel/runtime/helpers/arrayWithHoles.js ***!
    \*********************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  function _arrayWithHoles(arr) {
    if (Array.isArray(arr)) return arr;
  }
  
  module.exports = _arrayWithHoles;
  
  /***/ }),
  
  /***/ "./node_modules/next/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js":
  /*!************************************************************************************!*\
    !*** ./node_modules/next/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js ***!
    \************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  function _arrayWithoutHoles(arr) {
    if (Array.isArray(arr)) {
      for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {
        arr2[i] = arr[i];
      }
  
      return arr2;
    }
  }
  
  module.exports = _arrayWithoutHoles;
  
  /***/ }),
  
  /***/ "./node_modules/next/node_modules/@babel/runtime/helpers/assertThisInitialized.js":
  /*!****************************************************************************************!*\
    !*** ./node_modules/next/node_modules/@babel/runtime/helpers/assertThisInitialized.js ***!
    \****************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  function _assertThisInitialized(self) {
    if (self === void 0) {
      throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
    }
  
    return self;
  }
  
  module.exports = _assertThisInitialized;
  
  /***/ }),
  
  /***/ "./node_modules/next/node_modules/@babel/runtime/helpers/classCallCheck.js":
  /*!*********************************************************************************!*\
    !*** ./node_modules/next/node_modules/@babel/runtime/helpers/classCallCheck.js ***!
    \*********************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  function _classCallCheck(instance, Constructor) {
    if (!(instance instanceof Constructor)) {
      throw new TypeError("Cannot call a class as a function");
    }
  }
  
  module.exports = _classCallCheck;
  
  /***/ }),
  
  /***/ "./node_modules/next/node_modules/@babel/runtime/helpers/construct.js":
  /*!****************************************************************************!*\
    !*** ./node_modules/next/node_modules/@babel/runtime/helpers/construct.js ***!
    \****************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf */ "./node_modules/next/node_modules/@babel/runtime/helpers/setPrototypeOf.js");
  
  function isNativeReflectConstruct() {
    if (typeof Reflect === "undefined" || !Reflect.construct) return false;
    if (Reflect.construct.sham) return false;
    if (typeof Proxy === "function") return true;
  
    try {
      Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));
      return true;
    } catch (e) {
      return false;
    }
  }
  
  function _construct(Parent, args, Class) {
    if (isNativeReflectConstruct()) {
      module.exports = _construct = Reflect.construct;
    } else {
      module.exports = _construct = function _construct(Parent, args, Class) {
        var a = [null];
        a.push.apply(a, args);
        var Constructor = Function.bind.apply(Parent, a);
        var instance = new Constructor();
        if (Class) setPrototypeOf(instance, Class.prototype);
        return instance;
      };
    }
  
    return _construct.apply(null, arguments);
  }
  
  module.exports = _construct;
  
  /***/ }),
  
  /***/ "./node_modules/next/node_modules/@babel/runtime/helpers/createClass.js":
  /*!******************************************************************************!*\
    !*** ./node_modules/next/node_modules/@babel/runtime/helpers/createClass.js ***!
    \******************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  function _defineProperties(target, props) {
    for (var i = 0; i < props.length; i++) {
      var descriptor = props[i];
      descriptor.enumerable = descriptor.enumerable || false;
      descriptor.configurable = true;
      if ("value" in descriptor) descriptor.writable = true;
      Object.defineProperty(target, descriptor.key, descriptor);
    }
  }
  
  function _createClass(Constructor, protoProps, staticProps) {
    if (protoProps) _defineProperties(Constructor.prototype, protoProps);
    if (staticProps) _defineProperties(Constructor, staticProps);
    return Constructor;
  }
  
  module.exports = _createClass;
  
  /***/ }),
  
  /***/ "./node_modules/next/node_modules/@babel/runtime/helpers/getPrototypeOf.js":
  /*!*********************************************************************************!*\
    !*** ./node_modules/next/node_modules/@babel/runtime/helpers/getPrototypeOf.js ***!
    \*********************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  function _getPrototypeOf(o) {
    module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
      return o.__proto__ || Object.getPrototypeOf(o);
    };
    return _getPrototypeOf(o);
  }
  
  module.exports = _getPrototypeOf;
  
  /***/ }),
  
  /***/ "./node_modules/next/node_modules/@babel/runtime/helpers/inherits.js":
  /*!***************************************************************************!*\
    !*** ./node_modules/next/node_modules/@babel/runtime/helpers/inherits.js ***!
    \***************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf */ "./node_modules/next/node_modules/@babel/runtime/helpers/setPrototypeOf.js");
  
  function _inherits(subClass, superClass) {
    if (typeof superClass !== "function" && superClass !== null) {
      throw new TypeError("Super expression must either be null or a function");
    }
  
    subClass.prototype = Object.create(superClass && superClass.prototype, {
      constructor: {
        value: subClass,
        writable: true,
        configurable: true
      }
    });
    if (superClass) setPrototypeOf(subClass, superClass);
  }
  
  module.exports = _inherits;
  
  /***/ }),
  
  /***/ "./node_modules/next/node_modules/@babel/runtime/helpers/interopRequireDefault.js":
  /*!****************************************************************************************!*\
    !*** ./node_modules/next/node_modules/@babel/runtime/helpers/interopRequireDefault.js ***!
    \****************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  function _interopRequireDefault(obj) {
    return obj && obj.__esModule ? obj : {
      "default": obj
    };
  }
  
  module.exports = _interopRequireDefault;
  
  /***/ }),
  
  /***/ "./node_modules/next/node_modules/@babel/runtime/helpers/interopRequireWildcard.js":
  /*!*****************************************************************************************!*\
    !*** ./node_modules/next/node_modules/@babel/runtime/helpers/interopRequireWildcard.js ***!
    \*****************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  var _typeof = __webpack_require__(/*! ../helpers/typeof */ "./node_modules/next/node_modules/@babel/runtime/helpers/typeof.js");
  
  function _getRequireWildcardCache() {
    if (typeof WeakMap !== "function") return null;
    var cache = new WeakMap();
  
    _getRequireWildcardCache = function _getRequireWildcardCache() {
      return cache;
    };
  
    return cache;
  }
  
  function _interopRequireWildcard(obj) {
    if (obj && obj.__esModule) {
      return obj;
    }
  
    if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") {
      return {
        "default": obj
      };
    }
  
    var cache = _getRequireWildcardCache();
  
    if (cache && cache.has(obj)) {
      return cache.get(obj);
    }
  
    var newObj = {};
    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
  
    for (var key in obj) {
      if (Object.prototype.hasOwnProperty.call(obj, key)) {
        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
  
        if (desc && (desc.get || desc.set)) {
          Object.defineProperty(newObj, key, desc);
        } else {
          newObj[key] = obj[key];
        }
      }
    }
  
    newObj["default"] = obj;
  
    if (cache) {
      cache.set(obj, newObj);
    }
  
    return newObj;
  }
  
  module.exports = _interopRequireWildcard;
  
  /***/ }),
  
  /***/ "./node_modules/next/node_modules/@babel/runtime/helpers/iterableToArray.js":
  /*!**********************************************************************************!*\
    !*** ./node_modules/next/node_modules/@babel/runtime/helpers/iterableToArray.js ***!
    \**********************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  function _iterableToArray(iter) {
    if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter);
  }
  
  module.exports = _iterableToArray;
  
  /***/ }),
  
  /***/ "./node_modules/next/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js":
  /*!***************************************************************************************!*\
    !*** ./node_modules/next/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***!
    \***************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  function _iterableToArrayLimit(arr, i) {
    if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) {
      return;
    }
  
    var _arr = [];
    var _n = true;
    var _d = false;
    var _e = undefined;
  
    try {
      for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
        _arr.push(_s.value);
  
        if (i && _arr.length === i) break;
      }
    } catch (err) {
      _d = true;
      _e = err;
    } finally {
      try {
        if (!_n && _i["return"] != null) _i["return"]();
      } finally {
        if (_d) throw _e;
      }
    }
  
    return _arr;
  }
  
  module.exports = _iterableToArrayLimit;
  
  /***/ }),
  
  /***/ "./node_modules/next/node_modules/@babel/runtime/helpers/nonIterableRest.js":
  /*!**********************************************************************************!*\
    !*** ./node_modules/next/node_modules/@babel/runtime/helpers/nonIterableRest.js ***!
    \**********************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  function _nonIterableRest() {
    throw new TypeError("Invalid attempt to destructure non-iterable instance");
  }
  
  module.exports = _nonIterableRest;
  
  /***/ }),
  
  /***/ "./node_modules/next/node_modules/@babel/runtime/helpers/nonIterableSpread.js":
  /*!************************************************************************************!*\
    !*** ./node_modules/next/node_modules/@babel/runtime/helpers/nonIterableSpread.js ***!
    \************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  function _nonIterableSpread() {
    throw new TypeError("Invalid attempt to spread non-iterable instance");
  }
  
  module.exports = _nonIterableSpread;
  
  /***/ }),
  
  /***/ "./node_modules/next/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js":
  /*!********************************************************************************************!*\
    !*** ./node_modules/next/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js ***!
    \********************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  var _typeof = __webpack_require__(/*! ../helpers/typeof */ "./node_modules/next/node_modules/@babel/runtime/helpers/typeof.js");
  
  var assertThisInitialized = __webpack_require__(/*! ./assertThisInitialized */ "./node_modules/next/node_modules/@babel/runtime/helpers/assertThisInitialized.js");
  
  function _possibleConstructorReturn(self, call) {
    if (call && (_typeof(call) === "object" || typeof call === "function")) {
      return call;
    }
  
    return assertThisInitialized(self);
  }
  
  module.exports = _possibleConstructorReturn;
  
  /***/ }),
  
  /***/ "./node_modules/next/node_modules/@babel/runtime/helpers/setPrototypeOf.js":
  /*!*********************************************************************************!*\
    !*** ./node_modules/next/node_modules/@babel/runtime/helpers/setPrototypeOf.js ***!
    \*********************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  function _setPrototypeOf(o, p) {
    module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
      o.__proto__ = p;
      return o;
    };
  
    return _setPrototypeOf(o, p);
  }
  
  module.exports = _setPrototypeOf;
  
  /***/ }),
  
  /***/ "./node_modules/next/node_modules/@babel/runtime/helpers/slicedToArray.js":
  /*!********************************************************************************!*\
    !*** ./node_modules/next/node_modules/@babel/runtime/helpers/slicedToArray.js ***!
    \********************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles */ "./node_modules/next/node_modules/@babel/runtime/helpers/arrayWithHoles.js");
  
  var iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit */ "./node_modules/next/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js");
  
  var nonIterableRest = __webpack_require__(/*! ./nonIterableRest */ "./node_modules/next/node_modules/@babel/runtime/helpers/nonIterableRest.js");
  
  function _slicedToArray(arr, i) {
    return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest();
  }
  
  module.exports = _slicedToArray;
  
  /***/ }),
  
  /***/ "./node_modules/next/node_modules/@babel/runtime/helpers/toConsumableArray.js":
  /*!************************************************************************************!*\
    !*** ./node_modules/next/node_modules/@babel/runtime/helpers/toConsumableArray.js ***!
    \************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  var arrayWithoutHoles = __webpack_require__(/*! ./arrayWithoutHoles */ "./node_modules/next/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js");
  
  var iterableToArray = __webpack_require__(/*! ./iterableToArray */ "./node_modules/next/node_modules/@babel/runtime/helpers/iterableToArray.js");
  
  var nonIterableSpread = __webpack_require__(/*! ./nonIterableSpread */ "./node_modules/next/node_modules/@babel/runtime/helpers/nonIterableSpread.js");
  
  function _toConsumableArray(arr) {
    return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread();
  }
  
  module.exports = _toConsumableArray;
  
  /***/ }),
  
  /***/ "./node_modules/next/node_modules/@babel/runtime/helpers/typeof.js":
  /*!*************************************************************************!*\
    !*** ./node_modules/next/node_modules/@babel/runtime/helpers/typeof.js ***!
    \*************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  function _typeof2(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof2(obj); }
  
  function _typeof(obj) {
    if (typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol") {
      module.exports = _typeof = function _typeof(obj) {
        return _typeof2(obj);
      };
    } else {
      module.exports = _typeof = function _typeof(obj) {
        return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof2(obj);
      };
    }
  
    return _typeof(obj);
  }
  
  module.exports = _typeof;
  
  /***/ }),
  
  /***/ "./node_modules/next/node_modules/@babel/runtime/regenerator/index.js":
  /*!****************************************************************************!*\
    !*** ./node_modules/next/node_modules/@babel/runtime/regenerator/index.js ***!
    \****************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  module.exports = __webpack_require__(/*! regenerator-runtime */ "./node_modules/regenerator-runtime/runtime.js");
  
  
  /***/ }),
  
  /***/ "./node_modules/next/node_modules/react-is/cjs/react-is.development.js":
  /*!*****************************************************************************!*\
    !*** ./node_modules/next/node_modules/react-is/cjs/react-is.development.js ***!
    \*****************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  /** @license React v16.8.6
   * react-is.development.js
   *
   * Copyright (c) Facebook, Inc. and its affiliates.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   */
  
  
  
  
  
  if (true) {
    (function() {
  'use strict';
  
  Object.defineProperty(exports, '__esModule', { value: true });
  
  // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
  // nor polyfill, then a plain number is used for performance.
  var hasSymbol = typeof Symbol === 'function' && Symbol.for;
  
  var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
  var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
  var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
  var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
  var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
  var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
  var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace;
  var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
  var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
  var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
  var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
  var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
  var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
  
  function isValidElementType(type) {
    return typeof type === 'string' || typeof type === 'function' ||
    // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
    type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE);
  }
  
  /**
   * Forked from fbjs/warning:
   * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js
   *
   * Only change is we use console.warn instead of console.error,
   * and do nothing when 'console' is not supported.
   * This really simplifies the code.
   * ---
   * Similar to invariant but only logs a warning if the condition is not met.
   * This can be used to log issues in development environments in critical
   * paths. Removing the logging code for production environments will keep the
   * same logic and follow the same code paths.
   */
  
  var lowPriorityWarning = function () {};
  
  {
    var printWarning = function (format) {
      for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
        args[_key - 1] = arguments[_key];
      }
  
      var argIndex = 0;
      var message = 'Warning: ' + format.replace(/%s/g, function () {
        return args[argIndex++];
      });
      if (typeof console !== 'undefined') {
        console.warn(message);
      }
      try {
        // --- Welcome to debugging React ---
        // This error was thrown as a convenience so that you can use this stack
        // to find the callsite that caused this warning to fire.
        throw new Error(message);
      } catch (x) {}
    };
  
    lowPriorityWarning = function (condition, format) {
      if (format === undefined) {
        throw new Error('`lowPriorityWarning(condition, format, ...args)` requires a warning ' + 'message argument');
      }
      if (!condition) {
        for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
          args[_key2 - 2] = arguments[_key2];
        }
  
        printWarning.apply(undefined, [format].concat(args));
      }
    };
  }
  
  var lowPriorityWarning$1 = lowPriorityWarning;
  
  function typeOf(object) {
    if (typeof object === 'object' && object !== null) {
      var $$typeof = object.$$typeof;
      switch ($$typeof) {
        case REACT_ELEMENT_TYPE:
          var type = object.type;
  
          switch (type) {
            case REACT_ASYNC_MODE_TYPE:
            case REACT_CONCURRENT_MODE_TYPE:
            case REACT_FRAGMENT_TYPE:
            case REACT_PROFILER_TYPE:
            case REACT_STRICT_MODE_TYPE:
            case REACT_SUSPENSE_TYPE:
              return type;
            default:
              var $$typeofType = type && type.$$typeof;
  
              switch ($$typeofType) {
                case REACT_CONTEXT_TYPE:
                case REACT_FORWARD_REF_TYPE:
                case REACT_PROVIDER_TYPE:
                  return $$typeofType;
                default:
                  return $$typeof;
              }
          }
        case REACT_LAZY_TYPE:
        case REACT_MEMO_TYPE:
        case REACT_PORTAL_TYPE:
          return $$typeof;
      }
    }
  
    return undefined;
  }
  
  // AsyncMode is deprecated along with isAsyncMode
  var AsyncMode = REACT_ASYNC_MODE_TYPE;
  var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
  var ContextConsumer = REACT_CONTEXT_TYPE;
  var ContextProvider = REACT_PROVIDER_TYPE;
  var Element = REACT_ELEMENT_TYPE;
  var ForwardRef = REACT_FORWARD_REF_TYPE;
  var Fragment = REACT_FRAGMENT_TYPE;
  var Lazy = REACT_LAZY_TYPE;
  var Memo = REACT_MEMO_TYPE;
  var Portal = REACT_PORTAL_TYPE;
  var Profiler = REACT_PROFILER_TYPE;
  var StrictMode = REACT_STRICT_MODE_TYPE;
  var Suspense = REACT_SUSPENSE_TYPE;
  
  var hasWarnedAboutDeprecatedIsAsyncMode = false;
  
  // AsyncMode should be deprecated
  function isAsyncMode(object) {
    {
      if (!hasWarnedAboutDeprecatedIsAsyncMode) {
        hasWarnedAboutDeprecatedIsAsyncMode = true;
        lowPriorityWarning$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');
      }
    }
    return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
  }
  function isConcurrentMode(object) {
    return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
  }
  function isContextConsumer(object) {
    return typeOf(object) === REACT_CONTEXT_TYPE;
  }
  function isContextProvider(object) {
    return typeOf(object) === REACT_PROVIDER_TYPE;
  }
  function isElement(object) {
    return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
  }
  function isForwardRef(object) {
    return typeOf(object) === REACT_FORWARD_REF_TYPE;
  }
  function isFragment(object) {
    return typeOf(object) === REACT_FRAGMENT_TYPE;
  }
  function isLazy(object) {
    return typeOf(object) === REACT_LAZY_TYPE;
  }
  function isMemo(object) {
    return typeOf(object) === REACT_MEMO_TYPE;
  }
  function isPortal(object) {
    return typeOf(object) === REACT_PORTAL_TYPE;
  }
  function isProfiler(object) {
    return typeOf(object) === REACT_PROFILER_TYPE;
  }
  function isStrictMode(object) {
    return typeOf(object) === REACT_STRICT_MODE_TYPE;
  }
  function isSuspense(object) {
    return typeOf(object) === REACT_SUSPENSE_TYPE;
  }
  
  exports.typeOf = typeOf;
  exports.AsyncMode = AsyncMode;
  exports.ConcurrentMode = ConcurrentMode;
  exports.ContextConsumer = ContextConsumer;
  exports.ContextProvider = ContextProvider;
  exports.Element = Element;
  exports.ForwardRef = ForwardRef;
  exports.Fragment = Fragment;
  exports.Lazy = Lazy;
  exports.Memo = Memo;
  exports.Portal = Portal;
  exports.Profiler = Profiler;
  exports.StrictMode = StrictMode;
  exports.Suspense = Suspense;
  exports.isValidElementType = isValidElementType;
  exports.isAsyncMode = isAsyncMode;
  exports.isConcurrentMode = isConcurrentMode;
  exports.isContextConsumer = isContextConsumer;
  exports.isContextProvider = isContextProvider;
  exports.isElement = isElement;
  exports.isForwardRef = isForwardRef;
  exports.isFragment = isFragment;
  exports.isLazy = isLazy;
  exports.isMemo = isMemo;
  exports.isPortal = isPortal;
  exports.isProfiler = isProfiler;
  exports.isStrictMode = isStrictMode;
  exports.isSuspense = isSuspense;
    })();
  }
  
  
  /***/ }),
  
  /***/ "./node_modules/next/node_modules/react-is/index.js":
  /*!**********************************************************!*\
    !*** ./node_modules/next/node_modules/react-is/index.js ***!
    \**********************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  if (false) {} else {
    module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "./node_modules/next/node_modules/react-is/cjs/react-is.development.js");
  }
  
  
  /***/ }),
  
  /***/ "./node_modules/process/browser.js":
  /*!*****************************************!*\
    !*** ./node_modules/process/browser.js ***!
    \*****************************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  // shim for using process in browser
  var process = module.exports = {};
  
  // cached from whatever global is present so that test runners that stub it
  // don't break things.  But we need to wrap it in a try catch in case it is
  // wrapped in strict mode code which doesn't define any globals.  It's inside a
  // function because try/catches deoptimize in certain engines.
  
  var cachedSetTimeout;
  var cachedClearTimeout;
  
  function defaultSetTimout() {
      throw new Error('setTimeout has not been defined');
  }
  function defaultClearTimeout () {
      throw new Error('clearTimeout has not been defined');
  }
  (function () {
      try {
          if (typeof setTimeout === 'function') {
              cachedSetTimeout = setTimeout;
          } else {
              cachedSetTimeout = defaultSetTimout;
          }
      } catch (e) {
          cachedSetTimeout = defaultSetTimout;
      }
      try {
          if (typeof clearTimeout === 'function') {
              cachedClearTimeout = clearTimeout;
          } else {
              cachedClearTimeout = defaultClearTimeout;
          }
      } catch (e) {
          cachedClearTimeout = defaultClearTimeout;
      }
  } ())
  function runTimeout(fun) {
      if (cachedSetTimeout === setTimeout) {
          //normal enviroments in sane situations
          return setTimeout(fun, 0);
      }
      // if setTimeout wasn't available but was latter defined
      if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
          cachedSetTimeout = setTimeout;
          return setTimeout(fun, 0);
      }
      try {
          // when when somebody has screwed with setTimeout but no I.E. maddness
          return cachedSetTimeout(fun, 0);
      } catch(e){
          try {
              // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
              return cachedSetTimeout.call(null, fun, 0);
          } catch(e){
              // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
              return cachedSetTimeout.call(this, fun, 0);
          }
      }
  
  
  }
  function runClearTimeout(marker) {
      if (cachedClearTimeout === clearTimeout) {
          //normal enviroments in sane situations
          return clearTimeout(marker);
      }
      // if clearTimeout wasn't available but was latter defined
      if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
          cachedClearTimeout = clearTimeout;
          return clearTimeout(marker);
      }
      try {
          // when when somebody has screwed with setTimeout but no I.E. maddness
          return cachedClearTimeout(marker);
      } catch (e){
          try {
              // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally
              return cachedClearTimeout.call(null, marker);
          } catch (e){
              // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
              // Some versions of I.E. have different rules for clearTimeout vs setTimeout
              return cachedClearTimeout.call(this, marker);
          }
      }
  
  
  
  }
  var queue = [];
  var draining = false;
  var currentQueue;
  var queueIndex = -1;
  
  function cleanUpNextTick() {
      if (!draining || !currentQueue) {
          return;
      }
      draining = false;
      if (currentQueue.length) {
          queue = currentQueue.concat(queue);
      } else {
          queueIndex = -1;
      }
      if (queue.length) {
          drainQueue();
      }
  }
  
  function drainQueue() {
      if (draining) {
          return;
      }
      var timeout = runTimeout(cleanUpNextTick);
      draining = true;
  
      var len = queue.length;
      while(len) {
          currentQueue = queue;
          queue = [];
          while (++queueIndex < len) {
              if (currentQueue) {
                  currentQueue[queueIndex].run();
              }
          }
          queueIndex = -1;
          len = queue.length;
      }
      currentQueue = null;
      draining = false;
      runClearTimeout(timeout);
  }
  
  process.nextTick = function (fun) {
      var args = new Array(arguments.length - 1);
      if (arguments.length > 1) {
          for (var i = 1; i < arguments.length; i++) {
              args[i - 1] = arguments[i];
          }
      }
      queue.push(new Item(fun, args));
      if (queue.length === 1 && !draining) {
          runTimeout(drainQueue);
      }
  };
  
  // v8 likes predictible objects
  function Item(fun, array) {
      this.fun = fun;
      this.array = array;
  }
  Item.prototype.run = function () {
      this.fun.apply(null, this.array);
  };
  process.title = 'browser';
  process.browser = true;
  process.env = {};
  process.argv = [];
  process.version = ''; // empty string to avoid regexp issues
  process.versions = {};
  
  function noop() {}
  
  process.on = noop;
  process.addListener = noop;
  process.once = noop;
  process.off = noop;
  process.removeListener = noop;
  process.removeAllListeners = noop;
  process.emit = noop;
  process.prependListener = noop;
  process.prependOnceListener = noop;
  
  process.listeners = function (name) { return [] }
  
  process.binding = function (name) {
      throw new Error('process.binding is not supported');
  };
  
  process.cwd = function () { return '/' };
  process.chdir = function (dir) {
      throw new Error('process.chdir is not supported');
  };
  process.umask = function() { return 0; };
  
  
  /***/ }),
  
  /***/ "./node_modules/prop-types-exact/build/helpers/isPlainObject.js":
  /*!**********************************************************************!*\
    !*** ./node_modules/prop-types-exact/build/helpers/isPlainObject.js ***!
    \**********************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  
  var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
  
  exports['default'] = isPlainObject;
  function isPlainObject(x) {
    return x && (typeof x === 'undefined' ? 'undefined' : _typeof(x)) === 'object' && !Array.isArray(x);
  }
  module.exports = exports['default'];
  //# sourceMappingURL=isPlainObject.js.map
  
  /***/ }),
  
  /***/ "./node_modules/prop-types-exact/build/index.js":
  /*!******************************************************!*\
    !*** ./node_modules/prop-types-exact/build/index.js ***!
    \******************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports['default'] = forbidExtraProps;
  
  var _object = __webpack_require__(/*! object.assign */ "./node_modules/next/dist/build/polyfills/object.assign/index.js");
  
  var _object2 = _interopRequireDefault(_object);
  
  var _has = __webpack_require__(/*! has */ "./node_modules/has/src/index.js");
  
  var _has2 = _interopRequireDefault(_has);
  
  var _isPlainObject = __webpack_require__(/*! ./helpers/isPlainObject */ "./node_modules/prop-types-exact/build/helpers/isPlainObject.js");
  
  var _isPlainObject2 = _interopRequireDefault(_isPlainObject);
  
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
  
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
  
  var zeroWidthSpace = '\u200B';
  var specialProperty = 'prop-types-exact: ' + zeroWidthSpace;
  var semaphore = typeof Symbol === 'function' && typeof Symbol['for'] === 'function' ? Symbol['for'](specialProperty) : /* istanbul ignore next */specialProperty;
  
  function brand(fn) {
    return (0, _object2['default'])(fn, _defineProperty({}, specialProperty, semaphore));
  }
  
  function isBranded(value) {
    return value && value[specialProperty] === semaphore;
  }
  
  function forbidExtraProps(propTypes) {
    if (!(0, _isPlainObject2['default'])(propTypes)) {
      throw new TypeError('given propTypes must be an object');
    }
    if ((0, _has2['default'])(propTypes, specialProperty) && !isBranded(propTypes[specialProperty])) {
      throw new TypeError('Against all odds, you created a propType for a prop that uses both the zero-width space and our custom string - which, sadly, conflicts with `prop-types-exact`');
    }
  
    return (0, _object2['default'])({}, propTypes, _defineProperty({}, specialProperty, brand(function () {
      function forbidUnknownProps(props, _, componentName) {
        var unknownProps = Object.keys(props).filter(function (prop) {
          return !(0, _has2['default'])(propTypes, prop);
        });
        if (unknownProps.length > 0) {
          return new TypeError(String(componentName) + ': unknown props found: ' + String(unknownProps.join(', ')));
        }
        return null;
      }
  
      return forbidUnknownProps;
    }())));
  }
  module.exports = exports['default'];
  //# sourceMappingURL=index.js.map
  
  /***/ }),
  
  /***/ "./node_modules/prop-types/checkPropTypes.js":
  /*!*********************************************************************************************************!*\
    !*** delegated ./node_modules/prop-types/checkPropTypes.js from dll-reference dll_2adc2403d89adc16ead0 ***!
    \*********************************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  module.exports = (__webpack_require__(/*! dll-reference dll_2adc2403d89adc16ead0 */ "dll-reference dll_2adc2403d89adc16ead0"))("./node_modules/prop-types/checkPropTypes.js");
  
  /***/ }),
  
  /***/ "./node_modules/prop-types/factoryWithTypeCheckers.js":
  /*!************************************************************!*\
    !*** ./node_modules/prop-types/factoryWithTypeCheckers.js ***!
    \************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  /**
   * Copyright (c) 2013-present, Facebook, Inc.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   */
  
  
  
  var ReactIs = __webpack_require__(/*! react-is */ "./node_modules/react-is/index.js");
  var assign = __webpack_require__(/*! object-assign */ "./node_modules/next/dist/build/polyfills/object-assign.js");
  
  var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "./node_modules/prop-types/lib/ReactPropTypesSecret.js");
  var checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ "./node_modules/prop-types/checkPropTypes.js");
  
  var has = Function.call.bind(Object.prototype.hasOwnProperty);
  var printWarning = function() {};
  
  if (true) {
    printWarning = function(text) {
      var message = 'Warning: ' + text;
      if (typeof console !== 'undefined') {
        console.error(message);
      }
      try {
        // --- Welcome to debugging React ---
        // This error was thrown as a convenience so that you can use this stack
        // to find the callsite that caused this warning to fire.
        throw new Error(message);
      } catch (x) {}
    };
  }
  
  function emptyFunctionThatReturnsNull() {
    return null;
  }
  
  module.exports = function(isValidElement, throwOnDirectAccess) {
    /* global Symbol */
    var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
    var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
  
    /**
     * Returns the iterator method function contained on the iterable object.
     *
     * Be sure to invoke the function with the iterable as context:
     *
     *     var iteratorFn = getIteratorFn(myIterable);
     *     if (iteratorFn) {
     *       var iterator = iteratorFn.call(myIterable);
     *       ...
     *     }
     *
     * @param {?object} maybeIterable
     * @return {?function}
     */
    function getIteratorFn(maybeIterable) {
      var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
      if (typeof iteratorFn === 'function') {
        return iteratorFn;
      }
    }
  
    /**
     * Collection of methods that allow declaration and validation of props that are
     * supplied to React components. Example usage:
     *
     *   var Props = require('ReactPropTypes');
     *   var MyArticle = React.createClass({
     *     propTypes: {
     *       // An optional string prop named "description".
     *       description: Props.string,
     *
     *       // A required enum prop named "category".
     *       category: Props.oneOf(['News','Photos']).isRequired,
     *
     *       // A prop named "dialog" that requires an instance of Dialog.
     *       dialog: Props.instanceOf(Dialog).isRequired
     *     },
     *     render: function() { ... }
     *   });
     *
     * A more formal specification of how these methods are used:
     *
     *   type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
     *   decl := ReactPropTypes.{type}(.isRequired)?
     *
     * Each and every declaration produces a function with the same signature. This
     * allows the creation of custom validation functions. For example:
     *
     *  var MyLink = React.createClass({
     *    propTypes: {
     *      // An optional string or URI prop named "href".
     *      href: function(props, propName, componentName) {
     *        var propValue = props[propName];
     *        if (propValue != null && typeof propValue !== 'string' &&
     *            !(propValue instanceof URI)) {
     *          return new Error(
     *            'Expected a string or an URI for ' + propName + ' in ' +
     *            componentName
     *          );
     *        }
     *      }
     *    },
     *    render: function() {...}
     *  });
     *
     * @internal
     */
  
    var ANONYMOUS = '<<anonymous>>';
  
    // Important!
    // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
    var ReactPropTypes = {
      array: createPrimitiveTypeChecker('array'),
      bool: createPrimitiveTypeChecker('boolean'),
      func: createPrimitiveTypeChecker('function'),
      number: createPrimitiveTypeChecker('number'),
      object: createPrimitiveTypeChecker('object'),
      string: createPrimitiveTypeChecker('string'),
      symbol: createPrimitiveTypeChecker('symbol'),
  
      any: createAnyTypeChecker(),
      arrayOf: createArrayOfTypeChecker,
      element: createElementTypeChecker(),
      elementType: createElementTypeTypeChecker(),
      instanceOf: createInstanceTypeChecker,
      node: createNodeChecker(),
      objectOf: createObjectOfTypeChecker,
      oneOf: createEnumTypeChecker,
      oneOfType: createUnionTypeChecker,
      shape: createShapeTypeChecker,
      exact: createStrictShapeTypeChecker,
    };
  
    /**
     * inlined Object.is polyfill to avoid requiring consumers ship their own
     * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
     */
    /*eslint-disable no-self-compare*/
    function is(x, y) {
      // SameValue algorithm
      if (x === y) {
        // Steps 1-5, 7-10
        // Steps 6.b-6.e: +0 != -0
        return x !== 0 || 1 / x === 1 / y;
      } else {
        // Step 6.a: NaN == NaN
        return x !== x && y !== y;
      }
    }
    /*eslint-enable no-self-compare*/
  
    /**
     * We use an Error-like object for backward compatibility as people may call
     * PropTypes directly and inspect their output. However, we don't use real
     * Errors anymore. We don't inspect their stack anyway, and creating them
     * is prohibitively expensive if they are created too often, such as what
     * happens in oneOfType() for any type before the one that matched.
     */
    function PropTypeError(message) {
      this.message = message;
      this.stack = '';
    }
    // Make `instanceof Error` still work for returned errors.
    PropTypeError.prototype = Error.prototype;
  
    function createChainableTypeChecker(validate) {
      if (true) {
        var manualPropTypeCallCache = {};
        var manualPropTypeWarningCount = 0;
      }
      function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
        componentName = componentName || ANONYMOUS;
        propFullName = propFullName || propName;
  
        if (secret !== ReactPropTypesSecret) {
          if (throwOnDirectAccess) {
            // New behavior only for users of `prop-types` package
            var err = new Error(
              'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
              'Use `PropTypes.checkPropTypes()` to call them. ' +
              'Read more at http://fb.me/use-check-prop-types'
            );
            err.name = 'Invariant Violation';
            throw err;
          } else if ( true && typeof console !== 'undefined') {
            // Old behavior for people using React.PropTypes
            var cacheKey = componentName + ':' + propName;
            if (
              !manualPropTypeCallCache[cacheKey] &&
              // Avoid spamming the console because they are often not actionable except for lib authors
              manualPropTypeWarningCount < 3
            ) {
              printWarning(
                'You are manually calling a React.PropTypes validation ' +
                'function for the `' + propFullName + '` prop on `' + componentName  + '`. This is deprecated ' +
                'and will throw in the standalone `prop-types` package. ' +
                'You may be seeing this warning due to a third-party PropTypes ' +
                'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'
              );
              manualPropTypeCallCache[cacheKey] = true;
              manualPropTypeWarningCount++;
            }
          }
        }
        if (props[propName] == null) {
          if (isRequired) {
            if (props[propName] === null) {
              return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));
            }
            return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));
          }
          return null;
        } else {
          return validate(props, propName, componentName, location, propFullName);
        }
      }
  
      var chainedCheckType = checkType.bind(null, false);
      chainedCheckType.isRequired = checkType.bind(null, true);
  
      return chainedCheckType;
    }
  
    function createPrimitiveTypeChecker(expectedType) {
      function validate(props, propName, componentName, location, propFullName, secret) {
        var propValue = props[propName];
        var propType = getPropType(propValue);
        if (propType !== expectedType) {
          // `propValue` being instance of, say, date/regexp, pass the 'object'
          // check, but we can offer a more precise error message here rather than
          // 'of type `object`'.
          var preciseType = getPreciseType(propValue);
  
          return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));
        }
        return null;
      }
      return createChainableTypeChecker(validate);
    }
  
    function createAnyTypeChecker() {
      return createChainableTypeChecker(emptyFunctionThatReturnsNull);
    }
  
    function createArrayOfTypeChecker(typeChecker) {
      function validate(props, propName, componentName, location, propFullName) {
        if (typeof typeChecker !== 'function') {
          return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');
        }
        var propValue = props[propName];
        if (!Array.isArray(propValue)) {
          var propType = getPropType(propValue);
          return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
        }
        for (var i = 0; i < propValue.length; i++) {
          var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);
          if (error instanceof Error) {
            return error;
          }
        }
        return null;
      }
      return createChainableTypeChecker(validate);
    }
  
    function createElementTypeChecker() {
      function validate(props, propName, componentName, location, propFullName) {
        var propValue = props[propName];
        if (!isValidElement(propValue)) {
          var propType = getPropType(propValue);
          return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));
        }
        return null;
      }
      return createChainableTypeChecker(validate);
    }
  
    function createElementTypeTypeChecker() {
      function validate(props, propName, componentName, location, propFullName) {
        var propValue = props[propName];
        if (!ReactIs.isValidElementType(propValue)) {
          var propType = getPropType(propValue);
          return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));
        }
        return null;
      }
      return createChainableTypeChecker(validate);
    }
  
    function createInstanceTypeChecker(expectedClass) {
      function validate(props, propName, componentName, location, propFullName) {
        if (!(props[propName] instanceof expectedClass)) {
          var expectedClassName = expectedClass.name || ANONYMOUS;
          var actualClassName = getClassName(props[propName]);
          return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));
        }
        return null;
      }
      return createChainableTypeChecker(validate);
    }
  
    function createEnumTypeChecker(expectedValues) {
      if (!Array.isArray(expectedValues)) {
        if (true) {
          if (arguments.length > 1) {
            printWarning(
              'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +
              'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'
            );
          } else {
            printWarning('Invalid argument supplied to oneOf, expected an array.');
          }
        }
        return emptyFunctionThatReturnsNull;
      }
  
      function validate(props, propName, componentName, location, propFullName) {
        var propValue = props[propName];
        for (var i = 0; i < expectedValues.length; i++) {
          if (is(propValue, expectedValues[i])) {
            return null;
          }
        }
  
        var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {
          var type = getPreciseType(value);
          if (type === 'symbol') {
            return String(value);
          }
          return value;
        });
        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
      }
      return createChainableTypeChecker(validate);
    }
  
    function createObjectOfTypeChecker(typeChecker) {
      function validate(props, propName, componentName, location, propFullName) {
        if (typeof typeChecker !== 'function') {
          return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');
        }
        var propValue = props[propName];
        var propType = getPropType(propValue);
        if (propType !== 'object') {
          return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
        }
        for (var key in propValue) {
          if (has(propValue, key)) {
            var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
            if (error instanceof Error) {
              return error;
            }
          }
        }
        return null;
      }
      return createChainableTypeChecker(validate);
    }
  
    function createUnionTypeChecker(arrayOfTypeCheckers) {
      if (!Array.isArray(arrayOfTypeCheckers)) {
         true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : undefined;
        return emptyFunctionThatReturnsNull;
      }
  
      for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
        var checker = arrayOfTypeCheckers[i];
        if (typeof checker !== 'function') {
          printWarning(
            'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +
            'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'
          );
          return emptyFunctionThatReturnsNull;
        }
      }
  
      function validate(props, propName, componentName, location, propFullName) {
        for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
          var checker = arrayOfTypeCheckers[i];
          if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {
            return null;
          }
        }
  
        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));
      }
      return createChainableTypeChecker(validate);
    }
  
    function createNodeChecker() {
      function validate(props, propName, componentName, location, propFullName) {
        if (!isNode(props[propName])) {
          return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
        }
        return null;
      }
      return createChainableTypeChecker(validate);
    }
  
    function createShapeTypeChecker(shapeTypes) {
      function validate(props, propName, componentName, location, propFullName) {
        var propValue = props[propName];
        var propType = getPropType(propValue);
        if (propType !== 'object') {
          return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
        }
        for (var key in shapeTypes) {
          var checker = shapeTypes[key];
          if (!checker) {
            continue;
          }
          var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
          if (error) {
            return error;
          }
        }
        return null;
      }
      return createChainableTypeChecker(validate);
    }
  
    function createStrictShapeTypeChecker(shapeTypes) {
      function validate(props, propName, componentName, location, propFullName) {
        var propValue = props[propName];
        var propType = getPropType(propValue);
        if (propType !== 'object') {
          return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
        }
        // We need to check all keys in case some are required but missing from
        // props.
        var allKeys = assign({}, props[propName], shapeTypes);
        for (var key in allKeys) {
          var checker = shapeTypes[key];
          if (!checker) {
            return new PropTypeError(
              'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +
              '\nBad object: ' + JSON.stringify(props[propName], null, '  ') +
              '\nValid keys: ' +  JSON.stringify(Object.keys(shapeTypes), null, '  ')
            );
          }
          var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
          if (error) {
            return error;
          }
        }
        return null;
      }
  
      return createChainableTypeChecker(validate);
    }
  
    function isNode(propValue) {
      switch (typeof propValue) {
        case 'number':
        case 'string':
        case 'undefined':
          return true;
        case 'boolean':
          return !propValue;
        case 'object':
          if (Array.isArray(propValue)) {
            return propValue.every(isNode);
          }
          if (propValue === null || isValidElement(propValue)) {
            return true;
          }
  
          var iteratorFn = getIteratorFn(propValue);
          if (iteratorFn) {
            var iterator = iteratorFn.call(propValue);
            var step;
            if (iteratorFn !== propValue.entries) {
              while (!(step = iterator.next()).done) {
                if (!isNode(step.value)) {
                  return false;
                }
              }
            } else {
              // Iterator will provide entry [k,v] tuples rather than values.
              while (!(step = iterator.next()).done) {
                var entry = step.value;
                if (entry) {
                  if (!isNode(entry[1])) {
                    return false;
                  }
                }
              }
            }
          } else {
            return false;
          }
  
          return true;
        default:
          return false;
      }
    }
  
    function isSymbol(propType, propValue) {
      // Native Symbol.
      if (propType === 'symbol') {
        return true;
      }
  
      // falsy value can't be a Symbol
      if (!propValue) {
        return false;
      }
  
      // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'
      if (propValue['@@toStringTag'] === 'Symbol') {
        return true;
      }
  
      // Fallback for non-spec compliant Symbols which are polyfilled.
      if (typeof Symbol === 'function' && propValue instanceof Symbol) {
        return true;
      }
  
      return false;
    }
  
    // Equivalent of `typeof` but with special handling for array and regexp.
    function getPropType(propValue) {
      var propType = typeof propValue;
      if (Array.isArray(propValue)) {
        return 'array';
      }
      if (propValue instanceof RegExp) {
        // Old webkits (at least until Android 4.0) return 'function' rather than
        // 'object' for typeof a RegExp. We'll normalize this here so that /bla/
        // passes PropTypes.object.
        return 'object';
      }
      if (isSymbol(propType, propValue)) {
        return 'symbol';
      }
      return propType;
    }
  
    // This handles more types than `getPropType`. Only used for error messages.
    // See `createPrimitiveTypeChecker`.
    function getPreciseType(propValue) {
      if (typeof propValue === 'undefined' || propValue === null) {
        return '' + propValue;
      }
      var propType = getPropType(propValue);
      if (propType === 'object') {
        if (propValue instanceof Date) {
          return 'date';
        } else if (propValue instanceof RegExp) {
          return 'regexp';
        }
      }
      return propType;
    }
  
    // Returns a string that is postfixed to a warning about an invalid type.
    // For example, "undefined" or "of type array"
    function getPostfixForTypeWarning(value) {
      var type = getPreciseType(value);
      switch (type) {
        case 'array':
        case 'object':
          return 'an ' + type;
        case 'boolean':
        case 'date':
        case 'regexp':
          return 'a ' + type;
        default:
          return type;
      }
    }
  
    // Returns class name of the object, if any.
    function getClassName(propValue) {
      if (!propValue.constructor || !propValue.constructor.name) {
        return ANONYMOUS;
      }
      return propValue.constructor.name;
    }
  
    ReactPropTypes.checkPropTypes = checkPropTypes;
    ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;
    ReactPropTypes.PropTypes = ReactPropTypes;
  
    return ReactPropTypes;
  };
  
  
  /***/ }),
  
  /***/ "./node_modules/prop-types/index.js":
  /*!******************************************!*\
    !*** ./node_modules/prop-types/index.js ***!
    \******************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  /**
   * Copyright (c) 2013-present, Facebook, Inc.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   */
  
  if (true) {
    var ReactIs = __webpack_require__(/*! react-is */ "./node_modules/react-is/index.js");
  
    // By explicitly using `prop-types` you are opting into new development behavior.
    // http://fb.me/prop-types-in-prod
    var throwOnDirectAccess = true;
    module.exports = __webpack_require__(/*! ./factoryWithTypeCheckers */ "./node_modules/prop-types/factoryWithTypeCheckers.js")(ReactIs.isElement, throwOnDirectAccess);
  } else {}
  
  
  /***/ }),
  
  /***/ "./node_modules/prop-types/lib/ReactPropTypesSecret.js":
  /*!*******************************************************************************************************************!*\
    !*** delegated ./node_modules/prop-types/lib/ReactPropTypesSecret.js from dll-reference dll_2adc2403d89adc16ead0 ***!
    \*******************************************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  module.exports = (__webpack_require__(/*! dll-reference dll_2adc2403d89adc16ead0 */ "dll-reference dll_2adc2403d89adc16ead0"))("./node_modules/prop-types/lib/ReactPropTypesSecret.js");
  
  /***/ }),
  
  /***/ "./node_modules/querystring-es3/decode.js":
  /*!************************************************!*\
    !*** ./node_modules/querystring-es3/decode.js ***!
    \************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  // Copyright Joyent, Inc. and other Node contributors.
  //
  // Permission is hereby granted, free of charge, to any person obtaining a
  // copy of this software and associated documentation files (the
  // "Software"), to deal in the Software without restriction, including
  // without limitation the rights to use, copy, modify, merge, publish,
  // distribute, sublicense, and/or sell copies of the Software, and to permit
  // persons to whom the Software is furnished to do so, subject to the
  // following conditions:
  //
  // The above copyright notice and this permission notice shall be included
  // in all copies or substantial portions of the Software.
  //
  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
  // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
  // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
  // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
  // USE OR OTHER DEALINGS IN THE SOFTWARE.
  
  
  
  // If obj.hasOwnProperty has been overridden, then calling
  // obj.hasOwnProperty(prop) will break.
  // See: https://github.com/joyent/node/issues/1707
  function hasOwnProperty(obj, prop) {
    return Object.prototype.hasOwnProperty.call(obj, prop);
  }
  
  module.exports = function(qs, sep, eq, options) {
    sep = sep || '&';
    eq = eq || '=';
    var obj = {};
  
    if (typeof qs !== 'string' || qs.length === 0) {
      return obj;
    }
  
    var regexp = /\+/g;
    qs = qs.split(sep);
  
    var maxKeys = 1000;
    if (options && typeof options.maxKeys === 'number') {
      maxKeys = options.maxKeys;
    }
  
    var len = qs.length;
    // maxKeys <= 0 means that we should not limit keys count
    if (maxKeys > 0 && len > maxKeys) {
      len = maxKeys;
    }
  
    for (var i = 0; i < len; ++i) {
      var x = qs[i].replace(regexp, '%20'),
          idx = x.indexOf(eq),
          kstr, vstr, k, v;
  
      if (idx >= 0) {
        kstr = x.substr(0, idx);
        vstr = x.substr(idx + 1);
      } else {
        kstr = x;
        vstr = '';
      }
  
      k = decodeURIComponent(kstr);
      v = decodeURIComponent(vstr);
  
      if (!hasOwnProperty(obj, k)) {
        obj[k] = v;
      } else if (isArray(obj[k])) {
        obj[k].push(v);
      } else {
        obj[k] = [obj[k], v];
      }
    }
  
    return obj;
  };
  
  var isArray = Array.isArray || function (xs) {
    return Object.prototype.toString.call(xs) === '[object Array]';
  };
  
  
  /***/ }),
  
  /***/ "./node_modules/querystring-es3/encode.js":
  /*!************************************************!*\
    !*** ./node_modules/querystring-es3/encode.js ***!
    \************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  // Copyright Joyent, Inc. and other Node contributors.
  //
  // Permission is hereby granted, free of charge, to any person obtaining a
  // copy of this software and associated documentation files (the
  // "Software"), to deal in the Software without restriction, including
  // without limitation the rights to use, copy, modify, merge, publish,
  // distribute, sublicense, and/or sell copies of the Software, and to permit
  // persons to whom the Software is furnished to do so, subject to the
  // following conditions:
  //
  // The above copyright notice and this permission notice shall be included
  // in all copies or substantial portions of the Software.
  //
  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
  // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
  // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
  // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
  // USE OR OTHER DEALINGS IN THE SOFTWARE.
  
  
  
  var stringifyPrimitive = function(v) {
    switch (typeof v) {
      case 'string':
        return v;
  
      case 'boolean':
        return v ? 'true' : 'false';
  
      case 'number':
        return isFinite(v) ? v : '';
  
      default:
        return '';
    }
  };
  
  module.exports = function(obj, sep, eq, name) {
    sep = sep || '&';
    eq = eq || '=';
    if (obj === null) {
      obj = undefined;
    }
  
    if (typeof obj === 'object') {
      return map(objectKeys(obj), function(k) {
        var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;
        if (isArray(obj[k])) {
          return map(obj[k], function(v) {
            return ks + encodeURIComponent(stringifyPrimitive(v));
          }).join(sep);
        } else {
          return ks + encodeURIComponent(stringifyPrimitive(obj[k]));
        }
      }).join(sep);
  
    }
  
    if (!name) return '';
    return encodeURIComponent(stringifyPrimitive(name)) + eq +
           encodeURIComponent(stringifyPrimitive(obj));
  };
  
  var isArray = Array.isArray || function (xs) {
    return Object.prototype.toString.call(xs) === '[object Array]';
  };
  
  function map (xs, f) {
    if (xs.map) return xs.map(f);
    var res = [];
    for (var i = 0; i < xs.length; i++) {
      res.push(f(xs[i], i));
    }
    return res;
  }
  
  var objectKeys = Object.keys || function (obj) {
    var res = [];
    for (var key in obj) {
      if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key);
    }
    return res;
  };
  
  
  /***/ }),
  
  /***/ "./node_modules/querystring-es3/index.js":
  /*!***********************************************!*\
    !*** ./node_modules/querystring-es3/index.js ***!
    \***********************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  exports.decode = exports.parse = __webpack_require__(/*! ./decode */ "./node_modules/querystring-es3/decode.js");
  exports.encode = exports.stringify = __webpack_require__(/*! ./encode */ "./node_modules/querystring-es3/encode.js");
  
  
  /***/ }),
  
  /***/ "./node_modules/react-is/cjs/react-is.development.js":
  /*!***********************************************************!*\
    !*** ./node_modules/react-is/cjs/react-is.development.js ***!
    \***********************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  /** @license React v16.13.1
   * react-is.development.js
   *
   * Copyright (c) Facebook, Inc. and its affiliates.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   */
  
  
  
  
  
  if (true) {
    (function() {
  'use strict';
  
  // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
  // nor polyfill, then a plain number is used for performance.
  var hasSymbol = typeof Symbol === 'function' && Symbol.for;
  var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
  var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
  var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
  var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
  var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
  var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
  var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
  // (unstable) APIs that have been removed. Can we remove the symbols?
  
  var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
  var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
  var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
  var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
  var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
  var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
  var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
  var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
  var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
  var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
  var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
  
  function isValidElementType(type) {
    return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
    type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);
  }
  
  function typeOf(object) {
    if (typeof object === 'object' && object !== null) {
      var $$typeof = object.$$typeof;
  
      switch ($$typeof) {
        case REACT_ELEMENT_TYPE:
          var type = object.type;
  
          switch (type) {
            case REACT_ASYNC_MODE_TYPE:
            case REACT_CONCURRENT_MODE_TYPE:
            case REACT_FRAGMENT_TYPE:
            case REACT_PROFILER_TYPE:
            case REACT_STRICT_MODE_TYPE:
            case REACT_SUSPENSE_TYPE:
              return type;
  
            default:
              var $$typeofType = type && type.$$typeof;
  
              switch ($$typeofType) {
                case REACT_CONTEXT_TYPE:
                case REACT_FORWARD_REF_TYPE:
                case REACT_LAZY_TYPE:
                case REACT_MEMO_TYPE:
                case REACT_PROVIDER_TYPE:
                  return $$typeofType;
  
                default:
                  return $$typeof;
              }
  
          }
  
        case REACT_PORTAL_TYPE:
          return $$typeof;
      }
    }
  
    return undefined;
  } // AsyncMode is deprecated along with isAsyncMode
  
  var AsyncMode = REACT_ASYNC_MODE_TYPE;
  var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
  var ContextConsumer = REACT_CONTEXT_TYPE;
  var ContextProvider = REACT_PROVIDER_TYPE;
  var Element = REACT_ELEMENT_TYPE;
  var ForwardRef = REACT_FORWARD_REF_TYPE;
  var Fragment = REACT_FRAGMENT_TYPE;
  var Lazy = REACT_LAZY_TYPE;
  var Memo = REACT_MEMO_TYPE;
  var Portal = REACT_PORTAL_TYPE;
  var Profiler = REACT_PROFILER_TYPE;
  var StrictMode = REACT_STRICT_MODE_TYPE;
  var Suspense = REACT_SUSPENSE_TYPE;
  var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
  
  function isAsyncMode(object) {
    {
      if (!hasWarnedAboutDeprecatedIsAsyncMode) {
        hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
  
        console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');
      }
    }
  
    return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
  }
  function isConcurrentMode(object) {
    return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
  }
  function isContextConsumer(object) {
    return typeOf(object) === REACT_CONTEXT_TYPE;
  }
  function isContextProvider(object) {
    return typeOf(object) === REACT_PROVIDER_TYPE;
  }
  function isElement(object) {
    return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
  }
  function isForwardRef(object) {
    return typeOf(object) === REACT_FORWARD_REF_TYPE;
  }
  function isFragment(object) {
    return typeOf(object) === REACT_FRAGMENT_TYPE;
  }
  function isLazy(object) {
    return typeOf(object) === REACT_LAZY_TYPE;
  }
  function isMemo(object) {
    return typeOf(object) === REACT_MEMO_TYPE;
  }
  function isPortal(object) {
    return typeOf(object) === REACT_PORTAL_TYPE;
  }
  function isProfiler(object) {
    return typeOf(object) === REACT_PROFILER_TYPE;
  }
  function isStrictMode(object) {
    return typeOf(object) === REACT_STRICT_MODE_TYPE;
  }
  function isSuspense(object) {
    return typeOf(object) === REACT_SUSPENSE_TYPE;
  }
  
  exports.AsyncMode = AsyncMode;
  exports.ConcurrentMode = ConcurrentMode;
  exports.ContextConsumer = ContextConsumer;
  exports.ContextProvider = ContextProvider;
  exports.Element = Element;
  exports.ForwardRef = ForwardRef;
  exports.Fragment = Fragment;
  exports.Lazy = Lazy;
  exports.Memo = Memo;
  exports.Portal = Portal;
  exports.Profiler = Profiler;
  exports.StrictMode = StrictMode;
  exports.Suspense = Suspense;
  exports.isAsyncMode = isAsyncMode;
  exports.isConcurrentMode = isConcurrentMode;
  exports.isContextConsumer = isContextConsumer;
  exports.isContextProvider = isContextProvider;
  exports.isElement = isElement;
  exports.isForwardRef = isForwardRef;
  exports.isFragment = isFragment;
  exports.isLazy = isLazy;
  exports.isMemo = isMemo;
  exports.isPortal = isPortal;
  exports.isProfiler = isProfiler;
  exports.isStrictMode = isStrictMode;
  exports.isSuspense = isSuspense;
  exports.isValidElementType = isValidElementType;
  exports.typeOf = typeOf;
    })();
  }
  
  
  /***/ }),
  
  /***/ "./node_modules/react-is/index.js":
  /*!****************************************!*\
    !*** ./node_modules/react-is/index.js ***!
    \****************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  if (false) {} else {
    module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "./node_modules/react-is/cjs/react-is.development.js");
  }
  
  
  /***/ }),
  
  /***/ "./node_modules/react/index.js":
  /*!*******************************************************************************************!*\
    !*** delegated ./node_modules/react/index.js from dll-reference dll_2adc2403d89adc16ead0 ***!
    \*******************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  module.exports = (__webpack_require__(/*! dll-reference dll_2adc2403d89adc16ead0 */ "dll-reference dll_2adc2403d89adc16ead0"))("./node_modules/react/index.js");
  
  /***/ }),
  
  /***/ "./node_modules/regenerator-runtime/runtime.js":
  /*!*****************************************************!*\
    !*** ./node_modules/regenerator-runtime/runtime.js ***!
    \*****************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  /**
   * Copyright (c) 2014-present, Facebook, Inc.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   */
  
  var runtime = (function (exports) {
    "use strict";
  
    var Op = Object.prototype;
    var hasOwn = Op.hasOwnProperty;
    var undefined; // More compressible than void 0.
    var $Symbol = typeof Symbol === "function" ? Symbol : {};
    var iteratorSymbol = $Symbol.iterator || "@@iterator";
    var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
    var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
  
    function wrap(innerFn, outerFn, self, tryLocsList) {
      // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.
      var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
      var generator = Object.create(protoGenerator.prototype);
      var context = new Context(tryLocsList || []);
  
      // The ._invoke method unifies the implementations of the .next,
      // .throw, and .return methods.
      generator._invoke = makeInvokeMethod(innerFn, self, context);
  
      return generator;
    }
    exports.wrap = wrap;
  
    // Try/catch helper to minimize deoptimizations. Returns a completion
    // record like context.tryEntries[i].completion. This interface could
    // have been (and was previously) designed to take a closure to be
    // invoked without arguments, but in all the cases we care about we
    // already have an existing method we want to call, so there's no need
    // to create a new function object. We can even get away with assuming
    // the method takes exactly one argument, since that happens to be true
    // in every case, so we don't have to touch the arguments object. The
    // only additional allocation required is the completion record, which
    // has a stable shape and so hopefully should be cheap to allocate.
    function tryCatch(fn, obj, arg) {
      try {
        return { type: "normal", arg: fn.call(obj, arg) };
      } catch (err) {
        return { type: "throw", arg: err };
      }
    }
  
    var GenStateSuspendedStart = "suspendedStart";
    var GenStateSuspendedYield = "suspendedYield";
    var GenStateExecuting = "executing";
    var GenStateCompleted = "completed";
  
    // Returning this object from the innerFn has the same effect as
    // breaking out of the dispatch switch statement.
    var ContinueSentinel = {};
  
    // Dummy constructor functions that we use as the .constructor and
    // .constructor.prototype properties for functions that return Generator
    // objects. For full spec compliance, you may wish to configure your
    // minifier not to mangle the names of these two functions.
    function Generator() {}
    function GeneratorFunction() {}
    function GeneratorFunctionPrototype() {}
  
    // This is a polyfill for %IteratorPrototype% for environments that
    // don't natively support it.
    var IteratorPrototype = {};
    IteratorPrototype[iteratorSymbol] = function () {
      return this;
    };
  
    var getProto = Object.getPrototypeOf;
    var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
    if (NativeIteratorPrototype &&
        NativeIteratorPrototype !== Op &&
        hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
      // This environment has a native %IteratorPrototype%; use it instead
      // of the polyfill.
      IteratorPrototype = NativeIteratorPrototype;
    }
  
    var Gp = GeneratorFunctionPrototype.prototype =
      Generator.prototype = Object.create(IteratorPrototype);
    GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
    GeneratorFunctionPrototype.constructor = GeneratorFunction;
    GeneratorFunctionPrototype[toStringTagSymbol] =
      GeneratorFunction.displayName = "GeneratorFunction";
  
    // Helper for defining the .next, .throw, and .return methods of the
    // Iterator interface in terms of a single ._invoke method.
    function defineIteratorMethods(prototype) {
      ["next", "throw", "return"].forEach(function(method) {
        prototype[method] = function(arg) {
          return this._invoke(method, arg);
        };
      });
    }
  
    exports.isGeneratorFunction = function(genFun) {
      var ctor = typeof genFun === "function" && genFun.constructor;
      return ctor
        ? ctor === GeneratorFunction ||
          // For the native GeneratorFunction constructor, the best we can
          // do is to check its .name property.
          (ctor.displayName || ctor.name) === "GeneratorFunction"
        : false;
    };
  
    exports.mark = function(genFun) {
      if (Object.setPrototypeOf) {
        Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
      } else {
        genFun.__proto__ = GeneratorFunctionPrototype;
        if (!(toStringTagSymbol in genFun)) {
          genFun[toStringTagSymbol] = "GeneratorFunction";
        }
      }
      genFun.prototype = Object.create(Gp);
      return genFun;
    };
  
    // Within the body of any async function, `await x` is transformed to
    // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
    // `hasOwn.call(value, "__await")` to determine if the yielded value is
    // meant to be awaited.
    exports.awrap = function(arg) {
      return { __await: arg };
    };
  
    function AsyncIterator(generator, PromiseImpl) {
      function invoke(method, arg, resolve, reject) {
        var record = tryCatch(generator[method], generator, arg);
        if (record.type === "throw") {
          reject(record.arg);
        } else {
          var result = record.arg;
          var value = result.value;
          if (value &&
              typeof value === "object" &&
              hasOwn.call(value, "__await")) {
            return PromiseImpl.resolve(value.__await).then(function(value) {
              invoke("next", value, resolve, reject);
            }, function(err) {
              invoke("throw", err, resolve, reject);
            });
          }
  
          return PromiseImpl.resolve(value).then(function(unwrapped) {
            // When a yielded Promise is resolved, its final value becomes
            // the .value of the Promise<{value,done}> result for the
            // current iteration.
            result.value = unwrapped;
            resolve(result);
          }, function(error) {
            // If a rejected Promise was yielded, throw the rejection back
            // into the async generator function so it can be handled there.
            return invoke("throw", error, resolve, reject);
          });
        }
      }
  
      var previousPromise;
  
      function enqueue(method, arg) {
        function callInvokeWithMethodAndArg() {
          return new PromiseImpl(function(resolve, reject) {
            invoke(method, arg, resolve, reject);
          });
        }
  
        return previousPromise =
          // If enqueue has been called before, then we want to wait until
          // all previous Promises have been resolved before calling invoke,
          // so that results are always delivered in the correct order. If
          // enqueue has not been called before, then it is important to
          // call invoke immediately, without waiting on a callback to fire,
          // so that the async generator function has the opportunity to do
          // any necessary setup in a predictable way. This predictability
          // is why the Promise constructor synchronously invokes its
          // executor callback, and why async functions synchronously
          // execute code before the first await. Since we implement simple
          // async functions in terms of async generators, it is especially
          // important to get this right, even though it requires care.
          previousPromise ? previousPromise.then(
            callInvokeWithMethodAndArg,
            // Avoid propagating failures to Promises returned by later
            // invocations of the iterator.
            callInvokeWithMethodAndArg
          ) : callInvokeWithMethodAndArg();
      }
  
      // Define the unified helper method that is used to implement .next,
      // .throw, and .return (see defineIteratorMethods).
      this._invoke = enqueue;
    }
  
    defineIteratorMethods(AsyncIterator.prototype);
    AsyncIterator.prototype[asyncIteratorSymbol] = function () {
      return this;
    };
    exports.AsyncIterator = AsyncIterator;
  
    // Note that simple async functions are implemented on top of
    // AsyncIterator objects; they just return a Promise for the value of
    // the final result produced by the iterator.
    exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {
      if (PromiseImpl === void 0) PromiseImpl = Promise;
  
      var iter = new AsyncIterator(
        wrap(innerFn, outerFn, self, tryLocsList),
        PromiseImpl
      );
  
      return exports.isGeneratorFunction(outerFn)
        ? iter // If outerFn is a generator, return the full iterator.
        : iter.next().then(function(result) {
            return result.done ? result.value : iter.next();
          });
    };
  
    function makeInvokeMethod(innerFn, self, context) {
      var state = GenStateSuspendedStart;
  
      return function invoke(method, arg) {
        if (state === GenStateExecuting) {
          throw new Error("Generator is already running");
        }
  
        if (state === GenStateCompleted) {
          if (method === "throw") {
            throw arg;
          }
  
          // Be forgiving, per 25.3.3.3.3 of the spec:
          // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
          return doneResult();
        }
  
        context.method = method;
        context.arg = arg;
  
        while (true) {
          var delegate = context.delegate;
          if (delegate) {
            var delegateResult = maybeInvokeDelegate(delegate, context);
            if (delegateResult) {
              if (delegateResult === ContinueSentinel) continue;
              return delegateResult;
            }
          }
  
          if (context.method === "next") {
            // Setting context._sent for legacy support of Babel's
            // function.sent implementation.
            context.sent = context._sent = context.arg;
  
          } else if (context.method === "throw") {
            if (state === GenStateSuspendedStart) {
              state = GenStateCompleted;
              throw context.arg;
            }
  
            context.dispatchException(context.arg);
  
          } else if (context.method === "return") {
            context.abrupt("return", context.arg);
          }
  
          state = GenStateExecuting;
  
          var record = tryCatch(innerFn, self, context);
          if (record.type === "normal") {
            // If an exception is thrown from innerFn, we leave state ===
            // GenStateExecuting and loop back for another invocation.
            state = context.done
              ? GenStateCompleted
              : GenStateSuspendedYield;
  
            if (record.arg === ContinueSentinel) {
              continue;
            }
  
            return {
              value: record.arg,
              done: context.done
            };
  
          } else if (record.type === "throw") {
            state = GenStateCompleted;
            // Dispatch the exception by looping back around to the
            // context.dispatchException(context.arg) call above.
            context.method = "throw";
            context.arg = record.arg;
          }
        }
      };
    }
  
    // Call delegate.iterator[context.method](context.arg) and handle the
    // result, either by returning a { value, done } result from the
    // delegate iterator, or by modifying context.method and context.arg,
    // setting context.delegate to null, and returning the ContinueSentinel.
    function maybeInvokeDelegate(delegate, context) {
      var method = delegate.iterator[context.method];
      if (method === undefined) {
        // A .throw or .return when the delegate iterator has no .throw
        // method always terminates the yield* loop.
        context.delegate = null;
  
        if (context.method === "throw") {
          // Note: ["return"] must be used for ES3 parsing compatibility.
          if (delegate.iterator["return"]) {
            // If the delegate iterator has a return method, give it a
            // chance to clean up.
            context.method = "return";
            context.arg = undefined;
            maybeInvokeDelegate(delegate, context);
  
            if (context.method === "throw") {
              // If maybeInvokeDelegate(context) changed context.method from
              // "return" to "throw", let that override the TypeError below.
              return ContinueSentinel;
            }
          }
  
          context.method = "throw";
          context.arg = new TypeError(
            "The iterator does not provide a 'throw' method");
        }
  
        return ContinueSentinel;
      }
  
      var record = tryCatch(method, delegate.iterator, context.arg);
  
      if (record.type === "throw") {
        context.method = "throw";
        context.arg = record.arg;
        context.delegate = null;
        return ContinueSentinel;
      }
  
      var info = record.arg;
  
      if (! info) {
        context.method = "throw";
        context.arg = new TypeError("iterator result is not an object");
        context.delegate = null;
        return ContinueSentinel;
      }
  
      if (info.done) {
        // Assign the result of the finished delegate to the temporary
        // variable specified by delegate.resultName (see delegateYield).
        context[delegate.resultName] = info.value;
  
        // Resume execution at the desired location (see delegateYield).
        context.next = delegate.nextLoc;
  
        // If context.method was "throw" but the delegate handled the
        // exception, let the outer generator proceed normally. If
        // context.method was "next", forget context.arg since it has been
        // "consumed" by the delegate iterator. If context.method was
        // "return", allow the original .return call to continue in the
        // outer generator.
        if (context.method !== "return") {
          context.method = "next";
          context.arg = undefined;
        }
  
      } else {
        // Re-yield the result returned by the delegate method.
        return info;
      }
  
      // The delegate iterator is finished, so forget it and continue with
      // the outer generator.
      context.delegate = null;
      return ContinueSentinel;
    }
  
    // Define Generator.prototype.{next,throw,return} in terms of the
    // unified ._invoke helper method.
    defineIteratorMethods(Gp);
  
    Gp[toStringTagSymbol] = "Generator";
  
    // A Generator should always return itself as the iterator object when the
    // @@iterator function is called on it. Some browsers' implementations of the
    // iterator prototype chain incorrectly implement this, causing the Generator
    // object to not be returned from this call. This ensures that doesn't happen.
    // See https://github.com/facebook/regenerator/issues/274 for more details.
    Gp[iteratorSymbol] = function() {
      return this;
    };
  
    Gp.toString = function() {
      return "[object Generator]";
    };
  
    function pushTryEntry(locs) {
      var entry = { tryLoc: locs[0] };
  
      if (1 in locs) {
        entry.catchLoc = locs[1];
      }
  
      if (2 in locs) {
        entry.finallyLoc = locs[2];
        entry.afterLoc = locs[3];
      }
  
      this.tryEntries.push(entry);
    }
  
    function resetTryEntry(entry) {
      var record = entry.completion || {};
      record.type = "normal";
      delete record.arg;
      entry.completion = record;
    }
  
    function Context(tryLocsList) {
      // The root entry object (effectively a try statement without a catch
      // or a finally block) gives us a place to store values thrown from
      // locations where there is no enclosing try statement.
      this.tryEntries = [{ tryLoc: "root" }];
      tryLocsList.forEach(pushTryEntry, this);
      this.reset(true);
    }
  
    exports.keys = function(object) {
      var keys = [];
      for (var key in object) {
        keys.push(key);
      }
      keys.reverse();
  
      // Rather than returning an object with a next method, we keep
      // things simple and return the next function itself.
      return function next() {
        while (keys.length) {
          var key = keys.pop();
          if (key in object) {
            next.value = key;
            next.done = false;
            return next;
          }
        }
  
        // To avoid creating an additional object, we just hang the .value
        // and .done properties off the next function object itself. This
        // also ensures that the minifier will not anonymize the function.
        next.done = true;
        return next;
      };
    };
  
    function values(iterable) {
      if (iterable) {
        var iteratorMethod = iterable[iteratorSymbol];
        if (iteratorMethod) {
          return iteratorMethod.call(iterable);
        }
  
        if (typeof iterable.next === "function") {
          return iterable;
        }
  
        if (!isNaN(iterable.length)) {
          var i = -1, next = function next() {
            while (++i < iterable.length) {
              if (hasOwn.call(iterable, i)) {
                next.value = iterable[i];
                next.done = false;
                return next;
              }
            }
  
            next.value = undefined;
            next.done = true;
  
            return next;
          };
  
          return next.next = next;
        }
      }
  
      // Return an iterator with no values.
      return { next: doneResult };
    }
    exports.values = values;
  
    function doneResult() {
      return { value: undefined, done: true };
    }
  
    Context.prototype = {
      constructor: Context,
  
      reset: function(skipTempReset) {
        this.prev = 0;
        this.next = 0;
        // Resetting context._sent for legacy support of Babel's
        // function.sent implementation.
        this.sent = this._sent = undefined;
        this.done = false;
        this.delegate = null;
  
        this.method = "next";
        this.arg = undefined;
  
        this.tryEntries.forEach(resetTryEntry);
  
        if (!skipTempReset) {
          for (var name in this) {
            // Not sure about the optimal order of these conditions:
            if (name.charAt(0) === "t" &&
                hasOwn.call(this, name) &&
                !isNaN(+name.slice(1))) {
              this[name] = undefined;
            }
          }
        }
      },
  
      stop: function() {
        this.done = true;
  
        var rootEntry = this.tryEntries[0];
        var rootRecord = rootEntry.completion;
        if (rootRecord.type === "throw") {
          throw rootRecord.arg;
        }
  
        return this.rval;
      },
  
      dispatchException: function(exception) {
        if (this.done) {
          throw exception;
        }
  
        var context = this;
        function handle(loc, caught) {
          record.type = "throw";
          record.arg = exception;
          context.next = loc;
  
          if (caught) {
            // If the dispatched exception was caught by a catch block,
            // then let that catch block handle the exception normally.
            context.method = "next";
            context.arg = undefined;
          }
  
          return !! caught;
        }
  
        for (var i = this.tryEntries.length - 1; i >= 0; --i) {
          var entry = this.tryEntries[i];
          var record = entry.completion;
  
          if (entry.tryLoc === "root") {
            // Exception thrown outside of any try block that could handle
            // it, so set the completion value of the entire function to
            // throw the exception.
            return handle("end");
          }
  
          if (entry.tryLoc <= this.prev) {
            var hasCatch = hasOwn.call(entry, "catchLoc");
            var hasFinally = hasOwn.call(entry, "finallyLoc");
  
            if (hasCatch && hasFinally) {
              if (this.prev < entry.catchLoc) {
                return handle(entry.catchLoc, true);
              } else if (this.prev < entry.finallyLoc) {
                return handle(entry.finallyLoc);
              }
  
            } else if (hasCatch) {
              if (this.prev < entry.catchLoc) {
                return handle(entry.catchLoc, true);
              }
  
            } else if (hasFinally) {
              if (this.prev < entry.finallyLoc) {
                return handle(entry.finallyLoc);
              }
  
            } else {
              throw new Error("try statement without catch or finally");
            }
          }
        }
      },
  
      abrupt: function(type, arg) {
        for (var i = this.tryEntries.length - 1; i >= 0; --i) {
          var entry = this.tryEntries[i];
          if (entry.tryLoc <= this.prev &&
              hasOwn.call(entry, "finallyLoc") &&
              this.prev < entry.finallyLoc) {
            var finallyEntry = entry;
            break;
          }
        }
  
        if (finallyEntry &&
            (type === "break" ||
             type === "continue") &&
            finallyEntry.tryLoc <= arg &&
            arg <= finallyEntry.finallyLoc) {
          // Ignore the finally entry if control is not jumping to a
          // location outside the try/catch block.
          finallyEntry = null;
        }
  
        var record = finallyEntry ? finallyEntry.completion : {};
        record.type = type;
        record.arg = arg;
  
        if (finallyEntry) {
          this.method = "next";
          this.next = finallyEntry.finallyLoc;
          return ContinueSentinel;
        }
  
        return this.complete(record);
      },
  
      complete: function(record, afterLoc) {
        if (record.type === "throw") {
          throw record.arg;
        }
  
        if (record.type === "break" ||
            record.type === "continue") {
          this.next = record.arg;
        } else if (record.type === "return") {
          this.rval = this.arg = record.arg;
          this.method = "return";
          this.next = "end";
        } else if (record.type === "normal" && afterLoc) {
          this.next = afterLoc;
        }
  
        return ContinueSentinel;
      },
  
      finish: function(finallyLoc) {
        for (var i = this.tryEntries.length - 1; i >= 0; --i) {
          var entry = this.tryEntries[i];
          if (entry.finallyLoc === finallyLoc) {
            this.complete(entry.completion, entry.afterLoc);
            resetTryEntry(entry);
            return ContinueSentinel;
          }
        }
      },
  
      "catch": function(tryLoc) {
        for (var i = this.tryEntries.length - 1; i >= 0; --i) {
          var entry = this.tryEntries[i];
          if (entry.tryLoc === tryLoc) {
            var record = entry.completion;
            if (record.type === "throw") {
              var thrown = record.arg;
              resetTryEntry(entry);
            }
            return thrown;
          }
        }
  
        // The context.catch method must only be called with a location
        // argument that corresponds to a known catch block.
        throw new Error("illegal catch attempt");
      },
  
      delegateYield: function(iterable, resultName, nextLoc) {
        this.delegate = {
          iterator: values(iterable),
          resultName: resultName,
          nextLoc: nextLoc
        };
  
        if (this.method === "next") {
          // Deliberately forget the last sent value so that we don't
          // accidentally pass it on to the delegate.
          this.arg = undefined;
        }
  
        return ContinueSentinel;
      }
    };
  
    // Regardless of whether this script is executing as a CommonJS module
    // or not, return the runtime object so that we can declare the variable
    // regeneratorRuntime in the outer scope, which allows this module to be
    // injected easily by `bin/regenerator --include-runtime script.js`.
    return exports;
  
  }(
    // If this script is executing as a CommonJS module, use module.exports
    // as the regeneratorRuntime namespace. Otherwise create a new empty
    // object. Either way, the resulting object will be used to initialize
    // the regeneratorRuntime variable at the top of this file.
     true ? module.exports : undefined
  ));
  
  try {
    regeneratorRuntime = runtime;
  } catch (accidentalStrictMode) {
    // This module should not be running in strict mode, so the above
    // assignment should always work unless something is misconfigured. Just
    // in case runtime.js accidentally runs in strict mode, we can escape
    // strict mode using a global Function call. This could conceivably fail
    // if a Content Security Policy forbids using Function, but in that case
    // the proper solution is to fix the accidental strict mode problem. If
    // you've misconfigured your bundler to force strict mode and applied a
    // CSP to forbid Function, and you're not willing to fix either of those
    // problems, please detail your unique predicament in a GitHub issue.
    Function("r", "regeneratorRuntime = r")(runtime);
  }
  
  
  /***/ }),
  
  /***/ "./node_modules/string-hash/index.js":
  /*!*******************************************!*\
    !*** ./node_modules/string-hash/index.js ***!
    \*******************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  function hash(str) {
    var hash = 5381,
        i    = str.length;
  
    while(i) {
      hash = (hash * 33) ^ str.charCodeAt(--i);
    }
  
    /* JavaScript does bitwise operations (like XOR, above) on 32-bit signed
     * integers. Since we want the results to be always positive, convert the
     * signed int to an unsigned by doing an unsigned bitshift. */
    return hash >>> 0;
  }
  
  module.exports = hash;
  
  
  /***/ }),
  
  /***/ "./node_modules/styled-components/dist/styled-components.browser.esm.js":
  /*!******************************************************************************!*\
    !*** ./node_modules/styled-components/dist/styled-components.browser.esm.js ***!
    \******************************************************************************/
  /*! exports provided: default, createGlobalStyle, css, isStyledComponent, keyframes, ServerStyleSheet, StyleSheetConsumer, StyleSheetContext, StyleSheetManager, ThemeConsumer, ThemeContext, ThemeProvider, withTheme, __DO_NOT_USE_OR_YOU_WILL_BE_HAUNTED_BY_SPOOKY_GHOSTS */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* WEBPACK VAR INJECTION */(function(process) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createGlobalStyle", function() { return createGlobalStyle; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "css", function() { return css; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isStyledComponent", function() { return isStyledComponent; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "keyframes", function() { return keyframes; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ServerStyleSheet", function() { return ServerStyleSheet; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "StyleSheetConsumer", function() { return StyleSheetConsumer; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "StyleSheetContext", function() { return StyleSheetContext; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "StyleSheetManager", function() { return StyleSheetManager; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ThemeConsumer", function() { return ThemeConsumer; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ThemeContext", function() { return ThemeContext; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ThemeProvider", function() { return ThemeProvider; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "withTheme", function() { return withTheme; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__DO_NOT_USE_OR_YOU_WILL_BE_HAUNTED_BY_SPOOKY_GHOSTS", function() { return __DO_NOT_USE_OR_YOU_WILL_BE_HAUNTED_BY_SPOOKY_GHOSTS; });
  /* harmony import */ var stylis_stylis_min__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! stylis/stylis.min */ "./node_modules/stylis/stylis.min.js");
  /* harmony import */ var stylis_stylis_min__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(stylis_stylis_min__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var stylis_rule_sheet__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! stylis-rule-sheet */ "./node_modules/stylis-rule-sheet/index.js");
  /* harmony import */ var stylis_rule_sheet__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(stylis_rule_sheet__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "./node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var _emotion_unitless__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @emotion/unitless */ "./node_modules/@emotion/unitless/dist/unitless.browser.esm.js");
  /* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-is */ "./node_modules/react-is/index.js");
  /* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_is__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var memoize_one__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! memoize-one */ "./node_modules/memoize-one/dist/memoize-one.esm.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__);
  /* harmony import */ var _emotion_is_prop_valid__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @emotion/is-prop-valid */ "./node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js");
  /* harmony import */ var merge_anything__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! merge-anything */ "./node_modules/merge-anything/dist/index.esm.js");
  
  
  
  
  
  
  
  
  
  
  //
  
  var interleave = (function (strings, interpolations) {
    var result = [strings[0]];
  
    for (var i = 0, len = interpolations.length; i < len; i += 1) {
      result.push(interpolations[i], strings[i + 1]);
    }
  
    return result;
  });
  
  var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) {
    return typeof obj;
  } : function (obj) {
    return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
  };
  
  var classCallCheck = function (instance, Constructor) {
    if (!(instance instanceof Constructor)) {
      throw new TypeError("Cannot call a class as a function");
    }
  };
  
  var createClass = function () {
    function defineProperties(target, props) {
      for (var i = 0; i < props.length; i++) {
        var descriptor = props[i];
        descriptor.enumerable = descriptor.enumerable || false;
        descriptor.configurable = true;
        if ("value" in descriptor) descriptor.writable = true;
        Object.defineProperty(target, descriptor.key, descriptor);
      }
    }
  
    return function (Constructor, protoProps, staticProps) {
      if (protoProps) defineProperties(Constructor.prototype, protoProps);
      if (staticProps) defineProperties(Constructor, staticProps);
      return Constructor;
    };
  }();
  
  var _extends = Object.assign || function (target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = arguments[i];
  
      for (var key in source) {
        if (Object.prototype.hasOwnProperty.call(source, key)) {
          target[key] = source[key];
        }
      }
    }
  
    return target;
  };
  
  var inherits = function (subClass, superClass) {
    if (typeof superClass !== "function" && superClass !== null) {
      throw new TypeError("Super expression must either be null or a function, not " + typeof superClass);
    }
  
    subClass.prototype = Object.create(superClass && superClass.prototype, {
      constructor: {
        value: subClass,
        enumerable: false,
        writable: true,
        configurable: true
      }
    });
    if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
  };
  
  var objectWithoutProperties = function (obj, keys) {
    var target = {};
  
    for (var i in obj) {
      if (keys.indexOf(i) >= 0) continue;
      if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;
      target[i] = obj[i];
    }
  
    return target;
  };
  
  var possibleConstructorReturn = function (self, call) {
    if (!self) {
      throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
    }
  
    return call && (typeof call === "object" || typeof call === "function") ? call : self;
  };
  
  //
  var isPlainObject = (function (x) {
    return (typeof x === 'undefined' ? 'undefined' : _typeof(x)) === 'object' && x.constructor === Object;
  });
  
  //
  var EMPTY_ARRAY = Object.freeze([]);
  var EMPTY_OBJECT = Object.freeze({});
  
  //
  function isFunction(test) {
    return typeof test === 'function';
  }
  
  //
  
  function getComponentName(target) {
    return ( true ? typeof target === 'string' && target : undefined) || target.displayName || target.name || 'Component';
  }
  
  //
  function isStatelessFunction(test) {
    return typeof test === 'function' && !(test.prototype && test.prototype.isReactComponent);
  }
  
  //
  function isStyledComponent(target) {
    return target && typeof target.styledComponentId === 'string';
  }
  
  //
  
  var SC_ATTR = typeof process !== 'undefined' && (process.env.REACT_APP_SC_ATTR || process.env.SC_ATTR) || 'data-styled';
  
  var SC_VERSION_ATTR = 'data-styled-version';
  
  var SC_STREAM_ATTR = 'data-styled-streamed';
  
  var IS_BROWSER = typeof window !== 'undefined' && 'HTMLElement' in window;
  
  var DISABLE_SPEEDY = typeof SC_DISABLE_SPEEDY === 'boolean' && SC_DISABLE_SPEEDY || typeof process !== 'undefined' && (process.env.REACT_APP_SC_DISABLE_SPEEDY || process.env.SC_DISABLE_SPEEDY) || "development" !== 'production';
  
  // Shared empty execution context when generating static styles
  var STATIC_EXECUTION_CONTEXT = {};
  
  //
  
  
  /**
   * Parse errors.md and turn it into a simple hash of code: message
   */
  var ERRORS =  true ? {
    "1": "Cannot create styled-component for component: %s.\n\n",
    "2": "Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\n\n- Are you trying to reuse it across renders?\n- Are you accidentally calling collectStyles twice?\n\n",
    "3": "Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\n\n",
    "4": "The `StyleSheetManager` expects a valid target or sheet prop!\n\n- Does this error occur on the client and is your target falsy?\n- Does this error occur on the server and is the sheet falsy?\n\n",
    "5": "The clone method cannot be used on the client!\n\n- Are you running in a client-like environment on the server?\n- Are you trying to run SSR on the client?\n\n",
    "6": "Trying to insert a new style tag, but the given Node is unmounted!\n\n- Are you using a custom target that isn't mounted?\n- Does your document not have a valid head element?\n- Have you accidentally removed a style tag manually?\n\n",
    "7": "ThemeProvider: Please return an object from your \"theme\" prop function, e.g.\n\n```js\ntheme={() => ({})}\n```\n\n",
    "8": "ThemeProvider: Please make your \"theme\" prop an object.\n\n",
    "9": "Missing document `<head>`\n\n",
    "10": "Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\n\n",
    "11": "_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\n\n",
    "12": "It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\`\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\n\n",
    "13": "%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\n"
  } : undefined;
  
  /**
   * super basic version of sprintf
   */
  function format() {
    var a = arguments.length <= 0 ? undefined : arguments[0];
    var b = [];
  
    for (var c = 1, len = arguments.length; c < len; c += 1) {
      b.push(arguments.length <= c ? undefined : arguments[c]);
    }
  
    b.forEach(function (d) {
      a = a.replace(/%[a-z]/, d);
    });
  
    return a;
  }
  
  /**
   * Create an error file out of errors.md for development and a simple web link to the full errors
   * in production mode.
   */
  
  var StyledComponentsError = function (_Error) {
    inherits(StyledComponentsError, _Error);
  
    function StyledComponentsError(code) {
      classCallCheck(this, StyledComponentsError);
  
      for (var _len = arguments.length, interpolations = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
        interpolations[_key - 1] = arguments[_key];
      }
  
      if (false) { var _this; } else {
        var _this = possibleConstructorReturn(this, _Error.call(this, format.apply(undefined, [ERRORS[code]].concat(interpolations)).trim()));
      }
      return possibleConstructorReturn(_this);
    }
  
    return StyledComponentsError;
  }(Error);
  
  //
  var SC_COMPONENT_ID = /^[^\S\n]*?\/\* sc-component-id:\s*(\S+)\s+\*\//gm;
  
  var extractComps = (function (maybeCSS) {
    var css = '' + (maybeCSS || ''); // Definitely a string, and a clone
    var existingComponents = [];
    css.replace(SC_COMPONENT_ID, function (match, componentId, matchIndex) {
      existingComponents.push({ componentId: componentId, matchIndex: matchIndex });
      return match;
    });
    return existingComponents.map(function (_ref, i) {
      var componentId = _ref.componentId,
          matchIndex = _ref.matchIndex;
  
      var nextComp = existingComponents[i + 1];
      var cssFromDOM = nextComp ? css.slice(matchIndex, nextComp.matchIndex) : css.slice(matchIndex);
      return { componentId: componentId, cssFromDOM: cssFromDOM };
    });
  });
  
  //
  
  var COMMENT_REGEX = /^\s*\/\/.*$/gm;
  
  // NOTE: This stylis instance is only used to split rules from SSR'd style tags
  var stylisSplitter = new stylis_stylis_min__WEBPACK_IMPORTED_MODULE_0___default.a({
    global: false,
    cascade: true,
    keyframe: false,
    prefix: false,
    compress: false,
    semicolon: true
  });
  
  var stylis = new stylis_stylis_min__WEBPACK_IMPORTED_MODULE_0___default.a({
    global: false,
    cascade: true,
    keyframe: false,
    prefix: true,
    compress: false,
    semicolon: false // NOTE: This means "autocomplete missing semicolons"
  });
  
  // Wrap `insertRulePlugin to build a list of rules,
  // and then make our own plugin to return the rules. This
  // makes it easier to hook into the existing SSR architecture
  
  var parsingRules = [];
  
  // eslint-disable-next-line consistent-return
  var returnRulesPlugin = function returnRulesPlugin(context) {
    if (context === -2) {
      var parsedRules = parsingRules;
      parsingRules = [];
      return parsedRules;
    }
  };
  
  var parseRulesPlugin = stylis_rule_sheet__WEBPACK_IMPORTED_MODULE_1___default()(function (rule) {
    parsingRules.push(rule);
  });
  
  var _componentId = void 0;
  var _selector = void 0;
  var _selectorRegexp = void 0;
  
  var selfReferenceReplacer = function selfReferenceReplacer(match, offset, string) {
    if (
    // the first self-ref is always untouched
    offset > 0 &&
    // there should be at least two self-refs to do a replacement (.b > .b)
    string.slice(0, offset).indexOf(_selector) !== -1 &&
    // no consecutive self refs (.b.b); that is a precedence boost and treated differently
    string.slice(offset - _selector.length, offset) !== _selector) {
      return '.' + _componentId;
    }
  
    return match;
  };
  
  /**
   * When writing a style like
   *
   * & + & {
   *   color: red;
   * }
   *
   * The second ampersand should be a reference to the static component class. stylis
   * has no knowledge of static class so we have to intelligently replace the base selector.
   */
  var selfReferenceReplacementPlugin = function selfReferenceReplacementPlugin(context, _, selectors) {
    if (context === 2 && selectors.length && selectors[0].lastIndexOf(_selector) > 0) {
      // eslint-disable-next-line no-param-reassign
      selectors[0] = selectors[0].replace(_selectorRegexp, selfReferenceReplacer);
    }
  };
  
  stylis.use([selfReferenceReplacementPlugin, parseRulesPlugin, returnRulesPlugin]);
  stylisSplitter.use([parseRulesPlugin, returnRulesPlugin]);
  
  var splitByRules = function splitByRules(css) {
    return stylisSplitter('', css);
  };
  
  function stringifyRules(rules, selector, prefix) {
    var componentId = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '&';
  
    var flatCSS = rules.join('').replace(COMMENT_REGEX, ''); // replace JS comments
  
    var cssStr = selector && prefix ? prefix + ' ' + selector + ' { ' + flatCSS + ' }' : flatCSS;
  
    // stylis has no concept of state to be passed to plugins
    // but since JS is single=threaded, we can rely on that to ensure
    // these properties stay in sync with the current stylis run
    _componentId = componentId;
    _selector = selector;
    _selectorRegexp = new RegExp('\\' + _selector + '\\b', 'g');
  
    return stylis(prefix || !selector ? '' : selector, cssStr);
  }
  
  //
  /* eslint-disable camelcase, no-undef */
  
  var getNonce = (function () {
    return  true ? __webpack_require__.nc : undefined;
  });
  
  //
  /* These are helpers for the StyleTags to keep track of the injected
   * rule names for each (component) ID that they're keeping track of.
   * They're crucial for detecting whether a name has already been
   * injected.
   * (This excludes rehydrated names) */
  
  /* adds a new ID:name pairing to a names dictionary */
  var addNameForId = function addNameForId(names, id, name) {
    if (name) {
      // eslint-disable-next-line no-param-reassign
      var namesForId = names[id] || (names[id] = Object.create(null));
      namesForId[name] = true;
    }
  };
  
  /* resets an ID entirely by overwriting it in the dictionary */
  var resetIdNames = function resetIdNames(names, id) {
    // eslint-disable-next-line no-param-reassign
    names[id] = Object.create(null);
  };
  
  /* factory for a names dictionary checking the existance of an ID:name pairing */
  var hasNameForId = function hasNameForId(names) {
    return function (id, name) {
      return names[id] !== undefined && names[id][name];
    };
  };
  
  /* stringifies names for the html/element output */
  var stringifyNames = function stringifyNames(names) {
    var str = '';
    // eslint-disable-next-line guard-for-in
    for (var id in names) {
      str += Object.keys(names[id]).join(' ') + ' ';
    }
    return str.trim();
  };
  
  /* clones the nested names dictionary */
  var cloneNames = function cloneNames(names) {
    var clone = Object.create(null);
    // eslint-disable-next-line guard-for-in
    for (var id in names) {
      clone[id] = _extends({}, names[id]);
    }
    return clone;
  };
  
  //
  
  /* These are helpers that deal with the insertRule (aka speedy) API
   * They are used in the StyleTags and specifically the speedy tag
   */
  
  /* retrieve a sheet for a given style tag */
  var sheetForTag = function sheetForTag(tag) {
    // $FlowFixMe
    if (tag.sheet) return tag.sheet;
  
    /* Firefox quirk requires us to step through all stylesheets to find one owned by the given tag */
    var size = tag.ownerDocument.styleSheets.length;
    for (var i = 0; i < size; i += 1) {
      var sheet = tag.ownerDocument.styleSheets[i];
      // $FlowFixMe
      if (sheet.ownerNode === tag) return sheet;
    }
  
    /* we should always be able to find a tag */
    throw new StyledComponentsError(10);
  };
  
  /* insert a rule safely and return whether it was actually injected */
  var safeInsertRule = function safeInsertRule(sheet, cssRule, index) {
    /* abort early if cssRule string is falsy */
    if (!cssRule) return false;
  
    var maxIndex = sheet.cssRules.length;
  
    try {
      /* use insertRule and cap passed index with maxIndex (no of cssRules) */
      sheet.insertRule(cssRule, index <= maxIndex ? index : maxIndex);
    } catch (err) {
      /* any error indicates an invalid rule */
      return false;
    }
  
    return true;
  };
  
  /* deletes `size` rules starting from `removalIndex` */
  var deleteRules = function deleteRules(sheet, removalIndex, size) {
    var lowerBound = removalIndex - size;
    for (var i = removalIndex; i > lowerBound; i -= 1) {
      sheet.deleteRule(i);
    }
  };
  
  //
  
  /* this marker separates component styles and is important for rehydration */
  var makeTextMarker = function makeTextMarker(id) {
    return '\n/* sc-component-id: ' + id + ' */\n';
  };
  
  /* add up all numbers in array up until and including the index */
  var addUpUntilIndex = function addUpUntilIndex(sizes, index) {
    var totalUpToIndex = 0;
    for (var i = 0; i <= index; i += 1) {
      totalUpToIndex += sizes[i];
    }
  
    return totalUpToIndex;
  };
  
  /* create a new style tag after lastEl */
  var makeStyleTag = function makeStyleTag(target, tagEl, insertBefore) {
    var targetDocument = document;
    if (target) targetDocument = target.ownerDocument;else if (tagEl) targetDocument = tagEl.ownerDocument;
  
    var el = targetDocument.createElement('style');
    el.setAttribute(SC_ATTR, '');
    el.setAttribute(SC_VERSION_ATTR, "4.4.1");
  
    var nonce = getNonce();
    if (nonce) {
      el.setAttribute('nonce', nonce);
    }
  
    /* Work around insertRule quirk in EdgeHTML */
    el.appendChild(targetDocument.createTextNode(''));
  
    if (target && !tagEl) {
      /* Append to target when no previous element was passed */
      target.appendChild(el);
    } else {
      if (!tagEl || !target || !tagEl.parentNode) {
        throw new StyledComponentsError(6);
      }
  
      /* Insert new style tag after the previous one */
      tagEl.parentNode.insertBefore(el, insertBefore ? tagEl : tagEl.nextSibling);
    }
  
    return el;
  };
  
  /* takes a css factory function and outputs an html styled tag factory */
  var wrapAsHtmlTag = function wrapAsHtmlTag(css, names) {
    return function (additionalAttrs) {
      var nonce = getNonce();
      var attrs = [nonce && 'nonce="' + nonce + '"', SC_ATTR + '="' + stringifyNames(names) + '"', SC_VERSION_ATTR + '="' + "4.4.1" + '"', additionalAttrs];
  
      var htmlAttr = attrs.filter(Boolean).join(' ');
      return '<style ' + htmlAttr + '>' + css() + '</style>';
    };
  };
  
  /* takes a css factory function and outputs an element factory */
  var wrapAsElement = function wrapAsElement(css, names) {
    return function () {
      var _props;
  
      var props = (_props = {}, _props[SC_ATTR] = stringifyNames(names), _props[SC_VERSION_ATTR] = "4.4.1", _props);
  
      var nonce = getNonce();
      if (nonce) {
        // $FlowFixMe
        props.nonce = nonce;
      }
  
      // eslint-disable-next-line react/no-danger
      return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement('style', _extends({}, props, { dangerouslySetInnerHTML: { __html: css() } }));
    };
  };
  
  var getIdsFromMarkersFactory = function getIdsFromMarkersFactory(markers) {
    return function () {
      return Object.keys(markers);
    };
  };
  
  /* speedy tags utilise insertRule */
  var makeSpeedyTag = function makeSpeedyTag(el, getImportRuleTag) {
    var names = Object.create(null);
    var markers = Object.create(null);
    var sizes = [];
  
    var extractImport = getImportRuleTag !== undefined;
    /* indicates whether getImportRuleTag was called */
    var usedImportRuleTag = false;
  
    var insertMarker = function insertMarker(id) {
      var prev = markers[id];
      if (prev !== undefined) {
        return prev;
      }
  
      markers[id] = sizes.length;
      sizes.push(0);
      resetIdNames(names, id);
  
      return markers[id];
    };
  
    var insertRules = function insertRules(id, cssRules, name) {
      var marker = insertMarker(id);
      var sheet = sheetForTag(el);
      var insertIndex = addUpUntilIndex(sizes, marker);
  
      var injectedRules = 0;
      var importRules = [];
      var cssRulesSize = cssRules.length;
  
      for (var i = 0; i < cssRulesSize; i += 1) {
        var cssRule = cssRules[i];
        var mayHaveImport = extractImport; /* @import rules are reordered to appear first */
        if (mayHaveImport && cssRule.indexOf('@import') !== -1) {
          importRules.push(cssRule);
        } else if (safeInsertRule(sheet, cssRule, insertIndex + injectedRules)) {
          mayHaveImport = false;
          injectedRules += 1;
        }
      }
  
      if (extractImport && importRules.length > 0) {
        usedImportRuleTag = true;
        // $FlowFixMe
        getImportRuleTag().insertRules(id + '-import', importRules);
      }
  
      sizes[marker] += injectedRules; /* add up no of injected rules */
      addNameForId(names, id, name);
    };
  
    var removeRules = function removeRules(id) {
      var marker = markers[id];
      if (marker === undefined) return;
      // $FlowFixMe
      if (el.isConnected === false) return;
  
      var size = sizes[marker];
      var sheet = sheetForTag(el);
      var removalIndex = addUpUntilIndex(sizes, marker) - 1;
      deleteRules(sheet, removalIndex, size);
      sizes[marker] = 0;
      resetIdNames(names, id);
  
      if (extractImport && usedImportRuleTag) {
        // $FlowFixMe
        getImportRuleTag().removeRules(id + '-import');
      }
    };
  
    var css = function css() {
      var _sheetForTag = sheetForTag(el),
          cssRules = _sheetForTag.cssRules;
  
      var str = '';
  
      // eslint-disable-next-line guard-for-in
      for (var id in markers) {
        str += makeTextMarker(id);
        var marker = markers[id];
        var end = addUpUntilIndex(sizes, marker);
        var size = sizes[marker];
        for (var i = end - size; i < end; i += 1) {
          var rule = cssRules[i];
          if (rule !== undefined) {
            str += rule.cssText;
          }
        }
      }
  
      return str;
    };
  
    return {
      clone: function clone() {
        throw new StyledComponentsError(5);
      },
  
      css: css,
      getIds: getIdsFromMarkersFactory(markers),
      hasNameForId: hasNameForId(names),
      insertMarker: insertMarker,
      insertRules: insertRules,
      removeRules: removeRules,
      sealed: false,
      styleTag: el,
      toElement: wrapAsElement(css, names),
      toHTML: wrapAsHtmlTag(css, names)
    };
  };
  
  var makeTextNode = function makeTextNode(targetDocument, id) {
    return targetDocument.createTextNode(makeTextMarker(id));
  };
  
  var makeBrowserTag = function makeBrowserTag(el, getImportRuleTag) {
    var names = Object.create(null);
    var markers = Object.create(null);
  
    var extractImport = getImportRuleTag !== undefined;
  
    /* indicates whether getImportRuleTag was called */
    var usedImportRuleTag = false;
  
    var insertMarker = function insertMarker(id) {
      var prev = markers[id];
      if (prev !== undefined) {
        return prev;
      }
  
      markers[id] = makeTextNode(el.ownerDocument, id);
      el.appendChild(markers[id]);
      names[id] = Object.create(null);
  
      return markers[id];
    };
  
    var insertRules = function insertRules(id, cssRules, name) {
      var marker = insertMarker(id);
      var importRules = [];
      var cssRulesSize = cssRules.length;
  
      for (var i = 0; i < cssRulesSize; i += 1) {
        var rule = cssRules[i];
        var mayHaveImport = extractImport;
        if (mayHaveImport && rule.indexOf('@import') !== -1) {
          importRules.push(rule);
        } else {
          mayHaveImport = false;
          var separator = i === cssRulesSize - 1 ? '' : ' ';
          marker.appendData('' + rule + separator);
        }
      }
  
      addNameForId(names, id, name);
  
      if (extractImport && importRules.length > 0) {
        usedImportRuleTag = true;
        // $FlowFixMe
        getImportRuleTag().insertRules(id + '-import', importRules);
      }
    };
  
    var removeRules = function removeRules(id) {
      var marker = markers[id];
      if (marker === undefined) return;
  
      /* create new empty text node and replace the current one */
      var newMarker = makeTextNode(el.ownerDocument, id);
      el.replaceChild(newMarker, marker);
      markers[id] = newMarker;
      resetIdNames(names, id);
  
      if (extractImport && usedImportRuleTag) {
        // $FlowFixMe
        getImportRuleTag().removeRules(id + '-import');
      }
    };
  
    var css = function css() {
      var str = '';
  
      // eslint-disable-next-line guard-for-in
      for (var id in markers) {
        str += markers[id].data;
      }
  
      return str;
    };
  
    return {
      clone: function clone() {
        throw new StyledComponentsError(5);
      },
  
      css: css,
      getIds: getIdsFromMarkersFactory(markers),
      hasNameForId: hasNameForId(names),
      insertMarker: insertMarker,
      insertRules: insertRules,
      removeRules: removeRules,
      sealed: false,
      styleTag: el,
      toElement: wrapAsElement(css, names),
      toHTML: wrapAsHtmlTag(css, names)
    };
  };
  
  var makeServerTag = function makeServerTag(namesArg, markersArg) {
    var names = namesArg === undefined ? Object.create(null) : namesArg;
    var markers = markersArg === undefined ? Object.create(null) : markersArg;
  
    var insertMarker = function insertMarker(id) {
      var prev = markers[id];
      if (prev !== undefined) {
        return prev;
      }
  
      return markers[id] = [''];
    };
  
    var insertRules = function insertRules(id, cssRules, name) {
      var marker = insertMarker(id);
      marker[0] += cssRules.join(' ');
      addNameForId(names, id, name);
    };
  
    var removeRules = function removeRules(id) {
      var marker = markers[id];
      if (marker === undefined) return;
      marker[0] = '';
      resetIdNames(names, id);
    };
  
    var css = function css() {
      var str = '';
      // eslint-disable-next-line guard-for-in
      for (var id in markers) {
        var cssForId = markers[id][0];
        if (cssForId) {
          str += makeTextMarker(id) + cssForId;
        }
      }
      return str;
    };
  
    var clone = function clone() {
      var namesClone = cloneNames(names);
      var markersClone = Object.create(null);
  
      // eslint-disable-next-line guard-for-in
      for (var id in markers) {
        markersClone[id] = [markers[id][0]];
      }
  
      return makeServerTag(namesClone, markersClone);
    };
  
    var tag = {
      clone: clone,
      css: css,
      getIds: getIdsFromMarkersFactory(markers),
      hasNameForId: hasNameForId(names),
      insertMarker: insertMarker,
      insertRules: insertRules,
      removeRules: removeRules,
      sealed: false,
      styleTag: null,
      toElement: wrapAsElement(css, names),
      toHTML: wrapAsHtmlTag(css, names)
    };
  
    return tag;
  };
  
  var makeTag = function makeTag(target, tagEl, forceServer, insertBefore, getImportRuleTag) {
    if (IS_BROWSER && !forceServer) {
      var el = makeStyleTag(target, tagEl, insertBefore);
  
      if (DISABLE_SPEEDY) {
        return makeBrowserTag(el, getImportRuleTag);
      } else {
        return makeSpeedyTag(el, getImportRuleTag);
      }
    }
  
    return makeServerTag();
  };
  
  var rehydrate = function rehydrate(tag, els, extracted) {
    /* add all extracted components to the new tag */
    for (var i = 0, len = extracted.length; i < len; i += 1) {
      var _extracted$i = extracted[i],
          componentId = _extracted$i.componentId,
          cssFromDOM = _extracted$i.cssFromDOM;
  
      var cssRules = splitByRules(cssFromDOM);
      tag.insertRules(componentId, cssRules);
    }
  
    /* remove old HTMLStyleElements, since they have been rehydrated */
    for (var _i = 0, _len = els.length; _i < _len; _i += 1) {
      var el = els[_i];
      if (el.parentNode) {
        el.parentNode.removeChild(el);
      }
    }
  };
  
  //
  
  var SPLIT_REGEX = /\s+/;
  
  /* determine the maximum number of components before tags are sharded */
  var MAX_SIZE = void 0;
  if (IS_BROWSER) {
    /* in speedy mode we can keep a lot more rules in a sheet before a slowdown can be expected */
    MAX_SIZE = DISABLE_SPEEDY ? 40 : 1000;
  } else {
    /* for servers we do not need to shard at all */
    MAX_SIZE = -1;
  }
  
  var sheetRunningId = 0;
  var master = void 0;
  
  var StyleSheet = function () {
  
    /* a map from ids to tags */
  
    /* deferred rules for a given id */
  
    /* this is used for not reinjecting rules via hasNameForId() */
  
    /* when rules for an id are removed using remove() we have to ignore rehydratedNames for it */
  
    /* a list of tags belonging to this StyleSheet */
  
    /* a tag for import rules */
  
    /* current capacity until a new tag must be created */
  
    /* children (aka clones) of this StyleSheet inheriting all and future injections */
  
    function StyleSheet() {
      var _this = this;
  
      var target = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : IS_BROWSER ? document.head : null;
      var forceServer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
      classCallCheck(this, StyleSheet);
  
      this.getImportRuleTag = function () {
        var importRuleTag = _this.importRuleTag;
  
        if (importRuleTag !== undefined) {
          return importRuleTag;
        }
  
        var firstTag = _this.tags[0];
        var insertBefore = true;
  
        return _this.importRuleTag = makeTag(_this.target, firstTag ? firstTag.styleTag : null, _this.forceServer, insertBefore);
      };
  
      sheetRunningId += 1;
      this.id = sheetRunningId;
      this.forceServer = forceServer;
      this.target = forceServer ? null : target;
      this.tagMap = {};
      this.deferred = {};
      this.rehydratedNames = {};
      this.ignoreRehydratedNames = {};
      this.tags = [];
      this.capacity = 1;
      this.clones = [];
    }
  
    /* rehydrate all SSR'd style tags */
  
  
    StyleSheet.prototype.rehydrate = function rehydrate$$1() {
      if (!IS_BROWSER || this.forceServer) return this;
  
      var els = [];
      var extracted = [];
      var isStreamed = false;
  
      /* retrieve all of our SSR style elements from the DOM */
      var nodes = document.querySelectorAll('style[' + SC_ATTR + '][' + SC_VERSION_ATTR + '="' + "4.4.1" + '"]');
  
      var nodesSize = nodes.length;
  
      /* abort rehydration if no previous style tags were found */
      if (!nodesSize) return this;
  
      for (var i = 0; i < nodesSize; i += 1) {
        var el = nodes[i];
  
        /* check if style tag is a streamed tag */
        if (!isStreamed) isStreamed = !!el.getAttribute(SC_STREAM_ATTR);
  
        /* retrieve all component names */
        var elNames = (el.getAttribute(SC_ATTR) || '').trim().split(SPLIT_REGEX);
        var elNamesSize = elNames.length;
        for (var j = 0, name; j < elNamesSize; j += 1) {
          name = elNames[j];
          /* add rehydrated name to sheet to avoid re-adding styles */
          this.rehydratedNames[name] = true;
        }
  
        /* extract all components and their CSS */
        extracted.push.apply(extracted, extractComps(el.textContent));
  
        /* store original HTMLStyleElement */
        els.push(el);
      }
  
      /* abort rehydration if nothing was extracted */
      var extractedSize = extracted.length;
      if (!extractedSize) return this;
  
      /* create a tag to be used for rehydration */
      var tag = this.makeTag(null);
  
      rehydrate(tag, els, extracted);
  
      /* reset capacity and adjust MAX_SIZE by the initial size of the rehydration */
      this.capacity = Math.max(1, MAX_SIZE - extractedSize);
      this.tags.push(tag);
  
      /* retrieve all component ids */
      for (var _j = 0; _j < extractedSize; _j += 1) {
        this.tagMap[extracted[_j].componentId] = tag;
      }
  
      return this;
    };
  
    /* retrieve a "master" instance of StyleSheet which is typically used when no other is available
     * The master StyleSheet is targeted by createGlobalStyle, keyframes, and components outside of any
      * StyleSheetManager's context */
  
  
    /* reset the internal "master" instance */
    StyleSheet.reset = function reset() {
      var forceServer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
  
      master = new StyleSheet(undefined, forceServer).rehydrate();
    };
  
    /* adds "children" to the StyleSheet that inherit all of the parents' rules
     * while their own rules do not affect the parent */
  
  
    StyleSheet.prototype.clone = function clone() {
      var sheet = new StyleSheet(this.target, this.forceServer);
  
      /* add to clone array */
      this.clones.push(sheet);
  
      /* clone all tags */
      sheet.tags = this.tags.map(function (tag) {
        var ids = tag.getIds();
        var newTag = tag.clone();
  
        /* reconstruct tagMap */
        for (var i = 0; i < ids.length; i += 1) {
          sheet.tagMap[ids[i]] = newTag;
        }
  
        return newTag;
      });
  
      /* clone other maps */
      sheet.rehydratedNames = _extends({}, this.rehydratedNames);
      sheet.deferred = _extends({}, this.deferred);
  
      return sheet;
    };
  
    /* force StyleSheet to create a new tag on the next injection */
  
  
    StyleSheet.prototype.sealAllTags = function sealAllTags() {
      this.capacity = 1;
  
      this.tags.forEach(function (tag) {
        // eslint-disable-next-line no-param-reassign
        tag.sealed = true;
      });
    };
  
    StyleSheet.prototype.makeTag = function makeTag$$1(tag) {
      var lastEl = tag ? tag.styleTag : null;
      var insertBefore = false;
  
      return makeTag(this.target, lastEl, this.forceServer, insertBefore, this.getImportRuleTag);
    };
  
    /* get a tag for a given componentId, assign the componentId to one, or shard */
    StyleSheet.prototype.getTagForId = function getTagForId(id) {
      /* simply return a tag, when the componentId was already assigned one */
      var prev = this.tagMap[id];
      if (prev !== undefined && !prev.sealed) {
        return prev;
      }
  
      var tag = this.tags[this.tags.length - 1];
  
      /* shard (create a new tag) if the tag is exhausted (See MAX_SIZE) */
      this.capacity -= 1;
  
      if (this.capacity === 0) {
        this.capacity = MAX_SIZE;
        tag = this.makeTag(tag);
        this.tags.push(tag);
      }
  
      return this.tagMap[id] = tag;
    };
  
    /* mainly for createGlobalStyle to check for its id */
  
  
    StyleSheet.prototype.hasId = function hasId(id) {
      return this.tagMap[id] !== undefined;
    };
  
    /* caching layer checking id+name to already have a corresponding tag and injected rules */
  
  
    StyleSheet.prototype.hasNameForId = function hasNameForId(id, name) {
      /* exception for rehydrated names which are checked separately */
      if (this.ignoreRehydratedNames[id] === undefined && this.rehydratedNames[name]) {
        return true;
      }
  
      var tag = this.tagMap[id];
      return tag !== undefined && tag.hasNameForId(id, name);
    };
  
    /* registers a componentId and registers it on its tag */
  
  
    StyleSheet.prototype.deferredInject = function deferredInject(id, cssRules) {
      /* don't inject when the id is already registered */
      if (this.tagMap[id] !== undefined) return;
  
      var clones = this.clones;
  
      for (var i = 0; i < clones.length; i += 1) {
        clones[i].deferredInject(id, cssRules);
      }
  
      this.getTagForId(id).insertMarker(id);
      this.deferred[id] = cssRules;
    };
  
    /* injects rules for a given id with a name that will need to be cached */
  
  
    StyleSheet.prototype.inject = function inject(id, cssRules, name) {
      var clones = this.clones;
  
  
      for (var i = 0; i < clones.length; i += 1) {
        clones[i].inject(id, cssRules, name);
      }
  
      var tag = this.getTagForId(id);
  
      /* add deferred rules for component */
      if (this.deferred[id] !== undefined) {
        // Combine passed cssRules with previously deferred CSS rules
        // NOTE: We cannot mutate the deferred array itself as all clones
        // do the same (see clones[i].inject)
        var rules = this.deferred[id].concat(cssRules);
        tag.insertRules(id, rules, name);
  
        this.deferred[id] = undefined;
      } else {
        tag.insertRules(id, cssRules, name);
      }
    };
  
    /* removes all rules for a given id, which doesn't remove its marker but resets it */
  
  
    StyleSheet.prototype.remove = function remove(id) {
      var tag = this.tagMap[id];
      if (tag === undefined) return;
  
      var clones = this.clones;
  
      for (var i = 0; i < clones.length; i += 1) {
        clones[i].remove(id);
      }
  
      /* remove all rules from the tag */
      tag.removeRules(id);
  
      /* ignore possible rehydrated names */
      this.ignoreRehydratedNames[id] = true;
  
      /* delete possible deferred rules */
      this.deferred[id] = undefined;
    };
  
    StyleSheet.prototype.toHTML = function toHTML() {
      return this.tags.map(function (tag) {
        return tag.toHTML();
      }).join('');
    };
  
    StyleSheet.prototype.toReactElements = function toReactElements() {
      var id = this.id;
  
  
      return this.tags.map(function (tag, i) {
        var key = 'sc-' + id + '-' + i;
        return Object(react__WEBPACK_IMPORTED_MODULE_2__["cloneElement"])(tag.toElement(), { key: key });
      });
    };
  
    createClass(StyleSheet, null, [{
      key: 'master',
      get: function get$$1() {
        return master || (master = new StyleSheet().rehydrate());
      }
  
      /* NOTE: This is just for backwards-compatibility with jest-styled-components */
  
    }, {
      key: 'instance',
      get: function get$$1() {
        return StyleSheet.master;
      }
    }]);
    return StyleSheet;
  }();
  
  //
  
  var Keyframes = function () {
    function Keyframes(name, rules) {
      var _this = this;
  
      classCallCheck(this, Keyframes);
  
      this.inject = function (styleSheet) {
        if (!styleSheet.hasNameForId(_this.id, _this.name)) {
          styleSheet.inject(_this.id, _this.rules, _this.name);
        }
      };
  
      this.toString = function () {
        throw new StyledComponentsError(12, String(_this.name));
      };
  
      this.name = name;
      this.rules = rules;
  
      this.id = 'sc-keyframes-' + name;
    }
  
    Keyframes.prototype.getName = function getName() {
      return this.name;
    };
  
    return Keyframes;
  }();
  
  //
  
  /**
   * inlined version of
   * https://github.com/facebook/fbjs/blob/master/packages/fbjs/src/core/hyphenateStyleName.js
   */
  
  var uppercasePattern = /([A-Z])/g;
  var msPattern = /^ms-/;
  
  /**
   * Hyphenates a camelcased CSS property name, for example:
   *
   *   > hyphenateStyleName('backgroundColor')
   *   < "background-color"
   *   > hyphenateStyleName('MozTransition')
   *   < "-moz-transition"
   *   > hyphenateStyleName('msTransition')
   *   < "-ms-transition"
   *
   * As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix
   * is converted to `-ms-`.
   *
   * @param {string} string
   * @return {string}
   */
  function hyphenateStyleName(string) {
    return string.replace(uppercasePattern, '-$1').toLowerCase().replace(msPattern, '-ms-');
  }
  
  //
  
  // Taken from https://github.com/facebook/react/blob/b87aabdfe1b7461e7331abb3601d9e6bb27544bc/packages/react-dom/src/shared/dangerousStyleValue.js
  function addUnitIfNeeded(name, value) {
    // https://github.com/amilajack/eslint-plugin-flowtype-errors/issues/133
    // $FlowFixMe
    if (value == null || typeof value === 'boolean' || value === '') {
      return '';
    }
  
    if (typeof value === 'number' && value !== 0 && !(name in _emotion_unitless__WEBPACK_IMPORTED_MODULE_3__["default"])) {
      return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers
    }
  
    return String(value).trim();
  }
  
  //
  
  /**
   * It's falsish not falsy because 0 is allowed.
   */
  var isFalsish = function isFalsish(chunk) {
    return chunk === undefined || chunk === null || chunk === false || chunk === '';
  };
  
  var objToCssArray = function objToCssArray(obj, prevKey) {
    var rules = [];
    var keys = Object.keys(obj);
  
    keys.forEach(function (key) {
      if (!isFalsish(obj[key])) {
        if (isPlainObject(obj[key])) {
          rules.push.apply(rules, objToCssArray(obj[key], key));
  
          return rules;
        } else if (isFunction(obj[key])) {
          rules.push(hyphenateStyleName(key) + ':', obj[key], ';');
  
          return rules;
        }
        rules.push(hyphenateStyleName(key) + ': ' + addUnitIfNeeded(key, obj[key]) + ';');
      }
      return rules;
    });
  
    return prevKey ? [prevKey + ' {'].concat(rules, ['}']) : rules;
  };
  
  function flatten(chunk, executionContext, styleSheet) {
    if (Array.isArray(chunk)) {
      var ruleSet = [];
  
      for (var i = 0, len = chunk.length, result; i < len; i += 1) {
        result = flatten(chunk[i], executionContext, styleSheet);
  
        if (result === null) continue;else if (Array.isArray(result)) ruleSet.push.apply(ruleSet, result);else ruleSet.push(result);
      }
  
      return ruleSet;
    }
  
    if (isFalsish(chunk)) {
      return null;
    }
  
    /* Handle other components */
    if (isStyledComponent(chunk)) {
      return '.' + chunk.styledComponentId;
    }
  
    /* Either execute or defer the function */
    if (isFunction(chunk)) {
      if (isStatelessFunction(chunk) && executionContext) {
        var _result = chunk(executionContext);
  
        if ( true && Object(react_is__WEBPACK_IMPORTED_MODULE_4__["isElement"])(_result)) {
          // eslint-disable-next-line no-console
          console.warn(getComponentName(chunk) + ' is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.');
        }
  
        return flatten(_result, executionContext, styleSheet);
      } else return chunk;
    }
  
    if (chunk instanceof Keyframes) {
      if (styleSheet) {
        chunk.inject(styleSheet);
        return chunk.getName();
      } else return chunk;
    }
  
    /* Handle objects */
    return isPlainObject(chunk) ? objToCssArray(chunk) : chunk.toString();
  }
  
  //
  
  function css(styles) {
    for (var _len = arguments.length, interpolations = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
      interpolations[_key - 1] = arguments[_key];
    }
  
    if (isFunction(styles) || isPlainObject(styles)) {
      // $FlowFixMe
      return flatten(interleave(EMPTY_ARRAY, [styles].concat(interpolations)));
    }
  
    // $FlowFixMe
    return flatten(interleave(styles, interpolations));
  }
  
  //
  
  function constructWithOptions(componentConstructor, tag) {
    var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : EMPTY_OBJECT;
  
    if (!Object(react_is__WEBPACK_IMPORTED_MODULE_4__["isValidElementType"])(tag)) {
      throw new StyledComponentsError(1, String(tag));
    }
  
    /* This is callable directly as a template function */
    // $FlowFixMe: Not typed to avoid destructuring arguments
    var templateFunction = function templateFunction() {
      return componentConstructor(tag, options, css.apply(undefined, arguments));
    };
  
    /* If config methods are called, wrap up a new template function and merge options */
    templateFunction.withConfig = function (config) {
      return constructWithOptions(componentConstructor, tag, _extends({}, options, config));
    };
  
    /* Modify/inject new props at runtime */
    templateFunction.attrs = function (attrs) {
      return constructWithOptions(componentConstructor, tag, _extends({}, options, {
        attrs: Array.prototype.concat(options.attrs, attrs).filter(Boolean)
      }));
    };
  
    return templateFunction;
  }
  
  //
  // Source: https://github.com/garycourt/murmurhash-js/blob/master/murmurhash2_gc.js
  function murmurhash(c) {
    for (var e = c.length | 0, a = e | 0, d = 0, b; e >= 4;) {
      b = c.charCodeAt(d) & 255 | (c.charCodeAt(++d) & 255) << 8 | (c.charCodeAt(++d) & 255) << 16 | (c.charCodeAt(++d) & 255) << 24, b = 1540483477 * (b & 65535) + ((1540483477 * (b >>> 16) & 65535) << 16), b ^= b >>> 24, b = 1540483477 * (b & 65535) + ((1540483477 * (b >>> 16) & 65535) << 16), a = 1540483477 * (a & 65535) + ((1540483477 * (a >>> 16) & 65535) << 16) ^ b, e -= 4, ++d;
    }
    switch (e) {
      case 3:
        a ^= (c.charCodeAt(d + 2) & 255) << 16;
      case 2:
        a ^= (c.charCodeAt(d + 1) & 255) << 8;
      case 1:
        a ^= c.charCodeAt(d) & 255, a = 1540483477 * (a & 65535) + ((1540483477 * (a >>> 16) & 65535) << 16);
    }
    a ^= a >>> 13;
    a = 1540483477 * (a & 65535) + ((1540483477 * (a >>> 16) & 65535) << 16);
    return (a ^ a >>> 15) >>> 0;
  }
  
  //
  /* eslint-disable no-bitwise */
  
  /* This is the "capacity" of our alphabet i.e. 2x26 for all letters plus their capitalised
   * counterparts */
  var charsLength = 52;
  
  /* start at 75 for 'a' until 'z' (25) and then start at 65 for capitalised letters */
  var getAlphabeticChar = function getAlphabeticChar(code) {
    return String.fromCharCode(code + (code > 25 ? 39 : 97));
  };
  
  /* input a number, usually a hash and convert it to base-52 */
  function generateAlphabeticName(code) {
    var name = '';
    var x = void 0;
  
    /* get a char and divide by alphabet-length */
    for (x = code; x > charsLength; x = Math.floor(x / charsLength)) {
      name = getAlphabeticChar(x % charsLength) + name;
    }
  
    return getAlphabeticChar(x % charsLength) + name;
  }
  
  //
  
  function hasFunctionObjectKey(obj) {
    // eslint-disable-next-line guard-for-in, no-restricted-syntax
    for (var key in obj) {
      if (isFunction(obj[key])) {
        return true;
      }
    }
  
    return false;
  }
  
  function isStaticRules(rules, attrs) {
    for (var i = 0; i < rules.length; i += 1) {
      var rule = rules[i];
  
      // recursive case
      if (Array.isArray(rule) && !isStaticRules(rule, attrs)) {
        return false;
      } else if (isFunction(rule) && !isStyledComponent(rule)) {
        // functions are allowed to be static if they're just being
        // used to get the classname of a nested styled component
        return false;
      }
    }
  
    if (attrs.some(function (x) {
      return isFunction(x) || hasFunctionObjectKey(x);
    })) return false;
  
    return true;
  }
  
  //
  
  /* combines hashStr (murmurhash) and nameGenerator for convenience */
  var hasher = function hasher(str) {
    return generateAlphabeticName(murmurhash(str));
  };
  
  /*
   ComponentStyle is all the CSS-specific stuff, not
   the React-specific stuff.
   */
  
  var ComponentStyle = function () {
    function ComponentStyle(rules, attrs, componentId) {
      classCallCheck(this, ComponentStyle);
  
      this.rules = rules;
      this.isStatic =  false && false;
      this.componentId = componentId;
  
      if (!StyleSheet.master.hasId(componentId)) {
        StyleSheet.master.deferredInject(componentId, []);
      }
    }
  
    /*
     * Flattens a rule set into valid CSS
     * Hashes it, wraps the whole chunk in a .hash1234 {}
     * Returns the hash to be injected on render()
     * */
  
  
    ComponentStyle.prototype.generateAndInjectStyles = function generateAndInjectStyles(executionContext, styleSheet) {
      var isStatic = this.isStatic,
          componentId = this.componentId,
          lastClassName = this.lastClassName;
  
      if (IS_BROWSER && isStatic && typeof lastClassName === 'string' && styleSheet.hasNameForId(componentId, lastClassName)) {
        return lastClassName;
      }
  
      var flatCSS = flatten(this.rules, executionContext, styleSheet);
      var name = hasher(this.componentId + flatCSS.join(''));
      if (!styleSheet.hasNameForId(componentId, name)) {
        styleSheet.inject(this.componentId, stringifyRules(flatCSS, '.' + name, undefined, componentId), name);
      }
  
      this.lastClassName = name;
      return name;
    };
  
    ComponentStyle.generateName = function generateName(str) {
      return hasher(str);
    };
  
    return ComponentStyle;
  }();
  
  //
  
  var LIMIT = 200;
  
  var createWarnTooManyClasses = (function (displayName) {
    var generatedClasses = {};
    var warningSeen = false;
  
    return function (className) {
      if (!warningSeen) {
        generatedClasses[className] = true;
        if (Object.keys(generatedClasses).length >= LIMIT) {
          // Unable to find latestRule in test environment.
          /* eslint-disable no-console, prefer-template */
          console.warn('Over ' + LIMIT + ' classes were generated for component ' + displayName + '. \n' + 'Consider using the attrs method, together with a style object for frequently changed styles.\n' + 'Example:\n' + '  const Component = styled.div.attrs(props => ({\n' + '    style: {\n' + '      background: props.background,\n' + '    },\n' + '  }))`width: 100%;`\n\n' + '  <Component />');
          warningSeen = true;
          generatedClasses = {};
        }
      }
    };
  });
  
  //
  
  var determineTheme = (function (props, fallbackTheme) {
    var defaultProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : EMPTY_OBJECT;
  
    // Props should take precedence over ThemeProvider, which should take precedence over
    // defaultProps, but React automatically puts defaultProps on props.
  
    /* eslint-disable react/prop-types, flowtype-errors/show-errors */
    var isDefaultTheme = defaultProps ? props.theme === defaultProps.theme : false;
    var theme = props.theme && !isDefaultTheme ? props.theme : fallbackTheme || defaultProps.theme;
    /* eslint-enable */
  
    return theme;
  });
  
  //
  var escapeRegex = /[[\].#*$><+~=|^:(),"'`-]+/g;
  var dashesAtEnds = /(^-|-$)/g;
  
  /**
   * TODO: Explore using CSS.escape when it becomes more available
   * in evergreen browsers.
   */
  function escape(str) {
    return str
    // Replace all possible CSS selectors
    .replace(escapeRegex, '-')
  
    // Remove extraneous hyphens at the start and end
    .replace(dashesAtEnds, '');
  }
  
  //
  
  function isTag(target) {
    return typeof target === 'string' && ( true ? target.charAt(0) === target.charAt(0).toLowerCase() : undefined);
  }
  
  //
  
  function generateDisplayName(target) {
    // $FlowFixMe
    return isTag(target) ? 'styled.' + target : 'Styled(' + getComponentName(target) + ')';
  }
  
  var _TYPE_STATICS;
  
  var REACT_STATICS = {
    childContextTypes: true,
    contextTypes: true,
    defaultProps: true,
    displayName: true,
    getDerivedStateFromProps: true,
    propTypes: true,
    type: true
  };
  
  var KNOWN_STATICS = {
    name: true,
    length: true,
    prototype: true,
    caller: true,
    callee: true,
    arguments: true,
    arity: true
  };
  
  var TYPE_STATICS = (_TYPE_STATICS = {}, _TYPE_STATICS[react_is__WEBPACK_IMPORTED_MODULE_4__["ForwardRef"]] = {
    $$typeof: true,
    render: true
  }, _TYPE_STATICS);
  
  var defineProperty$1 = Object.defineProperty,
      getOwnPropertyNames = Object.getOwnPropertyNames,
      _Object$getOwnPropert = Object.getOwnPropertySymbols,
      getOwnPropertySymbols = _Object$getOwnPropert === undefined ? function () {
    return [];
  } : _Object$getOwnPropert,
      getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor,
      getPrototypeOf = Object.getPrototypeOf,
      objectPrototype = Object.prototype;
  var arrayPrototype = Array.prototype;
  
  
  function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {
    if (typeof sourceComponent !== 'string') {
      // don't hoist over string (html) components
  
      var inheritedComponent = getPrototypeOf(sourceComponent);
  
      if (inheritedComponent && inheritedComponent !== objectPrototype) {
        hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);
      }
  
      var keys = arrayPrototype.concat(getOwnPropertyNames(sourceComponent),
      // $FlowFixMe
      getOwnPropertySymbols(sourceComponent));
  
      var targetStatics = TYPE_STATICS[targetComponent.$$typeof] || REACT_STATICS;
  
      var sourceStatics = TYPE_STATICS[sourceComponent.$$typeof] || REACT_STATICS;
  
      var i = keys.length;
      var descriptor = void 0;
      var key = void 0;
  
      // eslint-disable-next-line no-plusplus
      while (i--) {
        key = keys[i];
  
        if (
        // $FlowFixMe
        !KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) &&
        // $FlowFixMe
        !(targetStatics && targetStatics[key])) {
          descriptor = getOwnPropertyDescriptor(sourceComponent, key);
  
          if (descriptor) {
            try {
              // Avoid failures from read-only properties
              defineProperty$1(targetComponent, key, descriptor);
            } catch (e) {
              /* fail silently */
            }
          }
        }
      }
  
      return targetComponent;
    }
  
    return targetComponent;
  }
  
  //
  function isDerivedReactComponent(fn) {
    return !!(fn && fn.prototype && fn.prototype.isReactComponent);
  }
  
  //
  // Helper to call a given function, only once
  var once = (function (cb) {
    var called = false;
  
    return function () {
      if (!called) {
        called = true;
        cb.apply(undefined, arguments);
      }
    };
  });
  
  //
  
  var ThemeContext = Object(react__WEBPACK_IMPORTED_MODULE_2__["createContext"])();
  
  var ThemeConsumer = ThemeContext.Consumer;
  
  /**
   * Provide a theme to an entire react component tree via context
   */
  
  var ThemeProvider = function (_Component) {
    inherits(ThemeProvider, _Component);
  
    function ThemeProvider(props) {
      classCallCheck(this, ThemeProvider);
  
      var _this = possibleConstructorReturn(this, _Component.call(this, props));
  
      _this.getContext = Object(memoize_one__WEBPACK_IMPORTED_MODULE_5__["default"])(_this.getContext.bind(_this));
      _this.renderInner = _this.renderInner.bind(_this);
      return _this;
    }
  
    ThemeProvider.prototype.render = function render() {
      if (!this.props.children) return null;
  
      return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(
        ThemeContext.Consumer,
        null,
        this.renderInner
      );
    };
  
    ThemeProvider.prototype.renderInner = function renderInner(outerTheme) {
      var context = this.getContext(this.props.theme, outerTheme);
  
      return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(
        ThemeContext.Provider,
        { value: context },
        this.props.children
      );
    };
  
    /**
     * Get the theme from the props, supporting both (outerTheme) => {}
     * as well as object notation
     */
  
  
    ThemeProvider.prototype.getTheme = function getTheme(theme, outerTheme) {
      if (isFunction(theme)) {
        var mergedTheme = theme(outerTheme);
  
        if ( true && (mergedTheme === null || Array.isArray(mergedTheme) || (typeof mergedTheme === 'undefined' ? 'undefined' : _typeof(mergedTheme)) !== 'object')) {
          throw new StyledComponentsError(7);
        }
  
        return mergedTheme;
      }
  
      if (theme === null || Array.isArray(theme) || (typeof theme === 'undefined' ? 'undefined' : _typeof(theme)) !== 'object') {
        throw new StyledComponentsError(8);
      }
  
      return _extends({}, outerTheme, theme);
    };
  
    ThemeProvider.prototype.getContext = function getContext(theme, outerTheme) {
      return this.getTheme(theme, outerTheme);
    };
  
    return ThemeProvider;
  }(react__WEBPACK_IMPORTED_MODULE_2__["Component"]);
  
  //
  
  var CLOSING_TAG_R = /^\s*<\/[a-z]/i;
  
  var ServerStyleSheet = function () {
    function ServerStyleSheet() {
      classCallCheck(this, ServerStyleSheet);
  
      /* The master sheet might be reset, so keep a reference here */
      this.masterSheet = StyleSheet.master;
      this.instance = this.masterSheet.clone();
      this.sealed = false;
    }
  
    /**
     * Mark the ServerStyleSheet as being fully emitted and manually GC it from the
     * StyleSheet singleton.
     */
  
  
    ServerStyleSheet.prototype.seal = function seal() {
      if (!this.sealed) {
        /* Remove sealed StyleSheets from the master sheet */
        var index = this.masterSheet.clones.indexOf(this.instance);
        this.masterSheet.clones.splice(index, 1);
        this.sealed = true;
      }
    };
  
    ServerStyleSheet.prototype.collectStyles = function collectStyles(children) {
      if (this.sealed) {
        throw new StyledComponentsError(2);
      }
  
      return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(
        StyleSheetManager,
        { sheet: this.instance },
        children
      );
    };
  
    ServerStyleSheet.prototype.getStyleTags = function getStyleTags() {
      this.seal();
      return this.instance.toHTML();
    };
  
    ServerStyleSheet.prototype.getStyleElement = function getStyleElement() {
      this.seal();
      return this.instance.toReactElements();
    };
  
    ServerStyleSheet.prototype.interleaveWithNodeStream = function interleaveWithNodeStream(readableStream) {
      var _this = this;
  
      {
        throw new StyledComponentsError(3);
      }
  
      /* the tag index keeps track of which tags have already been emitted */
      var instance = this.instance;
  
      var instanceTagIndex = 0;
  
      var streamAttr = SC_STREAM_ATTR + '="true"';
  
      var transformer = new stream.Transform({
        transform: function appendStyleChunks(chunk, /* encoding */_, callback) {
          var tags = instance.tags;
  
          var html = '';
  
          /* retrieve html for each new style tag */
          for (; instanceTagIndex < tags.length; instanceTagIndex += 1) {
            var tag = tags[instanceTagIndex];
            html += tag.toHTML(streamAttr);
          }
  
          /* force our StyleSheets to emit entirely new tags */
          instance.sealAllTags();
  
          var renderedHtml = chunk.toString();
  
          /* prepend style html to chunk, unless the start of the chunk is a closing tag in which case append right after that */
          if (CLOSING_TAG_R.test(renderedHtml)) {
            var endOfClosingTag = renderedHtml.indexOf('>');
  
            this.push(renderedHtml.slice(0, endOfClosingTag + 1) + html + renderedHtml.slice(endOfClosingTag + 1));
          } else this.push(html + renderedHtml);
  
          callback();
        }
      });
  
      readableStream.on('end', function () {
        return _this.seal();
      });
  
      readableStream.on('error', function (err) {
        _this.seal();
  
        // forward the error to the transform stream
        transformer.emit('error', err);
      });
  
      return readableStream.pipe(transformer);
    };
  
    return ServerStyleSheet;
  }();
  
  //
  
  var StyleSheetContext = Object(react__WEBPACK_IMPORTED_MODULE_2__["createContext"])();
  var StyleSheetConsumer = StyleSheetContext.Consumer;
  
  var StyleSheetManager = function (_Component) {
    inherits(StyleSheetManager, _Component);
  
    function StyleSheetManager(props) {
      classCallCheck(this, StyleSheetManager);
  
      var _this = possibleConstructorReturn(this, _Component.call(this, props));
  
      _this.getContext = Object(memoize_one__WEBPACK_IMPORTED_MODULE_5__["default"])(_this.getContext);
      return _this;
    }
  
    StyleSheetManager.prototype.getContext = function getContext(sheet, target) {
      if (sheet) {
        return sheet;
      } else if (target) {
        return new StyleSheet(target);
      } else {
        throw new StyledComponentsError(4);
      }
    };
  
    StyleSheetManager.prototype.render = function render() {
      var _props = this.props,
          children = _props.children,
          sheet = _props.sheet,
          target = _props.target;
  
  
      return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(
        StyleSheetContext.Provider,
        { value: this.getContext(sheet, target) },
         true ? react__WEBPACK_IMPORTED_MODULE_2___default.a.Children.only(children) : undefined
      );
    };
  
    return StyleSheetManager;
  }(react__WEBPACK_IMPORTED_MODULE_2__["Component"]);
   true ? StyleSheetManager.propTypes = {
    sheet: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.instanceOf(StyleSheet), prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.instanceOf(ServerStyleSheet)]),
  
    target: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.shape({
      appendChild: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func.isRequired
    })
  } : undefined;
  
  //
  
  var identifiers = {};
  
  /* We depend on components having unique IDs */
  function generateId(_ComponentStyle, _displayName, parentComponentId) {
    var displayName = typeof _displayName !== 'string' ? 'sc' : escape(_displayName);
  
    /**
     * This ensures uniqueness if two components happen to share
     * the same displayName.
     */
    var nr = (identifiers[displayName] || 0) + 1;
    identifiers[displayName] = nr;
  
    var componentId = displayName + '-' + _ComponentStyle.generateName(displayName + nr);
  
    return parentComponentId ? parentComponentId + '-' + componentId : componentId;
  }
  
  // $FlowFixMe
  
  var StyledComponent = function (_Component) {
    inherits(StyledComponent, _Component);
  
    function StyledComponent() {
      classCallCheck(this, StyledComponent);
  
      var _this = possibleConstructorReturn(this, _Component.call(this));
  
      _this.attrs = {};
  
      _this.renderOuter = _this.renderOuter.bind(_this);
      _this.renderInner = _this.renderInner.bind(_this);
  
      if (true) {
        _this.warnInnerRef = once(function (displayName) {
          return (
            // eslint-disable-next-line no-console
            console.warn('The "innerRef" API has been removed in styled-components v4 in favor of React 16 ref forwarding, use "ref" instead like a typical component. "innerRef" was detected on component "' + displayName + '".')
          );
        });
  
        _this.warnAttrsFnObjectKeyDeprecated = once(function (key, displayName) {
          return (
            // eslint-disable-next-line no-console
            console.warn('Functions as object-form attrs({}) keys are now deprecated and will be removed in a future version of styled-components. Switch to the new attrs(props => ({})) syntax instead for easier and more powerful composition. The attrs key in question is "' + key + '" on component "' + displayName + '".', '\n ' + new Error().stack)
          );
        });
  
        _this.warnNonStyledComponentAttrsObjectKey = once(function (key, displayName) {
          return (
            // eslint-disable-next-line no-console
            console.warn('It looks like you\'ve used a non styled-component as the value for the "' + key + '" prop in an object-form attrs constructor of "' + displayName + '".\n' + 'You should use the new function-form attrs constructor which avoids this issue: attrs(props => ({ yourStuff }))\n' + "To continue using the deprecated object syntax, you'll need to wrap your component prop in a function to make it available inside the styled component (you'll still get the deprecation warning though.)\n" + ('For example, { ' + key + ': () => InnerComponent } instead of { ' + key + ': InnerComponent }'))
          );
        });
      }
      return _this;
    }
  
    StyledComponent.prototype.render = function render() {
      return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(
        StyleSheetConsumer,
        null,
        this.renderOuter
      );
    };
  
    StyledComponent.prototype.renderOuter = function renderOuter() {
      var styleSheet = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : StyleSheet.master;
  
      this.styleSheet = styleSheet;
  
      // No need to subscribe a static component to theme changes, it won't change anything
      if (this.props.forwardedComponent.componentStyle.isStatic) return this.renderInner();
  
      return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(
        ThemeConsumer,
        null,
        this.renderInner
      );
    };
  
    StyledComponent.prototype.renderInner = function renderInner(theme) {
      var _props$forwardedCompo = this.props.forwardedComponent,
          componentStyle = _props$forwardedCompo.componentStyle,
          defaultProps = _props$forwardedCompo.defaultProps,
          displayName = _props$forwardedCompo.displayName,
          foldedComponentIds = _props$forwardedCompo.foldedComponentIds,
          styledComponentId = _props$forwardedCompo.styledComponentId,
          target = _props$forwardedCompo.target;
  
  
      var generatedClassName = void 0;
      if (componentStyle.isStatic) {
        generatedClassName = this.generateAndInjectStyles(EMPTY_OBJECT, this.props);
      } else {
        generatedClassName = this.generateAndInjectStyles(determineTheme(this.props, theme, defaultProps) || EMPTY_OBJECT, this.props);
      }
  
      var elementToBeCreated = this.props.as || this.attrs.as || target;
      var isTargetTag = isTag(elementToBeCreated);
  
      var propsForElement = {};
      var computedProps = _extends({}, this.props, this.attrs);
  
      var key = void 0;
      // eslint-disable-next-line guard-for-in
      for (key in computedProps) {
        if ( true && key === 'innerRef' && isTargetTag) {
          this.warnInnerRef(displayName);
        }
  
        if (key === 'forwardedComponent' || key === 'as') {
          continue;
        } else if (key === 'forwardedRef') propsForElement.ref = computedProps[key];else if (key === 'forwardedAs') propsForElement.as = computedProps[key];else if (!isTargetTag || Object(_emotion_is_prop_valid__WEBPACK_IMPORTED_MODULE_7__["default"])(key)) {
          // Don't pass through non HTML tags through to HTML elements
          propsForElement[key] = computedProps[key];
        }
      }
  
      if (this.props.style && this.attrs.style) {
        propsForElement.style = _extends({}, this.attrs.style, this.props.style);
      }
  
      propsForElement.className = Array.prototype.concat(foldedComponentIds, styledComponentId, generatedClassName !== styledComponentId ? generatedClassName : null, this.props.className, this.attrs.className).filter(Boolean).join(' ');
  
      return Object(react__WEBPACK_IMPORTED_MODULE_2__["createElement"])(elementToBeCreated, propsForElement);
    };
  
    StyledComponent.prototype.buildExecutionContext = function buildExecutionContext(theme, props, attrs) {
      var _this2 = this;
  
      var context = _extends({}, props, { theme: theme });
  
      if (!attrs.length) return context;
  
      this.attrs = {};
  
      attrs.forEach(function (attrDef) {
        var resolvedAttrDef = attrDef;
        var attrDefWasFn = false;
        var attr = void 0;
        var key = void 0;
  
        if (isFunction(resolvedAttrDef)) {
          // $FlowFixMe
          resolvedAttrDef = resolvedAttrDef(context);
          attrDefWasFn = true;
        }
  
        /* eslint-disable guard-for-in */
        // $FlowFixMe
        for (key in resolvedAttrDef) {
          attr = resolvedAttrDef[key];
  
          if (!attrDefWasFn) {
            if (isFunction(attr) && !isDerivedReactComponent(attr) && !isStyledComponent(attr)) {
              if (true) {
                _this2.warnAttrsFnObjectKeyDeprecated(key, props.forwardedComponent.displayName);
              }
  
              attr = attr(context);
  
              if ( true && react__WEBPACK_IMPORTED_MODULE_2___default.a.isValidElement(attr)) {
                _this2.warnNonStyledComponentAttrsObjectKey(key, props.forwardedComponent.displayName);
              }
            }
          }
  
          _this2.attrs[key] = attr;
          context[key] = attr;
        }
        /* eslint-enable */
      });
  
      return context;
    };
  
    StyledComponent.prototype.generateAndInjectStyles = function generateAndInjectStyles(theme, props) {
      var _props$forwardedCompo2 = props.forwardedComponent,
          attrs = _props$forwardedCompo2.attrs,
          componentStyle = _props$forwardedCompo2.componentStyle,
          warnTooManyClasses = _props$forwardedCompo2.warnTooManyClasses;
  
      // statically styled-components don't need to build an execution context object,
      // and shouldn't be increasing the number of class names
  
      if (componentStyle.isStatic && !attrs.length) {
        return componentStyle.generateAndInjectStyles(EMPTY_OBJECT, this.styleSheet);
      }
  
      var className = componentStyle.generateAndInjectStyles(this.buildExecutionContext(theme, props, attrs), this.styleSheet);
  
      if ( true && warnTooManyClasses) warnTooManyClasses(className);
  
      return className;
    };
  
    return StyledComponent;
  }(react__WEBPACK_IMPORTED_MODULE_2__["Component"]);
  
  function createStyledComponent(target, options, rules) {
    var isTargetStyledComp = isStyledComponent(target);
    var isClass = !isTag(target);
  
    var _options$displayName = options.displayName,
        displayName = _options$displayName === undefined ? generateDisplayName(target) : _options$displayName,
        _options$componentId = options.componentId,
        componentId = _options$componentId === undefined ? generateId(ComponentStyle, options.displayName, options.parentComponentId) : _options$componentId,
        _options$ParentCompon = options.ParentComponent,
        ParentComponent = _options$ParentCompon === undefined ? StyledComponent : _options$ParentCompon,
        _options$attrs = options.attrs,
        attrs = _options$attrs === undefined ? EMPTY_ARRAY : _options$attrs;
  
  
    var styledComponentId = options.displayName && options.componentId ? escape(options.displayName) + '-' + options.componentId : options.componentId || componentId;
  
    // fold the underlying StyledComponent attrs up (implicit extend)
    var finalAttrs =
    // $FlowFixMe
    isTargetStyledComp && target.attrs ? Array.prototype.concat(target.attrs, attrs).filter(Boolean) : attrs;
  
    var componentStyle = new ComponentStyle(isTargetStyledComp ? // fold the underlying StyledComponent rules up (implicit extend)
    // $FlowFixMe
    target.componentStyle.rules.concat(rules) : rules, finalAttrs, styledComponentId);
  
    /**
     * forwardRef creates a new interim component, which we'll take advantage of
     * instead of extending ParentComponent to create _another_ interim class
     */
    var WrappedStyledComponent = void 0;
    var forwardRef = function forwardRef(props, ref) {
      return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(ParentComponent, _extends({}, props, { forwardedComponent: WrappedStyledComponent, forwardedRef: ref }));
    };
    forwardRef.displayName = displayName;
    WrappedStyledComponent = react__WEBPACK_IMPORTED_MODULE_2___default.a.forwardRef(forwardRef);
    WrappedStyledComponent.displayName = displayName;
  
    // $FlowFixMe
    WrappedStyledComponent.attrs = finalAttrs;
    // $FlowFixMe
    WrappedStyledComponent.componentStyle = componentStyle;
  
    // $FlowFixMe
    WrappedStyledComponent.foldedComponentIds = isTargetStyledComp ? // $FlowFixMe
    Array.prototype.concat(target.foldedComponentIds, target.styledComponentId) : EMPTY_ARRAY;
  
    // $FlowFixMe
    WrappedStyledComponent.styledComponentId = styledComponentId;
  
    // fold the underlying StyledComponent target up since we folded the styles
    // $FlowFixMe
    WrappedStyledComponent.target = isTargetStyledComp ? target.target : target;
  
    // $FlowFixMe
    WrappedStyledComponent.withComponent = function withComponent(tag) {
      var previousComponentId = options.componentId,
          optionsToCopy = objectWithoutProperties(options, ['componentId']);
  
  
      var newComponentId = previousComponentId && previousComponentId + '-' + (isTag(tag) ? tag : escape(getComponentName(tag)));
  
      var newOptions = _extends({}, optionsToCopy, {
        attrs: finalAttrs,
        componentId: newComponentId,
        ParentComponent: ParentComponent
      });
  
      return createStyledComponent(tag, newOptions, rules);
    };
  
    // $FlowFixMe
    Object.defineProperty(WrappedStyledComponent, 'defaultProps', {
      get: function get$$1() {
        return this._foldedDefaultProps;
      },
      set: function set$$1(obj) {
        // $FlowFixMe
        this._foldedDefaultProps = isTargetStyledComp ? Object(merge_anything__WEBPACK_IMPORTED_MODULE_8__["default"])(target.defaultProps, obj) : obj;
      }
    });
  
    if (true) {
      // $FlowFixMe
      WrappedStyledComponent.warnTooManyClasses = createWarnTooManyClasses(displayName);
    }
  
    // $FlowFixMe
    WrappedStyledComponent.toString = function () {
      return '.' + WrappedStyledComponent.styledComponentId;
    };
  
    if (isClass) {
      hoistNonReactStatics(WrappedStyledComponent, target, {
        // all SC-specific things should not be hoisted
        attrs: true,
        componentStyle: true,
        displayName: true,
        foldedComponentIds: true,
        styledComponentId: true,
        target: true,
        withComponent: true
      });
    }
  
    return WrappedStyledComponent;
  }
  
  //
  // Thanks to ReactDOMFactories for this handy list!
  
  var domElements = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr',
  
  // SVG
  'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'marker', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];
  
  //
  
  var styled = function styled(tag) {
    return constructWithOptions(createStyledComponent, tag);
  };
  
  // Shorthands for all valid HTML Elements
  domElements.forEach(function (domElement) {
    styled[domElement] = styled(domElement);
  });
  
  //
  
  var GlobalStyle = function () {
    function GlobalStyle(rules, componentId) {
      classCallCheck(this, GlobalStyle);
  
      this.rules = rules;
      this.componentId = componentId;
      this.isStatic = isStaticRules(rules, EMPTY_ARRAY);
  
      if (!StyleSheet.master.hasId(componentId)) {
        StyleSheet.master.deferredInject(componentId, []);
      }
    }
  
    GlobalStyle.prototype.createStyles = function createStyles(executionContext, styleSheet) {
      var flatCSS = flatten(this.rules, executionContext, styleSheet);
      var css = stringifyRules(flatCSS, '');
  
      styleSheet.inject(this.componentId, css);
    };
  
    GlobalStyle.prototype.removeStyles = function removeStyles(styleSheet) {
      var componentId = this.componentId;
  
      if (styleSheet.hasId(componentId)) {
        styleSheet.remove(componentId);
      }
    };
  
    // TODO: overwrite in-place instead of remove+create?
  
  
    GlobalStyle.prototype.renderStyles = function renderStyles(executionContext, styleSheet) {
      this.removeStyles(styleSheet);
      this.createStyles(executionContext, styleSheet);
    };
  
    return GlobalStyle;
  }();
  
  //
  
  // place our cache into shared context so it'll persist between HMRs
  if (IS_BROWSER) {
    window.scCGSHMRCache = {};
  }
  
  function createGlobalStyle(strings) {
    for (var _len = arguments.length, interpolations = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
      interpolations[_key - 1] = arguments[_key];
    }
  
    var rules = css.apply(undefined, [strings].concat(interpolations));
    var id = 'sc-global-' + murmurhash(JSON.stringify(rules));
    var style = new GlobalStyle(rules, id);
  
    var GlobalStyleComponent = function (_React$Component) {
      inherits(GlobalStyleComponent, _React$Component);
  
      function GlobalStyleComponent(props) {
        classCallCheck(this, GlobalStyleComponent);
  
        var _this = possibleConstructorReturn(this, _React$Component.call(this, props));
  
        var _this$constructor = _this.constructor,
            globalStyle = _this$constructor.globalStyle,
            styledComponentId = _this$constructor.styledComponentId;
  
  
        if (IS_BROWSER) {
          window.scCGSHMRCache[styledComponentId] = (window.scCGSHMRCache[styledComponentId] || 0) + 1;
        }
  
        /**
         * This fixes HMR compatibility. Don't ask me why, but this combination of
         * caching the closure variables via statics and then persisting the statics in
         * state works across HMR where no other combination did. ¯\_(ツ)_/¯
         */
        _this.state = {
          globalStyle: globalStyle,
          styledComponentId: styledComponentId
        };
        return _this;
      }
  
      GlobalStyleComponent.prototype.componentWillUnmount = function componentWillUnmount() {
        if (window.scCGSHMRCache[this.state.styledComponentId]) {
          window.scCGSHMRCache[this.state.styledComponentId] -= 1;
        }
        /**
         * Depending on the order "render" is called this can cause the styles to be lost
         * until the next render pass of the remaining instance, which may
         * not be immediate.
         */
        if (window.scCGSHMRCache[this.state.styledComponentId] === 0) {
          this.state.globalStyle.removeStyles(this.styleSheet);
        }
      };
  
      GlobalStyleComponent.prototype.render = function render() {
        var _this2 = this;
  
        if ( true && react__WEBPACK_IMPORTED_MODULE_2___default.a.Children.count(this.props.children)) {
          // eslint-disable-next-line no-console
          console.warn('The global style component ' + this.state.styledComponentId + ' was given child JSX. createGlobalStyle does not render children.');
        }
  
        return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(
          StyleSheetConsumer,
          null,
          function (styleSheet) {
            _this2.styleSheet = styleSheet || StyleSheet.master;
  
            var globalStyle = _this2.state.globalStyle;
  
  
            if (globalStyle.isStatic) {
              globalStyle.renderStyles(STATIC_EXECUTION_CONTEXT, _this2.styleSheet);
  
              return null;
            } else {
              return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(
                ThemeConsumer,
                null,
                function (theme) {
                  // $FlowFixMe
                  var defaultProps = _this2.constructor.defaultProps;
  
  
                  var context = _extends({}, _this2.props);
  
                  if (typeof theme !== 'undefined') {
                    context.theme = determineTheme(_this2.props, theme, defaultProps);
                  }
  
                  globalStyle.renderStyles(context, _this2.styleSheet);
  
                  return null;
                }
              );
            }
          }
        );
      };
  
      return GlobalStyleComponent;
    }(react__WEBPACK_IMPORTED_MODULE_2___default.a.Component);
  
    GlobalStyleComponent.globalStyle = style;
    GlobalStyleComponent.styledComponentId = id;
  
  
    return GlobalStyleComponent;
  }
  
  //
  
  var replaceWhitespace = function replaceWhitespace(str) {
    return str.replace(/\s|\\n/g, '');
  };
  
  function keyframes(strings) {
    /* Warning if you've used keyframes on React Native */
    if ( true && typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {
      // eslint-disable-next-line no-console
      console.warn('`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.');
    }
  
    for (var _len = arguments.length, interpolations = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
      interpolations[_key - 1] = arguments[_key];
    }
  
    var rules = css.apply(undefined, [strings].concat(interpolations));
  
    var name = generateAlphabeticName(murmurhash(replaceWhitespace(JSON.stringify(rules))));
  
    return new Keyframes(name, stringifyRules(rules, name, '@keyframes'));
  }
  
  //
  
  var withTheme = (function (Component$$1) {
    var WithTheme = react__WEBPACK_IMPORTED_MODULE_2___default.a.forwardRef(function (props, ref) {
      return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(
        ThemeConsumer,
        null,
        function (theme) {
          // $FlowFixMe
          var defaultProps = Component$$1.defaultProps;
  
          var themeProp = determineTheme(props, theme, defaultProps);
  
          if ( true && themeProp === undefined) {
            // eslint-disable-next-line no-console
            console.warn('[withTheme] You are not using a ThemeProvider nor passing a theme prop or a theme in defaultProps in component class "' + getComponentName(Component$$1) + '"');
          }
  
          return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(Component$$1, _extends({}, props, { theme: themeProp, ref: ref }));
        }
      );
    });
  
    hoistNonReactStatics(WithTheme, Component$$1);
  
    WithTheme.displayName = 'WithTheme(' + getComponentName(Component$$1) + ')';
  
    return WithTheme;
  });
  
  //
  
  /* eslint-disable */
  var __DO_NOT_USE_OR_YOU_WILL_BE_HAUNTED_BY_SPOOKY_GHOSTS = {
    StyleSheet: StyleSheet
  };
  
  //
  
  /* Warning if you've imported this file on React Native */
  if ( true && typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {
    // eslint-disable-next-line no-console
    console.warn("It looks like you've imported 'styled-components' on React Native.\n" + "Perhaps you're looking to import 'styled-components/native'?\n" + 'Read more about this at https://www.styled-components.com/docs/basics#react-native');
  }
  
  /* Warning if there are several instances of styled-components */
  if ( true && typeof window !== 'undefined' && typeof navigator !== 'undefined' && typeof navigator.userAgent === 'string' && navigator.userAgent.indexOf('Node.js') === -1 && navigator.userAgent.indexOf('jsdom') === -1) {
    window['__styled-components-init__'] = window['__styled-components-init__'] || 0;
  
    if (window['__styled-components-init__'] === 1) {
      // eslint-disable-next-line no-console
      console.warn("It looks like there are several instances of 'styled-components' initialized in this application. " + 'This may cause dynamic styles not rendering properly, errors happening during rehydration process ' + 'and makes your application bigger without a good reason.\n\n' + 'See https://s-c.sh/2BAXzed for more info.');
    }
  
    window['__styled-components-init__'] += 1;
  }
  
  //
  
  /* harmony default export */ __webpack_exports__["default"] = (styled);
  
  //# sourceMappingURL=styled-components.browser.esm.js.map
  
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../process/browser.js */ "./node_modules/process/browser.js")))
  
  /***/ }),
  
  /***/ "./node_modules/styled-jsx/dist/lib/stylesheet.js":
  /*!********************************************************!*\
    !*** ./node_modules/styled-jsx/dist/lib/stylesheet.js ***!
    \********************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  /* WEBPACK VAR INJECTION */(function(process) {
  
  exports.__esModule = true;
  exports["default"] = void 0;
  
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  
  /*
  Based on Glamor's sheet
  https://github.com/threepointone/glamor/blob/667b480d31b3721a905021b26e1290ce92ca2879/src/sheet.js
  */
  var isProd = typeof process !== 'undefined' && process.env && "development" === 'production';
  
  var isString = function isString(o) {
    return Object.prototype.toString.call(o) === '[object String]';
  };
  
  var StyleSheet =
  /*#__PURE__*/
  function () {
    function StyleSheet(_temp) {
      var _ref = _temp === void 0 ? {} : _temp,
          _ref$name = _ref.name,
          name = _ref$name === void 0 ? 'stylesheet' : _ref$name,
          _ref$optimizeForSpeed = _ref.optimizeForSpeed,
          optimizeForSpeed = _ref$optimizeForSpeed === void 0 ? isProd : _ref$optimizeForSpeed,
          _ref$isBrowser = _ref.isBrowser,
          isBrowser = _ref$isBrowser === void 0 ? typeof window !== 'undefined' : _ref$isBrowser;
  
      invariant(isString(name), '`name` must be a string');
      this._name = name;
      this._deletedRulePlaceholder = "#" + name + "-deleted-rule____{}";
      invariant(typeof optimizeForSpeed === 'boolean', '`optimizeForSpeed` must be a boolean');
      this._optimizeForSpeed = optimizeForSpeed;
      this._isBrowser = isBrowser;
      this._serverSheet = undefined;
      this._tags = [];
      this._injected = false;
      this._rulesCount = 0;
      var node = this._isBrowser && document.querySelector('meta[property="csp-nonce"]');
      this._nonce = node ? node.getAttribute('content') : null;
    }
  
    var _proto = StyleSheet.prototype;
  
    _proto.setOptimizeForSpeed = function setOptimizeForSpeed(bool) {
      invariant(typeof bool === 'boolean', '`setOptimizeForSpeed` accepts a boolean');
      invariant(this._rulesCount === 0, 'optimizeForSpeed cannot be when rules have already been inserted');
      this.flush();
      this._optimizeForSpeed = bool;
      this.inject();
    };
  
    _proto.isOptimizeForSpeed = function isOptimizeForSpeed() {
      return this._optimizeForSpeed;
    };
  
    _proto.inject = function inject() {
      var _this = this;
  
      invariant(!this._injected, 'sheet already injected');
      this._injected = true;
  
      if (this._isBrowser && this._optimizeForSpeed) {
        this._tags[0] = this.makeStyleTag(this._name);
        this._optimizeForSpeed = 'insertRule' in this.getSheet();
  
        if (!this._optimizeForSpeed) {
          if (!isProd) {
            console.warn('StyleSheet: optimizeForSpeed mode not supported falling back to standard mode.');
          }
  
          this.flush();
          this._injected = true;
        }
  
        return;
      }
  
      this._serverSheet = {
        cssRules: [],
        insertRule: function insertRule(rule, index) {
          if (typeof index === 'number') {
            _this._serverSheet.cssRules[index] = {
              cssText: rule
            };
          } else {
            _this._serverSheet.cssRules.push({
              cssText: rule
            });
          }
  
          return index;
        },
        deleteRule: function deleteRule(index) {
          _this._serverSheet.cssRules[index] = null;
        }
      };
    };
  
    _proto.getSheetForTag = function getSheetForTag(tag) {
      if (tag.sheet) {
        return tag.sheet;
      } // this weirdness brought to you by firefox
  
  
      for (var i = 0; i < document.styleSheets.length; i++) {
        if (document.styleSheets[i].ownerNode === tag) {
          return document.styleSheets[i];
        }
      }
    };
  
    _proto.getSheet = function getSheet() {
      return this.getSheetForTag(this._tags[this._tags.length - 1]);
    };
  
    _proto.insertRule = function insertRule(rule, index) {
      invariant(isString(rule), '`insertRule` accepts only strings');
  
      if (!this._isBrowser) {
        if (typeof index !== 'number') {
          index = this._serverSheet.cssRules.length;
        }
  
        this._serverSheet.insertRule(rule, index);
  
        return this._rulesCount++;
      }
  
      if (this._optimizeForSpeed) {
        var sheet = this.getSheet();
  
        if (typeof index !== 'number') {
          index = sheet.cssRules.length;
        } // this weirdness for perf, and chrome's weird bug
        // https://stackoverflow.com/questions/20007992/chrome-suddenly-stopped-accepting-insertrule
  
  
        try {
          sheet.insertRule(rule, index);
        } catch (error) {
          if (!isProd) {
            console.warn("StyleSheet: illegal rule: \n\n" + rule + "\n\nSee https://stackoverflow.com/q/20007992 for more info");
          }
  
          return -1;
        }
      } else {
        var insertionPoint = this._tags[index];
  
        this._tags.push(this.makeStyleTag(this._name, rule, insertionPoint));
      }
  
      return this._rulesCount++;
    };
  
    _proto.replaceRule = function replaceRule(index, rule) {
      if (this._optimizeForSpeed || !this._isBrowser) {
        var sheet = this._isBrowser ? this.getSheet() : this._serverSheet;
  
        if (!rule.trim()) {
          rule = this._deletedRulePlaceholder;
        }
  
        if (!sheet.cssRules[index]) {
          // @TBD Should we throw an error?
          return index;
        }
  
        sheet.deleteRule(index);
  
        try {
          sheet.insertRule(rule, index);
        } catch (error) {
          if (!isProd) {
            console.warn("StyleSheet: illegal rule: \n\n" + rule + "\n\nSee https://stackoverflow.com/q/20007992 for more info");
          } // In order to preserve the indices we insert a deleteRulePlaceholder
  
  
          sheet.insertRule(this._deletedRulePlaceholder, index);
        }
      } else {
        var tag = this._tags[index];
        invariant(tag, "old rule at index `" + index + "` not found");
        tag.textContent = rule;
      }
  
      return index;
    };
  
    _proto.deleteRule = function deleteRule(index) {
      if (!this._isBrowser) {
        this._serverSheet.deleteRule(index);
  
        return;
      }
  
      if (this._optimizeForSpeed) {
        this.replaceRule(index, '');
      } else {
        var tag = this._tags[index];
        invariant(tag, "rule at index `" + index + "` not found");
        tag.parentNode.removeChild(tag);
        this._tags[index] = null;
      }
    };
  
    _proto.flush = function flush() {
      this._injected = false;
      this._rulesCount = 0;
  
      if (this._isBrowser) {
        this._tags.forEach(function (tag) {
          return tag && tag.parentNode.removeChild(tag);
        });
  
        this._tags = [];
      } else {
        // simpler on server
        this._serverSheet.cssRules = [];
      }
    };
  
    _proto.cssRules = function cssRules() {
      var _this2 = this;
  
      if (!this._isBrowser) {
        return this._serverSheet.cssRules;
      }
  
      return this._tags.reduce(function (rules, tag) {
        if (tag) {
          rules = rules.concat(Array.prototype.map.call(_this2.getSheetForTag(tag).cssRules, function (rule) {
            return rule.cssText === _this2._deletedRulePlaceholder ? null : rule;
          }));
        } else {
          rules.push(null);
        }
  
        return rules;
      }, []);
    };
  
    _proto.makeStyleTag = function makeStyleTag(name, cssString, relativeToTag) {
      if (cssString) {
        invariant(isString(cssString), 'makeStyleTag acceps only strings as second parameter');
      }
  
      var tag = document.createElement('style');
      if (this._nonce) tag.setAttribute('nonce', this._nonce);
      tag.type = 'text/css';
      tag.setAttribute("data-" + name, '');
  
      if (cssString) {
        tag.appendChild(document.createTextNode(cssString));
      }
  
      var head = document.head || document.getElementsByTagName('head')[0];
  
      if (relativeToTag) {
        head.insertBefore(tag, relativeToTag);
      } else {
        head.appendChild(tag);
      }
  
      return tag;
    };
  
    _createClass(StyleSheet, [{
      key: "length",
      get: function get() {
        return this._rulesCount;
      }
    }]);
  
    return StyleSheet;
  }();
  
  exports["default"] = StyleSheet;
  
  function invariant(condition, message) {
    if (!condition) {
      throw new Error("StyleSheet: " + message + ".");
    }
  }
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../process/browser.js */ "./node_modules/process/browser.js")))
  
  /***/ }),
  
  /***/ "./node_modules/styled-jsx/dist/server.js":
  /*!************************************************!*\
    !*** ./node_modules/styled-jsx/dist/server.js ***!
    \************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  exports.__esModule = true;
  exports["default"] = flushToReact;
  exports.flushToHTML = flushToHTML;
  
  var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js"));
  
  var _style = __webpack_require__(/*! ./style */ "./node_modules/styled-jsx/dist/style.js");
  
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
  
  function flushToReact(options) {
    if (options === void 0) {
      options = {};
    }
  
    return (0, _style.flush)().map(function (args) {
      var id = args[0];
      var css = args[1];
      return _react["default"].createElement('style', {
        id: "__" + id,
        // Avoid warnings upon render with a key
        key: "__" + id,
        nonce: options.nonce ? options.nonce : undefined,
        dangerouslySetInnerHTML: {
          __html: css
        }
      });
    });
  }
  
  function flushToHTML(options) {
    if (options === void 0) {
      options = {};
    }
  
    return (0, _style.flush)().reduce(function (html, args) {
      var id = args[0];
      var css = args[1];
      html += "<style id=\"__" + id + "\"" + (options.nonce ? " nonce=\"" + options.nonce + "\"" : '') + ">" + css + "</style>";
      return html;
    }, '');
  }
  
  /***/ }),
  
  /***/ "./node_modules/styled-jsx/dist/style.js":
  /*!***********************************************!*\
    !*** ./node_modules/styled-jsx/dist/style.js ***!
    \***********************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  exports.__esModule = true;
  exports.flush = flush;
  exports["default"] = void 0;
  
  var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js");
  
  var _stylesheetRegistry = _interopRequireDefault(__webpack_require__(/*! ./stylesheet-registry */ "./node_modules/styled-jsx/dist/stylesheet-registry.js"));
  
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
  
  function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
  
  var styleSheetRegistry = new _stylesheetRegistry["default"]();
  
  var JSXStyle =
  /*#__PURE__*/
  function (_Component) {
    _inheritsLoose(JSXStyle, _Component);
  
    function JSXStyle(props) {
      var _this;
  
      _this = _Component.call(this, props) || this;
      _this.prevProps = {};
      return _this;
    }
  
    JSXStyle.dynamic = function dynamic(info) {
      return info.map(function (tagInfo) {
        var baseId = tagInfo[0];
        var props = tagInfo[1];
        return styleSheetRegistry.computeId(baseId, props);
      }).join(' ');
    } // probably faster than PureComponent (shallowEqual)
    ;
  
    var _proto = JSXStyle.prototype;
  
    _proto.shouldComponentUpdate = function shouldComponentUpdate(otherProps) {
      return this.props.id !== otherProps.id || // We do this check because `dynamic` is an array of strings or undefined.
      // These are the computed values for dynamic styles.
      String(this.props.dynamic) !== String(otherProps.dynamic);
    };
  
    _proto.componentWillUnmount = function componentWillUnmount() {
      styleSheetRegistry.remove(this.props);
    };
  
    _proto.render = function render() {
      // This is a workaround to make the side effect async safe in the "render" phase.
      // See https://github.com/zeit/styled-jsx/pull/484
      if (this.shouldComponentUpdate(this.prevProps)) {
        // Updates
        if (this.prevProps.id) {
          styleSheetRegistry.remove(this.prevProps);
        }
  
        styleSheetRegistry.add(this.props);
        this.prevProps = this.props;
      }
  
      return null;
    };
  
    return JSXStyle;
  }(_react.Component);
  
  exports["default"] = JSXStyle;
  
  function flush() {
    var cssRules = styleSheetRegistry.cssRules();
    styleSheetRegistry.flush();
    return cssRules;
  }
  
  /***/ }),
  
  /***/ "./node_modules/styled-jsx/dist/stylesheet-registry.js":
  /*!*************************************************************!*\
    !*** ./node_modules/styled-jsx/dist/stylesheet-registry.js ***!
    \*************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  exports.__esModule = true;
  exports["default"] = void 0;
  
  var _stringHash = _interopRequireDefault(__webpack_require__(/*! string-hash */ "./node_modules/string-hash/index.js"));
  
  var _stylesheet = _interopRequireDefault(__webpack_require__(/*! ./lib/stylesheet */ "./node_modules/styled-jsx/dist/lib/stylesheet.js"));
  
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
  
  var sanitize = function sanitize(rule) {
    return rule.replace(/\/style/gi, '\\/style');
  };
  
  var StyleSheetRegistry =
  /*#__PURE__*/
  function () {
    function StyleSheetRegistry(_temp) {
      var _ref = _temp === void 0 ? {} : _temp,
          _ref$styleSheet = _ref.styleSheet,
          styleSheet = _ref$styleSheet === void 0 ? null : _ref$styleSheet,
          _ref$optimizeForSpeed = _ref.optimizeForSpeed,
          optimizeForSpeed = _ref$optimizeForSpeed === void 0 ? false : _ref$optimizeForSpeed,
          _ref$isBrowser = _ref.isBrowser,
          isBrowser = _ref$isBrowser === void 0 ? typeof window !== 'undefined' : _ref$isBrowser;
  
      this._sheet = styleSheet || new _stylesheet["default"]({
        name: 'styled-jsx',
        optimizeForSpeed: optimizeForSpeed
      });
  
      this._sheet.inject();
  
      if (styleSheet && typeof optimizeForSpeed === 'boolean') {
        this._sheet.setOptimizeForSpeed(optimizeForSpeed);
  
        this._optimizeForSpeed = this._sheet.isOptimizeForSpeed();
      }
  
      this._isBrowser = isBrowser;
      this._fromServer = undefined;
      this._indices = {};
      this._instancesCounts = {};
      this.computeId = this.createComputeId();
      this.computeSelector = this.createComputeSelector();
    }
  
    var _proto = StyleSheetRegistry.prototype;
  
    _proto.add = function add(props) {
      var _this = this;
  
      if (undefined === this._optimizeForSpeed) {
        this._optimizeForSpeed = Array.isArray(props.children);
  
        this._sheet.setOptimizeForSpeed(this._optimizeForSpeed);
  
        this._optimizeForSpeed = this._sheet.isOptimizeForSpeed();
      }
  
      if (this._isBrowser && !this._fromServer) {
        this._fromServer = this.selectFromServer();
        this._instancesCounts = Object.keys(this._fromServer).reduce(function (acc, tagName) {
          acc[tagName] = 0;
          return acc;
        }, {});
      }
  
      var _this$getIdAndRules = this.getIdAndRules(props),
          styleId = _this$getIdAndRules.styleId,
          rules = _this$getIdAndRules.rules; // Deduping: just increase the instances count.
  
  
      if (styleId in this._instancesCounts) {
        this._instancesCounts[styleId] += 1;
        return;
      }
  
      var indices = rules.map(function (rule) {
        return _this._sheet.insertRule(rule);
      }) // Filter out invalid rules
      .filter(function (index) {
        return index !== -1;
      });
      this._indices[styleId] = indices;
      this._instancesCounts[styleId] = 1;
    };
  
    _proto.remove = function remove(props) {
      var _this2 = this;
  
      var _this$getIdAndRules2 = this.getIdAndRules(props),
          styleId = _this$getIdAndRules2.styleId;
  
      invariant(styleId in this._instancesCounts, "styleId: `" + styleId + "` not found");
      this._instancesCounts[styleId] -= 1;
  
      if (this._instancesCounts[styleId] < 1) {
        var tagFromServer = this._fromServer && this._fromServer[styleId];
  
        if (tagFromServer) {
          tagFromServer.parentNode.removeChild(tagFromServer);
          delete this._fromServer[styleId];
        } else {
          this._indices[styleId].forEach(function (index) {
            return _this2._sheet.deleteRule(index);
          });
  
          delete this._indices[styleId];
        }
  
        delete this._instancesCounts[styleId];
      }
    };
  
    _proto.update = function update(props, nextProps) {
      this.add(nextProps);
      this.remove(props);
    };
  
    _proto.flush = function flush() {
      this._sheet.flush();
  
      this._sheet.inject();
  
      this._fromServer = undefined;
      this._indices = {};
      this._instancesCounts = {};
      this.computeId = this.createComputeId();
      this.computeSelector = this.createComputeSelector();
    };
  
    _proto.cssRules = function cssRules() {
      var _this3 = this;
  
      var fromServer = this._fromServer ? Object.keys(this._fromServer).map(function (styleId) {
        return [styleId, _this3._fromServer[styleId]];
      }) : [];
  
      var cssRules = this._sheet.cssRules();
  
      return fromServer.concat(Object.keys(this._indices).map(function (styleId) {
        return [styleId, _this3._indices[styleId].map(function (index) {
          return cssRules[index].cssText;
        }).join(_this3._optimizeForSpeed ? '' : '\n')];
      }) // filter out empty rules
      .filter(function (rule) {
        return Boolean(rule[1]);
      }));
    }
    /**
     * createComputeId
     *
     * Creates a function to compute and memoize a jsx id from a basedId and optionally props.
     */
    ;
  
    _proto.createComputeId = function createComputeId() {
      var cache = {};
      return function (baseId, props) {
        if (!props) {
          return "jsx-" + baseId;
        }
  
        var propsToString = String(props);
        var key = baseId + propsToString; // return `jsx-${hashString(`${baseId}-${propsToString}`)}`
  
        if (!cache[key]) {
          cache[key] = "jsx-" + (0, _stringHash["default"])(baseId + "-" + propsToString);
        }
  
        return cache[key];
      };
    }
    /**
     * createComputeSelector
     *
     * Creates a function to compute and memoize dynamic selectors.
     */
    ;
  
    _proto.createComputeSelector = function createComputeSelector(selectoPlaceholderRegexp) {
      if (selectoPlaceholderRegexp === void 0) {
        selectoPlaceholderRegexp = /__jsx-style-dynamic-selector/g;
      }
  
      var cache = {};
      return function (id, css) {
        // Sanitize SSR-ed CSS.
        // Client side code doesn't need to be sanitized since we use
        // document.createTextNode (dev) and the CSSOM api sheet.insertRule (prod).
        if (!this._isBrowser) {
          css = sanitize(css);
        }
  
        var idcss = id + css;
  
        if (!cache[idcss]) {
          cache[idcss] = css.replace(selectoPlaceholderRegexp, id);
        }
  
        return cache[idcss];
      };
    };
  
    _proto.getIdAndRules = function getIdAndRules(props) {
      var _this4 = this;
  
      var css = props.children,
          dynamic = props.dynamic,
          id = props.id;
  
      if (dynamic) {
        var styleId = this.computeId(id, dynamic);
        return {
          styleId: styleId,
          rules: Array.isArray(css) ? css.map(function (rule) {
            return _this4.computeSelector(styleId, rule);
          }) : [this.computeSelector(styleId, css)]
        };
      }
  
      return {
        styleId: this.computeId(id),
        rules: Array.isArray(css) ? css : [css]
      };
    }
    /**
     * selectFromServer
     *
     * Collects style tags from the document with id __jsx-XXX
     */
    ;
  
    _proto.selectFromServer = function selectFromServer() {
      var elements = Array.prototype.slice.call(document.querySelectorAll('[id^="__jsx-"]'));
      return elements.reduce(function (acc, element) {
        var id = element.id.slice(2);
        acc[id] = element;
        return acc;
      }, {});
    };
  
    return StyleSheetRegistry;
  }();
  
  exports["default"] = StyleSheetRegistry;
  
  function invariant(condition, message) {
    if (!condition) {
      throw new Error("StyleSheetRegistry: " + message + ".");
    }
  }
  
  /***/ }),
  
  /***/ "./node_modules/styled-jsx/server.js":
  /*!*******************************************!*\
    !*** ./node_modules/styled-jsx/server.js ***!
    \*******************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  module.exports = __webpack_require__(/*! ./dist/server */ "./node_modules/styled-jsx/dist/server.js")
  
  
  /***/ }),
  
  /***/ "./node_modules/stylis-rule-sheet/index.js":
  /*!*************************************************!*\
    !*** ./node_modules/stylis-rule-sheet/index.js ***!
    \*************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  (function (factory) {
  	 true ? (module['exports'] = factory()) :
  		undefined
  }(function () {
  
  	'use strict'
  
  	return function (insertRule) {
  		var delimiter = '/*|*/'
  		var needle = delimiter+'}'
  
  		function toSheet (block) {
  			if (block)
  				try {
  					insertRule(block + '}')
  				} catch (e) {}
  		}
  
  		return function ruleSheet (context, content, selectors, parents, line, column, length, ns, depth, at) {
  			switch (context) {
  				// property
  				case 1:
  					// @import
  					if (depth === 0 && content.charCodeAt(0) === 64)
  						return insertRule(content+';'), ''
  					break
  				// selector
  				case 2:
  					if (ns === 0)
  						return content + delimiter
  					break
  				// at-rule
  				case 3:
  					switch (ns) {
  						// @font-face, @page
  						case 102:
  						case 112:
  							return insertRule(selectors[0]+content), ''
  						default:
  							return content + (at === 0 ? delimiter : '')
  					}
  				case -2:
  					content.split(needle).forEach(toSheet)
  			}
  		}
  	}
  }))
  
  
  /***/ }),
  
  /***/ "./node_modules/stylis/stylis.min.js":
  /*!*******************************************!*\
    !*** ./node_modules/stylis/stylis.min.js ***!
    \*******************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  !function(e){ true?module.exports=e(null):undefined}(function e(a){"use strict";var r=/^\0+/g,c=/[\0\r\f]/g,s=/: */g,t=/zoo|gra/,i=/([,: ])(transform)/g,f=/,+\s*(?![^(]*[)])/g,n=/ +\s*(?![^(]*[)])/g,l=/ *[\0] */g,o=/,\r+?/g,h=/([\t\r\n ])*\f?&/g,u=/:global\(((?:[^\(\)\[\]]*|\[.*\]|\([^\(\)]*\))*)\)/g,d=/\W+/g,b=/@(k\w+)\s*(\S*)\s*/,p=/::(place)/g,k=/:(read-only)/g,g=/\s+(?=[{\];=:>])/g,A=/([[}=:>])\s+/g,C=/(\{[^{]+?);(?=\})/g,w=/\s{2,}/g,v=/([^\(])(:+) */g,m=/[svh]\w+-[tblr]{2}/,x=/\(\s*(.*)\s*\)/g,$=/([\s\S]*?);/g,y=/-self|flex-/g,O=/[^]*?(:[rp][el]a[\w-]+)[^]*/,j=/stretch|:\s*\w+\-(?:conte|avail)/,z=/([^-])(image-set\()/,N="-webkit-",S="-moz-",F="-ms-",W=59,q=125,B=123,D=40,E=41,G=91,H=93,I=10,J=13,K=9,L=64,M=32,P=38,Q=45,R=95,T=42,U=44,V=58,X=39,Y=34,Z=47,_=62,ee=43,ae=126,re=0,ce=12,se=11,te=107,ie=109,fe=115,ne=112,le=111,oe=105,he=99,ue=100,de=112,be=1,pe=1,ke=0,ge=1,Ae=1,Ce=1,we=0,ve=0,me=0,xe=[],$e=[],ye=0,Oe=null,je=-2,ze=-1,Ne=0,Se=1,Fe=2,We=3,qe=0,Be=1,De="",Ee="",Ge="";function He(e,a,s,t,i){for(var f,n,o=0,h=0,u=0,d=0,g=0,A=0,C=0,w=0,m=0,$=0,y=0,O=0,j=0,z=0,R=0,we=0,$e=0,Oe=0,je=0,ze=s.length,Je=ze-1,Re="",Te="",Ue="",Ve="",Xe="",Ye="";R<ze;){if(C=s.charCodeAt(R),R===Je)if(h+d+u+o!==0){if(0!==h)C=h===Z?I:Z;d=u=o=0,ze++,Je++}if(h+d+u+o===0){if(R===Je){if(we>0)Te=Te.replace(c,"");if(Te.trim().length>0){switch(C){case M:case K:case W:case J:case I:break;default:Te+=s.charAt(R)}C=W}}if(1===$e)switch(C){case B:case q:case W:case Y:case X:case D:case E:case U:$e=0;case K:case J:case I:case M:break;default:for($e=0,je=R,g=C,R--,C=W;je<ze;)switch(s.charCodeAt(je++)){case I:case J:case W:++R,C=g,je=ze;break;case V:if(we>0)++R,C=g;case B:je=ze}}switch(C){case B:for(g=(Te=Te.trim()).charCodeAt(0),y=1,je=++R;R<ze;){switch(C=s.charCodeAt(R)){case B:y++;break;case q:y--;break;case Z:switch(A=s.charCodeAt(R+1)){case T:case Z:R=Qe(A,R,Je,s)}break;case G:C++;case D:C++;case Y:case X:for(;R++<Je&&s.charCodeAt(R)!==C;);}if(0===y)break;R++}if(Ue=s.substring(je,R),g===re)g=(Te=Te.replace(r,"").trim()).charCodeAt(0);switch(g){case L:if(we>0)Te=Te.replace(c,"");switch(A=Te.charCodeAt(1)){case ue:case ie:case fe:case Q:f=a;break;default:f=xe}if(je=(Ue=He(a,f,Ue,A,i+1)).length,me>0&&0===je)je=Te.length;if(ye>0)if(f=Ie(xe,Te,Oe),n=Pe(We,Ue,f,a,pe,be,je,A,i,t),Te=f.join(""),void 0!==n)if(0===(je=(Ue=n.trim()).length))A=0,Ue="";if(je>0)switch(A){case fe:Te=Te.replace(x,Me);case ue:case ie:case Q:Ue=Te+"{"+Ue+"}";break;case te:if(Ue=(Te=Te.replace(b,"$1 $2"+(Be>0?De:"")))+"{"+Ue+"}",1===Ae||2===Ae&&Le("@"+Ue,3))Ue="@"+N+Ue+"@"+Ue;else Ue="@"+Ue;break;default:if(Ue=Te+Ue,t===de)Ve+=Ue,Ue=""}else Ue="";break;default:Ue=He(a,Ie(a,Te,Oe),Ue,t,i+1)}Xe+=Ue,O=0,$e=0,z=0,we=0,Oe=0,j=0,Te="",Ue="",C=s.charCodeAt(++R);break;case q:case W:if((je=(Te=(we>0?Te.replace(c,""):Te).trim()).length)>1){if(0===z)if((g=Te.charCodeAt(0))===Q||g>96&&g<123)je=(Te=Te.replace(" ",":")).length;if(ye>0)if(void 0!==(n=Pe(Se,Te,a,e,pe,be,Ve.length,t,i,t)))if(0===(je=(Te=n.trim()).length))Te="\0\0";switch(g=Te.charCodeAt(0),A=Te.charCodeAt(1),g){case re:break;case L:if(A===oe||A===he){Ye+=Te+s.charAt(R);break}default:if(Te.charCodeAt(je-1)===V)break;Ve+=Ke(Te,g,A,Te.charCodeAt(2))}}O=0,$e=0,z=0,we=0,Oe=0,Te="",C=s.charCodeAt(++R)}}switch(C){case J:case I:if(h+d+u+o+ve===0)switch($){case E:case X:case Y:case L:case ae:case _:case T:case ee:case Z:case Q:case V:case U:case W:case B:case q:break;default:if(z>0)$e=1}if(h===Z)h=0;else if(ge+O===0&&t!==te&&Te.length>0)we=1,Te+="\0";if(ye*qe>0)Pe(Ne,Te,a,e,pe,be,Ve.length,t,i,t);be=1,pe++;break;case W:case q:if(h+d+u+o===0){be++;break}default:switch(be++,Re=s.charAt(R),C){case K:case M:if(d+o+h===0)switch(w){case U:case V:case K:case M:Re="";break;default:if(C!==M)Re=" "}break;case re:Re="\\0";break;case ce:Re="\\f";break;case se:Re="\\v";break;case P:if(d+h+o===0&&ge>0)Oe=1,we=1,Re="\f"+Re;break;case 108:if(d+h+o+ke===0&&z>0)switch(R-z){case 2:if(w===ne&&s.charCodeAt(R-3)===V)ke=w;case 8:if(m===le)ke=m}break;case V:if(d+h+o===0)z=R;break;case U:if(h+u+d+o===0)we=1,Re+="\r";break;case Y:case X:if(0===h)d=d===C?0:0===d?C:d;break;case G:if(d+h+u===0)o++;break;case H:if(d+h+u===0)o--;break;case E:if(d+h+o===0)u--;break;case D:if(d+h+o===0){if(0===O)switch(2*w+3*m){case 533:break;default:y=0,O=1}u++}break;case L:if(h+u+d+o+z+j===0)j=1;break;case T:case Z:if(d+o+u>0)break;switch(h){case 0:switch(2*C+3*s.charCodeAt(R+1)){case 235:h=Z;break;case 220:je=R,h=T}break;case T:if(C===Z&&w===T&&je+2!==R){if(33===s.charCodeAt(je+2))Ve+=s.substring(je,R+1);Re="",h=0}}}if(0===h){if(ge+d+o+j===0&&t!==te&&C!==W)switch(C){case U:case ae:case _:case ee:case E:case D:if(0===O){switch(w){case K:case M:case I:case J:Re+="\0";break;default:Re="\0"+Re+(C===U?"":"\0")}we=1}else switch(C){case D:if(z+7===R&&108===w)z=0;O=++y;break;case E:if(0==(O=--y))we=1,Re+="\0"}break;case K:case M:switch(w){case re:case B:case q:case W:case U:case ce:case K:case M:case I:case J:break;default:if(0===O)we=1,Re+="\0"}}if(Te+=Re,C!==M&&C!==K)$=C}}m=w,w=C,R++}if(je=Ve.length,me>0)if(0===je&&0===Xe.length&&0===a[0].length==false)if(t!==ie||1===a.length&&(ge>0?Ee:Ge)===a[0])je=a.join(",").length+2;if(je>0){if(f=0===ge&&t!==te?function(e){for(var a,r,s=0,t=e.length,i=Array(t);s<t;++s){for(var f=e[s].split(l),n="",o=0,h=0,u=0,d=0,b=f.length;o<b;++o){if(0===(h=(r=f[o]).length)&&b>1)continue;if(u=n.charCodeAt(n.length-1),d=r.charCodeAt(0),a="",0!==o)switch(u){case T:case ae:case _:case ee:case M:case D:break;default:a=" "}switch(d){case P:r=a+Ee;case ae:case _:case ee:case M:case E:case D:break;case G:r=a+r+Ee;break;case V:switch(2*r.charCodeAt(1)+3*r.charCodeAt(2)){case 530:if(Ce>0){r=a+r.substring(8,h-1);break}default:if(o<1||f[o-1].length<1)r=a+Ee+r}break;case U:a="";default:if(h>1&&r.indexOf(":")>0)r=a+r.replace(v,"$1"+Ee+"$2");else r=a+r+Ee}n+=r}i[s]=n.replace(c,"").trim()}return i}(a):a,ye>0)if(void 0!==(n=Pe(Fe,Ve,f,e,pe,be,je,t,i,t))&&0===(Ve=n).length)return Ye+Ve+Xe;if(Ve=f.join(",")+"{"+Ve+"}",Ae*ke!=0){if(2===Ae&&!Le(Ve,2))ke=0;switch(ke){case le:Ve=Ve.replace(k,":"+S+"$1")+Ve;break;case ne:Ve=Ve.replace(p,"::"+N+"input-$1")+Ve.replace(p,"::"+S+"$1")+Ve.replace(p,":"+F+"input-$1")+Ve}ke=0}}return Ye+Ve+Xe}function Ie(e,a,r){var c=a.trim().split(o),s=c,t=c.length,i=e.length;switch(i){case 0:case 1:for(var f=0,n=0===i?"":e[0]+" ";f<t;++f)s[f]=Je(n,s[f],r,i).trim();break;default:f=0;var l=0;for(s=[];f<t;++f)for(var h=0;h<i;++h)s[l++]=Je(e[h]+" ",c[f],r,i).trim()}return s}function Je(e,a,r,c){var s=a,t=s.charCodeAt(0);if(t<33)t=(s=s.trim()).charCodeAt(0);switch(t){case P:switch(ge+c){case 0:case 1:if(0===e.trim().length)break;default:return s.replace(h,"$1"+e.trim())}break;case V:switch(s.charCodeAt(1)){case 103:if(Ce>0&&ge>0)return s.replace(u,"$1").replace(h,"$1"+Ge);break;default:return e.trim()+s.replace(h,"$1"+e.trim())}default:if(r*ge>0&&s.indexOf("\f")>0)return s.replace(h,(e.charCodeAt(0)===V?"":"$1")+e.trim())}return e+s}function Ke(e,a,r,c){var l,o=0,h=e+";",u=2*a+3*r+4*c;if(944===u)return function(e){var a=e.length,r=e.indexOf(":",9)+1,c=e.substring(0,r).trim(),s=e.substring(r,a-1).trim();switch(e.charCodeAt(9)*Be){case 0:break;case Q:if(110!==e.charCodeAt(10))break;default:for(var t=s.split((s="",f)),i=0,r=0,a=t.length;i<a;r=0,++i){for(var l=t[i],o=l.split(n);l=o[r];){var h=l.charCodeAt(0);if(1===Be&&(h>L&&h<90||h>96&&h<123||h===R||h===Q&&l.charCodeAt(1)!==Q))switch(isNaN(parseFloat(l))+(-1!==l.indexOf("("))){case 1:switch(l){case"infinite":case"alternate":case"backwards":case"running":case"normal":case"forwards":case"both":case"none":case"linear":case"ease":case"ease-in":case"ease-out":case"ease-in-out":case"paused":case"reverse":case"alternate-reverse":case"inherit":case"initial":case"unset":case"step-start":case"step-end":break;default:l+=De}}o[r++]=l}s+=(0===i?"":",")+o.join(" ")}}if(s=c+s+";",1===Ae||2===Ae&&Le(s,1))return N+s+s;return s}(h);else if(0===Ae||2===Ae&&!Le(h,1))return h;switch(u){case 1015:return 97===h.charCodeAt(10)?N+h+h:h;case 951:return 116===h.charCodeAt(3)?N+h+h:h;case 963:return 110===h.charCodeAt(5)?N+h+h:h;case 1009:if(100!==h.charCodeAt(4))break;case 969:case 942:return N+h+h;case 978:return N+h+S+h+h;case 1019:case 983:return N+h+S+h+F+h+h;case 883:if(h.charCodeAt(8)===Q)return N+h+h;if(h.indexOf("image-set(",11)>0)return h.replace(z,"$1"+N+"$2")+h;return h;case 932:if(h.charCodeAt(4)===Q)switch(h.charCodeAt(5)){case 103:return N+"box-"+h.replace("-grow","")+N+h+F+h.replace("grow","positive")+h;case 115:return N+h+F+h.replace("shrink","negative")+h;case 98:return N+h+F+h.replace("basis","preferred-size")+h}return N+h+F+h+h;case 964:return N+h+F+"flex-"+h+h;case 1023:if(99!==h.charCodeAt(8))break;return l=h.substring(h.indexOf(":",15)).replace("flex-","").replace("space-between","justify"),N+"box-pack"+l+N+h+F+"flex-pack"+l+h;case 1005:return t.test(h)?h.replace(s,":"+N)+h.replace(s,":"+S)+h:h;case 1e3:switch(o=(l=h.substring(13).trim()).indexOf("-")+1,l.charCodeAt(0)+l.charCodeAt(o)){case 226:l=h.replace(m,"tb");break;case 232:l=h.replace(m,"tb-rl");break;case 220:l=h.replace(m,"lr");break;default:return h}return N+h+F+l+h;case 1017:if(-1===h.indexOf("sticky",9))return h;case 975:switch(o=(h=e).length-10,u=(l=(33===h.charCodeAt(o)?h.substring(0,o):h).substring(e.indexOf(":",7)+1).trim()).charCodeAt(0)+(0|l.charCodeAt(7))){case 203:if(l.charCodeAt(8)<111)break;case 115:h=h.replace(l,N+l)+";"+h;break;case 207:case 102:h=h.replace(l,N+(u>102?"inline-":"")+"box")+";"+h.replace(l,N+l)+";"+h.replace(l,F+l+"box")+";"+h}return h+";";case 938:if(h.charCodeAt(5)===Q)switch(h.charCodeAt(6)){case 105:return l=h.replace("-items",""),N+h+N+"box-"+l+F+"flex-"+l+h;case 115:return N+h+F+"flex-item-"+h.replace(y,"")+h;default:return N+h+F+"flex-line-pack"+h.replace("align-content","").replace(y,"")+h}break;case 973:case 989:if(h.charCodeAt(3)!==Q||122===h.charCodeAt(4))break;case 931:case 953:if(true===j.test(e))if(115===(l=e.substring(e.indexOf(":")+1)).charCodeAt(0))return Ke(e.replace("stretch","fill-available"),a,r,c).replace(":fill-available",":stretch");else return h.replace(l,N+l)+h.replace(l,S+l.replace("fill-",""))+h;break;case 962:if(h=N+h+(102===h.charCodeAt(5)?F+h:"")+h,r+c===211&&105===h.charCodeAt(13)&&h.indexOf("transform",10)>0)return h.substring(0,h.indexOf(";",27)+1).replace(i,"$1"+N+"$2")+h}return h}function Le(e,a){var r=e.indexOf(1===a?":":"{"),c=e.substring(0,3!==a?r:10),s=e.substring(r+1,e.length-1);return Oe(2!==a?c:c.replace(O,"$1"),s,a)}function Me(e,a){var r=Ke(a,a.charCodeAt(0),a.charCodeAt(1),a.charCodeAt(2));return r!==a+";"?r.replace($," or ($1)").substring(4):"("+a+")"}function Pe(e,a,r,c,s,t,i,f,n,l){for(var o,h=0,u=a;h<ye;++h)switch(o=$e[h].call(Te,e,u,r,c,s,t,i,f,n,l)){case void 0:case false:case true:case null:break;default:u=o}if(u!==a)return u}function Qe(e,a,r,c){for(var s=a+1;s<r;++s)switch(c.charCodeAt(s)){case Z:if(e===T)if(c.charCodeAt(s-1)===T&&a+2!==s)return s+1;break;case I:if(e===Z)return s+1}return s}function Re(e){for(var a in e){var r=e[a];switch(a){case"keyframe":Be=0|r;break;case"global":Ce=0|r;break;case"cascade":ge=0|r;break;case"compress":we=0|r;break;case"semicolon":ve=0|r;break;case"preserve":me=0|r;break;case"prefix":if(Oe=null,!r)Ae=0;else if("function"!=typeof r)Ae=1;else Ae=2,Oe=r}}return Re}function Te(a,r){if(void 0!==this&&this.constructor===Te)return e(a);var s=a,t=s.charCodeAt(0);if(t<33)t=(s=s.trim()).charCodeAt(0);if(Be>0)De=s.replace(d,t===G?"":"-");if(t=1,1===ge)Ge=s;else Ee=s;var i,f=[Ge];if(ye>0)if(void 0!==(i=Pe(ze,r,f,f,pe,be,0,0,0,0))&&"string"==typeof i)r=i;var n=He(xe,f,r,0,0);if(ye>0)if(void 0!==(i=Pe(je,n,f,f,pe,be,n.length,0,0,0))&&"string"!=typeof(n=i))t=0;return De="",Ge="",Ee="",ke=0,pe=1,be=1,we*t==0?n:n.replace(c,"").replace(g,"").replace(A,"$1").replace(C,"$1").replace(w," ")}if(Te.use=function e(a){switch(a){case void 0:case null:ye=$e.length=0;break;default:if("function"==typeof a)$e[ye++]=a;else if("object"==typeof a)for(var r=0,c=a.length;r<c;++r)e(a[r]);else qe=0|!!a}return e},Te.set=Re,void 0!==a)Re(a);return Te});
  //# sourceMappingURL=stylis.min.js.map
  
  /***/ }),
  
  /***/ "./pages/_app.js":
  /*!***********************!*\
    !*** ./pages/_app.js ***!
    \***********************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return MyApp; });
  /* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js");
  /* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js");
  /* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js");
  /* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js");
  /* harmony import */ var _babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/esm/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js");
  /* harmony import */ var _babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/esm/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js");
  /* harmony import */ var _babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js");
  /* harmony import */ var _babel_runtime_helpers_esm_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/esm/taggedTemplateLiteral */ "./node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react */ "./node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_8__);
  /* harmony import */ var next_app__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! next/app */ "./node_modules/next/app.js");
  /* harmony import */ var next_app__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(next_app__WEBPACK_IMPORTED_MODULE_9__);
  /* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! next/head */ "./node_modules/next/dist/next-server/lib/head.js");
  /* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(next_head__WEBPACK_IMPORTED_MODULE_10__);
  /* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! styled-components */ "./node_modules/styled-components/dist/styled-components.browser.esm.js");
  /* harmony import */ var _components_Nav__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../components/Nav */ "./components/Nav.js");
  /* harmony import */ var _document__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./_document */ "./pages/_document.js");
  
  
  
  
  
  
  
  
  var _jsxFileName = "/home/tobias/dev/flattenandflausch/frontend/pages/_app.js";
  
  var __jsx = react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement;
  
  function _createSuper(Derived) { return function () { var Super = Object(_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__["default"])(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = Object(_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__["default"])(this, result); }; }
  
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
  
  function _templateObject() {
    var data = Object(_babel_runtime_helpers_esm_taggedTemplateLiteral__WEBPACK_IMPORTED_MODULE_7__["default"])(["\n  :root {\n    --padding: 2rem;\n    --max-width: 50rem;\n  }\n\n  body {\n    font-family: 'PT Sans', sans-serif;\n    margin: 0;\n  }\n"]);
  
    _templateObject = function _templateObject() {
      return data;
    };
  
    return data;
  }
  
  
  
  
  
   // Any global CSS variables and selectors we want
  
  var GlobalStyle = Object(styled_components__WEBPACK_IMPORTED_MODULE_11__["createGlobalStyle"])(_templateObject());
  var Main = styled_components__WEBPACK_IMPORTED_MODULE_11__["default"].main.withConfig({
    displayName: "_app__Main",
    componentId: "hq4whd-0"
  })(["margin:0 auto;max-width:var(--max-width);padding:var(--padding);"]);
  
  var MyApp = /*#__PURE__*/function (_App) {
    Object(_babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_6__["default"])(MyApp, _App);
  
    var _super = _createSuper(MyApp);
  
    function MyApp() {
      Object(_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_2__["default"])(this, MyApp);
  
      return _super.apply(this, arguments);
    }
  
    Object(_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_3__["default"])(MyApp, [{
      key: "render",
      value: function render() {
        var _this$props = this.props,
            Component = _this$props.Component,
            pageProps = _this$props.pageProps,
            router = _this$props.router;
        return __jsx(react__WEBPACK_IMPORTED_MODULE_8___default.a.Fragment, null, __jsx(next_head__WEBPACK_IMPORTED_MODULE_10___default.a, {
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 42,
            columnNumber: 9
          }
        }, __jsx("title", {
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 43,
            columnNumber: 11
          }
        }, _document__WEBPACK_IMPORTED_MODULE_13__["title"])), __jsx(react__WEBPACK_IMPORTED_MODULE_8___default.a.Fragment, null, __jsx(_components_Nav__WEBPACK_IMPORTED_MODULE_12__["default"], {
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 46,
            columnNumber: 11
          }
        }), __jsx(Main, {
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 47,
            columnNumber: 11
          }
        }, __jsx(Component, Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, pageProps, {
          router: router,
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 48,
            columnNumber: 13
          }
        }))), __jsx(GlobalStyle, {
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 50,
            columnNumber: 11
          }
        })));
      }
    }], [{
      key: "getInitialProps",
      value: function getInitialProps(_ref) {
        var Component, ctx, pageProps;
        return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.async(function getInitialProps$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                Component = _ref.Component, ctx = _ref.ctx;
                pageProps = {};
  
                if (!Component.getInitialProps) {
                  _context.next = 6;
                  break;
                }
  
                _context.next = 5;
                return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.awrap(Component.getInitialProps(ctx));
  
              case 5:
                pageProps = _context.sent;
  
              case 6:
                return _context.abrupt("return", {
                  pageProps: pageProps
                });
  
              case 7:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
  
    return MyApp;
  }(next_app__WEBPACK_IMPORTED_MODULE_9___default.a);
  
  
  
  /***/ }),
  
  /***/ "./pages/_document.js":
  /*!****************************!*\
    !*** ./pages/_document.js ***!
    \****************************/
  /*! exports provided: title, default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "title", function() { return title; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return MyDocument; });
  /* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js");
  /* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js");
  /* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js");
  /* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js");
  /* harmony import */ var _babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/esm/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js");
  /* harmony import */ var _babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/esm/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js");
  /* harmony import */ var _babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react */ "./node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_7__);
  /* harmony import */ var next_document__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! next/document */ "./node_modules/next/document.js");
  /* harmony import */ var next_document__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(next_document__WEBPACK_IMPORTED_MODULE_8__);
  /* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! styled-components */ "./node_modules/styled-components/dist/styled-components.browser.esm.js");
  
  
  
  
  
  
  
  var _jsxFileName = "/home/tobias/dev/flattenandflausch/frontend/pages/_document.js";
  
  var __jsx = react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement;
  
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
  
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { Object(_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
  
  function _createSuper(Derived) { return function () { var Super = Object(_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__["default"])(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = Object(_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__["default"])(this, result); }; }
  
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
  
  
  
  var title = "Facts for Friends";
  var description = `Die Webapp Facts for Friends to go stellt kurze und leicht verständliche Gegenargumente (FactsSnacks) zu gängigen FakeNews bereit.
  Engagierte Bürger:innen finden dort teilbare Fact Snacks mit denen sie Fake News in ihrem privaten Umwelt begegnen können, auch wenn es Ihnen an Wissen und/oder Zeit fehlt um selbst lange Texte zu schreiben. Als Multiplikator:innen und Informational influencers erreichen sie so mit geringem Aufwand Personen ihrem privaten Umfeld, die klassischen massenmedialen Fact-Checking-Inhalten oder politischer Kommunikation nicht vertrauen oder von solchen Inhalten überfordert sind.
  Die Fact Snacks werden aus der Community generiert und dann vom Platform-Team verifiziert oder können von verifizierten Fact-Checkern wie z. B. Journalist:innen direkt eingereicht werden.`;
  var url = "https://next-pwa-boilerplate.now.sh";
  var thumbnail = "".concat(url, "/static/graphics/logo.png");
  
  var MyDocument = /*#__PURE__*/function (_Document) {
    Object(_babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_6__["default"])(MyDocument, _Document);
  
    var _super = _createSuper(MyDocument);
  
    function MyDocument() {
      Object(_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_2__["default"])(this, MyDocument);
  
      return _super.apply(this, arguments);
    }
  
    Object(_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_3__["default"])(MyDocument, [{
      key: "render",
      value: function render() {
        return __jsx("html", {
          lang: "en",
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 24,
            columnNumber: 7
          }
        }, __jsx(next_document__WEBPACK_IMPORTED_MODULE_8__["Head"], {
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 25,
            columnNumber: 9
          }
        }, this.props.styleTags, __jsx("meta", {
          name: "viewport",
          content: "width=device-width, initial-scale=1",
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 30,
            columnNumber: 11
          }
        }), __jsx("meta", {
          name: "theme-color",
          content: "#fff",
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 33,
            columnNumber: 11
          }
        }), __jsx("link", {
          rel: "manifest",
          href: "./static/manifest.json",
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 36,
            columnNumber: 11
          }
        }), __jsx("meta", {
          name: "Description",
          content: description,
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 39,
            columnNumber: 11
          }
        }), __jsx("meta", {
          property: "og:title",
          content: title,
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 42,
            columnNumber: 11
          }
        }), __jsx("meta", {
          property: "og:description",
          content: description,
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 43,
            columnNumber: 11
          }
        }), __jsx("meta", {
          property: "og:image",
          content: thumbnail,
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 44,
            columnNumber: 11
          }
        }), __jsx("meta", {
          property: "og:type",
          content: "website",
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 45,
            columnNumber: 11
          }
        }), __jsx("meta", {
          property: "og:url",
          content: url,
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 46,
            columnNumber: 11
          }
        }), __jsx("meta", {
          name: "twitter:card",
          content: "summary_large_image",
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 47,
            columnNumber: 11
          }
        }), __jsx("meta", {
          name: "twitter:title",
          content: title,
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 48,
            columnNumber: 11
          }
        }), __jsx("meta", {
          name: "twitter:description",
          content: description,
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 49,
            columnNumber: 11
          }
        }), __jsx("meta", {
          name: "twitter:image",
          content: thumbnail,
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 50,
            columnNumber: 11
          }
        }), __jsx("meta", {
          name: "apple-mobile-web-app-capable",
          content: "yes",
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 53,
            columnNumber: 11
          }
        }), __jsx("meta", {
          name: "apple-mobile-web-app-status-bar-style",
          content: "black",
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 54,
            columnNumber: 11
          }
        }), __jsx("link", {
          rel: "apple-touch-icon",
          sizes: "57x57",
          href: "./static/graphics/icon-57.png",
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 55,
            columnNumber: 11
          }
        }), __jsx("link", {
          rel: "apple-touch-icon",
          sizes: "72x72",
          href: "./static/graphics/icon-72.png",
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 60,
            columnNumber: 11
          }
        }), __jsx("link", {
          rel: "apple-touch-icon",
          sizes: "114x114",
          href: "./static/graphics/icon-114.png",
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 65,
            columnNumber: 11
          }
        }), __jsx("link", {
          rel: "apple-touch-icon",
          sizes: "144x144",
          href: "./static/graphics/icon-144.png",
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 70,
            columnNumber: 11
          }
        }), __jsx("link", {
          rel: "apple-touch-icon",
          sizes: "512x512",
          href: "./static/graphics/icon-512.png",
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 75,
            columnNumber: 11
          }
        }), __jsx("link", {
          href: "./static/graphics/splash-2048.png",
          media: "(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2)",
          rel: "apple-touch-startup-image",
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 80,
            columnNumber: 11
          }
        }), __jsx("link", {
          href: "./static/graphics/splash-1668.png",
          media: "(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2)",
          rel: "apple-touch-startup-image",
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 85,
            columnNumber: 11
          }
        }), __jsx("link", {
          href: "./static/graphics/splash-1536.png",
          media: "(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2)",
          rel: "apple-touch-startup-image",
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 90,
            columnNumber: 11
          }
        }), __jsx("link", {
          href: "./static/graphics/splash-1125.png",
          media: "(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3)",
          rel: "apple-touch-startup-image",
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 95,
            columnNumber: 11
          }
        }), __jsx("link", {
          href: "./static/graphics/splash-1242.png",
          media: "(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3)",
          rel: "apple-touch-startup-image",
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 100,
            columnNumber: 11
          }
        }), __jsx("link", {
          href: "./static/graphics/splash-750.png",
          media: "(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2)",
          rel: "apple-touch-startup-image",
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 105,
            columnNumber: 11
          }
        }), __jsx("link", {
          href: "./static/graphics/splash-640.png",
          media: "(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2)",
          rel: "apple-touch-startup-image",
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 110,
            columnNumber: 11
          }
        })), __jsx("body", {
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 116,
            columnNumber: 9
          }
        }, __jsx(next_document__WEBPACK_IMPORTED_MODULE_8__["Main"], {
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 117,
            columnNumber: 11
          }
        }), __jsx(next_document__WEBPACK_IMPORTED_MODULE_8__["NextScript"], {
          __self: this,
          __source: {
            fileName: _jsxFileName,
            lineNumber: 118,
            columnNumber: 11
          }
        })));
      }
    }], [{
      key: "getInitialProps",
      // This snippet will collect all of page’s critical CSS
      // while the is being server-side rendered
      value: function getInitialProps(_ref) {
        var _this = this;
  
        var renderPage = _ref.renderPage;
        var sheet = new styled_components__WEBPACK_IMPORTED_MODULE_9__["ServerStyleSheet"]();
        var page = renderPage(function (App) {
          return function (props) {
            return sheet.collectStyles(__jsx(App, Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__["default"])({}, props, {
              __self: _this,
              __source: {
                fileName: _jsxFileName,
                lineNumber: 16,
                columnNumber: 27
              }
            })));
          };
        });
        var styleTags = sheet.getStyleElement();
        return _objectSpread({}, page, {
          styleTags: styleTags
        });
      }
    }]);
  
    return MyDocument;
  }(next_document__WEBPACK_IMPORTED_MODULE_8___default.a);
  
  
  
  /***/ }),
  
  /***/ 0:
  /*!*******************************************************************************************************************************************!*\
    !*** multi next-client-pages-loader?page=%2F_app&absolutePagePath=private-next-pages%2F_app.js ./node_modules/next/dist/client/router.js ***!
    \*******************************************************************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  __webpack_require__(/*! next-client-pages-loader?page=%2F_app&absolutePagePath=private-next-pages%2F_app.js! */"./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?page=%2F_app&absolutePagePath=private-next-pages%2F_app.js!./");
  module.exports = __webpack_require__(/*! /home/tobias/dev/flattenandflausch/frontend/node_modules/next/dist/client/router.js */"./node_modules/next/dist/client/router.js");
  
  
  /***/ }),
  
  /***/ "dll-reference dll_2adc2403d89adc16ead0":
  /*!*******************************************!*\
    !*** external "dll_2adc2403d89adc16ead0" ***!
    \*******************************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  module.exports = dll_2adc2403d89adc16ead0;
  
  /***/ })
  
  },[[0,"static/runtime/webpack.js"]]]);
  //# sourceMappingURL=_app.js.map