{"version":3,"file":"app-3fa5cb5deccf497818c5.js","mappings":"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","sources":["webpack://relution-site/./node_modules/@gatsbyjs/reach-router/node_modules/prop-types/factoryWithThrowingShims.js","webpack://relution-site/./node_modules/@gatsbyjs/reach-router/node_modules/prop-types/index.js","webpack://relution-site/./node_modules/@gatsbyjs/reach-router/node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://relution-site/./node_modules/browser-lang/dist/index.js","webpack://relution-site/./node_modules/gatsby-link/node_modules/prop-types/factoryWithThrowingShims.js","webpack://relution-site/./node_modules/gatsby-link/node_modules/prop-types/index.js","webpack://relution-site/./node_modules/gatsby-link/node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://relution-site/./node_modules/gatsby-page-utils/dist/apply-trailing-slash-option.js","webpack://relution-site/./node_modules/gatsby-react-router-scroll/index.js","webpack://relution-site/./node_modules/gatsby-react-router-scroll/node_modules/prop-types/factoryWithThrowingShims.js","webpack://relution-site/./node_modules/gatsby-react-router-scroll/node_modules/prop-types/index.js","webpack://relution-site/./node_modules/gatsby-react-router-scroll/node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://relution-site/./node_modules/gatsby-react-router-scroll/scroll-handler.js","webpack://relution-site/./node_modules/gatsby-react-router-scroll/session-storage.js","webpack://relution-site/./node_modules/gatsby-react-router-scroll/use-scroll-restoration.js","webpack://relution-site/./node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js","webpack://relution-site/./node_modules/gatsby/dist/internal-plugins/partytown/utils/get-forwards.js","webpack://relution-site/./node_modules/gatsby/dist/internal-plugins/partytown/utils/inject-partytown-snippet.js","webpack://relution-site/./.cache/_this_is_virtual_fs_path_/$virtual/async-requires.js","webpack://relution-site/./.cache/api-runner-browser-plugins.js","webpack://relution-site/./.cache/api-runner-browser.js","webpack://relution-site/./.cache/create-content-digest-browser-shim.js","webpack://relution-site/./.cache/emitter.js","webpack://relution-site/./node_modules/mitt/dist/mitt.es.js","webpack://relution-site/./.cache/normalize-page-path.js","webpack://relution-site/./.cache/find-path.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://relution-site/./.cache/slice/server-slice-renderer.js","webpack://relution-site/./.cache/slice/server-slice.js","webpack://relution-site/./.cache/slice/inline-slice.js","webpack://relution-site/./.cache/slice.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://relution-site/./.cache/gatsby-browser-entry.js","webpack://relution-site/./.cache/prefetch.js","webpack://relution-site/./.cache/loader.js","webpack://relution-site/./.cache/head/components/fire-callback-in-effect.js","webpack://relution-site/./.cache/head/constants.js","webpack://relution-site/./.cache/head/utils.js","webpack://relution-site/./.cache/head/head-export-handler-for-browser.js","webpack://relution-site/./.cache/page-renderer.js","webpack://relution-site/./.cache/route-announcer-props.js","webpack://relution-site/./.cache/navigation.js","webpack://relution-site/./node_modules/shallow-compare/es/index.js","webpack://relution-site/./.cache/ensure-resources.js","webpack://relution-site/./.cache/production-app.js","webpack://relution-site/./.cache/public-page-renderer-prod.js","webpack://relution-site/./.cache/public-page-renderer.js","webpack://relution-site/./.cache/react-dom-utils.js","webpack://relution-site/./.cache/redirect-utils.js","webpack://relution-site/./.cache/register-service-worker.js","webpack://relution-site/./.cache/slice/context.js","webpack://relution-site/./.cache/static-query.js","webpack://relution-site/./.cache/context-utils.js","webpack://relution-site/./.cache/strip-prefix.js","webpack://relution-site/./gatsby-browser.js","webpack://relution-site/./node_modules/gatsby-plugin-manifest/gatsby-browser.js","webpack://relution-site/./node_modules/gatsby-plugin-manifest/get-manifest-pathname.js","webpack://relution-site/./node_modules/gatsby-plugin-react-i18next/dist/i18nextContext.js","webpack://relution-site/./node_modules/gatsby-plugin-react-i18next/dist/plugin/wrapPageElement.js","webpack://relution-site/./node_modules/gatsby-plugin-react-i18next/dist/types.js","webpack://relution-site/./node_modules/gatsby-plugin-react-i18next/gatsby-browser.js","webpack://relution-site/./node_modules/i18next/dist/cjs/i18next.js","webpack://relution-site/./node_modules/invariant/browser.js","webpack://relution-site/./node_modules/outdent/lib-module/index.js","webpack://relution-site/./node_modules/react-i18next/dist/es/unescape.js","webpack://relution-site/./node_modules/react-i18next/dist/es/context.js","webpack://relution-site/./node_modules/html-parse-stringify/dist/html-parse-stringify.module.js","webpack://relution-site/./node_modules/react-i18next/dist/es/Trans.js","webpack://relution-site/./node_modules/react-i18next/dist/es/withTranslation.js","webpack://relution-site/./node_modules/react-i18next/dist/es/Translation.js","webpack://relution-site/./node_modules/react-i18next/dist/es/I18nextProvider.js","webpack://relution-site/./node_modules/react-i18next/dist/es/useSSR.js","webpack://relution-site/./node_modules/react-i18next/dist/es/withSSR.js","webpack://relution-site/./node_modules/react-i18next/dist/es/index.js","webpack://relution-site/./node_modules/react-i18next/dist/es/useTranslation.js","webpack://relution-site/./node_modules/react-i18next/dist/es/utils.js","webpack://relution-site/./node_modules/react-server-dom-webpack/cjs/react-server-dom-webpack.production.min.js","webpack://relution-site/./node_modules/react-server-dom-webpack/index.js","webpack://relution-site/./node_modules/void-elements/index.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/createClass.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/extends.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/inherits.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/toArray.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/typeof.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://relution-site/./node_modules/@builder.io/partytown/integration/index.cjs","webpack://relution-site/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://relution-site/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://relution-site/./node_modules/@gatsbyjs/reach-router/dist/index.modern.mjs","webpack://relution-site/./node_modules/gatsby-link/dist/index.modern.mjs","webpack://relution-site/./node_modules/gatsby-script/dist/index.modern.mjs"],"sourcesContent":["/**\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\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\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\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\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\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nfunction startsWith(string, target, position) {\n var length = string.length;\n position = position == null ? 0 : position;\n\n if (position < 0) {\n position = 0;\n } else if (position > length) {\n position = length;\n }\n\n target = \"\".concat(target);\n return string.slice(position, position + target.length) == target;\n}\n\nfunction getBrowserLang() {\n if (typeof window === \"undefined\") {\n return null;\n }\n\n var lang = window.navigator.languages && window.navigator.languages[0] || window.navigator.language || window.navigator.browserLanguage || window.navigator.userLanguage || window.navigator.systemLanguage || null;\n return lang;\n}\n\nfunction normalizeCode(code) {\n return code.toLowerCase().replace(/-/, \"_\");\n}\n\nfunction getPreferredLanguage(options) {\n if (!options) {\n return getBrowserLang();\n }\n\n var languages = options.languages,\n fallback = options.fallback;\n\n if (!options.languages) {\n return fallback;\n } // some browsers report language as en-US instead of en_US\n\n\n var browserLanguage = normalizeCode(getBrowserLang());\n\n if (!browserLanguage) {\n return fallback;\n }\n\n var match = languages.filter(function (lang) {\n return normalizeCode(lang) === browserLanguage;\n });\n\n if (match.length > 0) {\n return match[0] || fallback;\n } // en == en_US\n\n\n var matchCodeOnly = languages.filter(function (lang) {\n return startsWith(browserLanguage, lang) || startsWith(lang, browserLanguage);\n });\n return matchCodeOnly[0] || fallback;\n}\n\nvar _default = getPreferredLanguage;\nexports.default = _default;","/**\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\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\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\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\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\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","\"use strict\";\n\nexports.__esModule = true;\nexports.applyTrailingSlashOption = void 0;\nconst endsWithSuffixes = (suffixes, input) => {\n for (const suffix of suffixes) {\n if (input.endsWith(suffix)) return true;\n }\n return false;\n};\nconst suffixes = [`.html`, `.json`, `.js`, `.map`, `.txt`, `.xml`, `.pdf`];\nconst applyTrailingSlashOption = (input, option = `always`) => {\n if (input === `/`) return input;\n const hasTrailingSlash = input.endsWith(`/`);\n if (endsWithSuffixes(suffixes, input)) {\n return input;\n }\n if (option === `always`) {\n return hasTrailingSlash ? input : `${input}/`;\n }\n if (option === `never`) {\n return hasTrailingSlash ? input.slice(0, -1) : input;\n }\n return input;\n};\nexports.applyTrailingSlashOption = applyTrailingSlashOption;","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = exports.ScrollContext = void 0;\nvar _scrollHandler = require(\"./scroll-handler\");\nexports.ScrollContext = _scrollHandler.ScrollHandler;\nvar _useScrollRestoration = require(\"./use-scroll-restoration\");\nexports.useScrollRestoration = _useScrollRestoration.useScrollRestoration;","/**\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\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\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\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\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\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.ScrollHandler = exports.ScrollContext = void 0;\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _sessionStorage = require(\"./session-storage\");\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); }\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; }\nvar ScrollContext = /*#__PURE__*/React.createContext(new _sessionStorage.SessionStorage());\nexports.ScrollContext = ScrollContext;\nScrollContext.displayName = \"GatsbyScrollContext\";\nvar ScrollHandler = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(ScrollHandler, _React$Component);\n function ScrollHandler() {\n var _this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\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 _this.scrollListener = function () {\n _this._latestKnownScrollY = window.scrollY;\n if (!_this._isTicking) {\n _this._isTicking = true;\n requestAnimationFrame(_this._saveScroll.bind((0, _assertThisInitialized2.default)(_this)));\n }\n };\n _this.windowScroll = function (position, prevProps) {\n if (_this.shouldUpdateScroll(prevProps, _this.props)) {\n window.scrollTo(0, position);\n }\n };\n _this.scrollToHash = function (hash, prevProps) {\n var node = document.getElementById(hash.substring(1));\n if (node && _this.shouldUpdateScroll(prevProps, _this.props)) {\n node.scrollIntoView();\n }\n };\n _this.shouldUpdateScroll = function (prevRouterProps, routerProps) {\n var shouldUpdateScroll = _this.props.shouldUpdateScroll;\n if (!shouldUpdateScroll) {\n return true;\n }\n\n // Hack to allow accessing this._stateStorage.\n return shouldUpdateScroll.call((0, _assertThisInitialized2.default)(_this), prevRouterProps, routerProps);\n };\n return _this;\n }\n var _proto = ScrollHandler.prototype;\n _proto._saveScroll = function _saveScroll() {\n var key = this.props.location.key || null;\n if (key) {\n this._stateStorage.save(this.props.location, key, this._latestKnownScrollY);\n }\n this._isTicking = false;\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 if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n /** If a hash is present in the browser url as the component mounts (i.e. the user is navigating\n * from an external website) then scroll to the hash instead of any previously stored scroll\n * position. */\n if (hash) {\n this.scrollToHash(decodeURI(hash), undefined);\n } else if (scrollPosition) {\n this.windowScroll(scrollPosition, undefined);\n }\n };\n _proto.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener(\"scroll\", this.scrollListener);\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 if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\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 if (hash) {\n this.scrollToHash(decodeURI(hash), prevProps);\n } else {\n this.windowScroll(scrollPosition, prevProps);\n }\n };\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(ScrollContext.Provider, {\n value: this._stateStorage\n }, this.props.children);\n };\n return ScrollHandler;\n}(React.Component);\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\";\nvar SessionStorage = /*#__PURE__*/function () {\n function SessionStorage() {}\n var _proto = SessionStorage.prototype;\n _proto.read = function read(location, key) {\n var stateKey = this.getStateKey(location, key);\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 if (window && window[GATSBY_ROUTER_SCROLL_STATE] && window[GATSBY_ROUTER_SCROLL_STATE][stateKey]) {\n return window[GATSBY_ROUTER_SCROLL_STATE][stateKey];\n }\n return 0;\n }\n };\n _proto.save = function save(location, key, value) {\n var stateKey = this.getStateKey(location, key);\n var storedValue = JSON.stringify(value);\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 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 _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 return SessionStorage;\n}();\nexports.SessionStorage = SessionStorage;","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = useScrollRestoration;\nvar _scrollHandler = require(\"./scroll-handler\");\nvar _react = require(\"react\");\nvar _reachRouter = require(\"@gatsbyjs/reach-router\");\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}","\"use strict\";\n\nexports.__esModule = true;\nexports.onInitialClientRender = void 0;\nvar _gatsbyScript = require(\"gatsby-script\");\nvar _injectPartytownSnippet = require(\"./utils/inject-partytown-snippet\");\n// Makes sure off-main-thread scripts are loaded in `gatsby develop`\nconst onInitialClientRender = () => {\n if (process.env.NODE_ENV !== `development`) {\n return;\n }\n (0, _injectPartytownSnippet.injectPartytownSnippet)(_gatsbyScript.collectedScriptsByPage.get(window.location.pathname));\n\n // Clear scripts after we've used them to avoid leaky behavior\n _gatsbyScript.collectedScriptsByPage.delete(window.location.pathname);\n};\n\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.\nexports.onInitialClientRender = onInitialClientRender;\n//# sourceMappingURL=gatsby-browser.js.map","\"use strict\";\n\nexports.__esModule = true;\nexports.getForwards = getForwards;\nfunction getForwards(collectedScripts) {\n return collectedScripts === null || collectedScripts === void 0 ? void 0 : collectedScripts.flatMap(script => (script === null || script === void 0 ? void 0 : script.forward) || []);\n}\n//# sourceMappingURL=get-forwards.js.map","\"use strict\";\n\nexports.__esModule = true;\nexports.injectPartytownSnippet = injectPartytownSnippet;\nvar _integration = require(\"@builder.io/partytown/integration\");\nvar _getForwards = require(\"./get-forwards\");\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 const existingSnippet = document.querySelector(`script[data-partytown]`);\n const existingSandbox = document.querySelector(`iframe[src*=\"~partytown/partytown-sandbox-sw\"]`);\n if (existingSnippet) {\n existingSnippet.remove();\n }\n if (existingSandbox) {\n existingSandbox.remove();\n }\n const forwards = (0, _getForwards.getForwards)(collectedScripts);\n const snippet = document.createElement(`script`);\n snippet.dataset.partytown = ``;\n snippet.innerHTML = (0, _integration.partytownSnippet)({\n forward: forwards\n });\n document.head.appendChild(snippet);\n}\n//# sourceMappingURL=inject-partytown-snippet.js.map","exports.components = {\n \"component---src-pages-404-js\": () => import(\"./../../../src/pages/404.js\" /* webpackChunkName: \"component---src-pages-404-js\" */),\n \"component---src-templates-event-jsx\": () => import(\"./../../../src/templates/event.jsx\" /* webpackChunkName: \"component---src-templates-event-jsx\" */),\n \"component---src-templates-insight-jsx\": () => import(\"./../../../src/templates/insight.jsx\" /* webpackChunkName: \"component---src-templates-insight-jsx\" */),\n \"component---src-templates-page-jsx\": () => import(\"./../../../src/templates/page.jsx\" /* webpackChunkName: \"component---src-templates-page-jsx\" */),\n \"component---src-templates-partner-jsx\": () => import(\"./../../../src/templates/partner.jsx\" /* webpackChunkName: \"component---src-templates-partner-jsx\" */),\n \"component---src-templates-post-jsx\": () => import(\"./../../../src/templates/post.jsx\" /* webpackChunkName: \"component---src-templates-post-jsx\" */),\n \"component---src-templates-release-note-jsx\": () => import(\"./../../../src/templates/release-note.jsx\" /* webpackChunkName: \"component---src-templates-release-note-jsx\" */)\n}\n\n","module.exports = [{\n plugin: require('../node_modules/gatsby-plugin-manifest/gatsby-browser.js'),\n options: {\"plugins\":[],\"name\":\"Relution\",\"short_name\":\"Relution\",\"start_url\":\"/\",\"background_color\":\"#ffffff\",\"theme_color\":\"#ffffff\",\"display\":\"standalone\",\"icon\":\"./src/images/icon.png\",\"crossOrigin\":\"use-credentials\",\"legacy\":true,\"theme_color_in_head\":true,\"cache_busting_mode\":\"query\",\"include_favicon\":true,\"cacheDigest\":\"4d0afc82775c5f132c6b655e80a27654\"},\n },{\n plugin: require('../node_modules/gatsby-plugin-react-i18next/gatsby-browser.js'),\n options: {\"plugins\":[],\"languages\":[\"de\",\"en\",\"es\",\"fr\",\"it\",\"tr\"],\"defaultLanguage\":\"de\",\"siteUrl\":\"http://relution.pages.office.mwaysolutions.com/relution-website-relaunch/\",\"i18nextOptions\":{\"interpolation\":{\"escapeValue\":false}},\"pages\":[{\"matchPath\":\"/:lang?/:any*\",\"getLanguageFromPath\":true,\"languages\":[]}]},\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","exports.createContentDigest = () => ``\n","import mitt from \"mitt\"\n\nconst emitter = mitt()\nexport default emitter\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","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\"\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","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","import React from \"react\"\n\nexport const ServerSliceRenderer = ({ sliceId, children }) => {\n const contents = [\n React.createElement(`slice-start`, {\n id: `${sliceId}-1`,\n }),\n React.createElement(`slice-end`, {\n id: `${sliceId}-1`,\n }),\n ]\n\n if (children) {\n // if children exist, we split the slice into a before and after piece\n // see renderSlices in render-html\n contents.push(children)\n contents.push(\n React.createElement(`slice-start`, {\n id: `${sliceId}-2`,\n }),\n React.createElement(`slice-end`, {\n id: `${sliceId}-2`,\n })\n )\n }\n\n return contents\n}\n","import React, { useContext } from \"react\"\nimport { createContentDigest } from \"gatsby-core-utils/create-content-digest\"\nimport { SlicesMapContext, SlicesPropsContext } from \"./context\"\nimport { ServerSliceRenderer } from \"./server-slice-renderer\"\n\nconst getSliceId = (sliceName, sliceProps) => {\n if (!Object.keys(sliceProps).length) {\n return sliceName\n }\n\n const propsString = createContentDigest(sliceProps)\n return `${sliceName}-${propsString}`\n}\n\nexport const ServerSlice = ({\n sliceName,\n allowEmpty,\n children,\n ...sliceProps\n}) => {\n const slicesMap = useContext(SlicesMapContext)\n const slicesProps = useContext(SlicesPropsContext)\n const concreteSliceName = slicesMap[sliceName]\n\n if (!concreteSliceName) {\n if (allowEmpty) {\n return null\n } else {\n throw new Error(\n `Slice \"${concreteSliceName}\" for \"${sliceName}\" slot not found`\n )\n }\n }\n\n const sliceId = getSliceId(concreteSliceName, sliceProps)\n\n // set props on context object for static-entry to return\n let sliceUsage = slicesProps[sliceId]\n if (!sliceUsage) {\n slicesProps[sliceId] = sliceUsage = {\n props: sliceProps,\n sliceName: concreteSliceName,\n hasChildren: !!children,\n }\n } else {\n if (children) {\n sliceUsage.hasChildren = true\n }\n }\n\n return {children}\n}\n","import React, { useContext } from \"react\"\nimport { SlicesMapContext, SlicesResultsContext } from \"./context\"\n\nexport const InlineSlice = ({\n sliceName,\n allowEmpty,\n children,\n ...sliceProps\n}) => {\n const slicesMap = useContext(SlicesMapContext)\n const slicesResultsMap = useContext(SlicesResultsContext)\n const concreteSliceName = slicesMap[sliceName]\n const slice = slicesResultsMap.get(concreteSliceName)\n\n if (!slice) {\n if (allowEmpty) {\n return null\n } else {\n throw new Error(\n `Slice \"${concreteSliceName}\" for \"${sliceName}\" slot not found`\n )\n }\n }\n\n return (\n \n {children}\n \n )\n}\n","\"use client\"\n\nimport React, { useContext } from \"react\"\nimport { ServerSlice } from \"./slice/server-slice\"\nimport { InlineSlice } from \"./slice/inline-slice\"\nimport { SlicesContext } from \"./slice/context\"\n\nexport function Slice(props) {\n if (process.env.GATSBY_SLICES) {\n // we use sliceName internally, so remap alias to sliceName\n const internalProps = {\n ...props,\n sliceName: props.alias,\n }\n delete internalProps.alias\n delete internalProps.__renderedByLocation\n\n const slicesContext = useContext(SlicesContext)\n\n // validate props\n const propErrors = validateSliceProps(props)\n if (Object.keys(propErrors).length) {\n throw new SlicePropsError(\n slicesContext.renderEnvironment === `browser`,\n internalProps.sliceName,\n propErrors,\n props.__renderedByLocation\n )\n }\n\n if (slicesContext.renderEnvironment === `server`) {\n return \n } else if (slicesContext.renderEnvironment === `browser`) {\n // in the browser, we'll just render the component as is\n return \n } else if (\n slicesContext.renderEnvironment === `engines` ||\n slicesContext.renderEnvironment === `dev-ssr`\n ) {\n // if we're in SSR, we'll just render the component as is\n return \n } else if (slicesContext.renderEnvironment === `slices`) {\n // we are not yet supporting nested slices\n\n let additionalContextMessage = ``\n\n // just in case generating additional contextual information fails, we still want the base message to show\n // and not show another cryptic error message\n try {\n additionalContextMessage = `\\n\\nSlice component \"${slicesContext.sliceRoot.name}\" (${slicesContext.sliceRoot.componentPath}) tried to render `\n } catch {\n // don't need to handle it, we will just skip the additional context message if we fail to generate it\n }\n\n throw new Error(\n `Nested slices are not supported.${additionalContextMessage}\\n\\nSee https://gatsbyjs.com/docs/reference/built-in-components/gatsby-slice#nested-slices`\n )\n } else {\n throw new Error(\n `Slice context \"${slicesContext.renderEnvironment}\" is not supported.`\n )\n }\n } else {\n throw new Error(`Slices are disabled.`)\n }\n}\n\nclass SlicePropsError extends Error {\n constructor(inBrowser, sliceName, propErrors, renderedByLocation) {\n const errors = Object.entries(propErrors)\n .map(\n ([key, value]) =>\n `not serializable \"${value}\" type passed to \"${key}\" prop`\n )\n .join(`, `)\n\n const name = `SlicePropsError`\n let stack = ``\n let message = ``\n\n if (inBrowser) {\n // They're just (kinda) kidding, I promise... You can still work here <3\n // https://www.gatsbyjs.com/careers/\n const fullStack =\n React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactDebugCurrentFrame.getCurrentStack()\n\n // remove the first line of the stack trace\n const stackLines = fullStack.trim().split(`\\n`).slice(1)\n stackLines[0] = stackLines[0].trim()\n stack = `\\n` + stackLines.join(`\\n`)\n\n message = `Slice \"${sliceName}\" was passed props that are not serializable (${errors}).`\n } else {\n // we can't really grab any extra info outside of the browser, so just print what we can\n message = `${name}: Slice \"${sliceName}\" was passed props that are not serializable (${errors}).`\n const stackLines = new Error().stack.trim().split(`\\n`).slice(2)\n stack = `${message}\\n${stackLines.join(`\\n`)}`\n }\n\n super(message)\n this.name = name\n if (stack) {\n this.stack = stack\n } else {\n Error.captureStackTrace(this, SlicePropsError)\n }\n\n if (renderedByLocation) {\n this.forcedLocation = { ...renderedByLocation, functionName: `Slice` }\n }\n }\n}\n\nconst validateSliceProps = (\n props,\n errors = {},\n seenObjects = [],\n path = null\n) => {\n // recursively validate all props\n for (const [name, value] of Object.entries(props)) {\n if (\n value === undefined ||\n value === null ||\n (!path && name === `children`)\n ) {\n continue\n }\n\n const propPath = path ? `${path}.${name}` : name\n\n if (typeof value === `function`) {\n errors[propPath] = typeof value\n } else if (typeof value === `object` && seenObjects.indexOf(value) <= 0) {\n seenObjects.push(value)\n validateSliceProps(value, errors, seenObjects, propPath)\n }\n }\n\n return errors\n}\n","export default 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}","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 Link,\n withPrefix,\n withAssetPrefix,\n navigate,\n parsePath,\n} from \"gatsby-link\"\n\nexport { graphql, prefetchPathname }\nexport { StaticQuery, StaticQueryContext, useStaticQuery } from \"./static-query\"\nexport { Slice } from \"./slice\"\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 preferDefault = m => (m && m.default) || m\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\n/**\n * Utility to check the path that goes into doFetch for e.g. potential malicious intentions.\n * It checks for \"//\" because with this you could do a fetch request to a different domain.\n */\nconst shouldAbortFetch = rawPath => rawPath.startsWith(`//`)\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 slicesMap: pageData.slicesMap ?? {},\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.slicesDataDb = new Map()\n this.sliceInflightDb = new Map()\n this.slicesDb = 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 loadSliceDataJson(sliceName) {\n if (this.slicesDataDb.has(sliceName)) {\n const jsonPayload = this.slicesDataDb.get(sliceName)\n return Promise.resolve({ sliceName, jsonPayload })\n }\n\n const url = `${__PATH_PREFIX__}/slice-data/${sliceName}.json`\n return doFetch(url, `GET`).then(res => {\n const jsonPayload = JSON.parse(res.responseText)\n\n this.slicesDataDb.set(sliceName, jsonPayload)\n return { sliceName, jsonPayload }\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 Promise.resolve({\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 const loadDataPromises = [\n this.loadAppData(),\n this.loadPageDataJson(pagePath),\n ]\n\n if (global.hasPartialHydration) {\n loadDataPromises.push(this.loadPartialHydrationJson(pagePath))\n }\n\n const inFlightPromise = Promise.all(loadDataPromises).then(allData => {\n const [appDataResponse, pageDataResponse, rscDataResponse] = allData\n\n if (\n pageDataResponse.status === PageResourceStatus.Error ||\n rscDataResponse?.status === PageResourceStatus.Error\n ) {\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n let pageData = pageDataResponse.payload\n\n const {\n componentChunkName,\n staticQueryHashes: pageStaticQueryHashes = [],\n slicesMap = {},\n } = pageData\n\n const finalResult = {}\n\n const dedupedSliceNames = Array.from(new Set(Object.values(slicesMap)))\n\n const loadSlice = slice => {\n if (this.slicesDb.has(slice.name)) {\n return this.slicesDb.get(slice.name)\n } else if (this.sliceInflightDb.has(slice.name)) {\n return this.sliceInflightDb.get(slice.name)\n }\n\n const inFlight = this.loadComponent(slice.componentChunkName).then(\n component => {\n return {\n component: preferDefault(component),\n sliceContext: slice.result.sliceContext,\n data: slice.result.data,\n }\n }\n )\n\n this.sliceInflightDb.set(slice.name, inFlight)\n inFlight.then(results => {\n this.slicesDb.set(slice.name, results)\n this.sliceInflightDb.delete(slice.name)\n })\n\n return inFlight\n }\n\n return Promise.all(\n dedupedSliceNames.map(sliceName => this.loadSliceDataJson(sliceName))\n ).then(slicesData => {\n const slices = []\n const dedupedStaticQueryHashes = [...pageStaticQueryHashes]\n\n for (const { jsonPayload, sliceName } of Object.values(slicesData)) {\n slices.push({ name: sliceName, ...jsonPayload })\n for (const staticQueryHash of jsonPayload.staticQueryHashes) {\n if (!dedupedStaticQueryHashes.includes(staticQueryHash)) {\n dedupedStaticQueryHashes.push(staticQueryHash)\n }\n }\n }\n\n const loadChunkPromises = [\n Promise.all(slices.map(loadSlice)),\n this.loadComponent(componentChunkName, `head`),\n ]\n\n if (!global.hasPartialHydration) {\n loadChunkPromises.push(this.loadComponent(componentChunkName))\n }\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 // get list of components to get\n const componentChunkPromises = Promise.all(loadChunkPromises).then(\n components => {\n const [sliceComponents, headComponent, pageComponent] = components\n\n finalResult.createdAt = new Date()\n\n for (const sliceComponent of sliceComponents) {\n if (!sliceComponent || sliceComponent instanceof Error) {\n finalResult.status = PageResourceStatus.Error\n finalResult.error = sliceComponent\n }\n }\n\n if (\n !global.hasPartialHydration &&\n (!pageComponent || pageComponent instanceof Error)\n ) {\n finalResult.status = PageResourceStatus.Error\n finalResult.error = pageComponent\n }\n\n let pageResources\n\n if (finalResult.status !== PageResourceStatus.Error) {\n finalResult.status = PageResourceStatus.Success\n if (\n pageDataResponse.notFound === true ||\n rscDataResponse?.notFound === true\n ) {\n finalResult.notFound = true\n }\n pageData = Object.assign(pageData, {\n webpackCompilationHash: appDataResponse\n ? appDataResponse.webpackCompilationHash\n : ``,\n })\n\n if (typeof rscDataResponse?.payload === `string`) {\n pageResources = toPageResources(pageData, null, headComponent)\n\n pageResources.partialHydration = rscDataResponse.payload\n\n const readableStream = new ReadableStream({\n start(controller) {\n const te = new TextEncoder()\n controller.enqueue(te.encode(rscDataResponse.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 } else {\n pageResources = toPageResources(\n pageData,\n pageComponent,\n headComponent\n )\n }\n }\n\n // undefined if final result is an error\n return pageResources\n }\n )\n\n // get list of static queries to get\n const staticQueryBatchPromise = Promise.all(\n dedupedStaticQueryHashes.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([componentChunkPromises, 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 if (shouldAbortFetch(rawPath)) {\n return data\n }\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 if (shouldAbortFetch(rawPath)) {\n return data\n }\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\nexport function getSliceResults() {\n if (instance) {\n return instance.slicesDb\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 `html`,\n `body`,\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 serverData: input.serverData,\n pageContext: input.pageContext,\n }\n}\n\n/**\n * Throw error if Head export is not a valid function\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 which may have been directly added or introduced by `wrapRootElement`\n * @param {string} tagName\n */\nexport function warnForInvalidTag(tagName) {\n if (process.env.NODE_ENV !== `production`) {\n const warning = createWarningForInvalidTag(tagName)\n warnOnce(warning)\n }\n}\n\nfunction createWarningForInvalidTag(tagName) {\n return `<${tagName}> is not a valid head element. Please use one of the following: ${VALID_NODE_NAMES.join(\n `, `\n )}.\\n\\nAlso make sure that wrapRootElement in gatsby-ssr/gatsby-browser doesn't contain UI elements: https://gatsby.dev/invalid-head-elements`\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\nexport function getValidHeadNodesAndAttributes(\n rootNode,\n htmlAndBodyAttributes = {\n html: {},\n body: {},\n }\n) {\n const seenIds = new Map()\n const validHeadNodes = []\n\n // Filter out non-element nodes before looping since we don't care about them\n for (const node of rootNode.childNodes) {\n const nodeName = node.nodeName.toLowerCase()\n const id = node.attributes?.id?.value\n\n if (!isElementType(node)) continue\n\n if (isValidNodeName(nodeName)) {\n // and tags are treated differently, in that we don't render them, we only extract the attributes and apply them separetely\n if (nodeName === `html` || nodeName === `body`) {\n for (const attribute of node.attributes) {\n const isStyleAttribute = attribute.name === `style`\n\n // Merge attributes for same nodeName from previous loop iteration\n htmlAndBodyAttributes[nodeName] = {\n ...htmlAndBodyAttributes[nodeName],\n }\n\n if (!isStyleAttribute) {\n htmlAndBodyAttributes[nodeName][attribute.name] = attribute.value\n }\n\n // If there is already a style attribute, we need to merge them as otherwise the last one will \"win\"\n if (isStyleAttribute) {\n htmlAndBodyAttributes[nodeName].style = `${\n htmlAndBodyAttributes[nodeName]?.style\n ? htmlAndBodyAttributes[nodeName].style\n : ``\n }${attribute.value} `\n }\n }\n } else {\n let clonedNode = node.cloneNode(true)\n clonedNode.setAttribute(`data-gatsby-head`, true)\n\n // // This is hack to make script tags work\n if (clonedNode.nodeName.toLowerCase() === `script`) {\n clonedNode = massageScript(clonedNode)\n }\n // Duplicate ids are not allowed in the head, so we need to dedupe them\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[\n indexOfPreviouslyInsertedNode\n ].parentNode?.removeChild(\n validHeadNodes[indexOfPreviouslyInsertedNode]\n )\n validHeadNodes[indexOfPreviouslyInsertedNode] = clonedNode\n }\n } else {\n validHeadNodes.push(clonedNode)\n }\n }\n } else {\n warnForInvalidTag(nodeName)\n }\n\n if (node.childNodes.length) {\n validHeadNodes.push(\n ...getValidHeadNodesAndAttributes(node, htmlAndBodyAttributes)\n .validHeadNodes\n )\n }\n }\n\n return { validHeadNodes, htmlAndBodyAttributes }\n}\n\nfunction massageScript(node) {\n const script = document.createElement(`script`)\n for (const attr of node.attributes) {\n script.setAttribute(attr.name, attr.value)\n }\n script.innerHTML = node.innerHTML\n\n return script\n}\n\nexport function isValidNodeName(nodeName) {\n return VALID_NODE_NAMES.includes(nodeName)\n}\n/*\n * For Head, we only care about element nodes(type = 1), so this util is used to skip over non-element nodes\n * For Node type, see https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\n */\nexport function isElementType(node) {\n return node.nodeType === 1\n}\n\n/**\n * Removes all the head elements that were added by `Head`\n */\nexport function removePrevHeadElements() {\n const prevHeadNodes = document.querySelectorAll(`[data-gatsby-head]`)\n for (const node of prevHeadNodes) {\n node.parentNode.removeChild(node)\n }\n}\n\nexport function applyHtmlAndBodyAttributes(htmlAndBodyAttributes) {\n if (!htmlAndBodyAttributes) return\n\n const { html, body } = htmlAndBodyAttributes\n\n const htmlElement = document.querySelector(`html`)\n if (htmlElement) {\n Object.entries(html).forEach(([attributeName, attributeValue]) => {\n htmlElement.setAttribute(attributeName, attributeValue)\n })\n }\n\n const bodyElement = document.querySelector(`body`)\n if (bodyElement) {\n Object.entries(body).forEach(([attributeName, attributeValue]) => {\n bodyElement.setAttribute(attributeName, attributeValue)\n })\n }\n}\n\nexport function removeHtmlAndBodyAttributes(htmlAndBodyattributeList) {\n if (!htmlAndBodyattributeList) return\n\n const { html, body } = htmlAndBodyattributeList\n\n if (html) {\n const htmlElement = document.querySelector(`html`)\n html.forEach(attributeName => {\n if (htmlElement) {\n htmlElement.removeAttribute(attributeName)\n }\n })\n }\n\n if (body) {\n const bodyElement = document.querySelector(`body`)\n body.forEach(attributeName => {\n if (bodyElement) {\n bodyElement.removeAttribute(attributeName)\n }\n })\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 {\n headExportValidator,\n filterHeadProps,\n diffNodes,\n getValidHeadNodesAndAttributes,\n removePrevHeadElements,\n applyHtmlAndBodyAttributes,\n removeHtmlAndBodyAttributes,\n} from \"./utils\"\nimport { apiRunner } from \"../api-runner-browser\"\n\nconst hiddenRoot = document.createElement(`div`)\nconst keysOfHtmlAndBodyAttributes = {\n html: [],\n body: [],\n}\n\nconst onHeadRendered = () => {\n const { validHeadNodes, htmlAndBodyAttributes } =\n getValidHeadNodesAndAttributes(hiddenRoot)\n\n keysOfHtmlAndBodyAttributes.html = Object.keys(htmlAndBodyAttributes.html)\n keysOfHtmlAndBodyAttributes.body = Object.keys(htmlAndBodyAttributes.body)\n\n applyHtmlAndBodyAttributes(htmlAndBodyAttributes)\n\n /**\n * The rest of the code block below is a diffing mechanism to ensure that\n * the head elements aren't duplicted on every re-render.\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 // sigh ... and elements are not valid descedents of
(our hidden element)\n // react-dom in dev mode will warn about this. There doesn't seem to be a way to render arbitrary\n // user Head without hitting this issue (our hidden element could be just \"new Document()\", but\n // this can only have 1 child, and we don't control what is being rendered so that's not an option)\n // instead we continue to render to
, and just silence warnings for and elements\n // https://github.com/facebook/react/blob/e2424f33b3ad727321fc12e75c5e94838e84c2b5/packages/react-dom-bindings/src/client/validateDOMNesting.js#L498-L520\n const originalConsoleError = console.error.bind(console)\n console.error = (...args) => {\n if (\n Array.isArray(args) &&\n args.length >= 2 &&\n args[0]?.includes?.(`validateDOMNesting(...): %s cannot appear as`) &&\n (args[1] === `` || args[1] === ``)\n ) {\n return undefined\n }\n return originalConsoleError(...args)\n }\n\n /* We set up observer to be able to regenerate after react-refresh\n updates our hidden element.\n */\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 HeadElement = (\n \n )\n\n const WrapHeadElement = apiRunner(\n `wrapRootElement`,\n { element: HeadElement },\n HeadElement,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\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 {WrapHeadElement}\n \n ,\n hiddenRoot\n )\n }\n\n return () => {\n removePrevHeadElements()\n removeHtmlAndBodyAttributes(keysOfHtmlAndBodyAttributes)\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 {\n navigate as reachNavigate,\n globalHistory,\n} from \"@gatsbyjs/reach-router\"\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_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(nextProps) {\n if (compareLocationProps(this.props.location, nextProps.location)) {\n onPreRouteUpdate(nextProps.location, this.props.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 \"./static-query\"\nimport {\n SlicesMapContext,\n SlicesContext,\n SlicesResultsContext,\n} from \"./slice/context\"\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 getSliceResults,\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 const slicesContext = {\n renderEnvironment: `browser`,\n }\n\n class GatsbyRoot extends React.Component {\n render() {\n const { children } = this.props\n return (\n \n {({ location }) => (\n \n {({ pageResources, location }) => {\n const staticQueryResults = getStaticQueryResults()\n const sliceResults = getSliceResults()\n\n return (\n \n \n \n \n \n {children}\n \n \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","const map = new WeakMap()\n\nexport function reactDOMUtils() {\n const reactDomClient = require(`react-dom/client`)\n\n const 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 const hydrate = (Component, el) => reactDomClient.hydrateRoot(el, Component)\n\n return { render, hydrate }\n}\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","import React from \"react\"\n\nconst SlicesResultsContext = React.createContext({})\nconst SlicesContext = React.createContext({})\nconst SlicesMapContext = React.createContext({})\nconst SlicesPropsContext = React.createContext({})\n\nexport {\n SlicesResultsContext,\n SlicesContext,\n SlicesMapContext,\n SlicesPropsContext,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { createServerOrClientContext } from \"./context-utils\"\n\nconst StaticQueryContext = createServerOrClientContext(`StaticQuery`, {})\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\nlet warnedAboutStaticQuery = false\n\n// TODO(v6): Remove completely\nconst StaticQuery = props => {\n const { data, query, render, children } = props\n\n if (process.env.NODE_ENV === `development` && !warnedAboutStaticQuery) {\n console.warn(\n `The component is deprecated and will be removed in Gatsby v6. Use useStaticQuery instead. Refer to the migration guide for more information: https://gatsby.dev/migrating-4-to-5/#staticquery--is-deprecated`\n )\n warnedAboutStaticQuery = true\n }\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\n const context = React.useContext(StaticQueryContext)\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 { StaticQuery, StaticQueryContext, useStaticQuery }\n","import React from \"react\"\n\n// Ensure serverContext is not created more than once as React will throw when creating it more than once\n// https://github.com/facebook/react/blob/dd2d6522754f52c70d02c51db25eb7cbd5d1c8eb/packages/react/src/ReactServerContext.js#L101\nconst createServerContext = (name, defaultValue = null) => {\n /* eslint-disable no-undef */\n if (!globalThis.__SERVER_CONTEXT) {\n globalThis.__SERVER_CONTEXT = {}\n }\n\n if (!globalThis.__SERVER_CONTEXT[name]) {\n globalThis.__SERVER_CONTEXT[name] = React.createServerContext(\n name,\n defaultValue\n )\n }\n\n return globalThis.__SERVER_CONTEXT[name]\n}\n\nfunction createServerOrClientContext(name, defaultValue) {\n if (React.createServerContext) {\n return createServerContext(name, defaultValue)\n }\n\n return React.createContext(defaultValue)\n}\n\nexport { createServerOrClientContext }\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","import '@fontsource/open-sans/400.css'\nimport '@fontsource/open-sans/400-italic.css'\nimport '@fontsource/open-sans/500.css'\nimport '@fontsource/open-sans/700.css'\nimport '@fontsource/open-sans/800.css'\nimport 'flickity/css/flickity.css'\nimport './src/css/index.css'\n\n/**\n * Implement Gatsby's Browser APIs in this file.\n *\n * See: https://www.gatsbyjs.org/docs/browser-apis/\n */\n\nexport const onClientEntry = async () => {\n if (typeof IntersectionObserver === 'undefined') {\n await import('intersection-observer')\n }\n\n if (process.env.NODE_ENV === 'development') {\n const { worker } = require('./src/mocks/browser')\n worker.start({\n onUnhandledRequest: 'bypass',\n })\n }\n}\n","/* global __MANIFEST_PLUGIN_HAS_LOCALISATION__ */\nimport { withPrefix } from \"gatsby\";\nimport getManifestForPathname from \"./get-manifest-pathname\";\n\n// when we don't have localisation in our manifest, we tree shake everything away\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 if (manifestEl) {\n manifestEl.setAttribute(`href`, withPrefix(manifestFilename));\n }\n }\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\nvar _gatsby = require(\"gatsby\");\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 if (!Array.isArray(localizedManifests)) {\n return defaultFilename;\n }\n const localizedManifest = localizedManifests.find(app => {\n let startUrl = app.start_url;\n if (shouldPrependPathPrefix) {\n startUrl = (0, _gatsby.withPrefix)(startUrl);\n }\n return pathname.startsWith(startUrl);\n });\n if (!localizedManifest) {\n return defaultFilename;\n }\n return `manifest_${localizedManifest.lang}.webmanifest`;\n};\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.I18nextContext = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar I18nextContext = /*#__PURE__*/_react.default.createContext({\n language: 'en',\n languages: ['en'],\n routed: false,\n defaultLanguage: 'en',\n generateDefaultLanguagePage: false,\n originalPath: '/',\n path: '/'\n});\nexports.I18nextContext = I18nextContext;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.wrapPageElement = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _taggedTemplateLiteralLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/taggedTemplateLiteralLoose\"));\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _gatsby = require(\"gatsby\");\nvar _browserLang = _interopRequireDefault(require(\"browser-lang\"));\nvar _types = require(\"../types\");\nvar _i18next = _interopRequireDefault(require(\"i18next\"));\nvar _reactI18next = require(\"react-i18next\");\nvar _i18nextContext = require(\"../i18nextContext\");\nvar _outdent = _interopRequireDefault(require(\"outdent\"));\nvar _templateObject;\nvar withI18next = function withI18next(i18n, context) {\n return function (children) {\n return /*#__PURE__*/_react.default.createElement(_reactI18next.I18nextProvider, {\n i18n: i18n\n }, /*#__PURE__*/_react.default.createElement(_i18nextContext.I18nextContext.Provider, {\n value: context\n }, children));\n };\n};\nvar removePathPrefix = function removePathPrefix(pathname, stripTrailingSlash) {\n var pathPrefix = (0, _gatsby.withPrefix)('/');\n var result = pathname;\n if (pathname.startsWith(pathPrefix)) {\n result = pathname.replace(pathPrefix, '/');\n }\n if (stripTrailingSlash && result.endsWith('/')) {\n return result.slice(0, -1);\n }\n return result;\n};\nvar wrapPageElement = function wrapPageElement(_ref, _ref2) {\n var _data$localeJsonNodeN, _i18nextOptions$defau;\n var element = _ref.element,\n props = _ref.props;\n var _ref2$i18nextOptions = _ref2.i18nextOptions,\n i18nextOptions = _ref2$i18nextOptions === void 0 ? {} : _ref2$i18nextOptions,\n _ref2$redirect = _ref2.redirect,\n redirect = _ref2$redirect === void 0 ? true : _ref2$redirect,\n _ref2$generateDefault = _ref2.generateDefaultLanguagePage,\n generateDefaultLanguagePage = _ref2$generateDefault === void 0 ? false : _ref2$generateDefault,\n siteUrl = _ref2.siteUrl,\n _ref2$localeJsonNodeN = _ref2.localeJsonNodeName,\n localeJsonNodeName = _ref2$localeJsonNodeN === void 0 ? 'locales' : _ref2$localeJsonNodeN,\n fallbackLanguage = _ref2.fallbackLanguage,\n trailingSlash = _ref2.trailingSlash;\n if (!props) return;\n var data = props.data,\n pageContext = props.pageContext,\n location = props.location;\n var _pageContext$i18n = pageContext.i18n,\n routed = _pageContext$i18n.routed,\n language = _pageContext$i18n.language,\n languages = _pageContext$i18n.languages,\n originalPath = _pageContext$i18n.originalPath,\n defaultLanguage = _pageContext$i18n.defaultLanguage,\n path = _pageContext$i18n.path;\n var isRedirect = redirect && !routed;\n if (isRedirect) {\n var search = location.search;\n\n // Skip build, Browsers only\n if (typeof window !== 'undefined') {\n var detected = window.localStorage.getItem(_types.LANGUAGE_KEY) || (0, _browserLang.default)({\n languages: languages,\n fallback: fallbackLanguage || language\n });\n if (!languages.includes(detected)) {\n detected = language;\n }\n window.localStorage.setItem(_types.LANGUAGE_KEY, detected);\n if (detected !== defaultLanguage) {\n var queryParams = search || '';\n var stripTrailingSlash = trailingSlash === 'never';\n var newUrl = (0, _gatsby.withPrefix)(\"/\" + detected + removePathPrefix(location.pathname, stripTrailingSlash) + queryParams + location.hash);\n // @ts-ignore\n window.___replace(newUrl);\n return null;\n }\n }\n }\n var localeNodes = (data === null || data === void 0 ? void 0 : (_data$localeJsonNodeN = data[localeJsonNodeName]) === null || _data$localeJsonNodeN === void 0 ? void 0 : _data$localeJsonNodeN.edges) || [];\n if (languages.length > 1 && localeNodes.length === 0 && process.env.NODE_ENV === 'development') {\n console.error((0, _outdent.default)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)([\"\\n No translations were found in \\\"\", \"\\\" key for \\\"\", \"\\\". \\n You need to add a graphql query to every page like this:\\n \\n export const query = graphql`\\n query($language: String!) {\\n \", \": allLocale(language: {eq: $language}) {\\n edges {\\n node {\\n ns\\n data\\n language\\n }\\n }\\n }\\n }\\n `;\\n \"], [\"\\n No translations were found in \\\"\", \"\\\" key for \\\"\", \"\\\". \\n You need to add a graphql query to every page like this:\\n \\n export const query = graphql\\\\`\\n query($language: String!) {\\n \", \": allLocale(language: {eq: $language}) {\\n edges {\\n node {\\n ns\\n data\\n language\\n }\\n }\\n }\\n }\\n \\\\`;\\n \"])), localeJsonNodeName, originalPath, localeJsonNodeName));\n }\n var namespaces = localeNodes.map(function (_ref3) {\n var node = _ref3.node;\n return node.ns;\n });\n\n // We want to set default namespace to a page namespace if it exists\n // and use other namespaces as fallback\n // this way you dont need to specify namespaces in pages\n var defaultNS = ((_i18nextOptions$defau = i18nextOptions.defaultNS) === null || _i18nextOptions$defau === void 0 ? void 0 : _i18nextOptions$defau.toString()) || 'translation';\n defaultNS = namespaces.find(function (ns) {\n return ns !== defaultNS;\n }) || defaultNS;\n var fallbackNS = namespaces.filter(function (ns) {\n return ns !== defaultNS;\n });\n var resources = localeNodes.reduce(function (res, _ref4) {\n var node = _ref4.node;\n var parsedData = typeof node.data === 'object' ? node.data : JSON.parse(node.data);\n if (!(node.language in res)) res[node.language] = {};\n res[node.language][node.ns || defaultNS] = parsedData;\n return res;\n }, {});\n var i18n = _i18next.default.createInstance();\n i18n.init((0, _extends2.default)({}, i18nextOptions, {\n resources: resources,\n lng: language,\n fallbackLng: defaultLanguage,\n defaultNS: defaultNS,\n fallbackNS: fallbackNS,\n react: (0, _extends2.default)({}, i18nextOptions.react, {\n useSuspense: false\n })\n }));\n if (i18n.language !== language) {\n i18n.changeLanguage(language);\n }\n var context = {\n routed: routed,\n language: language,\n languages: languages,\n originalPath: originalPath,\n defaultLanguage: defaultLanguage,\n generateDefaultLanguagePage: generateDefaultLanguagePage,\n siteUrl: siteUrl,\n path: path\n };\n return withI18next(i18n, context)(element);\n};\nexports.wrapPageElement = wrapPageElement;","\"use strict\";\n\nexports.__esModule = true;\nexports.LANGUAGE_KEY = void 0;\nvar LANGUAGE_KEY = 'gatsby-i18next-language';\nexports.LANGUAGE_KEY = LANGUAGE_KEY;","const {wrapPageElement} = require('./dist/plugin/wrapPageElement');\nexports.wrapPageElement = wrapPageElement;\n","'use strict';\n\nvar _typeof = require('@babel/runtime/helpers/typeof');\nvar _classCallCheck = require('@babel/runtime/helpers/classCallCheck');\nvar _createClass = require('@babel/runtime/helpers/createClass');\nvar _assertThisInitialized = require('@babel/runtime/helpers/assertThisInitialized');\nvar _inherits = require('@babel/runtime/helpers/inherits');\nvar _possibleConstructorReturn = require('@babel/runtime/helpers/possibleConstructorReturn');\nvar _getPrototypeOf = require('@babel/runtime/helpers/getPrototypeOf');\nvar _defineProperty = require('@babel/runtime/helpers/defineProperty');\nvar _toArray = require('@babel/runtime/helpers/toArray');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar _typeof__default = /*#__PURE__*/_interopDefaultLegacy(_typeof);\nvar _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallCheck);\nvar _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass);\nvar _assertThisInitialized__default = /*#__PURE__*/_interopDefaultLegacy(_assertThisInitialized);\nvar _inherits__default = /*#__PURE__*/_interopDefaultLegacy(_inherits);\nvar _possibleConstructorReturn__default = /*#__PURE__*/_interopDefaultLegacy(_possibleConstructorReturn);\nvar _getPrototypeOf__default = /*#__PURE__*/_interopDefaultLegacy(_getPrototypeOf);\nvar _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);\nvar _toArray__default = /*#__PURE__*/_interopDefaultLegacy(_toArray);\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\n\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck__default['default'](this, Logger);\n\n this.init(concreteLogger, options);\n }\n\n _createClass__default['default'](Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread(_objectSpread({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }), this.options));\n }\n }, {\n key: \"clone\",\n value: function clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n }]);\n\n return Logger;\n}();\n\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck__default['default'](this, EventEmitter);\n\n this.observers = {};\n }\n\n _createClass__default['default'](EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n\n if (!listener) {\n delete this.observers[event];\n return;\n }\n\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n\n return EventEmitter;\n}();\n\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\n\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\n\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n\n if (value !== undefined) {\n return value;\n }\n\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n\n return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && typeof window.navigator.userAgentData === 'undefined' && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\nvar chars = [' ', ',', '?', '!', ';'];\nfunction looksLikeObjectPath(key, nsSeparator, keySeparator) {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n var possibleChars = chars.filter(function (c) {\n return nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0;\n });\n if (possibleChars.length === 0) return true;\n var r = new RegExp(\"(\".concat(possibleChars.map(function (c) {\n return c === '?' ? '\\\\?' : c;\n }).join('|'), \")\"));\n var matched = !r.test(key);\n\n if (!matched) {\n var ki = key.indexOf(keySeparator);\n\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n\n return matched;\n}\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf__default['default'](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default['default'](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default['default'](this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction deepFind(obj, path) {\n var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n var paths = path.split(keySeparator);\n var current = obj;\n\n for (var i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n\n if (current[paths[i]] === undefined) {\n var j = 2;\n var p = paths.slice(i, i + j).join(keySeparator);\n var mix = current[p];\n\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n\n if (mix === undefined) return undefined;\n if (mix === null) return null;\n\n if (path.endsWith(p)) {\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n }\n\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n\n current = current[paths[i]];\n }\n\n return current;\n}\n\nvar ResourceStore = function (_EventEmitter) {\n _inherits__default['default'](ResourceStore, _EventEmitter);\n\n var _super = _createSuper(ResourceStore);\n\n function ResourceStore(data) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n\n _classCallCheck__default['default'](this, ResourceStore);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default['default'](_this));\n }\n\n _this.data = data || {};\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n\n return _this;\n }\n\n _createClass__default['default'](ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n\n var result = getPath(this.data, path);\n if (result || !ignoreJSONStructure || typeof key !== 'string') return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n\n for (var m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread$1(_objectSpread$1({}, pack), resources);\n }\n\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread$1(_objectSpread$1({}, {}), this.getResource(lng, ns));\n return this.getResource(lng, ns);\n }\n }, {\n key: \"getDataByLanguage\",\n value: function getDataByLanguage(lng) {\n return this.data[lng];\n }\n }, {\n key: \"hasLanguageSomeTranslations\",\n value: function hasLanguageSomeTranslations(lng) {\n var data = this.getDataByLanguage(lng);\n var n = data && Object.keys(data) || [];\n return !!n.find(function (v) {\n return data[v] && Object.keys(data[v]).length > 0;\n });\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n\n return ResourceStore;\n}(EventEmitter);\n\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf__default['default'](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default['default'](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default['default'](this, result); }; }\n\nfunction _isNativeReflectConstruct$1() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar checkedLoadedFor = {};\n\nvar Translator = function (_EventEmitter) {\n _inherits__default['default'](Translator, _EventEmitter);\n\n var _super = _createSuper$1(Translator);\n\n function Translator(services) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck__default['default'](this, Translator);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default['default'](_this));\n }\n\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized__default['default'](_this));\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n\n _createClass__default['default'](Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n\n if (key === undefined || key === null) {\n return false;\n }\n\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS || [];\n var wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n var seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n var m = key.match(this.interpolator.nestingRegexp);\n\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n\n if (_typeof__default['default'](options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n\n if (returnDetails) {\n resolved.res = \"\".concat(namespace).concat(nsSeparator).concat(key);\n return resolved;\n }\n\n return \"\".concat(namespace).concat(nsSeparator).concat(key);\n }\n\n if (returnDetails) {\n resolved.res = key;\n return resolved;\n }\n\n return key;\n }\n\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n\n var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$2(_objectSpread$2({}, options), {}, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n\n if (returnDetails) {\n resolved.res = r;\n return resolved;\n }\n\n return r;\n }\n\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread$2(_objectSpread$2({}, options), {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n\n var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread$2(_objectSpread$2({}, options), {}, {\n keySeparator: false\n }));\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n\n var send = function send(l, k, specificDefaultValue) {\n var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n\n _this2.emit('missingKey', l, namespace, k, res);\n };\n\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language, options).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? \"\".concat(namespace, \":\").concat(key) : key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n\n if (returnDetails) {\n resolved.res = res;\n return resolved;\n }\n\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, _objectSpread$2(_objectSpread$2({}, this.options.interpolation.defaultVariables), options), resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread$2(_objectSpread$2({}, options), {\n interpolation: _objectSpread$2(_objectSpread$2({}, this.options.interpolation), options.interpolation)\n }));\n var skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n var nestBef;\n\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread$2(_objectSpread$2({}, this.options.interpolation.defaultVariables), data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n\n return null;\n }\n\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread$2({\n i18nResolved: resolved\n }, options) : options, this);\n }\n\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n\n var extracted = _this4.extractFromKey(k, options);\n\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n\n var needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi();\n\n var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(usedNS, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKeys = [key];\n\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count, options);\n var zeroSuffix = \"\".concat(_this4.options.pluralSeparator, \"zero\");\n\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n\n if (needsContextHandling) {\n var contextKey = \"\".concat(key).concat(_this4.options.contextSeparator).concat(options.context);\n finalKeys.push(contextKey);\n\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n\n var possibleKey;\n\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n\n for (var option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n\n return false;\n }\n }]);\n\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck__default['default'](this, LanguageUtil);\n\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n\n _createClass__default['default'](LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n\n return p.join('-');\n }\n\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n\n var cleanedLng = _this.formatLanguageCode(code);\n\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n\n var lngOnly = _this.getLanguagePartFromCode(code);\n\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks[\"default\"] || [];\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks[\"default\"];\n return found || [];\n }\n }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n\n var addCode = function addCode(c) {\n if (!c) return;\n\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n\n return LanguageUtil;\n}();\n\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\nvar deprecatedJsonVersions = ['v1', 'v2', 'v3'];\nvar suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\n\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\n\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck__default['default'](this, PluralResolver);\n\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n\n if ((!this.options.compatibilityJSON || this.options.compatibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.');\n }\n\n this.rules = createRules();\n }\n\n _createClass__default['default'](PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (this.shouldUseIntlApi()) {\n try {\n return new Intl.PluralRules(code, {\n type: options.ordinal ? 'ordinal' : 'cardinal'\n });\n } catch (_unused) {\n return;\n }\n }\n\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(function (suffix) {\n return \"\".concat(key).concat(suffix);\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n\n if (!rule) {\n return [];\n }\n\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort(function (pluralCategory1, pluralCategory2) {\n return suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2];\n }).map(function (pluralCategory) {\n return \"\".concat(_this.options.prepend).concat(pluralCategory);\n });\n }\n\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number, options);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var rule = this.getRule(code, options);\n\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return \"\".concat(this.options.prepend).concat(rule.select(count));\n }\n\n return this.getSuffixRetroCompatible(rule, count);\n }\n\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }, {\n key: \"getSuffixRetroCompatible\",\n value: function getSuffixRetroCompatible(rule, count) {\n var _this2 = this;\n\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n }, {\n key: \"shouldUseIntlApi\",\n value: function shouldUseIntlApi() {\n return !deprecatedJsonVersions.includes(this.options.compatibilityJSON);\n }\n }]);\n\n return PluralResolver;\n}();\n\nfunction ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$3(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck__default['default'](this, Interpolator);\n\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n\n this.init(options);\n }\n\n _createClass__default['default'](Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = getPathWithDefaults(data, defaultData, key);\n return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: key\n })) : path;\n }\n\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(getPathWithDefaults(data, defaultData, k), f, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: k\n }));\n };\n\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n\n while (match = todo.regex.exec(str)) {\n var matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (options && options.hasOwnProperty(matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(matchedVar, \" for interpolating \").concat(str));\n\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n\n replaces++;\n\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n\n var clonedOptions = _objectSpread$3({}, options);\n\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n\n function handleHasOptions(key, inheritedOptions) {\n var sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n var c = key.split(new RegExp(\"\".concat(sep, \"[ ]*{\")));\n var optionsString = \"{\".concat(c[1]);\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n var matchedSingleQuotes = optionsString.match(/'/g);\n var matchedDoubleQuotes = optionsString.match(/\"/g);\n\n if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread$3(_objectSpread$3({}, inheritedOptions), clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n\n delete clonedOptions.defaultValue;\n return key;\n }\n\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n var doReduce = false;\n\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, _objectSpread$3(_objectSpread$3({}, options), {}, {\n interpolationkey: match[1].trim()\n }));\n }, value.trim());\n }\n\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n\n return str;\n }\n }]);\n\n return Interpolator;\n}();\n\nfunction ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$4(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction parseFormatStr(formatStr) {\n var formatName = formatStr.toLowerCase().trim();\n var formatOptions = {};\n\n if (formatStr.indexOf('(') > -1) {\n var p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n var optStr = p[1].substring(0, p[1].length - 1);\n\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n var opts = optStr.split(';');\n opts.forEach(function (opt) {\n if (!opt) return;\n\n var _opt$split = opt.split(':'),\n _opt$split2 = _toArray__default['default'](_opt$split),\n key = _opt$split2[0],\n rest = _opt$split2.slice(1);\n\n var val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val;\n if (val === 'false') formatOptions[key.trim()] = false;\n if (val === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10);\n });\n }\n }\n\n return {\n formatName: formatName,\n formatOptions: formatOptions\n };\n}\n\nfunction createCachedFormatter(fn) {\n var cache = {};\n return function invokeFormatter(val, lng, options) {\n var key = lng + JSON.stringify(options);\n var formatter = cache[key];\n\n if (!formatter) {\n formatter = fn(lng, options);\n cache[key] = formatter;\n }\n\n return formatter(val);\n };\n}\n\nvar Formatter = function () {\n function Formatter() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck__default['default'](this, Formatter);\n\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.NumberFormat(lng, options);\n return function (val) {\n return formatter.format(val);\n };\n }),\n currency: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$4(_objectSpread$4({}, options), {}, {\n style: 'currency'\n }));\n return function (val) {\n return formatter.format(val);\n };\n }),\n datetime: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.DateTimeFormat(lng, _objectSpread$4({}, options));\n return function (val) {\n return formatter.format(val);\n };\n }),\n relativetime: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.RelativeTimeFormat(lng, _objectSpread$4({}, options));\n return function (val) {\n return formatter.format(val, options.range || 'day');\n };\n }),\n list: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.ListFormat(lng, _objectSpread$4({}, options));\n return function (val) {\n return formatter.format(val);\n };\n })\n };\n this.init(options);\n }\n\n _createClass__default['default'](Formatter, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var iOpts = options.interpolation;\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n }\n }, {\n key: \"add\",\n value: function add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n }, {\n key: \"addCached\",\n value: function addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n }, {\n key: \"format\",\n value: function format(value, _format, lng, options) {\n var _this = this;\n\n var formats = _format.split(this.formatSeparator);\n\n var result = formats.reduce(function (mem, f) {\n var _parseFormatStr = parseFormatStr(f),\n formatName = _parseFormatStr.formatName,\n formatOptions = _parseFormatStr.formatOptions;\n\n if (_this.formats[formatName]) {\n var formatted = mem;\n\n try {\n var valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n var l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = _this.formats[formatName](mem, l, _objectSpread$4(_objectSpread$4(_objectSpread$4({}, formatOptions), options), valOptions));\n } catch (error) {\n _this.logger.warn(error);\n }\n\n return formatted;\n } else {\n _this.logger.warn(\"there was no format function for \".concat(formatName));\n }\n\n return mem;\n }, value);\n return result;\n }\n }]);\n\n return Formatter;\n}();\n\nfunction ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$5(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf__default['default'](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default['default'](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default['default'](this, result); }; }\n\nfunction _isNativeReflectConstruct$2() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction removePending(q, name) {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n}\n\nvar Connector = function (_EventEmitter) {\n _inherits__default['default'](Connector, _EventEmitter);\n\n var _super = _createSuper$2(Connector);\n\n function Connector(backend, store, services) {\n var _this;\n\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n _classCallCheck__default['default'](this, Connector);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default['default'](_this));\n }\n\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.waitingReads = [];\n _this.maxParallelReads = options.maxParallelReads || 10;\n _this.readingCalls = 0;\n _this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n _this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n _this.state = {};\n _this.queue = [];\n\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n\n return _this;\n }\n\n _createClass__default['default'](Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n\n var toLoad = {};\n var pending = {};\n var toLoadLanguages = {};\n var toLoadNamespaces = {};\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending: pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = {};\n var loadedKeys = q.loaded[l];\n\n if (loadedKeys.length) {\n loadedKeys.forEach(function (ns) {\n if (loaded[l][ns] === undefined) loaded[l][ns] = true;\n });\n }\n });\n q.done = true;\n\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng: lng,\n ns: ns,\n fcName: fcName,\n tried: tried,\n wait: wait,\n callback: callback\n });\n return;\n }\n\n this.readingCalls++;\n return this.backend[fcName](lng, ns, function (err, data) {\n _this3.readingCalls--;\n\n if (_this3.waitingReads.length > 0) {\n var next = _this3.waitingReads.shift();\n\n _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n\n if (err && data && tried < _this3.maxRetries) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n\n callback(err, data);\n });\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(namespace, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n\n if (key === undefined || key === null || key === '') return;\n\n if (this.backend && this.backend.create) {\n this.backend.create(languages, namespace, key, fallbackValue, null, _objectSpread$5(_objectSpread$5({}, options), {}, {\n isUpdate: isUpdate\n }));\n }\n\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n\n return Connector;\n}(EventEmitter);\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: true,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof__default['default'](args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n\n if (_typeof__default['default'](args[2]) === 'object' || _typeof__default['default'](args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n\n return options;\n}\n\nfunction ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$6(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf__default['default'](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default['default'](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default['default'](this, result); }; }\n\nfunction _isNativeReflectConstruct$3() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction noop() {}\n\nfunction bindMemberFunctions(inst) {\n var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(function (mem) {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n}\n\nvar I18n = function (_EventEmitter) {\n _inherits__default['default'](I18n, _EventEmitter);\n\n var _super = _createSuper$3(I18n);\n\n function I18n() {\n var _this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n _classCallCheck__default['default'](this, I18n);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default['default'](_this));\n }\n\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n bindMemberFunctions(_assertThisInitialized__default['default'](_this));\n\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n\n return _possibleConstructorReturn__default['default'](_this, _assertThisInitialized__default['default'](_this));\n }\n\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n\n return _this;\n }\n\n _createClass__default['default'](I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n if (!options.defaultNS && options.defaultNS !== false && options.ns) {\n if (typeof options.ns === 'string') {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n\n var defOpts = get();\n this.options = _objectSpread$6(_objectSpread$6(_objectSpread$6({}, defOpts), this.options), transformOptions(options));\n\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = _objectSpread$6(_objectSpread$6({}, defOpts.interpolation), this.options.interpolation);\n }\n\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n\n var formatter;\n\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\n }\n\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n s.languageDetector.init(s, this.options.detection, this.options);\n }\n\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n\n return _this2;\n };\n });\n var deferred = defer();\n\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized && !_this2.initializedStoreOnce) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n\n _this2.emit('initialized', _this2.options);\n\n deferred.resolve(t);\n callback(err, t);\n };\n\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n\n var append = function append(lng) {\n if (!lng) return;\n\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n\n this.services.backendConnector.load(toLoad, this.options.ns, function (e) {\n if (!e && !_this3.resolvedLanguage && _this3.language) _this3.setResolvedLanguage(_this3.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n\n return this;\n }\n }, {\n key: \"setResolvedLanguage\",\n value: function setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n\n for (var li = 0; li < this.languages.length; li++) {\n var lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n\n var setLngProps = function setLngProps(l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n _this4.resolvedLanguage = undefined;\n\n _this4.setResolvedLanguage(l);\n };\n\n var done = function done(err, l) {\n if (l) {\n setLngProps(l);\n\n _this4.translator.changeLanguage(l);\n\n _this4.isLanguageChangingTo = undefined;\n\n _this4.emit('languageChanged', l);\n\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n\n var setLng = function setLng(lngs) {\n if (!lng && !lngs && _this4.services.languageDetector) lngs = [];\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n\n if (l) {\n if (!_this4.language) {\n setLngProps(l);\n }\n\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n this.services.languageDetector.detect(setLng);\n } else {\n setLng(lng);\n }\n\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns, keyPrefix) {\n var _this5 = this;\n\n var fixedT = function fixedT(key, opts) {\n var options;\n\n if (_typeof__default['default'](opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread$6({}, opts);\n }\n\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n var keySeparator = _this5.options.keySeparator || '.';\n var resultKey = options.keyPrefix ? \"\".concat(options.keyPrefix).concat(keySeparator).concat(key) : key;\n return _this5.t(resultKey, options);\n };\n\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n\n var lng = this.resolvedLanguage || this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n\n return loadState === -1 || loadState === 2;\n };\n\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n\n var deferred = defer();\n\n if (!this.options.ns) {\n callback && callback();\n return Promise.resolve();\n }\n\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n return rtlLngs.indexOf(this.services.languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n var mergedOptions = _objectSpread$6(_objectSpread$6(_objectSpread$6({}, this.options), options), {\n isClone: true\n });\n\n var clone = new I18n(mergedOptions);\n\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread$6({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n }]);\n\n return I18n;\n}(EventEmitter);\n\n_defineProperty__default['default'](I18n, \"createInstance\", function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n});\n\nvar instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nmodule.exports = instance;\n","/**\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","// In the absence of a WeakSet or WeakMap implementation, don't break, but don't cache either.\nfunction noop() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n}\nfunction createWeakMap() {\n if (typeof WeakMap !== \"undefined\") {\n return new WeakMap();\n }\n else {\n return fakeSetOrMap();\n }\n}\n/**\n * Creates and returns a no-op implementation of a WeakMap / WeakSet that never stores anything.\n */\nfunction fakeSetOrMap() {\n return {\n add: noop,\n delete: noop,\n get: noop,\n set: noop,\n has: function (k) {\n return false;\n },\n };\n}\n// Safe hasOwnProperty\nvar hop = Object.prototype.hasOwnProperty;\nvar has = function (obj, prop) {\n return hop.call(obj, prop);\n};\n// Copy all own enumerable properties from source to target\nfunction extend(target, source) {\n for (var prop in source) {\n if (has(source, prop)) {\n target[prop] = source[prop];\n }\n }\n return target;\n}\nvar reLeadingNewline = /^[ \\t]*(?:\\r\\n|\\r|\\n)/;\nvar reTrailingNewline = /(?:\\r\\n|\\r|\\n)[ \\t]*$/;\nvar reStartsWithNewlineOrIsEmpty = /^(?:[\\r\\n]|$)/;\nvar reDetectIndentation = /(?:\\r\\n|\\r|\\n)([ \\t]*)(?:[^ \\t\\r\\n]|$)/;\nvar reOnlyWhitespaceWithAtLeastOneNewline = /^[ \\t]*[\\r\\n][ \\t\\r\\n]*$/;\nfunction _outdentArray(strings, firstInterpolatedValueSetsIndentationLevel, options) {\n // If first interpolated value is a reference to outdent,\n // determine indentation level from the indentation of the interpolated value.\n var indentationLevel = 0;\n var match = strings[0].match(reDetectIndentation);\n if (match) {\n indentationLevel = match[1].length;\n }\n var reSource = \"(\\\\r\\\\n|\\\\r|\\\\n).{0,\" + indentationLevel + \"}\";\n var reMatchIndent = new RegExp(reSource, \"g\");\n if (firstInterpolatedValueSetsIndentationLevel) {\n strings = strings.slice(1);\n }\n var newline = options.newline, trimLeadingNewline = options.trimLeadingNewline, trimTrailingNewline = options.trimTrailingNewline;\n var normalizeNewlines = typeof newline === \"string\";\n var l = strings.length;\n var outdentedStrings = strings.map(function (v, i) {\n // Remove leading indentation from all lines\n v = v.replace(reMatchIndent, \"$1\");\n // Trim a leading newline from the first string\n if (i === 0 && trimLeadingNewline) {\n v = v.replace(reLeadingNewline, \"\");\n }\n // Trim a trailing newline from the last string\n if (i === l - 1 && trimTrailingNewline) {\n v = v.replace(reTrailingNewline, \"\");\n }\n // Normalize newlines\n if (normalizeNewlines) {\n v = v.replace(/\\r\\n|\\n|\\r/g, function (_) { return newline; });\n }\n return v;\n });\n return outdentedStrings;\n}\nfunction concatStringsAndValues(strings, values) {\n var ret = \"\";\n for (var i = 0, l = strings.length; i < l; i++) {\n ret += strings[i];\n if (i < l - 1) {\n ret += values[i];\n }\n }\n return ret;\n}\nfunction isTemplateStringsArray(v) {\n return has(v, \"raw\") && has(v, \"length\");\n}\n/**\n * It is assumed that opts will not change. If this is a problem, clone your options object and pass the clone to\n * makeInstance\n * @param options\n * @return {outdent}\n */\nfunction createInstance(options) {\n /** Cache of pre-processed template literal arrays */\n var arrayAutoIndentCache = createWeakMap();\n /**\n * Cache of pre-processed template literal arrays, where first interpolated value is a reference to outdent,\n * before interpolated values are injected.\n */\n var arrayFirstInterpSetsIndentCache = createWeakMap();\n function outdent(stringsOrOptions) {\n var values = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n values[_i - 1] = arguments[_i];\n }\n /* tslint:enable:no-shadowed-variable */\n if (isTemplateStringsArray(stringsOrOptions)) {\n var strings = stringsOrOptions;\n // Is first interpolated value a reference to outdent, alone on its own line, without any preceding non-whitespace?\n var firstInterpolatedValueSetsIndentationLevel = (values[0] === outdent || values[0] === defaultOutdent) &&\n reOnlyWhitespaceWithAtLeastOneNewline.test(strings[0]) &&\n reStartsWithNewlineOrIsEmpty.test(strings[1]);\n // Perform outdentation\n var cache = firstInterpolatedValueSetsIndentationLevel\n ? arrayFirstInterpSetsIndentCache\n : arrayAutoIndentCache;\n var renderedArray = cache.get(strings);\n if (!renderedArray) {\n renderedArray = _outdentArray(strings, firstInterpolatedValueSetsIndentationLevel, options);\n cache.set(strings, renderedArray);\n }\n /** If no interpolated values, skip concatenation step */\n if (values.length === 0) {\n return renderedArray[0];\n }\n /** Concatenate string literals with interpolated values */\n var rendered = concatStringsAndValues(renderedArray, firstInterpolatedValueSetsIndentationLevel ? values.slice(1) : values);\n return rendered;\n }\n else {\n // Create and return a new instance of outdent with the given options\n return createInstance(extend(extend({}, options), stringsOrOptions || {}));\n }\n }\n var fullOutdent = extend(outdent, {\n string: function (str) {\n return _outdentArray([str], false, options)[0];\n },\n });\n return fullOutdent;\n}\nvar defaultOutdent = createInstance({\n trimLeadingNewline: true,\n trimTrailingNewline: true,\n});\n// Named exports. Simple and preferred.\n// import outdent from 'outdent';\nexport default defaultOutdent;\n// import {outdent} from 'outdent';\nexport { defaultOutdent as outdent };\nif (typeof module !== \"undefined\") {\n // In webpack harmony-modules environments, module.exports is read-only,\n // so we fail gracefully.\n try {\n module.exports = defaultOutdent;\n Object.defineProperty(defaultOutdent, \"__esModule\", { value: true });\n defaultOutdent.default = defaultOutdent;\n defaultOutdent.outdent = defaultOutdent;\n }\n catch (e) { }\n}\n//# sourceMappingURL=index.js.map","var matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;\nvar htmlEntities = {\n '&': '&',\n '&': '&',\n '<': '<',\n '<': '<',\n '>': '>',\n '>': '>',\n ''': \"'\",\n ''': \"'\",\n '"': '\"',\n '"': '\"',\n ' ': ' ',\n ' ': ' ',\n '©': '©',\n '©': '©',\n '®': '®',\n '®': '®',\n '…': '…',\n '…': '…',\n '/': '/',\n '/': '/'\n};\n\nvar unescapeHtmlEntity = function unescapeHtmlEntity(m) {\n return htmlEntities[m];\n};\n\nexport var unescape = function unescape(text) {\n return text.replace(matchHtmlEntity, unescapeHtmlEntity);\n};","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { createContext } from 'react';\nimport { unescape } from './unescape';\nvar defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true,\n unescape: unescape\n};\nvar i18nInstance;\nexport var I18nContext = createContext();\nexport function setDefaults() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n defaultOptions = _objectSpread(_objectSpread({}, defaultOptions), options);\n}\nexport function getDefaults() {\n return defaultOptions;\n}\nexport var ReportNamespaces = function () {\n function ReportNamespaces() {\n _classCallCheck(this, ReportNamespaces);\n\n this.usedNamespaces = {};\n }\n\n _createClass(ReportNamespaces, [{\n key: \"addUsedNamespaces\",\n value: function addUsedNamespaces(namespaces) {\n var _this = this;\n\n namespaces.forEach(function (ns) {\n if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true;\n });\n }\n }, {\n key: \"getUsedNamespaces\",\n value: function getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n }]);\n\n return ReportNamespaces;\n}();\nexport function setI18n(instance) {\n i18nInstance = instance;\n}\nexport function getI18n() {\n return i18nInstance;\n}\nexport var initReactI18next = {\n type: '3rdParty',\n init: function init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};\nexport function composeInitialProps(ForComponent) {\n return function (ctx) {\n return new Promise(function (resolve) {\n var i18nInitialProps = getInitialProps();\n\n if (ForComponent.getInitialProps) {\n ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) {\n resolve(_objectSpread(_objectSpread({}, componentsInitialProps), i18nInitialProps));\n });\n } else {\n resolve(i18nInitialProps);\n }\n });\n };\n}\nexport function getInitialProps() {\n var i18n = getI18n();\n var namespaces = i18n.reportNamespaces ? i18n.reportNamespaces.getUsedNamespaces() : [];\n var ret = {};\n var initialI18nStore = {};\n i18n.languages.forEach(function (l) {\n initialI18nStore[l] = {};\n namespaces.forEach(function (ns) {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n}","import e from\"void-elements\";var t=/\\s([^'\"/\\s><]+?)[\\s/>]|([^\\s=]+)=\\s?(\".*?\"|'.*?')/g;function n(n){var r={type:\"tag\",name:\"\",voidElement:!1,attrs:{},children:[]},i=n.match(/<\\/?([^\\s]+?)[/\\s>]/);if(i&&(r.name=i[1],(e[i[1]]||\"/\"===n.charAt(n.length-2))&&(r.voidElement=!0),r.name.startsWith(\"!--\"))){var s=n.indexOf(\"--\\x3e\");return{type:\"comment\",comment:-1!==s?n.slice(4,s):\"\"}}for(var a=new RegExp(t),c=null;null!==(c=a.exec(n));)if(c[0].trim())if(c[1]){var o=c[1].trim(),l=[o,\"\"];o.indexOf(\"=\")>-1&&(l=o.split(\"=\")),r.attrs[l[0]]=l[1],a.lastIndex--}else c[2]&&(r.attrs[c[2]]=c[3].trim().substring(1,c[3].length-1));return r}var r=/<[a-zA-Z0-9\\-\\!\\/](?:\"[^\"]*\"|'[^']*'|[^'\">])*>/g,i=/^\\s*$/,s=Object.create(null);function a(e,t){switch(t.type){case\"text\":return e+t.content;case\"tag\":return e+=\"<\"+t.name+(t.attrs?function(e){var t=[];for(var n in e)t.push(n+'=\"'+e[n]+'\"');return t.length?\" \"+t.join(\" \"):\"\"}(t.attrs):\"\")+(t.voidElement?\"/>\":\">\"),t.voidElement?e:e+t.children.reduce(a,\"\")+\"\";case\"comment\":return e+\"\\x3c!--\"+t.comment+\"--\\x3e\"}}var c={parse:function(e,t){t||(t={}),t.components||(t.components=s);var a,c=[],o=[],l=-1,m=!1;if(0!==e.indexOf(\"<\")){var u=e.indexOf(\"<\");c.push({type:\"text\",content:-1===u?e:e.substring(0,u)})}return e.replace(r,function(r,s){if(m){if(r!==\"\")return;m=!1}var u,f=\"/\"!==r.charAt(1),h=r.startsWith(\"\\x3c!--\"),p=s+r.length,d=e.charAt(p);if(h){var v=n(r);return l<0?(c.push(v),c):((u=o[l]).children.push(v),c)}if(f&&(l++,\"tag\"===(a=n(r)).type&&t.components[a.name]&&(a.type=\"component\",m=!0),a.voidElement||m||!d||\"<\"===d||a.children.push({type:\"text\",content:e.slice(p,e.indexOf(\"<\",p))}),0===l&&c.push(a),(u=o[l-1])&&u.children.push(a),o[l]=a),(!f||a.voidElement)&&(l>-1&&(a.voidElement||a.name===r.slice(2,-1))&&(l--,a=-1===l?c:o[l]),!m&&\"<\"!==d&&d)){u=-1===l?c:o[l].children;var x=e.indexOf(\"<\",p),g=e.slice(p,-1===x?void 0:x);i.test(g)&&(g=\" \"),(x>-1&&l+u.length>=0||\" \"!==g)&&u.push({type:\"text\",content:g})}}),c},stringify:function(e){return e.reduce(function(e,t){return e+a(\"\",t)},\"\")}};export default c;\n//# sourceMappingURL=html-parse-stringify.module.js.map\n","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _excluded = [\"format\"],\n _excluded2 = [\"children\", \"count\", \"parent\", \"i18nKey\", \"context\", \"tOptions\", \"values\", \"defaults\", \"components\", \"ns\", \"i18n\", \"t\", \"shouldUnescape\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { useContext, isValidElement, cloneElement, createElement } from 'react';\nimport HTML from 'html-parse-stringify';\nimport { getI18n, I18nContext, getDefaults } from './context';\nimport { warn, warnOnce } from './utils';\n\nfunction hasChildren(node, checkLength) {\n if (!node) return false;\n var base = node.props ? node.props.children : node.children;\n if (checkLength) return base.length > 0;\n return !!base;\n}\n\nfunction getChildren(node) {\n if (!node) return [];\n return node.props ? node.props.children : node.children;\n}\n\nfunction hasValidReactChildren(children) {\n if (Object.prototype.toString.call(children) !== '[object Array]') return false;\n return children.every(function (child) {\n return isValidElement(child);\n });\n}\n\nfunction getAsArray(data) {\n return Array.isArray(data) ? data : [data];\n}\n\nfunction mergeProps(source, target) {\n var newTarget = _objectSpread({}, target);\n\n newTarget.props = Object.assign(source.props, target.props);\n return newTarget;\n}\n\nexport function nodesToString(children, i18nOptions) {\n if (!children) return '';\n var stringNode = '';\n var childrenArray = getAsArray(children);\n var keepArray = i18nOptions.transSupportBasicHtmlNodes && i18nOptions.transKeepBasicHtmlNodesFor ? i18nOptions.transKeepBasicHtmlNodesFor : [];\n childrenArray.forEach(function (child, childIndex) {\n if (typeof child === 'string') {\n stringNode += \"\".concat(child);\n } else if (isValidElement(child)) {\n var childPropsCount = Object.keys(child.props).length;\n var shouldKeepChild = keepArray.indexOf(child.type) > -1;\n var childChildren = child.props.children;\n\n if (!childChildren && shouldKeepChild && childPropsCount === 0) {\n stringNode += \"<\".concat(child.type, \"/>\");\n } else if (!childChildren && (!shouldKeepChild || childPropsCount !== 0)) {\n stringNode += \"<\".concat(childIndex, \">\");\n } else if (child.props.i18nIsDynamicList) {\n stringNode += \"<\".concat(childIndex, \">\");\n } else if (shouldKeepChild && childPropsCount === 1 && typeof childChildren === 'string') {\n stringNode += \"<\".concat(child.type, \">\").concat(childChildren, \"\");\n } else {\n var content = nodesToString(childChildren, i18nOptions);\n stringNode += \"<\".concat(childIndex, \">\").concat(content, \"\");\n }\n } else if (child === null) {\n warn(\"Trans: the passed in value is invalid - seems you passed in a null child.\");\n } else if (_typeof(child) === 'object') {\n var format = child.format,\n clone = _objectWithoutProperties(child, _excluded);\n\n var keys = Object.keys(clone);\n\n if (keys.length === 1) {\n var value = format ? \"\".concat(keys[0], \", \").concat(format) : keys[0];\n stringNode += \"{{\".concat(value, \"}}\");\n } else {\n warn(\"react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.\", child);\n }\n } else {\n warn(\"Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.\", child);\n }\n });\n return stringNode;\n}\n\nfunction renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, shouldUnescape) {\n if (targetString === '') return [];\n var keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];\n var emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.join('|')).test(targetString);\n if (!children && !emptyChildrenButNeedsHandling) return [targetString];\n var data = {};\n\n function getData(childs) {\n var childrenArray = getAsArray(childs);\n childrenArray.forEach(function (child) {\n if (typeof child === 'string') return;\n if (hasChildren(child)) getData(getChildren(child));else if (_typeof(child) === 'object' && !isValidElement(child)) Object.assign(data, child);\n });\n }\n\n getData(children);\n var ast = HTML.parse(\"<0>\".concat(targetString, \"\"));\n\n var opts = _objectSpread(_objectSpread({}, data), combinedTOpts);\n\n function renderInner(child, node, rootReactNode) {\n var childs = getChildren(child);\n var mappedChildren = mapAST(childs, node.children, rootReactNode);\n return hasValidReactChildren(childs) && mappedChildren.length === 0 ? childs : mappedChildren;\n }\n\n function pushTranslatedJSX(child, inner, mem, i, isVoid) {\n if (child.dummy) child.children = inner;\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), isVoid ? undefined : inner));\n }\n\n function mapAST(reactNode, astNode, rootReactNode) {\n var reactNodes = getAsArray(reactNode);\n var astNodes = getAsArray(astNode);\n return astNodes.reduce(function (mem, node, i) {\n var translationContent = node.children && node.children[0] && node.children[0].content && i18n.services.interpolator.interpolate(node.children[0].content, opts, i18n.language);\n\n if (node.type === 'tag') {\n var tmp = reactNodes[parseInt(node.name, 10)];\n if (!tmp && rootReactNode.length === 1 && rootReactNode[0][node.name]) tmp = rootReactNode[0][node.name];\n if (!tmp) tmp = {};\n var child = Object.keys(node.attrs).length !== 0 ? mergeProps({\n props: node.attrs\n }, tmp) : tmp;\n var isElement = isValidElement(child);\n var isValidTranslationWithChildren = isElement && hasChildren(node, true) && !node.voidElement;\n var isEmptyTransWithHTML = emptyChildrenButNeedsHandling && _typeof(child) === 'object' && child.dummy && !isElement;\n var isKnownComponent = _typeof(children) === 'object' && children !== null && Object.hasOwnProperty.call(children, node.name);\n\n if (typeof child === 'string') {\n var value = i18n.services.interpolator.interpolate(child, opts, i18n.language);\n mem.push(value);\n } else if (hasChildren(child) || isValidTranslationWithChildren) {\n var inner = renderInner(child, node, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i);\n } else if (isEmptyTransWithHTML) {\n var _inner = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), _inner));\n } else if (Number.isNaN(parseFloat(node.name))) {\n if (isKnownComponent) {\n var _inner2 = renderInner(child, node, rootReactNode);\n\n pushTranslatedJSX(child, _inner2, mem, i, node.voidElement);\n } else if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {\n if (node.voidElement) {\n mem.push(createElement(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }));\n } else {\n var _inner3 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(createElement(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _inner3));\n }\n } else if (node.voidElement) {\n mem.push(\"<\".concat(node.name, \" />\"));\n } else {\n var _inner4 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(\"<\".concat(node.name, \">\").concat(_inner4, \"\"));\n }\n } else if (_typeof(child) === 'object' && !isElement) {\n var content = node.children[0] ? translationContent : null;\n if (content) mem.push(content);\n } else if (node.children.length === 1 && translationContent) {\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), translationContent));\n } else {\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n })));\n }\n } else if (node.type === 'text') {\n var wrapTextNodes = i18nOptions.transWrapTextNodes;\n\n var _content = shouldUnescape ? i18nOptions.unescape(i18n.services.interpolator.interpolate(node.content, opts, i18n.language)) : i18n.services.interpolator.interpolate(node.content, opts, i18n.language);\n\n if (wrapTextNodes) {\n mem.push(createElement(wrapTextNodes, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _content));\n } else {\n mem.push(_content);\n }\n }\n\n return mem;\n }, []);\n }\n\n var result = mapAST([{\n dummy: true,\n children: children || []\n }], ast, getAsArray(children || []));\n return getChildren(result[0]);\n}\n\nexport function Trans(_ref) {\n var children = _ref.children,\n count = _ref.count,\n parent = _ref.parent,\n i18nKey = _ref.i18nKey,\n context = _ref.context,\n _ref$tOptions = _ref.tOptions,\n tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,\n values = _ref.values,\n defaults = _ref.defaults,\n components = _ref.components,\n ns = _ref.ns,\n i18nFromProps = _ref.i18n,\n tFromProps = _ref.t,\n shouldUnescape = _ref.shouldUnescape,\n additionalProps = _objectWithoutProperties(_ref, _excluded2);\n\n var _ref2 = useContext(I18nContext) || {},\n i18nFromContext = _ref2.i18n,\n defaultNSFromContext = _ref2.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using i18nextReactModule');\n return children;\n }\n\n var t = tFromProps || i18n.t.bind(i18n) || function (k) {\n return k;\n };\n\n if (context) tOptions.context = context;\n\n var reactI18nextOptions = _objectSpread(_objectSpread({}, getDefaults()), i18n.options && i18n.options.react);\n\n var namespaces = ns || t.ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n var defaultValue = defaults || nodesToString(children, reactI18nextOptions) || reactI18nextOptions.transEmptyNodeValue || i18nKey;\n var hashTransKey = reactI18nextOptions.hashTransKey;\n var key = i18nKey || (hashTransKey ? hashTransKey(defaultValue) : defaultValue);\n var interpolationOverride = values ? tOptions.interpolation : {\n interpolation: _objectSpread(_objectSpread({}, tOptions.interpolation), {}, {\n prefix: '#$?',\n suffix: '?$#'\n })\n };\n\n var combinedTOpts = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, tOptions), {}, {\n count: count\n }, values), interpolationOverride), {}, {\n defaultValue: defaultValue,\n ns: namespaces\n });\n\n var translation = key ? t(key, combinedTOpts) : defaultValue;\n var content = renderNodes(components || children, translation, i18n, reactI18nextOptions, combinedTOpts, shouldUnescape);\n var useAsParent = parent !== undefined ? parent : reactI18nextOptions.defaultTransParent;\n return useAsParent ? createElement(useAsParent, additionalProps, content) : content;\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"forwardedRef\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { createElement, forwardRef as forwardRefReact } from 'react';\nimport { useTranslation } from './useTranslation';\nimport { getDisplayName } from './utils';\nexport function withTranslation(ns) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return function Extend(WrappedComponent) {\n function I18nextWithTranslation(_ref) {\n var forwardedRef = _ref.forwardedRef,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n var _useTranslation = useTranslation(ns, _objectSpread(_objectSpread({}, rest), {}, {\n keyPrefix: options.keyPrefix\n })),\n _useTranslation2 = _slicedToArray(_useTranslation, 3),\n t = _useTranslation2[0],\n i18n = _useTranslation2[1],\n ready = _useTranslation2[2];\n\n var passDownProps = _objectSpread(_objectSpread({}, rest), {}, {\n t: t,\n i18n: i18n,\n tReady: ready\n });\n\n if (options.withRef && forwardedRef) {\n passDownProps.ref = forwardedRef;\n } else if (!options.withRef && forwardedRef) {\n passDownProps.forwardedRef = forwardedRef;\n }\n\n return createElement(WrappedComponent, passDownProps);\n }\n\n I18nextWithTranslation.displayName = \"withI18nextTranslation(\".concat(getDisplayName(WrappedComponent), \")\");\n I18nextWithTranslation.WrappedComponent = WrappedComponent;\n\n var forwardRef = function forwardRef(props, ref) {\n return createElement(I18nextWithTranslation, Object.assign({}, props, {\n forwardedRef: ref\n }));\n };\n\n return options.withRef ? forwardRefReact(forwardRef) : I18nextWithTranslation;\n };\n}","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"ns\", \"children\"];\nimport { useTranslation } from './useTranslation';\nexport function Translation(props) {\n var ns = props.ns,\n children = props.children,\n options = _objectWithoutProperties(props, _excluded);\n\n var _useTranslation = useTranslation(ns, options),\n _useTranslation2 = _slicedToArray(_useTranslation, 3),\n t = _useTranslation2[0],\n i18n = _useTranslation2[1],\n ready = _useTranslation2[2];\n\n return children(t, {\n i18n: i18n,\n lng: i18n.language\n }, ready);\n}","import { createElement, useMemo } from 'react';\nimport { I18nContext } from './context';\nexport function I18nextProvider(_ref) {\n var i18n = _ref.i18n,\n defaultNS = _ref.defaultNS,\n children = _ref.children;\n var value = useMemo(function () {\n return {\n i18n: i18n,\n defaultNS: defaultNS\n };\n }, [i18n, defaultNS]);\n return createElement(I18nContext.Provider, {\n value: value\n }, children);\n}","import { useContext } from 'react';\nimport { getI18n, I18nContext } from './context';\nexport function useSSR(initialI18nStore, initialLanguage) {\n var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var i18nFromProps = props.i18n;\n\n var _ref = useContext(I18nContext) || {},\n i18nFromContext = _ref.i18n;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n.options && i18n.options.isClone) return;\n\n if (initialI18nStore && !i18n.initializedStoreOnce) {\n i18n.services.resourceStore.data = initialI18nStore;\n i18n.options.ns = Object.values(initialI18nStore).reduce(function (mem, lngResources) {\n Object.keys(lngResources).forEach(function (ns) {\n if (mem.indexOf(ns) < 0) mem.push(ns);\n });\n return mem;\n }, i18n.options.ns);\n i18n.initializedStoreOnce = true;\n i18n.isInitialized = true;\n }\n\n if (initialLanguage && !i18n.initializedLanguageOnce) {\n i18n.changeLanguage(initialLanguage);\n i18n.initializedLanguageOnce = true;\n }\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"initialI18nStore\", \"initialLanguage\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { createElement } from 'react';\nimport { useSSR } from './useSSR';\nimport { composeInitialProps } from './context';\nimport { getDisplayName } from './utils';\nexport function withSSR() {\n return function Extend(WrappedComponent) {\n function I18nextWithSSR(_ref) {\n var initialI18nStore = _ref.initialI18nStore,\n initialLanguage = _ref.initialLanguage,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n useSSR(initialI18nStore, initialLanguage);\n return createElement(WrappedComponent, _objectSpread({}, rest));\n }\n\n I18nextWithSSR.getInitialProps = composeInitialProps(WrappedComponent);\n I18nextWithSSR.displayName = \"withI18nextSSR(\".concat(getDisplayName(WrappedComponent), \")\");\n I18nextWithSSR.WrappedComponent = WrappedComponent;\n return I18nextWithSSR;\n };\n}","export { Trans } from './Trans';\nexport { useTranslation } from './useTranslation';\nexport { withTranslation } from './withTranslation';\nexport { Translation } from './Translation';\nexport { I18nextProvider } from './I18nextProvider';\nexport { withSSR } from './withSSR';\nexport { useSSR } from './useSSR';\nexport { I18nContext, initReactI18next, setDefaults, getDefaults, setI18n, getI18n, composeInitialProps, getInitialProps } from './context';\nexport var date = function date() {\n return '';\n};\nexport var time = function time() {\n return '';\n};\nexport var number = function number() {\n return '';\n};\nexport var select = function select() {\n return '';\n};\nexport var plural = function plural() {\n return '';\n};\nexport var selectOrdinal = function selectOrdinal() {\n return '';\n};","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { useState, useEffect, useContext, useRef } from 'react';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context';\nimport { warnOnce, loadNamespaces, hasLoadedNamespace } from './utils';\n\nvar usePrevious = function usePrevious(value, ignore) {\n var ref = useRef();\n useEffect(function () {\n ref.current = ignore ? ref.current : value;\n }, [value, ignore]);\n return ref.current;\n};\n\nexport function useTranslation(ns) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nFromProps = props.i18n;\n\n var _ref = useContext(I18nContext) || {},\n i18nFromContext = _ref.i18n,\n defaultNSFromContext = _ref.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using initReactI18next');\n\n var notReadyT = function notReadyT(k) {\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n\n var retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n\n if (i18n.options.react && i18n.options.react.wait !== undefined) warnOnce('It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');\n\n var i18nOptions = _objectSpread(_objectSpread(_objectSpread({}, getDefaults()), i18n.options.react), props);\n\n var useSuspense = i18nOptions.useSuspense,\n keyPrefix = i18nOptions.keyPrefix;\n var namespaces = ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n if (i18n.reportNamespaces.addUsedNamespaces) i18n.reportNamespaces.addUsedNamespaces(namespaces);\n var ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(function (n) {\n return hasLoadedNamespace(n, i18n, i18nOptions);\n });\n\n function getT() {\n return i18n.getFixedT(null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n }\n\n var _useState = useState(getT),\n _useState2 = _slicedToArray(_useState, 2),\n t = _useState2[0],\n setT = _useState2[1];\n\n var joinedNS = namespaces.join();\n var previousJoinedNS = usePrevious(joinedNS);\n var isMounted = useRef(true);\n useEffect(function () {\n var bindI18n = i18nOptions.bindI18n,\n bindI18nStore = i18nOptions.bindI18nStore;\n isMounted.current = true;\n\n if (!ready && !useSuspense) {\n loadNamespaces(i18n, namespaces, function () {\n if (isMounted.current) setT(getT);\n });\n }\n\n if (ready && previousJoinedNS && previousJoinedNS !== joinedNS && isMounted.current) {\n setT(getT);\n }\n\n function boundReset() {\n if (isMounted.current) setT(getT);\n }\n\n if (bindI18n && i18n) i18n.on(bindI18n, boundReset);\n if (bindI18nStore && i18n) i18n.store.on(bindI18nStore, boundReset);\n return function () {\n isMounted.current = false;\n if (bindI18n && i18n) bindI18n.split(' ').forEach(function (e) {\n return i18n.off(e, boundReset);\n });\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(function (e) {\n return i18n.store.off(e, boundReset);\n });\n };\n }, [i18n, joinedNS]);\n var isInitial = useRef(true);\n useEffect(function () {\n if (isMounted.current && !isInitial.current) {\n setT(getT);\n }\n\n isInitial.current = false;\n }, [i18n, keyPrefix]);\n var ret = [t, i18n, ready];\n ret.t = t;\n ret.i18n = i18n;\n ret.ready = ready;\n if (ready) return ret;\n if (!ready && !useSuspense) return ret;\n throw new Promise(function (resolve) {\n loadNamespaces(i18n, namespaces, function () {\n resolve();\n });\n });\n}","export function warn() {\n if (console && console.warn) {\n var _console;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (typeof args[0] === 'string') args[0] = \"react-i18next:: \".concat(args[0]);\n\n (_console = console).warn.apply(_console, args);\n }\n}\nvar alreadyWarned = {};\nexport function warnOnce() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'string' && alreadyWarned[args[0]]) return;\n if (typeof args[0] === 'string') alreadyWarned[args[0]] = new Date();\n warn.apply(void 0, args);\n}\nexport function loadNamespaces(i18n, ns, cb) {\n i18n.loadNamespaces(ns, function () {\n if (i18n.isInitialized) {\n cb();\n } else {\n var initialized = function initialized() {\n setTimeout(function () {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n\n i18n.on('initialized', initialized);\n }\n });\n}\n\nfunction oldI18nextHasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var lng = i18n.languages[0];\n var fallbackLng = i18n.options ? i18n.options.fallbackLng : false;\n var lastLng = i18n.languages[i18n.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = i18n.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18n.services.backendConnector.backend && i18n.isLanguageChangingTo && !loadNotPending(i18n.isLanguageChangingTo, ns)) return false;\n if (i18n.hasResourceBundle(lng, ns)) return true;\n if (!i18n.services.backendConnector.backend || i18n.options.resources && !i18n.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n}\n\nexport function hasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce('i18n.languages were undefined or empty', i18n.languages);\n return true;\n }\n\n var isNewerI18next = i18n.options.ignoreJSONStructure !== undefined;\n\n if (!isNewerI18next) {\n return oldI18nextHasLoadedNamespace(ns, i18n, options);\n }\n\n return i18n.hasLoadedNamespace(ns, {\n precheck: function precheck(i18nInstance, loadNotPending) {\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n}\nexport function getDisplayName(Component) {\n return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown');\n}","/**\n * @license React\n * react-server-dom-webpack.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';var k=require(\"react\"),l={stream:!0},n=new Map,p=Symbol.for(\"react.element\"),q=Symbol.for(\"react.lazy\"),r=Symbol.for(\"react.default_value\"),t=k.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ContextRegistry;function u(a){t[a]||(t[a]=k.createServerContext(a,r));return t[a]}function v(a,b,c){this._status=a;this._value=b;this._response=c}v.prototype.then=function(a){0===this._status?(null===this._value&&(this._value=[]),this._value.push(a)):a()};\nfunction w(a){switch(a._status){case 3:return a._value;case 1:var b=JSON.parse(a._value,a._response._fromJSON);a._status=3;return a._value=b;case 2:b=a._value;for(var c=b.chunks,d=0;d arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","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;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _extends.apply(this, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _getPrototypeOf(o);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\nmodule.exports = _inherits, 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 _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableRest() {\n 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}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nmodule.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}\nmodule.exports = _possibleConstructorReturn, 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;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _taggedTemplateLiteralLoose(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n strings.raw = raw;\n return strings;\n}\nmodule.exports = _taggedTemplateLiteralLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}\nmodule.exports = _toArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nmodule.exports = _toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}\nmodule.exports = _toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst PartytownSnippet = \"/* Partytown 0.7.6 - 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(f,1e4),e.addEventListener(\\\"pt0\\\",w),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):f())))}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.7.6\\\":\\\"sandbox-sw.html?\\\"+Date.now()),e.body.appendChild(c)}function f(n,r){for(w(),i==t&&(o.forward||[]).map((function(e){delete t[e.split(\\\".\\\")[0]]})),n=0;n {\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 `