{"version":3,"file":"app-249590187db180b87708.js","mappings":"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","sources":["webpack://kwazi-2.0/./node_modules/escape-string-regexp/index.js","webpack://kwazi-2.0/./node_modules/gatsby-page-utils/dist/apply-trailing-slash-option.js","webpack://kwazi-2.0/./node_modules/gatsby/dist/internal-plugins/bundle-optimisations/polyfills/object-assign.js","webpack://kwazi-2.0/./node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js","webpack://kwazi-2.0/./node_modules/gatsby/dist/internal-plugins/partytown/utils/get-forwards.js","webpack://kwazi-2.0/./node_modules/gatsby/dist/internal-plugins/partytown/utils/inject-partytown-snippet.js","webpack://kwazi-2.0/./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack://kwazi-2.0/./node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","webpack://kwazi-2.0/./node_modules/hoist-non-react-statics/node_modules/react-is/index.js","webpack://kwazi-2.0/./node_modules/performance-now/lib/performance-now.js","webpack://kwazi-2.0/./node_modules/raf/index.js","webpack://kwazi-2.0/./node_modules/react-is/cjs/react-is.production.min.js","webpack://kwazi-2.0/./node_modules/react-is/index.js","webpack://kwazi-2.0/./node_modules/scroll-to-element/ease.js","webpack://kwazi-2.0/./node_modules/scroll-to-element/emitter.js","webpack://kwazi-2.0/./node_modules/scroll-to-element/index.js","webpack://kwazi-2.0/./node_modules/scroll-to-element/scroll-to.js","webpack://kwazi-2.0/./node_modules/scroll-to-element/tween.js","webpack://kwazi-2.0/./node_modules/shallowequal/index.js","webpack://kwazi-2.0/./node_modules/@emotion/stylis/dist/stylis.browser.esm.js","webpack://kwazi-2.0/./node_modules/@emotion/unitless/dist/unitless.browser.esm.js","webpack://kwazi-2.0/./node_modules/styled-components/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","webpack://kwazi-2.0/./node_modules/styled-components/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","webpack://kwazi-2.0/./node_modules/styled-components/dist/styled-components.browser.esm.js","webpack://kwazi-2.0/./node_modules/core-js/internals/add-to-unscopables.js","webpack://kwazi-2.0/./node_modules/core-js/internals/array-species-constructor.js","webpack://kwazi-2.0/./node_modules/core-js/internals/array-species-create.js","webpack://kwazi-2.0/./node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack://kwazi-2.0/./node_modules/core-js/internals/flatten-into-array.js","webpack://kwazi-2.0/./node_modules/core-js/internals/function-bind-context.js","webpack://kwazi-2.0/./node_modules/core-js/internals/function-uncurry-this-clause.js","webpack://kwazi-2.0/./node_modules/core-js/internals/html.js","webpack://kwazi-2.0/./node_modules/core-js/internals/is-array.js","webpack://kwazi-2.0/./node_modules/core-js/internals/object-create.js","webpack://kwazi-2.0/./node_modules/core-js/internals/object-define-properties.js","webpack://kwazi-2.0/./node_modules/core-js/internals/object-keys.js","webpack://kwazi-2.0/./node_modules/core-js/modules/es.array.flat-map.js","webpack://kwazi-2.0/./node_modules/core-js/modules/es.array.unscopables.flat-map.js","webpack://kwazi-2.0/./.cache/_this_is_virtual_fs_path_/$virtual/async-requires.js","webpack://kwazi-2.0/./.cache/api-runner-browser-plugins.js","webpack://kwazi-2.0/./.cache/api-runner-browser.js","webpack://kwazi-2.0/./node_modules/mitt/dist/mitt.es.js","webpack://kwazi-2.0/./.cache/emitter.js","webpack://kwazi-2.0/./.cache/normalize-page-path.js","webpack://kwazi-2.0/./.cache/find-path.js","webpack://kwazi-2.0/./.cache/static-query.js","webpack://kwazi-2.0/./.cache/gatsby-browser-entry.js","webpack://kwazi-2.0/./.cache/prefetch.js","webpack://kwazi-2.0/./.cache/loader.js","webpack://kwazi-2.0/./.cache/head/components/fire-callback-in-effect.js","webpack://kwazi-2.0/./.cache/head/constants.js","webpack://kwazi-2.0/./.cache/head/utils.js","webpack://kwazi-2.0/./.cache/head/head-export-handler-for-browser.js","webpack://kwazi-2.0/./.cache/page-renderer.js","webpack://kwazi-2.0/./.cache/route-announcer-props.js","webpack://kwazi-2.0/./.cache/navigation.js","webpack://kwazi-2.0/./node_modules/shallow-compare/es/index.js","webpack://kwazi-2.0/./.cache/ensure-resources.js","webpack://kwazi-2.0/./.cache/production-app.js","webpack://kwazi-2.0/./.cache/public-page-renderer-prod.js","webpack://kwazi-2.0/./.cache/public-page-renderer.js","webpack://kwazi-2.0/./.cache/react-dom-utils.js","webpack://kwazi-2.0/./.cache/react-lifecycles-compat.js","webpack://kwazi-2.0/./.cache/redirect-utils.js","webpack://kwazi-2.0/./.cache/register-service-worker.js","webpack://kwazi-2.0/./.cache/strip-prefix.js","webpack://kwazi-2.0/./node_modules/@gatsbyjs/reach-router/lib/history.js","webpack://kwazi-2.0/./node_modules/@gatsbyjs/reach-router/lib/utils.js","webpack://kwazi-2.0/./node_modules/gatsby-plugin-anchor-links/errors.js","webpack://kwazi-2.0/./node_modules/gatsby-plugin-anchor-links/gatsby-browser.js","webpack://kwazi-2.0/./node_modules/gatsby-plugin-anchor-links/utils.js","webpack://kwazi-2.0/./node_modules/gatsby-plugin-catch-links/catch-links.js","webpack://kwazi-2.0/./node_modules/gatsby-plugin-catch-links/gatsby-browser.js","webpack://kwazi-2.0/./node_modules/gatsby-plugin-manifest/gatsby-browser.js","webpack://kwazi-2.0/./node_modules/gatsby-plugin-manifest/get-manifest-pathname.js","webpack://kwazi-2.0/./node_modules/gatsby-plugin-styled-components/gatsby-browser.js","webpack://kwazi-2.0/./node_modules/gatsby-react-router-scroll/index.js","webpack://kwazi-2.0/./node_modules/gatsby-react-router-scroll/scroll-handler.js","webpack://kwazi-2.0/./node_modules/gatsby-react-router-scroll/session-storage.js","webpack://kwazi-2.0/./node_modules/gatsby-react-router-scroll/use-scroll-restoration.js","webpack://kwazi-2.0/../src/gatsby-browser.ts","webpack://kwazi-2.0/./node_modules/@gatsbyjs/reach-router/es/lib/utils.js","webpack://kwazi-2.0/./node_modules/@gatsbyjs/reach-router/es/lib/history.js","webpack://kwazi-2.0/./node_modules/@gatsbyjs/reach-router/es/index.js","webpack://kwazi-2.0/./node_modules/invariant/browser.js","webpack://kwazi-2.0/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://kwazi-2.0/./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack://kwazi-2.0/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://kwazi-2.0/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://kwazi-2.0/./node_modules/@builder.io/partytown/integration/index.cjs","webpack://kwazi-2.0/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://kwazi-2.0/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://kwazi-2.0/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://kwazi-2.0/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://kwazi-2.0/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://kwazi-2.0/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://kwazi-2.0/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://kwazi-2.0/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://kwazi-2.0/./node_modules/gatsby-link/dist/index.modern.mjs","webpack://kwazi-2.0/./node_modules/gatsby-script/dist/index.modern.mjs"],"sourcesContent":["'use strict';\n\nvar matchOperatorsRe = /[|\\\\{}()[\\]^$+*?.]/g;\nmodule.exports = function (str) {\n if (typeof str !== 'string') {\n throw new TypeError('Expected a string');\n }\n return str.replace(matchOperatorsRe, '\\\\$&');\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.applyTrailingSlashOption = void 0;\n\n// TODO(v5): Remove legacy setting and default to \"always\"\nvar applyTrailingSlashOption = function applyTrailingSlashOption(input) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"legacy\";\n var hasHtmlSuffix = input.endsWith(\".html\");\n var hasXmlSuffix = input.endsWith(\".xml\");\n var hasPdfSuffix = input.endsWith(\".pdf\");\n if (input === \"/\") return input;\n if (hasHtmlSuffix || hasXmlSuffix || hasPdfSuffix) {\n option = \"never\";\n }\n if (option === \"always\") {\n return input.endsWith(\"/\") ? input : \"\".concat(input, \"/\");\n }\n if (option === \"never\") {\n return input.endsWith(\"/\") ? input.slice(0, -1) : input;\n }\n return input;\n};\nexports.applyTrailingSlashOption = applyTrailingSlashOption;","\"use strict\";\n\nmodule.exports = Object.assign;","\"use strict\";\n\nexports.__esModule = true;\nexports.onInitialClientRender = void 0;\nvar _gatsbyScript = require(\"gatsby-script\");\nvar _injectPartytownSnippet = require(\"./utils/inject-partytown-snippet\");\n\n// Makes sure off-main-thread scripts are loaded in `gatsby develop`\nvar onInitialClientRender = function onInitialClientRender() {\n if (process.env.NODE_ENV !== \"development\") {\n return;\n }\n (0, _injectPartytownSnippet.injectPartytownSnippet)(_gatsbyScript.collectedScriptsByPage.get(window.location.pathname)); // Clear scripts after we've used them to avoid leaky behavior\n\n _gatsbyScript.collectedScriptsByPage.delete(window.location.pathname);\n}; // Client-side navigation (CSR, e.g. Gatsby Link navigations) are broken upstream in Partytown.\n// We need an official API from Partytown for handling re-configuration and on-demand script loading.\n// Until then, `off-main-thread` scripts load only on server-side navigation (SSR).\n// See https://github.com/BuilderIO/partytown/issues/74 for more details.\n\nexports.onInitialClientRender = onInitialClientRender;","\"use strict\";\n\nrequire(\"core-js/modules/es.array.flat-map.js\");\nrequire(\"core-js/modules/es.array.unscopables.flat-map.js\");\nexports.__esModule = true;\nexports.getForwards = getForwards;\nfunction getForwards(collectedScripts) {\n return collectedScripts === null || collectedScripts === void 0 ? void 0 : collectedScripts.flatMap(function (script) {\n return (script === null || script === void 0 ? void 0 : script.forward) || [];\n });\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.injectPartytownSnippet = injectPartytownSnippet;\nvar _integration = require(\"@builder.io/partytown/integration\");\nvar _getForwards = require(\"./get-forwards\");\n\n// Adapted from https://github.com/BuilderIO/partytown/blob/main/src/react/snippet.tsx to only include CSR logic\nfunction injectPartytownSnippet(collectedScripts) {\n if (!collectedScripts.length) {\n return;\n }\n var existingSnippet = document.querySelector(\"script[data-partytown]\");\n var existingSandbox = document.querySelector(\"iframe[src*=\\\"~partytown/partytown-sandbox-sw\\\"]\");\n if (existingSnippet) {\n existingSnippet.remove();\n }\n if (existingSandbox) {\n existingSandbox.remove();\n }\n var forwards = (0, _getForwards.getForwards)(collectedScripts);\n var snippet = document.createElement(\"script\");\n snippet.dataset.partytown = \"\";\n snippet.innerHTML = (0, _integration.partytownSnippet)({\n forward: forwards\n });\n document.head.appendChild(snippet);\n}","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n var keys = getOwnPropertyNames(sourceComponent);\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n return targetComponent;\n}\nmodule.exports = hoistNonReactStatics;","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar b = \"function\" === typeof Symbol && Symbol.for,\n c = b ? Symbol.for(\"react.element\") : 60103,\n d = b ? Symbol.for(\"react.portal\") : 60106,\n e = b ? Symbol.for(\"react.fragment\") : 60107,\n f = b ? Symbol.for(\"react.strict_mode\") : 60108,\n g = b ? Symbol.for(\"react.profiler\") : 60114,\n h = b ? Symbol.for(\"react.provider\") : 60109,\n k = b ? Symbol.for(\"react.context\") : 60110,\n l = b ? Symbol.for(\"react.async_mode\") : 60111,\n m = b ? Symbol.for(\"react.concurrent_mode\") : 60111,\n n = b ? Symbol.for(\"react.forward_ref\") : 60112,\n p = b ? Symbol.for(\"react.suspense\") : 60113,\n q = b ? Symbol.for(\"react.suspense_list\") : 60120,\n r = b ? Symbol.for(\"react.memo\") : 60115,\n t = b ? Symbol.for(\"react.lazy\") : 60116,\n v = b ? Symbol.for(\"react.block\") : 60121,\n w = b ? Symbol.for(\"react.fundamental\") : 60117,\n x = b ? Symbol.for(\"react.responder\") : 60118,\n y = b ? Symbol.for(\"react.scope\") : 60119;\nfunction z(a) {\n if (\"object\" === typeof a && null !== a) {\n var u = a.$$typeof;\n switch (u) {\n case c:\n switch (a = a.type, a) {\n case l:\n case m:\n case e:\n case g:\n case f:\n case p:\n return a;\n default:\n switch (a = a && a.$$typeof, a) {\n case k:\n case n:\n case t:\n case r:\n case h:\n return a;\n default:\n return u;\n }\n }\n case d:\n return u;\n }\n }\n}\nfunction A(a) {\n return z(a) === m;\n}\nexports.AsyncMode = l;\nexports.ConcurrentMode = m;\nexports.ContextConsumer = k;\nexports.ContextProvider = h;\nexports.Element = c;\nexports.ForwardRef = n;\nexports.Fragment = e;\nexports.Lazy = t;\nexports.Memo = r;\nexports.Portal = d;\nexports.Profiler = g;\nexports.StrictMode = f;\nexports.Suspense = p;\nexports.isAsyncMode = function (a) {\n return A(a) || z(a) === l;\n};\nexports.isConcurrentMode = A;\nexports.isContextConsumer = function (a) {\n return z(a) === k;\n};\nexports.isContextProvider = function (a) {\n return z(a) === h;\n};\nexports.isElement = function (a) {\n return \"object\" === typeof a && null !== a && a.$$typeof === c;\n};\nexports.isForwardRef = function (a) {\n return z(a) === n;\n};\nexports.isFragment = function (a) {\n return z(a) === e;\n};\nexports.isLazy = function (a) {\n return z(a) === t;\n};\nexports.isMemo = function (a) {\n return z(a) === r;\n};\nexports.isPortal = function (a) {\n return z(a) === d;\n};\nexports.isProfiler = function (a) {\n return z(a) === g;\n};\nexports.isStrictMode = function (a) {\n return z(a) === f;\n};\nexports.isSuspense = function (a) {\n return z(a) === p;\n};\nexports.isValidElementType = function (a) {\n return \"string\" === typeof a || \"function\" === typeof a || a === e || a === m || a === g || a === f || a === p || a === q || \"object\" === typeof a && null !== a && (a.$$typeof === t || a.$$typeof === r || a.$$typeof === h || a.$$typeof === k || a.$$typeof === n || a.$$typeof === w || a.$$typeof === x || a.$$typeof === y || a.$$typeof === v);\n};\nexports.typeOf = z;","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}","// Generated by CoffeeScript 1.12.2\n(function () {\n var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime;\n if (typeof performance !== \"undefined\" && performance !== null && performance.now) {\n module.exports = function () {\n return performance.now();\n };\n } else if (typeof process !== \"undefined\" && process !== null && process.hrtime) {\n module.exports = function () {\n return (getNanoSeconds() - nodeLoadTime) / 1e6;\n };\n hrtime = process.hrtime;\n getNanoSeconds = function getNanoSeconds() {\n var hr;\n hr = hrtime();\n return hr[0] * 1e9 + hr[1];\n };\n moduleLoadTime = getNanoSeconds();\n upTime = process.uptime() * 1e9;\n nodeLoadTime = moduleLoadTime - upTime;\n } else if (Date.now) {\n module.exports = function () {\n return Date.now() - loadTime;\n };\n loadTime = Date.now();\n } else {\n module.exports = function () {\n return new Date().getTime() - loadTime;\n };\n loadTime = new Date().getTime();\n }\n}).call(this);","var now = require('performance-now'),\n root = typeof window === 'undefined' ? global : window,\n vendors = ['moz', 'webkit'],\n suffix = 'AnimationFrame',\n raf = root['request' + suffix],\n caf = root['cancel' + suffix] || root['cancelRequest' + suffix];\nfor (var i = 0; !raf && i < vendors.length; i++) {\n raf = root[vendors[i] + 'Request' + suffix];\n caf = root[vendors[i] + 'Cancel' + suffix] || root[vendors[i] + 'CancelRequest' + suffix];\n}\n\n// Some versions of FF have rAF but not cAF\nif (!raf || !caf) {\n var last = 0,\n id = 0,\n queue = [],\n frameDuration = 1000 / 60;\n raf = function raf(callback) {\n if (queue.length === 0) {\n var _now = now(),\n next = Math.max(0, frameDuration - (_now - last));\n last = next + _now;\n setTimeout(function () {\n var cp = queue.slice(0);\n // Clear queue here to prevent\n // callbacks from appending listeners\n // to the current frame's queue\n queue.length = 0;\n for (var i = 0; i < cp.length; i++) {\n if (!cp[i].cancelled) {\n try {\n cp[i].callback(last);\n } catch (e) {\n setTimeout(function () {\n throw e;\n }, 0);\n }\n }\n }\n }, Math.round(next));\n }\n queue.push({\n handle: ++id,\n callback: callback,\n cancelled: false\n });\n return id;\n };\n caf = function caf(handle) {\n for (var i = 0; i < queue.length; i++) {\n if (queue[i].handle === handle) {\n queue[i].cancelled = true;\n }\n }\n };\n}\nmodule.exports = function (fn) {\n // Wrap in a new function to prevent\n // `cancel` potentially being assigned\n // to the native rAF function\n return raf.call(root, fn);\n};\nmodule.exports.cancel = function () {\n caf.apply(root, arguments);\n};\nmodule.exports.polyfill = function (object) {\n if (!object) {\n object = root;\n }\n object.requestAnimationFrame = raf;\n object.cancelAnimationFrame = caf;\n};","/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';\n\nvar b = Symbol.for(\"react.element\"),\n c = Symbol.for(\"react.portal\"),\n d = Symbol.for(\"react.fragment\"),\n e = Symbol.for(\"react.strict_mode\"),\n f = Symbol.for(\"react.profiler\"),\n g = Symbol.for(\"react.provider\"),\n h = Symbol.for(\"react.context\"),\n k = Symbol.for(\"react.server_context\"),\n l = Symbol.for(\"react.forward_ref\"),\n m = Symbol.for(\"react.suspense\"),\n n = Symbol.for(\"react.suspense_list\"),\n p = Symbol.for(\"react.memo\"),\n q = Symbol.for(\"react.lazy\"),\n t = Symbol.for(\"react.offscreen\"),\n u;\nu = Symbol.for(\"react.module.reference\");\nfunction v(a) {\n if (\"object\" === typeof a && null !== a) {\n var r = a.$$typeof;\n switch (r) {\n case b:\n switch (a = a.type, a) {\n case d:\n case f:\n case e:\n case m:\n case n:\n return a;\n default:\n switch (a = a && a.$$typeof, a) {\n case k:\n case h:\n case l:\n case q:\n case p:\n case g:\n return a;\n default:\n return r;\n }\n }\n case c:\n return r;\n }\n }\n}\nexports.ContextConsumer = h;\nexports.ContextProvider = g;\nexports.Element = b;\nexports.ForwardRef = l;\nexports.Fragment = d;\nexports.Lazy = q;\nexports.Memo = p;\nexports.Portal = c;\nexports.Profiler = f;\nexports.StrictMode = e;\nexports.Suspense = m;\nexports.SuspenseList = n;\nexports.isAsyncMode = function () {\n return !1;\n};\nexports.isConcurrentMode = function () {\n return !1;\n};\nexports.isContextConsumer = function (a) {\n return v(a) === h;\n};\nexports.isContextProvider = function (a) {\n return v(a) === g;\n};\nexports.isElement = function (a) {\n return \"object\" === typeof a && null !== a && a.$$typeof === b;\n};\nexports.isForwardRef = function (a) {\n return v(a) === l;\n};\nexports.isFragment = function (a) {\n return v(a) === d;\n};\nexports.isLazy = function (a) {\n return v(a) === q;\n};\nexports.isMemo = function (a) {\n return v(a) === p;\n};\nexports.isPortal = function (a) {\n return v(a) === c;\n};\nexports.isProfiler = function (a) {\n return v(a) === f;\n};\nexports.isStrictMode = function (a) {\n return v(a) === e;\n};\nexports.isSuspense = function (a) {\n return v(a) === m;\n};\nexports.isSuspenseList = function (a) {\n return v(a) === n;\n};\nexports.isValidElementType = function (a) {\n return \"string\" === typeof a || \"function\" === typeof a || a === d || a === f || a === e || a === m || a === n || a === t || \"object\" === typeof a && null !== a && (a.$$typeof === q || a.$$typeof === p || a.$$typeof === g || a.$$typeof === h || a.$$typeof === l || a.$$typeof === u || void 0 !== a.getModuleId) ? !0 : !1;\n};\nexports.typeOf = v;","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}","// easing functions from \"Tween.js\"\nexports.linear = function (n) {\n return n;\n};\nexports.inQuad = function (n) {\n return n * n;\n};\nexports.outQuad = function (n) {\n return n * (2 - n);\n};\nexports.inOutQuad = function (n) {\n n *= 2;\n if (n < 1) return 0.5 * n * n;\n return -0.5 * (--n * (n - 2) - 1);\n};\nexports.inCube = function (n) {\n return n * n * n;\n};\nexports.outCube = function (n) {\n return --n * n * n + 1;\n};\nexports.inOutCube = function (n) {\n n *= 2;\n if (n < 1) return 0.5 * n * n * n;\n return 0.5 * ((n -= 2) * n * n + 2);\n};\nexports.inQuart = function (n) {\n return n * n * n * n;\n};\nexports.outQuart = function (n) {\n return 1 - --n * n * n * n;\n};\nexports.inOutQuart = function (n) {\n n *= 2;\n if (n < 1) return 0.5 * n * n * n * n;\n return -0.5 * ((n -= 2) * n * n * n - 2);\n};\nexports.inQuint = function (n) {\n return n * n * n * n * n;\n};\nexports.outQuint = function (n) {\n return --n * n * n * n * n + 1;\n};\nexports.inOutQuint = function (n) {\n n *= 2;\n if (n < 1) return 0.5 * n * n * n * n * n;\n return 0.5 * ((n -= 2) * n * n * n * n + 2);\n};\nexports.inSine = function (n) {\n return 1 - Math.cos(n * Math.PI / 2);\n};\nexports.outSine = function (n) {\n return Math.sin(n * Math.PI / 2);\n};\nexports.inOutSine = function (n) {\n return .5 * (1 - Math.cos(Math.PI * n));\n};\nexports.inExpo = function (n) {\n return 0 == n ? 0 : Math.pow(1024, n - 1);\n};\nexports.outExpo = function (n) {\n return 1 == n ? n : 1 - Math.pow(2, -10 * n);\n};\nexports.inOutExpo = function (n) {\n if (0 == n) return 0;\n if (1 == n) return 1;\n if ((n *= 2) < 1) return .5 * Math.pow(1024, n - 1);\n return .5 * (-Math.pow(2, -10 * (n - 1)) + 2);\n};\nexports.inCirc = function (n) {\n return 1 - Math.sqrt(1 - n * n);\n};\nexports.outCirc = function (n) {\n return Math.sqrt(1 - --n * n);\n};\nexports.inOutCirc = function (n) {\n n *= 2;\n if (n < 1) return -0.5 * (Math.sqrt(1 - n * n) - 1);\n return 0.5 * (Math.sqrt(1 - (n -= 2) * n) + 1);\n};\nexports.inBack = function (n) {\n var s = 1.70158;\n return n * n * ((s + 1) * n - s);\n};\nexports.outBack = function (n) {\n var s = 1.70158;\n return --n * n * ((s + 1) * n + s) + 1;\n};\nexports.inOutBack = function (n) {\n var s = 1.70158 * 1.525;\n if ((n *= 2) < 1) return 0.5 * (n * n * ((s + 1) * n - s));\n return 0.5 * ((n -= 2) * n * ((s + 1) * n + s) + 2);\n};\nexports.inBounce = function (n) {\n return 1 - exports.outBounce(1 - n);\n};\nexports.outBounce = function (n) {\n if (n < 1 / 2.75) {\n return 7.5625 * n * n;\n } else if (n < 2 / 2.75) {\n return 7.5625 * (n -= 1.5 / 2.75) * n + 0.75;\n } else if (n < 2.5 / 2.75) {\n return 7.5625 * (n -= 2.25 / 2.75) * n + 0.9375;\n } else {\n return 7.5625 * (n -= 2.625 / 2.75) * n + 0.984375;\n }\n};\nexports.inOutBounce = function (n) {\n if (n < .5) return exports.inBounce(n * 2) * .5;\n return exports.outBounce(n * 2 - 1) * .5 + .5;\n};\nexports.inElastic = function (n) {\n var s,\n a = 0.1,\n p = 0.4;\n if (n === 0) return 0;\n if (n === 1) return 1;\n if (!a || a < 1) {\n a = 1;\n s = p / 4;\n } else s = p * Math.asin(1 / a) / (2 * Math.PI);\n return -(a * Math.pow(2, 10 * (n -= 1)) * Math.sin((n - s) * (2 * Math.PI) / p));\n};\nexports.outElastic = function (n) {\n var s,\n a = 0.1,\n p = 0.4;\n if (n === 0) return 0;\n if (n === 1) return 1;\n if (!a || a < 1) {\n a = 1;\n s = p / 4;\n } else s = p * Math.asin(1 / a) / (2 * Math.PI);\n return a * Math.pow(2, -10 * n) * Math.sin((n - s) * (2 * Math.PI) / p) + 1;\n};\nexports.inOutElastic = function (n) {\n var s,\n a = 0.1,\n p = 0.4;\n if (n === 0) return 0;\n if (n === 1) return 1;\n if (!a || a < 1) {\n a = 1;\n s = p / 4;\n } else s = p * Math.asin(1 / a) / (2 * Math.PI);\n if ((n *= 2) < 1) return -0.5 * (a * Math.pow(2, 10 * (n -= 1)) * Math.sin((n - s) * (2 * Math.PI) / p));\n return a * Math.pow(2, -10 * (n -= 1)) * Math.sin((n - s) * (2 * Math.PI) / p) * 0.5 + 1;\n};\n\n// aliases\nexports['in-quad'] = exports.inQuad;\nexports['out-quad'] = exports.outQuad;\nexports['in-out-quad'] = exports.inOutQuad;\nexports['in-cube'] = exports.inCube;\nexports['out-cube'] = exports.outCube;\nexports['in-out-cube'] = exports.inOutCube;\nexports['in-quart'] = exports.inQuart;\nexports['out-quart'] = exports.outQuart;\nexports['in-out-quart'] = exports.inOutQuart;\nexports['in-quint'] = exports.inQuint;\nexports['out-quint'] = exports.outQuint;\nexports['in-out-quint'] = exports.inOutQuint;\nexports['in-sine'] = exports.inSine;\nexports['out-sine'] = exports.outSine;\nexports['in-out-sine'] = exports.inOutSine;\nexports['in-expo'] = exports.inExpo;\nexports['out-expo'] = exports.outExpo;\nexports['in-out-expo'] = exports.inOutExpo;\nexports['in-circ'] = exports.inCirc;\nexports['out-circ'] = exports.outCirc;\nexports['in-out-circ'] = exports.inOutCirc;\nexports['in-back'] = exports.inBack;\nexports['out-back'] = exports.outBack;\nexports['in-out-back'] = exports.inOutBack;\nexports['in-bounce'] = exports.inBounce;\nexports['out-bounce'] = exports.outBounce;\nexports['in-out-bounce'] = exports.inOutBounce;\nexports['in-elastic'] = exports.inElastic;\nexports['out-elastic'] = exports.outElastic;\nexports['in-out-elastic'] = exports.inOutElastic;","function Emitter(obj) {\n if (obj) return mixin(obj);\n}\n;\nfunction mixin(obj) {\n for (var key in Emitter.prototype) {\n obj[key] = Emitter.prototype[key];\n }\n return obj;\n}\nEmitter.prototype.on = Emitter.prototype.addEventListener = function (event, fn) {\n this._callbacks = this._callbacks || {};\n (this._callbacks['$' + event] = this._callbacks['$' + event] || []).push(fn);\n return this;\n};\nEmitter.prototype.once = function (event, fn) {\n function on() {\n this.off(event, on);\n fn.apply(this, arguments);\n }\n on.fn = fn;\n this.on(event, on);\n return this;\n};\nEmitter.prototype.off = Emitter.prototype.removeListener = Emitter.prototype.removeAllListeners = Emitter.prototype.removeEventListener = function (event, fn) {\n this._callbacks = this._callbacks || {};\n\n // all\n if (0 == arguments.length) {\n this._callbacks = {};\n return this;\n }\n\n // specific event\n var callbacks = this._callbacks['$' + event];\n if (!callbacks) return this;\n\n // remove all handlers\n if (1 == arguments.length) {\n delete this._callbacks['$' + event];\n return this;\n }\n\n // remove specific handler\n var cb;\n for (var i = 0; i < callbacks.length; i++) {\n cb = callbacks[i];\n if (cb === fn || cb.fn === fn) {\n callbacks.splice(i, 1);\n break;\n }\n }\n\n // Remove event specific arrays for event types that no\n // one is subscribed for to avoid memory leak.\n if (callbacks.length === 0) {\n delete this._callbacks['$' + event];\n }\n return this;\n};\nEmitter.prototype.emit = function (event) {\n this._callbacks = this._callbacks || {};\n var args = [].slice.call(arguments, 1),\n callbacks = this._callbacks['$' + event];\n if (callbacks) {\n callbacks = callbacks.slice(0);\n for (var i = 0, len = callbacks.length; i < len; ++i) {\n callbacks[i].apply(this, args);\n }\n }\n return this;\n};\nEmitter.prototype.listeners = function (event) {\n this._callbacks = this._callbacks || {};\n return this._callbacks['$' + event] || [];\n};\nEmitter.prototype.hasListeners = function (event) {\n return !!this.listeners(event).length;\n};\nif (typeof module !== 'undefined') {\n module.exports = Emitter;\n}","var scroll = require('./scroll-to');\nfunction calculateScrollOffset(elem, additionalOffset, alignment) {\n var body = document.body,\n html = document.documentElement;\n var elemRect = elem.getBoundingClientRect();\n var clientHeight = html.clientHeight;\n var documentHeight = Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);\n additionalOffset = additionalOffset || 0;\n var scrollPosition;\n if (alignment === 'bottom') {\n scrollPosition = elemRect.bottom - clientHeight;\n } else if (alignment === 'middle') {\n scrollPosition = elemRect.bottom - clientHeight / 2 - elemRect.height / 2;\n } else {\n // top and default\n scrollPosition = elemRect.top;\n }\n var maxScrollPosition = documentHeight - clientHeight;\n return Math.min(scrollPosition + additionalOffset + window.pageYOffset, maxScrollPosition);\n}\nmodule.exports = function (elem, options) {\n options = options || {};\n if (typeof elem === 'string') elem = document.querySelector(elem);\n if (elem) return scroll(0, calculateScrollOffset(elem, options.offset, options.align), options);\n};","var Tween = require('./tween');\nvar raf = require('raf');\nfunction scroll() {\n var y = window.pageYOffset || document.documentElement.scrollTop;\n var x = window.pageXOffset || document.documentElement.scrollLeft;\n return {\n top: y,\n left: x\n };\n}\nfunction scrollTo(x, y, options) {\n options = options || {};\n\n // start position\n var start = scroll();\n\n // setup tween\n var tween = Tween(start).ease(options.ease || 'out-circ').to({\n top: y,\n left: x\n }).duration(options.duration || 1000);\n\n // scroll\n tween.update(function (o) {\n window.scrollTo(o.left | 0, o.top | 0);\n });\n\n // handle end\n tween.on('end', function () {\n animate = function animate() {};\n });\n\n // animate\n function animate() {\n raf(animate);\n tween.update();\n }\n animate();\n return tween;\n}\nmodule.exports = scrollTo;","var ease = require('./ease');\nvar Emitter = require('./emitter');\nfunction extend(obj, src) {\n for (var key in src) {\n if (src.hasOwnProperty(key)) obj[key] = src[key];\n }\n return obj;\n}\nfunction Tween(obj) {\n if (!(this instanceof Tween)) return new Tween(obj);\n this._from = obj;\n this.ease('linear');\n this.duration(500);\n}\nEmitter(Tween.prototype);\nTween.prototype.reset = function () {\n this.isArray = Object.prototype.toString.call(this._from) === '[object Array]';\n this._curr = extend({}, this._from);\n this._done = false;\n this._start = Date.now();\n return this;\n};\nTween.prototype.to = function (obj) {\n this.reset();\n this._to = obj;\n return this;\n};\nTween.prototype.duration = function (ms) {\n this._duration = ms;\n return this;\n};\nTween.prototype.ease = function (fn) {\n fn = 'function' == typeof fn ? fn : ease[fn];\n if (!fn) throw new TypeError('invalid easing function');\n this._ease = fn;\n return this;\n};\nTween.prototype.stop = function () {\n this.stopped = true;\n this._done = true;\n this.emit('stop');\n this.emit('end');\n return this;\n};\nTween.prototype.step = function () {\n if (this._done) return;\n var duration = this._duration;\n var now = Date.now();\n var delta = now - this._start;\n var done = delta >= duration;\n if (done) {\n this._from = this._to;\n this._update(this._to);\n this._done = true;\n this.emit('end');\n return this;\n }\n var from = this._from;\n var to = this._to;\n var curr = this._curr;\n var fn = this._ease;\n var p = (now - this._start) / duration;\n var n = fn(p);\n if (this.isArray) {\n for (var i = 0; i < from.length; ++i) {\n curr[i] = from[i] + (to[i] - from[i]) * n;\n }\n this._update(curr);\n return this;\n }\n for (var k in from) {\n curr[k] = from[k] + (to[k] - from[k]) * n;\n }\n this._update(curr);\n return this;\n};\nTween.prototype.update = function (fn) {\n if (0 == arguments.length) return this.step();\n this._update = fn;\n return this;\n};\nmodule.exports = Tween;","//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n if (ret !== void 0) {\n return !!ret;\n }\n if (objA === objB) {\n return true;\n }\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) {\n return false;\n }\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // Test for A's keys different from B.\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n if (!bHasOwnProperty(key)) {\n return false;\n }\n var valueA = objA[key];\n var valueB = objB[key];\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n if (ret === false || ret === void 0 && valueA !== valueB) {\n return false;\n }\n }\n return true;\n};","function stylis_min(W) {\n function M(d, c, e, h, a) {\n for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) {\n g = e.charCodeAt(l);\n l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);\n if (0 === b + n + v + m) {\n if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {\n switch (g) {\n case 32:\n case 9:\n case 59:\n case 13:\n case 10:\n break;\n default:\n f += e.charAt(l);\n }\n g = 59;\n }\n switch (g) {\n case 123:\n f = f.trim();\n q = f.charCodeAt(0);\n k = 1;\n for (t = ++l; l < B;) {\n switch (g = e.charCodeAt(l)) {\n case 123:\n k++;\n break;\n case 125:\n k--;\n break;\n case 47:\n switch (g = e.charCodeAt(l + 1)) {\n case 42:\n case 47:\n a: {\n for (u = l + 1; u < J; ++u) {\n switch (e.charCodeAt(u)) {\n case 47:\n if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {\n l = u + 1;\n break a;\n }\n break;\n case 10:\n if (47 === g) {\n l = u + 1;\n break a;\n }\n }\n }\n l = u;\n }\n }\n break;\n case 91:\n g++;\n case 40:\n g++;\n case 34:\n case 39:\n for (; l++ < J && e.charCodeAt(l) !== g;) {}\n }\n if (0 === k) break;\n l++;\n }\n k = e.substring(t, l);\n 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));\n switch (q) {\n case 64:\n 0 < r && (f = f.replace(N, ''));\n g = f.charCodeAt(1);\n switch (g) {\n case 100:\n case 109:\n case 115:\n case 45:\n r = c;\n break;\n default:\n r = O;\n }\n k = M(c, r, k, g, a + 1);\n t = k.length;\n 0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = ''));\n if (0 < t) switch (g) {\n case 115:\n f = f.replace(da, ea);\n case 100:\n case 109:\n case 45:\n k = f + '{' + k + '}';\n break;\n case 107:\n f = f.replace(fa, '$1 $2');\n k = f + '{' + k + '}';\n k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;\n break;\n default:\n k = f + k, 112 === h && (k = (p += k, ''));\n } else k = '';\n break;\n default:\n k = M(c, X(c, f, I), k, h, a + 1);\n }\n F += k;\n k = I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n break;\n case 125:\n case 59:\n f = (0 < r ? f.replace(N, '') : f).trim();\n if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\\x00\\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) {\n case 0:\n break;\n case 64:\n if (105 === g || 99 === g) {\n G += f + e.charAt(l);\n break;\n }\n default:\n 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));\n }\n I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n }\n }\n switch (g) {\n case 13:\n case 10:\n 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\\x00');\n 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);\n z = 1;\n D++;\n break;\n case 59:\n case 125:\n if (0 === b + n + v + m) {\n z++;\n break;\n }\n default:\n z++;\n y = e.charAt(l);\n switch (g) {\n case 9:\n case 32:\n if (0 === n + m + b) switch (x) {\n case 44:\n case 58:\n case 9:\n case 32:\n y = '';\n break;\n default:\n 32 !== g && (y = ' ');\n }\n break;\n case 0:\n y = '\\\\0';\n break;\n case 12:\n y = '\\\\f';\n break;\n case 11:\n y = '\\\\v';\n break;\n case 38:\n 0 === n + b + m && (r = I = 1, y = '\\f' + y);\n break;\n case 108:\n if (0 === n + b + m + E && 0 < u) switch (l - u) {\n case 2:\n 112 === x && 58 === e.charCodeAt(l - 3) && (E = x);\n case 8:\n 111 === K && (E = K);\n }\n break;\n case 58:\n 0 === n + b + m && (u = l);\n break;\n case 44:\n 0 === b + v + n + m && (r = 1, y += '\\r');\n break;\n case 34:\n case 39:\n 0 === b && (n = n === g ? 0 : 0 === n ? g : n);\n break;\n case 91:\n 0 === n + b + v && m++;\n break;\n case 93:\n 0 === n + b + v && m--;\n break;\n case 41:\n 0 === n + b + m && v--;\n break;\n case 40:\n if (0 === n + b + m) {\n if (0 === q) switch (2 * x + 3 * K) {\n case 533:\n break;\n default:\n q = 1;\n }\n v++;\n }\n break;\n case 64:\n 0 === b + v + n + m + u + k && (k = 1);\n break;\n case 42:\n case 47:\n if (!(0 < n + m + v)) switch (b) {\n case 0:\n switch (2 * g + 3 * e.charCodeAt(l + 1)) {\n case 235:\n b = 47;\n break;\n case 220:\n t = l, b = 42;\n }\n break;\n case 42:\n 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);\n }\n }\n 0 === b && (f += y);\n }\n K = x;\n x = g;\n l++;\n }\n t = p.length;\n if (0 < t) {\n r = c;\n if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F;\n p = r.join(',') + '{' + p + '}';\n if (0 !== w * E) {\n 2 !== w || L(p, 2) || (E = 0);\n switch (E) {\n case 111:\n p = p.replace(ha, ':-moz-$1') + p;\n break;\n case 112:\n p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;\n }\n E = 0;\n }\n }\n return G + p + F;\n }\n function X(d, c, e) {\n var h = c.trim().split(ia);\n c = h;\n var a = h.length,\n m = d.length;\n switch (m) {\n case 0:\n case 1:\n var b = 0;\n for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {\n c[b] = Z(d, c[b], e).trim();\n }\n break;\n default:\n var v = b = 0;\n for (c = []; b < a; ++b) {\n for (var n = 0; n < m; ++n) {\n c[v++] = Z(d[n] + ' ', h[b], e).trim();\n }\n }\n }\n return c;\n }\n function Z(d, c, e) {\n var h = c.charCodeAt(0);\n 33 > h && (h = (c = c.trim()).charCodeAt(0));\n switch (h) {\n case 38:\n return c.replace(F, '$1' + d.trim());\n case 58:\n return d.trim() + c.replace(F, '$1' + d.trim());\n default:\n if (0 < 1 * e && 0 < c.indexOf('\\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());\n }\n return d + c;\n }\n function P(d, c, e, h) {\n var a = d + ';',\n m = 2 * c + 3 * e + 4 * h;\n if (944 === m) {\n d = a.indexOf(':', 9) + 1;\n var b = a.substring(d, a.length - 1).trim();\n b = a.substring(0, d).trim() + b + ';';\n return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;\n }\n if (0 === w || 2 === w && !L(a, 1)) return a;\n switch (m) {\n case 1015:\n return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;\n case 951:\n return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;\n case 963:\n return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;\n case 1009:\n if (100 !== a.charCodeAt(4)) break;\n case 969:\n case 942:\n return '-webkit-' + a + a;\n case 978:\n return '-webkit-' + a + '-moz-' + a + a;\n case 1019:\n case 983:\n return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;\n case 883:\n if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;\n if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;\n break;\n case 932:\n if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {\n case 103:\n return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;\n case 115:\n return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;\n case 98:\n return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;\n }\n return '-webkit-' + a + '-ms-' + a + a;\n case 964:\n return '-webkit-' + a + '-ms-flex-' + a + a;\n case 1023:\n if (99 !== a.charCodeAt(8)) break;\n b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');\n return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;\n case 1005:\n return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;\n case 1e3:\n b = a.substring(13).trim();\n c = b.indexOf('-') + 1;\n switch (b.charCodeAt(0) + b.charCodeAt(c)) {\n case 226:\n b = a.replace(G, 'tb');\n break;\n case 232:\n b = a.replace(G, 'tb-rl');\n break;\n case 220:\n b = a.replace(G, 'lr');\n break;\n default:\n return a;\n }\n return '-webkit-' + a + '-ms-' + b + a;\n case 1017:\n if (-1 === a.indexOf('sticky', 9)) break;\n case 975:\n c = (a = d).length - 10;\n b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();\n switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {\n case 203:\n if (111 > b.charCodeAt(8)) break;\n case 115:\n a = a.replace(b, '-webkit-' + b) + ';' + a;\n break;\n case 207:\n case 102:\n a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;\n }\n return a + ';';\n case 938:\n if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {\n case 105:\n return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;\n case 115:\n return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;\n default:\n return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;\n }\n break;\n case 973:\n case 989:\n if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;\n case 931:\n case 953:\n if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a;\n break;\n case 962:\n if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a;\n }\n return a;\n }\n function L(d, c) {\n var e = d.indexOf(1 === c ? ':' : '{'),\n h = d.substring(0, 3 !== c ? e : 10);\n e = d.substring(e + 1, d.length - 1);\n return R(2 !== c ? h : h.replace(na, '$1'), e, c);\n }\n function ea(d, c) {\n var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));\n return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';\n }\n function H(d, c, e, h, a, m, b, v, n, q) {\n for (var g = 0, x = c, w; g < A; ++g) {\n switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {\n case void 0:\n case !1:\n case !0:\n case null:\n break;\n default:\n x = w;\n }\n }\n if (x !== c) return x;\n }\n function T(d) {\n switch (d) {\n case void 0:\n case null:\n A = S.length = 0;\n break;\n default:\n if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) {\n T(d[c]);\n } else Y = !!d | 0;\n }\n return T;\n }\n function U(d) {\n d = d.prefix;\n void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);\n return U;\n }\n function B(d, c) {\n var e = d;\n 33 > e.charCodeAt(0) && (e = e.trim());\n V = e;\n e = [V];\n if (0 < A) {\n var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);\n void 0 !== h && 'string' === typeof h && (c = h);\n }\n var a = M(O, e, c, 0, 0);\n 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));\n V = '';\n E = 0;\n z = D = 1;\n return a;\n }\n var ca = /^\\0+/g,\n N = /[\\0\\r\\f]/g,\n aa = /: */g,\n ka = /zoo|gra/,\n ma = /([,: ])(transform)/g,\n ia = /,\\r+?/g,\n F = /([\\t\\r\\n ])*\\f?&/g,\n fa = /@(k\\w+)\\s*(\\S*)\\s*/,\n Q = /::(place)/g,\n ha = /:(read-only)/g,\n G = /[svh]\\w+-[tblr]{2}/,\n da = /\\(\\s*(.*)\\s*\\)/g,\n oa = /([\\s\\S]*?);/g,\n ba = /-self|flex-/g,\n na = /[^]*?(:[rp][el]a[\\w-]+)[^]*/,\n la = /stretch|:\\s*\\w+\\-(?:conte|avail)/,\n ja = /([^-])(image-set\\()/,\n z = 1,\n D = 1,\n E = 0,\n w = 1,\n O = [],\n S = [],\n A = 0,\n R = null,\n Y = 0,\n V = '';\n B.use = T;\n B.set = U;\n void 0 !== W && U(W);\n return B;\n}\nexport default stylis_min;","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\nexport default unitlessKeys;","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\nexport default memoize;","import memoize from '@emotion/memoize';\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|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|enterKeyHint|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|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|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\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */ && prop.charCodeAt(1) === 110\n /* n */ && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */);\n\nexport default isPropValid;","import { typeOf as e, isElement as t, isValidElementType as n } from \"react-is\";\nimport r, { useState as o, useContext as s, useMemo as i, useEffect as a, useRef as c, createElement as u, useDebugValue as l, useLayoutEffect as d } from \"react\";\nimport h from \"shallowequal\";\nimport p from \"@emotion/stylis\";\nimport f from \"@emotion/unitless\";\nimport m from \"@emotion/is-prop-valid\";\nimport y from \"hoist-non-react-statics\";\nfunction v() {\n return (v = Object.assign || function (e) {\n for (var t = 1; t < arguments.length; t++) {\n var n = arguments[t];\n for (var r in n) {\n Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);\n }\n }\n return e;\n }).apply(this, arguments);\n}\nvar g = function g(e, t) {\n for (var n = [e[0]], r = 0, o = t.length; r < o; r += 1) {\n n.push(t[r], e[r + 1]);\n }\n return n;\n },\n S = function S(t) {\n return null !== t && \"object\" == typeof t && \"[object Object]\" === (t.toString ? t.toString() : Object.prototype.toString.call(t)) && !e(t);\n },\n w = Object.freeze([]),\n E = Object.freeze({});\nfunction b(e) {\n return \"function\" == typeof e;\n}\nfunction _(e) {\n return \"production\" !== process.env.NODE_ENV && \"string\" == typeof e && e || e.displayName || e.name || \"Component\";\n}\nfunction N(e) {\n return e && \"string\" == typeof e.styledComponentId;\n}\nvar A = \"undefined\" != typeof process && (process.env.REACT_APP_SC_ATTR || process.env.SC_ATTR) || \"data-styled\",\n C = \"5.3.6\",\n I = \"undefined\" != typeof window && \"HTMLElement\" in window,\n P = Boolean(\"boolean\" == typeof SC_DISABLE_SPEEDY ? SC_DISABLE_SPEEDY : \"undefined\" != typeof process && void 0 !== process.env.REACT_APP_SC_DISABLE_SPEEDY && \"\" !== process.env.REACT_APP_SC_DISABLE_SPEEDY ? \"false\" !== process.env.REACT_APP_SC_DISABLE_SPEEDY && process.env.REACT_APP_SC_DISABLE_SPEEDY : \"undefined\" != typeof process && void 0 !== process.env.SC_DISABLE_SPEEDY && \"\" !== process.env.SC_DISABLE_SPEEDY ? \"false\" !== process.env.SC_DISABLE_SPEEDY && process.env.SC_DISABLE_SPEEDY : \"production\" !== process.env.NODE_ENV),\n O = {},\n R = \"production\" !== process.env.NODE_ENV ? {\n 1: \"Cannot create styled-component for component: %s.\\n\\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\",\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\",\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\",\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\",\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\",\n 7: 'ThemeProvider: Please return an object from your \"theme\" prop function, e.g.\\n\\n```js\\ntheme={() => ({})}\\n```\\n\\n',\n 8: 'ThemeProvider: Please make your \"theme\" prop an object.\\n\\n',\n 9: \"Missing document ``\\n\\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\",\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\",\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\",\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\\n\",\n 14: 'ThemeProvider: \"theme\" prop is required.\\n\\n',\n 15: \"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to ``, please make sure each plugin is uniquely-named, e.g.\\n\\n```js\\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\\n```\\n\\n\",\n 16: \"Reached the limit of how many styled components may be created at group %s.\\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\\nas for instance in your render method then you may be running into this limitation.\\n\\n\",\n 17: \"CSSStyleSheet could not be found on HTMLStyleElement.\\nHas styled-components' style tag been unmounted or altered by another script?\\n\"\n } : {};\nfunction D() {\n for (var e = arguments.length <= 0 ? void 0 : arguments[0], t = [], n = 1, r = arguments.length; n < r; n += 1) {\n t.push(n < 0 || arguments.length <= n ? void 0 : arguments[n]);\n }\n return t.forEach(function (t) {\n e = e.replace(/%[a-z]/, t);\n }), e;\n}\nfunction j(e) {\n for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) {\n n[r - 1] = arguments[r];\n }\n throw \"production\" === process.env.NODE_ENV ? new Error(\"An error occurred. See https://git.io/JUIaE#\" + e + \" for more information.\" + (n.length > 0 ? \" Args: \" + n.join(\", \") : \"\")) : new Error(D.apply(void 0, [R[e]].concat(n)).trim());\n}\nvar T = function () {\n function e(e) {\n this.groupSizes = new Uint32Array(512), this.length = 512, this.tag = e;\n }\n var t = e.prototype;\n return t.indexOfGroup = function (e) {\n for (var t = 0, n = 0; n < e; n++) {\n t += this.groupSizes[n];\n }\n return t;\n }, t.insertRules = function (e, t) {\n if (e >= this.groupSizes.length) {\n for (var n = this.groupSizes, r = n.length, o = r; e >= o;) {\n (o <<= 1) < 0 && j(16, \"\" + e);\n }\n this.groupSizes = new Uint32Array(o), this.groupSizes.set(n), this.length = o;\n for (var s = r; s < o; s++) {\n this.groupSizes[s] = 0;\n }\n }\n for (var i = this.indexOfGroup(e + 1), a = 0, c = t.length; a < c; a++) {\n this.tag.insertRule(i, t[a]) && (this.groupSizes[e]++, i++);\n }\n }, t.clearGroup = function (e) {\n if (e < this.length) {\n var t = this.groupSizes[e],\n n = this.indexOfGroup(e),\n r = n + t;\n this.groupSizes[e] = 0;\n for (var o = n; o < r; o++) {\n this.tag.deleteRule(n);\n }\n }\n }, t.getGroup = function (e) {\n var t = \"\";\n if (e >= this.length || 0 === this.groupSizes[e]) return t;\n for (var n = this.groupSizes[e], r = this.indexOfGroup(e), o = r + n, s = r; s < o; s++) {\n t += this.tag.getRule(s) + \"/*!sc*/\\n\";\n }\n return t;\n }, e;\n }(),\n x = new Map(),\n k = new Map(),\n V = 1,\n B = function B(e) {\n if (x.has(e)) return x.get(e);\n for (; k.has(V);) {\n V++;\n }\n var t = V++;\n return \"production\" !== process.env.NODE_ENV && ((0 | t) < 0 || t > 1 << 30) && j(16, \"\" + t), x.set(e, t), k.set(t, e), t;\n },\n z = function z(e) {\n return k.get(e);\n },\n M = function M(e, t) {\n t >= V && (V = t + 1), x.set(e, t), k.set(t, e);\n },\n G = \"style[\" + A + '][data-styled-version=\"5.3.6\"]',\n L = new RegExp(\"^\" + A + '\\\\.g(\\\\d+)\\\\[id=\"([\\\\w\\\\d-]+)\"\\\\].*?\"([^\"]*)'),\n F = function F(e, t, n) {\n for (var r, o = n.split(\",\"), s = 0, i = o.length; s < i; s++) {\n (r = o[s]) && e.registerName(t, r);\n }\n },\n Y = function Y(e, t) {\n for (var n = (t.textContent || \"\").split(\"/*!sc*/\\n\"), r = [], o = 0, s = n.length; o < s; o++) {\n var i = n[o].trim();\n if (i) {\n var a = i.match(L);\n if (a) {\n var c = 0 | parseInt(a[1], 10),\n u = a[2];\n 0 !== c && (M(u, c), F(e, u, a[3]), e.getTag().insertRules(c, r)), r.length = 0;\n } else r.push(i);\n }\n }\n },\n q = function q() {\n return \"undefined\" != typeof __webpack_nonce__ ? __webpack_nonce__ : null;\n },\n H = function H(e) {\n var t = document.head,\n n = e || t,\n r = document.createElement(\"style\"),\n o = function (e) {\n for (var t = e.childNodes, n = t.length; n >= 0; n--) {\n var r = t[n];\n if (r && 1 === r.nodeType && r.hasAttribute(A)) return r;\n }\n }(n),\n s = void 0 !== o ? o.nextSibling : null;\n r.setAttribute(A, \"active\"), r.setAttribute(\"data-styled-version\", \"5.3.6\");\n var i = q();\n return i && r.setAttribute(\"nonce\", i), n.insertBefore(r, s), r;\n },\n $ = function () {\n function e(e) {\n var t = this.element = H(e);\n t.appendChild(document.createTextNode(\"\")), this.sheet = function (e) {\n if (e.sheet) return e.sheet;\n for (var t = document.styleSheets, n = 0, r = t.length; n < r; n++) {\n var o = t[n];\n if (o.ownerNode === e) return o;\n }\n j(17);\n }(t), this.length = 0;\n }\n var t = e.prototype;\n return t.insertRule = function (e, t) {\n try {\n return this.sheet.insertRule(t, e), this.length++, !0;\n } catch (e) {\n return !1;\n }\n }, t.deleteRule = function (e) {\n this.sheet.deleteRule(e), this.length--;\n }, t.getRule = function (e) {\n var t = this.sheet.cssRules[e];\n return void 0 !== t && \"string\" == typeof t.cssText ? t.cssText : \"\";\n }, e;\n }(),\n W = function () {\n function e(e) {\n var t = this.element = H(e);\n this.nodes = t.childNodes, this.length = 0;\n }\n var t = e.prototype;\n return t.insertRule = function (e, t) {\n if (e <= this.length && e >= 0) {\n var n = document.createTextNode(t),\n r = this.nodes[e];\n return this.element.insertBefore(n, r || null), this.length++, !0;\n }\n return !1;\n }, t.deleteRule = function (e) {\n this.element.removeChild(this.nodes[e]), this.length--;\n }, t.getRule = function (e) {\n return e < this.length ? this.nodes[e].textContent : \"\";\n }, e;\n }(),\n U = function () {\n function e(e) {\n this.rules = [], this.length = 0;\n }\n var t = e.prototype;\n return t.insertRule = function (e, t) {\n return e <= this.length && (this.rules.splice(e, 0, t), this.length++, !0);\n }, t.deleteRule = function (e) {\n this.rules.splice(e, 1), this.length--;\n }, t.getRule = function (e) {\n return e < this.length ? this.rules[e] : \"\";\n }, e;\n }(),\n J = I,\n X = {\n isServer: !I,\n useCSSOMInjection: !P\n },\n Z = function () {\n function e(e, t, n) {\n void 0 === e && (e = E), void 0 === t && (t = {}), this.options = v({}, X, {}, e), this.gs = t, this.names = new Map(n), this.server = !!e.isServer, !this.server && I && J && (J = !1, function (e) {\n for (var t = document.querySelectorAll(G), n = 0, r = t.length; n < r; n++) {\n var o = t[n];\n o && \"active\" !== o.getAttribute(A) && (Y(e, o), o.parentNode && o.parentNode.removeChild(o));\n }\n }(this));\n }\n e.registerId = function (e) {\n return B(e);\n };\n var t = e.prototype;\n return t.reconstructWithOptions = function (t, n) {\n return void 0 === n && (n = !0), new e(v({}, this.options, {}, t), this.gs, n && this.names || void 0);\n }, t.allocateGSInstance = function (e) {\n return this.gs[e] = (this.gs[e] || 0) + 1;\n }, t.getTag = function () {\n return this.tag || (this.tag = (n = (t = this.options).isServer, r = t.useCSSOMInjection, o = t.target, e = n ? new U(o) : r ? new $(o) : new W(o), new T(e)));\n var e, t, n, r, o;\n }, t.hasNameForId = function (e, t) {\n return this.names.has(e) && this.names.get(e).has(t);\n }, t.registerName = function (e, t) {\n if (B(e), this.names.has(e)) this.names.get(e).add(t);else {\n var n = new Set();\n n.add(t), this.names.set(e, n);\n }\n }, t.insertRules = function (e, t, n) {\n this.registerName(e, t), this.getTag().insertRules(B(e), n);\n }, t.clearNames = function (e) {\n this.names.has(e) && this.names.get(e).clear();\n }, t.clearRules = function (e) {\n this.getTag().clearGroup(B(e)), this.clearNames(e);\n }, t.clearTag = function () {\n this.tag = void 0;\n }, t.toString = function () {\n return function (e) {\n for (var t = e.getTag(), n = t.length, r = \"\", o = 0; o < n; o++) {\n var s = z(o);\n if (void 0 !== s) {\n var i = e.names.get(s),\n a = t.getGroup(o);\n if (i && a && i.size) {\n var c = A + \".g\" + o + '[id=\"' + s + '\"]',\n u = \"\";\n void 0 !== i && i.forEach(function (e) {\n e.length > 0 && (u += e + \",\");\n }), r += \"\" + a + c + '{content:\"' + u + '\"}/*!sc*/\\n';\n }\n }\n }\n return r;\n }(this);\n }, e;\n }(),\n K = /(a)(d)/gi,\n Q = function Q(e) {\n return String.fromCharCode(e + (e > 25 ? 39 : 97));\n };\nfunction ee(e) {\n var t,\n n = \"\";\n for (t = Math.abs(e); t > 52; t = t / 52 | 0) {\n n = Q(t % 52) + n;\n }\n return (Q(t % 52) + n).replace(K, \"$1-$2\");\n}\nvar te = function te(e, t) {\n for (var n = t.length; n;) {\n e = 33 * e ^ t.charCodeAt(--n);\n }\n return e;\n },\n ne = function ne(e) {\n return te(5381, e);\n };\nfunction re(e) {\n for (var t = 0; t < e.length; t += 1) {\n var n = e[t];\n if (b(n) && !N(n)) return !1;\n }\n return !0;\n}\nvar oe = ne(\"5.3.6\"),\n se = function () {\n function e(e, t, n) {\n this.rules = e, this.staticRulesId = \"\", this.isStatic = \"production\" === process.env.NODE_ENV && (void 0 === n || n.isStatic) && re(e), this.componentId = t, this.baseHash = te(oe, t), this.baseStyle = n, Z.registerId(t);\n }\n return e.prototype.generateAndInjectStyles = function (e, t, n) {\n var r = this.componentId,\n o = [];\n if (this.baseStyle && o.push(this.baseStyle.generateAndInjectStyles(e, t, n)), this.isStatic && !n.hash) {\n if (this.staticRulesId && t.hasNameForId(r, this.staticRulesId)) o.push(this.staticRulesId);else {\n var s = Ne(this.rules, e, t, n).join(\"\"),\n i = ee(te(this.baseHash, s) >>> 0);\n if (!t.hasNameForId(r, i)) {\n var a = n(s, \".\" + i, void 0, r);\n t.insertRules(r, i, a);\n }\n o.push(i), this.staticRulesId = i;\n }\n } else {\n for (var c = this.rules.length, u = te(this.baseHash, n.hash), l = \"\", d = 0; d < c; d++) {\n var h = this.rules[d];\n if (\"string\" == typeof h) l += h, \"production\" !== process.env.NODE_ENV && (u = te(u, h + d));else if (h) {\n var p = Ne(h, e, t, n),\n f = Array.isArray(p) ? p.join(\"\") : p;\n u = te(u, f + d), l += f;\n }\n }\n if (l) {\n var m = ee(u >>> 0);\n if (!t.hasNameForId(r, m)) {\n var y = n(l, \".\" + m, void 0, r);\n t.insertRules(r, m, y);\n }\n o.push(m);\n }\n }\n return o.join(\" \");\n }, e;\n }(),\n ie = /^\\s*\\/\\/.*$/gm,\n ae = [\":\", \"[\", \".\", \"#\"];\nfunction ce(e) {\n var t,\n n,\n r,\n o,\n s = void 0 === e ? E : e,\n i = s.options,\n a = void 0 === i ? E : i,\n c = s.plugins,\n u = void 0 === c ? w : c,\n l = new p(a),\n d = [],\n h = function (e) {\n function t(t) {\n if (t) try {\n e(t + \"}\");\n } catch (e) {}\n }\n return function (n, r, o, s, i, a, c, u, l, d) {\n switch (n) {\n case 1:\n if (0 === l && 64 === r.charCodeAt(0)) return e(r + \";\"), \"\";\n break;\n case 2:\n if (0 === u) return r + \"/*|*/\";\n break;\n case 3:\n switch (u) {\n case 102:\n case 112:\n return e(o[0] + r), \"\";\n default:\n return r + (0 === d ? \"/*|*/\" : \"\");\n }\n case -2:\n r.split(\"/*|*/}\").forEach(t);\n }\n };\n }(function (e) {\n d.push(e);\n }),\n f = function f(e, r, s) {\n return 0 === r && -1 !== ae.indexOf(s[n.length]) || s.match(o) ? e : \".\" + t;\n };\n function m(e, s, i, a) {\n void 0 === a && (a = \"&\");\n var c = e.replace(ie, \"\"),\n u = s && i ? i + \" \" + s + \" { \" + c + \" }\" : c;\n return t = a, n = s, r = new RegExp(\"\\\\\" + n + \"\\\\b\", \"g\"), o = new RegExp(\"(\\\\\" + n + \"\\\\b){2,}\"), l(i || !s ? \"\" : s, u);\n }\n return l.use([].concat(u, [function (e, t, o) {\n 2 === e && o.length && o[0].lastIndexOf(n) > 0 && (o[0] = o[0].replace(r, f));\n }, h, function (e) {\n if (-2 === e) {\n var t = d;\n return d = [], t;\n }\n }])), m.hash = u.length ? u.reduce(function (e, t) {\n return t.name || j(15), te(e, t.name);\n }, 5381).toString() : \"\", m;\n}\nvar ue = r.createContext(),\n le = ue.Consumer,\n de = r.createContext(),\n he = (de.Consumer, new Z()),\n pe = ce();\nfunction fe() {\n return s(ue) || he;\n}\nfunction me() {\n return s(de) || pe;\n}\nfunction ye(e) {\n var t = o(e.stylisPlugins),\n n = t[0],\n s = t[1],\n c = fe(),\n u = i(function () {\n var t = c;\n return e.sheet ? t = e.sheet : e.target && (t = t.reconstructWithOptions({\n target: e.target\n }, !1)), e.disableCSSOMInjection && (t = t.reconstructWithOptions({\n useCSSOMInjection: !1\n })), t;\n }, [e.disableCSSOMInjection, e.sheet, e.target]),\n l = i(function () {\n return ce({\n options: {\n prefix: !e.disableVendorPrefixes\n },\n plugins: n\n });\n }, [e.disableVendorPrefixes, n]);\n return a(function () {\n h(n, e.stylisPlugins) || s(e.stylisPlugins);\n }, [e.stylisPlugins]), r.createElement(ue.Provider, {\n value: u\n }, r.createElement(de.Provider, {\n value: l\n }, \"production\" !== process.env.NODE_ENV ? r.Children.only(e.children) : e.children));\n}\nvar ve = function () {\n function e(e, t) {\n var n = this;\n this.inject = function (e, t) {\n void 0 === t && (t = pe);\n var r = n.name + t.hash;\n e.hasNameForId(n.id, r) || e.insertRules(n.id, r, t(n.rules, r, \"@keyframes\"));\n }, this.toString = function () {\n return j(12, String(n.name));\n }, this.name = e, this.id = \"sc-keyframes-\" + e, this.rules = t;\n }\n return e.prototype.getName = function (e) {\n return void 0 === e && (e = pe), this.name + e.hash;\n }, e;\n }(),\n ge = /([A-Z])/,\n Se = /([A-Z])/g,\n we = /^ms-/,\n Ee = function Ee(e) {\n return \"-\" + e.toLowerCase();\n };\nfunction be(e) {\n return ge.test(e) ? e.replace(Se, Ee).replace(we, \"-ms-\") : e;\n}\nvar _e = function _e(e) {\n return null == e || !1 === e || \"\" === e;\n};\nfunction Ne(e, n, r, o) {\n if (Array.isArray(e)) {\n for (var s, i = [], a = 0, c = e.length; a < c; a += 1) {\n \"\" !== (s = Ne(e[a], n, r, o)) && (Array.isArray(s) ? i.push.apply(i, s) : i.push(s));\n }\n return i;\n }\n if (_e(e)) return \"\";\n if (N(e)) return \".\" + e.styledComponentId;\n if (b(e)) {\n if (\"function\" != typeof (l = e) || l.prototype && l.prototype.isReactComponent || !n) return e;\n var u = e(n);\n return \"production\" !== process.env.NODE_ENV && t(u) && console.warn(_(e) + \" 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.\"), Ne(u, n, r, o);\n }\n var l;\n return e instanceof ve ? r ? (e.inject(r, o), e.getName(o)) : e : S(e) ? function e(t, n) {\n var r,\n o,\n s = [];\n for (var i in t) {\n t.hasOwnProperty(i) && !_e(t[i]) && (Array.isArray(t[i]) && t[i].isCss || b(t[i]) ? s.push(be(i) + \":\", t[i], \";\") : S(t[i]) ? s.push.apply(s, e(t[i], i)) : s.push(be(i) + \": \" + (r = i, null == (o = t[i]) || \"boolean\" == typeof o || \"\" === o ? \"\" : \"number\" != typeof o || 0 === o || r in f ? String(o).trim() : o + \"px\") + \";\"));\n }\n return n ? [n + \" {\"].concat(s, [\"}\"]) : s;\n }(e) : e.toString();\n}\nvar Ae = function Ae(e) {\n return Array.isArray(e) && (e.isCss = !0), e;\n};\nfunction Ce(e) {\n for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) {\n n[r - 1] = arguments[r];\n }\n return b(e) || S(e) ? Ae(Ne(g(w, [e].concat(n)))) : 0 === n.length && 1 === e.length && \"string\" == typeof e[0] ? e : Ae(Ne(g(e, n)));\n}\nvar Ie = /invalid hook call/i,\n Pe = new Set(),\n Oe = function Oe(e, t) {\n if (\"production\" !== process.env.NODE_ENV) {\n var n = \"The component \" + e + (t ? ' with the id of \"' + t + '\"' : \"\") + \" has been created dynamically.\\nYou may see this warning because you've called styled inside another component.\\nTo resolve this only create new StyledComponents outside of any render method and function component.\",\n r = console.error;\n try {\n var o = !0;\n console.error = function (e) {\n if (Ie.test(e)) o = !1, Pe.delete(n);else {\n for (var t = arguments.length, s = new Array(t > 1 ? t - 1 : 0), i = 1; i < t; i++) {\n s[i - 1] = arguments[i];\n }\n r.apply(void 0, [e].concat(s));\n }\n }, c(), o && !Pe.has(n) && (console.warn(n), Pe.add(n));\n } catch (e) {\n Ie.test(e.message) && Pe.delete(n);\n } finally {\n console.error = r;\n }\n }\n },\n Re = function Re(e, t, n) {\n return void 0 === n && (n = E), e.theme !== n.theme && e.theme || t || n.theme;\n },\n De = /[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^`{|}~-]+/g,\n je = /(^-|-$)/g;\nfunction Te(e) {\n return e.replace(De, \"-\").replace(je, \"\");\n}\nvar xe = function xe(e) {\n return ee(ne(e) >>> 0);\n};\nfunction ke(e) {\n return \"string\" == typeof e && (\"production\" === process.env.NODE_ENV || e.charAt(0) === e.charAt(0).toLowerCase());\n}\nvar Ve = function Ve(e) {\n return \"function\" == typeof e || \"object\" == typeof e && null !== e && !Array.isArray(e);\n },\n Be = function Be(e) {\n return \"__proto__\" !== e && \"constructor\" !== e && \"prototype\" !== e;\n };\nfunction ze(e, t, n) {\n var r = e[n];\n Ve(t) && Ve(r) ? Me(r, t) : e[n] = t;\n}\nfunction Me(e) {\n for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) {\n n[r - 1] = arguments[r];\n }\n for (var o = 0, s = n; o < s.length; o++) {\n var i = s[o];\n if (Ve(i)) for (var a in i) {\n Be(a) && ze(e, i[a], a);\n }\n }\n return e;\n}\nvar Ge = r.createContext(),\n Le = Ge.Consumer;\nfunction Fe(e) {\n var t = s(Ge),\n n = i(function () {\n return function (e, t) {\n if (!e) return j(14);\n if (b(e)) {\n var n = e(t);\n return \"production\" === process.env.NODE_ENV || null !== n && !Array.isArray(n) && \"object\" == typeof n ? n : j(7);\n }\n return Array.isArray(e) || \"object\" != typeof e ? j(8) : t ? v({}, t, {}, e) : e;\n }(e.theme, t);\n }, [e.theme, t]);\n return e.children ? r.createElement(Ge.Provider, {\n value: n\n }, e.children) : null;\n}\nvar Ye = {};\nfunction qe(e, t, n) {\n var o = N(e),\n i = !ke(e),\n a = t.attrs,\n c = void 0 === a ? w : a,\n d = t.componentId,\n h = void 0 === d ? function (e, t) {\n var n = \"string\" != typeof e ? \"sc\" : Te(e);\n Ye[n] = (Ye[n] || 0) + 1;\n var r = n + \"-\" + xe(\"5.3.6\" + n + Ye[n]);\n return t ? t + \"-\" + r : r;\n }(t.displayName, t.parentComponentId) : d,\n p = t.displayName,\n f = void 0 === p ? function (e) {\n return ke(e) ? \"styled.\" + e : \"Styled(\" + _(e) + \")\";\n }(e) : p,\n g = t.displayName && t.componentId ? Te(t.displayName) + \"-\" + t.componentId : t.componentId || h,\n S = o && e.attrs ? Array.prototype.concat(e.attrs, c).filter(Boolean) : c,\n A = t.shouldForwardProp;\n o && e.shouldForwardProp && (A = t.shouldForwardProp ? function (n, r, o) {\n return e.shouldForwardProp(n, r, o) && t.shouldForwardProp(n, r, o);\n } : e.shouldForwardProp);\n var C,\n I = new se(n, g, o ? e.componentStyle : void 0),\n P = I.isStatic && 0 === c.length,\n O = function O(e, t) {\n return function (e, t, n, r) {\n var o = e.attrs,\n i = e.componentStyle,\n a = e.defaultProps,\n c = e.foldedComponentIds,\n d = e.shouldForwardProp,\n h = e.styledComponentId,\n p = e.target;\n \"production\" !== process.env.NODE_ENV && l(h);\n var f = function (e, t, n) {\n void 0 === e && (e = E);\n var r = v({}, t, {\n theme: e\n }),\n o = {};\n return n.forEach(function (e) {\n var t,\n n,\n s,\n i = e;\n for (t in b(i) && (i = i(r)), i) {\n r[t] = o[t] = \"className\" === t ? (n = o[t], s = i[t], n && s ? n + \" \" + s : n || s) : i[t];\n }\n }), [r, o];\n }(Re(t, s(Ge), a) || E, t, o),\n y = f[0],\n g = f[1],\n S = function (e, t, n, r) {\n var o = fe(),\n s = me(),\n i = t ? e.generateAndInjectStyles(E, o, s) : e.generateAndInjectStyles(n, o, s);\n return \"production\" !== process.env.NODE_ENV && l(i), \"production\" !== process.env.NODE_ENV && !t && r && r(i), i;\n }(i, r, y, \"production\" !== process.env.NODE_ENV ? e.warnTooManyClasses : void 0),\n w = n,\n _ = g.$as || t.$as || g.as || t.as || p,\n N = ke(_),\n A = g !== t ? v({}, t, {}, g) : t,\n C = {};\n for (var I in A) {\n \"$\" !== I[0] && \"as\" !== I && (\"forwardedAs\" === I ? C.as = A[I] : (d ? d(I, m, _) : !N || m(I)) && (C[I] = A[I]));\n }\n return t.style && g.style !== t.style && (C.style = v({}, t.style, {}, g.style)), C.className = Array.prototype.concat(c, h, S !== h ? S : null, t.className, g.className).filter(Boolean).join(\" \"), C.ref = w, u(_, C);\n }(C, e, t, P);\n };\n return O.displayName = f, (C = r.forwardRef(O)).attrs = S, C.componentStyle = I, C.displayName = f, C.shouldForwardProp = A, C.foldedComponentIds = o ? Array.prototype.concat(e.foldedComponentIds, e.styledComponentId) : w, C.styledComponentId = g, C.target = o ? e.target : e, C.withComponent = function (e) {\n var r = t.componentId,\n o = function (e, t) {\n if (null == e) return {};\n var n,\n r,\n o = {},\n s = Object.keys(e);\n for (r = 0; r < s.length; r++) {\n n = s[r], t.indexOf(n) >= 0 || (o[n] = e[n]);\n }\n return o;\n }(t, [\"componentId\"]),\n s = r && r + \"-\" + (ke(e) ? e : Te(_(e)));\n return qe(e, v({}, o, {\n attrs: S,\n componentId: s\n }), n);\n }, Object.defineProperty(C, \"defaultProps\", {\n get: function get() {\n return this._foldedDefaultProps;\n },\n set: function set(t) {\n this._foldedDefaultProps = o ? Me({}, e.defaultProps, t) : t;\n }\n }), \"production\" !== process.env.NODE_ENV && (Oe(f, g), C.warnTooManyClasses = function (e, t) {\n var n = {},\n r = !1;\n return function (o) {\n if (!r && (n[o] = !0, Object.keys(n).length >= 200)) {\n var s = t ? ' with the id of \"' + t + '\"' : \"\";\n console.warn(\"Over 200 classes were generated for component \" + e + s + \".\\nConsider using the attrs method, together with a style object for frequently changed styles.\\nExample:\\n const Component = styled.div.attrs(props => ({\\n style: {\\n background: props.background,\\n },\\n }))`width: 100%;`\\n\\n \"), r = !0, n = {};\n }\n };\n }(f, g)), C.toString = function () {\n return \".\" + C.styledComponentId;\n }, i && y(C, e, {\n attrs: !0,\n componentStyle: !0,\n displayName: !0,\n foldedComponentIds: !0,\n shouldForwardProp: !0,\n styledComponentId: !0,\n target: !0,\n withComponent: !0\n }), C;\n}\nvar He = function He(e) {\n return function e(t, r, o) {\n if (void 0 === o && (o = E), !n(r)) return j(1, String(r));\n var s = function s() {\n return t(r, o, Ce.apply(void 0, arguments));\n };\n return s.withConfig = function (n) {\n return e(t, r, v({}, o, {}, n));\n }, s.attrs = function (n) {\n return e(t, r, v({}, o, {\n attrs: Array.prototype.concat(o.attrs, n).filter(Boolean)\n }));\n }, s;\n }(qe, e);\n};\n[\"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\", \"circle\", \"clipPath\", \"defs\", \"ellipse\", \"foreignObject\", \"g\", \"image\", \"line\", \"linearGradient\", \"marker\", \"mask\", \"path\", \"pattern\", \"polygon\", \"polyline\", \"radialGradient\", \"rect\", \"stop\", \"svg\", \"text\", \"textPath\", \"tspan\"].forEach(function (e) {\n He[e] = He(e);\n});\nvar $e = function () {\n function e(e, t) {\n this.rules = e, this.componentId = t, this.isStatic = re(e), Z.registerId(this.componentId + 1);\n }\n var t = e.prototype;\n return t.createStyles = function (e, t, n, r) {\n var o = r(Ne(this.rules, t, n, r).join(\"\"), \"\"),\n s = this.componentId + e;\n n.insertRules(s, s, o);\n }, t.removeStyles = function (e, t) {\n t.clearRules(this.componentId + e);\n }, t.renderStyles = function (e, t, n, r) {\n e > 2 && Z.registerId(this.componentId + e), this.removeStyles(e, n), this.createStyles(e, t, n, r);\n }, e;\n}();\nfunction We(e) {\n for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), o = 1; o < t; o++) {\n n[o - 1] = arguments[o];\n }\n var i = Ce.apply(void 0, [e].concat(n)),\n a = \"sc-global-\" + xe(JSON.stringify(i)),\n u = new $e(i, a);\n function l(e) {\n var t = fe(),\n n = me(),\n o = s(Ge),\n l = c(t.allocateGSInstance(a)).current;\n return \"production\" !== process.env.NODE_ENV && r.Children.count(e.children) && console.warn(\"The global style component \" + a + \" was given child JSX. createGlobalStyle does not render children.\"), \"production\" !== process.env.NODE_ENV && i.some(function (e) {\n return \"string\" == typeof e && -1 !== e.indexOf(\"@import\");\n }) && console.warn(\"Please do not use @import CSS syntax in createGlobalStyle at this time, as the CSSOM APIs we use in production do not handle it well. Instead, we recommend using a library such as react-helmet to inject a typical meta tag to the stylesheet, or simply embedding it manually in your index.html section for a simpler app.\"), t.server && h(l, e, t, o, n), d(function () {\n if (!t.server) return h(l, e, t, o, n), function () {\n return u.removeStyles(l, t);\n };\n }, [l, e, t, o, n]), null;\n }\n function h(e, t, n, r, o) {\n if (u.isStatic) u.renderStyles(e, O, n, o);else {\n var s = v({}, t, {\n theme: Re(t, r, l.defaultProps)\n });\n u.renderStyles(e, s, n, o);\n }\n }\n return \"production\" !== process.env.NODE_ENV && Oe(a), r.memo(l);\n}\nfunction Ue(e) {\n \"production\" !== process.env.NODE_ENV && \"undefined\" != typeof navigator && \"ReactNative\" === navigator.product && console.warn(\"`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.\");\n for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) {\n n[r - 1] = arguments[r];\n }\n var o = Ce.apply(void 0, [e].concat(n)).join(\"\"),\n s = xe(o);\n return new ve(s, o);\n}\nvar Je = function () {\n function e() {\n var e = this;\n this._emitSheetCSS = function () {\n var t = e.instance.toString();\n if (!t) return \"\";\n var n = q();\n return \"\";\n }, this.getStyleTags = function () {\n return e.sealed ? j(2) : e._emitSheetCSS();\n }, this.getStyleElement = function () {\n var t;\n if (e.sealed) return j(2);\n var n = ((t = {})[A] = \"\", t[\"data-styled-version\"] = \"5.3.6\", t.dangerouslySetInnerHTML = {\n __html: e.instance.toString()\n }, t),\n o = q();\n return o && (n.nonce = o), [r.createElement(\"style\", v({}, n, {\n key: \"sc-0-0\"\n }))];\n }, this.seal = function () {\n e.sealed = !0;\n }, this.instance = new Z({\n isServer: !0\n }), this.sealed = !1;\n }\n var t = e.prototype;\n return t.collectStyles = function (e) {\n return this.sealed ? j(2) : r.createElement(ye, {\n sheet: this.instance\n }, e);\n }, t.interleaveWithNodeStream = function (e) {\n return j(3);\n }, e;\n }(),\n Xe = function Xe(e) {\n var t = r.forwardRef(function (t, n) {\n var o = s(Ge),\n i = e.defaultProps,\n a = Re(t, o, i);\n return \"production\" !== process.env.NODE_ENV && void 0 === a && console.warn('[withTheme] You are not using a ThemeProvider nor passing a theme prop or a theme in defaultProps in component class \"' + _(e) + '\"'), r.createElement(e, v({}, t, {\n theme: a,\n ref: n\n }));\n });\n return y(t, e), t.displayName = \"WithTheme(\" + _(e) + \")\", t;\n },\n Ze = function Ze() {\n return s(Ge);\n },\n Ke = {\n StyleSheet: Z,\n masterSheet: he\n };\n\"production\" !== process.env.NODE_ENV && \"undefined\" != typeof navigator && \"ReactNative\" === navigator.product && console.warn(\"It looks like you've imported 'styled-components' on React Native.\\nPerhaps you're looking to import 'styled-components/native'?\\nRead more about this at https://www.styled-components.com/docs/basics#react-native\"), \"production\" !== process.env.NODE_ENV && \"test\" !== process.env.NODE_ENV && \"undefined\" != typeof window && (window[\"__styled-components-init__\"] = window[\"__styled-components-init__\"] || 0, 1 === window[\"__styled-components-init__\"] && console.warn(\"It looks like there are several instances of 'styled-components' initialized in this application. This may cause dynamic styles to not render properly, errors during the rehydration process, a missing theme prop, and makes your application bigger without good reason.\\n\\nSee https://s-c.sh/2BAXzed for more info.\"), window[\"__styled-components-init__\"] += 1);\nexport default He;\nexport { Je as ServerStyleSheet, le as StyleSheetConsumer, ue as StyleSheetContext, ye as StyleSheetManager, Le as ThemeConsumer, Ge as ThemeContext, Fe as ThemeProvider, Ke as __PRIVATE__, We as createGlobalStyle, Ce as css, N as isStyledComponent, Ue as keyframes, Ze as useTheme, C as version, Xe as withTheme };","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? $Array : C;\n};\n","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","var $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar bind = require('../internals/function-bind-context');\n\n// `FlattenIntoArray` abstract operation\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {\n var targetIndex = start;\n var sourceIndex = 0;\n var mapFn = mapper ? bind(mapper, thisArg) : false;\n var element, elementLen;\n\n while (sourceIndex < sourceLen) {\n if (sourceIndex in source) {\n element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n if (depth > 0 && isArray(element)) {\n elementLen = lengthOfArrayLike(element);\n targetIndex = flattenIntoArray(target, original, element, elementLen, targetIndex, depth - 1) - 1;\n } else {\n doesNotExceedSafeInteger(targetIndex + 1);\n target[targetIndex] = element;\n }\n\n targetIndex++;\n }\n sourceIndex++;\n }\n return targetIndex;\n};\n\nmodule.exports = flattenIntoArray;\n","var uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) == 'Array';\n};\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flatMap` method\n// https://tc39.es/ecma262/#sec-array.prototype.flatmap\n$({ target: 'Array', proto: true }, {\n flatMap: function flatMap(callbackfn /* , thisArg */) {\n var O = toObject(this);\n var sourceLen = lengthOfArrayLike(O);\n var A;\n aCallable(callbackfn);\n A = arraySpeciesCreate(O, 0);\n A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n return A;\n }\n});\n","// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('flatMap');\n","exports.components = {\n \"component---src-pages-404-js\": () => import(\"./../../../src/pages/404.js\" /* webpackChunkName: \"component---src-pages-404-js\" */),\n \"component---src-pages-about-js\": () => import(\"./../../../src/pages/about.js\" /* webpackChunkName: \"component---src-pages-about-js\" */),\n \"component---src-pages-clients-js\": () => import(\"./../../../src/pages/clients.js\" /* webpackChunkName: \"component---src-pages-clients-js\" */),\n \"component---src-pages-contact-js\": () => import(\"./../../../src/pages/contact.js\" /* webpackChunkName: \"component---src-pages-contact-js\" */),\n \"component---src-pages-index-js\": () => import(\"./../../../src/pages/index.js\" /* webpackChunkName: \"component---src-pages-index-js\" */),\n \"component---src-pages-inspiration-js\": () => import(\"./../../../src/pages/inspiration.js\" /* webpackChunkName: \"component---src-pages-inspiration-js\" */),\n \"component---src-pages-journals-js\": () => import(\"./../../../src/pages/journals.js\" /* webpackChunkName: \"component---src-pages-journals-js\" */),\n \"component---src-pages-portfolio-js\": () => import(\"./../../../src/pages/portfolio.js\" /* webpackChunkName: \"component---src-pages-portfolio-js\" */),\n \"component---src-pages-practice-js\": () => import(\"./../../../src/pages/practice.js\" /* webpackChunkName: \"component---src-pages-practice-js\" */),\n \"component---src-pages-team-js\": () => import(\"./../../../src/pages/team.js\" /* webpackChunkName: \"component---src-pages-team-js\" */),\n \"component---src-templates-case-study-js\": () => import(\"./../../../src/templates/caseStudy.js\" /* webpackChunkName: \"component---src-templates-case-study-js\" */),\n \"component---src-templates-post-js\": () => import(\"./../../../src/templates/post.js\" /* webpackChunkName: \"component---src-templates-post-js\" */),\n \"component---src-templates-tags-js\": () => import(\"./../../../src/templates/tags.js\" /* webpackChunkName: \"component---src-templates-tags-js\" */)\n}\n\n","module.exports = [{\n plugin: require('../node_modules/gatsby-plugin-catch-links/gatsby-browser.js'),\n options: {\"plugins\":[]},\n },{\n plugin: require('../node_modules/gatsby-source-wordpress/gatsby-browser.js'),\n options: {\"plugins\":[],\"url\":\"https://www.cms.kwazi.in/graphql\",\"html\":{\"useGatsbyImage\":false,\"imageMaxWidth\":null,\"fallbackImageMaxWidth\":1024,\"imageQuality\":70,\"createStaticFiles\":true,\"generateWebpImages\":true,\"generateAvifImages\":false,\"placeholderType\":\"dominantColor\"},\"verbose\":true,\"catchLinks\":true},\n },{\n plugin: require('../node_modules/gatsby-plugin-styled-components/gatsby-browser.js'),\n options: {\"plugins\":[],\"displayName\":true,\"fileName\":true,\"minify\":true,\"namespace\":\"\",\"transpileTemplateLiterals\":true,\"topLevelImportPaths\":[],\"pure\":false,\"disableVendorPrefixes\":false},\n },{\n plugin: require('../node_modules/gatsby-plugin-manifest/gatsby-browser.js'),\n options: {\"plugins\":[],\"start_url\":\"/\",\"background_color\":\"#663399\",\"theme_color\":\"#663399\",\"display\":\"minimal-ui\",\"icon\":\"src/images/favicon.svg\",\"legacy\":true,\"theme_color_in_head\":true,\"cache_busting_mode\":\"query\",\"crossOrigin\":\"anonymous\",\"include_favicon\":true,\"cacheDigest\":\"ab04ae0b7028f29ec48c2637e655fc33\"},\n },{\n plugin: require('../node_modules/gatsby-plugin-anchor-links/gatsby-browser.js'),\n options: {\"plugins\":[],\"offset\":0},\n },{\n plugin: require('../gatsby-browser.js'),\n options: {\"plugins\":[]},\n },{\n plugin: require('../node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js'),\n options: {\"plugins\":[]},\n }]\n","const plugins = require(`./api-runner-browser-plugins`)\nconst { getResourceURLsForPathname, loadPage, loadPageSync } =\n require(`./loader`).publicLoader\n\nexports.apiRunner = (api, args = {}, defaultReturn, argTransform) => {\n // Hooks for gatsby-cypress's API handler\n if (process.env.CYPRESS_SUPPORT) {\n if (window.___apiHandler) {\n window.___apiHandler(api)\n } else if (window.___resolvedAPIs) {\n window.___resolvedAPIs.push(api)\n } else {\n window.___resolvedAPIs = [api]\n }\n }\n\n let results = plugins.map(plugin => {\n if (!plugin.plugin[api]) {\n return undefined\n }\n\n args.getResourceURLsForPathname = getResourceURLsForPathname\n args.loadPage = loadPage\n args.loadPageSync = loadPageSync\n\n const result = plugin.plugin[api](args, plugin.options)\n if (result && argTransform) {\n args = argTransform({ args, result, plugin })\n }\n return result\n })\n\n // Filter out undefined results.\n results = results.filter(result => typeof result !== `undefined`)\n\n if (results.length > 0) {\n return results\n } else if (defaultReturn) {\n return [defaultReturn]\n } else {\n return []\n }\n}\n\nexports.apiRunnerAsync = (api, args, defaultReturn) =>\n plugins.reduce(\n (previous, next) =>\n next.plugin[api]\n ? previous.then(() => next.plugin[api](args, next.options))\n : previous,\n Promise.resolve()\n )\n","// \n// An event handler can take an optional event argument\n// and should not return a value\n \n \n\n// An array of all currently registered event handlers for a type\n \n \n// A map of event types and their corresponding event handlers.\n \n \n \n \n\n/** Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nfunction mitt(all ) {\n\tall = all || Object.create(null);\n\n\treturn {\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to listen for, or `\"*\"` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton: function on(type , handler ) {\n\t\t\t(all[type] || (all[type] = [])).push(handler);\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to unregister `handler` from, or `\"*\"`\n\t\t * @param {Function} handler Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff: function off(type , handler ) {\n\t\t\tif (all[type]) {\n\t\t\t\tall[type].splice(all[type].indexOf(handler) >>> 0, 1);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `\"*\"` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * @param {String} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberOf mitt\n\t\t */\n\t\temit: function emit(type , evt ) {\n\t\t\t(all[type] || []).slice().map(function (handler) { handler(evt); });\n\t\t\t(all['*'] || []).slice().map(function (handler) { handler(type, evt); });\n\t\t}\n\t};\n}\n\nexport default mitt;\n//# sourceMappingURL=mitt.es.js.map\n","import mitt from \"mitt\"\n\nconst emitter = mitt()\nexport default emitter\n","export default pathAndSearch => {\n if (pathAndSearch === undefined) {\n return pathAndSearch\n }\n let [path, search = ``] = pathAndSearch.split(`?`)\n if (search) {\n search = `?` + search\n }\n\n if (path === `/`) {\n return `/` + search\n }\n if (path.charAt(path.length - 1) === `/`) {\n return path.slice(0, -1) + search\n }\n return path + search\n}\n","import { pick } from \"@gatsbyjs/reach-router/lib/utils\"\nimport stripPrefix from \"./strip-prefix\"\nimport normalizePagePath from \"./normalize-page-path\"\nimport { maybeGetBrowserRedirect } from \"./redirect-utils.js\"\n\nconst pathCache = new Map()\nlet matchPaths = []\n\nconst trimPathname = rawPathname => {\n let newRawPathname = rawPathname\n const queryIndex = rawPathname.indexOf(`?`)\n\n if (queryIndex !== -1) {\n const [path, qs] = rawPathname.split(`?`)\n newRawPathname = `${path}?${encodeURIComponent(qs)}`\n }\n\n const pathname = decodeURIComponent(newRawPathname)\n\n // Remove the pathPrefix from the pathname.\n const trimmedPathname = stripPrefix(\n pathname,\n decodeURIComponent(__BASE_PATH__)\n )\n // Remove any hashfragment\n .split(`#`)[0]\n\n return trimmedPathname\n}\n\nfunction absolutify(path) {\n // If it's already absolute, return as-is\n if (\n path.startsWith(`/`) ||\n path.startsWith(`https://`) ||\n path.startsWith(`http://`)\n ) {\n return path\n }\n // Calculate path relative to current location, adding a trailing slash to\n // match behavior of @reach/router\n return new URL(\n path,\n window.location.href + (window.location.href.endsWith(`/`) ? `` : `/`)\n ).pathname\n}\n\n/**\n * Set list of matchPaths\n *\n * @param {Array<{path: string, matchPath: string}>} value collection of matchPaths\n */\nexport const setMatchPaths = value => {\n matchPaths = value\n}\n\n/**\n * Return a matchpath url\n * if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n * `/foo?bar=far` => `/page1`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string|null}\n */\nexport const findMatchPath = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return normalizePagePath(path.route.originalPath)\n }\n\n return null\n}\n\n/**\n * Return a matchpath params from reach/router rules\n * if `match-paths.json` contains `{ \":bar/*foo\" }`, and the path is /baz/zaz/zoo\n * then it returns\n * { bar: baz, foo: zaz/zoo }\n *\n * @param {string} rawPathname A raw pathname\n * @return {object}\n */\nexport const grabMatchParams = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return path.params\n }\n\n return {}\n}\n\n// Given a raw URL path, returns the cleaned version of it (trim off\n// `#` and query params), or if it matches an entry in\n// `match-paths.json`, its matched path is returned\n//\n// E.g. `/foo?bar=far` => `/foo`\n//\n// Or if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n// `/foo?bar=far` => `/page1`\nexport const findPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n if (pathCache.has(trimmedPathname)) {\n return pathCache.get(trimmedPathname)\n }\n\n const redirect = maybeGetBrowserRedirect(rawPathname)\n if (redirect) {\n return findPath(redirect.toPath)\n }\n\n let foundPath = findMatchPath(trimmedPathname)\n\n if (!foundPath) {\n foundPath = cleanPath(rawPathname)\n }\n\n pathCache.set(trimmedPathname, foundPath)\n\n return foundPath\n}\n\n/**\n * Clean a url and converts /index.html => /\n * E.g. `/foo?bar=far` => `/foo`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string}\n */\nexport const cleanPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n\n let foundPath = trimmedPathname\n if (foundPath === `/index.html`) {\n foundPath = `/`\n }\n\n foundPath = normalizePagePath(foundPath)\n\n return foundPath\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nconst StaticQueryContext = React.createContext({})\nlet StaticQueryServerContext = null\nif (React.createServerContext) {\n StaticQueryServerContext = React.createServerContext(`StaticQuery`, {})\n}\n\nfunction StaticQueryDataRenderer({ staticQueryData, data, query, render }) {\n const finalData = data\n ? data.data\n : staticQueryData[query] && staticQueryData[query].data\n\n return (\n \n {finalData && render(finalData)}\n {!finalData &&
Loading (StaticQuery)
}\n
\n )\n}\n\n// TODO(v5): Remove completely\nconst StaticQuery = props => {\n const { data, query, render, children } = props\n\n return (\n \n {staticQueryData => (\n \n )}\n \n )\n}\n\nStaticQuery.propTypes = {\n data: PropTypes.object,\n query: PropTypes.string.isRequired,\n render: PropTypes.func,\n children: PropTypes.func,\n}\n\nconst useStaticQuery = query => {\n if (\n typeof React.useContext !== `function` &&\n process.env.NODE_ENV === `development`\n ) {\n // TODO(v5): Remove since we require React >= 18\n throw new Error(\n `You're likely using a version of React that doesn't support Hooks\\n` +\n `Please update React and ReactDOM to 16.8.0 or later to use the useStaticQuery hook.`\n )\n }\n let context\n\n // Can we get a better check here?\n if (\n StaticQueryServerContext &&\n Object.keys(StaticQueryServerContext._currentValue).length\n ) {\n context = React.useContext(StaticQueryServerContext)\n } else {\n context = React.useContext(StaticQueryContext)\n }\n\n // query is a stringified number like `3303882` when wrapped with graphql, If a user forgets\n // to wrap the query in a grqphql, then casting it to a Number results in `NaN` allowing us to\n // catch the misuse of the API and give proper direction\n if (isNaN(Number(query))) {\n throw new Error(`useStaticQuery was called with a string but expects to be called using \\`graphql\\`. Try this:\n\nimport { useStaticQuery, graphql } from 'gatsby';\n\nuseStaticQuery(graphql\\`${query}\\`);\n`)\n }\n\n if (context[query]?.data) {\n return context[query].data\n } else {\n throw new Error(\n `The result of this StaticQuery could not be fetched.\\n\\n` +\n `This is likely a bug in Gatsby and if refreshing the page does not fix it, ` +\n `please open an issue in https://github.com/gatsbyjs/gatsby/issues`\n )\n }\n}\n\nexport {\n StaticQuery,\n StaticQueryContext,\n useStaticQuery,\n StaticQueryServerContext,\n}\n","import loader from \"./loader\"\n\nconst prefetchPathname = loader.enqueue\n\nfunction graphql() {\n throw new Error(\n `It appears like Gatsby is misconfigured. Gatsby related \\`graphql\\` calls ` +\n `are supposed to only be evaluated at compile time, and then compiled away. ` +\n `Unfortunately, something went wrong and the query was left in the compiled code.\\n\\n` +\n `Unless your site has a complex or custom babel/Gatsby configuration this is likely a bug in Gatsby.`\n )\n}\n\nexport { default as PageRenderer } from \"./public-page-renderer\"\nexport { useScrollRestoration } from \"gatsby-react-router-scroll\"\nexport {\n default as Link,\n withPrefix,\n withAssetPrefix,\n navigate,\n parsePath,\n} from \"gatsby-link\"\n\nexport { graphql, prefetchPathname }\nexport {\n StaticQuery,\n StaticQueryContext,\n useStaticQuery,\n StaticQueryServerContext,\n} from \"./static-query\"\n\nexport * from \"gatsby-script\"\n","const support = function (feature) {\n if (typeof document === `undefined`) {\n return false\n }\n const fakeLink = document.createElement(`link`)\n try {\n if (fakeLink.relList && typeof fakeLink.relList.supports === `function`) {\n return fakeLink.relList.supports(feature)\n }\n } catch (err) {\n return false\n }\n return false\n}\n\nconst linkPrefetchStrategy = function (url, options) {\n return new Promise((resolve, reject) => {\n if (typeof document === `undefined`) {\n reject()\n return\n }\n\n const link = document.createElement(`link`)\n link.setAttribute(`rel`, `prefetch`)\n link.setAttribute(`href`, url)\n\n Object.keys(options).forEach(key => {\n link.setAttribute(key, options[key])\n })\n\n link.onload = resolve\n link.onerror = reject\n\n const parentElement =\n document.getElementsByTagName(`head`)[0] ||\n document.getElementsByName(`script`)[0].parentNode\n parentElement.appendChild(link)\n })\n}\n\nconst xhrPrefetchStrategy = function (url) {\n return new Promise((resolve, reject) => {\n const req = new XMLHttpRequest()\n req.open(`GET`, url, true)\n\n req.onload = () => {\n if (req.status === 200) {\n resolve()\n } else {\n reject()\n }\n }\n\n req.send(null)\n })\n}\n\nconst supportedPrefetchStrategy = support(`prefetch`)\n ? linkPrefetchStrategy\n : xhrPrefetchStrategy\n\nconst preFetched = {}\n\nconst prefetch = function (url, options) {\n return new Promise(resolve => {\n if (preFetched[url]) {\n resolve()\n return\n }\n\n supportedPrefetchStrategy(url, options)\n .then(() => {\n resolve()\n preFetched[url] = true\n })\n .catch(() => {}) // 404s are logged to the console anyway\n })\n}\n\nexport default prefetch\n","import { createFromReadableStream } from \"react-server-dom-webpack\"\nimport prefetchHelper from \"./prefetch\"\nimport emitter from \"./emitter\"\nimport { setMatchPaths, findPath, findMatchPath } from \"./find-path\"\n\n/**\n * Available resource loading statuses\n */\nexport const PageResourceStatus = {\n /**\n * At least one of critical resources failed to load\n */\n Error: `error`,\n /**\n * Resources loaded successfully\n */\n Success: `success`,\n}\n\nconst stripSurroundingSlashes = s => {\n s = s[0] === `/` ? s.slice(1) : s\n s = s.endsWith(`/`) ? s.slice(0, -1) : s\n return s\n}\n\nconst createPageDataUrl = rawPath => {\n const [path, maybeSearch] = rawPath.split(`?`)\n const fixedPath = path === `/` ? `index` : stripSurroundingSlashes(path)\n return `${__PATH_PREFIX__}/page-data/${fixedPath}/page-data.json${\n maybeSearch ? `?${maybeSearch}` : ``\n }`\n}\n\nfunction doFetch(url, method = `GET`) {\n return new Promise(resolve => {\n const req = new XMLHttpRequest()\n req.open(method, url, true)\n req.onreadystatechange = () => {\n if (req.readyState == 4) {\n resolve(req)\n }\n }\n req.send(null)\n })\n}\n\nconst doesConnectionSupportPrefetch = () => {\n if (\n `connection` in navigator &&\n typeof navigator.connection !== `undefined`\n ) {\n if ((navigator.connection.effectiveType || ``).includes(`2g`)) {\n return false\n }\n if (navigator.connection.saveData) {\n return false\n }\n }\n return true\n}\n\n// Regex that matches common search crawlers\nconst BOT_REGEX = /bot|crawler|spider|crawling/i\n\nconst toPageResources = (pageData, component = null, head) => {\n const page = {\n componentChunkName: pageData.componentChunkName,\n path: pageData.path,\n webpackCompilationHash: pageData.webpackCompilationHash,\n matchPath: pageData.matchPath,\n staticQueryHashes: pageData.staticQueryHashes,\n getServerDataError: pageData.getServerDataError,\n }\n\n return {\n component,\n head,\n json: pageData.result,\n page,\n }\n}\n\nfunction waitForResponse(response) {\n return new Promise(resolve => {\n try {\n const result = response.readRoot()\n resolve(result)\n } catch (err) {\n if (\n Object.hasOwnProperty.call(err, `_response`) &&\n Object.hasOwnProperty.call(err, `_status`)\n ) {\n setTimeout(() => {\n waitForResponse(response).then(resolve)\n }, 200)\n } else {\n throw err\n }\n }\n })\n}\n\nexport class BaseLoader {\n constructor(loadComponent, matchPaths) {\n // Map of pagePath -> Page. Where Page is an object with: {\n // status: PageResourceStatus.Success || PageResourceStatus.Error,\n // payload: PageResources, // undefined if PageResourceStatus.Error\n // }\n // PageResources is {\n // component,\n // json: pageData.result,\n // page: {\n // componentChunkName,\n // path,\n // webpackCompilationHash,\n // staticQueryHashes\n // },\n // staticQueryResults\n // }\n this.pageDb = new Map()\n this.inFlightDb = new Map()\n this.staticQueryDb = {}\n this.pageDataDb = new Map()\n this.partialHydrationDb = new Map()\n this.isPrefetchQueueRunning = false\n this.prefetchQueued = []\n this.prefetchTriggered = new Set()\n this.prefetchCompleted = new Set()\n this.loadComponent = loadComponent\n setMatchPaths(matchPaths)\n }\n\n inFlightNetworkRequests = new Map()\n\n memoizedGet(url) {\n let inFlightPromise = this.inFlightNetworkRequests.get(url)\n\n if (!inFlightPromise) {\n inFlightPromise = doFetch(url, `GET`)\n this.inFlightNetworkRequests.set(url, inFlightPromise)\n }\n\n // Prefer duplication with then + catch over .finally to prevent problems in ie11 + firefox\n return inFlightPromise\n .then(response => {\n this.inFlightNetworkRequests.delete(url)\n return response\n })\n .catch(err => {\n this.inFlightNetworkRequests.delete(url)\n throw err\n })\n }\n\n setApiRunner(apiRunner) {\n this.apiRunner = apiRunner\n this.prefetchDisabled = apiRunner(`disableCorePrefetching`).some(a => a)\n }\n\n fetchPageDataJson(loadObj) {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath)\n return this.memoizedGet(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.path === undefined) {\n throw new Error(`not a valid pageData response`)\n }\n\n const maybeSearch = pagePath.split(`?`)[1]\n if (maybeSearch && !jsonPayload.path.includes(maybeSearch)) {\n jsonPayload.path += `?${maybeSearch}`\n }\n\n return Object.assign(loadObj, {\n status: PageResourceStatus.Success,\n payload: jsonPayload,\n })\n } catch (err) {\n // continue regardless of error\n }\n }\n\n // Handle 404\n if (status === 404 || status === 200) {\n // If the request was for a 404/500 page and it doesn't exist, we're done\n if (pagePath === `/404.html` || pagePath === `/500.html`) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Need some code here to cache the 404 request. In case\n // multiple loadPageDataJsons result in 404s\n return this.fetchPageDataJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, {\n pagePath: `/500.html`,\n internalServerError: true,\n })\n )\n }\n\n // Handle everything else, including status === 0, and 503s. Should retry\n if (retries < 3) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, { retries: retries + 1 })\n )\n }\n\n // Retried 3 times already, result is an error.\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n })\n }\n\n fetchPartialHydrationJson(loadObj) {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath).replace(`.json`, `-rsc.json`)\n return this.memoizedGet(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Success,\n payload: responseText,\n })\n } catch (err) {\n // continue regardless of error\n }\n }\n\n // Handle 404\n if (status === 404 || status === 200) {\n // If the request was for a 404/500 page and it doesn't exist, we're done\n if (pagePath === `/404.html` || pagePath === `/500.html`) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Need some code here to cache the 404 request. In case\n // multiple loadPageDataJsons result in 404s\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, {\n pagePath: `/500.html`,\n internalServerError: true,\n })\n )\n }\n\n // Handle everything else, including status === 0, and 503s. Should retry\n if (retries < 3) {\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, { retries: retries + 1 })\n )\n }\n\n // Retried 3 times already, result is an error.\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n })\n }\n\n loadPageDataJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDataDb.has(pagePath)) {\n const pageData = this.pageDataDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !pageData.stale) {\n return Promise.resolve(pageData)\n }\n }\n\n return this.fetchPageDataJson({ pagePath }).then(pageData => {\n this.pageDataDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n loadPartialHydrationJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.partialHydrationDb.has(pagePath)) {\n const pageData = this.partialHydrationDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !pageData.stale) {\n return Promise.resolve(pageData)\n }\n }\n\n return this.fetchPartialHydrationJson({ pagePath }).then(pageData => {\n this.partialHydrationDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n findMatchPath(rawPath) {\n return findMatchPath(rawPath)\n }\n\n // TODO check all uses of this and whether they use undefined for page resources not exist\n loadPage(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const page = this.pageDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !page.payload.stale) {\n if (page.error) {\n return {\n error: page.error,\n status: page.status,\n }\n }\n\n return Promise.resolve(page.payload)\n }\n }\n\n if (this.inFlightDb.has(pagePath)) {\n return this.inFlightDb.get(pagePath)\n }\n\n let inFlightPromise\n if (global.hasPartialHydration) {\n inFlightPromise = Promise.all([\n this.loadAppData(),\n this.loadPageDataJson(pagePath),\n this.loadPartialHydrationJson(pagePath),\n ]).then(([appData, { payload: pageData }, result]) => {\n if (result.status === PageResourceStatus.Error) {\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n const finalResult = {}\n\n // In develop we have separate chunks for template and Head components\n // to enable HMR (fast refresh requires single exports).\n // In production we have shared chunk with both exports. Double loadComponent here\n // will be deduped by webpack runtime resulting in single request and single module\n // being loaded for both `component` and `head`.\n const componentChunkPromise = this.loadComponent(\n pageData.componentChunkName,\n `head`\n ).then(head => {\n finalResult.createdAt = new Date()\n finalResult.status = PageResourceStatus.Success\n if (result.notFound === true) {\n finalResult.notFound = true\n }\n pageData = Object.assign(pageData, {\n webpackCompilationHash: appData\n ? appData.webpackCompilationHash\n : ``,\n })\n\n const pageResources = toPageResources(pageData, null, head)\n\n if (result.payload && typeof result.payload === `string`) {\n pageResources.partialHydration = result.payload\n\n const readableStream = new ReadableStream({\n start(controller) {\n const te = new TextEncoder()\n controller.enqueue(te.encode(result.payload))\n },\n pull(controller) {\n // close on next read when queue is empty\n controller.close()\n },\n cancel() {},\n })\n\n return waitForResponse(\n createFromReadableStream(readableStream)\n ).then(result => {\n pageResources.partialHydration = result\n\n return pageResources\n })\n }\n\n // undefined if final result is an error\n return pageResources\n })\n\n // Necessary for head component\n const staticQueryBatchPromise = Promise.all(\n (pageData.staticQueryHashes || []).map(staticQueryHash => {\n // Check for cache in case this static query result has already been loaded\n if (this.staticQueryDb[staticQueryHash]) {\n const jsonPayload = this.staticQueryDb[staticQueryHash]\n return { staticQueryHash, jsonPayload }\n }\n\n return this.memoizedGet(\n `${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json`\n )\n .then(req => {\n const jsonPayload = JSON.parse(req.responseText)\n return { staticQueryHash, jsonPayload }\n })\n .catch(() => {\n throw new Error(\n `We couldn't load \"${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json\"`\n )\n })\n })\n ).then(staticQueryResults => {\n const staticQueryResultsMap = {}\n\n staticQueryResults.forEach(({ staticQueryHash, jsonPayload }) => {\n staticQueryResultsMap[staticQueryHash] = jsonPayload\n this.staticQueryDb[staticQueryHash] = jsonPayload\n })\n\n return staticQueryResultsMap\n })\n\n return (\n Promise.all([componentChunkPromise, staticQueryBatchPromise])\n .then(([pageResources, staticQueryResults]) => {\n let payload\n if (pageResources) {\n payload = {\n ...pageResources,\n staticQueryResults: staticQueryResults,\n }\n finalResult.payload = payload\n emitter.emit(`onPostLoadPageResources`, {\n page: payload,\n pageResources: payload,\n })\n }\n\n this.pageDb.set(pagePath, finalResult)\n\n if (finalResult.error) {\n return {\n error: finalResult.error,\n status: finalResult.status,\n }\n }\n\n return payload\n })\n // when static-query fail to load we throw a better error\n .catch(err => {\n return {\n error: err,\n status: PageResourceStatus.Error,\n }\n })\n )\n })\n } else {\n inFlightPromise = Promise.all([\n this.loadAppData(),\n this.loadPageDataJson(pagePath),\n ]).then(allData => {\n const result = allData[1]\n if (result.status === PageResourceStatus.Error) {\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n let pageData = result.payload\n const { componentChunkName, staticQueryHashes = [] } = pageData\n\n const finalResult = {}\n\n // In develop we have separate chunks for template and Head components\n // to enable HMR (fast refresh requires single exports).\n // In production we have shared chunk with both exports. Double loadComponent here\n // will be deduped by webpack runtime resulting in single request and single module\n // being loaded for both `component` and `head`.\n const componentChunkPromise = Promise.all([\n this.loadComponent(componentChunkName),\n this.loadComponent(componentChunkName, `head`),\n ]).then(([component, head]) => {\n finalResult.createdAt = new Date()\n let pageResources\n if (!component || component instanceof Error) {\n finalResult.status = PageResourceStatus.Error\n finalResult.error = component\n } else {\n finalResult.status = PageResourceStatus.Success\n if (result.notFound === true) {\n finalResult.notFound = true\n }\n pageData = Object.assign(pageData, {\n webpackCompilationHash: allData[0]\n ? allData[0].webpackCompilationHash\n : ``,\n })\n pageResources = toPageResources(pageData, component, head)\n }\n // undefined if final result is an error\n return pageResources\n })\n\n const staticQueryBatchPromise = Promise.all(\n staticQueryHashes.map(staticQueryHash => {\n // Check for cache in case this static query result has already been loaded\n if (this.staticQueryDb[staticQueryHash]) {\n const jsonPayload = this.staticQueryDb[staticQueryHash]\n return { staticQueryHash, jsonPayload }\n }\n\n return this.memoizedGet(\n `${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json`\n )\n .then(req => {\n const jsonPayload = JSON.parse(req.responseText)\n return { staticQueryHash, jsonPayload }\n })\n .catch(() => {\n throw new Error(\n `We couldn't load \"${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json\"`\n )\n })\n })\n ).then(staticQueryResults => {\n const staticQueryResultsMap = {}\n\n staticQueryResults.forEach(({ staticQueryHash, jsonPayload }) => {\n staticQueryResultsMap[staticQueryHash] = jsonPayload\n this.staticQueryDb[staticQueryHash] = jsonPayload\n })\n\n return staticQueryResultsMap\n })\n\n return (\n Promise.all([componentChunkPromise, staticQueryBatchPromise])\n .then(([pageResources, staticQueryResults]) => {\n let payload\n if (pageResources) {\n payload = { ...pageResources, staticQueryResults }\n finalResult.payload = payload\n emitter.emit(`onPostLoadPageResources`, {\n page: payload,\n pageResources: payload,\n })\n }\n\n this.pageDb.set(pagePath, finalResult)\n\n if (finalResult.error) {\n return {\n error: finalResult.error,\n status: finalResult.status,\n }\n }\n\n return payload\n })\n // when static-query fail to load we throw a better error\n .catch(err => {\n return {\n error: err,\n status: PageResourceStatus.Error,\n }\n })\n )\n })\n }\n\n inFlightPromise\n .then(() => {\n this.inFlightDb.delete(pagePath)\n })\n .catch(error => {\n this.inFlightDb.delete(pagePath)\n throw error\n })\n\n this.inFlightDb.set(pagePath, inFlightPromise)\n\n return inFlightPromise\n }\n\n // returns undefined if the page does not exists in cache\n loadPageSync(rawPath, options = {}) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const pageData = this.pageDb.get(pagePath)\n\n if (pageData.payload) {\n return pageData.payload\n }\n\n if (options?.withErrorDetails) {\n return {\n error: pageData.error,\n status: pageData.status,\n }\n }\n }\n return undefined\n }\n\n shouldPrefetch(pagePath) {\n // Skip prefetching if we know user is on slow or constrained connection\n if (!doesConnectionSupportPrefetch()) {\n return false\n }\n\n // Don't prefetch if this is a crawler bot\n if (navigator.userAgent && BOT_REGEX.test(navigator.userAgent)) {\n return false\n }\n\n // Check if the page exists.\n if (this.pageDb.has(pagePath)) {\n return false\n }\n\n return true\n }\n\n prefetch(pagePath) {\n if (!this.shouldPrefetch(pagePath)) {\n return {\n then: resolve => resolve(false),\n abort: () => {},\n }\n }\n if (this.prefetchTriggered.has(pagePath)) {\n return {\n then: resolve => resolve(true),\n abort: () => {},\n }\n }\n\n const defer = {\n resolve: null,\n reject: null,\n promise: null,\n }\n defer.promise = new Promise((resolve, reject) => {\n defer.resolve = resolve\n defer.reject = reject\n })\n this.prefetchQueued.push([pagePath, defer])\n const abortC = new AbortController()\n abortC.signal.addEventListener(`abort`, () => {\n const index = this.prefetchQueued.findIndex(([p]) => p === pagePath)\n // remove from the queue\n if (index !== -1) {\n this.prefetchQueued.splice(index, 1)\n }\n })\n\n if (!this.isPrefetchQueueRunning) {\n this.isPrefetchQueueRunning = true\n setTimeout(() => {\n this._processNextPrefetchBatch()\n }, 3000)\n }\n\n return {\n then: (resolve, reject) => defer.promise.then(resolve, reject),\n abort: abortC.abort.bind(abortC),\n }\n }\n\n _processNextPrefetchBatch() {\n const idleCallback = window.requestIdleCallback || (cb => setTimeout(cb, 0))\n\n idleCallback(() => {\n const toPrefetch = this.prefetchQueued.splice(0, 4)\n const prefetches = Promise.all(\n toPrefetch.map(([pagePath, dPromise]) => {\n // Tell plugins with custom prefetching logic that they should start\n // prefetching this path.\n if (!this.prefetchTriggered.has(pagePath)) {\n this.apiRunner(`onPrefetchPathname`, { pathname: pagePath })\n this.prefetchTriggered.add(pagePath)\n }\n\n // If a plugin has disabled core prefetching, stop now.\n if (this.prefetchDisabled) {\n return dPromise.resolve(false)\n }\n\n return this.doPrefetch(findPath(pagePath)).then(() => {\n if (!this.prefetchCompleted.has(pagePath)) {\n this.apiRunner(`onPostPrefetchPathname`, { pathname: pagePath })\n this.prefetchCompleted.add(pagePath)\n }\n\n dPromise.resolve(true)\n })\n })\n )\n\n if (this.prefetchQueued.length) {\n prefetches.then(() => {\n setTimeout(() => {\n this._processNextPrefetchBatch()\n }, 3000)\n })\n } else {\n this.isPrefetchQueueRunning = false\n }\n })\n }\n\n doPrefetch(pagePath) {\n const pageDataUrl = createPageDataUrl(pagePath)\n\n if (global.hasPartialHydration) {\n return Promise.all([\n prefetchHelper(pageDataUrl, {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPageDataJson(pagePath)\n ),\n prefetchHelper(pageDataUrl.replace(`.json`, `-rsc.json`), {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPartialHydrationJson(pagePath)\n ),\n ])\n } else {\n return prefetchHelper(pageDataUrl, {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPageDataJson(pagePath)\n )\n }\n }\n\n hovering(rawPath) {\n this.loadPage(rawPath)\n }\n\n getResourceURLsForPathname(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDataDb.get(pagePath)\n if (page) {\n const pageResources = toPageResources(page.payload)\n\n return [\n ...createComponentUrls(pageResources.page.componentChunkName),\n createPageDataUrl(pagePath),\n ]\n } else {\n return null\n }\n }\n\n isPageNotFound(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDb.get(pagePath)\n return !page || page.notFound\n }\n\n loadAppData(retries = 0) {\n return this.memoizedGet(`${__PATH_PREFIX__}/page-data/app-data.json`).then(\n req => {\n const { status, responseText } = req\n\n let appData\n\n if (status !== 200 && retries < 3) {\n // Retry 3 times incase of non-200 responses\n return this.loadAppData(retries + 1)\n }\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.webpackCompilationHash === undefined) {\n throw new Error(`not a valid app-data response`)\n }\n\n appData = jsonPayload\n } catch (err) {\n // continue regardless of error\n }\n }\n\n return appData\n }\n )\n }\n}\n\nconst createComponentUrls = componentChunkName =>\n (window.___chunkMapping[componentChunkName] || []).map(\n chunk => __PATH_PREFIX__ + chunk\n )\n\nexport class ProdLoader extends BaseLoader {\n constructor(asyncRequires, matchPaths, pageData) {\n const loadComponent = (chunkName, exportType = `components`) => {\n if (!global.hasPartialHydration) {\n exportType = `components`\n }\n\n if (!asyncRequires[exportType][chunkName]) {\n throw new Error(\n `We couldn't find the correct component chunk with the name \"${chunkName}\"`\n )\n }\n\n return (\n asyncRequires[exportType][chunkName]()\n // loader will handle the case when component is error\n .catch(err => err)\n )\n }\n\n super(loadComponent, matchPaths)\n\n if (pageData) {\n this.pageDataDb.set(findPath(pageData.path), {\n pagePath: pageData.path,\n payload: pageData,\n status: `success`,\n })\n }\n }\n\n doPrefetch(pagePath) {\n return super.doPrefetch(pagePath).then(result => {\n if (result.status !== PageResourceStatus.Success) {\n return Promise.resolve()\n }\n const pageData = result.payload\n const chunkName = pageData.componentChunkName\n const componentUrls = createComponentUrls(chunkName)\n return Promise.all(componentUrls.map(prefetchHelper)).then(() => pageData)\n })\n }\n\n loadPageDataJson(rawPath) {\n return super.loadPageDataJson(rawPath).then(data => {\n if (data.notFound) {\n // check if html file exist using HEAD request:\n // if it does we should navigate to it instead of showing 404\n return doFetch(rawPath, `HEAD`).then(req => {\n if (req.status === 200) {\n // page (.html file) actually exist (or we asked for 404 )\n // returning page resources status as errored to trigger\n // regular browser navigation to given page\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n // if HEAD request wasn't 200, return notFound result\n // and show 404 page\n return data\n })\n }\n return data\n })\n }\n\n loadPartialHydrationJson(rawPath) {\n return super.loadPartialHydrationJson(rawPath).then(data => {\n if (data.notFound) {\n // check if html file exist using HEAD request:\n // if it does we should navigate to it instead of showing 404\n return doFetch(rawPath, `HEAD`).then(req => {\n if (req.status === 200) {\n // page (.html file) actually exist (or we asked for 404 )\n // returning page resources status as errored to trigger\n // regular browser navigation to given page\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n // if HEAD request wasn't 200, return notFound result\n // and show 404 page\n return data\n })\n }\n return data\n })\n }\n}\n\nlet instance\n\nexport const setLoader = _loader => {\n instance = _loader\n}\n\nexport const publicLoader = {\n enqueue: rawPath => instance.prefetch(rawPath),\n\n // Real methods\n getResourceURLsForPathname: rawPath =>\n instance.getResourceURLsForPathname(rawPath),\n loadPage: rawPath => instance.loadPage(rawPath),\n // TODO add deprecation to v4 so people use withErrorDetails and then we can remove in v5 and change default behaviour\n loadPageSync: (rawPath, options = {}) =>\n instance.loadPageSync(rawPath, options),\n prefetch: rawPath => instance.prefetch(rawPath),\n isPageNotFound: rawPath => instance.isPageNotFound(rawPath),\n hovering: rawPath => instance.hovering(rawPath),\n loadAppData: () => instance.loadAppData(),\n}\n\nexport default publicLoader\n\nexport function getStaticQueryResults() {\n if (instance) {\n return instance.staticQueryDb\n } else {\n return {}\n }\n}\n","import { useEffect } from \"react\"\n\n/*\n * Calls callback in an effect and renders children\n */\nexport function FireCallbackInEffect({ children, callback }) {\n useEffect(() => {\n callback()\n })\n\n return children\n}\n","export const VALID_NODE_NAMES = [\n `link`,\n `meta`,\n `style`,\n `title`,\n `base`,\n `noscript`,\n `script`,\n]\n","import { VALID_NODE_NAMES } from \"./constants\"\n\n/**\n * Filter the props coming from a page down to just the ones that are relevant for head.\n * This e.g. filters out properties that are undefined during SSR.\n */\nexport function filterHeadProps(input) {\n return {\n location: {\n pathname: input.location.pathname,\n },\n params: input.params,\n data: input.data || {},\n pageContext: input.pageContext,\n }\n}\n\n/**\n * Throw error if Head export is not a valid\n */\nexport function headExportValidator(head) {\n if (typeof head !== `function`)\n throw new Error(\n `Expected \"Head\" export to be a function got \"${typeof head}\".`\n )\n}\n\n/**\n * Warn once for same messsage\n */\nlet warnOnce = _ => {}\nif (process.env.NODE_ENV !== `production`) {\n const warnings = new Set()\n warnOnce = msg => {\n if (!warnings.has(msg)) {\n console.warn(msg)\n }\n warnings.add(msg)\n }\n}\n\n/**\n * Warn for invalid tags in head.\n * @param {string} tagName\n */\nexport function warnForInvalidTags(tagName) {\n if (process.env.NODE_ENV !== `production`) {\n const warning = `<${tagName}> is not a valid head element. Please use one of the following: ${VALID_NODE_NAMES.join(\n `, `\n )}`\n\n warnOnce(warning)\n }\n}\n\n/**\n * When a `nonce` is present on an element, browsers such as Chrome and Firefox strip it out of the\n * actual HTML attributes for security reasons *when the element is added to the document*. Thus,\n * given two equivalent elements that have nonces, `Element,isEqualNode()` will return false if one\n * of those elements gets added to the document. Although the `element.nonce` property will be the\n * same for both elements, the one that was added to the document will return an empty string for\n * its nonce HTML attribute value.\n *\n * This custom `isEqualNode()` function therefore removes the nonce value from the `newTag` before\n * comparing it to `oldTag`, restoring it afterwards.\n *\n * For more information, see:\n * https://bugs.chromium.org/p/chromium/issues/detail?id=1211471#c12\n */\nexport function isEqualNode(oldTag, newTag) {\n if (oldTag instanceof HTMLElement && newTag instanceof HTMLElement) {\n const nonce = newTag.getAttribute(`nonce`)\n // Only strip the nonce if `oldTag` has had it stripped. An element's nonce attribute will not\n // be stripped if there is no content security policy response header that includes a nonce.\n if (nonce && !oldTag.getAttribute(`nonce`)) {\n const cloneTag = newTag.cloneNode(true)\n cloneTag.setAttribute(`nonce`, ``)\n cloneTag.nonce = nonce\n return nonce === oldTag.nonce && oldTag.isEqualNode(cloneTag)\n }\n }\n\n return oldTag.isEqualNode(newTag)\n}\n\nexport function diffNodes({ oldNodes, newNodes, onStale, onNew }) {\n for (const existingHeadElement of oldNodes) {\n const indexInNewNodes = newNodes.findIndex(e =>\n isEqualNode(e, existingHeadElement)\n )\n\n if (indexInNewNodes === -1) {\n onStale(existingHeadElement)\n } else {\n // this node is re-created as-is, so we keep old node, and remove it from list of new nodes (as we handled it already here)\n newNodes.splice(indexInNewNodes, 1)\n }\n }\n\n // remaing new nodes didn't have matching old node, so need to be added\n for (const newNode of newNodes) {\n onNew(newNode)\n }\n}\n","import React from \"react\"\nimport { useEffect } from \"react\"\nimport { StaticQueryContext } from \"gatsby\"\nimport { LocationProvider } from \"@gatsbyjs/reach-router\"\nimport { reactDOMUtils } from \"../react-dom-utils\"\nimport { FireCallbackInEffect } from \"./components/fire-callback-in-effect\"\nimport { VALID_NODE_NAMES } from \"./constants\"\nimport {\n headExportValidator,\n filterHeadProps,\n warnForInvalidTags,\n diffNodes,\n} from \"./utils\"\n\nconst hiddenRoot = document.createElement(`div`)\n\nconst removePrevHeadElements = () => {\n const prevHeadNodes = document.querySelectorAll(`[data-gatsby-head]`)\n\n for (const node of prevHeadNodes) {\n node.parentNode.removeChild(node)\n }\n}\n\nconst onHeadRendered = () => {\n const validHeadNodes = []\n\n const seenIds = new Map()\n for (const node of hiddenRoot.childNodes) {\n const nodeName = node.nodeName.toLowerCase()\n const id = node.attributes?.id?.value\n\n if (!VALID_NODE_NAMES.includes(nodeName)) {\n warnForInvalidTags(nodeName)\n } else {\n let clonedNode = node.cloneNode(true)\n clonedNode.setAttribute(`data-gatsby-head`, true)\n\n // Create an element for scripts to make script work\n if (clonedNode.nodeName.toLowerCase() === `script`) {\n const script = document.createElement(`script`)\n for (const attr of clonedNode.attributes) {\n script.setAttribute(attr.name, attr.value)\n }\n script.innerHTML = clonedNode.innerHTML\n clonedNode = script\n }\n\n if (id) {\n if (!seenIds.has(id)) {\n validHeadNodes.push(clonedNode)\n seenIds.set(id, validHeadNodes.length - 1)\n } else {\n const indexOfPreviouslyInsertedNode = seenIds.get(id)\n validHeadNodes[indexOfPreviouslyInsertedNode].parentNode?.removeChild(\n validHeadNodes[indexOfPreviouslyInsertedNode]\n )\n validHeadNodes[indexOfPreviouslyInsertedNode] = clonedNode\n }\n } else {\n validHeadNodes.push(clonedNode)\n }\n }\n }\n\n const existingHeadElements = document.querySelectorAll(`[data-gatsby-head]`)\n\n if (existingHeadElements.length === 0) {\n document.head.append(...validHeadNodes)\n return\n }\n\n const newHeadNodes = []\n diffNodes({\n oldNodes: existingHeadElements,\n newNodes: validHeadNodes,\n onStale: node => node.parentNode.removeChild(node),\n onNew: node => newHeadNodes.push(node),\n })\n\n document.head.append(...newHeadNodes)\n}\n\nif (process.env.BUILD_STAGE === `develop`) {\n // We set up observer to be able to regenerate after react-refresh\n // updates our hidden element.\n const observer = new MutationObserver(onHeadRendered)\n observer.observe(hiddenRoot, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true,\n })\n}\n\nexport function headHandlerForBrowser({\n pageComponent,\n staticQueryResults,\n pageComponentProps,\n}) {\n useEffect(() => {\n if (pageComponent?.Head) {\n headExportValidator(pageComponent.Head)\n\n const { render } = reactDOMUtils()\n\n const Head = pageComponent.Head\n\n render(\n // just a hack to call the callback after react has done first render\n // Note: In dev, we call onHeadRendered twice( in FireCallbackInEffect and after mutualution observer dectects initail render into hiddenRoot) this is for hot reloading\n // In Prod we only call onHeadRendered in FireCallbackInEffect to render to head\n \n \n \n \n \n \n ,\n hiddenRoot\n )\n }\n\n return () => {\n removePrevHeadElements()\n }\n })\n}\n","import React, { Suspense, createElement } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport { grabMatchParams } from \"./find-path\"\nimport { headHandlerForBrowser } from \"./head/head-export-handler-for-browser\"\n\n// Renders page\nfunction PageRenderer(props) {\n const pageComponentProps = {\n ...props,\n params: {\n ...grabMatchParams(props.location.pathname),\n ...props.pageResources.json.pageContext.__params,\n },\n }\n\n const preferDefault = m => (m && m.default) || m\n\n let pageElement\n if (props.pageResources.partialHydration) {\n pageElement = props.pageResources.partialHydration\n } else {\n pageElement = createElement(preferDefault(props.pageResources.component), {\n ...pageComponentProps,\n key: props.path || props.pageResources.page.path,\n })\n }\n\n const pageComponent = props.pageResources.head\n\n headHandlerForBrowser({\n pageComponent,\n staticQueryResults: props.pageResources.staticQueryResults,\n pageComponentProps,\n })\n\n const wrappedPage = apiRunner(\n `wrapPageElement`,\n {\n element: pageElement,\n props: pageComponentProps,\n },\n pageElement,\n ({ result }) => {\n return { element: result, props: pageComponentProps }\n }\n ).pop()\n\n return wrappedPage\n}\n\nPageRenderer.propTypes = {\n location: PropTypes.object.isRequired,\n pageResources: PropTypes.object.isRequired,\n data: PropTypes.object,\n pageContext: PropTypes.object.isRequired,\n}\n\nexport default PageRenderer\n","// This is extracted to separate module because it's shared\n// between browser and SSR code\nexport const RouteAnnouncerProps = {\n id: `gatsby-announcer`,\n style: {\n position: `absolute`,\n top: 0,\n width: 1,\n height: 1,\n padding: 0,\n overflow: `hidden`,\n clip: `rect(0, 0, 0, 0)`,\n whiteSpace: `nowrap`,\n border: 0,\n },\n \"aria-live\": `assertive`,\n \"aria-atomic\": `true`,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport { maybeGetBrowserRedirect } from \"./redirect-utils.js\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport emitter from \"./emitter\"\nimport { RouteAnnouncerProps } from \"./route-announcer-props\"\nimport { navigate as reachNavigate } from \"@gatsbyjs/reach-router\"\nimport { globalHistory } from \"@gatsbyjs/reach-router/lib/history\"\nimport { parsePath } from \"gatsby-link\"\n\nfunction maybeRedirect(pathname) {\n const redirect = maybeGetBrowserRedirect(pathname)\n const { hash, search } = window.location\n\n if (redirect != null) {\n window.___replace(redirect.toPath + search + hash)\n return true\n } else {\n return false\n }\n}\n\n// Catch unhandled chunk loading errors and force a restart of the app.\nlet nextRoute = ``\n\nwindow.addEventListener(`unhandledrejection`, event => {\n if (/loading chunk \\d* failed./i.test(event.reason)) {\n if (nextRoute) {\n window.location.pathname = nextRoute\n }\n }\n})\n\nconst onPreRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n nextRoute = location.pathname\n apiRunner(`onPreRouteUpdate`, { location, prevLocation })\n }\n}\n\nconst onRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n apiRunner(`onRouteUpdate`, { location, prevLocation })\n if (\n process.env.GATSBY_EXPERIMENTAL_QUERY_ON_DEMAND &&\n process.env.GATSBY_QUERY_ON_DEMAND_LOADING_INDICATOR === `true`\n ) {\n emitter.emit(`onRouteUpdate`, { location, prevLocation })\n }\n }\n}\n\nconst navigate = (to, options = {}) => {\n // Support forward/backward navigation with numbers\n // navigate(-2) (jumps back 2 history steps)\n // navigate(2) (jumps forward 2 history steps)\n if (typeof to === `number`) {\n globalHistory.navigate(to)\n return\n }\n\n const { pathname, search, hash } = parsePath(to)\n const redirect = maybeGetBrowserRedirect(pathname)\n\n // If we're redirecting, just replace the passed in pathname\n // to the one we want to redirect to.\n if (redirect) {\n to = redirect.toPath + search + hash\n }\n\n // If we had a service worker update, no matter the path, reload window and\n // reset the pathname whitelist\n if (window.___swUpdated) {\n window.location = pathname + search + hash\n return\n }\n\n // Start a timer to wait for a second before transitioning and showing a\n // loader in case resources aren't around yet.\n const timeoutId = setTimeout(() => {\n emitter.emit(`onDelayedLoadPageResources`, { pathname })\n apiRunner(`onRouteUpdateDelayed`, {\n location: window.location,\n })\n }, 1000)\n\n loader.loadPage(pathname + search).then(pageResources => {\n // If no page resources, then refresh the page\n // Do this, rather than simply `window.location.reload()`, so that\n // pressing the back/forward buttons work - otherwise when pressing\n // back, the browser will just change the URL and expect JS to handle\n // the change, which won't always work since it might not be a Gatsby\n // page.\n if (!pageResources || pageResources.status === PageResourceStatus.Error) {\n window.history.replaceState({}, ``, location.href)\n window.location = pathname\n clearTimeout(timeoutId)\n return\n }\n\n // If the loaded page has a different compilation hash to the\n // window, then a rebuild has occurred on the server. Reload.\n if (process.env.NODE_ENV === `production` && pageResources) {\n if (\n pageResources.page.webpackCompilationHash !==\n window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n window.location = pathname + search + hash\n }\n }\n reachNavigate(to, options)\n clearTimeout(timeoutId)\n })\n}\n\nfunction shouldUpdateScroll(prevRouterProps, { location }) {\n const { pathname, hash } = location\n const results = apiRunner(`shouldUpdateScroll`, {\n prevRouterProps,\n // `pathname` for backwards compatibility\n pathname,\n routerProps: { location },\n getSavedScrollPosition: args => [\n 0,\n // FIXME this is actually a big code smell, we should fix this\n // eslint-disable-next-line @babel/no-invalid-this\n this._stateStorage.read(args, args.key),\n ],\n })\n if (results.length > 0) {\n // Use the latest registered shouldUpdateScroll result, this allows users to override plugin's configuration\n // @see https://github.com/gatsbyjs/gatsby/issues/12038\n return results[results.length - 1]\n }\n\n if (prevRouterProps) {\n const {\n location: { pathname: oldPathname },\n } = prevRouterProps\n if (oldPathname === pathname) {\n // Scroll to element if it exists, if it doesn't, or no hash is provided,\n // scroll to top.\n return hash ? decodeURI(hash.slice(1)) : [0, 0]\n }\n }\n return true\n}\n\nfunction init() {\n // The \"scroll-behavior\" package expects the \"action\" to be on the location\n // object so let's copy it over.\n globalHistory.listen(args => {\n args.location.action = args.action\n })\n\n window.___push = to => navigate(to, { replace: false })\n window.___replace = to => navigate(to, { replace: true })\n window.___navigate = (to, options) => navigate(to, options)\n}\n\nclass RouteAnnouncer extends React.Component {\n constructor(props) {\n super(props)\n this.announcementRef = React.createRef()\n }\n\n componentDidUpdate(prevProps, nextProps) {\n requestAnimationFrame(() => {\n let pageName = `new page at ${this.props.location.pathname}`\n if (document.title) {\n pageName = document.title\n }\n const pageHeadings = document.querySelectorAll(`#gatsby-focus-wrapper h1`)\n if (pageHeadings && pageHeadings.length) {\n pageName = pageHeadings[0].textContent\n }\n const newAnnouncement = `Navigated to ${pageName}`\n if (this.announcementRef.current) {\n const oldAnnouncement = this.announcementRef.current.innerText\n if (oldAnnouncement !== newAnnouncement) {\n this.announcementRef.current.innerText = newAnnouncement\n }\n }\n })\n }\n\n render() {\n return
\n }\n}\n\nconst compareLocationProps = (prevLocation, nextLocation) => {\n if (prevLocation.href !== nextLocation.href) {\n return true\n }\n\n if (prevLocation?.state?.key !== nextLocation?.state?.key) {\n return true\n }\n\n return false\n}\n\n// Fire on(Pre)RouteUpdate APIs\nclass RouteUpdates extends React.Component {\n constructor(props) {\n super(props)\n onPreRouteUpdate(props.location, null)\n }\n\n componentDidMount() {\n onRouteUpdate(this.props.location, null)\n }\n\n shouldComponentUpdate(prevProps) {\n if (compareLocationProps(prevProps.location, this.props.location)) {\n onPreRouteUpdate(this.props.location, prevProps.location)\n return true\n }\n return false\n }\n\n componentDidUpdate(prevProps) {\n if (compareLocationProps(prevProps.location, this.props.location)) {\n onRouteUpdate(this.props.location, prevProps.location)\n }\n }\n\n render() {\n return (\n \n {this.props.children}\n \n \n )\n }\n}\n\nRouteUpdates.propTypes = {\n location: PropTypes.object.isRequired,\n}\n\nexport { init, shouldUpdateScroll, RouteUpdates, maybeGetBrowserRedirect }\n","// Pulled from react-compat\n// https://github.com/developit/preact-compat/blob/7c5de00e7c85e2ffd011bf3af02899b63f699d3a/src/index.js#L349\nfunction shallowDiffers(a, b) {\n for (var i in a) {\n if (!(i in b)) return true;\n }for (var _i in b) {\n if (a[_i] !== b[_i]) return true;\n }return false;\n}\n\nexport default (function (instance, nextProps, nextState) {\n return shallowDiffers(instance.props, nextProps) || shallowDiffers(instance.state, nextState);\n});","import React from \"react\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport shallowCompare from \"shallow-compare\"\n\nclass EnsureResources extends React.Component {\n constructor(props) {\n super()\n const { location, pageResources } = props\n this.state = {\n location: { ...location },\n pageResources:\n pageResources ||\n loader.loadPageSync(location.pathname + location.search, {\n withErrorDetails: true,\n }),\n }\n }\n\n static getDerivedStateFromProps({ location }, prevState) {\n if (prevState.location.href !== location.href) {\n const pageResources = loader.loadPageSync(\n location.pathname + location.search,\n {\n withErrorDetails: true,\n }\n )\n\n return {\n pageResources,\n location: { ...location },\n }\n }\n\n return {\n location: { ...location },\n }\n }\n\n loadResources(rawPath) {\n loader.loadPage(rawPath).then(pageResources => {\n if (pageResources && pageResources.status !== PageResourceStatus.Error) {\n this.setState({\n location: { ...window.location },\n pageResources,\n })\n } else {\n window.history.replaceState({}, ``, location.href)\n window.location = rawPath\n }\n })\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n // Always return false if we're missing resources.\n if (!nextState.pageResources) {\n this.loadResources(\n nextProps.location.pathname + nextProps.location.search\n )\n return false\n }\n\n if (\n process.env.BUILD_STAGE === `develop` &&\n nextState.pageResources.stale\n ) {\n this.loadResources(\n nextProps.location.pathname + nextProps.location.search\n )\n return false\n }\n\n // Check if the component or json have changed.\n if (this.state.pageResources !== nextState.pageResources) {\n return true\n }\n if (\n this.state.pageResources.component !== nextState.pageResources.component\n ) {\n return true\n }\n\n if (this.state.pageResources.json !== nextState.pageResources.json) {\n return true\n }\n // Check if location has changed on a page using internal routing\n // via matchPath configuration.\n if (\n this.state.location.key !== nextState.location.key &&\n nextState.pageResources.page &&\n (nextState.pageResources.page.matchPath ||\n nextState.pageResources.page.path)\n ) {\n return true\n }\n return shallowCompare(this, nextProps, nextState)\n }\n\n render() {\n if (\n process.env.NODE_ENV !== `production` &&\n (!this.state.pageResources ||\n this.state.pageResources.status === PageResourceStatus.Error)\n ) {\n const message = `EnsureResources was not able to find resources for path: \"${this.props.location.pathname}\"\nThis typically means that an issue occurred building components for that path.\nRun \\`gatsby clean\\` to remove any cached elements.`\n if (this.state.pageResources?.error) {\n console.error(message)\n throw this.state.pageResources.error\n }\n\n throw new Error(message)\n }\n\n return this.props.children(this.state)\n }\n}\n\nexport default EnsureResources\n","import { apiRunner, apiRunnerAsync } from \"./api-runner-browser\"\nimport React from \"react\"\nimport { Router, navigate, Location, BaseContext } from \"@gatsbyjs/reach-router\"\nimport { ScrollContext } from \"gatsby-react-router-scroll\"\nimport { StaticQueryContext } from \"gatsby\"\nimport {\n shouldUpdateScroll,\n init as navigationInit,\n RouteUpdates,\n} from \"./navigation\"\nimport emitter from \"./emitter\"\nimport PageRenderer from \"./page-renderer\"\nimport asyncRequires from \"$virtual/async-requires\"\nimport {\n setLoader,\n ProdLoader,\n publicLoader,\n PageResourceStatus,\n getStaticQueryResults,\n} from \"./loader\"\nimport EnsureResources from \"./ensure-resources\"\nimport stripPrefix from \"./strip-prefix\"\n\n// Generated during bootstrap\nimport matchPaths from \"$virtual/match-paths.json\"\nimport { reactDOMUtils } from \"./react-dom-utils\"\n\nconst loader = new ProdLoader(asyncRequires, matchPaths, window.pageData)\nsetLoader(loader)\nloader.setApiRunner(apiRunner)\n\nconst { render, hydrate } = reactDOMUtils()\n\nwindow.asyncRequires = asyncRequires\nwindow.___emitter = emitter\nwindow.___loader = publicLoader\n\nnavigationInit()\n\nconst reloadStorageKey = `gatsby-reload-compilation-hash-match`\n\napiRunnerAsync(`onClientEntry`).then(() => {\n // Let plugins register a service worker. The plugin just needs\n // to return true.\n if (apiRunner(`registerServiceWorker`).filter(Boolean).length > 0) {\n require(`./register-service-worker`)\n }\n\n // In gatsby v2 if Router is used in page using matchPaths\n // paths need to contain full path.\n // For example:\n // - page have `/app/*` matchPath\n // - inside template user needs to use `/app/xyz` as path\n // Resetting `basepath`/`baseuri` keeps current behaviour\n // to not introduce breaking change.\n // Remove this in v3\n const RouteHandler = props => (\n \n \n \n )\n\n const DataContext = React.createContext({})\n\n class GatsbyRoot extends React.Component {\n render() {\n const { children } = this.props\n return (\n \n {({ location }) => (\n \n {({ pageResources, location }) => {\n if (pageResources.partialHydration) {\n return (\n \n {children}\n \n )\n } else {\n const staticQueryResults = getStaticQueryResults()\n return (\n \n \n {children}\n \n \n )\n }\n }}\n \n )}\n \n )\n }\n }\n\n class LocationHandler extends React.Component {\n render() {\n return (\n \n {({ pageResources, location }) => (\n \n \n \n \n \n \n \n )}\n \n )\n }\n }\n\n const { pagePath, location: browserLoc } = window\n\n // Explicitly call navigate if the canonical path (window.pagePath)\n // is different to the browser path (window.location.pathname). SSR\n // page paths might include search params, while SSG and DSG won't.\n // If page path include search params we also compare query params.\n // But only if NONE of the following conditions hold:\n //\n // - The url matches a client side route (page.matchPath)\n // - it's a 404 page\n // - it's the offline plugin shell (/offline-plugin-app-shell-fallback/)\n if (\n pagePath &&\n __BASE_PATH__ + pagePath !==\n browserLoc.pathname + (pagePath.includes(`?`) ? browserLoc.search : ``) &&\n !(\n loader.findMatchPath(stripPrefix(browserLoc.pathname, __BASE_PATH__)) ||\n pagePath.match(/^\\/(404|500)(\\/?|.html)$/) ||\n pagePath.match(/^\\/offline-plugin-app-shell-fallback\\/?$/)\n )\n ) {\n navigate(\n __BASE_PATH__ +\n pagePath +\n (!pagePath.includes(`?`) ? browserLoc.search : ``) +\n browserLoc.hash,\n {\n replace: true,\n }\n )\n }\n\n // It's possible that sessionStorage can throw an exception if access is not granted, see https://github.com/gatsbyjs/gatsby/issues/34512\n const getSessionStorage = () => {\n try {\n return sessionStorage\n } catch {\n return null\n }\n }\n\n publicLoader.loadPage(browserLoc.pathname + browserLoc.search).then(page => {\n const sessionStorage = getSessionStorage()\n\n if (\n page?.page?.webpackCompilationHash &&\n page.page.webpackCompilationHash !== window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n // We have not matching html + js (inlined `window.___webpackCompilationHash`)\n // with our data (coming from `app-data.json` file). This can cause issues such as\n // errors trying to load static queries (as list of static queries is inside `page-data`\n // which might not match to currently loaded `.js` scripts).\n // We are making attempt to reload if hashes don't match, but we also have to handle case\n // when reload doesn't fix it (possibly broken deploy) so we don't end up in infinite reload loop\n if (sessionStorage) {\n const isReloaded = sessionStorage.getItem(reloadStorageKey) === `1`\n\n if (!isReloaded) {\n sessionStorage.setItem(reloadStorageKey, `1`)\n window.location.reload(true)\n return\n }\n }\n }\n\n if (sessionStorage) {\n sessionStorage.removeItem(reloadStorageKey)\n }\n\n if (!page || page.status === PageResourceStatus.Error) {\n const message = `page resources for ${browserLoc.pathname} not found. Not rendering React`\n\n // if the chunk throws an error we want to capture the real error\n // This should help with https://github.com/gatsbyjs/gatsby/issues/19618\n if (page && page.error) {\n console.error(message)\n throw page.error\n }\n\n throw new Error(message)\n }\n\n const SiteRoot = apiRunner(\n `wrapRootElement`,\n { element: },\n ,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\n\n const App = function App() {\n const onClientEntryRanRef = React.useRef(false)\n\n React.useEffect(() => {\n if (!onClientEntryRanRef.current) {\n onClientEntryRanRef.current = true\n if (performance.mark) {\n performance.mark(`onInitialClientRender`)\n }\n\n apiRunner(`onInitialClientRender`)\n }\n }, [])\n\n return {SiteRoot}\n }\n\n const focusEl = document.getElementById(`gatsby-focus-wrapper`)\n\n // Client only pages have any empty body so we just do a normal\n // render to avoid React complaining about hydration mis-matches.\n let defaultRenderer = render\n if (focusEl && focusEl.children.length) {\n defaultRenderer = hydrate\n }\n\n const renderer = apiRunner(\n `replaceHydrateFunction`,\n undefined,\n defaultRenderer\n )[0]\n\n function runRender() {\n const rootElement =\n typeof window !== `undefined`\n ? document.getElementById(`___gatsby`)\n : null\n\n renderer(, rootElement)\n }\n\n // https://github.com/madrobby/zepto/blob/b5ed8d607f67724788ec9ff492be297f64d47dfc/src/zepto.js#L439-L450\n // TODO remove IE 10 support\n const doc = document\n if (\n doc.readyState === `complete` ||\n (doc.readyState !== `loading` && !doc.documentElement.doScroll)\n ) {\n setTimeout(function () {\n runRender()\n }, 0)\n } else {\n const handler = function () {\n doc.removeEventListener(`DOMContentLoaded`, handler, false)\n window.removeEventListener(`load`, handler, false)\n\n runRender()\n }\n\n doc.addEventListener(`DOMContentLoaded`, handler, false)\n window.addEventListener(`load`, handler, false)\n }\n\n return\n })\n})\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport loader from \"./loader\"\nimport InternalPageRenderer from \"./page-renderer\"\n\nconst ProdPageRenderer = ({ location }) => {\n const pageResources = loader.loadPageSync(location.pathname)\n if (!pageResources) {\n return null\n }\n return React.createElement(InternalPageRenderer, {\n location,\n pageResources,\n ...pageResources.json,\n })\n}\n\nProdPageRenderer.propTypes = {\n location: PropTypes.shape({\n pathname: PropTypes.string.isRequired,\n }).isRequired,\n}\n\nexport default ProdPageRenderer\n","const preferDefault = m => (m && m.default) || m\n\nif (process.env.BUILD_STAGE === `develop`) {\n module.exports = preferDefault(require(`./public-page-renderer-dev`))\n} else if (process.env.BUILD_STAGE === `build-javascript`) {\n module.exports = preferDefault(require(`./public-page-renderer-prod`))\n} else {\n module.exports = () => null\n}\n","/* global HAS_REACT_18 */\n\nconst map = new WeakMap()\n\n/**\n * Since react 18, render and hydrate moved to react-dom/client\n * returns correct hydrate and render function based on installed react-dom version\n */\n\nexport function reactDOMUtils() {\n let render\n let hydrate\n\n if (HAS_REACT_18) {\n const reactDomClient = require(`react-dom/client`)\n\n render = (Component, el) => {\n let root = map.get(el)\n if (!root) {\n map.set(el, (root = reactDomClient.createRoot(el)))\n }\n root.render(Component)\n }\n\n hydrate = (Component, el) => reactDomClient.hydrateRoot(el, Component)\n } else {\n const reactDomClient = require(`react-dom`)\n render = reactDomClient.render\n hydrate = reactDomClient.hydrate\n }\n\n return { render, hydrate }\n}\n","exports.polyfill = Component => Component\n","import redirects from \"./redirects.json\"\n\n// Convert to a map for faster lookup in maybeRedirect()\n\nconst redirectMap = new Map()\nconst redirectIgnoreCaseMap = new Map()\n\nredirects.forEach(redirect => {\n if (redirect.ignoreCase) {\n redirectIgnoreCaseMap.set(redirect.fromPath, redirect)\n } else {\n redirectMap.set(redirect.fromPath, redirect)\n }\n})\n\nexport function maybeGetBrowserRedirect(pathname) {\n let redirect = redirectMap.get(pathname)\n if (!redirect) {\n redirect = redirectIgnoreCaseMap.get(pathname.toLowerCase())\n }\n return redirect\n}\n","import { apiRunner } from \"./api-runner-browser\"\n\nif (\n window.location.protocol !== `https:` &&\n window.location.hostname !== `localhost`\n) {\n console.error(\n `Service workers can only be used over HTTPS, or on localhost for development`\n )\n} else if (`serviceWorker` in navigator) {\n navigator.serviceWorker\n .register(`${__BASE_PATH__}/sw.js`)\n .then(function (reg) {\n reg.addEventListener(`updatefound`, () => {\n apiRunner(`onServiceWorkerUpdateFound`, { serviceWorker: reg })\n // The updatefound event implies that reg.installing is set; see\n // https://w3c.github.io/ServiceWorker/#service-worker-registration-updatefound-event\n const installingWorker = reg.installing\n console.log(`installingWorker`, installingWorker)\n installingWorker.addEventListener(`statechange`, () => {\n switch (installingWorker.state) {\n case `installed`:\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and the fresh content will\n // have been added to the cache.\n\n // We set a flag so Gatsby Link knows to refresh the page on next navigation attempt\n window.___swUpdated = true\n // We call the onServiceWorkerUpdateReady API so users can show update prompts.\n apiRunner(`onServiceWorkerUpdateReady`, { serviceWorker: reg })\n\n // If resources failed for the current page, reload.\n if (window.___failedResources) {\n console.log(`resources failed, SW updated - reloading`)\n window.location.reload()\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a \"Content is cached for offline use.\" message.\n console.log(`Content is now available offline!`)\n\n // Post to service worker that install is complete.\n // Delay to allow time for the event listener to be added --\n // otherwise fetch is called too soon and resources aren't cached.\n apiRunner(`onServiceWorkerInstalled`, { serviceWorker: reg })\n }\n break\n\n case `redundant`:\n console.error(`The installing service worker became redundant.`)\n apiRunner(`onServiceWorkerRedundant`, { serviceWorker: reg })\n break\n\n case `activated`:\n apiRunner(`onServiceWorkerActive`, { serviceWorker: reg })\n break\n }\n })\n })\n })\n .catch(function (e) {\n console.error(`Error during service worker registration:`, e)\n })\n}\n","/**\n * Remove a prefix from a string. Return the input string if the given prefix\n * isn't found.\n */\n\nexport default function stripPrefix(str, prefix = ``) {\n if (!prefix) {\n return str\n }\n\n if (str === prefix) {\n return `/`\n }\n\n if (str.startsWith(`${prefix}/`)) {\n return str.slice(prefix.length)\n }\n\n return str\n}\n","\"use strict\";\n\nexports.__esModule = true;\n\nvar _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; };\n\nvar getLocation = function getLocation(source) {\n var _source$location = source.location,\n search = _source$location.search,\n hash = _source$location.hash,\n href = _source$location.href,\n origin = _source$location.origin,\n protocol = _source$location.protocol,\n host = _source$location.host,\n hostname = _source$location.hostname,\n port = _source$location.port;\n var pathname = source.location.pathname;\n\n\n if (!pathname && href && canUseDOM) {\n var url = new URL(href);\n pathname = url.pathname;\n }\n\n return {\n pathname: encodeURI(decodeURI(pathname)),\n search: search,\n hash: hash,\n href: href,\n origin: origin,\n protocol: protocol,\n host: host,\n hostname: hostname,\n port: port,\n state: source.history.state,\n key: source.history.state && source.history.state.key || \"initial\"\n };\n};\n\nvar createHistory = function createHistory(source, options) {\n var listeners = [];\n var location = getLocation(source);\n var transitioning = false;\n var resolveTransition = function resolveTransition() {};\n\n return {\n get location() {\n return location;\n },\n\n get transitioning() {\n return transitioning;\n },\n\n _onTransitionComplete: function _onTransitionComplete() {\n transitioning = false;\n resolveTransition();\n },\n listen: function listen(listener) {\n listeners.push(listener);\n\n var popstateListener = function popstateListener() {\n location = getLocation(source);\n listener({ location: location, action: \"POP\" });\n };\n\n source.addEventListener(\"popstate\", popstateListener);\n\n return function () {\n source.removeEventListener(\"popstate\", popstateListener);\n listeners = listeners.filter(function (fn) {\n return fn !== listener;\n });\n };\n },\n navigate: function navigate(to) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n state = _ref.state,\n _ref$replace = _ref.replace,\n replace = _ref$replace === undefined ? false : _ref$replace;\n\n if (typeof to === \"number\") {\n source.history.go(to);\n } else {\n state = _extends({}, state, { key: Date.now() + \"\" });\n // try...catch iOS Safari limits to 100 pushState calls\n try {\n if (transitioning || replace) {\n source.history.replaceState(state, null, to);\n } else {\n source.history.pushState(state, null, to);\n }\n } catch (e) {\n source.location[replace ? \"replace\" : \"assign\"](to);\n }\n }\n\n location = getLocation(source);\n transitioning = true;\n var transition = new Promise(function (res) {\n return resolveTransition = res;\n });\n listeners.forEach(function (listener) {\n return listener({ location: location, action: \"PUSH\" });\n });\n return transition;\n }\n };\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Stores history entries in memory for testing or other platforms like Native\nvar createMemorySource = function createMemorySource() {\n var initialPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"/\";\n\n var searchIndex = initialPath.indexOf(\"?\");\n var initialLocation = {\n pathname: searchIndex > -1 ? initialPath.substr(0, searchIndex) : initialPath,\n search: searchIndex > -1 ? initialPath.substr(searchIndex) : \"\"\n };\n var index = 0;\n var stack = [initialLocation];\n var states = [null];\n\n return {\n get location() {\n return stack[index];\n },\n addEventListener: function addEventListener(name, fn) {},\n removeEventListener: function removeEventListener(name, fn) {},\n\n history: {\n get entries() {\n return stack;\n },\n get index() {\n return index;\n },\n get state() {\n return states[index];\n },\n pushState: function pushState(state, _, uri) {\n var _uri$split = uri.split(\"?\"),\n pathname = _uri$split[0],\n _uri$split$ = _uri$split[1],\n search = _uri$split$ === undefined ? \"\" : _uri$split$;\n\n index++;\n stack.push({ pathname: pathname, search: search.length ? \"?\" + search : search });\n states.push(state);\n },\n replaceState: function replaceState(state, _, uri) {\n var _uri$split2 = uri.split(\"?\"),\n pathname = _uri$split2[0],\n _uri$split2$ = _uri$split2[1],\n search = _uri$split2$ === undefined ? \"\" : _uri$split2$;\n\n stack[index] = { pathname: pathname, search: search };\n states[index] = state;\n },\n go: function go(to) {\n var newIndex = index + to;\n\n if (newIndex < 0 || newIndex > states.length - 1) {\n return;\n }\n\n index = newIndex;\n }\n }\n };\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// global history - uses window.history as the source if available, otherwise a\n// memory history\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nvar getSource = function getSource() {\n return canUseDOM ? window : createMemorySource();\n};\n\nvar globalHistory = createHistory(getSource());\nvar navigate = globalHistory.navigate;\n\n////////////////////////////////////////////////////////////////////////////////\n\nexports.globalHistory = globalHistory;\nexports.navigate = navigate;\nexports.createHistory = createHistory;\nexports.createMemorySource = createMemorySource;","\"use strict\";\n\nexports.__esModule = true;\nexports.shallowCompare = exports.validateRedirect = exports.insertParams = exports.resolve = exports.match = exports.pick = exports.startsWith = undefined;\n\nvar _invariant = require(\"invariant\");\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n////////////////////////////////////////////////////////////////////////////////\n// startsWith(string, search) - Check if `string` starts with `search`\nvar startsWith = function startsWith(string, search) {\n return string.substr(0, search.length) === search;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// pick(routes, uri)\n//\n// Ranks and picks the best route to match. Each segment gets the highest\n// amount of points, then the type of segment gets an additional amount of\n// points where\n//\n// static > dynamic > splat > root\n//\n// This way we don't have to worry about the order of our routes, let the\n// computers do it.\n//\n// A route looks like this\n//\n// { path, default, value }\n//\n// And a returned match looks like:\n//\n// { route, params, uri }\n//\n// I know, I should use TypeScript not comments for these types.\nvar pick = function pick(routes, uri) {\n var match = void 0;\n var default_ = void 0;\n\n var _uri$split = uri.split(\"?\"),\n uriPathname = _uri$split[0];\n\n var uriSegments = segmentize(uriPathname);\n var isRootUri = uriSegments[0] === \"\";\n var ranked = rankRoutes(routes);\n\n for (var i = 0, l = ranked.length; i < l; i++) {\n var missed = false;\n var route = ranked[i].route;\n\n if (route.default) {\n default_ = {\n route: route,\n params: {},\n uri: uri\n };\n continue;\n }\n\n var routeSegments = segmentize(route.path);\n var params = {};\n var max = Math.max(uriSegments.length, routeSegments.length);\n var index = 0;\n\n for (; index < max; index++) {\n var routeSegment = routeSegments[index];\n var uriSegment = uriSegments[index];\n\n if (isSplat(routeSegment)) {\n // Hit a splat, just grab the rest, and return a match\n // uri: /files/documents/work\n // route: /files/*\n var param = routeSegment.slice(1) || \"*\";\n params[param] = uriSegments.slice(index).map(decodeURIComponent).join(\"/\");\n break;\n }\n\n if (uriSegment === undefined) {\n // URI is shorter than the route, no match\n // uri: /users\n // route: /users/:userId\n missed = true;\n break;\n }\n\n var dynamicMatch = paramRe.exec(routeSegment);\n\n if (dynamicMatch && !isRootUri) {\n var matchIsNotReserved = reservedNames.indexOf(dynamicMatch[1]) === -1;\n !matchIsNotReserved ? process.env.NODE_ENV !== \"production\" ? (0, _invariant2.default)(false, \" dynamic segment \\\"\" + dynamicMatch[1] + \"\\\" is a reserved name. Please use a different name in path \\\"\" + route.path + \"\\\".\") : (0, _invariant2.default)(false) : void 0;\n var value = decodeURIComponent(uriSegment);\n params[dynamicMatch[1]] = value;\n } else if (routeSegment !== uriSegment) {\n // Current segments don't match, not dynamic, not splat, so no match\n // uri: /users/123/settings\n // route: /users/:id/profile\n missed = true;\n break;\n }\n }\n\n if (!missed) {\n match = {\n route: route,\n params: params,\n uri: \"/\" + uriSegments.slice(0, index).join(\"/\")\n };\n break;\n }\n }\n\n return match || default_ || null;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// match(path, uri) - Matches just one path to a uri, also lol\nvar match = function match(path, uri) {\n return pick([{ path: path }], uri);\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// resolve(to, basepath)\n//\n// Resolves URIs as though every path is a directory, no files. Relative URIs\n// in the browser can feel awkward because not only can you be \"in a directory\"\n// you can be \"at a file\", too. For example\n//\n// browserSpecResolve('foo', '/bar/') => /bar/foo\n// browserSpecResolve('foo', '/bar') => /foo\n//\n// But on the command line of a file system, it's not as complicated, you can't\n// `cd` from a file, only directories. This way, links have to know less about\n// their current path. To go deeper you can do this:\n//\n// \n// // instead of\n// \n//\n// Just like `cd`, if you want to go deeper from the command line, you do this:\n//\n// cd deeper\n// # not\n// cd $(pwd)/deeper\n//\n// By treating every path as a directory, linking to relative paths should\n// require less contextual information and (fingers crossed) be more intuitive.\nvar resolve = function resolve(to, base) {\n // /foo/bar, /baz/qux => /foo/bar\n if (startsWith(to, \"/\")) {\n return to;\n }\n\n var _to$split = to.split(\"?\"),\n toPathname = _to$split[0],\n toQuery = _to$split[1];\n\n var _base$split = base.split(\"?\"),\n basePathname = _base$split[0];\n\n var toSegments = segmentize(toPathname);\n var baseSegments = segmentize(basePathname);\n\n // ?a=b, /users?b=c => /users?a=b\n if (toSegments[0] === \"\") {\n return addQuery(basePathname, toQuery);\n }\n\n // profile, /users/789 => /users/789/profile\n if (!startsWith(toSegments[0], \".\")) {\n var pathname = baseSegments.concat(toSegments).join(\"/\");\n return addQuery((basePathname === \"/\" ? \"\" : \"/\") + pathname, toQuery);\n }\n\n // ./ /users/123 => /users/123\n // ../ /users/123 => /users\n // ../.. /users/123 => /\n // ../../one /a/b/c/d => /a/b/one\n // .././one /a/b/c/d => /a/b/c/one\n var allSegments = baseSegments.concat(toSegments);\n var segments = [];\n for (var i = 0, l = allSegments.length; i < l; i++) {\n var segment = allSegments[i];\n if (segment === \"..\") segments.pop();else if (segment !== \".\") segments.push(segment);\n }\n\n return addQuery(\"/\" + segments.join(\"/\"), toQuery);\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// insertParams(path, params)\n\nvar insertParams = function insertParams(path, params) {\n var _path$split = path.split(\"?\"),\n pathBase = _path$split[0],\n _path$split$ = _path$split[1],\n query = _path$split$ === undefined ? \"\" : _path$split$;\n\n var segments = segmentize(pathBase);\n var constructedPath = \"/\" + segments.map(function (segment) {\n var match = paramRe.exec(segment);\n return match ? params[match[1]] : segment;\n }).join(\"/\");\n var _params$location = params.location;\n _params$location = _params$location === undefined ? {} : _params$location;\n var _params$location$sear = _params$location.search,\n search = _params$location$sear === undefined ? \"\" : _params$location$sear;\n\n var searchSplit = search.split(\"?\")[1] || \"\";\n constructedPath = addQuery(constructedPath, query, searchSplit);\n return constructedPath;\n};\n\nvar validateRedirect = function validateRedirect(from, to) {\n var filter = function filter(segment) {\n return isDynamic(segment);\n };\n var fromString = segmentize(from).filter(filter).sort().join(\"/\");\n var toString = segmentize(to).filter(filter).sort().join(\"/\");\n return fromString === toString;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Junk\nvar paramRe = /^:(.+)/;\n\nvar SEGMENT_POINTS = 4;\nvar STATIC_POINTS = 3;\nvar DYNAMIC_POINTS = 2;\nvar SPLAT_PENALTY = 1;\nvar ROOT_POINTS = 1;\n\nvar isRootSegment = function isRootSegment(segment) {\n return segment === \"\";\n};\nvar isDynamic = function isDynamic(segment) {\n return paramRe.test(segment);\n};\nvar isSplat = function isSplat(segment) {\n return segment && segment[0] === \"*\";\n};\n\nvar rankRoute = function rankRoute(route, index) {\n var score = route.default ? 0 : segmentize(route.path).reduce(function (score, segment) {\n score += SEGMENT_POINTS;\n if (isRootSegment(segment)) score += ROOT_POINTS;else if (isDynamic(segment)) score += DYNAMIC_POINTS;else if (isSplat(segment)) score -= SEGMENT_POINTS + SPLAT_PENALTY;else score += STATIC_POINTS;\n return score;\n }, 0);\n return { route: route, score: score, index: index };\n};\n\nvar rankRoutes = function rankRoutes(routes) {\n return routes.map(rankRoute).sort(function (a, b) {\n return a.score < b.score ? 1 : a.score > b.score ? -1 : a.index - b.index;\n });\n};\n\nvar segmentize = function segmentize(uri) {\n return uri\n // strip starting/ending slashes\n .replace(/(^\\/+|\\/+$)/g, \"\").split(\"/\");\n};\n\nvar addQuery = function addQuery(pathname) {\n for (var _len = arguments.length, query = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n query[_key - 1] = arguments[_key];\n }\n\n query = query.filter(function (q) {\n return q && q.length > 0;\n });\n return pathname + (query && query.length > 0 ? \"?\" + query.join(\"&\") : \"\");\n};\n\nvar reservedNames = [\"uri\", \"path\"];\n\n/**\n * Shallow compares two objects.\n * @param {Object} obj1 The first object to compare.\n * @param {Object} obj2 The second object to compare.\n */\nvar shallowCompare = function shallowCompare(obj1, obj2) {\n var obj1Keys = Object.keys(obj1);\n return obj1Keys.length === Object.keys(obj2).length && obj1Keys.every(function (key) {\n return obj2.hasOwnProperty(key) && obj1[key] === obj2[key];\n });\n};\n\n////////////////////////////////////////////////////////////////////////////////\nexports.startsWith = startsWith;\nexports.pick = pick;\nexports.match = match;\nexports.resolve = resolve;\nexports.insertParams = insertParams;\nexports.validateRedirect = validateRedirect;\nexports.shallowCompare = shallowCompare;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.INVALID_HASH = exports.IMPROPPER_FORMATTING = void 0;\nvar IMPROPPER_FORMATTING = 'Anchor path should contain an absolute root path `/` and selector `#` Ex: `/about#team`';\nexports.IMPROPPER_FORMATTING = IMPROPPER_FORMATTING;\nvar INVALID_HASH = 'Anchor Links plugin attempted to scroll to an invalid hash on route change.';\nexports.INVALID_HASH = INVALID_HASH;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.onRouteUpdate = void 0;\n\nvar _utils = require(\"./utils\");\n\nvar onRouteUpdate = function onRouteUpdate(_ref, _ref2) {\n var location = _ref.location;\n var _ref2$offset = _ref2.offset,\n offset = _ref2$offset === void 0 ? 0 : _ref2$offset,\n _ref2$duration = _ref2.duration,\n duration = _ref2$duration === void 0 ? 1000 : _ref2$duration;\n var windowHash;\n\n if (_utils.isBrowser) {\n window.gatsby_scroll_offset = offset;\n window.gatsby_scroll_duration = duration;\n windowHash = window.gatsby_scroll_hash;\n }\n\n windowHash ? (0, _utils.scroller)(windowHash, offset) : (0, _utils.checkHash)(location, offset);\n\n if (_utils.isBrowser && windowHash) {\n window.gatsby_scroll_hash = undefined;\n }\n};\n\nexports.onRouteUpdate = onRouteUpdate;","\"use strict\";\n\nfunction _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); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.logWarning = logWarning;\nexports.scroller = scroller;\nexports.handleLinkClick = handleLinkClick;\nexports.handleStrippedLinkClick = handleStrippedLinkClick;\nexports.stripHashedLocation = stripHashedLocation;\nexports.checkHash = checkHash;\nexports.isDevelopment = exports.isBrowser = void 0;\n\nvar _scrollToElement = _interopRequireDefault(require(\"scroll-to-element\"));\n\nvar _gatsby = require(\"gatsby\");\n\nvar errorTypes = _interopRequireWildcard(require(\"./errors\"));\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _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; }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _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; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) 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; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar isBrowser = typeof window !== 'undefined';\nexports.isBrowser = isBrowser;\nvar isDevelopment = process.env.NODE_ENV !== 'production';\nexports.isDevelopment = isDevelopment;\n\nfunction logWarning(message) {\n if (isDevelopment) console.warn(message);\n}\n\nfunction scroller(target) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1000;\n (0, _scrollToElement[\"default\"])(target, {\n duration: duration,\n offset: offset\n });\n}\n\nfunction handleLinkClick(to, e, onAnchorLinkClick) {\n /**\n * Log warnings on click\n */\n var improperFormatting = !to.includes('/') || !to.includes('#');\n if (improperFormatting) logWarning(errorTypes.IMPROPPER_FORMATTING);\n\n if (isBrowser && to.includes('#')) {\n var _to$split = to.split('#'),\n _to$split2 = _slicedToArray(_to$split, 2),\n anchorPath = _to$split2[0],\n anchor = _to$split2[1];\n\n if (window.location.pathname === (0, _gatsby.withPrefix)(anchorPath)) {\n e.preventDefault();\n scroller(\"#\".concat(anchor), window.gatsby_scroll_offset, window.gatsby_scroll_duration);\n }\n }\n\n if (onAnchorLinkClick) onAnchorLinkClick();\n}\n\nfunction handleStrippedLinkClick(to, e, onAnchorLinkClick) {\n /**\n * Log warnings on click\n */\n var improperFormatting = !to.includes('/') || !to.includes('#');\n if (improperFormatting) logWarning(errorTypes.IMPROPPER_FORMATTING);\n\n var _to$split3 = to.split('#'),\n _to$split4 = _slicedToArray(_to$split3, 2),\n anchorPath = _to$split4[0],\n anchor = _to$split4[1];\n /**\n * Determine location, run scroller or set window variable\n */\n\n\n var isSamePage = isBrowser && window.location.pathname === anchorPath;\n var isDifferentPage = isBrowser && window.location.pathname !== anchorPath;\n\n if (isSamePage) {\n e.preventDefault();\n scroller(\"#\".concat(anchor), window.gatsby_scroll_offset, window.gatsby_scroll_duration);\n }\n\n if (isDifferentPage) {\n window.gatsby_scroll_hash = \"#\".concat(anchor);\n }\n\n if (onAnchorLinkClick) onAnchorLinkClick();\n}\n\nfunction stripHashedLocation(to) {\n return to.split('#')[0];\n}\n\nfunction checkHash(location, offset) {\n var hash = location.hash,\n selector = hash ? hash.substr(1) : null,\n validElement = selector ? document.getElementById(selector) : null;\n if (hash && Boolean(validElement)) scroller(hash, offset);else if (hash && selector && !validElement) logWarning(errorTypes.INVALID_HASH);\n}","import escapeStringRegexp from \"escape-string-regexp\";\nimport { withPrefix } from \"gatsby\";\nexport const userIsForcingNavigation = event => event.button !== 0 || event.altKey || event.ctrlKey || event.metaKey || event.shiftKey; // IE does not include leading slash in anchor.pathname\n\nexport const slashedPathname = pathname => pathname[0] === `/` ? pathname : `/${pathname}`;\nexport const navigationWasHandledElsewhere = event => event.defaultPrevented;\nexport const findClosestAnchor = node => {\n for (; node.parentNode; node = node.parentNode) {\n if (node.nodeName.toLowerCase() === `a`) {\n return node;\n }\n }\n\n return null;\n};\nexport const anchorsTargetIsEquivalentToSelf = anchor =>\n/* If target attribute is not present it's treated as _self */\nanchor.hasAttribute(`target`) === false ||\n/**\n * The browser defaults to _self, but, not all browsers set\n * a.target to the string value `_self` by default\n */\n\n/**\n * Assumption: some browsers use null/undefined for default\n * attribute values\n */\nanchor.target == null ||\n/**\n * Some browsers use the empty string to mean _self, check\n * for actual `_self`\n */\n[`_self`, ``].includes(anchor.target) ||\n/**\n * As per https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-target\n */\nanchor.target === `_parent` && (!anchor.ownerDocument.defaultView.parent || // Assumption: This can be falsey\nanchor.ownerDocument.defaultView.parent === anchor.ownerDocument.defaultView) || anchor.target === `_top` && (!anchor.ownerDocument.defaultView.top || // Assumption: This can be falsey\nanchor.ownerDocument.defaultView.top === anchor.ownerDocument.defaultView);\nexport const authorIsForcingNavigation = anchor =>\n/**\n * HTML5 attribute that informs the browser to handle the\n * href as a downloadable file; let the browser handle it\n */\nanchor.hasAttribute(`download`) === true ||\n/**\n * Let the browser handle anything that doesn't look like a\n * target=\"_self\" anchor\n */\nanchorsTargetIsEquivalentToSelf(anchor) === false; // https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy\n\nexport const urlsAreOnSameOrigin = (origin, destination) => origin.protocol === destination.protocol &&\n/* a.host includes both hostname and port in the expected format host:port */\norigin.host === destination.host;\nexport const pathIsNotHandledByApp = (destination, pathStartRegEx) => {\n const pathFileExtensionRegEx = /^.*\\.((?!htm)[a-z0-9]{1,5})$/i;\n return (\n /**\n * For when pathPrefix is used in an app and there happens to be a link\n * pointing to the same domain but outside of the app's pathPrefix. For\n * example, a Gatsby app lives at https://example.com/myapp/, with the\n * pathPrefix set to `/myapp`. When adding an absolute link to the same\n * domain but outside of the /myapp path, for example, `` the plugin won't catch it and\n * will navigate to an external link instead of doing a pushState resulting\n * in `https://example.com/myapp/https://example.com/not-my-app`\n */\n pathStartRegEx.test(slashedPathname(destination.pathname)) === false ||\n /**\n * Don't catch links pointed at what look like file extensions (other than\n * .htm/html extensions).\n */\n destination.pathname.search(pathFileExtensionRegEx) !== -1\n );\n};\nexport const hashShouldBeFollowed = (origin, destination) => destination.hash !== `` && (\n/**\n * Dynamically created anchor links (href=\"#my-anchor\") do not always\n * have pathname on IE\n */\ndestination.pathname === `` ||\n/* Don't catch links pointed to the same page but with a hash. */\ndestination.pathname === origin.pathname);\nexport const routeThroughBrowserOrApp = (hrefHandler, pluginOptions) => event => {\n if (window.___failedResources) return true;\n if (userIsForcingNavigation(event)) return true;\n if (navigationWasHandledElsewhere(event)) return true;\n const clickedAnchor = findClosestAnchor(event.target);\n if (clickedAnchor == null) return true;\n if (authorIsForcingNavigation(clickedAnchor)) return true; // IE clears the host value if the anchor href changed after creation, e.g.\n // in React. Creating a new anchor element to ensure host value is present\n\n const destination = document.createElement(`a`); // https://html.spec.whatwg.org/multipage/links.html#concept-hyperlink-url-set\n // If clickedAnchor has no href attribute like `example`, the href getter returns empty string.\n\n if (clickedAnchor.href !== ``) {\n destination.href = clickedAnchor.href;\n }\n\n if (`SVGAnimatedString` in window && clickedAnchor.href instanceof SVGAnimatedString) {\n destination.href = clickedAnchor.href.animVal;\n } // In IE, the default port is included in the anchor host but excluded from\n // the location host. This affects the ability to directly compare\n // location host to anchor host. For example: http://example.com would\n // have a location.host of 'example.com' and an destination.host of\n // 'example.com:80' Creating anchor from the location.href to normalize the\n // host value.\n\n\n const origin = document.createElement(`a`);\n origin.href = window.location.href;\n if (urlsAreOnSameOrigin(origin, destination) === false) return true; // Regex to test pathname against pathPrefix\n\n const pathStartRegEx = new RegExp(`^${escapeStringRegexp(withPrefix(`/`))}`);\n if (pathIsNotHandledByApp(destination, pathStartRegEx)) return true;\n if (hashShouldBeFollowed(origin, destination)) return true;\n\n if (pluginOptions.excludePattern) {\n const excludeRegex = new RegExp(pluginOptions.excludePattern);\n\n if (excludeRegex.test(destination.pathname)) {\n return true;\n }\n }\n\n event.preventDefault(); // See issue #8907: destination.pathname already includes pathPrefix added\n // by gatsby-transformer-remark but gatsby-link.navigate needs href without\n\n const destinationPathname = slashedPathname(destination.pathname).replace(pathStartRegEx, `/`);\n hrefHandler(`${destinationPathname}${destination.search}${destination.hash}`);\n return false;\n};\nexport default function (root, pluginOptions, cb) {\n const clickHandler = routeThroughBrowserOrApp(cb, pluginOptions);\n root.addEventListener(`click`, clickHandler);\n return () => root.removeEventListener(`click`, clickHandler);\n}","import { navigate } from \"gatsby\";\nimport catchLinks from \"./catch-links\";\nexport const onClientEntry = (_, pluginOptions = {}) => {\n catchLinks(window, pluginOptions, href => {\n navigate(href);\n });\n};","/* global __MANIFEST_PLUGIN_HAS_LOCALISATION__ */\nimport { withPrefix } from \"gatsby\";\nimport getManifestForPathname from \"./get-manifest-pathname\"; // when we don't have localisation in our manifest, we tree shake everything away\n\nexport const onRouteUpdate = function onRouteUpdate({\n location\n}, pluginOptions) {\n if (__MANIFEST_PLUGIN_HAS_LOCALISATION__) {\n const {\n localize\n } = pluginOptions;\n const manifestFilename = getManifestForPathname(location.pathname, localize, true);\n const manifestEl = document.head.querySelector(`link[rel=\"manifest\"]`);\n\n if (manifestEl) {\n manifestEl.setAttribute(`href`, withPrefix(manifestFilename));\n }\n }\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _gatsby = require(\"gatsby\");\n\n/**\n * Get a manifest filename depending on localized pathname\n *\n * @param {string} pathname\n * @param {Array<{start_url: string, lang: string}>} localizedManifests\n * @param {boolean} shouldPrependPathPrefix\n * @return string\n */\nvar _default = (pathname, localizedManifests, shouldPrependPathPrefix = false) => {\n const defaultFilename = `manifest.webmanifest`;\n\n if (!Array.isArray(localizedManifests)) {\n return defaultFilename;\n }\n\n const localizedManifest = localizedManifests.find(app => {\n let startUrl = app.start_url;\n\n if (shouldPrependPathPrefix) {\n startUrl = (0, _gatsby.withPrefix)(startUrl);\n }\n\n return pathname.startsWith(startUrl);\n });\n\n if (!localizedManifest) {\n return defaultFilename;\n }\n\n return `manifest_${localizedManifest.lang}.webmanifest`;\n};\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _styledComponents = require(\"styled-components\");\n\n// eslint-disable-next-line react/prop-types,react/display-name\nexports.wrapRootElement = function (_ref, pluginOptions) {\n var element = _ref.element;\n return /*#__PURE__*/_react.default.createElement(_styledComponents.StyleSheetManager, {\n disableVendorPrefixes: (pluginOptions === null || pluginOptions === void 0 ? void 0 : pluginOptions.disableVendorPrefixes) === true\n }, element);\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = exports.ScrollContext = void 0;\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nexports.ScrollContext = _scrollHandler.ScrollHandler;\n\nvar _useScrollRestoration = require(\"./use-scroll-restoration\");\n\nexports.useScrollRestoration = _useScrollRestoration.useScrollRestoration;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.ScrollHandler = exports.ScrollContext = void 0;\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _sessionStorage = require(\"./session-storage\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && 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; }\n\nvar ScrollContext = /*#__PURE__*/React.createContext(new _sessionStorage.SessionStorage());\nexports.ScrollContext = ScrollContext;\nScrollContext.displayName = \"GatsbyScrollContext\";\n\nvar ScrollHandler = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(ScrollHandler, _React$Component);\n\n function ScrollHandler() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this._stateStorage = new _sessionStorage.SessionStorage();\n _this._isTicking = false;\n _this._latestKnownScrollY = 0;\n\n _this.scrollListener = function () {\n _this._latestKnownScrollY = window.scrollY;\n\n if (!_this._isTicking) {\n _this._isTicking = true;\n requestAnimationFrame(_this._saveScroll.bind((0, _assertThisInitialized2.default)(_this)));\n }\n };\n\n _this.windowScroll = function (position, prevProps) {\n if (_this.shouldUpdateScroll(prevProps, _this.props)) {\n window.scrollTo(0, position);\n }\n };\n\n _this.scrollToHash = function (hash, prevProps) {\n var node = document.getElementById(hash.substring(1));\n\n if (node && _this.shouldUpdateScroll(prevProps, _this.props)) {\n node.scrollIntoView();\n }\n };\n\n _this.shouldUpdateScroll = function (prevRouterProps, routerProps) {\n var shouldUpdateScroll = _this.props.shouldUpdateScroll;\n\n if (!shouldUpdateScroll) {\n return true;\n } // Hack to allow accessing this._stateStorage.\n\n\n return shouldUpdateScroll.call((0, _assertThisInitialized2.default)(_this), prevRouterProps, routerProps);\n };\n\n return _this;\n }\n\n var _proto = ScrollHandler.prototype;\n\n _proto._saveScroll = function _saveScroll() {\n var key = this.props.location.key || null;\n\n if (key) {\n this._stateStorage.save(this.props.location, key, this._latestKnownScrollY);\n }\n\n this._isTicking = false;\n };\n\n _proto.componentDidMount = function componentDidMount() {\n window.addEventListener(\"scroll\", this.scrollListener);\n var scrollPosition;\n var _this$props$location = this.props.location,\n key = _this$props$location.key,\n hash = _this$props$location.hash;\n\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n if (scrollPosition) {\n this.windowScroll(scrollPosition, undefined);\n } else if (hash) {\n this.scrollToHash(decodeURI(hash), undefined);\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener(\"scroll\", this.scrollListener);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this$props$location2 = this.props.location,\n hash = _this$props$location2.hash,\n key = _this$props$location2.key;\n var scrollPosition;\n\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n /** There are two pieces of state: the browser url and\n * history state which keeps track of scroll position\n * Native behaviour prescribes that we ought to restore scroll position\n * when a user navigates back in their browser (this is the `POP` action)\n * Currently, reach router has a bug that prevents this at https://github.com/reach/router/issues/228\n * So we _always_ stick to the url as a source of truth — if the url\n * contains a hash, we scroll to it\n */\n\n\n if (hash) {\n this.scrollToHash(decodeURI(hash), prevProps);\n } else {\n this.windowScroll(scrollPosition, prevProps);\n }\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(ScrollContext.Provider, {\n value: this._stateStorage\n }, this.props.children);\n };\n\n return ScrollHandler;\n}(React.Component);\n\nexports.ScrollHandler = ScrollHandler;\nScrollHandler.propTypes = {\n shouldUpdateScroll: _propTypes.default.func,\n children: _propTypes.default.element.isRequired,\n location: _propTypes.default.object.isRequired\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.SessionStorage = void 0;\nvar STATE_KEY_PREFIX = \"@@scroll|\";\nvar GATSBY_ROUTER_SCROLL_STATE = \"___GATSBY_REACT_ROUTER_SCROLL\";\n\nvar SessionStorage = /*#__PURE__*/function () {\n function SessionStorage() {}\n\n var _proto = SessionStorage.prototype;\n\n _proto.read = function read(location, key) {\n var stateKey = this.getStateKey(location, key);\n\n try {\n var value = window.sessionStorage.getItem(stateKey);\n return value ? JSON.parse(value) : 0;\n } catch (e) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to access sessionStorage; sessionStorage is not available.\");\n }\n\n if (window && window[GATSBY_ROUTER_SCROLL_STATE] && window[GATSBY_ROUTER_SCROLL_STATE][stateKey]) {\n return window[GATSBY_ROUTER_SCROLL_STATE][stateKey];\n }\n\n return 0;\n }\n };\n\n _proto.save = function save(location, key, value) {\n var stateKey = this.getStateKey(location, key);\n var storedValue = JSON.stringify(value);\n\n try {\n window.sessionStorage.setItem(stateKey, storedValue);\n } catch (e) {\n if (window && window[GATSBY_ROUTER_SCROLL_STATE]) {\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n } else {\n window[GATSBY_ROUTER_SCROLL_STATE] = {};\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to save state in sessionStorage; sessionStorage is not available.\");\n }\n }\n };\n\n _proto.getStateKey = function getStateKey(location, key) {\n var stateKeyBase = \"\" + STATE_KEY_PREFIX + location.pathname;\n return key === null || typeof key === \"undefined\" ? stateKeyBase : stateKeyBase + \"|\" + key;\n };\n\n return SessionStorage;\n}();\n\nexports.SessionStorage = SessionStorage;","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = useScrollRestoration;\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nvar _react = require(\"react\");\n\nvar _reachRouter = require(\"@gatsbyjs/reach-router\");\n\nfunction useScrollRestoration(identifier) {\n var location = (0, _reachRouter.useLocation)();\n var state = (0, _react.useContext)(_scrollHandler.ScrollContext);\n var ref = (0, _react.useRef)(null);\n (0, _react.useLayoutEffect)(function () {\n if (ref.current) {\n var position = state.read(location, identifier);\n ref.current.scrollTo(0, position || 0);\n }\n }, [location.key]);\n return {\n ref: ref,\n onScroll: function onScroll() {\n if (ref.current) {\n state.save(location, identifier, ref.current.scrollTop);\n }\n }\n };\n}","/* global HAS_REACT_18 */\nimport type { GatsbyImageProps } from \"gatsby-plugin-image\"\nimport React from \"react\"\n\nlet hydrateRef\n\nexport function onRouteUpdate(): void {\n if (`requestIdleCallback` in window) {\n if (hydrateRef) {\n // @ts-ignore cancelIdleCallback is on window object\n cancelIdleCallback(hydrateRef)\n }\n\n // @ts-ignore requestIdleCallback is on window object\n hydrateRef = requestIdleCallback(hydrateImages)\n } else {\n if (hydrateRef) {\n clearTimeout(hydrateRef)\n }\n hydrateRef = setTimeout(hydrateImages)\n }\n}\n\ndeclare const HAS_REACT_18: boolean\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nlet ReactDOM: any\n\nif (HAS_REACT_18) {\n ReactDOM = require(`react-dom/client`)\n} else {\n ReactDOM = require(`react-dom`)\n}\n\nfunction hydrateImages(): void {\n const doc = document\n const inlineWPimages: Array = Array.from(\n doc.querySelectorAll(`[data-wp-inline-image]`)\n )\n\n if (!inlineWPimages.length) {\n return\n }\n\n import(\n /* webpackChunkName: \"gatsby-plugin-image\" */ `gatsby-plugin-image`\n ).then(mod => {\n inlineWPimages.forEach(image => {\n // usually this is the right element to hydrate on\n const grandParentIsGatsbyImage =\n // @ts-ignore-next-line classList is on HTMLElement\n image?.parentNode?.parentNode?.classList?.contains(\n `gatsby-image-wrapper`\n )\n\n // but sometimes this is the right element\n const parentIsGatsbyImage =\n // @ts-ignore-next-line classList is on HTMLElement\n image?.parentNode?.classList?.contains(`gatsby-image-wrapper`)\n\n if (!grandParentIsGatsbyImage && !parentIsGatsbyImage) {\n return\n }\n\n const gatsbyImageHydrationElement = grandParentIsGatsbyImage\n ? image.parentNode.parentNode\n : image.parentNode\n\n if (\n image.dataset &&\n image.dataset.wpInlineImage &&\n gatsbyImageHydrationElement\n ) {\n const hydrationData = doc.querySelector(\n `script[data-wp-inline-image-hydration=\"${image.dataset.wpInlineImage}\"]`\n )\n\n if (hydrationData) {\n const imageProps: GatsbyImageProps = JSON.parse(\n hydrationData.innerHTML\n )\n\n if (ReactDOM.createRoot) {\n const root = ReactDOM.createRoot(gatsbyImageHydrationElement)\n root.render(React.createElement(mod.GatsbyImage, imageProps))\n } else {\n ReactDOM.hydrate(\n React.createElement(mod.GatsbyImage, imageProps),\n gatsbyImageHydrationElement\n )\n }\n }\n }\n })\n })\n}\n","import invariant from \"invariant\";\n\n////////////////////////////////////////////////////////////////////////////////\n// startsWith(string, search) - Check if `string` starts with `search`\nvar startsWith = function startsWith(string, search) {\n return string.substr(0, search.length) === search;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// pick(routes, uri)\n//\n// Ranks and picks the best route to match. Each segment gets the highest\n// amount of points, then the type of segment gets an additional amount of\n// points where\n//\n// static > dynamic > splat > root\n//\n// This way we don't have to worry about the order of our routes, let the\n// computers do it.\n//\n// A route looks like this\n//\n// { path, default, value }\n//\n// And a returned match looks like:\n//\n// { route, params, uri }\n//\n// I know, I should use TypeScript not comments for these types.\nvar pick = function pick(routes, uri) {\n var match = void 0;\n var default_ = void 0;\n\n var _uri$split = uri.split(\"?\"),\n uriPathname = _uri$split[0];\n\n var uriSegments = segmentize(uriPathname);\n var isRootUri = uriSegments[0] === \"\";\n var ranked = rankRoutes(routes);\n\n for (var i = 0, l = ranked.length; i < l; i++) {\n var missed = false;\n var route = ranked[i].route;\n\n if (route.default) {\n default_ = {\n route: route,\n params: {},\n uri: uri\n };\n continue;\n }\n\n var routeSegments = segmentize(route.path);\n var params = {};\n var max = Math.max(uriSegments.length, routeSegments.length);\n var index = 0;\n\n for (; index < max; index++) {\n var routeSegment = routeSegments[index];\n var uriSegment = uriSegments[index];\n\n if (isSplat(routeSegment)) {\n // Hit a splat, just grab the rest, and return a match\n // uri: /files/documents/work\n // route: /files/*\n var param = routeSegment.slice(1) || \"*\";\n params[param] = uriSegments.slice(index).map(decodeURIComponent).join(\"/\");\n break;\n }\n\n if (uriSegment === undefined) {\n // URI is shorter than the route, no match\n // uri: /users\n // route: /users/:userId\n missed = true;\n break;\n }\n\n var dynamicMatch = paramRe.exec(routeSegment);\n\n if (dynamicMatch && !isRootUri) {\n var matchIsNotReserved = reservedNames.indexOf(dynamicMatch[1]) === -1;\n !matchIsNotReserved ? process.env.NODE_ENV !== \"production\" ? invariant(false, \" dynamic segment \\\"\" + dynamicMatch[1] + \"\\\" is a reserved name. Please use a different name in path \\\"\" + route.path + \"\\\".\") : invariant(false) : void 0;\n var value = decodeURIComponent(uriSegment);\n params[dynamicMatch[1]] = value;\n } else if (routeSegment !== uriSegment) {\n // Current segments don't match, not dynamic, not splat, so no match\n // uri: /users/123/settings\n // route: /users/:id/profile\n missed = true;\n break;\n }\n }\n\n if (!missed) {\n match = {\n route: route,\n params: params,\n uri: \"/\" + uriSegments.slice(0, index).join(\"/\")\n };\n break;\n }\n }\n\n return match || default_ || null;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// match(path, uri) - Matches just one path to a uri, also lol\nvar match = function match(path, uri) {\n return pick([{ path: path }], uri);\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// resolve(to, basepath)\n//\n// Resolves URIs as though every path is a directory, no files. Relative URIs\n// in the browser can feel awkward because not only can you be \"in a directory\"\n// you can be \"at a file\", too. For example\n//\n// browserSpecResolve('foo', '/bar/') => /bar/foo\n// browserSpecResolve('foo', '/bar') => /foo\n//\n// But on the command line of a file system, it's not as complicated, you can't\n// `cd` from a file, only directories. This way, links have to know less about\n// their current path. To go deeper you can do this:\n//\n// \n// // instead of\n// \n//\n// Just like `cd`, if you want to go deeper from the command line, you do this:\n//\n// cd deeper\n// # not\n// cd $(pwd)/deeper\n//\n// By treating every path as a directory, linking to relative paths should\n// require less contextual information and (fingers crossed) be more intuitive.\nvar resolve = function resolve(to, base) {\n // /foo/bar, /baz/qux => /foo/bar\n if (startsWith(to, \"/\")) {\n return to;\n }\n\n var _to$split = to.split(\"?\"),\n toPathname = _to$split[0],\n toQuery = _to$split[1];\n\n var _base$split = base.split(\"?\"),\n basePathname = _base$split[0];\n\n var toSegments = segmentize(toPathname);\n var baseSegments = segmentize(basePathname);\n\n // ?a=b, /users?b=c => /users?a=b\n if (toSegments[0] === \"\") {\n return addQuery(basePathname, toQuery);\n }\n\n // profile, /users/789 => /users/789/profile\n if (!startsWith(toSegments[0], \".\")) {\n var pathname = baseSegments.concat(toSegments).join(\"/\");\n return addQuery((basePathname === \"/\" ? \"\" : \"/\") + pathname, toQuery);\n }\n\n // ./ /users/123 => /users/123\n // ../ /users/123 => /users\n // ../.. /users/123 => /\n // ../../one /a/b/c/d => /a/b/one\n // .././one /a/b/c/d => /a/b/c/one\n var allSegments = baseSegments.concat(toSegments);\n var segments = [];\n for (var i = 0, l = allSegments.length; i < l; i++) {\n var segment = allSegments[i];\n if (segment === \"..\") segments.pop();else if (segment !== \".\") segments.push(segment);\n }\n\n return addQuery(\"/\" + segments.join(\"/\"), toQuery);\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// insertParams(path, params)\n\nvar insertParams = function insertParams(path, params) {\n var _path$split = path.split(\"?\"),\n pathBase = _path$split[0],\n _path$split$ = _path$split[1],\n query = _path$split$ === undefined ? \"\" : _path$split$;\n\n var segments = segmentize(pathBase);\n var constructedPath = \"/\" + segments.map(function (segment) {\n var match = paramRe.exec(segment);\n return match ? params[match[1]] : segment;\n }).join(\"/\");\n var _params$location = params.location;\n _params$location = _params$location === undefined ? {} : _params$location;\n var _params$location$sear = _params$location.search,\n search = _params$location$sear === undefined ? \"\" : _params$location$sear;\n\n var searchSplit = search.split(\"?\")[1] || \"\";\n constructedPath = addQuery(constructedPath, query, searchSplit);\n return constructedPath;\n};\n\nvar validateRedirect = function validateRedirect(from, to) {\n var filter = function filter(segment) {\n return isDynamic(segment);\n };\n var fromString = segmentize(from).filter(filter).sort().join(\"/\");\n var toString = segmentize(to).filter(filter).sort().join(\"/\");\n return fromString === toString;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Junk\nvar paramRe = /^:(.+)/;\n\nvar SEGMENT_POINTS = 4;\nvar STATIC_POINTS = 3;\nvar DYNAMIC_POINTS = 2;\nvar SPLAT_PENALTY = 1;\nvar ROOT_POINTS = 1;\n\nvar isRootSegment = function isRootSegment(segment) {\n return segment === \"\";\n};\nvar isDynamic = function isDynamic(segment) {\n return paramRe.test(segment);\n};\nvar isSplat = function isSplat(segment) {\n return segment && segment[0] === \"*\";\n};\n\nvar rankRoute = function rankRoute(route, index) {\n var score = route.default ? 0 : segmentize(route.path).reduce(function (score, segment) {\n score += SEGMENT_POINTS;\n if (isRootSegment(segment)) score += ROOT_POINTS;else if (isDynamic(segment)) score += DYNAMIC_POINTS;else if (isSplat(segment)) score -= SEGMENT_POINTS + SPLAT_PENALTY;else score += STATIC_POINTS;\n return score;\n }, 0);\n return { route: route, score: score, index: index };\n};\n\nvar rankRoutes = function rankRoutes(routes) {\n return routes.map(rankRoute).sort(function (a, b) {\n return a.score < b.score ? 1 : a.score > b.score ? -1 : a.index - b.index;\n });\n};\n\nvar segmentize = function segmentize(uri) {\n return uri\n // strip starting/ending slashes\n .replace(/(^\\/+|\\/+$)/g, \"\").split(\"/\");\n};\n\nvar addQuery = function addQuery(pathname) {\n for (var _len = arguments.length, query = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n query[_key - 1] = arguments[_key];\n }\n\n query = query.filter(function (q) {\n return q && q.length > 0;\n });\n return pathname + (query && query.length > 0 ? \"?\" + query.join(\"&\") : \"\");\n};\n\nvar reservedNames = [\"uri\", \"path\"];\n\n/**\n * Shallow compares two objects.\n * @param {Object} obj1 The first object to compare.\n * @param {Object} obj2 The second object to compare.\n */\nvar shallowCompare = function shallowCompare(obj1, obj2) {\n var obj1Keys = Object.keys(obj1);\n return obj1Keys.length === Object.keys(obj2).length && obj1Keys.every(function (key) {\n return obj2.hasOwnProperty(key) && obj1[key] === obj2[key];\n });\n};\n\n////////////////////////////////////////////////////////////////////////////////\nexport { startsWith, pick, match, resolve, insertParams, validateRedirect, shallowCompare };","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; };\n\nvar getLocation = function getLocation(source) {\n var _source$location = source.location,\n search = _source$location.search,\n hash = _source$location.hash,\n href = _source$location.href,\n origin = _source$location.origin,\n protocol = _source$location.protocol,\n host = _source$location.host,\n hostname = _source$location.hostname,\n port = _source$location.port;\n var pathname = source.location.pathname;\n\n\n if (!pathname && href && canUseDOM) {\n var url = new URL(href);\n pathname = url.pathname;\n }\n\n return {\n pathname: encodeURI(decodeURI(pathname)),\n search: search,\n hash: hash,\n href: href,\n origin: origin,\n protocol: protocol,\n host: host,\n hostname: hostname,\n port: port,\n state: source.history.state,\n key: source.history.state && source.history.state.key || \"initial\"\n };\n};\n\nvar createHistory = function createHistory(source, options) {\n var listeners = [];\n var location = getLocation(source);\n var transitioning = false;\n var resolveTransition = function resolveTransition() {};\n\n return {\n get location() {\n return location;\n },\n\n get transitioning() {\n return transitioning;\n },\n\n _onTransitionComplete: function _onTransitionComplete() {\n transitioning = false;\n resolveTransition();\n },\n listen: function listen(listener) {\n listeners.push(listener);\n\n var popstateListener = function popstateListener() {\n location = getLocation(source);\n listener({ location: location, action: \"POP\" });\n };\n\n source.addEventListener(\"popstate\", popstateListener);\n\n return function () {\n source.removeEventListener(\"popstate\", popstateListener);\n listeners = listeners.filter(function (fn) {\n return fn !== listener;\n });\n };\n },\n navigate: function navigate(to) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n state = _ref.state,\n _ref$replace = _ref.replace,\n replace = _ref$replace === undefined ? false : _ref$replace;\n\n if (typeof to === \"number\") {\n source.history.go(to);\n } else {\n state = _extends({}, state, { key: Date.now() + \"\" });\n // try...catch iOS Safari limits to 100 pushState calls\n try {\n if (transitioning || replace) {\n source.history.replaceState(state, null, to);\n } else {\n source.history.pushState(state, null, to);\n }\n } catch (e) {\n source.location[replace ? \"replace\" : \"assign\"](to);\n }\n }\n\n location = getLocation(source);\n transitioning = true;\n var transition = new Promise(function (res) {\n return resolveTransition = res;\n });\n listeners.forEach(function (listener) {\n return listener({ location: location, action: \"PUSH\" });\n });\n return transition;\n }\n };\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Stores history entries in memory for testing or other platforms like Native\nvar createMemorySource = function createMemorySource() {\n var initialPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"/\";\n\n var searchIndex = initialPath.indexOf(\"?\");\n var initialLocation = {\n pathname: searchIndex > -1 ? initialPath.substr(0, searchIndex) : initialPath,\n search: searchIndex > -1 ? initialPath.substr(searchIndex) : \"\"\n };\n var index = 0;\n var stack = [initialLocation];\n var states = [null];\n\n return {\n get location() {\n return stack[index];\n },\n addEventListener: function addEventListener(name, fn) {},\n removeEventListener: function removeEventListener(name, fn) {},\n\n history: {\n get entries() {\n return stack;\n },\n get index() {\n return index;\n },\n get state() {\n return states[index];\n },\n pushState: function pushState(state, _, uri) {\n var _uri$split = uri.split(\"?\"),\n pathname = _uri$split[0],\n _uri$split$ = _uri$split[1],\n search = _uri$split$ === undefined ? \"\" : _uri$split$;\n\n index++;\n stack.push({ pathname: pathname, search: search.length ? \"?\" + search : search });\n states.push(state);\n },\n replaceState: function replaceState(state, _, uri) {\n var _uri$split2 = uri.split(\"?\"),\n pathname = _uri$split2[0],\n _uri$split2$ = _uri$split2[1],\n search = _uri$split2$ === undefined ? \"\" : _uri$split2$;\n\n stack[index] = { pathname: pathname, search: search };\n states[index] = state;\n },\n go: function go(to) {\n var newIndex = index + to;\n\n if (newIndex < 0 || newIndex > states.length - 1) {\n return;\n }\n\n index = newIndex;\n }\n }\n };\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// global history - uses window.history as the source if available, otherwise a\n// memory history\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nvar getSource = function getSource() {\n return canUseDOM ? window : createMemorySource();\n};\n\nvar globalHistory = createHistory(getSource());\nvar navigate = globalHistory.navigate;\n\n////////////////////////////////////////////////////////////////////////////////\n\nexport { globalHistory, navigate, createHistory, createMemorySource };","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; };\n\nfunction _objectWithoutProperties(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; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(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; }\n\nfunction _inherits(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; }\n\n/* eslint-disable jsx-a11y/anchor-has-content */\nimport React, { useContext, createContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"invariant\";\nimport { polyfill } from \"react-lifecycles-compat\";\nimport { startsWith, pick, resolve, match, insertParams, validateRedirect, shallowCompare } from \"./lib/utils\";\nimport { globalHistory, navigate, createHistory, createMemorySource } from \"./lib/history\";\n\n////////////////////////////////////////////////////////////////////////////////\n\nvar createNamedContext = function createNamedContext(name, defaultValue) {\n var Ctx = createContext(defaultValue);\n Ctx.displayName = name;\n return Ctx;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Location Context/Provider\nvar LocationContext = createNamedContext(\"Location\");\n\n// sets up a listener if there isn't one already so apps don't need to be\n// wrapped in some top level provider\nvar Location = function Location(_ref) {\n var children = _ref.children;\n return React.createElement(\n LocationContext.Consumer,\n null,\n function (context) {\n return context ? children(context) : React.createElement(\n LocationProvider,\n null,\n children\n );\n }\n );\n};\n\nvar LocationProvider = function (_React$Component) {\n _inherits(LocationProvider, _React$Component);\n\n function LocationProvider() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, LocationProvider);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n context: _this.getContext(),\n refs: { unlisten: null }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n LocationProvider.prototype.getContext = function getContext() {\n var _props$history = this.props.history,\n navigate = _props$history.navigate,\n location = _props$history.location;\n\n return { navigate: navigate, location: location };\n };\n\n LocationProvider.prototype.componentDidCatch = function componentDidCatch(error, info) {\n if (isRedirect(error)) {\n var _navigate = this.props.history.navigate;\n\n _navigate(error.uri, { replace: true });\n } else {\n throw error;\n }\n };\n\n LocationProvider.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (prevState.context.location !== this.state.context.location) {\n this.props.history._onTransitionComplete();\n }\n };\n\n LocationProvider.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n var refs = this.state.refs,\n history = this.props.history;\n\n history._onTransitionComplete();\n refs.unlisten = history.listen(function () {\n Promise.resolve().then(function () {\n // TODO: replace rAF with react deferred update API when it's ready https://github.com/facebook/react/issues/13306\n requestAnimationFrame(function () {\n if (!_this2.unmounted) {\n _this2.setState(function () {\n return { context: _this2.getContext() };\n });\n }\n });\n });\n });\n };\n\n LocationProvider.prototype.componentWillUnmount = function componentWillUnmount() {\n var refs = this.state.refs;\n\n this.unmounted = true;\n refs.unlisten();\n };\n\n LocationProvider.prototype.render = function render() {\n var context = this.state.context,\n children = this.props.children;\n\n return React.createElement(\n LocationContext.Provider,\n { value: context },\n typeof children === \"function\" ? children(context) : children || null\n );\n };\n\n return LocationProvider;\n}(React.Component);\n\n////////////////////////////////////////////////////////////////////////////////\n\n\nLocationProvider.defaultProps = {\n history: globalHistory\n};\nprocess.env.NODE_ENV !== \"production\" ? LocationProvider.propTypes = {\n history: PropTypes.object.isRequired\n} : void 0;\nvar ServerLocation = function ServerLocation(_ref2) {\n var url = _ref2.url,\n children = _ref2.children;\n\n var searchIndex = url.indexOf(\"?\");\n var searchExists = searchIndex > -1;\n var pathname = void 0;\n var search = \"\";\n var hash = \"\";\n\n if (searchExists) {\n pathname = url.substring(0, searchIndex);\n search = url.substring(searchIndex);\n } else {\n pathname = url;\n }\n\n return React.createElement(\n LocationContext.Provider,\n {\n value: {\n location: {\n pathname: pathname,\n search: search,\n hash: hash\n },\n navigate: function navigate() {\n throw new Error(\"You can't call navigate on the server.\");\n }\n }\n },\n children\n );\n};\n////////////////////////////////////////////////////////////////////////////////\n// Sets baseuri and basepath for nested routers and links\nvar BaseContext = createNamedContext(\"Base\", {\n baseuri: \"/\",\n basepath: \"/\",\n navigate: globalHistory.navigate\n});\n\n////////////////////////////////////////////////////////////////////////////////\n// The main event, welcome to the show everybody.\nvar Router = function Router(props) {\n return React.createElement(\n BaseContext.Consumer,\n null,\n function (baseContext) {\n return React.createElement(\n Location,\n null,\n function (locationContext) {\n return React.createElement(RouterImpl, _extends({}, baseContext, locationContext, props));\n }\n );\n }\n );\n};\n\nvar RouterImpl = function (_React$PureComponent) {\n _inherits(RouterImpl, _React$PureComponent);\n\n function RouterImpl() {\n _classCallCheck(this, RouterImpl);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n RouterImpl.prototype.render = function render() {\n var _props = this.props,\n location = _props.location,\n _navigate2 = _props.navigate,\n basepath = _props.basepath,\n primary = _props.primary,\n children = _props.children,\n baseuri = _props.baseuri,\n _props$component = _props.component,\n component = _props$component === undefined ? \"div\" : _props$component,\n domProps = _objectWithoutProperties(_props, [\"location\", \"navigate\", \"basepath\", \"primary\", \"children\", \"baseuri\", \"component\"]);\n\n var routes = React.Children.toArray(children).reduce(function (array, child) {\n var routes = createRoute(basepath)(child);\n return array.concat(routes);\n }, []);\n var pathname = location.pathname;\n\n\n var match = pick(routes, pathname);\n\n if (match) {\n var params = match.params,\n uri = match.uri,\n route = match.route,\n element = match.route.value;\n\n // remove the /* from the end for child routes relative paths\n\n basepath = route.default ? basepath : route.path.replace(/\\*$/, \"\");\n\n var props = _extends({}, params, {\n uri: uri,\n location: location,\n navigate: function navigate(to, options) {\n return _navigate2(resolve(to, uri), options);\n }\n });\n\n var clone = React.cloneElement(element, props, element.props.children ? React.createElement(\n Router,\n { location: location, primary: primary },\n element.props.children\n ) : undefined);\n\n // using 'div' for < 16.3 support\n var FocusWrapper = primary ? FocusHandler : component;\n // don't pass any props to 'div'\n var wrapperProps = primary ? _extends({ uri: uri, location: location, component: component }, domProps) : domProps;\n\n return React.createElement(\n BaseContext.Provider,\n {\n value: { baseuri: uri, basepath: basepath, navigate: props.navigate }\n },\n React.createElement(\n FocusWrapper,\n wrapperProps,\n clone\n )\n );\n } else {\n // Not sure if we want this, would require index routes at every level\n // warning(\n // false,\n // `\\n\\nNothing matched:\\n\\t${\n // location.pathname\n // }\\n\\nPaths checked: \\n\\t${routes\n // .map(route => route.path)\n // .join(\n // \"\\n\\t\"\n // )}\\n\\nTo get rid of this warning, add a default NotFound component as child of Router:\n // \\n\\tlet NotFound = () =>
Not Found!
\n // \\n\\t\\n\\t \\n\\t {/* ... */}\\n\\t`\n // );\n return null;\n }\n };\n\n return RouterImpl;\n}(React.PureComponent);\n\nRouterImpl.defaultProps = {\n primary: true\n};\n\n\nvar FocusContext = createNamedContext(\"Focus\");\n\nvar FocusHandler = function FocusHandler(_ref3) {\n var uri = _ref3.uri,\n location = _ref3.location,\n component = _ref3.component,\n domProps = _objectWithoutProperties(_ref3, [\"uri\", \"location\", \"component\"]);\n\n return React.createElement(\n FocusContext.Consumer,\n null,\n function (requestFocus) {\n return React.createElement(FocusHandlerImpl, _extends({}, domProps, {\n component: component,\n requestFocus: requestFocus,\n uri: uri,\n location: location\n }));\n }\n );\n};\n\n// don't focus on initial render\nvar initialRender = true;\nvar focusHandlerCount = 0;\n\nvar FocusHandlerImpl = function (_React$Component2) {\n _inherits(FocusHandlerImpl, _React$Component2);\n\n function FocusHandlerImpl() {\n var _temp2, _this4, _ret2;\n\n _classCallCheck(this, FocusHandlerImpl);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this4 = _possibleConstructorReturn(this, _React$Component2.call.apply(_React$Component2, [this].concat(args))), _this4), _this4.state = {}, _this4.requestFocus = function (node) {\n if (!_this4.state.shouldFocus && node) {\n node.focus();\n }\n }, _temp2), _possibleConstructorReturn(_this4, _ret2);\n }\n\n FocusHandlerImpl.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, prevState) {\n var initial = prevState.uri == null;\n if (initial) {\n return _extends({\n shouldFocus: true\n }, nextProps);\n } else {\n var myURIChanged = nextProps.uri !== prevState.uri;\n var navigatedUpToMe = prevState.location.pathname !== nextProps.location.pathname && nextProps.location.pathname === nextProps.uri;\n return _extends({\n shouldFocus: myURIChanged || navigatedUpToMe\n }, nextProps);\n }\n };\n\n FocusHandlerImpl.prototype.componentDidMount = function componentDidMount() {\n focusHandlerCount++;\n this.focus();\n };\n\n FocusHandlerImpl.prototype.componentWillUnmount = function componentWillUnmount() {\n focusHandlerCount--;\n if (focusHandlerCount === 0) {\n initialRender = true;\n }\n };\n\n FocusHandlerImpl.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (prevProps.location !== this.props.location && this.state.shouldFocus) {\n this.focus();\n }\n };\n\n FocusHandlerImpl.prototype.focus = function focus() {\n if (process.env.NODE_ENV === \"test\") {\n // getting cannot read property focus of null in the tests\n // and that bit of global `initialRender` state causes problems\n // should probably figure it out!\n return;\n }\n\n var requestFocus = this.props.requestFocus;\n\n\n if (requestFocus) {\n requestFocus(this.node);\n } else {\n if (initialRender) {\n initialRender = false;\n } else if (this.node) {\n // React polyfills [autofocus] and it fires earlier than cDM,\n // so we were stealing focus away, this line prevents that.\n if (!this.node.contains(document.activeElement)) {\n this.node.focus();\n }\n }\n }\n };\n\n FocusHandlerImpl.prototype.render = function render() {\n var _this5 = this;\n\n var _props2 = this.props,\n children = _props2.children,\n style = _props2.style,\n requestFocus = _props2.requestFocus,\n _props2$component = _props2.component,\n Comp = _props2$component === undefined ? \"div\" : _props2$component,\n uri = _props2.uri,\n location = _props2.location,\n domProps = _objectWithoutProperties(_props2, [\"children\", \"style\", \"requestFocus\", \"component\", \"uri\", \"location\"]);\n\n return React.createElement(\n Comp,\n _extends({\n style: _extends({ outline: \"none\" }, style),\n tabIndex: \"-1\",\n ref: function ref(n) {\n return _this5.node = n;\n }\n }, domProps),\n React.createElement(\n FocusContext.Provider,\n { value: this.requestFocus },\n this.props.children\n )\n );\n };\n\n return FocusHandlerImpl;\n}(React.Component);\n\npolyfill(FocusHandlerImpl);\n\nvar k = function k() {};\n\n////////////////////////////////////////////////////////////////////////////////\nvar forwardRef = React.forwardRef;\n\nif (typeof forwardRef === \"undefined\") {\n forwardRef = function forwardRef(C) {\n return C;\n };\n}\n\nvar Link = forwardRef(function (_ref4, ref) {\n var innerRef = _ref4.innerRef,\n props = _objectWithoutProperties(_ref4, [\"innerRef\"]);\n\n return React.createElement(\n BaseContext.Consumer,\n null,\n function (_ref5) {\n var basepath = _ref5.basepath,\n baseuri = _ref5.baseuri;\n return React.createElement(\n Location,\n null,\n function (_ref6) {\n var location = _ref6.location,\n navigate = _ref6.navigate;\n\n var to = props.to,\n state = props.state,\n replace = props.replace,\n _props$getProps = props.getProps,\n getProps = _props$getProps === undefined ? k : _props$getProps,\n anchorProps = _objectWithoutProperties(props, [\"to\", \"state\", \"replace\", \"getProps\"]);\n\n var href = resolve(to, baseuri);\n var encodedHref = encodeURI(href);\n var isCurrent = location.pathname === encodedHref;\n var isPartiallyCurrent = startsWith(location.pathname, encodedHref);\n\n return React.createElement(\"a\", _extends({\n ref: ref || innerRef,\n \"aria-current\": isCurrent ? \"page\" : undefined\n }, anchorProps, getProps({ isCurrent: isCurrent, isPartiallyCurrent: isPartiallyCurrent, href: href, location: location }), {\n href: href,\n onClick: function onClick(event) {\n if (anchorProps.onClick) anchorProps.onClick(event);\n if (shouldNavigate(event)) {\n event.preventDefault();\n var shouldReplace = replace;\n if (typeof replace !== \"boolean\" && isCurrent) {\n var _location$state = _extends({}, location.state),\n key = _location$state.key,\n restState = _objectWithoutProperties(_location$state, [\"key\"]);\n\n shouldReplace = shallowCompare(_extends({}, state), restState);\n }\n navigate(href, {\n state: state,\n replace: shouldReplace\n });\n }\n }\n }));\n }\n );\n }\n );\n});\n\nLink.displayName = \"Link\";\n\nprocess.env.NODE_ENV !== \"production\" ? Link.propTypes = {\n to: PropTypes.string.isRequired\n} : void 0;\n\n////////////////////////////////////////////////////////////////////////////////\nfunction RedirectRequest(uri) {\n this.uri = uri;\n}\n\nvar isRedirect = function isRedirect(o) {\n return o instanceof RedirectRequest;\n};\n\nvar redirectTo = function redirectTo(to) {\n throw new RedirectRequest(to);\n};\n\nvar RedirectImpl = function (_React$Component3) {\n _inherits(RedirectImpl, _React$Component3);\n\n function RedirectImpl() {\n _classCallCheck(this, RedirectImpl);\n\n return _possibleConstructorReturn(this, _React$Component3.apply(this, arguments));\n }\n\n // Support React < 16 with this hook\n RedirectImpl.prototype.componentDidMount = function componentDidMount() {\n var _props3 = this.props,\n navigate = _props3.navigate,\n to = _props3.to,\n from = _props3.from,\n _props3$replace = _props3.replace,\n replace = _props3$replace === undefined ? true : _props3$replace,\n state = _props3.state,\n noThrow = _props3.noThrow,\n baseuri = _props3.baseuri,\n props = _objectWithoutProperties(_props3, [\"navigate\", \"to\", \"from\", \"replace\", \"state\", \"noThrow\", \"baseuri\"]);\n\n Promise.resolve().then(function () {\n var resolvedTo = resolve(to, baseuri);\n navigate(insertParams(resolvedTo, props), { replace: replace, state: state });\n });\n };\n\n RedirectImpl.prototype.render = function render() {\n var _props4 = this.props,\n navigate = _props4.navigate,\n to = _props4.to,\n from = _props4.from,\n replace = _props4.replace,\n state = _props4.state,\n noThrow = _props4.noThrow,\n baseuri = _props4.baseuri,\n props = _objectWithoutProperties(_props4, [\"navigate\", \"to\", \"from\", \"replace\", \"state\", \"noThrow\", \"baseuri\"]);\n\n var resolvedTo = resolve(to, baseuri);\n if (!noThrow) redirectTo(insertParams(resolvedTo, props));\n return null;\n };\n\n return RedirectImpl;\n}(React.Component);\n\nvar Redirect = function Redirect(props) {\n return React.createElement(\n BaseContext.Consumer,\n null,\n function (_ref7) {\n var baseuri = _ref7.baseuri;\n return React.createElement(\n Location,\n null,\n function (locationContext) {\n return React.createElement(RedirectImpl, _extends({}, locationContext, { baseuri: baseuri }, props));\n }\n );\n }\n );\n};\n\nprocess.env.NODE_ENV !== \"production\" ? Redirect.propTypes = {\n from: PropTypes.string,\n to: PropTypes.string.isRequired\n} : void 0;\n\n////////////////////////////////////////////////////////////////////////////////\nvar Match = function Match(_ref8) {\n var path = _ref8.path,\n children = _ref8.children;\n return React.createElement(\n BaseContext.Consumer,\n null,\n function (_ref9) {\n var baseuri = _ref9.baseuri;\n return React.createElement(\n Location,\n null,\n function (_ref10) {\n var navigate = _ref10.navigate,\n location = _ref10.location;\n\n var resolvedPath = resolve(path, baseuri);\n var result = match(resolvedPath, location.pathname);\n return children({\n navigate: navigate,\n location: location,\n match: result ? _extends({}, result.params, {\n uri: result.uri,\n path: path\n }) : null\n });\n }\n );\n }\n );\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Hooks\n\nvar useLocation = function useLocation() {\n var context = useContext(LocationContext);\n\n if (!context) {\n throw new Error(\"useLocation hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n return context.location;\n};\n\nvar useNavigate = function useNavigate() {\n var context = useContext(BaseContext);\n\n if (!context) {\n throw new Error(\"useNavigate hook was used but a BaseContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n return context.navigate;\n};\n\nvar useParams = function useParams() {\n var context = useContext(BaseContext);\n\n if (!context) {\n throw new Error(\"useParams hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n var location = useLocation();\n\n var results = match(context.basepath, location.pathname);\n\n return results ? results.params : null;\n};\n\nvar useMatch = function useMatch(path) {\n if (!path) {\n throw new Error(\"useMatch(path: string) requires an argument of a string to match against\");\n }\n var context = useContext(BaseContext);\n\n if (!context) {\n throw new Error(\"useMatch hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n var location = useLocation();\n\n var resolvedPath = resolve(path, context.baseuri);\n var result = match(resolvedPath, location.pathname);\n return result ? _extends({}, result.params, {\n uri: result.uri,\n path: path\n }) : null;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Junk\nvar stripSlashes = function stripSlashes(str) {\n return str.replace(/(^\\/+|\\/+$)/g, \"\");\n};\n\nvar createRoute = function createRoute(basepath) {\n return function (element) {\n if (!element) {\n return null;\n }\n\n if (element.type === React.Fragment && element.props.children) {\n return React.Children.map(element.props.children, createRoute(basepath));\n }\n !(element.props.path || element.props.default || element.type === Redirect) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \": Children of must have a `path` or `default` prop, or be a ``. None found on element type `\" + element.type + \"`\") : invariant(false) : void 0;\n\n !!(element.type === Redirect && (!element.props.from || !element.props.to)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \" requires both \\\"from\\\" and \\\"to\\\" props when inside a .\") : invariant(false) : void 0;\n\n !!(element.type === Redirect && !validateRedirect(element.props.from, element.props.to)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \" has mismatched dynamic segments, ensure both paths have the exact same dynamic segments.\") : invariant(false) : void 0;\n\n if (element.props.default) {\n return { value: element, default: true };\n }\n\n var elementPath = element.type === Redirect ? element.props.from : element.props.path;\n\n var path = elementPath === \"/\" ? basepath : stripSlashes(basepath) + \"/\" + stripSlashes(elementPath);\n\n return {\n value: element,\n default: element.props.default,\n path: element.props.children ? stripSlashes(path) + \"/*\" : path\n };\n };\n};\n\nvar shouldNavigate = function shouldNavigate(event) {\n return !event.defaultPrevented && event.button === 0 && !(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n};\n\n////////////////////////////////////////////////////////////////////////\nexport { Link, Location, LocationProvider, Match, Redirect, Router, ServerLocation, createHistory, createMemorySource, isRedirect, navigate, redirectTo, globalHistory, match as matchPath, useLocation, useNavigate, useParams, useMatch, resolve , BaseContext };","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}\nmodule.exports = _inheritsLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst PartytownSnippet = \"/* Partytown 0.5.4 - MIT builder.io */\\n!function(t,e,n,i,r,o,a,d,s,c,p,l){function u(){l||(l=1,\\\"/\\\"==(a=(o.lib||\\\"/~partytown/\\\")+(o.debug?\\\"debug/\\\":\\\"\\\"))[0]&&(s=e.querySelectorAll('script[type=\\\"text/partytown\\\"]'),i!=t?i.dispatchEvent(new CustomEvent(\\\"pt1\\\",{detail:t})):(d=setTimeout(w,1e4),e.addEventListener(\\\"pt0\\\",f),r?h(1):n.serviceWorker?n.serviceWorker.register(a+(o.swPath||\\\"partytown-sw.js\\\"),{scope:a}).then((function(t){t.active?h():t.installing&&t.installing.addEventListener(\\\"statechange\\\",(function(t){\\\"activated\\\"==t.target.state&&h()}))}),console.error):w())))}function h(t){c=e.createElement(t?\\\"script\\\":\\\"iframe\\\"),t||(c.setAttribute(\\\"style\\\",\\\"display:block;width:0;height:0;border:0;visibility:hidden\\\"),c.setAttribute(\\\"aria-hidden\\\",!0)),c.src=a+\\\"partytown-\\\"+(t?\\\"atomics.js?v=0.5.4\\\":\\\"sandbox-sw.html?\\\"+Date.now()),e.body.appendChild(c)}function w(t,n){for(f(),t=0;t {\n const { forward = [], ...filteredConfig } = config || {};\n const configStr = JSON.stringify(filteredConfig, (k, v) => {\n if (typeof v === 'function') {\n v = String(v);\n if (v.startsWith(k + '(')) {\n v = 'function ' + v;\n }\n }\n return v;\n });\n return [\n `!(function(w,p,f,c){`,\n Object.keys(filteredConfig).length > 0\n ? `c=w[p]=Object.assign(w[p]||{},${configStr});`\n : `c=w[p]=w[p]||{};`,\n `c[f]=(c[f]||[])`,\n forward.length > 0 ? `.concat(${JSON.stringify(forward)})` : ``,\n `})(window,'partytown','forward');`,\n snippetCode,\n ].join('');\n};\n\n/**\n * The `type` attribute for Partytown scripts, which does two things:\n *\n * 1. Prevents the `