{"version":3,"file":"static/js/main.60eb4f03.js","mappings":"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BAAZ,WACE,kBACEr9F,EAAE,yeACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,0zBACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,kiCACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,y5BACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,yzBACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,ozBACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,qoDACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,uwBACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,snBACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,gyEACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,yhBACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,4kBACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,q5BACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,skBACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,snBACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,8zCACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,6eACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,mEACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,8YACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,4wBACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,wtBACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,4eACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,6bACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,0VACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,2uDACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,8kBACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,mQACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,gWACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,iTACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,2zBACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,kQACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,yYACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,gTACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,glBACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,0YACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,8bACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,8YACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,gQACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,g9CACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,2hBACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,+PACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,iQACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,gTACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,4PACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,+VACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,iNACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,wkBACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,+YACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,kKACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,8PACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,2SACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,gKACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,iNACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,gKACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,+MACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,kKACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,kKACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,+JACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,kKACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,4YACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,iNACF0rE,OAAO,UACPisE,cAAc,QACdC,eAAe,WAEjB,kBACE53I,EAAE,mKACF0rE,OAAO,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","sources":["../node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js","../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../node_modules/browser-or-node/lib/index.js","../node_modules/classnames/index.js","../node_modules/create-react-class/factory.js","../node_modules/exenv/index.js","../node_modules/fast-deep-equal/es6/react.js","../node_modules/fbjs/lib/emptyFunction.js","../node_modules/fbjs/lib/emptyObject.js","../node_modules/fbjs/lib/invariant.js","../node_modules/fbjs/lib/warning.js","../node_modules/lodash.clonedeep/index.js","../node_modules/lodash/_Symbol.js","../node_modules/lodash/_arrayMap.js","../node_modules/lodash/_arrayReduce.js","../node_modules/lodash/_asciiToArray.js","../node_modules/lodash/_asciiWords.js","../node_modules/lodash/_baseGetTag.js","../node_modules/lodash/_basePropertyOf.js","../node_modules/lodash/_baseSlice.js","../node_modules/lodash/_baseToString.js","../node_modules/lodash/_castSlice.js","../node_modules/lodash/_createCaseFirst.js","../node_modules/lodash/_createCompounder.js","../node_modules/lodash/_deburrLetter.js","../node_modules/lodash/_freeGlobal.js","../node_modules/lodash/_getPrototype.js","../node_modules/lodash/_getRawTag.js","../node_modules/lodash/_hasUnicode.js","../node_modules/lodash/_hasUnicodeWord.js","../node_modules/lodash/_objectToString.js","../node_modules/lodash/_overArg.js","../node_modules/lodash/_root.js","../node_modules/lodash/_stringToArray.js","../node_modules/lodash/_unicodeToArray.js","../node_modules/lodash/_unicodeWords.js","../node_modules/lodash/camelCase.js","../node_modules/lodash/capitalize.js","../node_modules/lodash/deburr.js","../node_modules/lodash/isArray.js","../node_modules/lodash/isObjectLike.js","../node_modules/lodash/isPlainObject.js","../node_modules/lodash/isSymbol.js","../node_modules/lodash/toString.js","../node_modules/lodash/upperFirst.js","../node_modules/lodash/words.js","../node_modules/lottie-web/build/player/lottie.js","../node_modules/object-assign/index.js","../node_modules/prop-types/checkPropTypes.js","../node_modules/prop-types/factory.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/factoryWithTypeCheckers.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/prop-types/lib/has.js","../node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/prop-types/node_modules/react-is/index.js","../node_modules/react-animated-css/lib/index.js","../node_modules/react-animated-css/lib/prefixer/constants.js","../node_modules/react-animated-css/lib/prefixer/index.js","../node_modules/react-animated-css/lib/prefixer/prefix.js","../node_modules/react-animated-css/lib/prefixer/supports.js","../node_modules/react-animated-css/node_modules/react/lib/KeyEscapeUtils.js","../node_modules/react-animated-css/node_modules/react/lib/PooledClass.js","../node_modules/react-animated-css/node_modules/react/lib/React.js","../node_modules/react-animated-css/node_modules/react/lib/ReactBaseClasses.js","../node_modules/react-animated-css/node_modules/react/lib/ReactChildren.js","../node_modules/react-animated-css/node_modules/react/lib/ReactCurrentOwner.js","../node_modules/react-animated-css/node_modules/react/lib/ReactDOMFactories.js","../node_modules/react-animated-css/node_modules/react/lib/ReactElement.js","../node_modules/react-animated-css/node_modules/react/lib/ReactElementSymbol.js","../node_modules/react-animated-css/node_modules/react/lib/ReactNoopUpdateQueue.js","../node_modules/react-animated-css/node_modules/react/lib/ReactPropTypes.js","../node_modules/react-animated-css/node_modules/react/lib/ReactVersion.js","../node_modules/react-animated-css/node_modules/react/lib/canDefineProperty.js","../node_modules/react-animated-css/node_modules/react/lib/createClass.js","../node_modules/react-animated-css/node_modules/react/lib/getIteratorFn.js","../node_modules/react-animated-css/node_modules/react/lib/lowPriorityWarning.js","../node_modules/react-animated-css/node_modules/react/lib/onlyChild.js","../node_modules/react-animated-css/node_modules/react/lib/reactProdInvariant.js","../node_modules/react-animated-css/node_modules/react/lib/traverseAllChildren.js","../node_modules/react-animated-css/node_modules/react/react.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/index.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","../node_modules/react-modal/lib/components/Modal.js","../node_modules/react-modal/lib/components/ModalPortal.js","../node_modules/react-modal/lib/helpers/ariaAppHider.js","../node_modules/react-modal/lib/helpers/bodyTrap.js","../node_modules/react-modal/lib/helpers/classList.js","../node_modules/react-modal/lib/helpers/focusManager.js","../node_modules/react-modal/lib/helpers/portalOpenInstances.js","../node_modules/react-modal/lib/helpers/safeHTMLElement.js","../node_modules/react-modal/lib/helpers/scopeTab.js","../node_modules/react-modal/lib/helpers/tabbable.js","../node_modules/react-modal/lib/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/uniqid/index.js","../node_modules/warning/warning.js","../webpack/bootstrap","../webpack/runtime/amd options","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/node module decorator","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../../packages/react-router/lib/context.ts","../../packages/react-router/lib/router.ts","../../packages/react-router/lib/hooks.tsx","../../packages/react-router/lib/components.tsx","../../packages/react-router-dom/index.tsx","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/react-i18next/dist/es/context.js","../node_modules/react-i18next/dist/es/utils.js","../node_modules/react-i18next/dist/es/useTranslation.js","components/TextSection/index.jsx","components/ContainerWrapper/index.jsx","components/CardImage/index.jsx","assets/icons/ClimateChangeIcon.jsx","assets/icons/CybersecurityIcon.jsx","assets/icons/EnhancementIcon.jsx","assets/icons/FinancialInclusionIcon.jsx","assets/icons/GreenTransitionIcon.jsx","assets/icons/HealthIcon.jsx","assets/icons/HomeIcon.jsx","assets/icons/IntegrityIcon.jsx","assets/icons/InvestmentIcon.jsx","assets/icons/JobProtectionIcon.jsx","assets/icons/SatisfactionIcon.jsx","assets/icons/SolidityIcon.jsx","assets/icons/CommunitySupportIcon.jsx","assets/icons/CopyIcon.jsx","assets/icons/ArrowBottomIcon.jsx","assets/icons/PlayIcon.jsx","assets/icons/ExpandIcon.jsx","assets/icons/CollapseIcon.jsx","assets/icons/ButtonTooltipIcon.jsx","assets/icons/CloseIcon.jsx","assets/icons/LinkIcon.jsx","assets/icons/ArrowRightIcon.jsx","assets/icons/GroupTooltipIcon1.jsx","assets/icons/GroupTooltipIcon2.jsx","assets/icons/GroupTooltipIcon3.jsx","assets/icons/GroupTooltipIcon4.jsx","assets/icons/GroupTooltipIcon5.jsx","assets/icons/GroupTooltipIcon6.jsx","assets/icons/GroupTooltipIcon7.jsx","assets/icons/GroupTooltipIcon8.jsx","assets/icons/Areas/LavoroDignitoso.jsx","assets/icons/Areas/PaceGiustizia.jsx","assets/icons/Areas/SaluteBenessere.jsx","assets/icons/Areas/IndustriaInnovazione.jsx","assets/icons/Areas/Family.jsx","assets/icons/Areas/Istruzione.jsx","assets/icons/Areas/ParitaGenere.jsx","assets/icons/Areas/CittaSostenibili.jsx","assets/icons/Areas/CircleGroup.jsx","assets/icons/Areas/LottaCambiamentoClimatico.jsx","assets/icons/Areas/RidurreDisuguaglianze.jsx","assets/icons/Areas/GreenEnergy.jsx","components/MenuItem/index.jsx","components/Menu/index.jsx","components/Timeline/index.jsx","assets/images/Timeline/CommunitySupTimeline1.svg","assets/images/Timeline/CommunitySupTimeline2.svg","assets/images/Timeline/CommunitySupTimeline3.svg","assets/images/Timeline/CommunitySupTimeline4.svg","assets/images/Timeline/InnovationTimeline1.svg","assets/images/Timeline/InnovationTimeline2.svg","assets/images/Timeline/InnovationTimeline3.svg","assets/images/Timeline/InnovationTimeline4.svg","../node_modules/src/observe.ts","../node_modules/src/InView.tsx","../node_modules/src/useInView.tsx","components/InfoBox/index.jsx","components/Tooltip/index.jsx","components/ShowMore/index.js","components/AreaSquares.jsx","helpers/CustomHooks.js","containers/InnovationTransformation/index.jsx","assets/icons/Areas/ConsumoResponsabile.jsx","utils.js","assets/icons/MaterialityMatrix2020Icon.jsx","assets/icons/MaterialityMatrix2021Icon.jsx","assets/icons/LineIcon.jsx","assets/icons/DiversityInclusionPointsGraphIcon.jsx","assets/icons/ServiceQualityPointsGraphIcon.jsx","assets/icons/PcIcon.jsx","assets/icons/ShowMoreIcon.jsx","assets/icons/CircleIcon.jsx","assets/icons/DownloadPdfIcon.jsx","assets/icons/GroupPeopleIcon.jsx","components/MaterialityMatrix.jsx","components/PartnerLogos.jsx","components/AwardLogos.jsx","containers/Home/index.jsx","../node_modules/react-lottie-player/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-lottie-player/node_modules/object-assign/index.js","../node_modules/react-lottie-player/node_modules/react-is/cjs/react-is.development.js","../node_modules/react-lottie-player/node_modules/react-is/index.js","../node_modules/react-lottie-player/node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-lottie-player/node_modules/prop-types/checkPropTypes.js","../node_modules/react-lottie-player/node_modules/prop-types/factoryWithTypeCheckers.js","../node_modules/react-lottie-player/node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/react-lottie-player/node_modules/prop-types/index.js","../node_modules/react-lottie-player/src/LottiePlayer.js","../node_modules/react-lottie-player/src/makeLottiePlayer.js","components/LottieFilePlayer/index.jsx","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","components/BarCharts/Bar.jsx","components/BarCharts/BarChart.jsx","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/toArray.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/i18next/dist/esm/i18next.js","containers/GroupValue/index.jsx","containers/IntegrityPage/index.jsx","containers/ServiceQuality/index.jsx","containers/FinancialInclusion/index.jsx","containers/InvestmentInsurance/index.jsx","components/InfoCard.jsx","containers/CommunitySupport/index.jsx","containers/JobProtection/index.jsx","containers/DiversityInclusion/index.jsx","containers/HealthSafety/index.jsx","containers/GreenTransition/index.jsx","containers/ClimateChange/index.jsx","containers/Covid19/index.jsx","components/DownloadSection/index.jsx","pages/Simulator.jsx","pages/Main.jsx","components/ScrollToTop.jsx","App.js","reportWebVitals.js","../node_modules/i18next-http-backend/esm/utils.js","../node_modules/i18next-http-backend/esm/request.js","../node_modules/i18next-http-backend/esm/index.js","../node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js","i18n.js","index.js"],"sourcesContent":["function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}\n\nmodule.exports = _createForOfIteratorHelper, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\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}\n\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n/* global window self */\n\nvar isBrowser = typeof window !== 'undefined' && typeof window.document !== 'undefined';\n\n/* eslint-disable no-restricted-globals */\nvar isWebWorker = (typeof self === 'undefined' ? 'undefined' : _typeof(self)) === 'object' && self.constructor && self.constructor.name === 'DedicatedWorkerGlobalScope';\n/* eslint-enable no-restricted-globals */\n\nvar isNode = typeof process !== 'undefined' && process.versions != null && process.versions.node != null;\n\n/**\n * @see https://github.com/jsdom/jsdom/releases/tag/12.0.0\n * @see https://github.com/jsdom/jsdom/issues/1537\n */\n/* eslint-disable no-undef */\nvar isJsDom = function isJsDom() {\n return typeof window !== 'undefined' && window.name === 'nodejs' || navigator.userAgent.includes('Node.js') || navigator.userAgent.includes('jsdom');\n};\n\nexports.isBrowser = isBrowser;\nexports.isWebWorker = isWebWorker;\nexports.isNode = isNode;\nexports.isJsDom = isJsDom;","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\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\n'use strict';\n\nvar _assign = require('object-assign');\n\n// -- Inlined from fbjs --\n\nvar emptyObject = {};\n\nif (process.env.NODE_ENV !== 'production') {\n Object.freeze(emptyObject);\n}\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction _invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n 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\nvar warning = function(){};\n\nif (process.env.NODE_ENV !== 'production') {\n var printWarning = function printWarning(format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n warning = function warning(condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (format.indexOf('Failed Composite propType: ') === 0) {\n return; // Ignore CompositeComponent proptype check.\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\n// /-- Inlined from fbjs --\n\nvar MIXINS_KEY = 'mixins';\n\n// Helper function to allow the creation of anonymous functions which do not\n// have .name set to the name of the variable being assigned to.\nfunction identity(fn) {\n return fn;\n}\n\nvar ReactPropTypeLocationNames;\nif (process.env.NODE_ENV !== 'production') {\n ReactPropTypeLocationNames = {\n prop: 'prop',\n context: 'context',\n childContext: 'child context'\n };\n} else {\n ReactPropTypeLocationNames = {};\n}\n\nfunction factory(ReactComponent, isValidElement, ReactNoopUpdateQueue) {\n /**\n * Policies that describe methods in `ReactClassInterface`.\n */\n\n var injectedMixins = [];\n\n /**\n * Composite components are higher-level components that compose other composite\n * or host components.\n *\n * To create a new type of `ReactClass`, pass a specification of\n * your new class to `React.createClass`. The only requirement of your class\n * specification is that you implement a `render` method.\n *\n * var MyComponent = React.createClass({\n * render: function() {\n * return
Hello World
;\n * }\n * });\n *\n * The class specification supports a specific protocol of methods that have\n * special meaning (e.g. `render`). See `ReactClassInterface` for\n * more the comprehensive protocol. Any other properties and methods in the\n * class specification will be available on the prototype.\n *\n * @interface ReactClassInterface\n * @internal\n */\n var ReactClassInterface = {\n /**\n * An array of Mixin objects to include when defining your component.\n *\n * @type {array}\n * @optional\n */\n mixins: 'DEFINE_MANY',\n\n /**\n * An object containing properties and methods that should be defined on\n * the component's constructor instead of its prototype (static methods).\n *\n * @type {object}\n * @optional\n */\n statics: 'DEFINE_MANY',\n\n /**\n * Definition of prop types for this component.\n *\n * @type {object}\n * @optional\n */\n propTypes: 'DEFINE_MANY',\n\n /**\n * Definition of context types for this component.\n *\n * @type {object}\n * @optional\n */\n contextTypes: 'DEFINE_MANY',\n\n /**\n * Definition of context types this component sets for its children.\n *\n * @type {object}\n * @optional\n */\n childContextTypes: 'DEFINE_MANY',\n\n // ==== Definition methods ====\n\n /**\n * Invoked when the component is mounted. Values in the mapping will be set on\n * `this.props` if that prop is not specified (i.e. using an `in` check).\n *\n * This method is invoked before `getInitialState` and therefore cannot rely\n * on `this.state` or use `this.setState`.\n *\n * @return {object}\n * @optional\n */\n getDefaultProps: 'DEFINE_MANY_MERGED',\n\n /**\n * Invoked once before the component is mounted. The return value will be used\n * as the initial value of `this.state`.\n *\n * getInitialState: function() {\n * return {\n * isOn: false,\n * fooBaz: new BazFoo()\n * }\n * }\n *\n * @return {object}\n * @optional\n */\n getInitialState: 'DEFINE_MANY_MERGED',\n\n /**\n * @return {object}\n * @optional\n */\n getChildContext: 'DEFINE_MANY_MERGED',\n\n /**\n * Uses props from `this.props` and state from `this.state` to render the\n * structure of the component.\n *\n * No guarantees are made about when or how often this method is invoked, so\n * it must not have side effects.\n *\n * render: function() {\n * var name = this.props.name;\n * return
Hello, {name}!
;\n * }\n *\n * @return {ReactComponent}\n * @required\n */\n render: 'DEFINE_ONCE',\n\n // ==== Delegate methods ====\n\n /**\n * Invoked when the component is initially created and about to be mounted.\n * This may have side effects, but any external subscriptions or data created\n * by this method must be cleaned up in `componentWillUnmount`.\n *\n * @optional\n */\n componentWillMount: 'DEFINE_MANY',\n\n /**\n * Invoked when the component has been mounted and has a DOM representation.\n * However, there is no guarantee that the DOM node is in the document.\n *\n * Use this as an opportunity to operate on the DOM when the component has\n * been mounted (initialized and rendered) for the first time.\n *\n * @param {DOMElement} rootNode DOM element representing the component.\n * @optional\n */\n componentDidMount: 'DEFINE_MANY',\n\n /**\n * Invoked before the component receives new props.\n *\n * Use this as an opportunity to react to a prop transition by updating the\n * state using `this.setState`. Current props are accessed via `this.props`.\n *\n * componentWillReceiveProps: function(nextProps, nextContext) {\n * this.setState({\n * likesIncreasing: nextProps.likeCount > this.props.likeCount\n * });\n * }\n *\n * NOTE: There is no equivalent `componentWillReceiveState`. An incoming prop\n * transition may cause a state change, but the opposite is not true. If you\n * need it, you are probably looking for `componentWillUpdate`.\n *\n * @param {object} nextProps\n * @optional\n */\n componentWillReceiveProps: 'DEFINE_MANY',\n\n /**\n * Invoked while deciding if the component should be updated as a result of\n * receiving new props, state and/or context.\n *\n * Use this as an opportunity to `return false` when you're certain that the\n * transition to the new props/state/context will not require a component\n * update.\n *\n * shouldComponentUpdate: function(nextProps, nextState, nextContext) {\n * return !equal(nextProps, this.props) ||\n * !equal(nextState, this.state) ||\n * !equal(nextContext, this.context);\n * }\n *\n * @param {object} nextProps\n * @param {?object} nextState\n * @param {?object} nextContext\n * @return {boolean} True if the component should update.\n * @optional\n */\n shouldComponentUpdate: 'DEFINE_ONCE',\n\n /**\n * Invoked when the component is about to update due to a transition from\n * `this.props`, `this.state` and `this.context` to `nextProps`, `nextState`\n * and `nextContext`.\n *\n * Use this as an opportunity to perform preparation before an update occurs.\n *\n * NOTE: You **cannot** use `this.setState()` in this method.\n *\n * @param {object} nextProps\n * @param {?object} nextState\n * @param {?object} nextContext\n * @param {ReactReconcileTransaction} transaction\n * @optional\n */\n componentWillUpdate: 'DEFINE_MANY',\n\n /**\n * Invoked when the component's DOM representation has been updated.\n *\n * Use this as an opportunity to operate on the DOM when the component has\n * been updated.\n *\n * @param {object} prevProps\n * @param {?object} prevState\n * @param {?object} prevContext\n * @param {DOMElement} rootNode DOM element representing the component.\n * @optional\n */\n componentDidUpdate: 'DEFINE_MANY',\n\n /**\n * Invoked when the component is about to be removed from its parent and have\n * its DOM representation destroyed.\n *\n * Use this as an opportunity to deallocate any external resources.\n *\n * NOTE: There is no `componentDidUnmount` since your component will have been\n * destroyed by that point.\n *\n * @optional\n */\n componentWillUnmount: 'DEFINE_MANY',\n\n /**\n * Replacement for (deprecated) `componentWillMount`.\n *\n * @optional\n */\n UNSAFE_componentWillMount: 'DEFINE_MANY',\n\n /**\n * Replacement for (deprecated) `componentWillReceiveProps`.\n *\n * @optional\n */\n UNSAFE_componentWillReceiveProps: 'DEFINE_MANY',\n\n /**\n * Replacement for (deprecated) `componentWillUpdate`.\n *\n * @optional\n */\n UNSAFE_componentWillUpdate: 'DEFINE_MANY',\n\n // ==== Advanced methods ====\n\n /**\n * Updates the component's currently mounted DOM representation.\n *\n * By default, this implements React's rendering and reconciliation algorithm.\n * Sophisticated clients may wish to override this.\n *\n * @param {ReactReconcileTransaction} transaction\n * @internal\n * @overridable\n */\n updateComponent: 'OVERRIDE_BASE'\n };\n\n /**\n * Similar to ReactClassInterface but for static methods.\n */\n var ReactClassStaticInterface = {\n /**\n * This method is invoked after a component is instantiated and when it\n * receives new props. Return an object to update state in response to\n * prop changes. Return null to indicate no change to state.\n *\n * If an object is returned, its keys will be merged into the existing state.\n *\n * @return {object || null}\n * @optional\n */\n getDerivedStateFromProps: 'DEFINE_MANY_MERGED'\n };\n\n /**\n * Mapping from class specification keys to special processing functions.\n *\n * Although these are declared like instance properties in the specification\n * when defining classes using `React.createClass`, they are actually static\n * and are accessible on the constructor instead of the prototype. Despite\n * being static, they must be defined outside of the \"statics\" key under\n * which all other static methods are defined.\n */\n var RESERVED_SPEC_KEYS = {\n displayName: function(Constructor, displayName) {\n Constructor.displayName = displayName;\n },\n mixins: function(Constructor, mixins) {\n if (mixins) {\n for (var i = 0; i < mixins.length; i++) {\n mixSpecIntoComponent(Constructor, mixins[i]);\n }\n }\n },\n childContextTypes: function(Constructor, childContextTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, childContextTypes, 'childContext');\n }\n Constructor.childContextTypes = _assign(\n {},\n Constructor.childContextTypes,\n childContextTypes\n );\n },\n contextTypes: function(Constructor, contextTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, contextTypes, 'context');\n }\n Constructor.contextTypes = _assign(\n {},\n Constructor.contextTypes,\n contextTypes\n );\n },\n /**\n * Special case getDefaultProps which should move into statics but requires\n * automatic merging.\n */\n getDefaultProps: function(Constructor, getDefaultProps) {\n if (Constructor.getDefaultProps) {\n Constructor.getDefaultProps = createMergedResultFunction(\n Constructor.getDefaultProps,\n getDefaultProps\n );\n } else {\n Constructor.getDefaultProps = getDefaultProps;\n }\n },\n propTypes: function(Constructor, propTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, propTypes, 'prop');\n }\n Constructor.propTypes = _assign({}, Constructor.propTypes, propTypes);\n },\n statics: function(Constructor, statics) {\n mixStaticSpecIntoComponent(Constructor, statics);\n },\n autobind: function() {}\n };\n\n function validateTypeDef(Constructor, typeDef, location) {\n for (var propName in typeDef) {\n if (typeDef.hasOwnProperty(propName)) {\n // use a warning instead of an _invariant so components\n // don't show up in prod but only in __DEV__\n if (process.env.NODE_ENV !== 'production') {\n warning(\n typeof typeDef[propName] === 'function',\n '%s: %s type `%s` is invalid; it must be a function, usually from ' +\n 'React.PropTypes.',\n Constructor.displayName || 'ReactClass',\n ReactPropTypeLocationNames[location],\n propName\n );\n }\n }\n }\n }\n\n function validateMethodOverride(isAlreadyDefined, name) {\n var specPolicy = ReactClassInterface.hasOwnProperty(name)\n ? ReactClassInterface[name]\n : null;\n\n // Disallow overriding of base class methods unless explicitly allowed.\n if (ReactClassMixin.hasOwnProperty(name)) {\n _invariant(\n specPolicy === 'OVERRIDE_BASE',\n 'ReactClassInterface: You are attempting to override ' +\n '`%s` from your class specification. Ensure that your method names ' +\n 'do not overlap with React methods.',\n name\n );\n }\n\n // Disallow defining methods more than once unless explicitly allowed.\n if (isAlreadyDefined) {\n _invariant(\n specPolicy === 'DEFINE_MANY' || specPolicy === 'DEFINE_MANY_MERGED',\n 'ReactClassInterface: You are attempting to define ' +\n '`%s` on your component more than once. This conflict may be due ' +\n 'to a mixin.',\n name\n );\n }\n }\n\n /**\n * Mixin helper which handles policy validation and reserved\n * specification keys when building React classes.\n */\n function mixSpecIntoComponent(Constructor, spec) {\n if (!spec) {\n if (process.env.NODE_ENV !== 'production') {\n var typeofSpec = typeof spec;\n var isMixinValid = typeofSpec === 'object' && spec !== null;\n\n if (process.env.NODE_ENV !== 'production') {\n warning(\n isMixinValid,\n \"%s: You're attempting to include a mixin that is either null \" +\n 'or not an object. Check the mixins included by the component, ' +\n 'as well as any mixins they include themselves. ' +\n 'Expected object but got %s.',\n Constructor.displayName || 'ReactClass',\n spec === null ? null : typeofSpec\n );\n }\n }\n\n return;\n }\n\n _invariant(\n typeof spec !== 'function',\n \"ReactClass: You're attempting to \" +\n 'use a component class or function as a mixin. Instead, just use a ' +\n 'regular object.'\n );\n _invariant(\n !isValidElement(spec),\n \"ReactClass: You're attempting to \" +\n 'use a component as a mixin. Instead, just use a regular object.'\n );\n\n var proto = Constructor.prototype;\n var autoBindPairs = proto.__reactAutoBindPairs;\n\n // By handling mixins before any other properties, we ensure the same\n // chaining order is applied to methods with DEFINE_MANY policy, whether\n // mixins are listed before or after these methods in the spec.\n if (spec.hasOwnProperty(MIXINS_KEY)) {\n RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins);\n }\n\n for (var name in spec) {\n if (!spec.hasOwnProperty(name)) {\n continue;\n }\n\n if (name === MIXINS_KEY) {\n // We have already handled mixins in a special case above.\n continue;\n }\n\n var property = spec[name];\n var isAlreadyDefined = proto.hasOwnProperty(name);\n validateMethodOverride(isAlreadyDefined, name);\n\n if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) {\n RESERVED_SPEC_KEYS[name](Constructor, property);\n } else {\n // Setup methods on prototype:\n // The following member methods should not be automatically bound:\n // 1. Expected ReactClass methods (in the \"interface\").\n // 2. Overridden methods (that were mixed in).\n var isReactClassMethod = ReactClassInterface.hasOwnProperty(name);\n var isFunction = typeof property === 'function';\n var shouldAutoBind =\n isFunction &&\n !isReactClassMethod &&\n !isAlreadyDefined &&\n spec.autobind !== false;\n\n if (shouldAutoBind) {\n autoBindPairs.push(name, property);\n proto[name] = property;\n } else {\n if (isAlreadyDefined) {\n var specPolicy = ReactClassInterface[name];\n\n // These cases should already be caught by validateMethodOverride.\n _invariant(\n isReactClassMethod &&\n (specPolicy === 'DEFINE_MANY_MERGED' ||\n specPolicy === 'DEFINE_MANY'),\n 'ReactClass: Unexpected spec policy %s for key %s ' +\n 'when mixing in component specs.',\n specPolicy,\n name\n );\n\n // For methods which are defined more than once, call the existing\n // methods before calling the new property, merging if appropriate.\n if (specPolicy === 'DEFINE_MANY_MERGED') {\n proto[name] = createMergedResultFunction(proto[name], property);\n } else if (specPolicy === 'DEFINE_MANY') {\n proto[name] = createChainedFunction(proto[name], property);\n }\n } else {\n proto[name] = property;\n if (process.env.NODE_ENV !== 'production') {\n // Add verbose displayName to the function, which helps when looking\n // at profiling tools.\n if (typeof property === 'function' && spec.displayName) {\n proto[name].displayName = spec.displayName + '_' + name;\n }\n }\n }\n }\n }\n }\n }\n\n function mixStaticSpecIntoComponent(Constructor, statics) {\n if (!statics) {\n return;\n }\n\n for (var name in statics) {\n var property = statics[name];\n if (!statics.hasOwnProperty(name)) {\n continue;\n }\n\n var isReserved = name in RESERVED_SPEC_KEYS;\n _invariant(\n !isReserved,\n 'ReactClass: You are attempting to define a reserved ' +\n 'property, `%s`, that shouldn\\'t be on the \"statics\" key. Define it ' +\n 'as an instance property instead; it will still be accessible on the ' +\n 'constructor.',\n name\n );\n\n var isAlreadyDefined = name in Constructor;\n if (isAlreadyDefined) {\n var specPolicy = ReactClassStaticInterface.hasOwnProperty(name)\n ? ReactClassStaticInterface[name]\n : null;\n\n _invariant(\n specPolicy === 'DEFINE_MANY_MERGED',\n 'ReactClass: You are attempting to define ' +\n '`%s` on your component more than once. This conflict may be ' +\n 'due to a mixin.',\n name\n );\n\n Constructor[name] = createMergedResultFunction(Constructor[name], property);\n\n return;\n }\n\n Constructor[name] = property;\n }\n }\n\n /**\n * Merge two objects, but throw if both contain the same key.\n *\n * @param {object} one The first object, which is mutated.\n * @param {object} two The second object\n * @return {object} one after it has been mutated to contain everything in two.\n */\n function mergeIntoWithNoDuplicateKeys(one, two) {\n _invariant(\n one && two && typeof one === 'object' && typeof two === 'object',\n 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.'\n );\n\n for (var key in two) {\n if (two.hasOwnProperty(key)) {\n _invariant(\n one[key] === undefined,\n 'mergeIntoWithNoDuplicateKeys(): ' +\n 'Tried to merge two objects with the same key: `%s`. This conflict ' +\n 'may be due to a mixin; in particular, this may be caused by two ' +\n 'getInitialState() or getDefaultProps() methods returning objects ' +\n 'with clashing keys.',\n key\n );\n one[key] = two[key];\n }\n }\n return one;\n }\n\n /**\n * Creates a function that invokes two functions and merges their return values.\n *\n * @param {function} one Function to invoke first.\n * @param {function} two Function to invoke second.\n * @return {function} Function that invokes the two argument functions.\n * @private\n */\n function createMergedResultFunction(one, two) {\n return function mergedResult() {\n var a = one.apply(this, arguments);\n var b = two.apply(this, arguments);\n if (a == null) {\n return b;\n } else if (b == null) {\n return a;\n }\n var c = {};\n mergeIntoWithNoDuplicateKeys(c, a);\n mergeIntoWithNoDuplicateKeys(c, b);\n return c;\n };\n }\n\n /**\n * Creates a function that invokes two functions and ignores their return vales.\n *\n * @param {function} one Function to invoke first.\n * @param {function} two Function to invoke second.\n * @return {function} Function that invokes the two argument functions.\n * @private\n */\n function createChainedFunction(one, two) {\n return function chainedFunction() {\n one.apply(this, arguments);\n two.apply(this, arguments);\n };\n }\n\n /**\n * Binds a method to the component.\n *\n * @param {object} component Component whose method is going to be bound.\n * @param {function} method Method to be bound.\n * @return {function} The bound method.\n */\n function bindAutoBindMethod(component, method) {\n var boundMethod = method.bind(component);\n if (process.env.NODE_ENV !== 'production') {\n boundMethod.__reactBoundContext = component;\n boundMethod.__reactBoundMethod = method;\n boundMethod.__reactBoundArguments = null;\n var componentName = component.constructor.displayName;\n var _bind = boundMethod.bind;\n boundMethod.bind = function(newThis) {\n for (\n var _len = arguments.length,\n args = Array(_len > 1 ? _len - 1 : 0),\n _key = 1;\n _key < _len;\n _key++\n ) {\n args[_key - 1] = arguments[_key];\n }\n\n // User is trying to bind() an autobound method; we effectively will\n // ignore the value of \"this\" that the user is trying to use, so\n // let's warn.\n if (newThis !== component && newThis !== null) {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n false,\n 'bind(): React component methods may only be bound to the ' +\n 'component instance. See %s',\n componentName\n );\n }\n } else if (!args.length) {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n false,\n 'bind(): You are binding a component method to the component. ' +\n 'React does this for you automatically in a high-performance ' +\n 'way, so you can safely remove this call. See %s',\n componentName\n );\n }\n return boundMethod;\n }\n var reboundMethod = _bind.apply(boundMethod, arguments);\n reboundMethod.__reactBoundContext = component;\n reboundMethod.__reactBoundMethod = method;\n reboundMethod.__reactBoundArguments = args;\n return reboundMethod;\n };\n }\n return boundMethod;\n }\n\n /**\n * Binds all auto-bound methods in a component.\n *\n * @param {object} component Component whose method is going to be bound.\n */\n function bindAutoBindMethods(component) {\n var pairs = component.__reactAutoBindPairs;\n for (var i = 0; i < pairs.length; i += 2) {\n var autoBindKey = pairs[i];\n var method = pairs[i + 1];\n component[autoBindKey] = bindAutoBindMethod(component, method);\n }\n }\n\n var IsMountedPreMixin = {\n componentDidMount: function() {\n this.__isMounted = true;\n }\n };\n\n var IsMountedPostMixin = {\n componentWillUnmount: function() {\n this.__isMounted = false;\n }\n };\n\n /**\n * Add more to the ReactClass base class. These are all legacy features and\n * therefore not already part of the modern ReactComponent.\n */\n var ReactClassMixin = {\n /**\n * TODO: This will be deprecated because state should always keep a consistent\n * type signature and the only use case for this, is to avoid that.\n */\n replaceState: function(newState, callback) {\n this.updater.enqueueReplaceState(this, newState, callback);\n },\n\n /**\n * Checks whether or not this composite component is mounted.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function() {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n this.__didWarnIsMounted,\n '%s: isMounted is deprecated. Instead, make sure to clean up ' +\n 'subscriptions and pending requests in componentWillUnmount to ' +\n 'prevent memory leaks.',\n (this.constructor && this.constructor.displayName) ||\n this.name ||\n 'Component'\n );\n this.__didWarnIsMounted = true;\n }\n return !!this.__isMounted;\n }\n };\n\n var ReactClassComponent = function() {};\n _assign(\n ReactClassComponent.prototype,\n ReactComponent.prototype,\n ReactClassMixin\n );\n\n /**\n * Creates a composite component class given a class specification.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.createclass\n *\n * @param {object} spec Class specification (which must define `render`).\n * @return {function} Component constructor function.\n * @public\n */\n function createClass(spec) {\n // To keep our warnings more understandable, we'll use a little hack here to\n // ensure that Constructor.name !== 'Constructor'. This makes sure we don't\n // unnecessarily identify a class without displayName as 'Constructor'.\n var Constructor = identity(function(props, context, updater) {\n // This constructor gets overridden by mocks. The argument is used\n // by mocks to assert on what gets mounted.\n\n if (process.env.NODE_ENV !== 'production') {\n warning(\n this instanceof Constructor,\n 'Something is calling a React component directly. Use a factory or ' +\n 'JSX instead. See: https://fb.me/react-legacyfactory'\n );\n }\n\n // Wire up auto-binding\n if (this.__reactAutoBindPairs.length) {\n bindAutoBindMethods(this);\n }\n\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n\n this.state = null;\n\n // ReactClasses doesn't have constructors. Instead, they use the\n // getInitialState and componentWillMount methods for initialization.\n\n var initialState = this.getInitialState ? this.getInitialState() : null;\n if (process.env.NODE_ENV !== 'production') {\n // We allow auto-mocks to proceed as if they're returning null.\n if (\n initialState === undefined &&\n this.getInitialState._isMockFunction\n ) {\n // This is probably bad practice. Consider warning here and\n // deprecating this convenience.\n initialState = null;\n }\n }\n _invariant(\n typeof initialState === 'object' && !Array.isArray(initialState),\n '%s.getInitialState(): must return an object or null',\n Constructor.displayName || 'ReactCompositeComponent'\n );\n\n this.state = initialState;\n });\n Constructor.prototype = new ReactClassComponent();\n Constructor.prototype.constructor = Constructor;\n Constructor.prototype.__reactAutoBindPairs = [];\n\n injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor));\n\n mixSpecIntoComponent(Constructor, IsMountedPreMixin);\n mixSpecIntoComponent(Constructor, spec);\n mixSpecIntoComponent(Constructor, IsMountedPostMixin);\n\n // Initialize the defaultProps property after all mixins have been merged.\n if (Constructor.getDefaultProps) {\n Constructor.defaultProps = Constructor.getDefaultProps();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n // This is a tag to indicate that the use of these method names is ok,\n // since it's used with createClass. If it's not, then it's likely a\n // mistake so we'll warn you to use the static property, property\n // initializer or constructor respectively.\n if (Constructor.getDefaultProps) {\n Constructor.getDefaultProps.isReactClassApproved = {};\n }\n if (Constructor.prototype.getInitialState) {\n Constructor.prototype.getInitialState.isReactClassApproved = {};\n }\n }\n\n _invariant(\n Constructor.prototype.render,\n 'createClass(...): Class specification must implement a `render` method.'\n );\n\n if (process.env.NODE_ENV !== 'production') {\n warning(\n !Constructor.prototype.componentShouldUpdate,\n '%s has a method called ' +\n 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' +\n 'The name is phrased as a question because the function is ' +\n 'expected to return a value.',\n spec.displayName || 'A component'\n );\n warning(\n !Constructor.prototype.componentWillRecieveProps,\n '%s has a method called ' +\n 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?',\n spec.displayName || 'A component'\n );\n warning(\n !Constructor.prototype.UNSAFE_componentWillRecieveProps,\n '%s has a method called UNSAFE_componentWillRecieveProps(). ' +\n 'Did you mean UNSAFE_componentWillReceiveProps()?',\n spec.displayName || 'A component'\n );\n }\n\n // Reduce time spent doing lookups by setting these on the prototype.\n for (var methodName in ReactClassInterface) {\n if (!Constructor.prototype[methodName]) {\n Constructor.prototype[methodName] = null;\n }\n }\n\n return Constructor;\n }\n\n return createClass;\n}\n\nmodule.exports = factory;\n","/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar canUseDOM = !!(\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.document &&\n\t\twindow.document.createElement\n\t);\n\n\tvar ExecutionEnvironment = {\n\n\t\tcanUseDOM: canUseDOM,\n\n\t\tcanUseWorkers: typeof Worker !== 'undefined',\n\n\t\tcanUseEventListeners:\n\t\t\tcanUseDOM && !!(window.addEventListener || window.attachEvent),\n\n\t\tcanUseViewport: canUseDOM && !!window.screen\n\n\t};\n\n\tif (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\tdefine(function () {\n\t\t\treturn ExecutionEnvironment;\n\t\t});\n\t} else if (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = ExecutionEnvironment;\n\t} else {\n\t\twindow.ExecutionEnvironment = ExecutionEnvironment;\n\t}\n\n}());\n","'use strict';\n\n// do not edit .js files directly - edit src/index.jst\n\n\n var envHasBigInt64Array = typeof BigInt64Array !== 'undefined';\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n if ((a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n for (i of a.entries())\n if (!b.has(i[0])) return false;\n for (i of a.entries())\n if (!equal(i[1], b.get(i[0]))) return false;\n return true;\n }\n\n if ((a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n for (i of a.entries())\n if (!b.has(i[0])) return false;\n return true;\n }\n\n if (ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (key === '_owner' && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner.\n // _owner contains circular references\n // and is not needed when comparing the actual elements (and not their owners)\n continue;\n }\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n","\"use strict\";\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 */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;","/**\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\n'use strict';\n\nvar emptyObject = {};\n\nif (process.env.NODE_ENV !== 'production') {\n Object.freeze(emptyObject);\n}\n\nmodule.exports = emptyObject;","/**\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\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 validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n 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 * Copyright (c) 2014-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\n'use strict';\n\nvar emptyFunction = require('./emptyFunction');\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = emptyFunction;\n\nif (process.env.NODE_ENV !== 'production') {\n var printWarning = function printWarning(format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n warning = function warning(condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (format.indexOf('Failed Composite propType: ') === 0) {\n return; // Ignore CompositeComponent proptype check.\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/**\n * Adds the key-value `pair` to `map`.\n *\n * @private\n * @param {Object} map The map to modify.\n * @param {Array} pair The key-value pair to add.\n * @returns {Object} Returns `map`.\n */\nfunction addMapEntry(map, pair) {\n // Don't return `map.set` because it's not chainable in IE 11.\n map.set(pair[0], pair[1]);\n return map;\n}\n\n/**\n * Adds `value` to `set`.\n *\n * @private\n * @param {Object} set The set to modify.\n * @param {*} value The value to add.\n * @returns {Object} Returns `set`.\n */\nfunction addSetEntry(set, value) {\n // Don't return `set.add` because it's not chainable in IE 11.\n set.add(value);\n return set;\n}\n\n/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array ? array.length : 0;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {boolean} [isFull] Specify a clone including symbols.\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, isFull, customizer, key, object, stack) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n if (isHostObject(value)) {\n return object ? value : {};\n }\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, baseClone, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (!isArr) {\n var props = isFull ? getAllKeys(value) : keys(value);\n }\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, isDeep, isFull, customizer, key, value, stack));\n });\n return result;\n}\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} prototype The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nfunction baseCreate(proto) {\n return isObject(proto) ? objectCreate(proto) : {};\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var result = new buffer.constructor(buffer.length);\n buffer.copy(result);\n return result;\n}\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\n/**\n * Creates a clone of `map`.\n *\n * @private\n * @param {Object} map The map to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned map.\n */\nfunction cloneMap(map, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(mapToArray(map), true) : mapToArray(map);\n return arrayReduce(array, addMapEntry, new map.constructor);\n}\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\n/**\n * Creates a clone of `set`.\n *\n * @private\n * @param {Object} set The set to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned set.\n */\nfunction cloneSet(set, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(setToArray(set), true) : setToArray(set);\n return arrayReduce(array, addSetEntry, new set.constructor);\n}\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n assignValue(object, key, newValue === undefined ? source[key] : newValue);\n }\n return object;\n}\n\n/**\n * Copies own symbol properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Creates an array of the own enumerable symbol properties of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = nativeGetSymbols ? overArg(nativeGetSymbols, Object) : stubArray;\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, cloneFunc, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return cloneMap(object, isDeep, cloneFunc);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return cloneSet(object, isDeep, cloneFunc);\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, true, true);\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = cloneDeep;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\nmodule.exports = arrayReduce;\n","/**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction asciiToArray(string) {\n return string.split('');\n}\n\nmodule.exports = asciiToArray;\n","/** Used to match words composed of alphanumeric characters. */\nvar reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n/**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction asciiWords(string) {\n return string.match(reAsciiWord) || [];\n}\n\nmodule.exports = asciiWords;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = basePropertyOf;\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nmodule.exports = baseSlice;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","var baseSlice = require('./_baseSlice');\n\n/**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\nfunction castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n}\n\nmodule.exports = castSlice;\n","var castSlice = require('./_castSlice'),\n hasUnicode = require('./_hasUnicode'),\n stringToArray = require('./_stringToArray'),\n toString = require('./toString');\n\n/**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\nfunction createCaseFirst(methodName) {\n return function(string) {\n string = toString(string);\n\n var strSymbols = hasUnicode(string)\n ? stringToArray(string)\n : undefined;\n\n var chr = strSymbols\n ? strSymbols[0]\n : string.charAt(0);\n\n var trailing = strSymbols\n ? castSlice(strSymbols, 1).join('')\n : string.slice(1);\n\n return chr[methodName]() + trailing;\n };\n}\n\nmodule.exports = createCaseFirst;\n","var arrayReduce = require('./_arrayReduce'),\n deburr = require('./deburr'),\n words = require('./words');\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\";\n\n/** Used to match apostrophes. */\nvar reApos = RegExp(rsApos, 'g');\n\n/**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\nfunction createCompounder(callback) {\n return function(string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n}\n\nmodule.exports = createCompounder;\n","var basePropertyOf = require('./_basePropertyOf');\n\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n};\n\n/**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\nvar deburrLetter = basePropertyOf(deburredLetters);\n\nmodule.exports = deburrLetter;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsZWJ = '\\\\u200d';\n\n/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\nvar reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n/**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\nfunction hasUnicode(string) {\n return reHasUnicode.test(string);\n}\n\nmodule.exports = hasUnicode;\n","/** Used to detect strings that need a more robust regexp to match words. */\nvar reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n/**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\nfunction hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n}\n\nmodule.exports = hasUnicodeWord;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var asciiToArray = require('./_asciiToArray'),\n hasUnicode = require('./_hasUnicode'),\n unicodeToArray = require('./_unicodeToArray');\n\n/**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n}\n\nmodule.exports = stringToArray;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction unicodeToArray(string) {\n return string.match(reUnicode) || [];\n}\n\nmodule.exports = unicodeToArray;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\",\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq;\n\n/** Used to match complex or compound words. */\nvar reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\n rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\n rsUpper + '+' + rsOptContrUpper,\n rsOrdUpper,\n rsOrdLower,\n rsDigits,\n rsEmoji\n].join('|'), 'g');\n\n/**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n}\n\nmodule.exports = unicodeWords;\n","var capitalize = require('./capitalize'),\n createCompounder = require('./_createCompounder');\n\n/**\n * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the camel cased string.\n * @example\n *\n * _.camelCase('Foo Bar');\n * // => 'fooBar'\n *\n * _.camelCase('--foo-bar--');\n * // => 'fooBar'\n *\n * _.camelCase('__FOO_BAR__');\n * // => 'fooBar'\n */\nvar camelCase = createCompounder(function(result, word, index) {\n word = word.toLowerCase();\n return result + (index ? capitalize(word) : word);\n});\n\nmodule.exports = camelCase;\n","var toString = require('./toString'),\n upperFirst = require('./upperFirst');\n\n/**\n * Converts the first character of `string` to upper case and the remaining\n * to lower case.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to capitalize.\n * @returns {string} Returns the capitalized string.\n * @example\n *\n * _.capitalize('FRED');\n * // => 'Fred'\n */\nfunction capitalize(string) {\n return upperFirst(toString(string).toLowerCase());\n}\n\nmodule.exports = capitalize;\n","var deburrLetter = require('./_deburrLetter'),\n toString = require('./toString');\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;\n\n/** Used to compose unicode capture groups. */\nvar rsCombo = '[' + rsComboRange + ']';\n\n/**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\nvar reComboMark = RegExp(rsCombo, 'g');\n\n/**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\nfunction deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\n\nmodule.exports = deburr;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","var createCaseFirst = require('./_createCaseFirst');\n\n/**\n * Converts the first character of `string` to upper case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.upperFirst('fred');\n * // => 'Fred'\n *\n * _.upperFirst('FRED');\n * // => 'FRED'\n */\nvar upperFirst = createCaseFirst('toUpperCase');\n\nmodule.exports = upperFirst;\n","var asciiWords = require('./_asciiWords'),\n hasUnicodeWord = require('./_hasUnicodeWord'),\n toString = require('./toString'),\n unicodeWords = require('./_unicodeWords');\n\n/**\n * Splits `string` into an array of its words.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {RegExp|string} [pattern] The pattern to match words.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the words of `string`.\n * @example\n *\n * _.words('fred, barney, & pebbles');\n * // => ['fred', 'barney', 'pebbles']\n *\n * _.words('fred, barney, & pebbles', /[^, ]+/g);\n * // => ['fred', 'barney', '&', 'pebbles']\n */\nfunction words(string, pattern, guard) {\n string = toString(string);\n pattern = guard ? undefined : pattern;\n\n if (pattern === undefined) {\n return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);\n }\n return string.match(pattern) || [];\n}\n\nmodule.exports = words;\n","(typeof navigator !== \"undefined\") && (function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lottie = factory());\n})(this, (function () { 'use strict';\n\n var svgNS = 'http://www.w3.org/2000/svg';\n var locationHref = '';\n var _useWebWorker = false;\n var initialDefaultFrame = -999999;\n\n var setWebWorker = function setWebWorker(flag) {\n _useWebWorker = !!flag;\n };\n\n var getWebWorker = function getWebWorker() {\n return _useWebWorker;\n };\n\n var setLocationHref = function setLocationHref(value) {\n locationHref = value;\n };\n\n var getLocationHref = function getLocationHref() {\n return locationHref;\n };\n\n function createTag(type) {\n // return {appendChild:function(){},setAttribute:function(){},style:{}}\n return document.createElement(type);\n }\n\n function extendPrototype(sources, destination) {\n var i;\n var len = sources.length;\n var sourcePrototype;\n\n for (i = 0; i < len; i += 1) {\n sourcePrototype = sources[i].prototype;\n\n for (var attr in sourcePrototype) {\n if (Object.prototype.hasOwnProperty.call(sourcePrototype, attr)) destination.prototype[attr] = sourcePrototype[attr];\n }\n }\n }\n\n function getDescriptor(object, prop) {\n return Object.getOwnPropertyDescriptor(object, prop);\n }\n\n function createProxyFunction(prototype) {\n function ProxyFunction() {}\n\n ProxyFunction.prototype = prototype;\n return ProxyFunction;\n }\n\n // import Howl from '../../3rd_party/howler';\n var audioControllerFactory = function () {\n function AudioController(audioFactory) {\n this.audios = [];\n this.audioFactory = audioFactory;\n this._volume = 1;\n this._isMuted = false;\n }\n\n AudioController.prototype = {\n addAudio: function addAudio(audio) {\n this.audios.push(audio);\n },\n pause: function pause() {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].pause();\n }\n },\n resume: function resume() {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].resume();\n }\n },\n setRate: function setRate(rateValue) {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].setRate(rateValue);\n }\n },\n createAudio: function createAudio(assetPath) {\n if (this.audioFactory) {\n return this.audioFactory(assetPath);\n }\n\n if (window.Howl) {\n return new window.Howl({\n src: [assetPath]\n });\n }\n\n return {\n isPlaying: false,\n play: function play() {\n this.isPlaying = true;\n },\n seek: function seek() {\n this.isPlaying = false;\n },\n playing: function playing() {},\n rate: function rate() {},\n setVolume: function setVolume() {}\n };\n },\n setAudioFactory: function setAudioFactory(audioFactory) {\n this.audioFactory = audioFactory;\n },\n setVolume: function setVolume(value) {\n this._volume = value;\n\n this._updateVolume();\n },\n mute: function mute() {\n this._isMuted = true;\n\n this._updateVolume();\n },\n unmute: function unmute() {\n this._isMuted = false;\n\n this._updateVolume();\n },\n getVolume: function getVolume() {\n return this._volume;\n },\n _updateVolume: function _updateVolume() {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].volume(this._volume * (this._isMuted ? 0 : 1));\n }\n }\n };\n return function () {\n return new AudioController();\n };\n }();\n\n var createTypedArray = function () {\n function createRegularArray(type, len) {\n var i = 0;\n var arr = [];\n var value;\n\n switch (type) {\n case 'int16':\n case 'uint8c':\n value = 1;\n break;\n\n default:\n value = 1.1;\n break;\n }\n\n for (i = 0; i < len; i += 1) {\n arr.push(value);\n }\n\n return arr;\n }\n\n function createTypedArrayFactory(type, len) {\n if (type === 'float32') {\n return new Float32Array(len);\n }\n\n if (type === 'int16') {\n return new Int16Array(len);\n }\n\n if (type === 'uint8c') {\n return new Uint8ClampedArray(len);\n }\n\n return createRegularArray(type, len);\n }\n\n if (typeof Uint8ClampedArray === 'function' && typeof Float32Array === 'function') {\n return createTypedArrayFactory;\n }\n\n return createRegularArray;\n }();\n\n function createSizedArray(len) {\n return Array.apply(null, {\n length: len\n });\n }\n\n function _typeof$6(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$6 = function _typeof(obj) { return typeof obj; }; } else { _typeof$6 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$6(obj); }\n var subframeEnabled = true;\n var expressionsPlugin = null;\n var idPrefix = '';\n var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n var _shouldRoundValues = false;\n var bmPow = Math.pow;\n var bmSqrt = Math.sqrt;\n var bmFloor = Math.floor;\n var bmMax = Math.max;\n var bmMin = Math.min;\n var BMMath = {};\n\n (function () {\n var propertyNames = ['abs', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atanh', 'atan2', 'ceil', 'cbrt', 'expm1', 'clz32', 'cos', 'cosh', 'exp', 'floor', 'fround', 'hypot', 'imul', 'log', 'log1p', 'log2', 'log10', 'max', 'min', 'pow', 'random', 'round', 'sign', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc', 'E', 'LN10', 'LN2', 'LOG10E', 'LOG2E', 'PI', 'SQRT1_2', 'SQRT2'];\n var i;\n var len = propertyNames.length;\n\n for (i = 0; i < len; i += 1) {\n BMMath[propertyNames[i]] = Math[propertyNames[i]];\n }\n })();\n\n function ProjectInterface$1() {\n return {};\n }\n\n BMMath.random = Math.random;\n\n BMMath.abs = function (val) {\n var tOfVal = _typeof$6(val);\n\n if (tOfVal === 'object' && val.length) {\n var absArr = createSizedArray(val.length);\n var i;\n var len = val.length;\n\n for (i = 0; i < len; i += 1) {\n absArr[i] = Math.abs(val[i]);\n }\n\n return absArr;\n }\n\n return Math.abs(val);\n };\n\n var defaultCurveSegments = 150;\n var degToRads = Math.PI / 180;\n var roundCorner = 0.5519;\n\n function roundValues(flag) {\n _shouldRoundValues = !!flag;\n }\n\n function bmRnd(value) {\n if (_shouldRoundValues) {\n return Math.round(value);\n }\n\n return value;\n }\n\n function styleDiv(element) {\n element.style.position = 'absolute';\n element.style.top = 0;\n element.style.left = 0;\n element.style.display = 'block';\n element.style.transformOrigin = '0 0';\n element.style.webkitTransformOrigin = '0 0';\n element.style.backfaceVisibility = 'visible';\n element.style.webkitBackfaceVisibility = 'visible';\n element.style.transformStyle = 'preserve-3d';\n element.style.webkitTransformStyle = 'preserve-3d';\n element.style.mozTransformStyle = 'preserve-3d';\n }\n\n function BMEnterFrameEvent(type, currentTime, totalTime, frameMultiplier) {\n this.type = type;\n this.currentTime = currentTime;\n this.totalTime = totalTime;\n this.direction = frameMultiplier < 0 ? -1 : 1;\n }\n\n function BMCompleteEvent(type, frameMultiplier) {\n this.type = type;\n this.direction = frameMultiplier < 0 ? -1 : 1;\n }\n\n function BMCompleteLoopEvent(type, totalLoops, currentLoop, frameMultiplier) {\n this.type = type;\n this.currentLoop = currentLoop;\n this.totalLoops = totalLoops;\n this.direction = frameMultiplier < 0 ? -1 : 1;\n }\n\n function BMSegmentStartEvent(type, firstFrame, totalFrames) {\n this.type = type;\n this.firstFrame = firstFrame;\n this.totalFrames = totalFrames;\n }\n\n function BMDestroyEvent(type, target) {\n this.type = type;\n this.target = target;\n }\n\n function BMRenderFrameErrorEvent(nativeError, currentTime) {\n this.type = 'renderFrameError';\n this.nativeError = nativeError;\n this.currentTime = currentTime;\n }\n\n function BMConfigErrorEvent(nativeError) {\n this.type = 'configError';\n this.nativeError = nativeError;\n }\n\n function BMAnimationConfigErrorEvent(type, nativeError) {\n this.type = type;\n this.nativeError = nativeError;\n }\n\n var createElementID = function () {\n var _count = 0;\n return function createID() {\n _count += 1;\n return idPrefix + '__lottie_element_' + _count;\n };\n }();\n\n function HSVtoRGB(h, s, v) {\n var r;\n var g;\n var b;\n var i;\n var f;\n var p;\n var q;\n var t;\n i = Math.floor(h * 6);\n f = h * 6 - i;\n p = v * (1 - s);\n q = v * (1 - f * s);\n t = v * (1 - (1 - f) * s);\n\n switch (i % 6) {\n case 0:\n r = v;\n g = t;\n b = p;\n break;\n\n case 1:\n r = q;\n g = v;\n b = p;\n break;\n\n case 2:\n r = p;\n g = v;\n b = t;\n break;\n\n case 3:\n r = p;\n g = q;\n b = v;\n break;\n\n case 4:\n r = t;\n g = p;\n b = v;\n break;\n\n case 5:\n r = v;\n g = p;\n b = q;\n break;\n\n default:\n break;\n }\n\n return [r, g, b];\n }\n\n function RGBtoHSV(r, g, b) {\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var d = max - min;\n var h;\n var s = max === 0 ? 0 : d / max;\n var v = max / 255;\n\n switch (max) {\n case min:\n h = 0;\n break;\n\n case r:\n h = g - b + d * (g < b ? 6 : 0);\n h /= 6 * d;\n break;\n\n case g:\n h = b - r + d * 2;\n h /= 6 * d;\n break;\n\n case b:\n h = r - g + d * 4;\n h /= 6 * d;\n break;\n\n default:\n break;\n }\n\n return [h, s, v];\n }\n\n function addSaturationToRGB(color, offset) {\n var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n hsv[1] += offset;\n\n if (hsv[1] > 1) {\n hsv[1] = 1;\n } else if (hsv[1] <= 0) {\n hsv[1] = 0;\n }\n\n return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n }\n\n function addBrightnessToRGB(color, offset) {\n var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n hsv[2] += offset;\n\n if (hsv[2] > 1) {\n hsv[2] = 1;\n } else if (hsv[2] < 0) {\n hsv[2] = 0;\n }\n\n return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n }\n\n function addHueToRGB(color, offset) {\n var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n hsv[0] += offset / 360;\n\n if (hsv[0] > 1) {\n hsv[0] -= 1;\n } else if (hsv[0] < 0) {\n hsv[0] += 1;\n }\n\n return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n }\n\n var rgbToHex = function () {\n var colorMap = [];\n var i;\n var hex;\n\n for (i = 0; i < 256; i += 1) {\n hex = i.toString(16);\n colorMap[i] = hex.length === 1 ? '0' + hex : hex;\n }\n\n return function (r, g, b) {\n if (r < 0) {\n r = 0;\n }\n\n if (g < 0) {\n g = 0;\n }\n\n if (b < 0) {\n b = 0;\n }\n\n return '#' + colorMap[r] + colorMap[g] + colorMap[b];\n };\n }();\n\n var setSubframeEnabled = function setSubframeEnabled(flag) {\n subframeEnabled = !!flag;\n };\n\n var getSubframeEnabled = function getSubframeEnabled() {\n return subframeEnabled;\n };\n\n var setExpressionsPlugin = function setExpressionsPlugin(value) {\n expressionsPlugin = value;\n };\n\n var getExpressionsPlugin = function getExpressionsPlugin() {\n return expressionsPlugin;\n };\n\n var setDefaultCurveSegments = function setDefaultCurveSegments(value) {\n defaultCurveSegments = value;\n };\n\n var getDefaultCurveSegments = function getDefaultCurveSegments() {\n return defaultCurveSegments;\n };\n\n var setIdPrefix = function setIdPrefix(value) {\n idPrefix = value;\n };\n\n var getIdPrefix = function getIdPrefix() {\n return idPrefix;\n };\n\n function createNS(type) {\n // return {appendChild:function(){},setAttribute:function(){},style:{}}\n return document.createElementNS(svgNS, type);\n }\n\n function _typeof$5(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$5 = function _typeof(obj) { return typeof obj; }; } else { _typeof$5 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$5(obj); }\n\n var dataManager = function () {\n var _counterId = 1;\n var processes = [];\n var workerFn;\n var workerInstance;\n var workerProxy = {\n onmessage: function onmessage() {},\n postMessage: function postMessage(path) {\n workerFn({\n data: path\n });\n }\n };\n var _workerSelf = {\n postMessage: function postMessage(data) {\n workerProxy.onmessage({\n data: data\n });\n }\n };\n\n function createWorker(fn) {\n if (window.Worker && window.Blob && getWebWorker()) {\n var blob = new Blob(['var _workerSelf = self; self.onmessage = ', fn.toString()], {\n type: 'text/javascript'\n }); // var blob = new Blob(['self.onmessage = ', fn.toString()], { type: 'text/javascript' });\n\n var url = URL.createObjectURL(blob);\n return new Worker(url);\n }\n\n workerFn = fn;\n return workerProxy;\n }\n\n function setupWorker() {\n if (!workerInstance) {\n workerInstance = createWorker(function workerStart(e) {\n function dataFunctionManager() {\n function completeLayers(layers, comps) {\n var layerData;\n var i;\n var len = layers.length;\n var j;\n var jLen;\n var k;\n var kLen;\n\n for (i = 0; i < len; i += 1) {\n layerData = layers[i];\n\n if ('ks' in layerData && !layerData.completed) {\n layerData.completed = true;\n\n if (layerData.tt) {\n layers[i - 1].td = layerData.tt;\n }\n\n if (layerData.hasMask) {\n var maskProps = layerData.masksProperties;\n jLen = maskProps.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (maskProps[j].pt.k.i) {\n convertPathsToAbsoluteValues(maskProps[j].pt.k);\n } else {\n kLen = maskProps[j].pt.k.length;\n\n for (k = 0; k < kLen; k += 1) {\n if (maskProps[j].pt.k[k].s) {\n convertPathsToAbsoluteValues(maskProps[j].pt.k[k].s[0]);\n }\n\n if (maskProps[j].pt.k[k].e) {\n convertPathsToAbsoluteValues(maskProps[j].pt.k[k].e[0]);\n }\n }\n }\n }\n }\n\n if (layerData.ty === 0) {\n layerData.layers = findCompLayers(layerData.refId, comps);\n completeLayers(layerData.layers, comps);\n } else if (layerData.ty === 4) {\n completeShapes(layerData.shapes);\n } else if (layerData.ty === 5) {\n completeText(layerData);\n }\n }\n }\n }\n\n function completeChars(chars, assets) {\n if (chars) {\n var i = 0;\n var len = chars.length;\n\n for (i = 0; i < len; i += 1) {\n if (chars[i].t === 1) {\n // var compData = findComp(chars[i].data.refId, assets);\n chars[i].data.layers = findCompLayers(chars[i].data.refId, assets); // chars[i].data.ip = 0;\n // chars[i].data.op = 99999;\n // chars[i].data.st = 0;\n // chars[i].data.sr = 1;\n // chars[i].w = compData.w;\n // chars[i].data.ks = {\n // a: { k: [0, 0, 0], a: 0 },\n // p: { k: [0, -compData.h, 0], a: 0 },\n // r: { k: 0, a: 0 },\n // s: { k: [100, 100], a: 0 },\n // o: { k: 100, a: 0 },\n // };\n\n completeLayers(chars[i].data.layers, assets);\n }\n }\n }\n }\n\n function findComp(id, comps) {\n var i = 0;\n var len = comps.length;\n\n while (i < len) {\n if (comps[i].id === id) {\n return comps[i];\n }\n\n i += 1;\n }\n\n return null;\n }\n\n function findCompLayers(id, comps) {\n var comp = findComp(id, comps);\n\n if (comp) {\n if (!comp.layers.__used) {\n comp.layers.__used = true;\n return comp.layers;\n }\n\n return JSON.parse(JSON.stringify(comp.layers));\n }\n\n return null;\n }\n\n function completeShapes(arr) {\n var i;\n var len = arr.length;\n var j;\n var jLen;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (arr[i].ty === 'sh') {\n if (arr[i].ks.k.i) {\n convertPathsToAbsoluteValues(arr[i].ks.k);\n } else {\n jLen = arr[i].ks.k.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (arr[i].ks.k[j].s) {\n convertPathsToAbsoluteValues(arr[i].ks.k[j].s[0]);\n }\n\n if (arr[i].ks.k[j].e) {\n convertPathsToAbsoluteValues(arr[i].ks.k[j].e[0]);\n }\n }\n }\n } else if (arr[i].ty === 'gr') {\n completeShapes(arr[i].it);\n }\n }\n }\n\n function convertPathsToAbsoluteValues(path) {\n var i;\n var len = path.i.length;\n\n for (i = 0; i < len; i += 1) {\n path.i[i][0] += path.v[i][0];\n path.i[i][1] += path.v[i][1];\n path.o[i][0] += path.v[i][0];\n path.o[i][1] += path.v[i][1];\n }\n }\n\n function checkVersion(minimum, animVersionString) {\n var animVersion = animVersionString ? animVersionString.split('.') : [100, 100, 100];\n\n if (minimum[0] > animVersion[0]) {\n return true;\n }\n\n if (animVersion[0] > minimum[0]) {\n return false;\n }\n\n if (minimum[1] > animVersion[1]) {\n return true;\n }\n\n if (animVersion[1] > minimum[1]) {\n return false;\n }\n\n if (minimum[2] > animVersion[2]) {\n return true;\n }\n\n if (animVersion[2] > minimum[2]) {\n return false;\n }\n\n return null;\n }\n\n var checkText = function () {\n var minimumVersion = [4, 4, 14];\n\n function updateTextLayer(textLayer) {\n var documentData = textLayer.t.d;\n textLayer.t.d = {\n k: [{\n s: documentData,\n t: 0\n }]\n };\n }\n\n function iterateLayers(layers) {\n var i;\n var len = layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (layers[i].ty === 5) {\n updateTextLayer(layers[i]);\n }\n }\n }\n\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n\n if (animationData.assets) {\n var i;\n var len = animationData.assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n\n var checkChars = function () {\n var minimumVersion = [4, 7, 99];\n return function (animationData) {\n if (animationData.chars && !checkVersion(minimumVersion, animationData.v)) {\n var i;\n var len = animationData.chars.length;\n\n for (i = 0; i < len; i += 1) {\n var charData = animationData.chars[i];\n\n if (charData.data && charData.data.shapes) {\n completeShapes(charData.data.shapes);\n charData.data.ip = 0;\n charData.data.op = 99999;\n charData.data.st = 0;\n charData.data.sr = 1;\n charData.data.ks = {\n p: {\n k: [0, 0],\n a: 0\n },\n s: {\n k: [100, 100],\n a: 0\n },\n a: {\n k: [0, 0],\n a: 0\n },\n r: {\n k: 0,\n a: 0\n },\n o: {\n k: 100,\n a: 0\n }\n };\n\n if (!animationData.chars[i].t) {\n charData.data.shapes.push({\n ty: 'no'\n });\n charData.data.shapes[0].it.push({\n p: {\n k: [0, 0],\n a: 0\n },\n s: {\n k: [100, 100],\n a: 0\n },\n a: {\n k: [0, 0],\n a: 0\n },\n r: {\n k: 0,\n a: 0\n },\n o: {\n k: 100,\n a: 0\n },\n sk: {\n k: 0,\n a: 0\n },\n sa: {\n k: 0,\n a: 0\n },\n ty: 'tr'\n });\n }\n }\n }\n }\n };\n }();\n\n var checkPathProperties = function () {\n var minimumVersion = [5, 7, 15];\n\n function updateTextLayer(textLayer) {\n var pathData = textLayer.t.p;\n\n if (typeof pathData.a === 'number') {\n pathData.a = {\n a: 0,\n k: pathData.a\n };\n }\n\n if (typeof pathData.p === 'number') {\n pathData.p = {\n a: 0,\n k: pathData.p\n };\n }\n\n if (typeof pathData.r === 'number') {\n pathData.r = {\n a: 0,\n k: pathData.r\n };\n }\n }\n\n function iterateLayers(layers) {\n var i;\n var len = layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (layers[i].ty === 5) {\n updateTextLayer(layers[i]);\n }\n }\n }\n\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n\n if (animationData.assets) {\n var i;\n var len = animationData.assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n\n var checkColors = function () {\n var minimumVersion = [4, 1, 9];\n\n function iterateShapes(shapes) {\n var i;\n var len = shapes.length;\n var j;\n var jLen;\n\n for (i = 0; i < len; i += 1) {\n if (shapes[i].ty === 'gr') {\n iterateShapes(shapes[i].it);\n } else if (shapes[i].ty === 'fl' || shapes[i].ty === 'st') {\n if (shapes[i].c.k && shapes[i].c.k[0].i) {\n jLen = shapes[i].c.k.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (shapes[i].c.k[j].s) {\n shapes[i].c.k[j].s[0] /= 255;\n shapes[i].c.k[j].s[1] /= 255;\n shapes[i].c.k[j].s[2] /= 255;\n shapes[i].c.k[j].s[3] /= 255;\n }\n\n if (shapes[i].c.k[j].e) {\n shapes[i].c.k[j].e[0] /= 255;\n shapes[i].c.k[j].e[1] /= 255;\n shapes[i].c.k[j].e[2] /= 255;\n shapes[i].c.k[j].e[3] /= 255;\n }\n }\n } else {\n shapes[i].c.k[0] /= 255;\n shapes[i].c.k[1] /= 255;\n shapes[i].c.k[2] /= 255;\n shapes[i].c.k[3] /= 255;\n }\n }\n }\n }\n\n function iterateLayers(layers) {\n var i;\n var len = layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (layers[i].ty === 4) {\n iterateShapes(layers[i].shapes);\n }\n }\n }\n\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n\n if (animationData.assets) {\n var i;\n var len = animationData.assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n\n var checkShapes = function () {\n var minimumVersion = [4, 4, 18];\n\n function completeClosingShapes(arr) {\n var i;\n var len = arr.length;\n var j;\n var jLen;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (arr[i].ty === 'sh') {\n if (arr[i].ks.k.i) {\n arr[i].ks.k.c = arr[i].closed;\n } else {\n jLen = arr[i].ks.k.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (arr[i].ks.k[j].s) {\n arr[i].ks.k[j].s[0].c = arr[i].closed;\n }\n\n if (arr[i].ks.k[j].e) {\n arr[i].ks.k[j].e[0].c = arr[i].closed;\n }\n }\n }\n } else if (arr[i].ty === 'gr') {\n completeClosingShapes(arr[i].it);\n }\n }\n }\n\n function iterateLayers(layers) {\n var layerData;\n var i;\n var len = layers.length;\n var j;\n var jLen;\n var k;\n var kLen;\n\n for (i = 0; i < len; i += 1) {\n layerData = layers[i];\n\n if (layerData.hasMask) {\n var maskProps = layerData.masksProperties;\n jLen = maskProps.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (maskProps[j].pt.k.i) {\n maskProps[j].pt.k.c = maskProps[j].cl;\n } else {\n kLen = maskProps[j].pt.k.length;\n\n for (k = 0; k < kLen; k += 1) {\n if (maskProps[j].pt.k[k].s) {\n maskProps[j].pt.k[k].s[0].c = maskProps[j].cl;\n }\n\n if (maskProps[j].pt.k[k].e) {\n maskProps[j].pt.k[k].e[0].c = maskProps[j].cl;\n }\n }\n }\n }\n }\n\n if (layerData.ty === 4) {\n completeClosingShapes(layerData.shapes);\n }\n }\n }\n\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n\n if (animationData.assets) {\n var i;\n var len = animationData.assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n\n function completeData(animationData) {\n if (animationData.__complete) {\n return;\n }\n\n checkColors(animationData);\n checkText(animationData);\n checkChars(animationData);\n checkPathProperties(animationData);\n checkShapes(animationData);\n completeLayers(animationData.layers, animationData.assets);\n completeChars(animationData.chars, animationData.assets);\n animationData.__complete = true;\n }\n\n function completeText(data) {\n if (data.t.a.length === 0 && !('m' in data.t.p)) {// data.singleShape = true;\n }\n }\n\n var moduleOb = {};\n moduleOb.completeData = completeData;\n moduleOb.checkColors = checkColors;\n moduleOb.checkChars = checkChars;\n moduleOb.checkPathProperties = checkPathProperties;\n moduleOb.checkShapes = checkShapes;\n moduleOb.completeLayers = completeLayers;\n return moduleOb;\n }\n\n if (!_workerSelf.dataManager) {\n _workerSelf.dataManager = dataFunctionManager();\n }\n\n if (!_workerSelf.assetLoader) {\n _workerSelf.assetLoader = function () {\n function formatResponse(xhr) {\n // using typeof doubles the time of execution of this method,\n // so if available, it's better to use the header to validate the type\n var contentTypeHeader = xhr.getResponseHeader('content-type');\n\n if (contentTypeHeader && xhr.responseType === 'json' && contentTypeHeader.indexOf('json') !== -1) {\n return xhr.response;\n }\n\n if (xhr.response && _typeof$5(xhr.response) === 'object') {\n return xhr.response;\n }\n\n if (xhr.response && typeof xhr.response === 'string') {\n return JSON.parse(xhr.response);\n }\n\n if (xhr.responseText) {\n return JSON.parse(xhr.responseText);\n }\n\n return null;\n }\n\n function loadAsset(path, fullPath, callback, errorCallback) {\n var response;\n var xhr = new XMLHttpRequest(); // set responseType after calling open or IE will break.\n\n try {\n // This crashes on Android WebView prior to KitKat\n xhr.responseType = 'json';\n } catch (err) {} // eslint-disable-line no-empty\n\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n if (xhr.status === 200) {\n response = formatResponse(xhr);\n callback(response);\n } else {\n try {\n response = formatResponse(xhr);\n callback(response);\n } catch (err) {\n if (errorCallback) {\n errorCallback(err);\n }\n }\n }\n }\n };\n\n try {\n xhr.open('GET', path, true);\n } catch (error) {\n xhr.open('GET', fullPath + '/' + path, true);\n }\n\n xhr.send();\n }\n\n return {\n load: loadAsset\n };\n }();\n }\n\n if (e.data.type === 'loadAnimation') {\n _workerSelf.assetLoader.load(e.data.path, e.data.fullPath, function (data) {\n _workerSelf.dataManager.completeData(data);\n\n _workerSelf.postMessage({\n id: e.data.id,\n payload: data,\n status: 'success'\n });\n }, function () {\n _workerSelf.postMessage({\n id: e.data.id,\n status: 'error'\n });\n });\n } else if (e.data.type === 'complete') {\n var animation = e.data.animation;\n\n _workerSelf.dataManager.completeData(animation);\n\n _workerSelf.postMessage({\n id: e.data.id,\n payload: animation,\n status: 'success'\n });\n } else if (e.data.type === 'loadData') {\n _workerSelf.assetLoader.load(e.data.path, e.data.fullPath, function (data) {\n _workerSelf.postMessage({\n id: e.data.id,\n payload: data,\n status: 'success'\n });\n }, function () {\n _workerSelf.postMessage({\n id: e.data.id,\n status: 'error'\n });\n });\n }\n });\n\n workerInstance.onmessage = function (event) {\n var data = event.data;\n var id = data.id;\n var process = processes[id];\n processes[id] = null;\n\n if (data.status === 'success') {\n process.onComplete(data.payload);\n } else if (process.onError) {\n process.onError();\n }\n };\n }\n }\n\n function createProcess(onComplete, onError) {\n _counterId += 1;\n var id = 'processId_' + _counterId;\n processes[id] = {\n onComplete: onComplete,\n onError: onError\n };\n return id;\n }\n\n function loadAnimation(path, onComplete, onError) {\n setupWorker();\n var processId = createProcess(onComplete, onError);\n workerInstance.postMessage({\n type: 'loadAnimation',\n path: path,\n fullPath: window.location.origin + window.location.pathname,\n id: processId\n });\n }\n\n function loadData(path, onComplete, onError) {\n setupWorker();\n var processId = createProcess(onComplete, onError);\n workerInstance.postMessage({\n type: 'loadData',\n path: path,\n fullPath: window.location.origin + window.location.pathname,\n id: processId\n });\n }\n\n function completeAnimation(anim, onComplete, onError) {\n setupWorker();\n var processId = createProcess(onComplete, onError);\n workerInstance.postMessage({\n type: 'complete',\n animation: anim,\n id: processId\n });\n }\n\n return {\n loadAnimation: loadAnimation,\n loadData: loadData,\n completeAnimation: completeAnimation\n };\n }();\n\n var ImagePreloader = function () {\n var proxyImage = function () {\n var canvas = createTag('canvas');\n canvas.width = 1;\n canvas.height = 1;\n var ctx = canvas.getContext('2d');\n ctx.fillStyle = 'rgba(0,0,0,0)';\n ctx.fillRect(0, 0, 1, 1);\n return canvas;\n }();\n\n function imageLoaded() {\n this.loadedAssets += 1;\n\n if (this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages) {\n if (this.imagesLoadedCb) {\n this.imagesLoadedCb(null);\n }\n }\n }\n\n function footageLoaded() {\n this.loadedFootagesCount += 1;\n\n if (this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages) {\n if (this.imagesLoadedCb) {\n this.imagesLoadedCb(null);\n }\n }\n }\n\n function getAssetsPath(assetData, assetsPath, originalPath) {\n var path = '';\n\n if (assetData.e) {\n path = assetData.p;\n } else if (assetsPath) {\n var imagePath = assetData.p;\n\n if (imagePath.indexOf('images/') !== -1) {\n imagePath = imagePath.split('/')[1];\n }\n\n path = assetsPath + imagePath;\n } else {\n path = originalPath;\n path += assetData.u ? assetData.u : '';\n path += assetData.p;\n }\n\n return path;\n }\n\n function testImageLoaded(img) {\n var _count = 0;\n var intervalId = setInterval(function () {\n var box = img.getBBox();\n\n if (box.width || _count > 500) {\n this._imageLoaded();\n\n clearInterval(intervalId);\n }\n\n _count += 1;\n }.bind(this), 50);\n }\n\n function createImageData(assetData) {\n var path = getAssetsPath(assetData, this.assetsPath, this.path);\n var img = createNS('image');\n\n if (isSafari) {\n this.testImageLoaded(img);\n } else {\n img.addEventListener('load', this._imageLoaded, false);\n }\n\n img.addEventListener('error', function () {\n ob.img = proxyImage;\n\n this._imageLoaded();\n }.bind(this), false);\n img.setAttributeNS('http://www.w3.org/1999/xlink', 'href', path);\n\n if (this._elementHelper.append) {\n this._elementHelper.append(img);\n } else {\n this._elementHelper.appendChild(img);\n }\n\n var ob = {\n img: img,\n assetData: assetData\n };\n return ob;\n }\n\n function createImgData(assetData) {\n var path = getAssetsPath(assetData, this.assetsPath, this.path);\n var img = createTag('img');\n img.crossOrigin = 'anonymous';\n img.addEventListener('load', this._imageLoaded, false);\n img.addEventListener('error', function () {\n ob.img = proxyImage;\n\n this._imageLoaded();\n }.bind(this), false);\n img.src = path;\n var ob = {\n img: img,\n assetData: assetData\n };\n return ob;\n }\n\n function createFootageData(data) {\n var ob = {\n assetData: data\n };\n var path = getAssetsPath(data, this.assetsPath, this.path);\n dataManager.loadData(path, function (footageData) {\n ob.img = footageData;\n\n this._footageLoaded();\n }.bind(this), function () {\n ob.img = {};\n\n this._footageLoaded();\n }.bind(this));\n return ob;\n }\n\n function loadAssets(assets, cb) {\n this.imagesLoadedCb = cb;\n var i;\n var len = assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (!assets[i].layers) {\n if (!assets[i].t || assets[i].t === 'seq') {\n this.totalImages += 1;\n this.images.push(this._createImageData(assets[i]));\n } else if (assets[i].t === 3) {\n this.totalFootages += 1;\n this.images.push(this.createFootageData(assets[i]));\n }\n }\n }\n }\n\n function setPath(path) {\n this.path = path || '';\n }\n\n function setAssetsPath(path) {\n this.assetsPath = path || '';\n }\n\n function getAsset(assetData) {\n var i = 0;\n var len = this.images.length;\n\n while (i < len) {\n if (this.images[i].assetData === assetData) {\n return this.images[i].img;\n }\n\n i += 1;\n }\n\n return null;\n }\n\n function destroy() {\n this.imagesLoadedCb = null;\n this.images.length = 0;\n }\n\n function loadedImages() {\n return this.totalImages === this.loadedAssets;\n }\n\n function loadedFootages() {\n return this.totalFootages === this.loadedFootagesCount;\n }\n\n function setCacheType(type, elementHelper) {\n if (type === 'svg') {\n this._elementHelper = elementHelper;\n this._createImageData = this.createImageData.bind(this);\n } else {\n this._createImageData = this.createImgData.bind(this);\n }\n }\n\n function ImagePreloaderFactory() {\n this._imageLoaded = imageLoaded.bind(this);\n this._footageLoaded = footageLoaded.bind(this);\n this.testImageLoaded = testImageLoaded.bind(this);\n this.createFootageData = createFootageData.bind(this);\n this.assetsPath = '';\n this.path = '';\n this.totalImages = 0;\n this.totalFootages = 0;\n this.loadedAssets = 0;\n this.loadedFootagesCount = 0;\n this.imagesLoadedCb = null;\n this.images = [];\n }\n\n ImagePreloaderFactory.prototype = {\n loadAssets: loadAssets,\n setAssetsPath: setAssetsPath,\n setPath: setPath,\n loadedImages: loadedImages,\n loadedFootages: loadedFootages,\n destroy: destroy,\n getAsset: getAsset,\n createImgData: createImgData,\n createImageData: createImageData,\n imageLoaded: imageLoaded,\n footageLoaded: footageLoaded,\n setCacheType: setCacheType\n };\n return ImagePreloaderFactory;\n }();\n\n function BaseEvent() {}\n\n BaseEvent.prototype = {\n triggerEvent: function triggerEvent(eventName, args) {\n if (this._cbs[eventName]) {\n var callbacks = this._cbs[eventName];\n\n for (var i = 0; i < callbacks.length; i += 1) {\n callbacks[i](args);\n }\n }\n },\n addEventListener: function addEventListener(eventName, callback) {\n if (!this._cbs[eventName]) {\n this._cbs[eventName] = [];\n }\n\n this._cbs[eventName].push(callback);\n\n return function () {\n this.removeEventListener(eventName, callback);\n }.bind(this);\n },\n removeEventListener: function removeEventListener(eventName, callback) {\n if (!callback) {\n this._cbs[eventName] = null;\n } else if (this._cbs[eventName]) {\n var i = 0;\n var len = this._cbs[eventName].length;\n\n while (i < len) {\n if (this._cbs[eventName][i] === callback) {\n this._cbs[eventName].splice(i, 1);\n\n i -= 1;\n len -= 1;\n }\n\n i += 1;\n }\n\n if (!this._cbs[eventName].length) {\n this._cbs[eventName] = null;\n }\n }\n }\n };\n\n var markerParser = function () {\n function parsePayloadLines(payload) {\n var lines = payload.split('\\r\\n');\n var keys = {};\n var line;\n var keysCount = 0;\n\n for (var i = 0; i < lines.length; i += 1) {\n line = lines[i].split(':');\n\n if (line.length === 2) {\n keys[line[0]] = line[1].trim();\n keysCount += 1;\n }\n }\n\n if (keysCount === 0) {\n throw new Error();\n }\n\n return keys;\n }\n\n return function (_markers) {\n var markers = [];\n\n for (var i = 0; i < _markers.length; i += 1) {\n var _marker = _markers[i];\n var markerData = {\n time: _marker.tm,\n duration: _marker.dr\n };\n\n try {\n markerData.payload = JSON.parse(_markers[i].cm);\n } catch (_) {\n try {\n markerData.payload = parsePayloadLines(_markers[i].cm);\n } catch (__) {\n markerData.payload = {\n name: _markers[i]\n };\n }\n }\n\n markers.push(markerData);\n }\n\n return markers;\n };\n }();\n\n var ProjectInterface = function () {\n function registerComposition(comp) {\n this.compositions.push(comp);\n }\n\n return function () {\n function _thisProjectFunction(name) {\n var i = 0;\n var len = this.compositions.length;\n\n while (i < len) {\n if (this.compositions[i].data && this.compositions[i].data.nm === name) {\n if (this.compositions[i].prepareFrame && this.compositions[i].data.xt) {\n this.compositions[i].prepareFrame(this.currentFrame);\n }\n\n return this.compositions[i].compInterface;\n }\n\n i += 1;\n }\n\n return null;\n }\n\n _thisProjectFunction.compositions = [];\n _thisProjectFunction.currentFrame = 0;\n _thisProjectFunction.registerComposition = registerComposition;\n return _thisProjectFunction;\n };\n }();\n\n var renderers = {};\n\n var registerRenderer = function registerRenderer(key, value) {\n renderers[key] = value;\n };\n\n function getRenderer(key) {\n return renderers[key];\n }\n\n function _typeof$4(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$4 = function _typeof(obj) { return typeof obj; }; } else { _typeof$4 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$4(obj); }\n\n var AnimationItem = function AnimationItem() {\n this._cbs = [];\n this.name = '';\n this.path = '';\n this.isLoaded = false;\n this.currentFrame = 0;\n this.currentRawFrame = 0;\n this.firstFrame = 0;\n this.totalFrames = 0;\n this.frameRate = 0;\n this.frameMult = 0;\n this.playSpeed = 1;\n this.playDirection = 1;\n this.playCount = 0;\n this.animationData = {};\n this.assets = [];\n this.isPaused = true;\n this.autoplay = false;\n this.loop = true;\n this.renderer = null;\n this.animationID = createElementID();\n this.assetsPath = '';\n this.timeCompleted = 0;\n this.segmentPos = 0;\n this.isSubframeEnabled = getSubframeEnabled();\n this.segments = [];\n this._idle = true;\n this._completedLoop = false;\n this.projectInterface = ProjectInterface();\n this.imagePreloader = new ImagePreloader();\n this.audioController = audioControllerFactory();\n this.markers = [];\n this.configAnimation = this.configAnimation.bind(this);\n this.onSetupError = this.onSetupError.bind(this);\n this.onSegmentComplete = this.onSegmentComplete.bind(this);\n };\n\n extendPrototype([BaseEvent], AnimationItem);\n\n AnimationItem.prototype.setParams = function (params) {\n if (params.wrapper || params.container) {\n this.wrapper = params.wrapper || params.container;\n }\n\n var animType = 'svg';\n\n if (params.animType) {\n animType = params.animType;\n } else if (params.renderer) {\n animType = params.renderer;\n }\n\n var RendererClass = getRenderer(animType);\n this.renderer = new RendererClass(this, params.rendererSettings);\n this.imagePreloader.setCacheType(animType, this.renderer.globalData.defs);\n this.renderer.setProjectInterface(this.projectInterface);\n this.animType = animType;\n\n if (params.loop === '' || params.loop === null || params.loop === undefined || params.loop === true) {\n this.loop = true;\n } else if (params.loop === false) {\n this.loop = false;\n } else {\n this.loop = parseInt(params.loop, 10);\n }\n\n this.autoplay = 'autoplay' in params ? params.autoplay : true;\n this.name = params.name ? params.name : '';\n this.autoloadSegments = Object.prototype.hasOwnProperty.call(params, 'autoloadSegments') ? params.autoloadSegments : true;\n this.assetsPath = params.assetsPath;\n this.initialSegment = params.initialSegment;\n\n if (params.audioFactory) {\n this.audioController.setAudioFactory(params.audioFactory);\n }\n\n if (params.animationData) {\n this.setupAnimation(params.animationData);\n } else if (params.path) {\n if (params.path.lastIndexOf('\\\\') !== -1) {\n this.path = params.path.substr(0, params.path.lastIndexOf('\\\\') + 1);\n } else {\n this.path = params.path.substr(0, params.path.lastIndexOf('/') + 1);\n }\n\n this.fileName = params.path.substr(params.path.lastIndexOf('/') + 1);\n this.fileName = this.fileName.substr(0, this.fileName.lastIndexOf('.json'));\n dataManager.loadAnimation(params.path, this.configAnimation, this.onSetupError);\n }\n };\n\n AnimationItem.prototype.onSetupError = function () {\n this.trigger('data_failed');\n };\n\n AnimationItem.prototype.setupAnimation = function (data) {\n dataManager.completeAnimation(data, this.configAnimation);\n };\n\n AnimationItem.prototype.setData = function (wrapper, animationData) {\n if (animationData) {\n if (_typeof$4(animationData) !== 'object') {\n animationData = JSON.parse(animationData);\n }\n }\n\n var params = {\n wrapper: wrapper,\n animationData: animationData\n };\n var wrapperAttributes = wrapper.attributes;\n params.path = wrapperAttributes.getNamedItem('data-animation-path') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-animation-path').value : wrapperAttributes.getNamedItem('data-bm-path') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-path').value : wrapperAttributes.getNamedItem('bm-path') ? wrapperAttributes.getNamedItem('bm-path').value : '';\n params.animType = wrapperAttributes.getNamedItem('data-anim-type') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-anim-type').value : wrapperAttributes.getNamedItem('data-bm-type') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-type').value : wrapperAttributes.getNamedItem('bm-type') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('bm-type').value : wrapperAttributes.getNamedItem('data-bm-renderer') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-renderer').value : wrapperAttributes.getNamedItem('bm-renderer') ? wrapperAttributes.getNamedItem('bm-renderer').value : 'canvas';\n var loop = wrapperAttributes.getNamedItem('data-anim-loop') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-anim-loop').value : wrapperAttributes.getNamedItem('data-bm-loop') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-loop').value : wrapperAttributes.getNamedItem('bm-loop') ? wrapperAttributes.getNamedItem('bm-loop').value : '';\n\n if (loop === 'false') {\n params.loop = false;\n } else if (loop === 'true') {\n params.loop = true;\n } else if (loop !== '') {\n params.loop = parseInt(loop, 10);\n }\n\n var autoplay = wrapperAttributes.getNamedItem('data-anim-autoplay') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-anim-autoplay').value : wrapperAttributes.getNamedItem('data-bm-autoplay') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-autoplay').value : wrapperAttributes.getNamedItem('bm-autoplay') ? wrapperAttributes.getNamedItem('bm-autoplay').value : true;\n params.autoplay = autoplay !== 'false';\n params.name = wrapperAttributes.getNamedItem('data-name') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-name').value : wrapperAttributes.getNamedItem('data-bm-name') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-name').value : wrapperAttributes.getNamedItem('bm-name') ? wrapperAttributes.getNamedItem('bm-name').value : '';\n var prerender = wrapperAttributes.getNamedItem('data-anim-prerender') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-anim-prerender').value : wrapperAttributes.getNamedItem('data-bm-prerender') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-prerender').value : wrapperAttributes.getNamedItem('bm-prerender') ? wrapperAttributes.getNamedItem('bm-prerender').value : '';\n\n if (prerender === 'false') {\n params.prerender = false;\n }\n\n this.setParams(params);\n };\n\n AnimationItem.prototype.includeLayers = function (data) {\n if (data.op > this.animationData.op) {\n this.animationData.op = data.op;\n this.totalFrames = Math.floor(data.op - this.animationData.ip);\n }\n\n var layers = this.animationData.layers;\n var i;\n var len = layers.length;\n var newLayers = data.layers;\n var j;\n var jLen = newLayers.length;\n\n for (j = 0; j < jLen; j += 1) {\n i = 0;\n\n while (i < len) {\n if (layers[i].id === newLayers[j].id) {\n layers[i] = newLayers[j];\n break;\n }\n\n i += 1;\n }\n }\n\n if (data.chars || data.fonts) {\n this.renderer.globalData.fontManager.addChars(data.chars);\n this.renderer.globalData.fontManager.addFonts(data.fonts, this.renderer.globalData.defs);\n }\n\n if (data.assets) {\n len = data.assets.length;\n\n for (i = 0; i < len; i += 1) {\n this.animationData.assets.push(data.assets[i]);\n }\n }\n\n this.animationData.__complete = false;\n dataManager.completeAnimation(this.animationData, this.onSegmentComplete);\n };\n\n AnimationItem.prototype.onSegmentComplete = function (data) {\n this.animationData = data;\n var expressionsPlugin = getExpressionsPlugin();\n\n if (expressionsPlugin) {\n expressionsPlugin.initExpressions(this);\n }\n\n this.loadNextSegment();\n };\n\n AnimationItem.prototype.loadNextSegment = function () {\n var segments = this.animationData.segments;\n\n if (!segments || segments.length === 0 || !this.autoloadSegments) {\n this.trigger('data_ready');\n this.timeCompleted = this.totalFrames;\n return;\n }\n\n var segment = segments.shift();\n this.timeCompleted = segment.time * this.frameRate;\n var segmentPath = this.path + this.fileName + '_' + this.segmentPos + '.json';\n this.segmentPos += 1;\n dataManager.loadData(segmentPath, this.includeLayers.bind(this), function () {\n this.trigger('data_failed');\n }.bind(this));\n };\n\n AnimationItem.prototype.loadSegments = function () {\n var segments = this.animationData.segments;\n\n if (!segments) {\n this.timeCompleted = this.totalFrames;\n }\n\n this.loadNextSegment();\n };\n\n AnimationItem.prototype.imagesLoaded = function () {\n this.trigger('loaded_images');\n this.checkLoaded();\n };\n\n AnimationItem.prototype.preloadImages = function () {\n this.imagePreloader.setAssetsPath(this.assetsPath);\n this.imagePreloader.setPath(this.path);\n this.imagePreloader.loadAssets(this.animationData.assets, this.imagesLoaded.bind(this));\n };\n\n AnimationItem.prototype.configAnimation = function (animData) {\n if (!this.renderer) {\n return;\n }\n\n try {\n this.animationData = animData;\n\n if (this.initialSegment) {\n this.totalFrames = Math.floor(this.initialSegment[1] - this.initialSegment[0]);\n this.firstFrame = Math.round(this.initialSegment[0]);\n } else {\n this.totalFrames = Math.floor(this.animationData.op - this.animationData.ip);\n this.firstFrame = Math.round(this.animationData.ip);\n }\n\n this.renderer.configAnimation(animData);\n\n if (!animData.assets) {\n animData.assets = [];\n }\n\n this.assets = this.animationData.assets;\n this.frameRate = this.animationData.fr;\n this.frameMult = this.animationData.fr / 1000;\n this.renderer.searchExtraCompositions(animData.assets);\n this.markers = markerParser(animData.markers || []);\n this.trigger('config_ready');\n this.preloadImages();\n this.loadSegments();\n this.updaFrameModifier();\n this.waitForFontsLoaded();\n\n if (this.isPaused) {\n this.audioController.pause();\n }\n } catch (error) {\n this.triggerConfigError(error);\n }\n };\n\n AnimationItem.prototype.waitForFontsLoaded = function () {\n if (!this.renderer) {\n return;\n }\n\n if (this.renderer.globalData.fontManager.isLoaded) {\n this.checkLoaded();\n } else {\n setTimeout(this.waitForFontsLoaded.bind(this), 20);\n }\n };\n\n AnimationItem.prototype.checkLoaded = function () {\n if (!this.isLoaded && this.renderer.globalData.fontManager.isLoaded && (this.imagePreloader.loadedImages() || this.renderer.rendererType !== 'canvas') && this.imagePreloader.loadedFootages()) {\n this.isLoaded = true;\n var expressionsPlugin = getExpressionsPlugin();\n\n if (expressionsPlugin) {\n expressionsPlugin.initExpressions(this);\n }\n\n this.renderer.initItems();\n setTimeout(function () {\n this.trigger('DOMLoaded');\n }.bind(this), 0);\n this.gotoFrame();\n\n if (this.autoplay) {\n this.play();\n }\n }\n };\n\n AnimationItem.prototype.resize = function () {\n this.renderer.updateContainerSize();\n };\n\n AnimationItem.prototype.setSubframe = function (flag) {\n this.isSubframeEnabled = !!flag;\n };\n\n AnimationItem.prototype.gotoFrame = function () {\n this.currentFrame = this.isSubframeEnabled ? this.currentRawFrame : ~~this.currentRawFrame; // eslint-disable-line no-bitwise\n\n if (this.timeCompleted !== this.totalFrames && this.currentFrame > this.timeCompleted) {\n this.currentFrame = this.timeCompleted;\n }\n\n this.trigger('enterFrame');\n this.renderFrame();\n this.trigger('drawnFrame');\n };\n\n AnimationItem.prototype.renderFrame = function () {\n if (this.isLoaded === false || !this.renderer) {\n return;\n }\n\n try {\n this.renderer.renderFrame(this.currentFrame + this.firstFrame);\n } catch (error) {\n this.triggerRenderFrameError(error);\n }\n };\n\n AnimationItem.prototype.play = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n if (this.isPaused === true) {\n this.isPaused = false;\n this.audioController.resume();\n\n if (this._idle) {\n this._idle = false;\n this.trigger('_active');\n }\n }\n };\n\n AnimationItem.prototype.pause = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n if (this.isPaused === false) {\n this.isPaused = true;\n this._idle = true;\n this.trigger('_idle');\n this.audioController.pause();\n }\n };\n\n AnimationItem.prototype.togglePause = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n if (this.isPaused === true) {\n this.play();\n } else {\n this.pause();\n }\n };\n\n AnimationItem.prototype.stop = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.pause();\n this.playCount = 0;\n this._completedLoop = false;\n this.setCurrentRawFrameValue(0);\n };\n\n AnimationItem.prototype.getMarkerData = function (markerName) {\n var marker;\n\n for (var i = 0; i < this.markers.length; i += 1) {\n marker = this.markers[i];\n\n if (marker.payload && marker.payload.name.cm === markerName) {\n return marker;\n }\n }\n\n return null;\n };\n\n AnimationItem.prototype.goToAndStop = function (value, isFrame, name) {\n if (name && this.name !== name) {\n return;\n }\n\n var numValue = Number(value);\n\n if (isNaN(numValue)) {\n var marker = this.getMarkerData(value);\n\n if (marker) {\n this.goToAndStop(marker.time, true);\n }\n } else if (isFrame) {\n this.setCurrentRawFrameValue(value);\n } else {\n this.setCurrentRawFrameValue(value * this.frameModifier);\n }\n\n this.pause();\n };\n\n AnimationItem.prototype.goToAndPlay = function (value, isFrame, name) {\n if (name && this.name !== name) {\n return;\n }\n\n var numValue = Number(value);\n\n if (isNaN(numValue)) {\n var marker = this.getMarkerData(value);\n\n if (marker) {\n if (!marker.duration) {\n this.goToAndStop(marker.time, true);\n } else {\n this.playSegments([marker.time, marker.time + marker.duration], true);\n }\n }\n } else {\n this.goToAndStop(numValue, isFrame, name);\n }\n\n this.play();\n };\n\n AnimationItem.prototype.advanceTime = function (value) {\n if (this.isPaused === true || this.isLoaded === false) {\n return;\n }\n\n var nextValue = this.currentRawFrame + value * this.frameModifier;\n var _isComplete = false; // Checking if nextValue > totalFrames - 1 for addressing non looping and looping animations.\n // If animation won't loop, it should stop at totalFrames - 1. If it will loop it should complete the last frame and then loop.\n\n if (nextValue >= this.totalFrames - 1 && this.frameModifier > 0) {\n if (!this.loop || this.playCount === this.loop) {\n if (!this.checkSegments(nextValue > this.totalFrames ? nextValue % this.totalFrames : 0)) {\n _isComplete = true;\n nextValue = this.totalFrames - 1;\n }\n } else if (nextValue >= this.totalFrames) {\n this.playCount += 1;\n\n if (!this.checkSegments(nextValue % this.totalFrames)) {\n this.setCurrentRawFrameValue(nextValue % this.totalFrames);\n this._completedLoop = true;\n this.trigger('loopComplete');\n }\n } else {\n this.setCurrentRawFrameValue(nextValue);\n }\n } else if (nextValue < 0) {\n if (!this.checkSegments(nextValue % this.totalFrames)) {\n if (this.loop && !(this.playCount-- <= 0 && this.loop !== true)) {\n // eslint-disable-line no-plusplus\n this.setCurrentRawFrameValue(this.totalFrames + nextValue % this.totalFrames);\n\n if (!this._completedLoop) {\n this._completedLoop = true;\n } else {\n this.trigger('loopComplete');\n }\n } else {\n _isComplete = true;\n nextValue = 0;\n }\n }\n } else {\n this.setCurrentRawFrameValue(nextValue);\n }\n\n if (_isComplete) {\n this.setCurrentRawFrameValue(nextValue);\n this.pause();\n this.trigger('complete');\n }\n };\n\n AnimationItem.prototype.adjustSegment = function (arr, offset) {\n this.playCount = 0;\n\n if (arr[1] < arr[0]) {\n if (this.frameModifier > 0) {\n if (this.playSpeed < 0) {\n this.setSpeed(-this.playSpeed);\n } else {\n this.setDirection(-1);\n }\n }\n\n this.totalFrames = arr[0] - arr[1];\n this.timeCompleted = this.totalFrames;\n this.firstFrame = arr[1];\n this.setCurrentRawFrameValue(this.totalFrames - 0.001 - offset);\n } else if (arr[1] > arr[0]) {\n if (this.frameModifier < 0) {\n if (this.playSpeed < 0) {\n this.setSpeed(-this.playSpeed);\n } else {\n this.setDirection(1);\n }\n }\n\n this.totalFrames = arr[1] - arr[0];\n this.timeCompleted = this.totalFrames;\n this.firstFrame = arr[0];\n this.setCurrentRawFrameValue(0.001 + offset);\n }\n\n this.trigger('segmentStart');\n };\n\n AnimationItem.prototype.setSegment = function (init, end) {\n var pendingFrame = -1;\n\n if (this.isPaused) {\n if (this.currentRawFrame + this.firstFrame < init) {\n pendingFrame = init;\n } else if (this.currentRawFrame + this.firstFrame > end) {\n pendingFrame = end - init;\n }\n }\n\n this.firstFrame = init;\n this.totalFrames = end - init;\n this.timeCompleted = this.totalFrames;\n\n if (pendingFrame !== -1) {\n this.goToAndStop(pendingFrame, true);\n }\n };\n\n AnimationItem.prototype.playSegments = function (arr, forceFlag) {\n if (forceFlag) {\n this.segments.length = 0;\n }\n\n if (_typeof$4(arr[0]) === 'object') {\n var i;\n var len = arr.length;\n\n for (i = 0; i < len; i += 1) {\n this.segments.push(arr[i]);\n }\n } else {\n this.segments.push(arr);\n }\n\n if (this.segments.length && forceFlag) {\n this.adjustSegment(this.segments.shift(), 0);\n }\n\n if (this.isPaused) {\n this.play();\n }\n };\n\n AnimationItem.prototype.resetSegments = function (forceFlag) {\n this.segments.length = 0;\n this.segments.push([this.animationData.ip, this.animationData.op]);\n\n if (forceFlag) {\n this.checkSegments(0);\n }\n };\n\n AnimationItem.prototype.checkSegments = function (offset) {\n if (this.segments.length) {\n this.adjustSegment(this.segments.shift(), offset);\n return true;\n }\n\n return false;\n };\n\n AnimationItem.prototype.destroy = function (name) {\n if (name && this.name !== name || !this.renderer) {\n return;\n }\n\n this.renderer.destroy();\n this.imagePreloader.destroy();\n this.trigger('destroy');\n this._cbs = null;\n this.onEnterFrame = null;\n this.onLoopComplete = null;\n this.onComplete = null;\n this.onSegmentStart = null;\n this.onDestroy = null;\n this.renderer = null;\n this.renderer = null;\n this.imagePreloader = null;\n this.projectInterface = null;\n };\n\n AnimationItem.prototype.setCurrentRawFrameValue = function (value) {\n this.currentRawFrame = value;\n this.gotoFrame();\n };\n\n AnimationItem.prototype.setSpeed = function (val) {\n this.playSpeed = val;\n this.updaFrameModifier();\n };\n\n AnimationItem.prototype.setDirection = function (val) {\n this.playDirection = val < 0 ? -1 : 1;\n this.updaFrameModifier();\n };\n\n AnimationItem.prototype.setVolume = function (val, name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.audioController.setVolume(val);\n };\n\n AnimationItem.prototype.getVolume = function () {\n return this.audioController.getVolume();\n };\n\n AnimationItem.prototype.mute = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.audioController.mute();\n };\n\n AnimationItem.prototype.unmute = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.audioController.unmute();\n };\n\n AnimationItem.prototype.updaFrameModifier = function () {\n this.frameModifier = this.frameMult * this.playSpeed * this.playDirection;\n this.audioController.setRate(this.playSpeed * this.playDirection);\n };\n\n AnimationItem.prototype.getPath = function () {\n return this.path;\n };\n\n AnimationItem.prototype.getAssetsPath = function (assetData) {\n var path = '';\n\n if (assetData.e) {\n path = assetData.p;\n } else if (this.assetsPath) {\n var imagePath = assetData.p;\n\n if (imagePath.indexOf('images/') !== -1) {\n imagePath = imagePath.split('/')[1];\n }\n\n path = this.assetsPath + imagePath;\n } else {\n path = this.path;\n path += assetData.u ? assetData.u : '';\n path += assetData.p;\n }\n\n return path;\n };\n\n AnimationItem.prototype.getAssetData = function (id) {\n var i = 0;\n var len = this.assets.length;\n\n while (i < len) {\n if (id === this.assets[i].id) {\n return this.assets[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n AnimationItem.prototype.hide = function () {\n this.renderer.hide();\n };\n\n AnimationItem.prototype.show = function () {\n this.renderer.show();\n };\n\n AnimationItem.prototype.getDuration = function (isFrame) {\n return isFrame ? this.totalFrames : this.totalFrames / this.frameRate;\n };\n\n AnimationItem.prototype.trigger = function (name) {\n if (this._cbs && this._cbs[name]) {\n switch (name) {\n case 'enterFrame':\n case 'drawnFrame':\n this.triggerEvent(name, new BMEnterFrameEvent(name, this.currentFrame, this.totalFrames, this.frameModifier));\n break;\n\n case 'loopComplete':\n this.triggerEvent(name, new BMCompleteLoopEvent(name, this.loop, this.playCount, this.frameMult));\n break;\n\n case 'complete':\n this.triggerEvent(name, new BMCompleteEvent(name, this.frameMult));\n break;\n\n case 'segmentStart':\n this.triggerEvent(name, new BMSegmentStartEvent(name, this.firstFrame, this.totalFrames));\n break;\n\n case 'destroy':\n this.triggerEvent(name, new BMDestroyEvent(name, this));\n break;\n\n default:\n this.triggerEvent(name);\n }\n }\n\n if (name === 'enterFrame' && this.onEnterFrame) {\n this.onEnterFrame.call(this, new BMEnterFrameEvent(name, this.currentFrame, this.totalFrames, this.frameMult));\n }\n\n if (name === 'loopComplete' && this.onLoopComplete) {\n this.onLoopComplete.call(this, new BMCompleteLoopEvent(name, this.loop, this.playCount, this.frameMult));\n }\n\n if (name === 'complete' && this.onComplete) {\n this.onComplete.call(this, new BMCompleteEvent(name, this.frameMult));\n }\n\n if (name === 'segmentStart' && this.onSegmentStart) {\n this.onSegmentStart.call(this, new BMSegmentStartEvent(name, this.firstFrame, this.totalFrames));\n }\n\n if (name === 'destroy' && this.onDestroy) {\n this.onDestroy.call(this, new BMDestroyEvent(name, this));\n }\n };\n\n AnimationItem.prototype.triggerRenderFrameError = function (nativeError) {\n var error = new BMRenderFrameErrorEvent(nativeError, this.currentFrame);\n this.triggerEvent('error', error);\n\n if (this.onError) {\n this.onError.call(this, error);\n }\n };\n\n AnimationItem.prototype.triggerConfigError = function (nativeError) {\n var error = new BMConfigErrorEvent(nativeError, this.currentFrame);\n this.triggerEvent('error', error);\n\n if (this.onError) {\n this.onError.call(this, error);\n }\n };\n\n var animationManager = function () {\n var moduleOb = {};\n var registeredAnimations = [];\n var initTime = 0;\n var len = 0;\n var playingAnimationsNum = 0;\n var _stopped = true;\n var _isFrozen = false;\n\n function removeElement(ev) {\n var i = 0;\n var animItem = ev.target;\n\n while (i < len) {\n if (registeredAnimations[i].animation === animItem) {\n registeredAnimations.splice(i, 1);\n i -= 1;\n len -= 1;\n\n if (!animItem.isPaused) {\n subtractPlayingCount();\n }\n }\n\n i += 1;\n }\n }\n\n function registerAnimation(element, animationData) {\n if (!element) {\n return null;\n }\n\n var i = 0;\n\n while (i < len) {\n if (registeredAnimations[i].elem === element && registeredAnimations[i].elem !== null) {\n return registeredAnimations[i].animation;\n }\n\n i += 1;\n }\n\n var animItem = new AnimationItem();\n setupAnimation(animItem, element);\n animItem.setData(element, animationData);\n return animItem;\n }\n\n function getRegisteredAnimations() {\n var i;\n var lenAnims = registeredAnimations.length;\n var animations = [];\n\n for (i = 0; i < lenAnims; i += 1) {\n animations.push(registeredAnimations[i].animation);\n }\n\n return animations;\n }\n\n function addPlayingCount() {\n playingAnimationsNum += 1;\n activate();\n }\n\n function subtractPlayingCount() {\n playingAnimationsNum -= 1;\n }\n\n function setupAnimation(animItem, element) {\n animItem.addEventListener('destroy', removeElement);\n animItem.addEventListener('_active', addPlayingCount);\n animItem.addEventListener('_idle', subtractPlayingCount);\n registeredAnimations.push({\n elem: element,\n animation: animItem\n });\n len += 1;\n }\n\n function loadAnimation(params) {\n var animItem = new AnimationItem();\n setupAnimation(animItem, null);\n animItem.setParams(params);\n return animItem;\n }\n\n function setSpeed(val, animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.setSpeed(val, animation);\n }\n }\n\n function setDirection(val, animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.setDirection(val, animation);\n }\n }\n\n function play(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.play(animation);\n }\n }\n\n function resume(nowTime) {\n var elapsedTime = nowTime - initTime;\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.advanceTime(elapsedTime);\n }\n\n initTime = nowTime;\n\n if (playingAnimationsNum && !_isFrozen) {\n window.requestAnimationFrame(resume);\n } else {\n _stopped = true;\n }\n }\n\n function first(nowTime) {\n initTime = nowTime;\n window.requestAnimationFrame(resume);\n }\n\n function pause(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.pause(animation);\n }\n }\n\n function goToAndStop(value, isFrame, animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.goToAndStop(value, isFrame, animation);\n }\n }\n\n function stop(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.stop(animation);\n }\n }\n\n function togglePause(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.togglePause(animation);\n }\n }\n\n function destroy(animation) {\n var i;\n\n for (i = len - 1; i >= 0; i -= 1) {\n registeredAnimations[i].animation.destroy(animation);\n }\n }\n\n function searchAnimations(animationData, standalone, renderer) {\n var animElements = [].concat([].slice.call(document.getElementsByClassName('lottie')), [].slice.call(document.getElementsByClassName('bodymovin')));\n var i;\n var lenAnims = animElements.length;\n\n for (i = 0; i < lenAnims; i += 1) {\n if (renderer) {\n animElements[i].setAttribute('data-bm-type', renderer);\n }\n\n registerAnimation(animElements[i], animationData);\n }\n\n if (standalone && lenAnims === 0) {\n if (!renderer) {\n renderer = 'svg';\n }\n\n var body = document.getElementsByTagName('body')[0];\n body.innerText = '';\n var div = createTag('div');\n div.style.width = '100%';\n div.style.height = '100%';\n div.setAttribute('data-bm-type', renderer);\n body.appendChild(div);\n registerAnimation(div, animationData);\n }\n }\n\n function resize() {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.resize();\n }\n }\n\n function activate() {\n if (!_isFrozen && playingAnimationsNum) {\n if (_stopped) {\n window.requestAnimationFrame(first);\n _stopped = false;\n }\n }\n }\n\n function freeze() {\n _isFrozen = true;\n }\n\n function unfreeze() {\n _isFrozen = false;\n activate();\n }\n\n function setVolume(val, animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.setVolume(val, animation);\n }\n }\n\n function mute(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.mute(animation);\n }\n }\n\n function unmute(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.unmute(animation);\n }\n }\n\n moduleOb.registerAnimation = registerAnimation;\n moduleOb.loadAnimation = loadAnimation;\n moduleOb.setSpeed = setSpeed;\n moduleOb.setDirection = setDirection;\n moduleOb.play = play;\n moduleOb.pause = pause;\n moduleOb.stop = stop;\n moduleOb.togglePause = togglePause;\n moduleOb.searchAnimations = searchAnimations;\n moduleOb.resize = resize; // moduleOb.start = start;\n\n moduleOb.goToAndStop = goToAndStop;\n moduleOb.destroy = destroy;\n moduleOb.freeze = freeze;\n moduleOb.unfreeze = unfreeze;\n moduleOb.setVolume = setVolume;\n moduleOb.mute = mute;\n moduleOb.unmute = unmute;\n moduleOb.getRegisteredAnimations = getRegisteredAnimations;\n return moduleOb;\n }();\n\n /* eslint-disable */\n var BezierFactory = function () {\n /**\r\n * BezierEasing - use bezier curve for transition easing function\r\n * by Gaëtan Renaudeau 2014 - 2015 – MIT License\r\n *\r\n * Credits: is based on Firefox's nsSMILKeySpline.cpp\r\n * Usage:\r\n * var spline = BezierEasing([ 0.25, 0.1, 0.25, 1.0 ])\r\n * spline.get(x) => returns the easing value | x must be in [0, 1] range\r\n *\r\n */\n var ob = {};\n ob.getBezierEasing = getBezierEasing;\n var beziers = {};\n\n function getBezierEasing(a, b, c, d, nm) {\n var str = nm || ('bez_' + a + '_' + b + '_' + c + '_' + d).replace(/\\./g, 'p');\n\n if (beziers[str]) {\n return beziers[str];\n }\n\n var bezEasing = new BezierEasing([a, b, c, d]);\n beziers[str] = bezEasing;\n return bezEasing;\n } // These values are established by empiricism with tests (tradeoff: performance VS precision)\n\n\n var NEWTON_ITERATIONS = 4;\n var NEWTON_MIN_SLOPE = 0.001;\n var SUBDIVISION_PRECISION = 0.0000001;\n var SUBDIVISION_MAX_ITERATIONS = 10;\n var kSplineTableSize = 11;\n var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\n var float32ArraySupported = typeof Float32Array === 'function';\n\n function A(aA1, aA2) {\n return 1.0 - 3.0 * aA2 + 3.0 * aA1;\n }\n\n function B(aA1, aA2) {\n return 3.0 * aA2 - 6.0 * aA1;\n }\n\n function C(aA1) {\n return 3.0 * aA1;\n } // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\n\n\n function calcBezier(aT, aA1, aA2) {\n return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\n } // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\n\n\n function getSlope(aT, aA1, aA2) {\n return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1);\n }\n\n function binarySubdivide(aX, aA, aB, mX1, mX2) {\n var currentX,\n currentT,\n i = 0;\n\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n\n if (currentX > 0.0) {\n aB = currentT;\n } else {\n aA = currentT;\n }\n } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);\n\n return currentT;\n }\n\n function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n for (var i = 0; i < NEWTON_ITERATIONS; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) return aGuessT;\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n\n return aGuessT;\n }\n /**\r\n * points is an array of [ mX1, mY1, mX2, mY2 ]\r\n */\n\n\n function BezierEasing(points) {\n this._p = points;\n this._mSampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\n this._precomputed = false;\n this.get = this.get.bind(this);\n }\n\n BezierEasing.prototype = {\n get: function get(x) {\n var mX1 = this._p[0],\n mY1 = this._p[1],\n mX2 = this._p[2],\n mY2 = this._p[3];\n if (!this._precomputed) this._precompute();\n if (mX1 === mY1 && mX2 === mY2) return x; // linear\n // Because JavaScript number are imprecise, we should guarantee the extremes are right.\n\n if (x === 0) return 0;\n if (x === 1) return 1;\n return calcBezier(this._getTForX(x), mY1, mY2);\n },\n // Private part\n _precompute: function _precompute() {\n var mX1 = this._p[0],\n mY1 = this._p[1],\n mX2 = this._p[2],\n mY2 = this._p[3];\n this._precomputed = true;\n\n if (mX1 !== mY1 || mX2 !== mY2) {\n this._calcSampleValues();\n }\n },\n _calcSampleValues: function _calcSampleValues() {\n var mX1 = this._p[0],\n mX2 = this._p[2];\n\n for (var i = 0; i < kSplineTableSize; ++i) {\n this._mSampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n },\n\n /**\r\n * getTForX chose the fastest heuristic to determine the percentage value precisely from a given X projection.\r\n */\n _getTForX: function _getTForX(aX) {\n var mX1 = this._p[0],\n mX2 = this._p[2],\n mSampleValues = this._mSampleValues;\n var intervalStart = 0.0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n\n for (; currentSample !== lastSample && mSampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n\n --currentSample; // Interpolate to provide an initial guess for t\n\n var dist = (aX - mSampleValues[currentSample]) / (mSampleValues[currentSample + 1] - mSampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n\n if (initialSlope >= NEWTON_MIN_SLOPE) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n }\n\n if (initialSlope === 0.0) {\n return guessForT;\n }\n\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n };\n return ob;\n }();\n\n var pooling = function () {\n function _double(arr) {\n return arr.concat(createSizedArray(arr.length));\n }\n\n return {\n \"double\": _double\n };\n }();\n\n var poolFactory = function () {\n return function (initialLength, _create, _release) {\n var _length = 0;\n var _maxLength = initialLength;\n var pool = createSizedArray(_maxLength);\n var ob = {\n newElement: newElement,\n release: release\n };\n\n function newElement() {\n var element;\n\n if (_length) {\n _length -= 1;\n element = pool[_length];\n } else {\n element = _create();\n }\n\n return element;\n }\n\n function release(element) {\n if (_length === _maxLength) {\n pool = pooling[\"double\"](pool);\n _maxLength *= 2;\n }\n\n if (_release) {\n _release(element);\n }\n\n pool[_length] = element;\n _length += 1;\n }\n\n return ob;\n };\n }();\n\n var bezierLengthPool = function () {\n function create() {\n return {\n addedLength: 0,\n percents: createTypedArray('float32', getDefaultCurveSegments()),\n lengths: createTypedArray('float32', getDefaultCurveSegments())\n };\n }\n\n return poolFactory(8, create);\n }();\n\n var segmentsLengthPool = function () {\n function create() {\n return {\n lengths: [],\n totalLength: 0\n };\n }\n\n function release(element) {\n var i;\n var len = element.lengths.length;\n\n for (i = 0; i < len; i += 1) {\n bezierLengthPool.release(element.lengths[i]);\n }\n\n element.lengths.length = 0;\n }\n\n return poolFactory(8, create, release);\n }();\n\n function bezFunction() {\n var math = Math;\n\n function pointOnLine2D(x1, y1, x2, y2, x3, y3) {\n var det1 = x1 * y2 + y1 * x3 + x2 * y3 - x3 * y2 - y3 * x1 - x2 * y1;\n return det1 > -0.001 && det1 < 0.001;\n }\n\n function pointOnLine3D(x1, y1, z1, x2, y2, z2, x3, y3, z3) {\n if (z1 === 0 && z2 === 0 && z3 === 0) {\n return pointOnLine2D(x1, y1, x2, y2, x3, y3);\n }\n\n var dist1 = math.sqrt(math.pow(x2 - x1, 2) + math.pow(y2 - y1, 2) + math.pow(z2 - z1, 2));\n var dist2 = math.sqrt(math.pow(x3 - x1, 2) + math.pow(y3 - y1, 2) + math.pow(z3 - z1, 2));\n var dist3 = math.sqrt(math.pow(x3 - x2, 2) + math.pow(y3 - y2, 2) + math.pow(z3 - z2, 2));\n var diffDist;\n\n if (dist1 > dist2) {\n if (dist1 > dist3) {\n diffDist = dist1 - dist2 - dist3;\n } else {\n diffDist = dist3 - dist2 - dist1;\n }\n } else if (dist3 > dist2) {\n diffDist = dist3 - dist2 - dist1;\n } else {\n diffDist = dist2 - dist1 - dist3;\n }\n\n return diffDist > -0.0001 && diffDist < 0.0001;\n }\n\n var getBezierLength = function () {\n return function (pt1, pt2, pt3, pt4) {\n var curveSegments = getDefaultCurveSegments();\n var k;\n var i;\n var len;\n var ptCoord;\n var perc;\n var addedLength = 0;\n var ptDistance;\n var point = [];\n var lastPoint = [];\n var lengthData = bezierLengthPool.newElement();\n len = pt3.length;\n\n for (k = 0; k < curveSegments; k += 1) {\n perc = k / (curveSegments - 1);\n ptDistance = 0;\n\n for (i = 0; i < len; i += 1) {\n ptCoord = bmPow(1 - perc, 3) * pt1[i] + 3 * bmPow(1 - perc, 2) * perc * pt3[i] + 3 * (1 - perc) * bmPow(perc, 2) * pt4[i] + bmPow(perc, 3) * pt2[i];\n point[i] = ptCoord;\n\n if (lastPoint[i] !== null) {\n ptDistance += bmPow(point[i] - lastPoint[i], 2);\n }\n\n lastPoint[i] = point[i];\n }\n\n if (ptDistance) {\n ptDistance = bmSqrt(ptDistance);\n addedLength += ptDistance;\n }\n\n lengthData.percents[k] = perc;\n lengthData.lengths[k] = addedLength;\n }\n\n lengthData.addedLength = addedLength;\n return lengthData;\n };\n }();\n\n function getSegmentsLength(shapeData) {\n var segmentsLength = segmentsLengthPool.newElement();\n var closed = shapeData.c;\n var pathV = shapeData.v;\n var pathO = shapeData.o;\n var pathI = shapeData.i;\n var i;\n var len = shapeData._length;\n var lengths = segmentsLength.lengths;\n var totalLength = 0;\n\n for (i = 0; i < len - 1; i += 1) {\n lengths[i] = getBezierLength(pathV[i], pathV[i + 1], pathO[i], pathI[i + 1]);\n totalLength += lengths[i].addedLength;\n }\n\n if (closed && len) {\n lengths[i] = getBezierLength(pathV[i], pathV[0], pathO[i], pathI[0]);\n totalLength += lengths[i].addedLength;\n }\n\n segmentsLength.totalLength = totalLength;\n return segmentsLength;\n }\n\n function BezierData(length) {\n this.segmentLength = 0;\n this.points = new Array(length);\n }\n\n function PointData(partial, point) {\n this.partialLength = partial;\n this.point = point;\n }\n\n var buildBezierData = function () {\n var storedData = {};\n return function (pt1, pt2, pt3, pt4) {\n var bezierName = (pt1[0] + '_' + pt1[1] + '_' + pt2[0] + '_' + pt2[1] + '_' + pt3[0] + '_' + pt3[1] + '_' + pt4[0] + '_' + pt4[1]).replace(/\\./g, 'p');\n\n if (!storedData[bezierName]) {\n var curveSegments = getDefaultCurveSegments();\n var k;\n var i;\n var len;\n var ptCoord;\n var perc;\n var addedLength = 0;\n var ptDistance;\n var point;\n var lastPoint = null;\n\n if (pt1.length === 2 && (pt1[0] !== pt2[0] || pt1[1] !== pt2[1]) && pointOnLine2D(pt1[0], pt1[1], pt2[0], pt2[1], pt1[0] + pt3[0], pt1[1] + pt3[1]) && pointOnLine2D(pt1[0], pt1[1], pt2[0], pt2[1], pt2[0] + pt4[0], pt2[1] + pt4[1])) {\n curveSegments = 2;\n }\n\n var bezierData = new BezierData(curveSegments);\n len = pt3.length;\n\n for (k = 0; k < curveSegments; k += 1) {\n point = createSizedArray(len);\n perc = k / (curveSegments - 1);\n ptDistance = 0;\n\n for (i = 0; i < len; i += 1) {\n ptCoord = bmPow(1 - perc, 3) * pt1[i] + 3 * bmPow(1 - perc, 2) * perc * (pt1[i] + pt3[i]) + 3 * (1 - perc) * bmPow(perc, 2) * (pt2[i] + pt4[i]) + bmPow(perc, 3) * pt2[i];\n point[i] = ptCoord;\n\n if (lastPoint !== null) {\n ptDistance += bmPow(point[i] - lastPoint[i], 2);\n }\n }\n\n ptDistance = bmSqrt(ptDistance);\n addedLength += ptDistance;\n bezierData.points[k] = new PointData(ptDistance, point);\n lastPoint = point;\n }\n\n bezierData.segmentLength = addedLength;\n storedData[bezierName] = bezierData;\n }\n\n return storedData[bezierName];\n };\n }();\n\n function getDistancePerc(perc, bezierData) {\n var percents = bezierData.percents;\n var lengths = bezierData.lengths;\n var len = percents.length;\n var initPos = bmFloor((len - 1) * perc);\n var lengthPos = perc * bezierData.addedLength;\n var lPerc = 0;\n\n if (initPos === len - 1 || initPos === 0 || lengthPos === lengths[initPos]) {\n return percents[initPos];\n }\n\n var dir = lengths[initPos] > lengthPos ? -1 : 1;\n var flag = true;\n\n while (flag) {\n if (lengths[initPos] <= lengthPos && lengths[initPos + 1] > lengthPos) {\n lPerc = (lengthPos - lengths[initPos]) / (lengths[initPos + 1] - lengths[initPos]);\n flag = false;\n } else {\n initPos += dir;\n }\n\n if (initPos < 0 || initPos >= len - 1) {\n // FIX for TypedArrays that don't store floating point values with enough accuracy\n if (initPos === len - 1) {\n return percents[initPos];\n }\n\n flag = false;\n }\n }\n\n return percents[initPos] + (percents[initPos + 1] - percents[initPos]) * lPerc;\n }\n\n function getPointInSegment(pt1, pt2, pt3, pt4, percent, bezierData) {\n var t1 = getDistancePerc(percent, bezierData);\n var u1 = 1 - t1;\n var ptX = math.round((u1 * u1 * u1 * pt1[0] + (t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1) * pt3[0] + (t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1) * pt4[0] + t1 * t1 * t1 * pt2[0]) * 1000) / 1000;\n var ptY = math.round((u1 * u1 * u1 * pt1[1] + (t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1) * pt3[1] + (t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1) * pt4[1] + t1 * t1 * t1 * pt2[1]) * 1000) / 1000;\n return [ptX, ptY];\n }\n\n var bezierSegmentPoints = createTypedArray('float32', 8);\n\n function getNewSegment(pt1, pt2, pt3, pt4, startPerc, endPerc, bezierData) {\n if (startPerc < 0) {\n startPerc = 0;\n } else if (startPerc > 1) {\n startPerc = 1;\n }\n\n var t0 = getDistancePerc(startPerc, bezierData);\n endPerc = endPerc > 1 ? 1 : endPerc;\n var t1 = getDistancePerc(endPerc, bezierData);\n var i;\n var len = pt1.length;\n var u0 = 1 - t0;\n var u1 = 1 - t1;\n var u0u0u0 = u0 * u0 * u0;\n var t0u0u0_3 = t0 * u0 * u0 * 3; // eslint-disable-line camelcase\n\n var t0t0u0_3 = t0 * t0 * u0 * 3; // eslint-disable-line camelcase\n\n var t0t0t0 = t0 * t0 * t0; //\n\n var u0u0u1 = u0 * u0 * u1;\n var t0u0u1_3 = t0 * u0 * u1 + u0 * t0 * u1 + u0 * u0 * t1; // eslint-disable-line camelcase\n\n var t0t0u1_3 = t0 * t0 * u1 + u0 * t0 * t1 + t0 * u0 * t1; // eslint-disable-line camelcase\n\n var t0t0t1 = t0 * t0 * t1; //\n\n var u0u1u1 = u0 * u1 * u1;\n var t0u1u1_3 = t0 * u1 * u1 + u0 * t1 * u1 + u0 * u1 * t1; // eslint-disable-line camelcase\n\n var t0t1u1_3 = t0 * t1 * u1 + u0 * t1 * t1 + t0 * u1 * t1; // eslint-disable-line camelcase\n\n var t0t1t1 = t0 * t1 * t1; //\n\n var u1u1u1 = u1 * u1 * u1;\n var t1u1u1_3 = t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1; // eslint-disable-line camelcase\n\n var t1t1u1_3 = t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1; // eslint-disable-line camelcase\n\n var t1t1t1 = t1 * t1 * t1;\n\n for (i = 0; i < len; i += 1) {\n bezierSegmentPoints[i * 4] = math.round((u0u0u0 * pt1[i] + t0u0u0_3 * pt3[i] + t0t0u0_3 * pt4[i] + t0t0t0 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n bezierSegmentPoints[i * 4 + 1] = math.round((u0u0u1 * pt1[i] + t0u0u1_3 * pt3[i] + t0t0u1_3 * pt4[i] + t0t0t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n bezierSegmentPoints[i * 4 + 2] = math.round((u0u1u1 * pt1[i] + t0u1u1_3 * pt3[i] + t0t1u1_3 * pt4[i] + t0t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n bezierSegmentPoints[i * 4 + 3] = math.round((u1u1u1 * pt1[i] + t1u1u1_3 * pt3[i] + t1t1u1_3 * pt4[i] + t1t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n }\n\n return bezierSegmentPoints;\n }\n\n return {\n getSegmentsLength: getSegmentsLength,\n getNewSegment: getNewSegment,\n getPointInSegment: getPointInSegment,\n buildBezierData: buildBezierData,\n pointOnLine2D: pointOnLine2D,\n pointOnLine3D: pointOnLine3D\n };\n }\n\n var bez = bezFunction();\n\n var PropertyFactory = function () {\n var initFrame = initialDefaultFrame;\n var mathAbs = Math.abs;\n\n function interpolateValue(frameNum, caching) {\n var offsetTime = this.offsetTime;\n var newValue;\n\n if (this.propType === 'multidimensional') {\n newValue = createTypedArray('float32', this.pv.length);\n }\n\n var iterationIndex = caching.lastIndex;\n var i = iterationIndex;\n var len = this.keyframes.length - 1;\n var flag = true;\n var keyData;\n var nextKeyData;\n var keyframeMetadata;\n\n while (flag) {\n keyData = this.keyframes[i];\n nextKeyData = this.keyframes[i + 1];\n\n if (i === len - 1 && frameNum >= nextKeyData.t - offsetTime) {\n if (keyData.h) {\n keyData = nextKeyData;\n }\n\n iterationIndex = 0;\n break;\n }\n\n if (nextKeyData.t - offsetTime > frameNum) {\n iterationIndex = i;\n break;\n }\n\n if (i < len - 1) {\n i += 1;\n } else {\n iterationIndex = 0;\n flag = false;\n }\n }\n\n keyframeMetadata = this.keyframesMetadata[i] || {};\n var k;\n var kLen;\n var perc;\n var jLen;\n var j;\n var fnc;\n var nextKeyTime = nextKeyData.t - offsetTime;\n var keyTime = keyData.t - offsetTime;\n var endValue;\n\n if (keyData.to) {\n if (!keyframeMetadata.bezierData) {\n keyframeMetadata.bezierData = bez.buildBezierData(keyData.s, nextKeyData.s || keyData.e, keyData.to, keyData.ti);\n }\n\n var bezierData = keyframeMetadata.bezierData;\n\n if (frameNum >= nextKeyTime || frameNum < keyTime) {\n var ind = frameNum >= nextKeyTime ? bezierData.points.length - 1 : 0;\n kLen = bezierData.points[ind].point.length;\n\n for (k = 0; k < kLen; k += 1) {\n newValue[k] = bezierData.points[ind].point[k];\n } // caching._lastKeyframeIndex = -1;\n\n } else {\n if (keyframeMetadata.__fnct) {\n fnc = keyframeMetadata.__fnct;\n } else {\n fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y, keyData.n).get;\n keyframeMetadata.__fnct = fnc;\n }\n\n perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n var distanceInLine = bezierData.segmentLength * perc;\n var segmentPerc;\n var addedLength = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastAddedLength : 0;\n j = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastPoint : 0;\n flag = true;\n jLen = bezierData.points.length;\n\n while (flag) {\n addedLength += bezierData.points[j].partialLength;\n\n if (distanceInLine === 0 || perc === 0 || j === bezierData.points.length - 1) {\n kLen = bezierData.points[j].point.length;\n\n for (k = 0; k < kLen; k += 1) {\n newValue[k] = bezierData.points[j].point[k];\n }\n\n break;\n } else if (distanceInLine >= addedLength && distanceInLine < addedLength + bezierData.points[j + 1].partialLength) {\n segmentPerc = (distanceInLine - addedLength) / bezierData.points[j + 1].partialLength;\n kLen = bezierData.points[j].point.length;\n\n for (k = 0; k < kLen; k += 1) {\n newValue[k] = bezierData.points[j].point[k] + (bezierData.points[j + 1].point[k] - bezierData.points[j].point[k]) * segmentPerc;\n }\n\n break;\n }\n\n if (j < jLen - 1) {\n j += 1;\n } else {\n flag = false;\n }\n }\n\n caching._lastPoint = j;\n caching._lastAddedLength = addedLength - bezierData.points[j].partialLength;\n caching._lastKeyframeIndex = i;\n }\n } else {\n var outX;\n var outY;\n var inX;\n var inY;\n var keyValue;\n len = keyData.s.length;\n endValue = nextKeyData.s || keyData.e;\n\n if (this.sh && keyData.h !== 1) {\n if (frameNum >= nextKeyTime) {\n newValue[0] = endValue[0];\n newValue[1] = endValue[1];\n newValue[2] = endValue[2];\n } else if (frameNum <= keyTime) {\n newValue[0] = keyData.s[0];\n newValue[1] = keyData.s[1];\n newValue[2] = keyData.s[2];\n } else {\n var quatStart = createQuaternion(keyData.s);\n var quatEnd = createQuaternion(endValue);\n var time = (frameNum - keyTime) / (nextKeyTime - keyTime);\n quaternionToEuler(newValue, slerp(quatStart, quatEnd, time));\n }\n } else {\n for (i = 0; i < len; i += 1) {\n if (keyData.h !== 1) {\n if (frameNum >= nextKeyTime) {\n perc = 1;\n } else if (frameNum < keyTime) {\n perc = 0;\n } else {\n if (keyData.o.x.constructor === Array) {\n if (!keyframeMetadata.__fnct) {\n keyframeMetadata.__fnct = [];\n }\n\n if (!keyframeMetadata.__fnct[i]) {\n outX = keyData.o.x[i] === undefined ? keyData.o.x[0] : keyData.o.x[i];\n outY = keyData.o.y[i] === undefined ? keyData.o.y[0] : keyData.o.y[i];\n inX = keyData.i.x[i] === undefined ? keyData.i.x[0] : keyData.i.x[i];\n inY = keyData.i.y[i] === undefined ? keyData.i.y[0] : keyData.i.y[i];\n fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n keyframeMetadata.__fnct[i] = fnc;\n } else {\n fnc = keyframeMetadata.__fnct[i];\n }\n } else if (!keyframeMetadata.__fnct) {\n outX = keyData.o.x;\n outY = keyData.o.y;\n inX = keyData.i.x;\n inY = keyData.i.y;\n fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n keyData.keyframeMetadata = fnc;\n } else {\n fnc = keyframeMetadata.__fnct;\n }\n\n perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n }\n }\n\n endValue = nextKeyData.s || keyData.e;\n keyValue = keyData.h === 1 ? keyData.s[i] : keyData.s[i] + (endValue[i] - keyData.s[i]) * perc;\n\n if (this.propType === 'multidimensional') {\n newValue[i] = keyValue;\n } else {\n newValue = keyValue;\n }\n }\n }\n }\n\n caching.lastIndex = iterationIndex;\n return newValue;\n } // based on @Toji's https://github.com/toji/gl-matrix/\n\n\n function slerp(a, b, t) {\n var out = [];\n var ax = a[0];\n var ay = a[1];\n var az = a[2];\n var aw = a[3];\n var bx = b[0];\n var by = b[1];\n var bz = b[2];\n var bw = b[3];\n var omega;\n var cosom;\n var sinom;\n var scale0;\n var scale1;\n cosom = ax * bx + ay * by + az * bz + aw * bw;\n\n if (cosom < 0.0) {\n cosom = -cosom;\n bx = -bx;\n by = -by;\n bz = -bz;\n bw = -bw;\n }\n\n if (1.0 - cosom > 0.000001) {\n omega = Math.acos(cosom);\n sinom = Math.sin(omega);\n scale0 = Math.sin((1.0 - t) * omega) / sinom;\n scale1 = Math.sin(t * omega) / sinom;\n } else {\n scale0 = 1.0 - t;\n scale1 = t;\n }\n\n out[0] = scale0 * ax + scale1 * bx;\n out[1] = scale0 * ay + scale1 * by;\n out[2] = scale0 * az + scale1 * bz;\n out[3] = scale0 * aw + scale1 * bw;\n return out;\n }\n\n function quaternionToEuler(out, quat) {\n var qx = quat[0];\n var qy = quat[1];\n var qz = quat[2];\n var qw = quat[3];\n var heading = Math.atan2(2 * qy * qw - 2 * qx * qz, 1 - 2 * qy * qy - 2 * qz * qz);\n var attitude = Math.asin(2 * qx * qy + 2 * qz * qw);\n var bank = Math.atan2(2 * qx * qw - 2 * qy * qz, 1 - 2 * qx * qx - 2 * qz * qz);\n out[0] = heading / degToRads;\n out[1] = attitude / degToRads;\n out[2] = bank / degToRads;\n }\n\n function createQuaternion(values) {\n var heading = values[0] * degToRads;\n var attitude = values[1] * degToRads;\n var bank = values[2] * degToRads;\n var c1 = Math.cos(heading / 2);\n var c2 = Math.cos(attitude / 2);\n var c3 = Math.cos(bank / 2);\n var s1 = Math.sin(heading / 2);\n var s2 = Math.sin(attitude / 2);\n var s3 = Math.sin(bank / 2);\n var w = c1 * c2 * c3 - s1 * s2 * s3;\n var x = s1 * s2 * c3 + c1 * c2 * s3;\n var y = s1 * c2 * c3 + c1 * s2 * s3;\n var z = c1 * s2 * c3 - s1 * c2 * s3;\n return [x, y, z, w];\n }\n\n function getValueAtCurrentTime() {\n var frameNum = this.comp.renderedFrame - this.offsetTime;\n var initTime = this.keyframes[0].t - this.offsetTime;\n var endTime = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;\n\n if (!(frameNum === this._caching.lastFrame || this._caching.lastFrame !== initFrame && (this._caching.lastFrame >= endTime && frameNum >= endTime || this._caching.lastFrame < initTime && frameNum < initTime))) {\n if (this._caching.lastFrame >= frameNum) {\n this._caching._lastKeyframeIndex = -1;\n this._caching.lastIndex = 0;\n }\n\n var renderResult = this.interpolateValue(frameNum, this._caching);\n this.pv = renderResult;\n }\n\n this._caching.lastFrame = frameNum;\n return this.pv;\n }\n\n function setVValue(val) {\n var multipliedValue;\n\n if (this.propType === 'unidimensional') {\n multipliedValue = val * this.mult;\n\n if (mathAbs(this.v - multipliedValue) > 0.00001) {\n this.v = multipliedValue;\n this._mdf = true;\n }\n } else {\n var i = 0;\n var len = this.v.length;\n\n while (i < len) {\n multipliedValue = val[i] * this.mult;\n\n if (mathAbs(this.v[i] - multipliedValue) > 0.00001) {\n this.v[i] = multipliedValue;\n this._mdf = true;\n }\n\n i += 1;\n }\n }\n }\n\n function processEffectsSequence() {\n if (this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) {\n return;\n }\n\n if (this.lock) {\n this.setVValue(this.pv);\n return;\n }\n\n this.lock = true;\n this._mdf = this._isFirstFrame;\n var i;\n var len = this.effectsSequence.length;\n var finalValue = this.kf ? this.pv : this.data.k;\n\n for (i = 0; i < len; i += 1) {\n finalValue = this.effectsSequence[i](finalValue);\n }\n\n this.setVValue(finalValue);\n this._isFirstFrame = false;\n this.lock = false;\n this.frameId = this.elem.globalData.frameId;\n }\n\n function addEffect(effectFunction) {\n this.effectsSequence.push(effectFunction);\n this.container.addDynamicProperty(this);\n }\n\n function ValueProperty(elem, data, mult, container) {\n this.propType = 'unidimensional';\n this.mult = mult || 1;\n this.data = data;\n this.v = mult ? data.k * mult : data.k;\n this.pv = data.k;\n this._mdf = false;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.k = false;\n this.kf = false;\n this.vel = 0;\n this.effectsSequence = [];\n this._isFirstFrame = true;\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.addEffect = addEffect;\n }\n\n function MultiDimensionalProperty(elem, data, mult, container) {\n this.propType = 'multidimensional';\n this.mult = mult || 1;\n this.data = data;\n this._mdf = false;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.k = false;\n this.kf = false;\n this.frameId = -1;\n var i;\n var len = data.k.length;\n this.v = createTypedArray('float32', len);\n this.pv = createTypedArray('float32', len);\n this.vel = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n this.v[i] = data.k[i] * this.mult;\n this.pv[i] = data.k[i];\n }\n\n this._isFirstFrame = true;\n this.effectsSequence = [];\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.addEffect = addEffect;\n }\n\n function KeyframedValueProperty(elem, data, mult, container) {\n this.propType = 'unidimensional';\n this.keyframes = data.k;\n this.keyframesMetadata = [];\n this.offsetTime = elem.data.st;\n this.frameId = -1;\n this._caching = {\n lastFrame: initFrame,\n lastIndex: 0,\n value: 0,\n _lastKeyframeIndex: -1\n };\n this.k = true;\n this.kf = true;\n this.data = data;\n this.mult = mult || 1;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.v = initFrame;\n this.pv = initFrame;\n this._isFirstFrame = true;\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.interpolateValue = interpolateValue;\n this.effectsSequence = [getValueAtCurrentTime.bind(this)];\n this.addEffect = addEffect;\n }\n\n function KeyframedMultidimensionalProperty(elem, data, mult, container) {\n this.propType = 'multidimensional';\n var i;\n var len = data.k.length;\n var s;\n var e;\n var to;\n var ti;\n\n for (i = 0; i < len - 1; i += 1) {\n if (data.k[i].to && data.k[i].s && data.k[i + 1] && data.k[i + 1].s) {\n s = data.k[i].s;\n e = data.k[i + 1].s;\n to = data.k[i].to;\n ti = data.k[i].ti;\n\n if (s.length === 2 && !(s[0] === e[0] && s[1] === e[1]) && bez.pointOnLine2D(s[0], s[1], e[0], e[1], s[0] + to[0], s[1] + to[1]) && bez.pointOnLine2D(s[0], s[1], e[0], e[1], e[0] + ti[0], e[1] + ti[1]) || s.length === 3 && !(s[0] === e[0] && s[1] === e[1] && s[2] === e[2]) && bez.pointOnLine3D(s[0], s[1], s[2], e[0], e[1], e[2], s[0] + to[0], s[1] + to[1], s[2] + to[2]) && bez.pointOnLine3D(s[0], s[1], s[2], e[0], e[1], e[2], e[0] + ti[0], e[1] + ti[1], e[2] + ti[2])) {\n data.k[i].to = null;\n data.k[i].ti = null;\n }\n\n if (s[0] === e[0] && s[1] === e[1] && to[0] === 0 && to[1] === 0 && ti[0] === 0 && ti[1] === 0) {\n if (s.length === 2 || s[2] === e[2] && to[2] === 0 && ti[2] === 0) {\n data.k[i].to = null;\n data.k[i].ti = null;\n }\n }\n }\n }\n\n this.effectsSequence = [getValueAtCurrentTime.bind(this)];\n this.data = data;\n this.keyframes = data.k;\n this.keyframesMetadata = [];\n this.offsetTime = elem.data.st;\n this.k = true;\n this.kf = true;\n this._isFirstFrame = true;\n this.mult = mult || 1;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.interpolateValue = interpolateValue;\n this.frameId = -1;\n var arrLen = data.k[0].s.length;\n this.v = createTypedArray('float32', arrLen);\n this.pv = createTypedArray('float32', arrLen);\n\n for (i = 0; i < arrLen; i += 1) {\n this.v[i] = initFrame;\n this.pv[i] = initFrame;\n }\n\n this._caching = {\n lastFrame: initFrame,\n lastIndex: 0,\n value: createTypedArray('float32', arrLen)\n };\n this.addEffect = addEffect;\n }\n\n function getProp(elem, data, type, mult, container) {\n var p;\n\n if (!data.k.length) {\n p = new ValueProperty(elem, data, mult, container);\n } else if (typeof data.k[0] === 'number') {\n p = new MultiDimensionalProperty(elem, data, mult, container);\n } else {\n switch (type) {\n case 0:\n p = new KeyframedValueProperty(elem, data, mult, container);\n break;\n\n case 1:\n p = new KeyframedMultidimensionalProperty(elem, data, mult, container);\n break;\n\n default:\n break;\n }\n }\n\n if (p.effectsSequence.length) {\n container.addDynamicProperty(p);\n }\n\n return p;\n }\n\n var ob = {\n getProp: getProp\n };\n return ob;\n }();\n\n function DynamicPropertyContainer() {}\n\n DynamicPropertyContainer.prototype = {\n addDynamicProperty: function addDynamicProperty(prop) {\n if (this.dynamicProperties.indexOf(prop) === -1) {\n this.dynamicProperties.push(prop);\n this.container.addDynamicProperty(this);\n this._isAnimated = true;\n }\n },\n iterateDynamicProperties: function iterateDynamicProperties() {\n this._mdf = false;\n var i;\n var len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n this.dynamicProperties[i].getValue();\n\n if (this.dynamicProperties[i]._mdf) {\n this._mdf = true;\n }\n }\n },\n initDynamicPropertyContainer: function initDynamicPropertyContainer(container) {\n this.container = container;\n this.dynamicProperties = [];\n this._mdf = false;\n this._isAnimated = false;\n }\n };\n\n var pointPool = function () {\n function create() {\n return createTypedArray('float32', 2);\n }\n\n return poolFactory(8, create);\n }();\n\n function ShapePath() {\n this.c = false;\n this._length = 0;\n this._maxLength = 8;\n this.v = createSizedArray(this._maxLength);\n this.o = createSizedArray(this._maxLength);\n this.i = createSizedArray(this._maxLength);\n }\n\n ShapePath.prototype.setPathData = function (closed, len) {\n this.c = closed;\n this.setLength(len);\n var i = 0;\n\n while (i < len) {\n this.v[i] = pointPool.newElement();\n this.o[i] = pointPool.newElement();\n this.i[i] = pointPool.newElement();\n i += 1;\n }\n };\n\n ShapePath.prototype.setLength = function (len) {\n while (this._maxLength < len) {\n this.doubleArrayLength();\n }\n\n this._length = len;\n };\n\n ShapePath.prototype.doubleArrayLength = function () {\n this.v = this.v.concat(createSizedArray(this._maxLength));\n this.i = this.i.concat(createSizedArray(this._maxLength));\n this.o = this.o.concat(createSizedArray(this._maxLength));\n this._maxLength *= 2;\n };\n\n ShapePath.prototype.setXYAt = function (x, y, type, pos, replace) {\n var arr;\n this._length = Math.max(this._length, pos + 1);\n\n if (this._length >= this._maxLength) {\n this.doubleArrayLength();\n }\n\n switch (type) {\n case 'v':\n arr = this.v;\n break;\n\n case 'i':\n arr = this.i;\n break;\n\n case 'o':\n arr = this.o;\n break;\n\n default:\n arr = [];\n break;\n }\n\n if (!arr[pos] || arr[pos] && !replace) {\n arr[pos] = pointPool.newElement();\n }\n\n arr[pos][0] = x;\n arr[pos][1] = y;\n };\n\n ShapePath.prototype.setTripleAt = function (vX, vY, oX, oY, iX, iY, pos, replace) {\n this.setXYAt(vX, vY, 'v', pos, replace);\n this.setXYAt(oX, oY, 'o', pos, replace);\n this.setXYAt(iX, iY, 'i', pos, replace);\n };\n\n ShapePath.prototype.reverse = function () {\n var newPath = new ShapePath();\n newPath.setPathData(this.c, this._length);\n var vertices = this.v;\n var outPoints = this.o;\n var inPoints = this.i;\n var init = 0;\n\n if (this.c) {\n newPath.setTripleAt(vertices[0][0], vertices[0][1], inPoints[0][0], inPoints[0][1], outPoints[0][0], outPoints[0][1], 0, false);\n init = 1;\n }\n\n var cnt = this._length - 1;\n var len = this._length;\n var i;\n\n for (i = init; i < len; i += 1) {\n newPath.setTripleAt(vertices[cnt][0], vertices[cnt][1], inPoints[cnt][0], inPoints[cnt][1], outPoints[cnt][0], outPoints[cnt][1], i, false);\n cnt -= 1;\n }\n\n return newPath;\n };\n\n var shapePool = function () {\n function create() {\n return new ShapePath();\n }\n\n function release(shapePath) {\n var len = shapePath._length;\n var i;\n\n for (i = 0; i < len; i += 1) {\n pointPool.release(shapePath.v[i]);\n pointPool.release(shapePath.i[i]);\n pointPool.release(shapePath.o[i]);\n shapePath.v[i] = null;\n shapePath.i[i] = null;\n shapePath.o[i] = null;\n }\n\n shapePath._length = 0;\n shapePath.c = false;\n }\n\n function clone(shape) {\n var cloned = factory.newElement();\n var i;\n var len = shape._length === undefined ? shape.v.length : shape._length;\n cloned.setLength(len);\n cloned.c = shape.c;\n\n for (i = 0; i < len; i += 1) {\n cloned.setTripleAt(shape.v[i][0], shape.v[i][1], shape.o[i][0], shape.o[i][1], shape.i[i][0], shape.i[i][1], i);\n }\n\n return cloned;\n }\n\n var factory = poolFactory(4, create, release);\n factory.clone = clone;\n return factory;\n }();\n\n function ShapeCollection() {\n this._length = 0;\n this._maxLength = 4;\n this.shapes = createSizedArray(this._maxLength);\n }\n\n ShapeCollection.prototype.addShape = function (shapeData) {\n if (this._length === this._maxLength) {\n this.shapes = this.shapes.concat(createSizedArray(this._maxLength));\n this._maxLength *= 2;\n }\n\n this.shapes[this._length] = shapeData;\n this._length += 1;\n };\n\n ShapeCollection.prototype.releaseShapes = function () {\n var i;\n\n for (i = 0; i < this._length; i += 1) {\n shapePool.release(this.shapes[i]);\n }\n\n this._length = 0;\n };\n\n var shapeCollectionPool = function () {\n var ob = {\n newShapeCollection: newShapeCollection,\n release: release\n };\n var _length = 0;\n var _maxLength = 4;\n var pool = createSizedArray(_maxLength);\n\n function newShapeCollection() {\n var shapeCollection;\n\n if (_length) {\n _length -= 1;\n shapeCollection = pool[_length];\n } else {\n shapeCollection = new ShapeCollection();\n }\n\n return shapeCollection;\n }\n\n function release(shapeCollection) {\n var i;\n var len = shapeCollection._length;\n\n for (i = 0; i < len; i += 1) {\n shapePool.release(shapeCollection.shapes[i]);\n }\n\n shapeCollection._length = 0;\n\n if (_length === _maxLength) {\n pool = pooling[\"double\"](pool);\n _maxLength *= 2;\n }\n\n pool[_length] = shapeCollection;\n _length += 1;\n }\n\n return ob;\n }();\n\n var ShapePropertyFactory = function () {\n var initFrame = -999999;\n\n function interpolateShape(frameNum, previousValue, caching) {\n var iterationIndex = caching.lastIndex;\n var keyPropS;\n var keyPropE;\n var isHold;\n var j;\n var k;\n var jLen;\n var kLen;\n var perc;\n var vertexValue;\n var kf = this.keyframes;\n\n if (frameNum < kf[0].t - this.offsetTime) {\n keyPropS = kf[0].s[0];\n isHold = true;\n iterationIndex = 0;\n } else if (frameNum >= kf[kf.length - 1].t - this.offsetTime) {\n keyPropS = kf[kf.length - 1].s ? kf[kf.length - 1].s[0] : kf[kf.length - 2].e[0];\n /* if(kf[kf.length - 1].s){\r\n keyPropS = kf[kf.length - 1].s[0];\r\n }else{\r\n keyPropS = kf[kf.length - 2].e[0];\r\n } */\n\n isHold = true;\n } else {\n var i = iterationIndex;\n var len = kf.length - 1;\n var flag = true;\n var keyData;\n var nextKeyData;\n var keyframeMetadata;\n\n while (flag) {\n keyData = kf[i];\n nextKeyData = kf[i + 1];\n\n if (nextKeyData.t - this.offsetTime > frameNum) {\n break;\n }\n\n if (i < len - 1) {\n i += 1;\n } else {\n flag = false;\n }\n }\n\n keyframeMetadata = this.keyframesMetadata[i] || {};\n isHold = keyData.h === 1;\n iterationIndex = i;\n\n if (!isHold) {\n if (frameNum >= nextKeyData.t - this.offsetTime) {\n perc = 1;\n } else if (frameNum < keyData.t - this.offsetTime) {\n perc = 0;\n } else {\n var fnc;\n\n if (keyframeMetadata.__fnct) {\n fnc = keyframeMetadata.__fnct;\n } else {\n fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y).get;\n keyframeMetadata.__fnct = fnc;\n }\n\n perc = fnc((frameNum - (keyData.t - this.offsetTime)) / (nextKeyData.t - this.offsetTime - (keyData.t - this.offsetTime)));\n }\n\n keyPropE = nextKeyData.s ? nextKeyData.s[0] : keyData.e[0];\n }\n\n keyPropS = keyData.s[0];\n }\n\n jLen = previousValue._length;\n kLen = keyPropS.i[0].length;\n caching.lastIndex = iterationIndex;\n\n for (j = 0; j < jLen; j += 1) {\n for (k = 0; k < kLen; k += 1) {\n vertexValue = isHold ? keyPropS.i[j][k] : keyPropS.i[j][k] + (keyPropE.i[j][k] - keyPropS.i[j][k]) * perc;\n previousValue.i[j][k] = vertexValue;\n vertexValue = isHold ? keyPropS.o[j][k] : keyPropS.o[j][k] + (keyPropE.o[j][k] - keyPropS.o[j][k]) * perc;\n previousValue.o[j][k] = vertexValue;\n vertexValue = isHold ? keyPropS.v[j][k] : keyPropS.v[j][k] + (keyPropE.v[j][k] - keyPropS.v[j][k]) * perc;\n previousValue.v[j][k] = vertexValue;\n }\n }\n }\n\n function interpolateShapeCurrentTime() {\n var frameNum = this.comp.renderedFrame - this.offsetTime;\n var initTime = this.keyframes[0].t - this.offsetTime;\n var endTime = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;\n var lastFrame = this._caching.lastFrame;\n\n if (!(lastFrame !== initFrame && (lastFrame < initTime && frameNum < initTime || lastFrame > endTime && frameNum > endTime))) {\n /// /\n this._caching.lastIndex = lastFrame < frameNum ? this._caching.lastIndex : 0;\n this.interpolateShape(frameNum, this.pv, this._caching); /// /\n }\n\n this._caching.lastFrame = frameNum;\n return this.pv;\n }\n\n function resetShape() {\n this.paths = this.localShapeCollection;\n }\n\n function shapesEqual(shape1, shape2) {\n if (shape1._length !== shape2._length || shape1.c !== shape2.c) {\n return false;\n }\n\n var i;\n var len = shape1._length;\n\n for (i = 0; i < len; i += 1) {\n if (shape1.v[i][0] !== shape2.v[i][0] || shape1.v[i][1] !== shape2.v[i][1] || shape1.o[i][0] !== shape2.o[i][0] || shape1.o[i][1] !== shape2.o[i][1] || shape1.i[i][0] !== shape2.i[i][0] || shape1.i[i][1] !== shape2.i[i][1]) {\n return false;\n }\n }\n\n return true;\n }\n\n function setVValue(newPath) {\n if (!shapesEqual(this.v, newPath)) {\n this.v = shapePool.clone(newPath);\n this.localShapeCollection.releaseShapes();\n this.localShapeCollection.addShape(this.v);\n this._mdf = true;\n this.paths = this.localShapeCollection;\n }\n }\n\n function processEffectsSequence() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n if (!this.effectsSequence.length) {\n this._mdf = false;\n return;\n }\n\n if (this.lock) {\n this.setVValue(this.pv);\n return;\n }\n\n this.lock = true;\n this._mdf = false;\n var finalValue;\n\n if (this.kf) {\n finalValue = this.pv;\n } else if (this.data.ks) {\n finalValue = this.data.ks.k;\n } else {\n finalValue = this.data.pt.k;\n }\n\n var i;\n var len = this.effectsSequence.length;\n\n for (i = 0; i < len; i += 1) {\n finalValue = this.effectsSequence[i](finalValue);\n }\n\n this.setVValue(finalValue);\n this.lock = false;\n this.frameId = this.elem.globalData.frameId;\n }\n\n function ShapeProperty(elem, data, type) {\n this.propType = 'shape';\n this.comp = elem.comp;\n this.container = elem;\n this.elem = elem;\n this.data = data;\n this.k = false;\n this.kf = false;\n this._mdf = false;\n var pathData = type === 3 ? data.pt.k : data.ks.k;\n this.v = shapePool.clone(pathData);\n this.pv = shapePool.clone(this.v);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.paths = this.localShapeCollection;\n this.paths.addShape(this.v);\n this.reset = resetShape;\n this.effectsSequence = [];\n }\n\n function addEffect(effectFunction) {\n this.effectsSequence.push(effectFunction);\n this.container.addDynamicProperty(this);\n }\n\n ShapeProperty.prototype.interpolateShape = interpolateShape;\n ShapeProperty.prototype.getValue = processEffectsSequence;\n ShapeProperty.prototype.setVValue = setVValue;\n ShapeProperty.prototype.addEffect = addEffect;\n\n function KeyframedShapeProperty(elem, data, type) {\n this.propType = 'shape';\n this.comp = elem.comp;\n this.elem = elem;\n this.container = elem;\n this.offsetTime = elem.data.st;\n this.keyframes = type === 3 ? data.pt.k : data.ks.k;\n this.keyframesMetadata = [];\n this.k = true;\n this.kf = true;\n var len = this.keyframes[0].s[0].i.length;\n this.v = shapePool.newElement();\n this.v.setPathData(this.keyframes[0].s[0].c, len);\n this.pv = shapePool.clone(this.v);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.paths = this.localShapeCollection;\n this.paths.addShape(this.v);\n this.lastFrame = initFrame;\n this.reset = resetShape;\n this._caching = {\n lastFrame: initFrame,\n lastIndex: 0\n };\n this.effectsSequence = [interpolateShapeCurrentTime.bind(this)];\n }\n\n KeyframedShapeProperty.prototype.getValue = processEffectsSequence;\n KeyframedShapeProperty.prototype.interpolateShape = interpolateShape;\n KeyframedShapeProperty.prototype.setVValue = setVValue;\n KeyframedShapeProperty.prototype.addEffect = addEffect;\n\n var EllShapeProperty = function () {\n var cPoint = roundCorner;\n\n function EllShapePropertyFactory(elem, data) {\n this.v = shapePool.newElement();\n this.v.setPathData(true, 4);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.paths = this.localShapeCollection;\n this.localShapeCollection.addShape(this.v);\n this.d = data.d;\n this.elem = elem;\n this.comp = elem.comp;\n this.frameId = -1;\n this.initDynamicPropertyContainer(elem);\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\n this.s = PropertyFactory.getProp(elem, data.s, 1, 0, this);\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.k = false;\n this.convertEllToPath();\n }\n }\n\n EllShapePropertyFactory.prototype = {\n reset: resetShape,\n getValue: function getValue() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n\n if (this._mdf) {\n this.convertEllToPath();\n }\n },\n convertEllToPath: function convertEllToPath() {\n var p0 = this.p.v[0];\n var p1 = this.p.v[1];\n var s0 = this.s.v[0] / 2;\n var s1 = this.s.v[1] / 2;\n\n var _cw = this.d !== 3;\n\n var _v = this.v;\n _v.v[0][0] = p0;\n _v.v[0][1] = p1 - s1;\n _v.v[1][0] = _cw ? p0 + s0 : p0 - s0;\n _v.v[1][1] = p1;\n _v.v[2][0] = p0;\n _v.v[2][1] = p1 + s1;\n _v.v[3][0] = _cw ? p0 - s0 : p0 + s0;\n _v.v[3][1] = p1;\n _v.i[0][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n _v.i[0][1] = p1 - s1;\n _v.i[1][0] = _cw ? p0 + s0 : p0 - s0;\n _v.i[1][1] = p1 - s1 * cPoint;\n _v.i[2][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n _v.i[2][1] = p1 + s1;\n _v.i[3][0] = _cw ? p0 - s0 : p0 + s0;\n _v.i[3][1] = p1 + s1 * cPoint;\n _v.o[0][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n _v.o[0][1] = p1 - s1;\n _v.o[1][0] = _cw ? p0 + s0 : p0 - s0;\n _v.o[1][1] = p1 + s1 * cPoint;\n _v.o[2][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n _v.o[2][1] = p1 + s1;\n _v.o[3][0] = _cw ? p0 - s0 : p0 + s0;\n _v.o[3][1] = p1 - s1 * cPoint;\n }\n };\n extendPrototype([DynamicPropertyContainer], EllShapePropertyFactory);\n return EllShapePropertyFactory;\n }();\n\n var StarShapeProperty = function () {\n function StarShapePropertyFactory(elem, data) {\n this.v = shapePool.newElement();\n this.v.setPathData(true, 0);\n this.elem = elem;\n this.comp = elem.comp;\n this.data = data;\n this.frameId = -1;\n this.d = data.d;\n this.initDynamicPropertyContainer(elem);\n\n if (data.sy === 1) {\n this.ir = PropertyFactory.getProp(elem, data.ir, 0, 0, this);\n this.is = PropertyFactory.getProp(elem, data.is, 0, 0.01, this);\n this.convertToPath = this.convertStarToPath;\n } else {\n this.convertToPath = this.convertPolygonToPath;\n }\n\n this.pt = PropertyFactory.getProp(elem, data.pt, 0, 0, this);\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\n this.r = PropertyFactory.getProp(elem, data.r, 0, degToRads, this);\n this.or = PropertyFactory.getProp(elem, data.or, 0, 0, this);\n this.os = PropertyFactory.getProp(elem, data.os, 0, 0.01, this);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.localShapeCollection.addShape(this.v);\n this.paths = this.localShapeCollection;\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.k = false;\n this.convertToPath();\n }\n }\n\n StarShapePropertyFactory.prototype = {\n reset: resetShape,\n getValue: function getValue() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n\n if (this._mdf) {\n this.convertToPath();\n }\n },\n convertStarToPath: function convertStarToPath() {\n var numPts = Math.floor(this.pt.v) * 2;\n var angle = Math.PI * 2 / numPts;\n /* this.v.v.length = numPts;\r\n this.v.i.length = numPts;\r\n this.v.o.length = numPts; */\n\n var longFlag = true;\n var longRad = this.or.v;\n var shortRad = this.ir.v;\n var longRound = this.os.v;\n var shortRound = this.is.v;\n var longPerimSegment = 2 * Math.PI * longRad / (numPts * 2);\n var shortPerimSegment = 2 * Math.PI * shortRad / (numPts * 2);\n var i;\n var rad;\n var roundness;\n var perimSegment;\n var currentAng = -Math.PI / 2;\n currentAng += this.r.v;\n var dir = this.data.d === 3 ? -1 : 1;\n this.v._length = 0;\n\n for (i = 0; i < numPts; i += 1) {\n rad = longFlag ? longRad : shortRad;\n roundness = longFlag ? longRound : shortRound;\n perimSegment = longFlag ? longPerimSegment : shortPerimSegment;\n var x = rad * Math.cos(currentAng);\n var y = rad * Math.sin(currentAng);\n var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n x += +this.p.v[0];\n y += +this.p.v[1];\n this.v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\n /* this.v.v[i] = [x,y];\r\n this.v.i[i] = [x+ox*perimSegment*roundness*dir,y+oy*perimSegment*roundness*dir];\r\n this.v.o[i] = [x-ox*perimSegment*roundness*dir,y-oy*perimSegment*roundness*dir];\r\n this.v._length = numPts; */\n\n longFlag = !longFlag;\n currentAng += angle * dir;\n }\n },\n convertPolygonToPath: function convertPolygonToPath() {\n var numPts = Math.floor(this.pt.v);\n var angle = Math.PI * 2 / numPts;\n var rad = this.or.v;\n var roundness = this.os.v;\n var perimSegment = 2 * Math.PI * rad / (numPts * 4);\n var i;\n var currentAng = -Math.PI * 0.5;\n var dir = this.data.d === 3 ? -1 : 1;\n currentAng += this.r.v;\n this.v._length = 0;\n\n for (i = 0; i < numPts; i += 1) {\n var x = rad * Math.cos(currentAng);\n var y = rad * Math.sin(currentAng);\n var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n x += +this.p.v[0];\n y += +this.p.v[1];\n this.v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\n currentAng += angle * dir;\n }\n\n this.paths.length = 0;\n this.paths[0] = this.v;\n }\n };\n extendPrototype([DynamicPropertyContainer], StarShapePropertyFactory);\n return StarShapePropertyFactory;\n }();\n\n var RectShapeProperty = function () {\n function RectShapePropertyFactory(elem, data) {\n this.v = shapePool.newElement();\n this.v.c = true;\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.localShapeCollection.addShape(this.v);\n this.paths = this.localShapeCollection;\n this.elem = elem;\n this.comp = elem.comp;\n this.frameId = -1;\n this.d = data.d;\n this.initDynamicPropertyContainer(elem);\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\n this.s = PropertyFactory.getProp(elem, data.s, 1, 0, this);\n this.r = PropertyFactory.getProp(elem, data.r, 0, 0, this);\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.k = false;\n this.convertRectToPath();\n }\n }\n\n RectShapePropertyFactory.prototype = {\n convertRectToPath: function convertRectToPath() {\n var p0 = this.p.v[0];\n var p1 = this.p.v[1];\n var v0 = this.s.v[0] / 2;\n var v1 = this.s.v[1] / 2;\n var round = bmMin(v0, v1, this.r.v);\n var cPoint = round * (1 - roundCorner);\n this.v._length = 0;\n\n if (this.d === 2 || this.d === 1) {\n this.v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, 0, true);\n this.v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, p0 + v0, p1 + v1 - round, 1, true);\n\n if (round !== 0) {\n this.v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, 2, true);\n this.v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0 + round, p1 + v1, 3, true);\n this.v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, 4, true);\n this.v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1 + round, 5, true);\n this.v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, 6, true);\n this.v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, p0 + v0 - round, p1 - v1, 7, true);\n } else {\n this.v.setTripleAt(p0 - v0, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0, p1 + v1, 2);\n this.v.setTripleAt(p0 - v0, p1 - v1, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1, 3);\n }\n } else {\n this.v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, p0 + v0, p1 - v1 + round, 0, true);\n\n if (round !== 0) {\n this.v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, 1, true);\n this.v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0 + round, p1 - v1, 2, true);\n this.v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, 3, true);\n this.v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1 - round, 4, true);\n this.v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, 5, true);\n this.v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0 - round, p1 + v1, 6, true);\n this.v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, 7, true);\n } else {\n this.v.setTripleAt(p0 - v0, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0, p1 - v1, 1, true);\n this.v.setTripleAt(p0 - v0, p1 + v1, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1, 2, true);\n this.v.setTripleAt(p0 + v0, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0, p1 + v1, 3, true);\n }\n }\n },\n getValue: function getValue() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n\n if (this._mdf) {\n this.convertRectToPath();\n }\n },\n reset: resetShape\n };\n extendPrototype([DynamicPropertyContainer], RectShapePropertyFactory);\n return RectShapePropertyFactory;\n }();\n\n function getShapeProp(elem, data, type) {\n var prop;\n\n if (type === 3 || type === 4) {\n var dataProp = type === 3 ? data.pt : data.ks;\n var keys = dataProp.k;\n\n if (keys.length) {\n prop = new KeyframedShapeProperty(elem, data, type);\n } else {\n prop = new ShapeProperty(elem, data, type);\n }\n } else if (type === 5) {\n prop = new RectShapeProperty(elem, data);\n } else if (type === 6) {\n prop = new EllShapeProperty(elem, data);\n } else if (type === 7) {\n prop = new StarShapeProperty(elem, data);\n }\n\n if (prop.k) {\n elem.addDynamicProperty(prop);\n }\n\n return prop;\n }\n\n function getConstructorFunction() {\n return ShapeProperty;\n }\n\n function getKeyframedConstructorFunction() {\n return KeyframedShapeProperty;\n }\n\n var ob = {};\n ob.getShapeProp = getShapeProp;\n ob.getConstructorFunction = getConstructorFunction;\n ob.getKeyframedConstructorFunction = getKeyframedConstructorFunction;\n return ob;\n }();\n\n /*!\r\n Transformation Matrix v2.0\r\n (c) Epistemex 2014-2015\r\n www.epistemex.com\r\n By Ken Fyrstenberg\r\n Contributions by leeoniya.\r\n License: MIT, header required.\r\n */\n\n /**\r\n * 2D transformation matrix object initialized with identity matrix.\r\n *\r\n * The matrix can synchronize a canvas context by supplying the context\r\n * as an argument, or later apply current absolute transform to an\r\n * existing context.\r\n *\r\n * All values are handled as floating point values.\r\n *\r\n * @param {CanvasRenderingContext2D} [context] - Optional context to sync with Matrix\r\n * @prop {number} a - scale x\r\n * @prop {number} b - shear y\r\n * @prop {number} c - shear x\r\n * @prop {number} d - scale y\r\n * @prop {number} e - translate x\r\n * @prop {number} f - translate y\r\n * @prop {CanvasRenderingContext2D|null} [context=null] - set or get current canvas context\r\n * @constructor\r\n */\n\n var Matrix = function () {\n var _cos = Math.cos;\n var _sin = Math.sin;\n var _tan = Math.tan;\n var _rnd = Math.round;\n\n function reset() {\n this.props[0] = 1;\n this.props[1] = 0;\n this.props[2] = 0;\n this.props[3] = 0;\n this.props[4] = 0;\n this.props[5] = 1;\n this.props[6] = 0;\n this.props[7] = 0;\n this.props[8] = 0;\n this.props[9] = 0;\n this.props[10] = 1;\n this.props[11] = 0;\n this.props[12] = 0;\n this.props[13] = 0;\n this.props[14] = 0;\n this.props[15] = 1;\n return this;\n }\n\n function rotate(angle) {\n if (angle === 0) {\n return this;\n }\n\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n\n function rotateX(angle) {\n if (angle === 0) {\n return this;\n }\n\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(1, 0, 0, 0, 0, mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1);\n }\n\n function rotateY(angle) {\n if (angle === 0) {\n return this;\n }\n\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(mCos, 0, mSin, 0, 0, 1, 0, 0, -mSin, 0, mCos, 0, 0, 0, 0, 1);\n }\n\n function rotateZ(angle) {\n if (angle === 0) {\n return this;\n }\n\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n\n function shear(sx, sy) {\n return this._t(1, sy, sx, 1, 0, 0);\n }\n\n function skew(ax, ay) {\n return this.shear(_tan(ax), _tan(ay));\n }\n\n function skewFromAxis(ax, angle) {\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(mCos, mSin, 0, 0, -mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(1, 0, 0, 0, _tan(ax), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); // return this._t(mCos, mSin, -mSin, mCos, 0, 0)._t(1, 0, _tan(ax), 1, 0, 0)._t(mCos, -mSin, mSin, mCos, 0, 0);\n }\n\n function scale(sx, sy, sz) {\n if (!sz && sz !== 0) {\n sz = 1;\n }\n\n if (sx === 1 && sy === 1 && sz === 1) {\n return this;\n }\n\n return this._t(sx, 0, 0, 0, 0, sy, 0, 0, 0, 0, sz, 0, 0, 0, 0, 1);\n }\n\n function setTransform(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) {\n this.props[0] = a;\n this.props[1] = b;\n this.props[2] = c;\n this.props[3] = d;\n this.props[4] = e;\n this.props[5] = f;\n this.props[6] = g;\n this.props[7] = h;\n this.props[8] = i;\n this.props[9] = j;\n this.props[10] = k;\n this.props[11] = l;\n this.props[12] = m;\n this.props[13] = n;\n this.props[14] = o;\n this.props[15] = p;\n return this;\n }\n\n function translate(tx, ty, tz) {\n tz = tz || 0;\n\n if (tx !== 0 || ty !== 0 || tz !== 0) {\n return this._t(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, tx, ty, tz, 1);\n }\n\n return this;\n }\n\n function transform(a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, k2, l2, m2, n2, o2, p2) {\n var _p = this.props;\n\n if (a2 === 1 && b2 === 0 && c2 === 0 && d2 === 0 && e2 === 0 && f2 === 1 && g2 === 0 && h2 === 0 && i2 === 0 && j2 === 0 && k2 === 1 && l2 === 0) {\n // NOTE: commenting this condition because TurboFan deoptimizes code when present\n // if(m2 !== 0 || n2 !== 0 || o2 !== 0){\n _p[12] = _p[12] * a2 + _p[15] * m2;\n _p[13] = _p[13] * f2 + _p[15] * n2;\n _p[14] = _p[14] * k2 + _p[15] * o2;\n _p[15] *= p2; // }\n\n this._identityCalculated = false;\n return this;\n }\n\n var a1 = _p[0];\n var b1 = _p[1];\n var c1 = _p[2];\n var d1 = _p[3];\n var e1 = _p[4];\n var f1 = _p[5];\n var g1 = _p[6];\n var h1 = _p[7];\n var i1 = _p[8];\n var j1 = _p[9];\n var k1 = _p[10];\n var l1 = _p[11];\n var m1 = _p[12];\n var n1 = _p[13];\n var o1 = _p[14];\n var p1 = _p[15];\n /* matrix order (canvas compatible):\r\n * ace\r\n * bdf\r\n * 001\r\n */\n\n _p[0] = a1 * a2 + b1 * e2 + c1 * i2 + d1 * m2;\n _p[1] = a1 * b2 + b1 * f2 + c1 * j2 + d1 * n2;\n _p[2] = a1 * c2 + b1 * g2 + c1 * k2 + d1 * o2;\n _p[3] = a1 * d2 + b1 * h2 + c1 * l2 + d1 * p2;\n _p[4] = e1 * a2 + f1 * e2 + g1 * i2 + h1 * m2;\n _p[5] = e1 * b2 + f1 * f2 + g1 * j2 + h1 * n2;\n _p[6] = e1 * c2 + f1 * g2 + g1 * k2 + h1 * o2;\n _p[7] = e1 * d2 + f1 * h2 + g1 * l2 + h1 * p2;\n _p[8] = i1 * a2 + j1 * e2 + k1 * i2 + l1 * m2;\n _p[9] = i1 * b2 + j1 * f2 + k1 * j2 + l1 * n2;\n _p[10] = i1 * c2 + j1 * g2 + k1 * k2 + l1 * o2;\n _p[11] = i1 * d2 + j1 * h2 + k1 * l2 + l1 * p2;\n _p[12] = m1 * a2 + n1 * e2 + o1 * i2 + p1 * m2;\n _p[13] = m1 * b2 + n1 * f2 + o1 * j2 + p1 * n2;\n _p[14] = m1 * c2 + n1 * g2 + o1 * k2 + p1 * o2;\n _p[15] = m1 * d2 + n1 * h2 + o1 * l2 + p1 * p2;\n this._identityCalculated = false;\n return this;\n }\n\n function isIdentity() {\n if (!this._identityCalculated) {\n this._identity = !(this.props[0] !== 1 || this.props[1] !== 0 || this.props[2] !== 0 || this.props[3] !== 0 || this.props[4] !== 0 || this.props[5] !== 1 || this.props[6] !== 0 || this.props[7] !== 0 || this.props[8] !== 0 || this.props[9] !== 0 || this.props[10] !== 1 || this.props[11] !== 0 || this.props[12] !== 0 || this.props[13] !== 0 || this.props[14] !== 0 || this.props[15] !== 1);\n this._identityCalculated = true;\n }\n\n return this._identity;\n }\n\n function equals(matr) {\n var i = 0;\n\n while (i < 16) {\n if (matr.props[i] !== this.props[i]) {\n return false;\n }\n\n i += 1;\n }\n\n return true;\n }\n\n function clone(matr) {\n var i;\n\n for (i = 0; i < 16; i += 1) {\n matr.props[i] = this.props[i];\n }\n\n return matr;\n }\n\n function cloneFromProps(props) {\n var i;\n\n for (i = 0; i < 16; i += 1) {\n this.props[i] = props[i];\n }\n }\n\n function applyToPoint(x, y, z) {\n return {\n x: x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12],\n y: x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13],\n z: x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14]\n };\n /* return {\r\n x: x * me.a + y * me.c + me.e,\r\n y: x * me.b + y * me.d + me.f\r\n }; */\n }\n\n function applyToX(x, y, z) {\n return x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12];\n }\n\n function applyToY(x, y, z) {\n return x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13];\n }\n\n function applyToZ(x, y, z) {\n return x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14];\n }\n\n function getInverseMatrix() {\n var determinant = this.props[0] * this.props[5] - this.props[1] * this.props[4];\n var a = this.props[5] / determinant;\n var b = -this.props[1] / determinant;\n var c = -this.props[4] / determinant;\n var d = this.props[0] / determinant;\n var e = (this.props[4] * this.props[13] - this.props[5] * this.props[12]) / determinant;\n var f = -(this.props[0] * this.props[13] - this.props[1] * this.props[12]) / determinant;\n var inverseMatrix = new Matrix();\n inverseMatrix.props[0] = a;\n inverseMatrix.props[1] = b;\n inverseMatrix.props[4] = c;\n inverseMatrix.props[5] = d;\n inverseMatrix.props[12] = e;\n inverseMatrix.props[13] = f;\n return inverseMatrix;\n }\n\n function inversePoint(pt) {\n var inverseMatrix = this.getInverseMatrix();\n return inverseMatrix.applyToPointArray(pt[0], pt[1], pt[2] || 0);\n }\n\n function inversePoints(pts) {\n var i;\n var len = pts.length;\n var retPts = [];\n\n for (i = 0; i < len; i += 1) {\n retPts[i] = inversePoint(pts[i]);\n }\n\n return retPts;\n }\n\n function applyToTriplePoints(pt1, pt2, pt3) {\n var arr = createTypedArray('float32', 6);\n\n if (this.isIdentity()) {\n arr[0] = pt1[0];\n arr[1] = pt1[1];\n arr[2] = pt2[0];\n arr[3] = pt2[1];\n arr[4] = pt3[0];\n arr[5] = pt3[1];\n } else {\n var p0 = this.props[0];\n var p1 = this.props[1];\n var p4 = this.props[4];\n var p5 = this.props[5];\n var p12 = this.props[12];\n var p13 = this.props[13];\n arr[0] = pt1[0] * p0 + pt1[1] * p4 + p12;\n arr[1] = pt1[0] * p1 + pt1[1] * p5 + p13;\n arr[2] = pt2[0] * p0 + pt2[1] * p4 + p12;\n arr[3] = pt2[0] * p1 + pt2[1] * p5 + p13;\n arr[4] = pt3[0] * p0 + pt3[1] * p4 + p12;\n arr[5] = pt3[0] * p1 + pt3[1] * p5 + p13;\n }\n\n return arr;\n }\n\n function applyToPointArray(x, y, z) {\n var arr;\n\n if (this.isIdentity()) {\n arr = [x, y, z];\n } else {\n arr = [x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12], x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13], x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14]];\n }\n\n return arr;\n }\n\n function applyToPointStringified(x, y) {\n if (this.isIdentity()) {\n return x + ',' + y;\n }\n\n var _p = this.props;\n return Math.round((x * _p[0] + y * _p[4] + _p[12]) * 100) / 100 + ',' + Math.round((x * _p[1] + y * _p[5] + _p[13]) * 100) / 100;\n }\n\n function toCSS() {\n // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n\n /* if(this.isIdentity()) {\r\n return '';\r\n } */\n var i = 0;\n var props = this.props;\n var cssValue = 'matrix3d(';\n var v = 10000;\n\n while (i < 16) {\n cssValue += _rnd(props[i] * v) / v;\n cssValue += i === 15 ? ')' : ',';\n i += 1;\n }\n\n return cssValue;\n }\n\n function roundMatrixProperty(val) {\n var v = 10000;\n\n if (val < 0.000001 && val > 0 || val > -0.000001 && val < 0) {\n return _rnd(val * v) / v;\n }\n\n return val;\n }\n\n function to2dCSS() {\n // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n\n /* if(this.isIdentity()) {\r\n return '';\r\n } */\n var props = this.props;\n\n var _a = roundMatrixProperty(props[0]);\n\n var _b = roundMatrixProperty(props[1]);\n\n var _c = roundMatrixProperty(props[4]);\n\n var _d = roundMatrixProperty(props[5]);\n\n var _e = roundMatrixProperty(props[12]);\n\n var _f = roundMatrixProperty(props[13]);\n\n return 'matrix(' + _a + ',' + _b + ',' + _c + ',' + _d + ',' + _e + ',' + _f + ')';\n }\n\n return function () {\n this.reset = reset;\n this.rotate = rotate;\n this.rotateX = rotateX;\n this.rotateY = rotateY;\n this.rotateZ = rotateZ;\n this.skew = skew;\n this.skewFromAxis = skewFromAxis;\n this.shear = shear;\n this.scale = scale;\n this.setTransform = setTransform;\n this.translate = translate;\n this.transform = transform;\n this.applyToPoint = applyToPoint;\n this.applyToX = applyToX;\n this.applyToY = applyToY;\n this.applyToZ = applyToZ;\n this.applyToPointArray = applyToPointArray;\n this.applyToTriplePoints = applyToTriplePoints;\n this.applyToPointStringified = applyToPointStringified;\n this.toCSS = toCSS;\n this.to2dCSS = to2dCSS;\n this.clone = clone;\n this.cloneFromProps = cloneFromProps;\n this.equals = equals;\n this.inversePoints = inversePoints;\n this.inversePoint = inversePoint;\n this.getInverseMatrix = getInverseMatrix;\n this._t = this.transform;\n this.isIdentity = isIdentity;\n this._identity = true;\n this._identityCalculated = false;\n this.props = createTypedArray('float32', 16);\n this.reset();\n };\n }();\n\n function _typeof$3(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$3 = function _typeof(obj) { return typeof obj; }; } else { _typeof$3 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$3(obj); }\n var lottie = {};\n var standalone = '__[STANDALONE]__';\n var animationData = '__[ANIMATIONDATA]__';\n var renderer = '';\n\n function setLocation(href) {\n setLocationHref(href);\n }\n\n function searchAnimations() {\n if (standalone === true) {\n animationManager.searchAnimations(animationData, standalone, renderer);\n } else {\n animationManager.searchAnimations();\n }\n }\n\n function setSubframeRendering(flag) {\n setSubframeEnabled(flag);\n }\n\n function setPrefix(prefix) {\n setIdPrefix(prefix);\n }\n\n function loadAnimation(params) {\n if (standalone === true) {\n params.animationData = JSON.parse(animationData);\n }\n\n return animationManager.loadAnimation(params);\n }\n\n function setQuality(value) {\n if (typeof value === 'string') {\n switch (value) {\n case 'high':\n setDefaultCurveSegments(200);\n break;\n\n default:\n case 'medium':\n setDefaultCurveSegments(50);\n break;\n\n case 'low':\n setDefaultCurveSegments(10);\n break;\n }\n } else if (!isNaN(value) && value > 1) {\n setDefaultCurveSegments(value);\n }\n\n if (getDefaultCurveSegments() >= 50) {\n roundValues(false);\n } else {\n roundValues(true);\n }\n }\n\n function inBrowser() {\n return typeof navigator !== 'undefined';\n }\n\n function installPlugin(type, plugin) {\n if (type === 'expressions') {\n setExpressionsPlugin(plugin);\n }\n }\n\n function getFactory(name) {\n switch (name) {\n case 'propertyFactory':\n return PropertyFactory;\n\n case 'shapePropertyFactory':\n return ShapePropertyFactory;\n\n case 'matrix':\n return Matrix;\n\n default:\n return null;\n }\n }\n\n lottie.play = animationManager.play;\n lottie.pause = animationManager.pause;\n lottie.setLocationHref = setLocation;\n lottie.togglePause = animationManager.togglePause;\n lottie.setSpeed = animationManager.setSpeed;\n lottie.setDirection = animationManager.setDirection;\n lottie.stop = animationManager.stop;\n lottie.searchAnimations = searchAnimations;\n lottie.registerAnimation = animationManager.registerAnimation;\n lottie.loadAnimation = loadAnimation;\n lottie.setSubframeRendering = setSubframeRendering;\n lottie.resize = animationManager.resize; // lottie.start = start;\n\n lottie.goToAndStop = animationManager.goToAndStop;\n lottie.destroy = animationManager.destroy;\n lottie.setQuality = setQuality;\n lottie.inBrowser = inBrowser;\n lottie.installPlugin = installPlugin;\n lottie.freeze = animationManager.freeze;\n lottie.unfreeze = animationManager.unfreeze;\n lottie.setVolume = animationManager.setVolume;\n lottie.mute = animationManager.mute;\n lottie.unmute = animationManager.unmute;\n lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations;\n lottie.useWebWorker = setWebWorker;\n lottie.setIDPrefix = setPrefix;\n lottie.__getFactory = getFactory;\n lottie.version = '5.9.2';\n\n function checkReady() {\n if (document.readyState === 'complete') {\n clearInterval(readyStateCheckInterval);\n searchAnimations();\n }\n }\n\n function getQueryVariable(variable) {\n var vars = queryString.split('&');\n\n for (var i = 0; i < vars.length; i += 1) {\n var pair = vars[i].split('=');\n\n if (decodeURIComponent(pair[0]) == variable) {\n // eslint-disable-line eqeqeq\n return decodeURIComponent(pair[1]);\n }\n }\n\n return null;\n }\n\n var queryString;\n\n if (standalone) {\n var scripts = document.getElementsByTagName('script');\n var index = scripts.length - 1;\n var myScript = scripts[index] || {\n src: ''\n };\n queryString = myScript.src.replace(/^[^\\?]+\\??/, ''); // eslint-disable-line no-useless-escape\n\n renderer = getQueryVariable('renderer');\n }\n\n var readyStateCheckInterval = setInterval(checkReady, 100); // this adds bodymovin to the window object for backwards compatibility\n\n try {\n if (!((typeof exports === \"undefined\" ? \"undefined\" : _typeof$3(exports)) === 'object' && typeof module !== 'undefined') && !(typeof define === 'function' && define.amd) // eslint-disable-line no-undef\n ) {\n window.bodymovin = lottie;\n }\n } catch (err) {//\n }\n\n var ShapeModifiers = function () {\n var ob = {};\n var modifiers = {};\n ob.registerModifier = registerModifier;\n ob.getModifier = getModifier;\n\n function registerModifier(nm, factory) {\n if (!modifiers[nm]) {\n modifiers[nm] = factory;\n }\n }\n\n function getModifier(nm, elem, data) {\n return new modifiers[nm](elem, data);\n }\n\n return ob;\n }();\n\n function ShapeModifier() {}\n\n ShapeModifier.prototype.initModifierProperties = function () {};\n\n ShapeModifier.prototype.addShapeToModifier = function () {};\n\n ShapeModifier.prototype.addShape = function (data) {\n if (!this.closed) {\n // Adding shape to dynamic properties. It covers the case where a shape has no effects applied, to reset it's _mdf state on every tick.\n data.sh.container.addDynamicProperty(data.sh);\n var shapeData = {\n shape: data.sh,\n data: data,\n localShapeCollection: shapeCollectionPool.newShapeCollection()\n };\n this.shapes.push(shapeData);\n this.addShapeToModifier(shapeData);\n\n if (this._isAnimated) {\n data.setAsAnimated();\n }\n }\n };\n\n ShapeModifier.prototype.init = function (elem, data) {\n this.shapes = [];\n this.elem = elem;\n this.initDynamicPropertyContainer(elem);\n this.initModifierProperties(elem, data);\n this.frameId = initialDefaultFrame;\n this.closed = false;\n this.k = false;\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.getValue(true);\n }\n };\n\n ShapeModifier.prototype.processKeys = function () {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n };\n\n extendPrototype([DynamicPropertyContainer], ShapeModifier);\n\n function TrimModifier() {}\n\n extendPrototype([ShapeModifier], TrimModifier);\n\n TrimModifier.prototype.initModifierProperties = function (elem, data) {\n this.s = PropertyFactory.getProp(elem, data.s, 0, 0.01, this);\n this.e = PropertyFactory.getProp(elem, data.e, 0, 0.01, this);\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0, this);\n this.sValue = 0;\n this.eValue = 0;\n this.getValue = this.processKeys;\n this.m = data.m;\n this._isAnimated = !!this.s.effectsSequence.length || !!this.e.effectsSequence.length || !!this.o.effectsSequence.length;\n };\n\n TrimModifier.prototype.addShapeToModifier = function (shapeData) {\n shapeData.pathsData = [];\n };\n\n TrimModifier.prototype.calculateShapeEdges = function (s, e, shapeLength, addedLength, totalModifierLength) {\n var segments = [];\n\n if (e <= 1) {\n segments.push({\n s: s,\n e: e\n });\n } else if (s >= 1) {\n segments.push({\n s: s - 1,\n e: e - 1\n });\n } else {\n segments.push({\n s: s,\n e: 1\n });\n segments.push({\n s: 0,\n e: e - 1\n });\n }\n\n var shapeSegments = [];\n var i;\n var len = segments.length;\n var segmentOb;\n\n for (i = 0; i < len; i += 1) {\n segmentOb = segments[i];\n\n if (!(segmentOb.e * totalModifierLength < addedLength || segmentOb.s * totalModifierLength > addedLength + shapeLength)) {\n var shapeS;\n var shapeE;\n\n if (segmentOb.s * totalModifierLength <= addedLength) {\n shapeS = 0;\n } else {\n shapeS = (segmentOb.s * totalModifierLength - addedLength) / shapeLength;\n }\n\n if (segmentOb.e * totalModifierLength >= addedLength + shapeLength) {\n shapeE = 1;\n } else {\n shapeE = (segmentOb.e * totalModifierLength - addedLength) / shapeLength;\n }\n\n shapeSegments.push([shapeS, shapeE]);\n }\n }\n\n if (!shapeSegments.length) {\n shapeSegments.push([0, 0]);\n }\n\n return shapeSegments;\n };\n\n TrimModifier.prototype.releasePathsData = function (pathsData) {\n var i;\n var len = pathsData.length;\n\n for (i = 0; i < len; i += 1) {\n segmentsLengthPool.release(pathsData[i]);\n }\n\n pathsData.length = 0;\n return pathsData;\n };\n\n TrimModifier.prototype.processShapes = function (_isFirstFrame) {\n var s;\n var e;\n\n if (this._mdf || _isFirstFrame) {\n var o = this.o.v % 360 / 360;\n\n if (o < 0) {\n o += 1;\n }\n\n if (this.s.v > 1) {\n s = 1 + o;\n } else if (this.s.v < 0) {\n s = 0 + o;\n } else {\n s = this.s.v + o;\n }\n\n if (this.e.v > 1) {\n e = 1 + o;\n } else if (this.e.v < 0) {\n e = 0 + o;\n } else {\n e = this.e.v + o;\n }\n\n if (s > e) {\n var _s = s;\n s = e;\n e = _s;\n }\n\n s = Math.round(s * 10000) * 0.0001;\n e = Math.round(e * 10000) * 0.0001;\n this.sValue = s;\n this.eValue = e;\n } else {\n s = this.sValue;\n e = this.eValue;\n }\n\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var pathsData;\n var pathData;\n var totalShapeLength;\n var totalModifierLength = 0;\n\n if (e === s) {\n for (i = 0; i < len; i += 1) {\n this.shapes[i].localShapeCollection.releaseShapes();\n this.shapes[i].shape._mdf = true;\n this.shapes[i].shape.paths = this.shapes[i].localShapeCollection;\n\n if (this._mdf) {\n this.shapes[i].pathsData.length = 0;\n }\n }\n } else if (!(e === 1 && s === 0 || e === 0 && s === 1)) {\n var segments = [];\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i]; // if shape hasn't changed and trim properties haven't changed, cached previous path can be used\n\n if (!shapeData.shape._mdf && !this._mdf && !_isFirstFrame && this.m !== 2) {\n shapeData.shape.paths = shapeData.localShapeCollection;\n } else {\n shapePaths = shapeData.shape.paths;\n jLen = shapePaths._length;\n totalShapeLength = 0;\n\n if (!shapeData.shape._mdf && shapeData.pathsData.length) {\n totalShapeLength = shapeData.totalShapeLength;\n } else {\n pathsData = this.releasePathsData(shapeData.pathsData);\n\n for (j = 0; j < jLen; j += 1) {\n pathData = bez.getSegmentsLength(shapePaths.shapes[j]);\n pathsData.push(pathData);\n totalShapeLength += pathData.totalLength;\n }\n\n shapeData.totalShapeLength = totalShapeLength;\n shapeData.pathsData = pathsData;\n }\n\n totalModifierLength += totalShapeLength;\n shapeData.shape._mdf = true;\n }\n }\n\n var shapeS = s;\n var shapeE = e;\n var addedLength = 0;\n var edges;\n\n for (i = len - 1; i >= 0; i -= 1) {\n shapeData = this.shapes[i];\n\n if (shapeData.shape._mdf) {\n localShapeCollection = shapeData.localShapeCollection;\n localShapeCollection.releaseShapes(); // if m === 2 means paths are trimmed individually so edges need to be found for this specific shape relative to whoel group\n\n if (this.m === 2 && len > 1) {\n edges = this.calculateShapeEdges(s, e, shapeData.totalShapeLength, addedLength, totalModifierLength);\n addedLength += shapeData.totalShapeLength;\n } else {\n edges = [[shapeS, shapeE]];\n }\n\n jLen = edges.length;\n\n for (j = 0; j < jLen; j += 1) {\n shapeS = edges[j][0];\n shapeE = edges[j][1];\n segments.length = 0;\n\n if (shapeE <= 1) {\n segments.push({\n s: shapeData.totalShapeLength * shapeS,\n e: shapeData.totalShapeLength * shapeE\n });\n } else if (shapeS >= 1) {\n segments.push({\n s: shapeData.totalShapeLength * (shapeS - 1),\n e: shapeData.totalShapeLength * (shapeE - 1)\n });\n } else {\n segments.push({\n s: shapeData.totalShapeLength * shapeS,\n e: shapeData.totalShapeLength\n });\n segments.push({\n s: 0,\n e: shapeData.totalShapeLength * (shapeE - 1)\n });\n }\n\n var newShapesData = this.addShapes(shapeData, segments[0]);\n\n if (segments[0].s !== segments[0].e) {\n if (segments.length > 1) {\n var lastShapeInCollection = shapeData.shape.paths.shapes[shapeData.shape.paths._length - 1];\n\n if (lastShapeInCollection.c) {\n var lastShape = newShapesData.pop();\n this.addPaths(newShapesData, localShapeCollection);\n newShapesData = this.addShapes(shapeData, segments[1], lastShape);\n } else {\n this.addPaths(newShapesData, localShapeCollection);\n newShapesData = this.addShapes(shapeData, segments[1]);\n }\n }\n\n this.addPaths(newShapesData, localShapeCollection);\n }\n }\n\n shapeData.shape.paths = localShapeCollection;\n }\n }\n } else if (this._mdf) {\n for (i = 0; i < len; i += 1) {\n // Releasign Trim Cached paths data when no trim applied in case shapes are modified inbetween.\n // Don't remove this even if it's losing cached info.\n this.shapes[i].pathsData.length = 0;\n this.shapes[i].shape._mdf = true;\n }\n }\n };\n\n TrimModifier.prototype.addPaths = function (newPaths, localShapeCollection) {\n var i;\n var len = newPaths.length;\n\n for (i = 0; i < len; i += 1) {\n localShapeCollection.addShape(newPaths[i]);\n }\n };\n\n TrimModifier.prototype.addSegment = function (pt1, pt2, pt3, pt4, shapePath, pos, newShape) {\n shapePath.setXYAt(pt2[0], pt2[1], 'o', pos);\n shapePath.setXYAt(pt3[0], pt3[1], 'i', pos + 1);\n\n if (newShape) {\n shapePath.setXYAt(pt1[0], pt1[1], 'v', pos);\n }\n\n shapePath.setXYAt(pt4[0], pt4[1], 'v', pos + 1);\n };\n\n TrimModifier.prototype.addSegmentFromArray = function (points, shapePath, pos, newShape) {\n shapePath.setXYAt(points[1], points[5], 'o', pos);\n shapePath.setXYAt(points[2], points[6], 'i', pos + 1);\n\n if (newShape) {\n shapePath.setXYAt(points[0], points[4], 'v', pos);\n }\n\n shapePath.setXYAt(points[3], points[7], 'v', pos + 1);\n };\n\n TrimModifier.prototype.addShapes = function (shapeData, shapeSegment, shapePath) {\n var pathsData = shapeData.pathsData;\n var shapePaths = shapeData.shape.paths.shapes;\n var i;\n var len = shapeData.shape.paths._length;\n var j;\n var jLen;\n var addedLength = 0;\n var currentLengthData;\n var segmentCount;\n var lengths;\n var segment;\n var shapes = [];\n var initPos;\n var newShape = true;\n\n if (!shapePath) {\n shapePath = shapePool.newElement();\n segmentCount = 0;\n initPos = 0;\n } else {\n segmentCount = shapePath._length;\n initPos = shapePath._length;\n }\n\n shapes.push(shapePath);\n\n for (i = 0; i < len; i += 1) {\n lengths = pathsData[i].lengths;\n shapePath.c = shapePaths[i].c;\n jLen = shapePaths[i].c ? lengths.length : lengths.length + 1;\n\n for (j = 1; j < jLen; j += 1) {\n currentLengthData = lengths[j - 1];\n\n if (addedLength + currentLengthData.addedLength < shapeSegment.s) {\n addedLength += currentLengthData.addedLength;\n shapePath.c = false;\n } else if (addedLength > shapeSegment.e) {\n shapePath.c = false;\n break;\n } else {\n if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + currentLengthData.addedLength) {\n this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[j], shapePaths[i].v[j], shapePath, segmentCount, newShape);\n newShape = false;\n } else {\n segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[j], shapePaths[i].o[j - 1], shapePaths[i].i[j], (shapeSegment.s - addedLength) / currentLengthData.addedLength, (shapeSegment.e - addedLength) / currentLengthData.addedLength, lengths[j - 1]);\n this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n\n newShape = false;\n shapePath.c = false;\n }\n\n addedLength += currentLengthData.addedLength;\n segmentCount += 1;\n }\n }\n\n if (shapePaths[i].c && lengths.length) {\n currentLengthData = lengths[j - 1];\n\n if (addedLength <= shapeSegment.e) {\n var segmentLength = lengths[j - 1].addedLength;\n\n if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + segmentLength) {\n this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[0], shapePaths[i].v[0], shapePath, segmentCount, newShape);\n newShape = false;\n } else {\n segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[0], shapePaths[i].o[j - 1], shapePaths[i].i[0], (shapeSegment.s - addedLength) / segmentLength, (shapeSegment.e - addedLength) / segmentLength, lengths[j - 1]);\n this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n\n newShape = false;\n shapePath.c = false;\n }\n } else {\n shapePath.c = false;\n }\n\n addedLength += currentLengthData.addedLength;\n segmentCount += 1;\n }\n\n if (shapePath._length) {\n shapePath.setXYAt(shapePath.v[initPos][0], shapePath.v[initPos][1], 'i', initPos);\n shapePath.setXYAt(shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1], 'o', shapePath._length - 1);\n }\n\n if (addedLength > shapeSegment.e) {\n break;\n }\n\n if (i < len - 1) {\n shapePath = shapePool.newElement();\n newShape = true;\n shapes.push(shapePath);\n segmentCount = 0;\n }\n }\n\n return shapes;\n };\n\n function PuckerAndBloatModifier() {}\n\n extendPrototype([ShapeModifier], PuckerAndBloatModifier);\n\n PuckerAndBloatModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.amount = PropertyFactory.getProp(elem, data.a, 0, null, this);\n this._isAnimated = !!this.amount.effectsSequence.length;\n };\n\n PuckerAndBloatModifier.prototype.processPath = function (path, amount) {\n var percent = amount / 100;\n var centerPoint = [0, 0];\n var pathLength = path._length;\n var i = 0;\n\n for (i = 0; i < pathLength; i += 1) {\n centerPoint[0] += path.v[i][0];\n centerPoint[1] += path.v[i][1];\n }\n\n centerPoint[0] /= pathLength;\n centerPoint[1] /= pathLength;\n var clonedPath = shapePool.newElement();\n clonedPath.c = path.c;\n var vX;\n var vY;\n var oX;\n var oY;\n var iX;\n var iY;\n\n for (i = 0; i < pathLength; i += 1) {\n vX = path.v[i][0] + (centerPoint[0] - path.v[i][0]) * percent;\n vY = path.v[i][1] + (centerPoint[1] - path.v[i][1]) * percent;\n oX = path.o[i][0] + (centerPoint[0] - path.o[i][0]) * -percent;\n oY = path.o[i][1] + (centerPoint[1] - path.o[i][1]) * -percent;\n iX = path.i[i][0] + (centerPoint[0] - path.i[i][0]) * -percent;\n iY = path.i[i][1] + (centerPoint[1] - path.i[i][1]) * -percent;\n clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, i);\n }\n\n return clonedPath;\n };\n\n PuckerAndBloatModifier.prototype.processShapes = function (_isFirstFrame) {\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var amount = this.amount.v;\n\n if (amount !== 0) {\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n localShapeCollection = shapeData.localShapeCollection;\n\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n localShapeCollection.releaseShapes();\n shapeData.shape._mdf = true;\n shapePaths = shapeData.shape.paths.shapes;\n jLen = shapeData.shape.paths._length;\n\n for (j = 0; j < jLen; j += 1) {\n localShapeCollection.addShape(this.processPath(shapePaths[j], amount));\n }\n }\n\n shapeData.shape.paths = shapeData.localShapeCollection;\n }\n }\n\n if (!this.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n\n var TransformPropertyFactory = function () {\n var defaultVector = [0, 0];\n\n function applyToMatrix(mat) {\n var _mdf = this._mdf;\n this.iterateDynamicProperties();\n this._mdf = this._mdf || _mdf;\n\n if (this.a) {\n mat.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\n }\n\n if (this.s) {\n mat.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\n }\n\n if (this.sk) {\n mat.skewFromAxis(-this.sk.v, this.sa.v);\n }\n\n if (this.r) {\n mat.rotate(-this.r.v);\n } else {\n mat.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);\n }\n\n if (this.data.p.s) {\n if (this.data.p.z) {\n mat.translate(this.px.v, this.py.v, -this.pz.v);\n } else {\n mat.translate(this.px.v, this.py.v, 0);\n }\n } else {\n mat.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n }\n }\n\n function processKeys(forceRender) {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n if (this._isDirty) {\n this.precalculateMatrix();\n this._isDirty = false;\n }\n\n this.iterateDynamicProperties();\n\n if (this._mdf || forceRender) {\n var frameRate;\n this.v.cloneFromProps(this.pre.props);\n\n if (this.appliedTransformations < 1) {\n this.v.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\n }\n\n if (this.appliedTransformations < 2) {\n this.v.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\n }\n\n if (this.sk && this.appliedTransformations < 3) {\n this.v.skewFromAxis(-this.sk.v, this.sa.v);\n }\n\n if (this.r && this.appliedTransformations < 4) {\n this.v.rotate(-this.r.v);\n } else if (!this.r && this.appliedTransformations < 4) {\n this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);\n }\n\n if (this.autoOriented) {\n var v1;\n var v2;\n frameRate = this.elem.globalData.frameRate;\n\n if (this.p && this.p.keyframes && this.p.getValueAtTime) {\n if (this.p._caching.lastFrame + this.p.offsetTime <= this.p.keyframes[0].t) {\n v1 = this.p.getValueAtTime((this.p.keyframes[0].t + 0.01) / frameRate, 0);\n v2 = this.p.getValueAtTime(this.p.keyframes[0].t / frameRate, 0);\n } else if (this.p._caching.lastFrame + this.p.offsetTime >= this.p.keyframes[this.p.keyframes.length - 1].t) {\n v1 = this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length - 1].t / frameRate, 0);\n v2 = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t - 0.05) / frameRate, 0);\n } else {\n v1 = this.p.pv;\n v2 = this.p.getValueAtTime((this.p._caching.lastFrame + this.p.offsetTime - 0.01) / frameRate, this.p.offsetTime);\n }\n } else if (this.px && this.px.keyframes && this.py.keyframes && this.px.getValueAtTime && this.py.getValueAtTime) {\n v1 = [];\n v2 = [];\n var px = this.px;\n var py = this.py;\n\n if (px._caching.lastFrame + px.offsetTime <= px.keyframes[0].t) {\n v1[0] = px.getValueAtTime((px.keyframes[0].t + 0.01) / frameRate, 0);\n v1[1] = py.getValueAtTime((py.keyframes[0].t + 0.01) / frameRate, 0);\n v2[0] = px.getValueAtTime(px.keyframes[0].t / frameRate, 0);\n v2[1] = py.getValueAtTime(py.keyframes[0].t / frameRate, 0);\n } else if (px._caching.lastFrame + px.offsetTime >= px.keyframes[px.keyframes.length - 1].t) {\n v1[0] = px.getValueAtTime(px.keyframes[px.keyframes.length - 1].t / frameRate, 0);\n v1[1] = py.getValueAtTime(py.keyframes[py.keyframes.length - 1].t / frameRate, 0);\n v2[0] = px.getValueAtTime((px.keyframes[px.keyframes.length - 1].t - 0.01) / frameRate, 0);\n v2[1] = py.getValueAtTime((py.keyframes[py.keyframes.length - 1].t - 0.01) / frameRate, 0);\n } else {\n v1 = [px.pv, py.pv];\n v2[0] = px.getValueAtTime((px._caching.lastFrame + px.offsetTime - 0.01) / frameRate, px.offsetTime);\n v2[1] = py.getValueAtTime((py._caching.lastFrame + py.offsetTime - 0.01) / frameRate, py.offsetTime);\n }\n } else {\n v2 = defaultVector;\n v1 = v2;\n }\n\n this.v.rotate(-Math.atan2(v1[1] - v2[1], v1[0] - v2[0]));\n }\n\n if (this.data.p && this.data.p.s) {\n if (this.data.p.z) {\n this.v.translate(this.px.v, this.py.v, -this.pz.v);\n } else {\n this.v.translate(this.px.v, this.py.v, 0);\n }\n } else {\n this.v.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n }\n }\n\n this.frameId = this.elem.globalData.frameId;\n }\n\n function precalculateMatrix() {\n if (!this.a.k) {\n this.pre.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\n this.appliedTransformations = 1;\n } else {\n return;\n }\n\n if (!this.s.effectsSequence.length) {\n this.pre.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\n this.appliedTransformations = 2;\n } else {\n return;\n }\n\n if (this.sk) {\n if (!this.sk.effectsSequence.length && !this.sa.effectsSequence.length) {\n this.pre.skewFromAxis(-this.sk.v, this.sa.v);\n this.appliedTransformations = 3;\n } else {\n return;\n }\n }\n\n if (this.r) {\n if (!this.r.effectsSequence.length) {\n this.pre.rotate(-this.r.v);\n this.appliedTransformations = 4;\n }\n } else if (!this.rz.effectsSequence.length && !this.ry.effectsSequence.length && !this.rx.effectsSequence.length && !this.or.effectsSequence.length) {\n this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);\n this.appliedTransformations = 4;\n }\n }\n\n function autoOrient() {//\n // var prevP = this.getValueAtTime();\n }\n\n function addDynamicProperty(prop) {\n this._addDynamicProperty(prop);\n\n this.elem.addDynamicProperty(prop);\n this._isDirty = true;\n }\n\n function TransformProperty(elem, data, container) {\n this.elem = elem;\n this.frameId = -1;\n this.propType = 'transform';\n this.data = data;\n this.v = new Matrix(); // Precalculated matrix with non animated properties\n\n this.pre = new Matrix();\n this.appliedTransformations = 0;\n this.initDynamicPropertyContainer(container || elem);\n\n if (data.p && data.p.s) {\n this.px = PropertyFactory.getProp(elem, data.p.x, 0, 0, this);\n this.py = PropertyFactory.getProp(elem, data.p.y, 0, 0, this);\n\n if (data.p.z) {\n this.pz = PropertyFactory.getProp(elem, data.p.z, 0, 0, this);\n }\n } else {\n this.p = PropertyFactory.getProp(elem, data.p || {\n k: [0, 0, 0]\n }, 1, 0, this);\n }\n\n if (data.rx) {\n this.rx = PropertyFactory.getProp(elem, data.rx, 0, degToRads, this);\n this.ry = PropertyFactory.getProp(elem, data.ry, 0, degToRads, this);\n this.rz = PropertyFactory.getProp(elem, data.rz, 0, degToRads, this);\n\n if (data.or.k[0].ti) {\n var i;\n var len = data.or.k.length;\n\n for (i = 0; i < len; i += 1) {\n data.or.k[i].to = null;\n data.or.k[i].ti = null;\n }\n }\n\n this.or = PropertyFactory.getProp(elem, data.or, 1, degToRads, this); // sh Indicates it needs to be capped between -180 and 180\n\n this.or.sh = true;\n } else {\n this.r = PropertyFactory.getProp(elem, data.r || {\n k: 0\n }, 0, degToRads, this);\n }\n\n if (data.sk) {\n this.sk = PropertyFactory.getProp(elem, data.sk, 0, degToRads, this);\n this.sa = PropertyFactory.getProp(elem, data.sa, 0, degToRads, this);\n }\n\n this.a = PropertyFactory.getProp(elem, data.a || {\n k: [0, 0, 0]\n }, 1, 0, this);\n this.s = PropertyFactory.getProp(elem, data.s || {\n k: [100, 100, 100]\n }, 1, 0.01, this); // Opacity is not part of the transform properties, that's why it won't use this.dynamicProperties. That way transforms won't get updated if opacity changes.\n\n if (data.o) {\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, elem);\n } else {\n this.o = {\n _mdf: false,\n v: 1\n };\n }\n\n this._isDirty = true;\n\n if (!this.dynamicProperties.length) {\n this.getValue(true);\n }\n }\n\n TransformProperty.prototype = {\n applyToMatrix: applyToMatrix,\n getValue: processKeys,\n precalculateMatrix: precalculateMatrix,\n autoOrient: autoOrient\n };\n extendPrototype([DynamicPropertyContainer], TransformProperty);\n TransformProperty.prototype.addDynamicProperty = addDynamicProperty;\n TransformProperty.prototype._addDynamicProperty = DynamicPropertyContainer.prototype.addDynamicProperty;\n\n function getTransformProperty(elem, data, container) {\n return new TransformProperty(elem, data, container);\n }\n\n return {\n getTransformProperty: getTransformProperty\n };\n }();\n\n function RepeaterModifier() {}\n\n extendPrototype([ShapeModifier], RepeaterModifier);\n\n RepeaterModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.c = PropertyFactory.getProp(elem, data.c, 0, null, this);\n this.o = PropertyFactory.getProp(elem, data.o, 0, null, this);\n this.tr = TransformPropertyFactory.getTransformProperty(elem, data.tr, this);\n this.so = PropertyFactory.getProp(elem, data.tr.so, 0, 0.01, this);\n this.eo = PropertyFactory.getProp(elem, data.tr.eo, 0, 0.01, this);\n this.data = data;\n\n if (!this.dynamicProperties.length) {\n this.getValue(true);\n }\n\n this._isAnimated = !!this.dynamicProperties.length;\n this.pMatrix = new Matrix();\n this.rMatrix = new Matrix();\n this.sMatrix = new Matrix();\n this.tMatrix = new Matrix();\n this.matrix = new Matrix();\n };\n\n RepeaterModifier.prototype.applyTransforms = function (pMatrix, rMatrix, sMatrix, transform, perc, inv) {\n var dir = inv ? -1 : 1;\n var scaleX = transform.s.v[0] + (1 - transform.s.v[0]) * (1 - perc);\n var scaleY = transform.s.v[1] + (1 - transform.s.v[1]) * (1 - perc);\n pMatrix.translate(transform.p.v[0] * dir * perc, transform.p.v[1] * dir * perc, transform.p.v[2]);\n rMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n rMatrix.rotate(-transform.r.v * dir * perc);\n rMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n sMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n sMatrix.scale(inv ? 1 / scaleX : scaleX, inv ? 1 / scaleY : scaleY);\n sMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n };\n\n RepeaterModifier.prototype.init = function (elem, arr, pos, elemsData) {\n this.elem = elem;\n this.arr = arr;\n this.pos = pos;\n this.elemsData = elemsData;\n this._currentCopies = 0;\n this._elements = [];\n this._groups = [];\n this.frameId = -1;\n this.initDynamicPropertyContainer(elem);\n this.initModifierProperties(elem, arr[pos]);\n\n while (pos > 0) {\n pos -= 1; // this._elements.unshift(arr.splice(pos,1)[0]);\n\n this._elements.unshift(arr[pos]);\n }\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.getValue(true);\n }\n };\n\n RepeaterModifier.prototype.resetElements = function (elements) {\n var i;\n var len = elements.length;\n\n for (i = 0; i < len; i += 1) {\n elements[i]._processed = false;\n\n if (elements[i].ty === 'gr') {\n this.resetElements(elements[i].it);\n }\n }\n };\n\n RepeaterModifier.prototype.cloneElements = function (elements) {\n var newElements = JSON.parse(JSON.stringify(elements));\n this.resetElements(newElements);\n return newElements;\n };\n\n RepeaterModifier.prototype.changeGroupRender = function (elements, renderFlag) {\n var i;\n var len = elements.length;\n\n for (i = 0; i < len; i += 1) {\n elements[i]._render = renderFlag;\n\n if (elements[i].ty === 'gr') {\n this.changeGroupRender(elements[i].it, renderFlag);\n }\n }\n };\n\n RepeaterModifier.prototype.processShapes = function (_isFirstFrame) {\n var items;\n var itemsTransform;\n var i;\n var dir;\n var cont;\n var hasReloaded = false;\n\n if (this._mdf || _isFirstFrame) {\n var copies = Math.ceil(this.c.v);\n\n if (this._groups.length < copies) {\n while (this._groups.length < copies) {\n var group = {\n it: this.cloneElements(this._elements),\n ty: 'gr'\n };\n group.it.push({\n a: {\n a: 0,\n ix: 1,\n k: [0, 0]\n },\n nm: 'Transform',\n o: {\n a: 0,\n ix: 7,\n k: 100\n },\n p: {\n a: 0,\n ix: 2,\n k: [0, 0]\n },\n r: {\n a: 1,\n ix: 6,\n k: [{\n s: 0,\n e: 0,\n t: 0\n }, {\n s: 0,\n e: 0,\n t: 1\n }]\n },\n s: {\n a: 0,\n ix: 3,\n k: [100, 100]\n },\n sa: {\n a: 0,\n ix: 5,\n k: 0\n },\n sk: {\n a: 0,\n ix: 4,\n k: 0\n },\n ty: 'tr'\n });\n this.arr.splice(0, 0, group);\n\n this._groups.splice(0, 0, group);\n\n this._currentCopies += 1;\n }\n\n this.elem.reloadShapes();\n hasReloaded = true;\n }\n\n cont = 0;\n var renderFlag;\n\n for (i = 0; i <= this._groups.length - 1; i += 1) {\n renderFlag = cont < copies;\n this._groups[i]._render = renderFlag;\n this.changeGroupRender(this._groups[i].it, renderFlag);\n\n if (!renderFlag) {\n var elems = this.elemsData[i].it;\n var transformData = elems[elems.length - 1];\n\n if (transformData.transform.op.v !== 0) {\n transformData.transform.op._mdf = true;\n transformData.transform.op.v = 0;\n } else {\n transformData.transform.op._mdf = false;\n }\n }\n\n cont += 1;\n }\n\n this._currentCopies = copies; /// /\n\n var offset = this.o.v;\n var offsetModulo = offset % 1;\n var roundOffset = offset > 0 ? Math.floor(offset) : Math.ceil(offset);\n var pProps = this.pMatrix.props;\n var rProps = this.rMatrix.props;\n var sProps = this.sMatrix.props;\n this.pMatrix.reset();\n this.rMatrix.reset();\n this.sMatrix.reset();\n this.tMatrix.reset();\n this.matrix.reset();\n var iteration = 0;\n\n if (offset > 0) {\n while (iteration < roundOffset) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false);\n iteration += 1;\n }\n\n if (offsetModulo) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, offsetModulo, false);\n iteration += offsetModulo;\n }\n } else if (offset < 0) {\n while (iteration > roundOffset) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, true);\n iteration -= 1;\n }\n\n if (offsetModulo) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, -offsetModulo, true);\n iteration -= offsetModulo;\n }\n }\n\n i = this.data.m === 1 ? 0 : this._currentCopies - 1;\n dir = this.data.m === 1 ? 1 : -1;\n cont = this._currentCopies;\n var j;\n var jLen;\n\n while (cont) {\n items = this.elemsData[i].it;\n itemsTransform = items[items.length - 1].transform.mProps.v.props;\n jLen = itemsTransform.length;\n items[items.length - 1].transform.mProps._mdf = true;\n items[items.length - 1].transform.op._mdf = true;\n items[items.length - 1].transform.op.v = this._currentCopies === 1 ? this.so.v : this.so.v + (this.eo.v - this.so.v) * (i / (this._currentCopies - 1));\n\n if (iteration !== 0) {\n if (i !== 0 && dir === 1 || i !== this._currentCopies - 1 && dir === -1) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false);\n }\n\n this.matrix.transform(rProps[0], rProps[1], rProps[2], rProps[3], rProps[4], rProps[5], rProps[6], rProps[7], rProps[8], rProps[9], rProps[10], rProps[11], rProps[12], rProps[13], rProps[14], rProps[15]);\n this.matrix.transform(sProps[0], sProps[1], sProps[2], sProps[3], sProps[4], sProps[5], sProps[6], sProps[7], sProps[8], sProps[9], sProps[10], sProps[11], sProps[12], sProps[13], sProps[14], sProps[15]);\n this.matrix.transform(pProps[0], pProps[1], pProps[2], pProps[3], pProps[4], pProps[5], pProps[6], pProps[7], pProps[8], pProps[9], pProps[10], pProps[11], pProps[12], pProps[13], pProps[14], pProps[15]);\n\n for (j = 0; j < jLen; j += 1) {\n itemsTransform[j] = this.matrix.props[j];\n }\n\n this.matrix.reset();\n } else {\n this.matrix.reset();\n\n for (j = 0; j < jLen; j += 1) {\n itemsTransform[j] = this.matrix.props[j];\n }\n }\n\n iteration += 1;\n cont -= 1;\n i += dir;\n }\n } else {\n cont = this._currentCopies;\n i = 0;\n dir = 1;\n\n while (cont) {\n items = this.elemsData[i].it;\n itemsTransform = items[items.length - 1].transform.mProps.v.props;\n items[items.length - 1].transform.mProps._mdf = false;\n items[items.length - 1].transform.op._mdf = false;\n cont -= 1;\n i += dir;\n }\n }\n\n return hasReloaded;\n };\n\n RepeaterModifier.prototype.addShape = function () {};\n\n function RoundCornersModifier() {}\n\n extendPrototype([ShapeModifier], RoundCornersModifier);\n\n RoundCornersModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.rd = PropertyFactory.getProp(elem, data.r, 0, null, this);\n this._isAnimated = !!this.rd.effectsSequence.length;\n };\n\n RoundCornersModifier.prototype.processPath = function (path, round) {\n var clonedPath = shapePool.newElement();\n clonedPath.c = path.c;\n var i;\n var len = path._length;\n var currentV;\n var currentI;\n var currentO;\n var closerV;\n var distance;\n var newPosPerc;\n var index = 0;\n var vX;\n var vY;\n var oX;\n var oY;\n var iX;\n var iY;\n\n for (i = 0; i < len; i += 1) {\n currentV = path.v[i];\n currentO = path.o[i];\n currentI = path.i[i];\n\n if (currentV[0] === currentO[0] && currentV[1] === currentO[1] && currentV[0] === currentI[0] && currentV[1] === currentI[1]) {\n if ((i === 0 || i === len - 1) && !path.c) {\n clonedPath.setTripleAt(currentV[0], currentV[1], currentO[0], currentO[1], currentI[0], currentI[1], index);\n /* clonedPath.v[index] = currentV;\r\n clonedPath.o[index] = currentO;\r\n clonedPath.i[index] = currentI; */\n\n index += 1;\n } else {\n if (i === 0) {\n closerV = path.v[len - 1];\n } else {\n closerV = path.v[i - 1];\n }\n\n distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n iX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n vX = iX;\n iY = currentV[1] - (currentV[1] - closerV[1]) * newPosPerc;\n vY = iY;\n oX = vX - (vX - currentV[0]) * roundCorner;\n oY = vY - (vY - currentV[1]) * roundCorner;\n clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n index += 1;\n\n if (i === len - 1) {\n closerV = path.v[0];\n } else {\n closerV = path.v[i + 1];\n }\n\n distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n oX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n vX = oX;\n oY = currentV[1] + (closerV[1] - currentV[1]) * newPosPerc;\n vY = oY;\n iX = vX - (vX - currentV[0]) * roundCorner;\n iY = vY - (vY - currentV[1]) * roundCorner;\n clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n index += 1;\n }\n } else {\n clonedPath.setTripleAt(path.v[i][0], path.v[i][1], path.o[i][0], path.o[i][1], path.i[i][0], path.i[i][1], index);\n index += 1;\n }\n }\n\n return clonedPath;\n };\n\n RoundCornersModifier.prototype.processShapes = function (_isFirstFrame) {\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var rd = this.rd.v;\n\n if (rd !== 0) {\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n localShapeCollection = shapeData.localShapeCollection;\n\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n localShapeCollection.releaseShapes();\n shapeData.shape._mdf = true;\n shapePaths = shapeData.shape.paths.shapes;\n jLen = shapeData.shape.paths._length;\n\n for (j = 0; j < jLen; j += 1) {\n localShapeCollection.addShape(this.processPath(shapePaths[j], rd));\n }\n }\n\n shapeData.shape.paths = shapeData.localShapeCollection;\n }\n }\n\n if (!this.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n\n function getFontProperties(fontData) {\n var styles = fontData.fStyle ? fontData.fStyle.split(' ') : [];\n var fWeight = 'normal';\n var fStyle = 'normal';\n var len = styles.length;\n var styleName;\n\n for (var i = 0; i < len; i += 1) {\n styleName = styles[i].toLowerCase();\n\n switch (styleName) {\n case 'italic':\n fStyle = 'italic';\n break;\n\n case 'bold':\n fWeight = '700';\n break;\n\n case 'black':\n fWeight = '900';\n break;\n\n case 'medium':\n fWeight = '500';\n break;\n\n case 'regular':\n case 'normal':\n fWeight = '400';\n break;\n\n case 'light':\n case 'thin':\n fWeight = '200';\n break;\n\n default:\n break;\n }\n }\n\n return {\n style: fStyle,\n weight: fontData.fWeight || fWeight\n };\n }\n\n var FontManager = function () {\n var maxWaitingTime = 5000;\n var emptyChar = {\n w: 0,\n size: 0,\n shapes: [],\n data: {\n shapes: []\n }\n };\n var combinedCharacters = []; // Hindi characters\n\n combinedCharacters = combinedCharacters.concat([2304, 2305, 2306, 2307, 2362, 2363, 2364, 2364, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2387, 2388, 2389, 2390, 2391, 2402, 2403]);\n var surrogateModifiers = ['d83cdffb', 'd83cdffc', 'd83cdffd', 'd83cdffe', 'd83cdfff'];\n var zeroWidthJoiner = [65039, 8205];\n\n function trimFontOptions(font) {\n var familyArray = font.split(',');\n var i;\n var len = familyArray.length;\n var enabledFamilies = [];\n\n for (i = 0; i < len; i += 1) {\n if (familyArray[i] !== 'sans-serif' && familyArray[i] !== 'monospace') {\n enabledFamilies.push(familyArray[i]);\n }\n }\n\n return enabledFamilies.join(',');\n }\n\n function setUpNode(font, family) {\n var parentNode = createTag('span'); // Node is invisible to screen readers.\n\n parentNode.setAttribute('aria-hidden', true);\n parentNode.style.fontFamily = family;\n var node = createTag('span'); // Characters that vary significantly among different fonts\n\n node.innerText = 'giItT1WQy@!-/#'; // Visible - so we can measure it - but not on the screen\n\n parentNode.style.position = 'absolute';\n parentNode.style.left = '-10000px';\n parentNode.style.top = '-10000px'; // Large font size makes even subtle changes obvious\n\n parentNode.style.fontSize = '300px'; // Reset any font properties\n\n parentNode.style.fontVariant = 'normal';\n parentNode.style.fontStyle = 'normal';\n parentNode.style.fontWeight = 'normal';\n parentNode.style.letterSpacing = '0';\n parentNode.appendChild(node);\n document.body.appendChild(parentNode); // Remember width with no applied web font\n\n var width = node.offsetWidth;\n node.style.fontFamily = trimFontOptions(font) + ', ' + family;\n return {\n node: node,\n w: width,\n parent: parentNode\n };\n }\n\n function checkLoadedFonts() {\n var i;\n var len = this.fonts.length;\n var node;\n var w;\n var loadedCount = len;\n\n for (i = 0; i < len; i += 1) {\n if (this.fonts[i].loaded) {\n loadedCount -= 1;\n } else if (this.fonts[i].fOrigin === 'n' || this.fonts[i].origin === 0) {\n this.fonts[i].loaded = true;\n } else {\n node = this.fonts[i].monoCase.node;\n w = this.fonts[i].monoCase.w;\n\n if (node.offsetWidth !== w) {\n loadedCount -= 1;\n this.fonts[i].loaded = true;\n } else {\n node = this.fonts[i].sansCase.node;\n w = this.fonts[i].sansCase.w;\n\n if (node.offsetWidth !== w) {\n loadedCount -= 1;\n this.fonts[i].loaded = true;\n }\n }\n\n if (this.fonts[i].loaded) {\n this.fonts[i].sansCase.parent.parentNode.removeChild(this.fonts[i].sansCase.parent);\n this.fonts[i].monoCase.parent.parentNode.removeChild(this.fonts[i].monoCase.parent);\n }\n }\n }\n\n if (loadedCount !== 0 && Date.now() - this.initTime < maxWaitingTime) {\n setTimeout(this.checkLoadedFontsBinded, 20);\n } else {\n setTimeout(this.setIsLoadedBinded, 10);\n }\n }\n\n function createHelper(def, fontData) {\n var tHelper = createNS('text');\n tHelper.style.fontSize = '100px'; // tHelper.style.fontFamily = fontData.fFamily;\n\n var fontProps = getFontProperties(fontData);\n tHelper.setAttribute('font-family', fontData.fFamily);\n tHelper.setAttribute('font-style', fontProps.style);\n tHelper.setAttribute('font-weight', fontProps.weight);\n tHelper.textContent = '1';\n\n if (fontData.fClass) {\n tHelper.style.fontFamily = 'inherit';\n tHelper.setAttribute('class', fontData.fClass);\n } else {\n tHelper.style.fontFamily = fontData.fFamily;\n }\n\n def.appendChild(tHelper);\n var tCanvasHelper = createTag('canvas').getContext('2d');\n tCanvasHelper.font = fontData.fWeight + ' ' + fontData.fStyle + ' 100px ' + fontData.fFamily; // tCanvasHelper.font = ' 100px '+ fontData.fFamily;\n\n return tHelper;\n }\n\n function addFonts(fontData, defs) {\n if (!fontData) {\n this.isLoaded = true;\n return;\n }\n\n if (this.chars) {\n this.isLoaded = true;\n this.fonts = fontData.list;\n return;\n }\n\n var fontArr = fontData.list;\n var i;\n var len = fontArr.length;\n var _pendingFonts = len;\n\n for (i = 0; i < len; i += 1) {\n var shouldLoadFont = true;\n var loadedSelector;\n var j;\n fontArr[i].loaded = false;\n fontArr[i].monoCase = setUpNode(fontArr[i].fFamily, 'monospace');\n fontArr[i].sansCase = setUpNode(fontArr[i].fFamily, 'sans-serif');\n\n if (!fontArr[i].fPath) {\n fontArr[i].loaded = true;\n _pendingFonts -= 1;\n } else if (fontArr[i].fOrigin === 'p' || fontArr[i].origin === 3) {\n loadedSelector = document.querySelectorAll('style[f-forigin=\"p\"][f-family=\"' + fontArr[i].fFamily + '\"], style[f-origin=\"3\"][f-family=\"' + fontArr[i].fFamily + '\"]');\n\n if (loadedSelector.length > 0) {\n shouldLoadFont = false;\n }\n\n if (shouldLoadFont) {\n var s = createTag('style');\n s.setAttribute('f-forigin', fontArr[i].fOrigin);\n s.setAttribute('f-origin', fontArr[i].origin);\n s.setAttribute('f-family', fontArr[i].fFamily);\n s.type = 'text/css';\n s.innerText = '@font-face {font-family: ' + fontArr[i].fFamily + \"; font-style: normal; src: url('\" + fontArr[i].fPath + \"');}\";\n defs.appendChild(s);\n }\n } else if (fontArr[i].fOrigin === 'g' || fontArr[i].origin === 1) {\n loadedSelector = document.querySelectorAll('link[f-forigin=\"g\"], link[f-origin=\"1\"]');\n\n for (j = 0; j < loadedSelector.length; j += 1) {\n if (loadedSelector[j].href.indexOf(fontArr[i].fPath) !== -1) {\n // Font is already loaded\n shouldLoadFont = false;\n }\n }\n\n if (shouldLoadFont) {\n var l = createTag('link');\n l.setAttribute('f-forigin', fontArr[i].fOrigin);\n l.setAttribute('f-origin', fontArr[i].origin);\n l.type = 'text/css';\n l.rel = 'stylesheet';\n l.href = fontArr[i].fPath;\n document.body.appendChild(l);\n }\n } else if (fontArr[i].fOrigin === 't' || fontArr[i].origin === 2) {\n loadedSelector = document.querySelectorAll('script[f-forigin=\"t\"], script[f-origin=\"2\"]');\n\n for (j = 0; j < loadedSelector.length; j += 1) {\n if (fontArr[i].fPath === loadedSelector[j].src) {\n // Font is already loaded\n shouldLoadFont = false;\n }\n }\n\n if (shouldLoadFont) {\n var sc = createTag('link');\n sc.setAttribute('f-forigin', fontArr[i].fOrigin);\n sc.setAttribute('f-origin', fontArr[i].origin);\n sc.setAttribute('rel', 'stylesheet');\n sc.setAttribute('href', fontArr[i].fPath);\n defs.appendChild(sc);\n }\n }\n\n fontArr[i].helper = createHelper(defs, fontArr[i]);\n fontArr[i].cache = {};\n this.fonts.push(fontArr[i]);\n }\n\n if (_pendingFonts === 0) {\n this.isLoaded = true;\n } else {\n // On some cases even if the font is loaded, it won't load correctly when measuring text on canvas.\n // Adding this timeout seems to fix it\n setTimeout(this.checkLoadedFonts.bind(this), 100);\n }\n }\n\n function addChars(chars) {\n if (!chars) {\n return;\n }\n\n if (!this.chars) {\n this.chars = [];\n }\n\n var i;\n var len = chars.length;\n var j;\n var jLen = this.chars.length;\n var found;\n\n for (i = 0; i < len; i += 1) {\n j = 0;\n found = false;\n\n while (j < jLen) {\n if (this.chars[j].style === chars[i].style && this.chars[j].fFamily === chars[i].fFamily && this.chars[j].ch === chars[i].ch) {\n found = true;\n }\n\n j += 1;\n }\n\n if (!found) {\n this.chars.push(chars[i]);\n jLen += 1;\n }\n }\n }\n\n function getCharData(_char, style, font) {\n var i = 0;\n var len = this.chars.length;\n\n while (i < len) {\n if (this.chars[i].ch === _char && this.chars[i].style === style && this.chars[i].fFamily === font) {\n return this.chars[i];\n }\n\n i += 1;\n }\n\n if ((typeof _char === 'string' && _char.charCodeAt(0) !== 13 || !_char) && console && console.warn // eslint-disable-line no-console\n && !this._warned) {\n this._warned = true;\n console.warn('Missing character from exported characters list: ', _char, style, font); // eslint-disable-line no-console\n }\n\n return emptyChar;\n }\n\n function measureText(_char2, fontName, size) {\n var fontData = this.getFontByName(fontName);\n\n var index = _char2.charCodeAt(0);\n\n if (!fontData.cache[index + 1]) {\n var tHelper = fontData.helper; // Canvas version\n // fontData.cache[index] = tHelper.measureText(char).width / 100;\n // SVG version\n // console.log(tHelper.getBBox().width)\n\n if (_char2 === ' ') {\n tHelper.textContent = '|' + _char2 + '|';\n var doubleSize = tHelper.getComputedTextLength();\n tHelper.textContent = '||';\n var singleSize = tHelper.getComputedTextLength();\n fontData.cache[index + 1] = (doubleSize - singleSize) / 100;\n } else {\n tHelper.textContent = _char2;\n fontData.cache[index + 1] = tHelper.getComputedTextLength() / 100;\n }\n }\n\n return fontData.cache[index + 1] * size;\n }\n\n function getFontByName(name) {\n var i = 0;\n var len = this.fonts.length;\n\n while (i < len) {\n if (this.fonts[i].fName === name) {\n return this.fonts[i];\n }\n\n i += 1;\n }\n\n return this.fonts[0];\n }\n\n function isModifier(firstCharCode, secondCharCode) {\n var sum = firstCharCode.toString(16) + secondCharCode.toString(16);\n return surrogateModifiers.indexOf(sum) !== -1;\n }\n\n function isZeroWidthJoiner(firstCharCode, secondCharCode) {\n if (!secondCharCode) {\n return firstCharCode === zeroWidthJoiner[1];\n }\n\n return firstCharCode === zeroWidthJoiner[0] && secondCharCode === zeroWidthJoiner[1];\n }\n\n function isCombinedCharacter(_char3) {\n return combinedCharacters.indexOf(_char3) !== -1;\n }\n\n function setIsLoaded() {\n this.isLoaded = true;\n }\n\n var Font = function Font() {\n this.fonts = [];\n this.chars = null;\n this.typekitLoaded = 0;\n this.isLoaded = false;\n this._warned = false;\n this.initTime = Date.now();\n this.setIsLoadedBinded = this.setIsLoaded.bind(this);\n this.checkLoadedFontsBinded = this.checkLoadedFonts.bind(this);\n };\n\n Font.isModifier = isModifier;\n Font.isZeroWidthJoiner = isZeroWidthJoiner;\n Font.isCombinedCharacter = isCombinedCharacter;\n var fontPrototype = {\n addChars: addChars,\n addFonts: addFonts,\n getCharData: getCharData,\n getFontByName: getFontByName,\n measureText: measureText,\n checkLoadedFonts: checkLoadedFonts,\n setIsLoaded: setIsLoaded\n };\n Font.prototype = fontPrototype;\n return Font;\n }();\n\n function RenderableElement() {}\n\n RenderableElement.prototype = {\n initRenderable: function initRenderable() {\n // layer's visibility related to inpoint and outpoint. Rename isVisible to isInRange\n this.isInRange = false; // layer's display state\n\n this.hidden = false; // If layer's transparency equals 0, it can be hidden\n\n this.isTransparent = false; // list of animated components\n\n this.renderableComponents = [];\n },\n addRenderableComponent: function addRenderableComponent(component) {\n if (this.renderableComponents.indexOf(component) === -1) {\n this.renderableComponents.push(component);\n }\n },\n removeRenderableComponent: function removeRenderableComponent(component) {\n if (this.renderableComponents.indexOf(component) !== -1) {\n this.renderableComponents.splice(this.renderableComponents.indexOf(component), 1);\n }\n },\n prepareRenderableFrame: function prepareRenderableFrame(num) {\n this.checkLayerLimits(num);\n },\n checkTransparency: function checkTransparency() {\n if (this.finalTransform.mProp.o.v <= 0) {\n if (!this.isTransparent && this.globalData.renderConfig.hideOnTransparent) {\n this.isTransparent = true;\n this.hide();\n }\n } else if (this.isTransparent) {\n this.isTransparent = false;\n this.show();\n }\n },\n\n /**\r\n * @function\r\n * Initializes frame related properties.\r\n *\r\n * @param {number} num\r\n * current frame number in Layer's time\r\n *\r\n */\n checkLayerLimits: function checkLayerLimits(num) {\n if (this.data.ip - this.data.st <= num && this.data.op - this.data.st > num) {\n if (this.isInRange !== true) {\n this.globalData._mdf = true;\n this._mdf = true;\n this.isInRange = true;\n this.show();\n }\n } else if (this.isInRange !== false) {\n this.globalData._mdf = true;\n this.isInRange = false;\n this.hide();\n }\n },\n renderRenderable: function renderRenderable() {\n var i;\n var len = this.renderableComponents.length;\n\n for (i = 0; i < len; i += 1) {\n this.renderableComponents[i].renderFrame(this._isFirstFrame);\n }\n /* this.maskManager.renderFrame(this.finalTransform.mat);\r\n this.renderableEffectsManager.renderFrame(this._isFirstFrame); */\n\n },\n sourceRectAtTime: function sourceRectAtTime() {\n return {\n top: 0,\n left: 0,\n width: 100,\n height: 100\n };\n },\n getLayerSize: function getLayerSize() {\n if (this.data.ty === 5) {\n return {\n w: this.data.textData.width,\n h: this.data.textData.height\n };\n }\n\n return {\n w: this.data.width,\n h: this.data.height\n };\n }\n };\n\n var MaskManagerInterface = function () {\n function MaskInterface(mask, data) {\n this._mask = mask;\n this._data = data;\n }\n\n Object.defineProperty(MaskInterface.prototype, 'maskPath', {\n get: function get() {\n if (this._mask.prop.k) {\n this._mask.prop.getValue();\n }\n\n return this._mask.prop;\n }\n });\n Object.defineProperty(MaskInterface.prototype, 'maskOpacity', {\n get: function get() {\n if (this._mask.op.k) {\n this._mask.op.getValue();\n }\n\n return this._mask.op.v * 100;\n }\n });\n\n var MaskManager = function MaskManager(maskManager) {\n var _masksInterfaces = createSizedArray(maskManager.viewData.length);\n\n var i;\n var len = maskManager.viewData.length;\n\n for (i = 0; i < len; i += 1) {\n _masksInterfaces[i] = new MaskInterface(maskManager.viewData[i], maskManager.masksProperties[i]);\n }\n\n var maskFunction = function maskFunction(name) {\n i = 0;\n\n while (i < len) {\n if (maskManager.masksProperties[i].nm === name) {\n return _masksInterfaces[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n return maskFunction;\n };\n\n return MaskManager;\n }();\n\n var ExpressionPropertyInterface = function () {\n var defaultUnidimensionalValue = {\n pv: 0,\n v: 0,\n mult: 1\n };\n var defaultMultidimensionalValue = {\n pv: [0, 0, 0],\n v: [0, 0, 0],\n mult: 1\n };\n\n function completeProperty(expressionValue, property, type) {\n Object.defineProperty(expressionValue, 'velocity', {\n get: function get() {\n return property.getVelocityAtTime(property.comp.currentFrame);\n }\n });\n expressionValue.numKeys = property.keyframes ? property.keyframes.length : 0;\n\n expressionValue.key = function (pos) {\n if (!expressionValue.numKeys) {\n return 0;\n }\n\n var value = '';\n\n if ('s' in property.keyframes[pos - 1]) {\n value = property.keyframes[pos - 1].s;\n } else if ('e' in property.keyframes[pos - 2]) {\n value = property.keyframes[pos - 2].e;\n } else {\n value = property.keyframes[pos - 2].s;\n }\n\n var valueProp = type === 'unidimensional' ? new Number(value) : Object.assign({}, value); // eslint-disable-line no-new-wrappers\n\n valueProp.time = property.keyframes[pos - 1].t / property.elem.comp.globalData.frameRate;\n valueProp.value = type === 'unidimensional' ? value[0] : value;\n return valueProp;\n };\n\n expressionValue.valueAtTime = property.getValueAtTime;\n expressionValue.speedAtTime = property.getSpeedAtTime;\n expressionValue.velocityAtTime = property.getVelocityAtTime;\n expressionValue.propertyGroup = property.propertyGroup;\n }\n\n function UnidimensionalPropertyInterface(property) {\n if (!property || !('pv' in property)) {\n property = defaultUnidimensionalValue;\n }\n\n var mult = 1 / property.mult;\n var val = property.pv * mult;\n var expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\n\n expressionValue.value = val;\n completeProperty(expressionValue, property, 'unidimensional');\n return function () {\n if (property.k) {\n property.getValue();\n }\n\n val = property.v * mult;\n\n if (expressionValue.value !== val) {\n expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\n\n expressionValue.value = val;\n completeProperty(expressionValue, property, 'unidimensional');\n }\n\n return expressionValue;\n };\n }\n\n function MultidimensionalPropertyInterface(property) {\n if (!property || !('pv' in property)) {\n property = defaultMultidimensionalValue;\n }\n\n var mult = 1 / property.mult;\n var len = property.data && property.data.l || property.pv.length;\n var expressionValue = createTypedArray('float32', len);\n var arrValue = createTypedArray('float32', len);\n expressionValue.value = arrValue;\n completeProperty(expressionValue, property, 'multidimensional');\n return function () {\n if (property.k) {\n property.getValue();\n }\n\n for (var i = 0; i < len; i += 1) {\n arrValue[i] = property.v[i] * mult;\n expressionValue[i] = arrValue[i];\n }\n\n return expressionValue;\n };\n } // TODO: try to avoid using this getter\n\n\n function defaultGetter() {\n return defaultUnidimensionalValue;\n }\n\n return function (property) {\n if (!property) {\n return defaultGetter;\n }\n\n if (property.propType === 'unidimensional') {\n return UnidimensionalPropertyInterface(property);\n }\n\n return MultidimensionalPropertyInterface(property);\n };\n }();\n\n var TransformExpressionInterface = function () {\n return function (transform) {\n function _thisFunction(name) {\n switch (name) {\n case 'scale':\n case 'Scale':\n case 'ADBE Scale':\n case 6:\n return _thisFunction.scale;\n\n case 'rotation':\n case 'Rotation':\n case 'ADBE Rotation':\n case 'ADBE Rotate Z':\n case 10:\n return _thisFunction.rotation;\n\n case 'ADBE Rotate X':\n return _thisFunction.xRotation;\n\n case 'ADBE Rotate Y':\n return _thisFunction.yRotation;\n\n case 'position':\n case 'Position':\n case 'ADBE Position':\n case 2:\n return _thisFunction.position;\n\n case 'ADBE Position_0':\n return _thisFunction.xPosition;\n\n case 'ADBE Position_1':\n return _thisFunction.yPosition;\n\n case 'ADBE Position_2':\n return _thisFunction.zPosition;\n\n case 'anchorPoint':\n case 'AnchorPoint':\n case 'Anchor Point':\n case 'ADBE AnchorPoint':\n case 1:\n return _thisFunction.anchorPoint;\n\n case 'opacity':\n case 'Opacity':\n case 11:\n return _thisFunction.opacity;\n\n default:\n return null;\n }\n }\n\n Object.defineProperty(_thisFunction, 'rotation', {\n get: ExpressionPropertyInterface(transform.r || transform.rz)\n });\n Object.defineProperty(_thisFunction, 'zRotation', {\n get: ExpressionPropertyInterface(transform.rz || transform.r)\n });\n Object.defineProperty(_thisFunction, 'xRotation', {\n get: ExpressionPropertyInterface(transform.rx)\n });\n Object.defineProperty(_thisFunction, 'yRotation', {\n get: ExpressionPropertyInterface(transform.ry)\n });\n Object.defineProperty(_thisFunction, 'scale', {\n get: ExpressionPropertyInterface(transform.s)\n });\n\n var _px;\n\n var _py;\n\n var _pz;\n\n var _transformFactory;\n\n if (transform.p) {\n _transformFactory = ExpressionPropertyInterface(transform.p);\n } else {\n _px = ExpressionPropertyInterface(transform.px);\n _py = ExpressionPropertyInterface(transform.py);\n\n if (transform.pz) {\n _pz = ExpressionPropertyInterface(transform.pz);\n }\n }\n\n Object.defineProperty(_thisFunction, 'position', {\n get: function get() {\n if (transform.p) {\n return _transformFactory();\n }\n\n return [_px(), _py(), _pz ? _pz() : 0];\n }\n });\n Object.defineProperty(_thisFunction, 'xPosition', {\n get: ExpressionPropertyInterface(transform.px)\n });\n Object.defineProperty(_thisFunction, 'yPosition', {\n get: ExpressionPropertyInterface(transform.py)\n });\n Object.defineProperty(_thisFunction, 'zPosition', {\n get: ExpressionPropertyInterface(transform.pz)\n });\n Object.defineProperty(_thisFunction, 'anchorPoint', {\n get: ExpressionPropertyInterface(transform.a)\n });\n Object.defineProperty(_thisFunction, 'opacity', {\n get: ExpressionPropertyInterface(transform.o)\n });\n Object.defineProperty(_thisFunction, 'skew', {\n get: ExpressionPropertyInterface(transform.sk)\n });\n Object.defineProperty(_thisFunction, 'skewAxis', {\n get: ExpressionPropertyInterface(transform.sa)\n });\n Object.defineProperty(_thisFunction, 'orientation', {\n get: ExpressionPropertyInterface(transform.or)\n });\n return _thisFunction;\n };\n }();\n\n var LayerExpressionInterface = function () {\n function getMatrix(time) {\n var toWorldMat = new Matrix();\n\n if (time !== undefined) {\n var propMatrix = this._elem.finalTransform.mProp.getValueAtTime(time);\n\n propMatrix.clone(toWorldMat);\n } else {\n var transformMat = this._elem.finalTransform.mProp;\n transformMat.applyToMatrix(toWorldMat);\n }\n\n return toWorldMat;\n }\n\n function toWorldVec(arr, time) {\n var toWorldMat = this.getMatrix(time);\n toWorldMat.props[12] = 0;\n toWorldMat.props[13] = 0;\n toWorldMat.props[14] = 0;\n return this.applyPoint(toWorldMat, arr);\n }\n\n function toWorld(arr, time) {\n var toWorldMat = this.getMatrix(time);\n return this.applyPoint(toWorldMat, arr);\n }\n\n function fromWorldVec(arr, time) {\n var toWorldMat = this.getMatrix(time);\n toWorldMat.props[12] = 0;\n toWorldMat.props[13] = 0;\n toWorldMat.props[14] = 0;\n return this.invertPoint(toWorldMat, arr);\n }\n\n function fromWorld(arr, time) {\n var toWorldMat = this.getMatrix(time);\n return this.invertPoint(toWorldMat, arr);\n }\n\n function applyPoint(matrix, arr) {\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var i;\n var len = this._elem.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\n }\n }\n\n return matrix.applyToPointArray(arr[0], arr[1], arr[2] || 0);\n }\n\n function invertPoint(matrix, arr) {\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var i;\n var len = this._elem.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\n }\n }\n\n return matrix.inversePoint(arr);\n }\n\n function fromComp(arr) {\n var toWorldMat = new Matrix();\n toWorldMat.reset();\n\n this._elem.finalTransform.mProp.applyToMatrix(toWorldMat);\n\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var i;\n var len = this._elem.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(toWorldMat);\n }\n\n return toWorldMat.inversePoint(arr);\n }\n\n return toWorldMat.inversePoint(arr);\n }\n\n function sampleImage() {\n return [1, 1, 1, 1];\n }\n\n return function (elem) {\n var transformInterface;\n\n function _registerMaskInterface(maskManager) {\n _thisLayerFunction.mask = new MaskManagerInterface(maskManager, elem);\n }\n\n function _registerEffectsInterface(effects) {\n _thisLayerFunction.effect = effects;\n }\n\n function _thisLayerFunction(name) {\n switch (name) {\n case 'ADBE Root Vectors Group':\n case 'Contents':\n case 2:\n return _thisLayerFunction.shapeInterface;\n\n case 1:\n case 6:\n case 'Transform':\n case 'transform':\n case 'ADBE Transform Group':\n return transformInterface;\n\n case 4:\n case 'ADBE Effect Parade':\n case 'effects':\n case 'Effects':\n return _thisLayerFunction.effect;\n\n case 'ADBE Text Properties':\n return _thisLayerFunction.textInterface;\n\n default:\n return null;\n }\n }\n\n _thisLayerFunction.getMatrix = getMatrix;\n _thisLayerFunction.invertPoint = invertPoint;\n _thisLayerFunction.applyPoint = applyPoint;\n _thisLayerFunction.toWorld = toWorld;\n _thisLayerFunction.toWorldVec = toWorldVec;\n _thisLayerFunction.fromWorld = fromWorld;\n _thisLayerFunction.fromWorldVec = fromWorldVec;\n _thisLayerFunction.toComp = toWorld;\n _thisLayerFunction.fromComp = fromComp;\n _thisLayerFunction.sampleImage = sampleImage;\n _thisLayerFunction.sourceRectAtTime = elem.sourceRectAtTime.bind(elem);\n _thisLayerFunction._elem = elem;\n transformInterface = TransformExpressionInterface(elem.finalTransform.mProp);\n var anchorPointDescriptor = getDescriptor(transformInterface, 'anchorPoint');\n Object.defineProperties(_thisLayerFunction, {\n hasParent: {\n get: function get() {\n return elem.hierarchy.length;\n }\n },\n parent: {\n get: function get() {\n return elem.hierarchy[0].layerInterface;\n }\n },\n rotation: getDescriptor(transformInterface, 'rotation'),\n scale: getDescriptor(transformInterface, 'scale'),\n position: getDescriptor(transformInterface, 'position'),\n opacity: getDescriptor(transformInterface, 'opacity'),\n anchorPoint: anchorPointDescriptor,\n anchor_point: anchorPointDescriptor,\n transform: {\n get: function get() {\n return transformInterface;\n }\n },\n active: {\n get: function get() {\n return elem.isInRange;\n }\n }\n });\n _thisLayerFunction.startTime = elem.data.st;\n _thisLayerFunction.index = elem.data.ind;\n _thisLayerFunction.source = elem.data.refId;\n _thisLayerFunction.height = elem.data.ty === 0 ? elem.data.h : 100;\n _thisLayerFunction.width = elem.data.ty === 0 ? elem.data.w : 100;\n _thisLayerFunction.inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n _thisLayerFunction.outPoint = elem.data.op / elem.comp.globalData.frameRate;\n _thisLayerFunction._name = elem.data.nm;\n _thisLayerFunction.registerMaskInterface = _registerMaskInterface;\n _thisLayerFunction.registerEffectsInterface = _registerEffectsInterface;\n return _thisLayerFunction;\n };\n }();\n\n var propertyGroupFactory = function () {\n return function (interfaceFunction, parentPropertyGroup) {\n return function (val) {\n val = val === undefined ? 1 : val;\n\n if (val <= 0) {\n return interfaceFunction;\n }\n\n return parentPropertyGroup(val - 1);\n };\n };\n }();\n\n var PropertyInterface = function () {\n return function (propertyName, propertyGroup) {\n var interfaceFunction = {\n _name: propertyName\n };\n\n function _propertyGroup(val) {\n val = val === undefined ? 1 : val;\n\n if (val <= 0) {\n return interfaceFunction;\n }\n\n return propertyGroup(val - 1);\n }\n\n return _propertyGroup;\n };\n }();\n\n var EffectsExpressionInterface = function () {\n var ob = {\n createEffectsInterface: createEffectsInterface\n };\n\n function createEffectsInterface(elem, propertyGroup) {\n if (elem.effectsManager) {\n var effectElements = [];\n var effectsData = elem.data.ef;\n var i;\n var len = elem.effectsManager.effectElements.length;\n\n for (i = 0; i < len; i += 1) {\n effectElements.push(createGroupInterface(effectsData[i], elem.effectsManager.effectElements[i], propertyGroup, elem));\n }\n\n var effects = elem.data.ef || [];\n\n var groupInterface = function groupInterface(name) {\n i = 0;\n len = effects.length;\n\n while (i < len) {\n if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n return effectElements[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n Object.defineProperty(groupInterface, 'numProperties', {\n get: function get() {\n return effects.length;\n }\n });\n return groupInterface;\n }\n\n return null;\n }\n\n function createGroupInterface(data, elements, propertyGroup, elem) {\n function groupInterface(name) {\n var effects = data.ef;\n var i = 0;\n var len = effects.length;\n\n while (i < len) {\n if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n if (effects[i].ty === 5) {\n return effectElements[i];\n }\n\n return effectElements[i]();\n }\n\n i += 1;\n }\n\n throw new Error();\n }\n\n var _propertyGroup = propertyGroupFactory(groupInterface, propertyGroup);\n\n var effectElements = [];\n var i;\n var len = data.ef.length;\n\n for (i = 0; i < len; i += 1) {\n if (data.ef[i].ty === 5) {\n effectElements.push(createGroupInterface(data.ef[i], elements.effectElements[i], elements.effectElements[i].propertyGroup, elem));\n } else {\n effectElements.push(createValueInterface(elements.effectElements[i], data.ef[i].ty, elem, _propertyGroup));\n }\n }\n\n if (data.mn === 'ADBE Color Control') {\n Object.defineProperty(groupInterface, 'color', {\n get: function get() {\n return effectElements[0]();\n }\n });\n }\n\n Object.defineProperties(groupInterface, {\n numProperties: {\n get: function get() {\n return data.np;\n }\n },\n _name: {\n value: data.nm\n },\n propertyGroup: {\n value: _propertyGroup\n }\n });\n groupInterface.enabled = data.en !== 0;\n groupInterface.active = groupInterface.enabled;\n return groupInterface;\n }\n\n function createValueInterface(element, type, elem, propertyGroup) {\n var expressionProperty = ExpressionPropertyInterface(element.p);\n\n function interfaceFunction() {\n if (type === 10) {\n return elem.comp.compInterface(element.p.v);\n }\n\n return expressionProperty();\n }\n\n if (element.p.setGroupProperty) {\n element.p.setGroupProperty(PropertyInterface('', propertyGroup));\n }\n\n return interfaceFunction;\n }\n\n return ob;\n }();\n\n var CompExpressionInterface = function () {\n return function (comp) {\n function _thisLayerFunction(name) {\n var i = 0;\n var len = comp.layers.length;\n\n while (i < len) {\n if (comp.layers[i].nm === name || comp.layers[i].ind === name) {\n return comp.elements[i].layerInterface;\n }\n\n i += 1;\n }\n\n return null; // return {active:false};\n }\n\n Object.defineProperty(_thisLayerFunction, '_name', {\n value: comp.data.nm\n });\n _thisLayerFunction.layer = _thisLayerFunction;\n _thisLayerFunction.pixelAspect = 1;\n _thisLayerFunction.height = comp.data.h || comp.globalData.compSize.h;\n _thisLayerFunction.width = comp.data.w || comp.globalData.compSize.w;\n _thisLayerFunction.pixelAspect = 1;\n _thisLayerFunction.frameDuration = 1 / comp.globalData.frameRate;\n _thisLayerFunction.displayStartTime = 0;\n _thisLayerFunction.numLayers = comp.layers.length;\n return _thisLayerFunction;\n };\n }();\n\n var ShapePathInterface = function () {\n return function pathInterfaceFactory(shape, view, propertyGroup) {\n var prop = view.sh;\n\n function interfaceFunction(val) {\n if (val === 'Shape' || val === 'shape' || val === 'Path' || val === 'path' || val === 'ADBE Vector Shape' || val === 2) {\n return interfaceFunction.path;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n prop.setGroupProperty(PropertyInterface('Path', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n path: {\n get: function get() {\n if (prop.k) {\n prop.getValue();\n }\n\n return prop;\n }\n },\n shape: {\n get: function get() {\n if (prop.k) {\n prop.getValue();\n }\n\n return prop;\n }\n },\n _name: {\n value: shape.nm\n },\n ix: {\n value: shape.ix\n },\n propertyIndex: {\n value: shape.ix\n },\n mn: {\n value: shape.mn\n },\n propertyGroup: {\n value: propertyGroup\n }\n });\n return interfaceFunction;\n };\n }();\n\n var ShapeExpressionInterface = function () {\n function iterateElements(shapes, view, propertyGroup) {\n var arr = [];\n var i;\n var len = shapes ? shapes.length : 0;\n\n for (i = 0; i < len; i += 1) {\n if (shapes[i].ty === 'gr') {\n arr.push(groupInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'fl') {\n arr.push(fillInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'st') {\n arr.push(strokeInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'tm') {\n arr.push(trimInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'tr') {// arr.push(transformInterfaceFactory(shapes[i],view[i],propertyGroup));\n } else if (shapes[i].ty === 'el') {\n arr.push(ellipseInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'sr') {\n arr.push(starInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'sh') {\n arr.push(ShapePathInterface(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'rc') {\n arr.push(rectInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'rd') {\n arr.push(roundedInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'rp') {\n arr.push(repeaterInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'gf') {\n arr.push(gradientFillInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else {\n arr.push(defaultInterfaceFactory(shapes[i], view[i], propertyGroup));\n }\n }\n\n return arr;\n }\n\n function contentsInterfaceFactory(shape, view, propertyGroup) {\n var interfaces;\n\n var interfaceFunction = function _interfaceFunction(value) {\n var i = 0;\n var len = interfaces.length;\n\n while (i < len) {\n if (interfaces[i]._name === value || interfaces[i].mn === value || interfaces[i].propertyIndex === value || interfaces[i].ix === value || interfaces[i].ind === value) {\n return interfaces[i];\n }\n\n i += 1;\n }\n\n if (typeof value === 'number') {\n return interfaces[value - 1];\n }\n\n return null;\n };\n\n interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n interfaces = iterateElements(shape.it, view.it, interfaceFunction.propertyGroup);\n interfaceFunction.numProperties = interfaces.length;\n var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n interfaceFunction.transform = transformInterface;\n interfaceFunction.propertyIndex = shape.cix;\n interfaceFunction._name = shape.nm;\n return interfaceFunction;\n }\n\n function groupInterfaceFactory(shape, view, propertyGroup) {\n var interfaceFunction = function _interfaceFunction(value) {\n switch (value) {\n case 'ADBE Vectors Group':\n case 'Contents':\n case 2:\n return interfaceFunction.content;\n // Not necessary for now. Keeping them here in case a new case appears\n // case 'ADBE Vector Transform Group':\n // case 3:\n\n default:\n return interfaceFunction.transform;\n }\n };\n\n interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n var content = contentsInterfaceFactory(shape, view, interfaceFunction.propertyGroup);\n var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n interfaceFunction.content = content;\n interfaceFunction.transform = transformInterface;\n Object.defineProperty(interfaceFunction, '_name', {\n get: function get() {\n return shape.nm;\n }\n }); // interfaceFunction.content = interfaceFunction;\n\n interfaceFunction.numProperties = shape.np;\n interfaceFunction.propertyIndex = shape.ix;\n interfaceFunction.nm = shape.nm;\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function fillInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(val) {\n if (val === 'Color' || val === 'color') {\n return interfaceFunction.color;\n }\n\n if (val === 'Opacity' || val === 'opacity') {\n return interfaceFunction.opacity;\n }\n\n return null;\n }\n\n Object.defineProperties(interfaceFunction, {\n color: {\n get: ExpressionPropertyInterface(view.c)\n },\n opacity: {\n get: ExpressionPropertyInterface(view.o)\n },\n _name: {\n value: shape.nm\n },\n mn: {\n value: shape.mn\n }\n });\n view.c.setGroupProperty(PropertyInterface('Color', propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Opacity', propertyGroup));\n return interfaceFunction;\n }\n\n function gradientFillInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(val) {\n if (val === 'Start Point' || val === 'start point') {\n return interfaceFunction.startPoint;\n }\n\n if (val === 'End Point' || val === 'end point') {\n return interfaceFunction.endPoint;\n }\n\n if (val === 'Opacity' || val === 'opacity') {\n return interfaceFunction.opacity;\n }\n\n return null;\n }\n\n Object.defineProperties(interfaceFunction, {\n startPoint: {\n get: ExpressionPropertyInterface(view.s)\n },\n endPoint: {\n get: ExpressionPropertyInterface(view.e)\n },\n opacity: {\n get: ExpressionPropertyInterface(view.o)\n },\n type: {\n get: function get() {\n return 'a';\n }\n },\n _name: {\n value: shape.nm\n },\n mn: {\n value: shape.mn\n }\n });\n view.s.setGroupProperty(PropertyInterface('Start Point', propertyGroup));\n view.e.setGroupProperty(PropertyInterface('End Point', propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Opacity', propertyGroup));\n return interfaceFunction;\n }\n\n function defaultInterfaceFactory() {\n function interfaceFunction() {\n return null;\n }\n\n return interfaceFunction;\n }\n\n function strokeInterfaceFactory(shape, view, propertyGroup) {\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var _dashPropertyGroup = propertyGroupFactory(dashOb, _propertyGroup);\n\n function addPropertyToDashOb(i) {\n Object.defineProperty(dashOb, shape.d[i].nm, {\n get: ExpressionPropertyInterface(view.d.dataProps[i].p)\n });\n }\n\n var i;\n var len = shape.d ? shape.d.length : 0;\n var dashOb = {};\n\n for (i = 0; i < len; i += 1) {\n addPropertyToDashOb(i);\n view.d.dataProps[i].p.setGroupProperty(_dashPropertyGroup);\n }\n\n function interfaceFunction(val) {\n if (val === 'Color' || val === 'color') {\n return interfaceFunction.color;\n }\n\n if (val === 'Opacity' || val === 'opacity') {\n return interfaceFunction.opacity;\n }\n\n if (val === 'Stroke Width' || val === 'stroke width') {\n return interfaceFunction.strokeWidth;\n }\n\n return null;\n }\n\n Object.defineProperties(interfaceFunction, {\n color: {\n get: ExpressionPropertyInterface(view.c)\n },\n opacity: {\n get: ExpressionPropertyInterface(view.o)\n },\n strokeWidth: {\n get: ExpressionPropertyInterface(view.w)\n },\n dash: {\n get: function get() {\n return dashOb;\n }\n },\n _name: {\n value: shape.nm\n },\n mn: {\n value: shape.mn\n }\n });\n view.c.setGroupProperty(PropertyInterface('Color', _propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\n view.w.setGroupProperty(PropertyInterface('Stroke Width', _propertyGroup));\n return interfaceFunction;\n }\n\n function trimInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(val) {\n if (val === shape.e.ix || val === 'End' || val === 'end') {\n return interfaceFunction.end;\n }\n\n if (val === shape.s.ix) {\n return interfaceFunction.start;\n }\n\n if (val === shape.o.ix) {\n return interfaceFunction.offset;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n interfaceFunction.propertyIndex = shape.ix;\n view.s.setGroupProperty(PropertyInterface('Start', _propertyGroup));\n view.e.setGroupProperty(PropertyInterface('End', _propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Offset', _propertyGroup));\n interfaceFunction.propertyIndex = shape.ix;\n interfaceFunction.propertyGroup = propertyGroup;\n Object.defineProperties(interfaceFunction, {\n start: {\n get: ExpressionPropertyInterface(view.s)\n },\n end: {\n get: ExpressionPropertyInterface(view.e)\n },\n offset: {\n get: ExpressionPropertyInterface(view.o)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function transformInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.a.ix === value || value === 'Anchor Point') {\n return interfaceFunction.anchorPoint;\n }\n\n if (shape.o.ix === value || value === 'Opacity') {\n return interfaceFunction.opacity;\n }\n\n if (shape.p.ix === value || value === 'Position') {\n return interfaceFunction.position;\n }\n\n if (shape.r.ix === value || value === 'Rotation' || value === 'ADBE Vector Rotation') {\n return interfaceFunction.rotation;\n }\n\n if (shape.s.ix === value || value === 'Scale') {\n return interfaceFunction.scale;\n }\n\n if (shape.sk && shape.sk.ix === value || value === 'Skew') {\n return interfaceFunction.skew;\n }\n\n if (shape.sa && shape.sa.ix === value || value === 'Skew Axis') {\n return interfaceFunction.skewAxis;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n view.transform.mProps.o.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\n view.transform.mProps.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n view.transform.mProps.a.setGroupProperty(PropertyInterface('Anchor Point', _propertyGroup));\n view.transform.mProps.s.setGroupProperty(PropertyInterface('Scale', _propertyGroup));\n view.transform.mProps.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\n\n if (view.transform.mProps.sk) {\n view.transform.mProps.sk.setGroupProperty(PropertyInterface('Skew', _propertyGroup));\n view.transform.mProps.sa.setGroupProperty(PropertyInterface('Skew Angle', _propertyGroup));\n }\n\n view.transform.op.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n opacity: {\n get: ExpressionPropertyInterface(view.transform.mProps.o)\n },\n position: {\n get: ExpressionPropertyInterface(view.transform.mProps.p)\n },\n anchorPoint: {\n get: ExpressionPropertyInterface(view.transform.mProps.a)\n },\n scale: {\n get: ExpressionPropertyInterface(view.transform.mProps.s)\n },\n rotation: {\n get: ExpressionPropertyInterface(view.transform.mProps.r)\n },\n skew: {\n get: ExpressionPropertyInterface(view.transform.mProps.sk)\n },\n skewAxis: {\n get: ExpressionPropertyInterface(view.transform.mProps.sa)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.ty = 'tr';\n interfaceFunction.mn = shape.mn;\n interfaceFunction.propertyGroup = propertyGroup;\n return interfaceFunction;\n }\n\n function ellipseInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.p.ix === value) {\n return interfaceFunction.position;\n }\n\n if (shape.s.ix === value) {\n return interfaceFunction.size;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n interfaceFunction.propertyIndex = shape.ix;\n var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\n prop.s.setGroupProperty(PropertyInterface('Size', _propertyGroup));\n prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n size: {\n get: ExpressionPropertyInterface(prop.s)\n },\n position: {\n get: ExpressionPropertyInterface(prop.p)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function starInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.p.ix === value) {\n return interfaceFunction.position;\n }\n\n if (shape.r.ix === value) {\n return interfaceFunction.rotation;\n }\n\n if (shape.pt.ix === value) {\n return interfaceFunction.points;\n }\n\n if (shape.or.ix === value || value === 'ADBE Vector Star Outer Radius') {\n return interfaceFunction.outerRadius;\n }\n\n if (shape.os.ix === value) {\n return interfaceFunction.outerRoundness;\n }\n\n if (shape.ir && (shape.ir.ix === value || value === 'ADBE Vector Star Inner Radius')) {\n return interfaceFunction.innerRadius;\n }\n\n if (shape.is && shape.is.ix === value) {\n return interfaceFunction.innerRoundness;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\n interfaceFunction.propertyIndex = shape.ix;\n prop.or.setGroupProperty(PropertyInterface('Outer Radius', _propertyGroup));\n prop.os.setGroupProperty(PropertyInterface('Outer Roundness', _propertyGroup));\n prop.pt.setGroupProperty(PropertyInterface('Points', _propertyGroup));\n prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n prop.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\n\n if (shape.ir) {\n prop.ir.setGroupProperty(PropertyInterface('Inner Radius', _propertyGroup));\n prop.is.setGroupProperty(PropertyInterface('Inner Roundness', _propertyGroup));\n }\n\n Object.defineProperties(interfaceFunction, {\n position: {\n get: ExpressionPropertyInterface(prop.p)\n },\n rotation: {\n get: ExpressionPropertyInterface(prop.r)\n },\n points: {\n get: ExpressionPropertyInterface(prop.pt)\n },\n outerRadius: {\n get: ExpressionPropertyInterface(prop.or)\n },\n outerRoundness: {\n get: ExpressionPropertyInterface(prop.os)\n },\n innerRadius: {\n get: ExpressionPropertyInterface(prop.ir)\n },\n innerRoundness: {\n get: ExpressionPropertyInterface(prop.is)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function rectInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.p.ix === value) {\n return interfaceFunction.position;\n }\n\n if (shape.r.ix === value) {\n return interfaceFunction.roundness;\n }\n\n if (shape.s.ix === value || value === 'Size' || value === 'ADBE Vector Rect Size') {\n return interfaceFunction.size;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\n interfaceFunction.propertyIndex = shape.ix;\n prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n prop.s.setGroupProperty(PropertyInterface('Size', _propertyGroup));\n prop.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n position: {\n get: ExpressionPropertyInterface(prop.p)\n },\n roundness: {\n get: ExpressionPropertyInterface(prop.r)\n },\n size: {\n get: ExpressionPropertyInterface(prop.s)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function roundedInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.r.ix === value || value === 'Round Corners 1') {\n return interfaceFunction.radius;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var prop = view;\n interfaceFunction.propertyIndex = shape.ix;\n prop.rd.setGroupProperty(PropertyInterface('Radius', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n radius: {\n get: ExpressionPropertyInterface(prop.rd)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function repeaterInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.c.ix === value || value === 'Copies') {\n return interfaceFunction.copies;\n }\n\n if (shape.o.ix === value || value === 'Offset') {\n return interfaceFunction.offset;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var prop = view;\n interfaceFunction.propertyIndex = shape.ix;\n prop.c.setGroupProperty(PropertyInterface('Copies', _propertyGroup));\n prop.o.setGroupProperty(PropertyInterface('Offset', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n copies: {\n get: ExpressionPropertyInterface(prop.c)\n },\n offset: {\n get: ExpressionPropertyInterface(prop.o)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n return function (shapes, view, propertyGroup) {\n var interfaces;\n\n function _interfaceFunction(value) {\n if (typeof value === 'number') {\n value = value === undefined ? 1 : value;\n\n if (value === 0) {\n return propertyGroup;\n }\n\n return interfaces[value - 1];\n }\n\n var i = 0;\n var len = interfaces.length;\n\n while (i < len) {\n if (interfaces[i]._name === value) {\n return interfaces[i];\n }\n\n i += 1;\n }\n\n return null;\n }\n\n function parentGroupWrapper() {\n return propertyGroup;\n }\n\n _interfaceFunction.propertyGroup = propertyGroupFactory(_interfaceFunction, parentGroupWrapper);\n interfaces = iterateElements(shapes, view, _interfaceFunction.propertyGroup);\n _interfaceFunction.numProperties = interfaces.length;\n _interfaceFunction._name = 'Contents';\n return _interfaceFunction;\n };\n }();\n\n var TextExpressionInterface = function () {\n return function (elem) {\n var _prevValue;\n\n var _sourceText;\n\n function _thisLayerFunction(name) {\n switch (name) {\n case 'ADBE Text Document':\n return _thisLayerFunction.sourceText;\n\n default:\n return null;\n }\n }\n\n Object.defineProperty(_thisLayerFunction, 'sourceText', {\n get: function get() {\n elem.textProperty.getValue();\n var stringValue = elem.textProperty.currentData.t;\n\n if (stringValue !== _prevValue) {\n elem.textProperty.currentData.t = _prevValue;\n _sourceText = new String(stringValue); // eslint-disable-line no-new-wrappers\n // If stringValue is an empty string, eval returns undefined, so it has to be returned as a String primitive\n\n _sourceText.value = stringValue || new String(stringValue); // eslint-disable-line no-new-wrappers\n }\n\n return _sourceText;\n }\n });\n return _thisLayerFunction;\n };\n }();\n\n var getBlendMode = function () {\n var blendModeEnums = {\n 0: 'source-over',\n 1: 'multiply',\n 2: 'screen',\n 3: 'overlay',\n 4: 'darken',\n 5: 'lighten',\n 6: 'color-dodge',\n 7: 'color-burn',\n 8: 'hard-light',\n 9: 'soft-light',\n 10: 'difference',\n 11: 'exclusion',\n 12: 'hue',\n 13: 'saturation',\n 14: 'color',\n 15: 'luminosity'\n };\n return function (mode) {\n return blendModeEnums[mode] || '';\n };\n }();\n\n function SliderEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function AngleEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function ColorEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n }\n\n function PointEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n }\n\n function LayerIndexEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function MaskIndexEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function CheckboxEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function NoValueEffect() {\n this.p = {};\n }\n\n function EffectsManager(data, element) {\n var effects = data.ef || [];\n this.effectElements = [];\n var i;\n var len = effects.length;\n var effectItem;\n\n for (i = 0; i < len; i += 1) {\n effectItem = new GroupEffect(effects[i], element);\n this.effectElements.push(effectItem);\n }\n }\n\n function GroupEffect(data, element) {\n this.init(data, element);\n }\n\n extendPrototype([DynamicPropertyContainer], GroupEffect);\n GroupEffect.prototype.getValue = GroupEffect.prototype.iterateDynamicProperties;\n\n GroupEffect.prototype.init = function (data, element) {\n this.data = data;\n this.effectElements = [];\n this.initDynamicPropertyContainer(element);\n var i;\n var len = this.data.ef.length;\n var eff;\n var effects = this.data.ef;\n\n for (i = 0; i < len; i += 1) {\n eff = null;\n\n switch (effects[i].ty) {\n case 0:\n eff = new SliderEffect(effects[i], element, this);\n break;\n\n case 1:\n eff = new AngleEffect(effects[i], element, this);\n break;\n\n case 2:\n eff = new ColorEffect(effects[i], element, this);\n break;\n\n case 3:\n eff = new PointEffect(effects[i], element, this);\n break;\n\n case 4:\n case 7:\n eff = new CheckboxEffect(effects[i], element, this);\n break;\n\n case 10:\n eff = new LayerIndexEffect(effects[i], element, this);\n break;\n\n case 11:\n eff = new MaskIndexEffect(effects[i], element, this);\n break;\n\n case 5:\n eff = new EffectsManager(effects[i], element, this);\n break;\n // case 6:\n\n default:\n eff = new NoValueEffect(effects[i], element, this);\n break;\n }\n\n if (eff) {\n this.effectElements.push(eff);\n }\n }\n };\n\n function BaseElement() {}\n\n BaseElement.prototype = {\n checkMasks: function checkMasks() {\n if (!this.data.hasMask) {\n return false;\n }\n\n var i = 0;\n var len = this.data.masksProperties.length;\n\n while (i < len) {\n if (this.data.masksProperties[i].mode !== 'n' && this.data.masksProperties[i].cl !== false) {\n return true;\n }\n\n i += 1;\n }\n\n return false;\n },\n initExpressions: function initExpressions() {\n this.layerInterface = LayerExpressionInterface(this);\n\n if (this.data.hasMask && this.maskManager) {\n this.layerInterface.registerMaskInterface(this.maskManager);\n }\n\n var effectsInterface = EffectsExpressionInterface.createEffectsInterface(this, this.layerInterface);\n this.layerInterface.registerEffectsInterface(effectsInterface);\n\n if (this.data.ty === 0 || this.data.xt) {\n this.compInterface = CompExpressionInterface(this);\n } else if (this.data.ty === 4) {\n this.layerInterface.shapeInterface = ShapeExpressionInterface(this.shapesData, this.itemsData, this.layerInterface);\n this.layerInterface.content = this.layerInterface.shapeInterface;\n } else if (this.data.ty === 5) {\n this.layerInterface.textInterface = TextExpressionInterface(this);\n this.layerInterface.text = this.layerInterface.textInterface;\n }\n },\n setBlendMode: function setBlendMode() {\n var blendModeValue = getBlendMode(this.data.bm);\n var elem = this.baseElement || this.layerElement;\n elem.style['mix-blend-mode'] = blendModeValue;\n },\n initBaseData: function initBaseData(data, globalData, comp) {\n this.globalData = globalData;\n this.comp = comp;\n this.data = data;\n this.layerId = createElementID(); // Stretch factor for old animations missing this property.\n\n if (!this.data.sr) {\n this.data.sr = 1;\n } // effects manager\n\n\n this.effectsManager = new EffectsManager(this.data, this, this.dynamicProperties);\n },\n getType: function getType() {\n return this.type;\n },\n sourceRectAtTime: function sourceRectAtTime() {}\n };\n\n /**\r\n * @file\r\n * Handles element's layer frame update.\r\n * Checks layer in point and out point\r\n *\r\n */\n function FrameElement() {}\n\n FrameElement.prototype = {\n /**\r\n * @function\r\n * Initializes frame related properties.\r\n *\r\n */\n initFrame: function initFrame() {\n // set to true when inpoint is rendered\n this._isFirstFrame = false; // list of animated properties\n\n this.dynamicProperties = []; // If layer has been modified in current tick this will be true\n\n this._mdf = false;\n },\n\n /**\r\n * @function\r\n * Calculates all dynamic values\r\n *\r\n * @param {number} num\r\n * current frame number in Layer's time\r\n * @param {boolean} isVisible\r\n * if layers is currently in range\r\n *\r\n */\n prepareProperties: function prepareProperties(num, isVisible) {\n var i;\n var len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n if (isVisible || this._isParent && this.dynamicProperties[i].propType === 'transform') {\n this.dynamicProperties[i].getValue();\n\n if (this.dynamicProperties[i]._mdf) {\n this.globalData._mdf = true;\n this._mdf = true;\n }\n }\n }\n },\n addDynamicProperty: function addDynamicProperty(prop) {\n if (this.dynamicProperties.indexOf(prop) === -1) {\n this.dynamicProperties.push(prop);\n }\n }\n };\n\n function _typeof$2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$2 = function _typeof(obj) { return typeof obj; }; } else { _typeof$2 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$2(obj); }\n\n var FootageInterface = function () {\n var outlineInterfaceFactory = function outlineInterfaceFactory(elem) {\n var currentPropertyName = '';\n var currentProperty = elem.getFootageData();\n\n function init() {\n currentPropertyName = '';\n currentProperty = elem.getFootageData();\n return searchProperty;\n }\n\n function searchProperty(value) {\n if (currentProperty[value]) {\n currentPropertyName = value;\n currentProperty = currentProperty[value];\n\n if (_typeof$2(currentProperty) === 'object') {\n return searchProperty;\n }\n\n return currentProperty;\n }\n\n var propertyNameIndex = value.indexOf(currentPropertyName);\n\n if (propertyNameIndex !== -1) {\n var index = parseInt(value.substr(propertyNameIndex + currentPropertyName.length), 10);\n currentProperty = currentProperty[index];\n\n if (_typeof$2(currentProperty) === 'object') {\n return searchProperty;\n }\n\n return currentProperty;\n }\n\n return '';\n }\n\n return init;\n };\n\n var dataInterfaceFactory = function dataInterfaceFactory(elem) {\n function interfaceFunction(value) {\n if (value === 'Outline') {\n return interfaceFunction.outlineInterface();\n }\n\n return null;\n }\n\n interfaceFunction._name = 'Outline';\n interfaceFunction.outlineInterface = outlineInterfaceFactory(elem);\n return interfaceFunction;\n };\n\n return function (elem) {\n function _interfaceFunction(value) {\n if (value === 'Data') {\n return _interfaceFunction.dataInterface;\n }\n\n return null;\n }\n\n _interfaceFunction._name = 'Data';\n _interfaceFunction.dataInterface = dataInterfaceFactory(elem);\n return _interfaceFunction;\n };\n }();\n\n function FootageElement(data, globalData, comp) {\n this.initFrame();\n this.initRenderable();\n this.assetData = globalData.getAssetData(data.refId);\n this.footageData = globalData.imageLoader.getAsset(this.assetData);\n this.initBaseData(data, globalData, comp);\n }\n\n FootageElement.prototype.prepareFrame = function () {};\n\n extendPrototype([RenderableElement, BaseElement, FrameElement], FootageElement);\n\n FootageElement.prototype.getBaseElement = function () {\n return null;\n };\n\n FootageElement.prototype.renderFrame = function () {};\n\n FootageElement.prototype.destroy = function () {};\n\n FootageElement.prototype.initExpressions = function () {\n this.layerInterface = FootageInterface(this);\n };\n\n FootageElement.prototype.getFootageData = function () {\n return this.footageData;\n };\n\n function AudioElement(data, globalData, comp) {\n this.initFrame();\n this.initRenderable();\n this.assetData = globalData.getAssetData(data.refId);\n this.initBaseData(data, globalData, comp);\n this._isPlaying = false;\n this._canPlay = false;\n var assetPath = this.globalData.getAssetsPath(this.assetData);\n this.audio = this.globalData.audioController.createAudio(assetPath);\n this._currentTime = 0;\n this.globalData.audioController.addAudio(this);\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n }\n\n AudioElement.prototype.prepareFrame = function (num) {\n this.prepareRenderableFrame(num, true);\n this.prepareProperties(num, true);\n\n if (!this.tm._placeholder) {\n var timeRemapped = this.tm.v;\n this._currentTime = timeRemapped;\n } else {\n this._currentTime = num / this.data.sr;\n }\n };\n\n extendPrototype([RenderableElement, BaseElement, FrameElement], AudioElement);\n\n AudioElement.prototype.renderFrame = function () {\n if (this.isInRange && this._canPlay) {\n if (!this._isPlaying) {\n this.audio.play();\n this.audio.seek(this._currentTime / this.globalData.frameRate);\n this._isPlaying = true;\n } else if (!this.audio.playing() || Math.abs(this._currentTime / this.globalData.frameRate - this.audio.seek()) > 0.1) {\n this.audio.seek(this._currentTime / this.globalData.frameRate);\n }\n }\n };\n\n AudioElement.prototype.show = function () {// this.audio.play()\n };\n\n AudioElement.prototype.hide = function () {\n this.audio.pause();\n this._isPlaying = false;\n };\n\n AudioElement.prototype.pause = function () {\n this.audio.pause();\n this._isPlaying = false;\n this._canPlay = false;\n };\n\n AudioElement.prototype.resume = function () {\n this._canPlay = true;\n };\n\n AudioElement.prototype.setRate = function (rateValue) {\n this.audio.rate(rateValue);\n };\n\n AudioElement.prototype.volume = function (volumeValue) {\n this.audio.volume(volumeValue);\n };\n\n AudioElement.prototype.getBaseElement = function () {\n return null;\n };\n\n AudioElement.prototype.destroy = function () {};\n\n AudioElement.prototype.sourceRectAtTime = function () {};\n\n AudioElement.prototype.initExpressions = function () {};\n\n function BaseRenderer() {}\n\n BaseRenderer.prototype.checkLayers = function (num) {\n var i;\n var len = this.layers.length;\n var data;\n this.completeLayers = true;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (!this.elements[i]) {\n data = this.layers[i];\n\n if (data.ip - data.st <= num - this.layers[i].st && data.op - data.st > num - this.layers[i].st) {\n this.buildItem(i);\n }\n }\n\n this.completeLayers = this.elements[i] ? this.completeLayers : false;\n }\n\n this.checkPendingElements();\n };\n\n BaseRenderer.prototype.createItem = function (layer) {\n switch (layer.ty) {\n case 2:\n return this.createImage(layer);\n\n case 0:\n return this.createComp(layer);\n\n case 1:\n return this.createSolid(layer);\n\n case 3:\n return this.createNull(layer);\n\n case 4:\n return this.createShape(layer);\n\n case 5:\n return this.createText(layer);\n\n case 6:\n return this.createAudio(layer);\n\n case 13:\n return this.createCamera(layer);\n\n case 15:\n return this.createFootage(layer);\n\n default:\n return this.createNull(layer);\n }\n };\n\n BaseRenderer.prototype.createCamera = function () {\n throw new Error('You\\'re using a 3d camera. Try the html renderer.');\n };\n\n BaseRenderer.prototype.createAudio = function (data) {\n return new AudioElement(data, this.globalData, this);\n };\n\n BaseRenderer.prototype.createFootage = function (data) {\n return new FootageElement(data, this.globalData, this);\n };\n\n BaseRenderer.prototype.buildAllItems = function () {\n var i;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n this.buildItem(i);\n }\n\n this.checkPendingElements();\n };\n\n BaseRenderer.prototype.includeLayers = function (newLayers) {\n this.completeLayers = false;\n var i;\n var len = newLayers.length;\n var j;\n var jLen = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n j = 0;\n\n while (j < jLen) {\n if (this.layers[j].id === newLayers[i].id) {\n this.layers[j] = newLayers[i];\n break;\n }\n\n j += 1;\n }\n }\n };\n\n BaseRenderer.prototype.setProjectInterface = function (pInterface) {\n this.globalData.projectInterface = pInterface;\n };\n\n BaseRenderer.prototype.initItems = function () {\n if (!this.globalData.progressiveLoad) {\n this.buildAllItems();\n }\n };\n\n BaseRenderer.prototype.buildElementParenting = function (element, parentName, hierarchy) {\n var elements = this.elements;\n var layers = this.layers;\n var i = 0;\n var len = layers.length;\n\n while (i < len) {\n if (layers[i].ind == parentName) {\n // eslint-disable-line eqeqeq\n if (!elements[i] || elements[i] === true) {\n this.buildItem(i);\n this.addPendingElement(element);\n } else {\n hierarchy.push(elements[i]);\n elements[i].setAsParent();\n\n if (layers[i].parent !== undefined) {\n this.buildElementParenting(element, layers[i].parent, hierarchy);\n } else {\n element.setHierarchy(hierarchy);\n }\n }\n }\n\n i += 1;\n }\n };\n\n BaseRenderer.prototype.addPendingElement = function (element) {\n this.pendingElements.push(element);\n };\n\n BaseRenderer.prototype.searchExtraCompositions = function (assets) {\n var i;\n var len = assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (assets[i].xt) {\n var comp = this.createComp(assets[i]);\n comp.initExpressions();\n this.globalData.projectInterface.registerComposition(comp);\n }\n }\n };\n\n BaseRenderer.prototype.setupGlobalData = function (animData, fontsContainer) {\n this.globalData.fontManager = new FontManager();\n this.globalData.fontManager.addChars(animData.chars);\n this.globalData.fontManager.addFonts(animData.fonts, fontsContainer);\n this.globalData.getAssetData = this.animationItem.getAssetData.bind(this.animationItem);\n this.globalData.getAssetsPath = this.animationItem.getAssetsPath.bind(this.animationItem);\n this.globalData.imageLoader = this.animationItem.imagePreloader;\n this.globalData.audioController = this.animationItem.audioController;\n this.globalData.frameId = 0;\n this.globalData.frameRate = animData.fr;\n this.globalData.nm = animData.nm;\n this.globalData.compSize = {\n w: animData.w,\n h: animData.h\n };\n };\n\n function TransformElement() {}\n\n TransformElement.prototype = {\n initTransform: function initTransform() {\n this.finalTransform = {\n mProp: this.data.ks ? TransformPropertyFactory.getTransformProperty(this, this.data.ks, this) : {\n o: 0\n },\n _matMdf: false,\n _opMdf: false,\n mat: new Matrix()\n };\n\n if (this.data.ao) {\n this.finalTransform.mProp.autoOriented = true;\n } // TODO: check TYPE 11: Guided elements\n\n\n if (this.data.ty !== 11) {// this.createElements();\n }\n },\n renderTransform: function renderTransform() {\n this.finalTransform._opMdf = this.finalTransform.mProp.o._mdf || this._isFirstFrame;\n this.finalTransform._matMdf = this.finalTransform.mProp._mdf || this._isFirstFrame;\n\n if (this.hierarchy) {\n var mat;\n var finalMat = this.finalTransform.mat;\n var i = 0;\n var len = this.hierarchy.length; // Checking if any of the transformation matrices in the hierarchy chain has changed.\n\n if (!this.finalTransform._matMdf) {\n while (i < len) {\n if (this.hierarchy[i].finalTransform.mProp._mdf) {\n this.finalTransform._matMdf = true;\n break;\n }\n\n i += 1;\n }\n }\n\n if (this.finalTransform._matMdf) {\n mat = this.finalTransform.mProp.v.props;\n finalMat.cloneFromProps(mat);\n\n for (i = 0; i < len; i += 1) {\n mat = this.hierarchy[i].finalTransform.mProp.v.props;\n finalMat.transform(mat[0], mat[1], mat[2], mat[3], mat[4], mat[5], mat[6], mat[7], mat[8], mat[9], mat[10], mat[11], mat[12], mat[13], mat[14], mat[15]);\n }\n }\n }\n },\n globalToLocal: function globalToLocal(pt) {\n var transforms = [];\n transforms.push(this.finalTransform);\n var flag = true;\n var comp = this.comp;\n\n while (flag) {\n if (comp.finalTransform) {\n if (comp.data.hasMask) {\n transforms.splice(0, 0, comp.finalTransform);\n }\n\n comp = comp.comp;\n } else {\n flag = false;\n }\n }\n\n var i;\n var len = transforms.length;\n var ptNew;\n\n for (i = 0; i < len; i += 1) {\n ptNew = transforms[i].mat.applyToPointArray(0, 0, 0); // ptNew = transforms[i].mat.applyToPointArray(pt[0],pt[1],pt[2]);\n\n pt = [pt[0] - ptNew[0], pt[1] - ptNew[1], 0];\n }\n\n return pt;\n },\n mHelper: new Matrix()\n };\n\n function MaskElement(data, element, globalData) {\n this.data = data;\n this.element = element;\n this.globalData = globalData;\n this.storedData = [];\n this.masksProperties = this.data.masksProperties || [];\n this.maskElement = null;\n var defs = this.globalData.defs;\n var i;\n var len = this.masksProperties ? this.masksProperties.length : 0;\n this.viewData = createSizedArray(len);\n this.solidPath = '';\n var path;\n var properties = this.masksProperties;\n var count = 0;\n var currentMasks = [];\n var j;\n var jLen;\n var layerId = createElementID();\n var rect;\n var expansor;\n var feMorph;\n var x;\n var maskType = 'clipPath';\n var maskRef = 'clip-path';\n\n for (i = 0; i < len; i += 1) {\n if (properties[i].mode !== 'a' && properties[i].mode !== 'n' || properties[i].inv || properties[i].o.k !== 100 || properties[i].o.x) {\n maskType = 'mask';\n maskRef = 'mask';\n }\n\n if ((properties[i].mode === 's' || properties[i].mode === 'i') && count === 0) {\n rect = createNS('rect');\n rect.setAttribute('fill', '#ffffff');\n rect.setAttribute('width', this.element.comp.data.w || 0);\n rect.setAttribute('height', this.element.comp.data.h || 0);\n currentMasks.push(rect);\n } else {\n rect = null;\n }\n\n path = createNS('path');\n\n if (properties[i].mode === 'n') {\n // TODO move this to a factory or to a constructor\n this.viewData[i] = {\n op: PropertyFactory.getProp(this.element, properties[i].o, 0, 0.01, this.element),\n prop: ShapePropertyFactory.getShapeProp(this.element, properties[i], 3),\n elem: path,\n lastPath: ''\n };\n defs.appendChild(path);\n } else {\n count += 1;\n path.setAttribute('fill', properties[i].mode === 's' ? '#000000' : '#ffffff');\n path.setAttribute('clip-rule', 'nonzero');\n var filterID;\n\n if (properties[i].x.k !== 0) {\n maskType = 'mask';\n maskRef = 'mask';\n x = PropertyFactory.getProp(this.element, properties[i].x, 0, null, this.element);\n filterID = createElementID();\n expansor = createNS('filter');\n expansor.setAttribute('id', filterID);\n feMorph = createNS('feMorphology');\n feMorph.setAttribute('operator', 'erode');\n feMorph.setAttribute('in', 'SourceGraphic');\n feMorph.setAttribute('radius', '0');\n expansor.appendChild(feMorph);\n defs.appendChild(expansor);\n path.setAttribute('stroke', properties[i].mode === 's' ? '#000000' : '#ffffff');\n } else {\n feMorph = null;\n x = null;\n } // TODO move this to a factory or to a constructor\n\n\n this.storedData[i] = {\n elem: path,\n x: x,\n expan: feMorph,\n lastPath: '',\n lastOperator: '',\n filterId: filterID,\n lastRadius: 0\n };\n\n if (properties[i].mode === 'i') {\n jLen = currentMasks.length;\n var g = createNS('g');\n\n for (j = 0; j < jLen; j += 1) {\n g.appendChild(currentMasks[j]);\n }\n\n var mask = createNS('mask');\n mask.setAttribute('mask-type', 'alpha');\n mask.setAttribute('id', layerId + '_' + count);\n mask.appendChild(path);\n defs.appendChild(mask);\n g.setAttribute('mask', 'url(' + getLocationHref() + '#' + layerId + '_' + count + ')');\n currentMasks.length = 0;\n currentMasks.push(g);\n } else {\n currentMasks.push(path);\n }\n\n if (properties[i].inv && !this.solidPath) {\n this.solidPath = this.createLayerSolidPath();\n } // TODO move this to a factory or to a constructor\n\n\n this.viewData[i] = {\n elem: path,\n lastPath: '',\n op: PropertyFactory.getProp(this.element, properties[i].o, 0, 0.01, this.element),\n prop: ShapePropertyFactory.getShapeProp(this.element, properties[i], 3),\n invRect: rect\n };\n\n if (!this.viewData[i].prop.k) {\n this.drawPath(properties[i], this.viewData[i].prop.v, this.viewData[i]);\n }\n }\n }\n\n this.maskElement = createNS(maskType);\n len = currentMasks.length;\n\n for (i = 0; i < len; i += 1) {\n this.maskElement.appendChild(currentMasks[i]);\n }\n\n if (count > 0) {\n this.maskElement.setAttribute('id', layerId);\n this.element.maskedElement.setAttribute(maskRef, 'url(' + getLocationHref() + '#' + layerId + ')');\n defs.appendChild(this.maskElement);\n }\n\n if (this.viewData.length) {\n this.element.addRenderableComponent(this);\n }\n }\n\n MaskElement.prototype.getMaskProperty = function (pos) {\n return this.viewData[pos].prop;\n };\n\n MaskElement.prototype.renderFrame = function (isFirstFrame) {\n var finalMat = this.element.finalTransform.mat;\n var i;\n var len = this.masksProperties.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.viewData[i].prop._mdf || isFirstFrame) {\n this.drawPath(this.masksProperties[i], this.viewData[i].prop.v, this.viewData[i]);\n }\n\n if (this.viewData[i].op._mdf || isFirstFrame) {\n this.viewData[i].elem.setAttribute('fill-opacity', this.viewData[i].op.v);\n }\n\n if (this.masksProperties[i].mode !== 'n') {\n if (this.viewData[i].invRect && (this.element.finalTransform.mProp._mdf || isFirstFrame)) {\n this.viewData[i].invRect.setAttribute('transform', finalMat.getInverseMatrix().to2dCSS());\n }\n\n if (this.storedData[i].x && (this.storedData[i].x._mdf || isFirstFrame)) {\n var feMorph = this.storedData[i].expan;\n\n if (this.storedData[i].x.v < 0) {\n if (this.storedData[i].lastOperator !== 'erode') {\n this.storedData[i].lastOperator = 'erode';\n this.storedData[i].elem.setAttribute('filter', 'url(' + getLocationHref() + '#' + this.storedData[i].filterId + ')');\n }\n\n feMorph.setAttribute('radius', -this.storedData[i].x.v);\n } else {\n if (this.storedData[i].lastOperator !== 'dilate') {\n this.storedData[i].lastOperator = 'dilate';\n this.storedData[i].elem.setAttribute('filter', null);\n }\n\n this.storedData[i].elem.setAttribute('stroke-width', this.storedData[i].x.v * 2);\n }\n }\n }\n }\n };\n\n MaskElement.prototype.getMaskelement = function () {\n return this.maskElement;\n };\n\n MaskElement.prototype.createLayerSolidPath = function () {\n var path = 'M0,0 ';\n path += ' h' + this.globalData.compSize.w;\n path += ' v' + this.globalData.compSize.h;\n path += ' h-' + this.globalData.compSize.w;\n path += ' v-' + this.globalData.compSize.h + ' ';\n return path;\n };\n\n MaskElement.prototype.drawPath = function (pathData, pathNodes, viewData) {\n var pathString = ' M' + pathNodes.v[0][0] + ',' + pathNodes.v[0][1];\n var i;\n var len;\n len = pathNodes._length;\n\n for (i = 1; i < len; i += 1) {\n // pathString += \" C\"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + \" \"+pathNodes.i[i][0]+','+pathNodes.i[i][1] + \" \"+pathNodes.v[i][0]+','+pathNodes.v[i][1];\n pathString += ' C' + pathNodes.o[i - 1][0] + ',' + pathNodes.o[i - 1][1] + ' ' + pathNodes.i[i][0] + ',' + pathNodes.i[i][1] + ' ' + pathNodes.v[i][0] + ',' + pathNodes.v[i][1];\n } // pathString += \" C\"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + \" \"+pathNodes.i[0][0]+','+pathNodes.i[0][1] + \" \"+pathNodes.v[0][0]+','+pathNodes.v[0][1];\n\n\n if (pathNodes.c && len > 1) {\n pathString += ' C' + pathNodes.o[i - 1][0] + ',' + pathNodes.o[i - 1][1] + ' ' + pathNodes.i[0][0] + ',' + pathNodes.i[0][1] + ' ' + pathNodes.v[0][0] + ',' + pathNodes.v[0][1];\n } // pathNodes.__renderedString = pathString;\n\n\n if (viewData.lastPath !== pathString) {\n var pathShapeValue = '';\n\n if (viewData.elem) {\n if (pathNodes.c) {\n pathShapeValue = pathData.inv ? this.solidPath + pathString : pathString;\n }\n\n viewData.elem.setAttribute('d', pathShapeValue);\n }\n\n viewData.lastPath = pathString;\n }\n };\n\n MaskElement.prototype.destroy = function () {\n this.element = null;\n this.globalData = null;\n this.maskElement = null;\n this.data = null;\n this.masksProperties = null;\n };\n\n var filtersFactory = function () {\n var ob = {};\n ob.createFilter = createFilter;\n ob.createAlphaToLuminanceFilter = createAlphaToLuminanceFilter;\n\n function createFilter(filId, skipCoordinates) {\n var fil = createNS('filter');\n fil.setAttribute('id', filId);\n\n if (skipCoordinates !== true) {\n fil.setAttribute('filterUnits', 'objectBoundingBox');\n fil.setAttribute('x', '0%');\n fil.setAttribute('y', '0%');\n fil.setAttribute('width', '100%');\n fil.setAttribute('height', '100%');\n }\n\n return fil;\n }\n\n function createAlphaToLuminanceFilter() {\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\n feColorMatrix.setAttribute('values', '0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1');\n return feColorMatrix;\n }\n\n return ob;\n }();\n\n var featureSupport = function () {\n var ob = {\n maskType: true\n };\n\n if (/MSIE 10/i.test(navigator.userAgent) || /MSIE 9/i.test(navigator.userAgent) || /rv:11.0/i.test(navigator.userAgent) || /Edge\\/\\d./i.test(navigator.userAgent)) {\n ob.maskType = false;\n }\n\n return ob;\n }();\n\n function SVGTintFilter(filter, filterManager) {\n this.filterManager = filterManager;\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'linearRGB');\n feColorMatrix.setAttribute('values', '0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0');\n feColorMatrix.setAttribute('result', 'f1');\n filter.appendChild(feColorMatrix);\n feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\n feColorMatrix.setAttribute('values', '1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0');\n feColorMatrix.setAttribute('result', 'f2');\n filter.appendChild(feColorMatrix);\n this.matrixFilter = feColorMatrix;\n\n if (filterManager.effectElements[2].p.v !== 100 || filterManager.effectElements[2].p.k) {\n var feMerge = createNS('feMerge');\n filter.appendChild(feMerge);\n var feMergeNode;\n feMergeNode = createNS('feMergeNode');\n feMergeNode.setAttribute('in', 'SourceGraphic');\n feMerge.appendChild(feMergeNode);\n feMergeNode = createNS('feMergeNode');\n feMergeNode.setAttribute('in', 'f2');\n feMerge.appendChild(feMergeNode);\n }\n }\n\n SVGTintFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var colorBlack = this.filterManager.effectElements[0].p.v;\n var colorWhite = this.filterManager.effectElements[1].p.v;\n var opacity = this.filterManager.effectElements[2].p.v / 100;\n this.matrixFilter.setAttribute('values', colorWhite[0] - colorBlack[0] + ' 0 0 0 ' + colorBlack[0] + ' ' + (colorWhite[1] - colorBlack[1]) + ' 0 0 0 ' + colorBlack[1] + ' ' + (colorWhite[2] - colorBlack[2]) + ' 0 0 0 ' + colorBlack[2] + ' 0 0 0 ' + opacity + ' 0');\n }\n };\n\n function SVGFillFilter(filter, filterManager) {\n this.filterManager = filterManager;\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\n feColorMatrix.setAttribute('values', '1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0');\n filter.appendChild(feColorMatrix);\n this.matrixFilter = feColorMatrix;\n }\n\n SVGFillFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var color = this.filterManager.effectElements[2].p.v;\n var opacity = this.filterManager.effectElements[6].p.v;\n this.matrixFilter.setAttribute('values', '0 0 0 0 ' + color[0] + ' 0 0 0 0 ' + color[1] + ' 0 0 0 0 ' + color[2] + ' 0 0 0 ' + opacity + ' 0');\n }\n };\n\n function SVGStrokeEffect(elem, filterManager) {\n this.initialized = false;\n this.filterManager = filterManager;\n this.elem = elem;\n this.paths = [];\n }\n\n SVGStrokeEffect.prototype.initialize = function () {\n var elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes;\n var path;\n var groupPath;\n var i;\n var len;\n\n if (this.filterManager.effectElements[1].p.v === 1) {\n len = this.elem.maskManager.masksProperties.length;\n i = 0;\n } else {\n i = this.filterManager.effectElements[0].p.v - 1;\n len = i + 1;\n }\n\n groupPath = createNS('g');\n groupPath.setAttribute('fill', 'none');\n groupPath.setAttribute('stroke-linecap', 'round');\n groupPath.setAttribute('stroke-dashoffset', 1);\n\n for (i; i < len; i += 1) {\n path = createNS('path');\n groupPath.appendChild(path);\n this.paths.push({\n p: path,\n m: i\n });\n }\n\n if (this.filterManager.effectElements[10].p.v === 3) {\n var mask = createNS('mask');\n var id = createElementID();\n mask.setAttribute('id', id);\n mask.setAttribute('mask-type', 'alpha');\n mask.appendChild(groupPath);\n this.elem.globalData.defs.appendChild(mask);\n var g = createNS('g');\n g.setAttribute('mask', 'url(' + getLocationHref() + '#' + id + ')');\n\n while (elemChildren[0]) {\n g.appendChild(elemChildren[0]);\n }\n\n this.elem.layerElement.appendChild(g);\n this.masker = mask;\n groupPath.setAttribute('stroke', '#fff');\n } else if (this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2) {\n if (this.filterManager.effectElements[10].p.v === 2) {\n elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes;\n\n while (elemChildren.length) {\n this.elem.layerElement.removeChild(elemChildren[0]);\n }\n }\n\n this.elem.layerElement.appendChild(groupPath);\n this.elem.layerElement.removeAttribute('mask');\n groupPath.setAttribute('stroke', '#fff');\n }\n\n this.initialized = true;\n this.pathMasker = groupPath;\n };\n\n SVGStrokeEffect.prototype.renderFrame = function (forceRender) {\n if (!this.initialized) {\n this.initialize();\n }\n\n var i;\n var len = this.paths.length;\n var mask;\n var path;\n\n for (i = 0; i < len; i += 1) {\n if (this.paths[i].m !== -1) {\n mask = this.elem.maskManager.viewData[this.paths[i].m];\n path = this.paths[i].p;\n\n if (forceRender || this.filterManager._mdf || mask.prop._mdf) {\n path.setAttribute('d', mask.lastPath);\n }\n\n if (forceRender || this.filterManager.effectElements[9].p._mdf || this.filterManager.effectElements[4].p._mdf || this.filterManager.effectElements[7].p._mdf || this.filterManager.effectElements[8].p._mdf || mask.prop._mdf) {\n var dasharrayValue;\n\n if (this.filterManager.effectElements[7].p.v !== 0 || this.filterManager.effectElements[8].p.v !== 100) {\n var s = Math.min(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v) * 0.01;\n var e = Math.max(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v) * 0.01;\n var l = path.getTotalLength();\n dasharrayValue = '0 0 0 ' + l * s + ' ';\n var lineLength = l * (e - s);\n var segment = 1 + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01;\n var units = Math.floor(lineLength / segment);\n var j;\n\n for (j = 0; j < units; j += 1) {\n dasharrayValue += '1 ' + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01 + ' ';\n }\n\n dasharrayValue += '0 ' + l * 10 + ' 0 0';\n } else {\n dasharrayValue = '1 ' + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01;\n }\n\n path.setAttribute('stroke-dasharray', dasharrayValue);\n }\n }\n }\n\n if (forceRender || this.filterManager.effectElements[4].p._mdf) {\n this.pathMasker.setAttribute('stroke-width', this.filterManager.effectElements[4].p.v * 2);\n }\n\n if (forceRender || this.filterManager.effectElements[6].p._mdf) {\n this.pathMasker.setAttribute('opacity', this.filterManager.effectElements[6].p.v);\n }\n\n if (this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2) {\n if (forceRender || this.filterManager.effectElements[3].p._mdf) {\n var color = this.filterManager.effectElements[3].p.v;\n this.pathMasker.setAttribute('stroke', 'rgb(' + bmFloor(color[0] * 255) + ',' + bmFloor(color[1] * 255) + ',' + bmFloor(color[2] * 255) + ')');\n }\n }\n };\n\n function SVGTritoneFilter(filter, filterManager) {\n this.filterManager = filterManager;\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'linearRGB');\n feColorMatrix.setAttribute('values', '0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0');\n feColorMatrix.setAttribute('result', 'f1');\n filter.appendChild(feColorMatrix);\n var feComponentTransfer = createNS('feComponentTransfer');\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\n filter.appendChild(feComponentTransfer);\n this.matrixFilter = feComponentTransfer;\n var feFuncR = createNS('feFuncR');\n feFuncR.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFuncR);\n this.feFuncR = feFuncR;\n var feFuncG = createNS('feFuncG');\n feFuncG.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFuncG);\n this.feFuncG = feFuncG;\n var feFuncB = createNS('feFuncB');\n feFuncB.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFuncB);\n this.feFuncB = feFuncB;\n }\n\n SVGTritoneFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var color1 = this.filterManager.effectElements[0].p.v;\n var color2 = this.filterManager.effectElements[1].p.v;\n var color3 = this.filterManager.effectElements[2].p.v;\n var tableR = color3[0] + ' ' + color2[0] + ' ' + color1[0];\n var tableG = color3[1] + ' ' + color2[1] + ' ' + color1[1];\n var tableB = color3[2] + ' ' + color2[2] + ' ' + color1[2];\n this.feFuncR.setAttribute('tableValues', tableR);\n this.feFuncG.setAttribute('tableValues', tableG);\n this.feFuncB.setAttribute('tableValues', tableB); // var opacity = this.filterManager.effectElements[2].p.v/100;\n // this.matrixFilter.setAttribute('values',(colorWhite[0]- colorBlack[0])+' 0 0 0 '+ colorBlack[0] +' '+ (colorWhite[1]- colorBlack[1]) +' 0 0 0 '+ colorBlack[1] +' '+ (colorWhite[2]- colorBlack[2]) +' 0 0 0 '+ colorBlack[2] +' 0 0 0 ' + opacity + ' 0');\n }\n };\n\n function SVGProLevelsFilter(filter, filterManager) {\n this.filterManager = filterManager;\n var effectElements = this.filterManager.effectElements;\n var feComponentTransfer = createNS('feComponentTransfer');\n\n if (effectElements[10].p.k || effectElements[10].p.v !== 0 || effectElements[11].p.k || effectElements[11].p.v !== 1 || effectElements[12].p.k || effectElements[12].p.v !== 1 || effectElements[13].p.k || effectElements[13].p.v !== 0 || effectElements[14].p.k || effectElements[14].p.v !== 1) {\n this.feFuncR = this.createFeFunc('feFuncR', feComponentTransfer);\n }\n\n if (effectElements[17].p.k || effectElements[17].p.v !== 0 || effectElements[18].p.k || effectElements[18].p.v !== 1 || effectElements[19].p.k || effectElements[19].p.v !== 1 || effectElements[20].p.k || effectElements[20].p.v !== 0 || effectElements[21].p.k || effectElements[21].p.v !== 1) {\n this.feFuncG = this.createFeFunc('feFuncG', feComponentTransfer);\n }\n\n if (effectElements[24].p.k || effectElements[24].p.v !== 0 || effectElements[25].p.k || effectElements[25].p.v !== 1 || effectElements[26].p.k || effectElements[26].p.v !== 1 || effectElements[27].p.k || effectElements[27].p.v !== 0 || effectElements[28].p.k || effectElements[28].p.v !== 1) {\n this.feFuncB = this.createFeFunc('feFuncB', feComponentTransfer);\n }\n\n if (effectElements[31].p.k || effectElements[31].p.v !== 0 || effectElements[32].p.k || effectElements[32].p.v !== 1 || effectElements[33].p.k || effectElements[33].p.v !== 1 || effectElements[34].p.k || effectElements[34].p.v !== 0 || effectElements[35].p.k || effectElements[35].p.v !== 1) {\n this.feFuncA = this.createFeFunc('feFuncA', feComponentTransfer);\n }\n\n if (this.feFuncR || this.feFuncG || this.feFuncB || this.feFuncA) {\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\n filter.appendChild(feComponentTransfer);\n feComponentTransfer = createNS('feComponentTransfer');\n }\n\n if (effectElements[3].p.k || effectElements[3].p.v !== 0 || effectElements[4].p.k || effectElements[4].p.v !== 1 || effectElements[5].p.k || effectElements[5].p.v !== 1 || effectElements[6].p.k || effectElements[6].p.v !== 0 || effectElements[7].p.k || effectElements[7].p.v !== 1) {\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\n filter.appendChild(feComponentTransfer);\n this.feFuncRComposed = this.createFeFunc('feFuncR', feComponentTransfer);\n this.feFuncGComposed = this.createFeFunc('feFuncG', feComponentTransfer);\n this.feFuncBComposed = this.createFeFunc('feFuncB', feComponentTransfer);\n }\n }\n\n SVGProLevelsFilter.prototype.createFeFunc = function (type, feComponentTransfer) {\n var feFunc = createNS(type);\n feFunc.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFunc);\n return feFunc;\n };\n\n SVGProLevelsFilter.prototype.getTableValue = function (inputBlack, inputWhite, gamma, outputBlack, outputWhite) {\n var cnt = 0;\n var segments = 256;\n var perc;\n var min = Math.min(inputBlack, inputWhite);\n var max = Math.max(inputBlack, inputWhite);\n var table = Array.call(null, {\n length: segments\n });\n var colorValue;\n var pos = 0;\n var outputDelta = outputWhite - outputBlack;\n var inputDelta = inputWhite - inputBlack;\n\n while (cnt <= 256) {\n perc = cnt / 256;\n\n if (perc <= min) {\n colorValue = inputDelta < 0 ? outputWhite : outputBlack;\n } else if (perc >= max) {\n colorValue = inputDelta < 0 ? outputBlack : outputWhite;\n } else {\n colorValue = outputBlack + outputDelta * Math.pow((perc - inputBlack) / inputDelta, 1 / gamma);\n }\n\n table[pos] = colorValue;\n pos += 1;\n cnt += 256 / (segments - 1);\n }\n\n return table.join(' ');\n };\n\n SVGProLevelsFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var val;\n var effectElements = this.filterManager.effectElements;\n\n if (this.feFuncRComposed && (forceRender || effectElements[3].p._mdf || effectElements[4].p._mdf || effectElements[5].p._mdf || effectElements[6].p._mdf || effectElements[7].p._mdf)) {\n val = this.getTableValue(effectElements[3].p.v, effectElements[4].p.v, effectElements[5].p.v, effectElements[6].p.v, effectElements[7].p.v);\n this.feFuncRComposed.setAttribute('tableValues', val);\n this.feFuncGComposed.setAttribute('tableValues', val);\n this.feFuncBComposed.setAttribute('tableValues', val);\n }\n\n if (this.feFuncR && (forceRender || effectElements[10].p._mdf || effectElements[11].p._mdf || effectElements[12].p._mdf || effectElements[13].p._mdf || effectElements[14].p._mdf)) {\n val = this.getTableValue(effectElements[10].p.v, effectElements[11].p.v, effectElements[12].p.v, effectElements[13].p.v, effectElements[14].p.v);\n this.feFuncR.setAttribute('tableValues', val);\n }\n\n if (this.feFuncG && (forceRender || effectElements[17].p._mdf || effectElements[18].p._mdf || effectElements[19].p._mdf || effectElements[20].p._mdf || effectElements[21].p._mdf)) {\n val = this.getTableValue(effectElements[17].p.v, effectElements[18].p.v, effectElements[19].p.v, effectElements[20].p.v, effectElements[21].p.v);\n this.feFuncG.setAttribute('tableValues', val);\n }\n\n if (this.feFuncB && (forceRender || effectElements[24].p._mdf || effectElements[25].p._mdf || effectElements[26].p._mdf || effectElements[27].p._mdf || effectElements[28].p._mdf)) {\n val = this.getTableValue(effectElements[24].p.v, effectElements[25].p.v, effectElements[26].p.v, effectElements[27].p.v, effectElements[28].p.v);\n this.feFuncB.setAttribute('tableValues', val);\n }\n\n if (this.feFuncA && (forceRender || effectElements[31].p._mdf || effectElements[32].p._mdf || effectElements[33].p._mdf || effectElements[34].p._mdf || effectElements[35].p._mdf)) {\n val = this.getTableValue(effectElements[31].p.v, effectElements[32].p.v, effectElements[33].p.v, effectElements[34].p.v, effectElements[35].p.v);\n this.feFuncA.setAttribute('tableValues', val);\n }\n }\n };\n\n function SVGDropShadowEffect(filter, filterManager) {\n var filterSize = filterManager.container.globalData.renderConfig.filterSize;\n filter.setAttribute('x', filterSize.x);\n filter.setAttribute('y', filterSize.y);\n filter.setAttribute('width', filterSize.width);\n filter.setAttribute('height', filterSize.height);\n this.filterManager = filterManager;\n var feGaussianBlur = createNS('feGaussianBlur');\n feGaussianBlur.setAttribute('in', 'SourceAlpha');\n feGaussianBlur.setAttribute('result', 'drop_shadow_1');\n feGaussianBlur.setAttribute('stdDeviation', '0');\n this.feGaussianBlur = feGaussianBlur;\n filter.appendChild(feGaussianBlur);\n var feOffset = createNS('feOffset');\n feOffset.setAttribute('dx', '25');\n feOffset.setAttribute('dy', '0');\n feOffset.setAttribute('in', 'drop_shadow_1');\n feOffset.setAttribute('result', 'drop_shadow_2');\n this.feOffset = feOffset;\n filter.appendChild(feOffset);\n var feFlood = createNS('feFlood');\n feFlood.setAttribute('flood-color', '#00ff00');\n feFlood.setAttribute('flood-opacity', '1');\n feFlood.setAttribute('result', 'drop_shadow_3');\n this.feFlood = feFlood;\n filter.appendChild(feFlood);\n var feComposite = createNS('feComposite');\n feComposite.setAttribute('in', 'drop_shadow_3');\n feComposite.setAttribute('in2', 'drop_shadow_2');\n feComposite.setAttribute('operator', 'in');\n feComposite.setAttribute('result', 'drop_shadow_4');\n filter.appendChild(feComposite);\n var feMerge = createNS('feMerge');\n filter.appendChild(feMerge);\n var feMergeNode;\n feMergeNode = createNS('feMergeNode');\n feMerge.appendChild(feMergeNode);\n feMergeNode = createNS('feMergeNode');\n feMergeNode.setAttribute('in', 'SourceGraphic');\n this.feMergeNode = feMergeNode;\n this.feMerge = feMerge;\n this.originalNodeAdded = false;\n feMerge.appendChild(feMergeNode);\n }\n\n SVGDropShadowEffect.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n if (forceRender || this.filterManager.effectElements[4].p._mdf) {\n this.feGaussianBlur.setAttribute('stdDeviation', this.filterManager.effectElements[4].p.v / 4);\n }\n\n if (forceRender || this.filterManager.effectElements[0].p._mdf) {\n var col = this.filterManager.effectElements[0].p.v;\n this.feFlood.setAttribute('flood-color', rgbToHex(Math.round(col[0] * 255), Math.round(col[1] * 255), Math.round(col[2] * 255)));\n }\n\n if (forceRender || this.filterManager.effectElements[1].p._mdf) {\n this.feFlood.setAttribute('flood-opacity', this.filterManager.effectElements[1].p.v / 255);\n }\n\n if (forceRender || this.filterManager.effectElements[2].p._mdf || this.filterManager.effectElements[3].p._mdf) {\n var distance = this.filterManager.effectElements[3].p.v;\n var angle = (this.filterManager.effectElements[2].p.v - 90) * degToRads;\n var x = distance * Math.cos(angle);\n var y = distance * Math.sin(angle);\n this.feOffset.setAttribute('dx', x);\n this.feOffset.setAttribute('dy', y);\n }\n /* if(forceRender || this.filterManager.effectElements[5].p._mdf){\r\n if(this.filterManager.effectElements[5].p.v === 1 && this.originalNodeAdded) {\r\n this.feMerge.removeChild(this.feMergeNode);\r\n this.originalNodeAdded = false;\r\n } else if(this.filterManager.effectElements[5].p.v === 0 && !this.originalNodeAdded) {\r\n this.feMerge.appendChild(this.feMergeNode);\r\n this.originalNodeAdded = true;\r\n }\r\n } */\n\n }\n };\n\n var _svgMatteSymbols = [];\n\n function SVGMatte3Effect(filterElem, filterManager, elem) {\n this.initialized = false;\n this.filterManager = filterManager;\n this.filterElem = filterElem;\n this.elem = elem;\n elem.matteElement = createNS('g');\n elem.matteElement.appendChild(elem.layerElement);\n elem.matteElement.appendChild(elem.transformedElement);\n elem.baseElement = elem.matteElement;\n }\n\n SVGMatte3Effect.prototype.findSymbol = function (mask) {\n var i = 0;\n var len = _svgMatteSymbols.length;\n\n while (i < len) {\n if (_svgMatteSymbols[i] === mask) {\n return _svgMatteSymbols[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n SVGMatte3Effect.prototype.replaceInParent = function (mask, symbolId) {\n var parentNode = mask.layerElement.parentNode;\n\n if (!parentNode) {\n return;\n }\n\n var children = parentNode.children;\n var i = 0;\n var len = children.length;\n\n while (i < len) {\n if (children[i] === mask.layerElement) {\n break;\n }\n\n i += 1;\n }\n\n var nextChild;\n\n if (i <= len - 2) {\n nextChild = children[i + 1];\n }\n\n var useElem = createNS('use');\n useElem.setAttribute('href', '#' + symbolId);\n\n if (nextChild) {\n parentNode.insertBefore(useElem, nextChild);\n } else {\n parentNode.appendChild(useElem);\n }\n };\n\n SVGMatte3Effect.prototype.setElementAsMask = function (elem, mask) {\n if (!this.findSymbol(mask)) {\n var symbolId = createElementID();\n var masker = createNS('mask');\n masker.setAttribute('id', mask.layerId);\n masker.setAttribute('mask-type', 'alpha');\n\n _svgMatteSymbols.push(mask);\n\n var defs = elem.globalData.defs;\n defs.appendChild(masker);\n var symbol = createNS('symbol');\n symbol.setAttribute('id', symbolId);\n this.replaceInParent(mask, symbolId);\n symbol.appendChild(mask.layerElement);\n defs.appendChild(symbol);\n var useElem = createNS('use');\n useElem.setAttribute('href', '#' + symbolId);\n masker.appendChild(useElem);\n mask.data.hd = false;\n mask.show();\n }\n\n elem.setMatte(mask.layerId);\n };\n\n SVGMatte3Effect.prototype.initialize = function () {\n var ind = this.filterManager.effectElements[0].p.v;\n var elements = this.elem.comp.elements;\n var i = 0;\n var len = elements.length;\n\n while (i < len) {\n if (elements[i] && elements[i].data.ind === ind) {\n this.setElementAsMask(this.elem, elements[i]);\n }\n\n i += 1;\n }\n\n this.initialized = true;\n };\n\n SVGMatte3Effect.prototype.renderFrame = function () {\n if (!this.initialized) {\n this.initialize();\n }\n };\n\n function SVGGaussianBlurEffect(filter, filterManager) {\n // Outset the filter region by 100% on all sides to accommodate blur expansion.\n filter.setAttribute('x', '-100%');\n filter.setAttribute('y', '-100%');\n filter.setAttribute('width', '300%');\n filter.setAttribute('height', '300%');\n this.filterManager = filterManager;\n var feGaussianBlur = createNS('feGaussianBlur');\n filter.appendChild(feGaussianBlur);\n this.feGaussianBlur = feGaussianBlur;\n }\n\n SVGGaussianBlurEffect.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n // Empirical value, matching AE's blur appearance.\n var kBlurrinessToSigma = 0.3;\n var sigma = this.filterManager.effectElements[0].p.v * kBlurrinessToSigma; // Dimensions mapping:\n //\n // 1 -> horizontal & vertical\n // 2 -> horizontal only\n // 3 -> vertical only\n //\n\n var dimensions = this.filterManager.effectElements[1].p.v;\n var sigmaX = dimensions == 3 ? 0 : sigma; // eslint-disable-line eqeqeq\n\n var sigmaY = dimensions == 2 ? 0 : sigma; // eslint-disable-line eqeqeq\n\n this.feGaussianBlur.setAttribute('stdDeviation', sigmaX + ' ' + sigmaY); // Repeat edges mapping:\n //\n // 0 -> off -> duplicate\n // 1 -> on -> wrap\n\n var edgeMode = this.filterManager.effectElements[2].p.v == 1 ? 'wrap' : 'duplicate'; // eslint-disable-line eqeqeq\n\n this.feGaussianBlur.setAttribute('edgeMode', edgeMode);\n }\n };\n\n var registeredEffects = {};\n\n function SVGEffects(elem) {\n var i;\n var len = elem.data.ef ? elem.data.ef.length : 0;\n var filId = createElementID();\n var fil = filtersFactory.createFilter(filId, true);\n var count = 0;\n this.filters = [];\n var filterManager;\n\n for (i = 0; i < len; i += 1) {\n filterManager = null;\n var type = elem.data.ef[i].ty;\n\n if (registeredEffects[type]) {\n var Effect = registeredEffects[type].effect;\n filterManager = new Effect(fil, elem.effectsManager.effectElements[i], elem);\n\n if (registeredEffects[type].countsAsEffect) {\n count += 1;\n }\n }\n\n if (elem.data.ef[i].ty === 20) {\n count += 1;\n filterManager = new SVGTintFilter(fil, elem.effectsManager.effectElements[i]);\n } else if (elem.data.ef[i].ty === 21) {\n count += 1;\n filterManager = new SVGFillFilter(fil, elem.effectsManager.effectElements[i]);\n } else if (elem.data.ef[i].ty === 22) {\n filterManager = new SVGStrokeEffect(elem, elem.effectsManager.effectElements[i]);\n } else if (elem.data.ef[i].ty === 23) {\n count += 1;\n filterManager = new SVGTritoneFilter(fil, elem.effectsManager.effectElements[i]);\n } else if (elem.data.ef[i].ty === 24) {\n count += 1;\n filterManager = new SVGProLevelsFilter(fil, elem.effectsManager.effectElements[i]);\n } else if (elem.data.ef[i].ty === 25) {\n count += 1;\n filterManager = new SVGDropShadowEffect(fil, elem.effectsManager.effectElements[i]);\n } else if (elem.data.ef[i].ty === 28) {\n // count += 1;\n filterManager = new SVGMatte3Effect(fil, elem.effectsManager.effectElements[i], elem);\n } else if (elem.data.ef[i].ty === 29) {\n count += 1;\n filterManager = new SVGGaussianBlurEffect(fil, elem.effectsManager.effectElements[i]);\n }\n\n if (filterManager) {\n this.filters.push(filterManager);\n }\n }\n\n if (count) {\n elem.globalData.defs.appendChild(fil);\n elem.layerElement.setAttribute('filter', 'url(' + getLocationHref() + '#' + filId + ')');\n }\n\n if (this.filters.length) {\n elem.addRenderableComponent(this);\n }\n }\n\n SVGEffects.prototype.renderFrame = function (_isFirstFrame) {\n var i;\n var len = this.filters.length;\n\n for (i = 0; i < len; i += 1) {\n this.filters[i].renderFrame(_isFirstFrame);\n }\n };\n\n function registerEffect(id, effect, countsAsEffect) {\n registeredEffects[id] = {\n effect: effect,\n countsAsEffect: countsAsEffect\n };\n }\n\n function SVGBaseElement() {}\n\n SVGBaseElement.prototype = {\n initRendererElement: function initRendererElement() {\n this.layerElement = createNS('g');\n },\n createContainerElements: function createContainerElements() {\n this.matteElement = createNS('g');\n this.transformedElement = this.layerElement;\n this.maskedElement = this.layerElement;\n this._sizeChanged = false;\n var layerElementParent = null; // If this layer acts as a mask for the following layer\n\n var filId;\n var fil;\n var gg;\n\n if (this.data.td) {\n if (this.data.td == 3 || this.data.td == 1) {\n // eslint-disable-line eqeqeq\n var masker = createNS('mask');\n masker.setAttribute('id', this.layerId);\n masker.setAttribute('mask-type', this.data.td == 3 ? 'luminance' : 'alpha'); // eslint-disable-line eqeqeq\n\n masker.appendChild(this.layerElement);\n layerElementParent = masker;\n this.globalData.defs.appendChild(masker); // This is only for IE and Edge when mask if of type alpha\n\n if (!featureSupport.maskType && this.data.td == 1) {\n // eslint-disable-line eqeqeq\n masker.setAttribute('mask-type', 'luminance');\n filId = createElementID();\n fil = filtersFactory.createFilter(filId);\n this.globalData.defs.appendChild(fil);\n fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n gg = createNS('g');\n gg.appendChild(this.layerElement);\n layerElementParent = gg;\n masker.appendChild(gg);\n gg.setAttribute('filter', 'url(' + getLocationHref() + '#' + filId + ')');\n }\n } else if (this.data.td == 2) {\n // eslint-disable-line eqeqeq\n var maskGroup = createNS('mask');\n maskGroup.setAttribute('id', this.layerId);\n maskGroup.setAttribute('mask-type', 'alpha');\n var maskGrouper = createNS('g');\n maskGroup.appendChild(maskGrouper);\n filId = createElementID();\n fil = filtersFactory.createFilter(filId); /// /\n // This solution doesn't work on Android when meta tag with viewport attribute is set\n\n /* var feColorMatrix = createNS('feColorMatrix');\r\n feColorMatrix.setAttribute('type', 'matrix');\r\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\r\n feColorMatrix.setAttribute('values','1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 -1 1');\r\n fil.appendChild(feColorMatrix); */\n /// /\n\n var feCTr = createNS('feComponentTransfer');\n feCTr.setAttribute('in', 'SourceGraphic');\n fil.appendChild(feCTr);\n var feFunc = createNS('feFuncA');\n feFunc.setAttribute('type', 'table');\n feFunc.setAttribute('tableValues', '1.0 0.0');\n feCTr.appendChild(feFunc); /// /\n\n this.globalData.defs.appendChild(fil);\n var alphaRect = createNS('rect');\n alphaRect.setAttribute('width', this.comp.data.w);\n alphaRect.setAttribute('height', this.comp.data.h);\n alphaRect.setAttribute('x', '0');\n alphaRect.setAttribute('y', '0');\n alphaRect.setAttribute('fill', '#ffffff');\n alphaRect.setAttribute('opacity', '0');\n maskGrouper.setAttribute('filter', 'url(' + getLocationHref() + '#' + filId + ')');\n maskGrouper.appendChild(alphaRect);\n maskGrouper.appendChild(this.layerElement);\n layerElementParent = maskGrouper;\n\n if (!featureSupport.maskType) {\n maskGroup.setAttribute('mask-type', 'luminance');\n fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n gg = createNS('g');\n maskGrouper.appendChild(alphaRect);\n gg.appendChild(this.layerElement);\n layerElementParent = gg;\n maskGrouper.appendChild(gg);\n }\n\n this.globalData.defs.appendChild(maskGroup);\n }\n } else if (this.data.tt) {\n this.matteElement.appendChild(this.layerElement);\n layerElementParent = this.matteElement;\n this.baseElement = this.matteElement;\n } else {\n this.baseElement = this.layerElement;\n }\n\n if (this.data.ln) {\n this.layerElement.setAttribute('id', this.data.ln);\n }\n\n if (this.data.cl) {\n this.layerElement.setAttribute('class', this.data.cl);\n } // Clipping compositions to hide content that exceeds boundaries. If collapsed transformations is on, component should not be clipped\n\n\n if (this.data.ty === 0 && !this.data.hd) {\n var cp = createNS('clipPath');\n var pt = createNS('path');\n pt.setAttribute('d', 'M0,0 L' + this.data.w + ',0 L' + this.data.w + ',' + this.data.h + ' L0,' + this.data.h + 'z');\n var clipId = createElementID();\n cp.setAttribute('id', clipId);\n cp.appendChild(pt);\n this.globalData.defs.appendChild(cp);\n\n if (this.checkMasks()) {\n var cpGroup = createNS('g');\n cpGroup.setAttribute('clip-path', 'url(' + getLocationHref() + '#' + clipId + ')');\n cpGroup.appendChild(this.layerElement);\n this.transformedElement = cpGroup;\n\n if (layerElementParent) {\n layerElementParent.appendChild(this.transformedElement);\n } else {\n this.baseElement = this.transformedElement;\n }\n } else {\n this.layerElement.setAttribute('clip-path', 'url(' + getLocationHref() + '#' + clipId + ')');\n }\n }\n\n if (this.data.bm !== 0) {\n this.setBlendMode();\n }\n },\n renderElement: function renderElement() {\n if (this.finalTransform._matMdf) {\n this.transformedElement.setAttribute('transform', this.finalTransform.mat.to2dCSS());\n }\n\n if (this.finalTransform._opMdf) {\n this.transformedElement.setAttribute('opacity', this.finalTransform.mProp.o.v);\n }\n },\n destroyBaseElement: function destroyBaseElement() {\n this.layerElement = null;\n this.matteElement = null;\n this.maskManager.destroy();\n },\n getBaseElement: function getBaseElement() {\n if (this.data.hd) {\n return null;\n }\n\n return this.baseElement;\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new MaskElement(this.data, this, this.globalData);\n this.renderableEffectsManager = new SVGEffects(this);\n },\n setMatte: function setMatte(id) {\n if (!this.matteElement) {\n return;\n }\n\n this.matteElement.setAttribute('mask', 'url(' + getLocationHref() + '#' + id + ')');\n }\n };\n\n /**\r\n * @file\r\n * Handles AE's layer parenting property.\r\n *\r\n */\n function HierarchyElement() {}\n\n HierarchyElement.prototype = {\n /**\r\n * @function\r\n * Initializes hierarchy properties\r\n *\r\n */\n initHierarchy: function initHierarchy() {\n // element's parent list\n this.hierarchy = []; // if element is parent of another layer _isParent will be true\n\n this._isParent = false;\n this.checkParenting();\n },\n\n /**\r\n * @function\r\n * Sets layer's hierarchy.\r\n * @param {array} hierarch\r\n * layer's parent list\r\n *\r\n */\n setHierarchy: function setHierarchy(hierarchy) {\n this.hierarchy = hierarchy;\n },\n\n /**\r\n * @function\r\n * Sets layer as parent.\r\n *\r\n */\n setAsParent: function setAsParent() {\n this._isParent = true;\n },\n\n /**\r\n * @function\r\n * Searches layer's parenting chain\r\n *\r\n */\n checkParenting: function checkParenting() {\n if (this.data.parent !== undefined) {\n this.comp.buildElementParenting(this, this.data.parent, []);\n }\n }\n };\n\n function RenderableDOMElement() {}\n\n (function () {\n var _prototype = {\n initElement: function initElement(data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initTransform(data, globalData, comp);\n this.initHierarchy();\n this.initRenderable();\n this.initRendererElement();\n this.createContainerElements();\n this.createRenderableComponents();\n this.createContent();\n this.hide();\n },\n hide: function hide() {\n // console.log('HIDE', this);\n if (!this.hidden && (!this.isInRange || this.isTransparent)) {\n var elem = this.baseElement || this.layerElement;\n elem.style.display = 'none';\n this.hidden = true;\n }\n },\n show: function show() {\n // console.log('SHOW', this);\n if (this.isInRange && !this.isTransparent) {\n if (!this.data.hd) {\n var elem = this.baseElement || this.layerElement;\n elem.style.display = 'block';\n }\n\n this.hidden = false;\n this._isFirstFrame = true;\n }\n },\n renderFrame: function renderFrame() {\n // If it is exported as hidden (data.hd === true) no need to render\n // If it is not visible no need to render\n if (this.data.hd || this.hidden) {\n return;\n }\n\n this.renderTransform();\n this.renderRenderable();\n this.renderElement();\n this.renderInnerContent();\n\n if (this._isFirstFrame) {\n this._isFirstFrame = false;\n }\n },\n renderInnerContent: function renderInnerContent() {},\n prepareFrame: function prepareFrame(num) {\n this._mdf = false;\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n this.checkTransparency();\n },\n destroy: function destroy() {\n this.innerElem = null;\n this.destroyBaseElement();\n }\n };\n extendPrototype([RenderableElement, createProxyFunction(_prototype)], RenderableDOMElement);\n })();\n\n function IImageElement(data, globalData, comp) {\n this.assetData = globalData.getAssetData(data.refId);\n this.initElement(data, globalData, comp);\n this.sourceRect = {\n top: 0,\n left: 0,\n width: this.assetData.w,\n height: this.assetData.h\n };\n }\n\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], IImageElement);\n\n IImageElement.prototype.createContent = function () {\n var assetPath = this.globalData.getAssetsPath(this.assetData);\n this.innerElem = createNS('image');\n this.innerElem.setAttribute('width', this.assetData.w + 'px');\n this.innerElem.setAttribute('height', this.assetData.h + 'px');\n this.innerElem.setAttribute('preserveAspectRatio', this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio);\n this.innerElem.setAttributeNS('http://www.w3.org/1999/xlink', 'href', assetPath);\n this.layerElement.appendChild(this.innerElem);\n };\n\n IImageElement.prototype.sourceRectAtTime = function () {\n return this.sourceRect;\n };\n\n function ProcessedElement(element, position) {\n this.elem = element;\n this.pos = position;\n }\n\n function IShapeElement() {}\n\n IShapeElement.prototype = {\n addShapeToModifiers: function addShapeToModifiers(data) {\n var i;\n var len = this.shapeModifiers.length;\n\n for (i = 0; i < len; i += 1) {\n this.shapeModifiers[i].addShape(data);\n }\n },\n isShapeInAnimatedModifiers: function isShapeInAnimatedModifiers(data) {\n var i = 0;\n var len = this.shapeModifiers.length;\n\n while (i < len) {\n if (this.shapeModifiers[i].isAnimatedWithShape(data)) {\n return true;\n }\n }\n\n return false;\n },\n renderModifiers: function renderModifiers() {\n if (!this.shapeModifiers.length) {\n return;\n }\n\n var i;\n var len = this.shapes.length;\n\n for (i = 0; i < len; i += 1) {\n this.shapes[i].sh.reset();\n }\n\n len = this.shapeModifiers.length;\n var shouldBreakProcess;\n\n for (i = len - 1; i >= 0; i -= 1) {\n shouldBreakProcess = this.shapeModifiers[i].processShapes(this._isFirstFrame); // workaround to fix cases where a repeater resets the shape so the following processes get called twice\n // TODO: find a better solution for this\n\n if (shouldBreakProcess) {\n break;\n }\n }\n },\n searchProcessedElement: function searchProcessedElement(elem) {\n var elements = this.processedElements;\n var i = 0;\n var len = elements.length;\n\n while (i < len) {\n if (elements[i].elem === elem) {\n return elements[i].pos;\n }\n\n i += 1;\n }\n\n return 0;\n },\n addProcessedElement: function addProcessedElement(elem, pos) {\n var elements = this.processedElements;\n var i = elements.length;\n\n while (i) {\n i -= 1;\n\n if (elements[i].elem === elem) {\n elements[i].pos = pos;\n return;\n }\n }\n\n elements.push(new ProcessedElement(elem, pos));\n },\n prepareFrame: function prepareFrame(num) {\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n }\n };\n\n var lineCapEnum = {\n 1: 'butt',\n 2: 'round',\n 3: 'square'\n };\n var lineJoinEnum = {\n 1: 'miter',\n 2: 'round',\n 3: 'bevel'\n };\n\n function SVGShapeData(transformers, level, shape) {\n this.caches = [];\n this.styles = [];\n this.transformers = transformers;\n this.lStr = '';\n this.sh = shape;\n this.lvl = level; // TODO find if there are some cases where _isAnimated can be false.\n // For now, since shapes add up with other shapes. They have to be calculated every time.\n // One way of finding out is checking if all styles associated to this shape depend only of this shape\n\n this._isAnimated = !!shape.k; // TODO: commenting this for now since all shapes are animated\n\n var i = 0;\n var len = transformers.length;\n\n while (i < len) {\n if (transformers[i].mProps.dynamicProperties.length) {\n this._isAnimated = true;\n break;\n }\n\n i += 1;\n }\n }\n\n SVGShapeData.prototype.setAsAnimated = function () {\n this._isAnimated = true;\n };\n\n function SVGStyleData(data, level) {\n this.data = data;\n this.type = data.ty;\n this.d = '';\n this.lvl = level;\n this._mdf = false;\n this.closed = data.hd === true;\n this.pElem = createNS('path');\n this.msElem = null;\n }\n\n SVGStyleData.prototype.reset = function () {\n this.d = '';\n this._mdf = false;\n };\n\n function DashProperty(elem, data, renderer, container) {\n this.elem = elem;\n this.frameId = -1;\n this.dataProps = createSizedArray(data.length);\n this.renderer = renderer;\n this.k = false;\n this.dashStr = '';\n this.dashArray = createTypedArray('float32', data.length ? data.length - 1 : 0);\n this.dashoffset = createTypedArray('float32', 1);\n this.initDynamicPropertyContainer(container);\n var i;\n var len = data.length || 0;\n var prop;\n\n for (i = 0; i < len; i += 1) {\n prop = PropertyFactory.getProp(elem, data[i].v, 0, 0, this);\n this.k = prop.k || this.k;\n this.dataProps[i] = {\n n: data[i].n,\n p: prop\n };\n }\n\n if (!this.k) {\n this.getValue(true);\n }\n\n this._isAnimated = this.k;\n }\n\n DashProperty.prototype.getValue = function (forceRender) {\n if (this.elem.globalData.frameId === this.frameId && !forceRender) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n this._mdf = this._mdf || forceRender;\n\n if (this._mdf) {\n var i = 0;\n var len = this.dataProps.length;\n\n if (this.renderer === 'svg') {\n this.dashStr = '';\n }\n\n for (i = 0; i < len; i += 1) {\n if (this.dataProps[i].n !== 'o') {\n if (this.renderer === 'svg') {\n this.dashStr += ' ' + this.dataProps[i].p.v;\n } else {\n this.dashArray[i] = this.dataProps[i].p.v;\n }\n } else {\n this.dashoffset[0] = this.dataProps[i].p.v;\n }\n }\n }\n };\n\n extendPrototype([DynamicPropertyContainer], DashProperty);\n\n function SVGStrokeStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\n this.w = PropertyFactory.getProp(elem, data.w, 0, null, this);\n this.d = new DashProperty(elem, data.d || {}, 'svg', this);\n this.c = PropertyFactory.getProp(elem, data.c, 1, 255, this);\n this.style = styleOb;\n this._isAnimated = !!this._isAnimated;\n }\n\n extendPrototype([DynamicPropertyContainer], SVGStrokeStyleData);\n\n function SVGFillStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\n this.c = PropertyFactory.getProp(elem, data.c, 1, 255, this);\n this.style = styleOb;\n }\n\n extendPrototype([DynamicPropertyContainer], SVGFillStyleData);\n\n function SVGNoStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.style = styleOb;\n }\n\n extendPrototype([DynamicPropertyContainer], SVGNoStyleData);\n\n function GradientProperty(elem, data, container) {\n this.data = data;\n this.c = createTypedArray('uint8c', data.p * 4);\n var cLength = data.k.k[0].s ? data.k.k[0].s.length - data.p * 4 : data.k.k.length - data.p * 4;\n this.o = createTypedArray('float32', cLength);\n this._cmdf = false;\n this._omdf = false;\n this._collapsable = this.checkCollapsable();\n this._hasOpacity = cLength;\n this.initDynamicPropertyContainer(container);\n this.prop = PropertyFactory.getProp(elem, data.k, 1, null, this);\n this.k = this.prop.k;\n this.getValue(true);\n }\n\n GradientProperty.prototype.comparePoints = function (values, points) {\n var i = 0;\n var len = this.o.length / 2;\n var diff;\n\n while (i < len) {\n diff = Math.abs(values[i * 4] - values[points * 4 + i * 2]);\n\n if (diff > 0.01) {\n return false;\n }\n\n i += 1;\n }\n\n return true;\n };\n\n GradientProperty.prototype.checkCollapsable = function () {\n if (this.o.length / 2 !== this.c.length / 4) {\n return false;\n }\n\n if (this.data.k.k[0].s) {\n var i = 0;\n var len = this.data.k.k.length;\n\n while (i < len) {\n if (!this.comparePoints(this.data.k.k[i].s, this.data.p)) {\n return false;\n }\n\n i += 1;\n }\n } else if (!this.comparePoints(this.data.k.k, this.data.p)) {\n return false;\n }\n\n return true;\n };\n\n GradientProperty.prototype.getValue = function (forceRender) {\n this.prop.getValue();\n this._mdf = false;\n this._cmdf = false;\n this._omdf = false;\n\n if (this.prop._mdf || forceRender) {\n var i;\n var len = this.data.p * 4;\n var mult;\n var val;\n\n for (i = 0; i < len; i += 1) {\n mult = i % 4 === 0 ? 100 : 255;\n val = Math.round(this.prop.v[i] * mult);\n\n if (this.c[i] !== val) {\n this.c[i] = val;\n this._cmdf = !forceRender;\n }\n }\n\n if (this.o.length) {\n len = this.prop.v.length;\n\n for (i = this.data.p * 4; i < len; i += 1) {\n mult = i % 2 === 0 ? 100 : 1;\n val = i % 2 === 0 ? Math.round(this.prop.v[i] * 100) : this.prop.v[i];\n\n if (this.o[i - this.data.p * 4] !== val) {\n this.o[i - this.data.p * 4] = val;\n this._omdf = !forceRender;\n }\n }\n }\n\n this._mdf = !forceRender;\n }\n };\n\n extendPrototype([DynamicPropertyContainer], GradientProperty);\n\n function SVGGradientFillStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.initGradientData(elem, data, styleOb);\n }\n\n SVGGradientFillStyleData.prototype.initGradientData = function (elem, data, styleOb) {\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\n this.s = PropertyFactory.getProp(elem, data.s, 1, null, this);\n this.e = PropertyFactory.getProp(elem, data.e, 1, null, this);\n this.h = PropertyFactory.getProp(elem, data.h || {\n k: 0\n }, 0, 0.01, this);\n this.a = PropertyFactory.getProp(elem, data.a || {\n k: 0\n }, 0, degToRads, this);\n this.g = new GradientProperty(elem, data.g, this);\n this.style = styleOb;\n this.stops = [];\n this.setGradientData(styleOb.pElem, data);\n this.setGradientOpacity(data, styleOb);\n this._isAnimated = !!this._isAnimated;\n };\n\n SVGGradientFillStyleData.prototype.setGradientData = function (pathElement, data) {\n var gradientId = createElementID();\n var gfill = createNS(data.t === 1 ? 'linearGradient' : 'radialGradient');\n gfill.setAttribute('id', gradientId);\n gfill.setAttribute('spreadMethod', 'pad');\n gfill.setAttribute('gradientUnits', 'userSpaceOnUse');\n var stops = [];\n var stop;\n var j;\n var jLen;\n jLen = data.g.p * 4;\n\n for (j = 0; j < jLen; j += 4) {\n stop = createNS('stop');\n gfill.appendChild(stop);\n stops.push(stop);\n }\n\n pathElement.setAttribute(data.ty === 'gf' ? 'fill' : 'stroke', 'url(' + getLocationHref() + '#' + gradientId + ')');\n this.gf = gfill;\n this.cst = stops;\n };\n\n SVGGradientFillStyleData.prototype.setGradientOpacity = function (data, styleOb) {\n if (this.g._hasOpacity && !this.g._collapsable) {\n var stop;\n var j;\n var jLen;\n var mask = createNS('mask');\n var maskElement = createNS('path');\n mask.appendChild(maskElement);\n var opacityId = createElementID();\n var maskId = createElementID();\n mask.setAttribute('id', maskId);\n var opFill = createNS(data.t === 1 ? 'linearGradient' : 'radialGradient');\n opFill.setAttribute('id', opacityId);\n opFill.setAttribute('spreadMethod', 'pad');\n opFill.setAttribute('gradientUnits', 'userSpaceOnUse');\n jLen = data.g.k.k[0].s ? data.g.k.k[0].s.length : data.g.k.k.length;\n var stops = this.stops;\n\n for (j = data.g.p * 4; j < jLen; j += 2) {\n stop = createNS('stop');\n stop.setAttribute('stop-color', 'rgb(255,255,255)');\n opFill.appendChild(stop);\n stops.push(stop);\n }\n\n maskElement.setAttribute(data.ty === 'gf' ? 'fill' : 'stroke', 'url(' + getLocationHref() + '#' + opacityId + ')');\n\n if (data.ty === 'gs') {\n maskElement.setAttribute('stroke-linecap', lineCapEnum[data.lc || 2]);\n maskElement.setAttribute('stroke-linejoin', lineJoinEnum[data.lj || 2]);\n\n if (data.lj === 1) {\n maskElement.setAttribute('stroke-miterlimit', data.ml);\n }\n }\n\n this.of = opFill;\n this.ms = mask;\n this.ost = stops;\n this.maskId = maskId;\n styleOb.msElem = maskElement;\n }\n };\n\n extendPrototype([DynamicPropertyContainer], SVGGradientFillStyleData);\n\n function SVGGradientStrokeStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.w = PropertyFactory.getProp(elem, data.w, 0, null, this);\n this.d = new DashProperty(elem, data.d || {}, 'svg', this);\n this.initGradientData(elem, data, styleOb);\n this._isAnimated = !!this._isAnimated;\n }\n\n extendPrototype([SVGGradientFillStyleData, DynamicPropertyContainer], SVGGradientStrokeStyleData);\n\n function ShapeGroupData() {\n this.it = [];\n this.prevViewData = [];\n this.gr = createNS('g');\n }\n\n function SVGTransformData(mProps, op, container) {\n this.transform = {\n mProps: mProps,\n op: op,\n container: container\n };\n this.elements = [];\n this._isAnimated = this.transform.mProps.dynamicProperties.length || this.transform.op.effectsSequence.length;\n }\n\n var buildShapeString = function buildShapeString(pathNodes, length, closed, mat) {\n if (length === 0) {\n return '';\n }\n\n var _o = pathNodes.o;\n var _i = pathNodes.i;\n var _v = pathNodes.v;\n var i;\n var shapeString = ' M' + mat.applyToPointStringified(_v[0][0], _v[0][1]);\n\n for (i = 1; i < length; i += 1) {\n shapeString += ' C' + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + ' ' + mat.applyToPointStringified(_i[i][0], _i[i][1]) + ' ' + mat.applyToPointStringified(_v[i][0], _v[i][1]);\n }\n\n if (closed && length) {\n shapeString += ' C' + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + ' ' + mat.applyToPointStringified(_i[0][0], _i[0][1]) + ' ' + mat.applyToPointStringified(_v[0][0], _v[0][1]);\n shapeString += 'z';\n }\n\n return shapeString;\n };\n\n var SVGElementsRenderer = function () {\n var _identityMatrix = new Matrix();\n\n var _matrixHelper = new Matrix();\n\n var ob = {\n createRenderFunction: createRenderFunction\n };\n\n function createRenderFunction(data) {\n switch (data.ty) {\n case 'fl':\n return renderFill;\n\n case 'gf':\n return renderGradient;\n\n case 'gs':\n return renderGradientStroke;\n\n case 'st':\n return renderStroke;\n\n case 'sh':\n case 'el':\n case 'rc':\n case 'sr':\n return renderPath;\n\n case 'tr':\n return renderContentTransform;\n\n case 'no':\n return renderNoop;\n\n default:\n return null;\n }\n }\n\n function renderContentTransform(styleData, itemData, isFirstFrame) {\n if (isFirstFrame || itemData.transform.op._mdf) {\n itemData.transform.container.setAttribute('opacity', itemData.transform.op.v);\n }\n\n if (isFirstFrame || itemData.transform.mProps._mdf) {\n itemData.transform.container.setAttribute('transform', itemData.transform.mProps.v.to2dCSS());\n }\n }\n\n function renderNoop() {}\n\n function renderPath(styleData, itemData, isFirstFrame) {\n var j;\n var jLen;\n var pathStringTransformed;\n var redraw;\n var pathNodes;\n var l;\n var lLen = itemData.styles.length;\n var lvl = itemData.lvl;\n var paths;\n var mat;\n var props;\n var iterations;\n var k;\n\n for (l = 0; l < lLen; l += 1) {\n redraw = itemData.sh._mdf || isFirstFrame;\n\n if (itemData.styles[l].lvl < lvl) {\n mat = _matrixHelper.reset();\n iterations = lvl - itemData.styles[l].lvl;\n k = itemData.transformers.length - 1;\n\n while (!redraw && iterations > 0) {\n redraw = itemData.transformers[k].mProps._mdf || redraw;\n iterations -= 1;\n k -= 1;\n }\n\n if (redraw) {\n iterations = lvl - itemData.styles[l].lvl;\n k = itemData.transformers.length - 1;\n\n while (iterations > 0) {\n props = itemData.transformers[k].mProps.v.props;\n mat.transform(props[0], props[1], props[2], props[3], props[4], props[5], props[6], props[7], props[8], props[9], props[10], props[11], props[12], props[13], props[14], props[15]);\n iterations -= 1;\n k -= 1;\n }\n }\n } else {\n mat = _identityMatrix;\n }\n\n paths = itemData.sh.paths;\n jLen = paths._length;\n\n if (redraw) {\n pathStringTransformed = '';\n\n for (j = 0; j < jLen; j += 1) {\n pathNodes = paths.shapes[j];\n\n if (pathNodes && pathNodes._length) {\n pathStringTransformed += buildShapeString(pathNodes, pathNodes._length, pathNodes.c, mat);\n }\n }\n\n itemData.caches[l] = pathStringTransformed;\n } else {\n pathStringTransformed = itemData.caches[l];\n }\n\n itemData.styles[l].d += styleData.hd === true ? '' : pathStringTransformed;\n itemData.styles[l]._mdf = redraw || itemData.styles[l]._mdf;\n }\n }\n\n function renderFill(styleData, itemData, isFirstFrame) {\n var styleElem = itemData.style;\n\n if (itemData.c._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('fill', 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')');\n }\n\n if (itemData.o._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('fill-opacity', itemData.o.v);\n }\n }\n\n function renderGradientStroke(styleData, itemData, isFirstFrame) {\n renderGradient(styleData, itemData, isFirstFrame);\n renderStroke(styleData, itemData, isFirstFrame);\n }\n\n function renderGradient(styleData, itemData, isFirstFrame) {\n var gfill = itemData.gf;\n var hasOpacity = itemData.g._hasOpacity;\n var pt1 = itemData.s.v;\n var pt2 = itemData.e.v;\n\n if (itemData.o._mdf || isFirstFrame) {\n var attr = styleData.ty === 'gf' ? 'fill-opacity' : 'stroke-opacity';\n itemData.style.pElem.setAttribute(attr, itemData.o.v);\n }\n\n if (itemData.s._mdf || isFirstFrame) {\n var attr1 = styleData.t === 1 ? 'x1' : 'cx';\n var attr2 = attr1 === 'x1' ? 'y1' : 'cy';\n gfill.setAttribute(attr1, pt1[0]);\n gfill.setAttribute(attr2, pt1[1]);\n\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute(attr1, pt1[0]);\n itemData.of.setAttribute(attr2, pt1[1]);\n }\n }\n\n var stops;\n var i;\n var len;\n var stop;\n\n if (itemData.g._cmdf || isFirstFrame) {\n stops = itemData.cst;\n var cValues = itemData.g.c;\n len = stops.length;\n\n for (i = 0; i < len; i += 1) {\n stop = stops[i];\n stop.setAttribute('offset', cValues[i * 4] + '%');\n stop.setAttribute('stop-color', 'rgb(' + cValues[i * 4 + 1] + ',' + cValues[i * 4 + 2] + ',' + cValues[i * 4 + 3] + ')');\n }\n }\n\n if (hasOpacity && (itemData.g._omdf || isFirstFrame)) {\n var oValues = itemData.g.o;\n\n if (itemData.g._collapsable) {\n stops = itemData.cst;\n } else {\n stops = itemData.ost;\n }\n\n len = stops.length;\n\n for (i = 0; i < len; i += 1) {\n stop = stops[i];\n\n if (!itemData.g._collapsable) {\n stop.setAttribute('offset', oValues[i * 2] + '%');\n }\n\n stop.setAttribute('stop-opacity', oValues[i * 2 + 1]);\n }\n }\n\n if (styleData.t === 1) {\n if (itemData.e._mdf || isFirstFrame) {\n gfill.setAttribute('x2', pt2[0]);\n gfill.setAttribute('y2', pt2[1]);\n\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute('x2', pt2[0]);\n itemData.of.setAttribute('y2', pt2[1]);\n }\n }\n } else {\n var rad;\n\n if (itemData.s._mdf || itemData.e._mdf || isFirstFrame) {\n rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n gfill.setAttribute('r', rad);\n\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute('r', rad);\n }\n }\n\n if (itemData.e._mdf || itemData.h._mdf || itemData.a._mdf || isFirstFrame) {\n if (!rad) {\n rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n }\n\n var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n var percent = itemData.h.v;\n\n if (percent >= 1) {\n percent = 0.99;\n } else if (percent <= -1) {\n percent = -0.99;\n }\n\n var dist = rad * percent;\n var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n gfill.setAttribute('fx', x);\n gfill.setAttribute('fy', y);\n\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute('fx', x);\n itemData.of.setAttribute('fy', y);\n }\n } // gfill.setAttribute('fy','200');\n\n }\n }\n\n function renderStroke(styleData, itemData, isFirstFrame) {\n var styleElem = itemData.style;\n var d = itemData.d;\n\n if (d && (d._mdf || isFirstFrame) && d.dashStr) {\n styleElem.pElem.setAttribute('stroke-dasharray', d.dashStr);\n styleElem.pElem.setAttribute('stroke-dashoffset', d.dashoffset[0]);\n }\n\n if (itemData.c && (itemData.c._mdf || isFirstFrame)) {\n styleElem.pElem.setAttribute('stroke', 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')');\n }\n\n if (itemData.o._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('stroke-opacity', itemData.o.v);\n }\n\n if (itemData.w._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('stroke-width', itemData.w.v);\n\n if (styleElem.msElem) {\n styleElem.msElem.setAttribute('stroke-width', itemData.w.v);\n }\n }\n }\n\n return ob;\n }();\n\n function SVGShapeElement(data, globalData, comp) {\n // List of drawable elements\n this.shapes = []; // Full shape data\n\n this.shapesData = data.shapes; // List of styles that will be applied to shapes\n\n this.stylesList = []; // List of modifiers that will be applied to shapes\n\n this.shapeModifiers = []; // List of items in shape tree\n\n this.itemsData = []; // List of items in previous shape tree\n\n this.processedElements = []; // List of animated components\n\n this.animatedContents = [];\n this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n // List of elements that have been created\n\n this.prevViewData = []; // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n }\n\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableDOMElement], SVGShapeElement);\n\n SVGShapeElement.prototype.initSecondaryElement = function () {};\n\n SVGShapeElement.prototype.identityMatrix = new Matrix();\n\n SVGShapeElement.prototype.buildExpressionInterface = function () {};\n\n SVGShapeElement.prototype.createContent = function () {\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], true);\n this.filterUniqueShapes();\n };\n /*\r\n This method searches for multiple shapes that affect a single element and one of them is animated\r\n */\n\n\n SVGShapeElement.prototype.filterUniqueShapes = function () {\n var i;\n var len = this.shapes.length;\n var shape;\n var j;\n var jLen = this.stylesList.length;\n var style;\n var tempShapes = [];\n var areAnimated = false;\n\n for (j = 0; j < jLen; j += 1) {\n style = this.stylesList[j];\n areAnimated = false;\n tempShapes.length = 0;\n\n for (i = 0; i < len; i += 1) {\n shape = this.shapes[i];\n\n if (shape.styles.indexOf(style) !== -1) {\n tempShapes.push(shape);\n areAnimated = shape._isAnimated || areAnimated;\n }\n }\n\n if (tempShapes.length > 1 && areAnimated) {\n this.setShapesAsAnimated(tempShapes);\n }\n }\n };\n\n SVGShapeElement.prototype.setShapesAsAnimated = function (shapes) {\n var i;\n var len = shapes.length;\n\n for (i = 0; i < len; i += 1) {\n shapes[i].setAsAnimated();\n }\n };\n\n SVGShapeElement.prototype.createStyleElement = function (data, level) {\n // TODO: prevent drawing of hidden styles\n var elementData;\n var styleOb = new SVGStyleData(data, level);\n var pathElement = styleOb.pElem;\n\n if (data.ty === 'st') {\n elementData = new SVGStrokeStyleData(this, data, styleOb);\n } else if (data.ty === 'fl') {\n elementData = new SVGFillStyleData(this, data, styleOb);\n } else if (data.ty === 'gf' || data.ty === 'gs') {\n var GradientConstructor = data.ty === 'gf' ? SVGGradientFillStyleData : SVGGradientStrokeStyleData;\n elementData = new GradientConstructor(this, data, styleOb);\n this.globalData.defs.appendChild(elementData.gf);\n\n if (elementData.maskId) {\n this.globalData.defs.appendChild(elementData.ms);\n this.globalData.defs.appendChild(elementData.of);\n pathElement.setAttribute('mask', 'url(' + getLocationHref() + '#' + elementData.maskId + ')');\n }\n } else if (data.ty === 'no') {\n elementData = new SVGNoStyleData(this, data, styleOb);\n }\n\n if (data.ty === 'st' || data.ty === 'gs') {\n pathElement.setAttribute('stroke-linecap', lineCapEnum[data.lc || 2]);\n pathElement.setAttribute('stroke-linejoin', lineJoinEnum[data.lj || 2]);\n pathElement.setAttribute('fill-opacity', '0');\n\n if (data.lj === 1) {\n pathElement.setAttribute('stroke-miterlimit', data.ml);\n }\n }\n\n if (data.r === 2) {\n pathElement.setAttribute('fill-rule', 'evenodd');\n }\n\n if (data.ln) {\n pathElement.setAttribute('id', data.ln);\n }\n\n if (data.cl) {\n pathElement.setAttribute('class', data.cl);\n }\n\n if (data.bm) {\n pathElement.style['mix-blend-mode'] = getBlendMode(data.bm);\n }\n\n this.stylesList.push(styleOb);\n this.addToAnimatedContents(data, elementData);\n return elementData;\n };\n\n SVGShapeElement.prototype.createGroupElement = function (data) {\n var elementData = new ShapeGroupData();\n\n if (data.ln) {\n elementData.gr.setAttribute('id', data.ln);\n }\n\n if (data.cl) {\n elementData.gr.setAttribute('class', data.cl);\n }\n\n if (data.bm) {\n elementData.gr.style['mix-blend-mode'] = getBlendMode(data.bm);\n }\n\n return elementData;\n };\n\n SVGShapeElement.prototype.createTransformElement = function (data, container) {\n var transformProperty = TransformPropertyFactory.getTransformProperty(this, data, this);\n var elementData = new SVGTransformData(transformProperty, transformProperty.o, container);\n this.addToAnimatedContents(data, elementData);\n return elementData;\n };\n\n SVGShapeElement.prototype.createShapeElement = function (data, ownTransformers, level) {\n var ty = 4;\n\n if (data.ty === 'rc') {\n ty = 5;\n } else if (data.ty === 'el') {\n ty = 6;\n } else if (data.ty === 'sr') {\n ty = 7;\n }\n\n var shapeProperty = ShapePropertyFactory.getShapeProp(this, data, ty, this);\n var elementData = new SVGShapeData(ownTransformers, level, shapeProperty);\n this.shapes.push(elementData);\n this.addShapeToModifiers(elementData);\n this.addToAnimatedContents(data, elementData);\n return elementData;\n };\n\n SVGShapeElement.prototype.addToAnimatedContents = function (data, element) {\n var i = 0;\n var len = this.animatedContents.length;\n\n while (i < len) {\n if (this.animatedContents[i].element === element) {\n return;\n }\n\n i += 1;\n }\n\n this.animatedContents.push({\n fn: SVGElementsRenderer.createRenderFunction(data),\n element: element,\n data: data\n });\n };\n\n SVGShapeElement.prototype.setElementStyles = function (elementData) {\n var arr = elementData.styles;\n var j;\n var jLen = this.stylesList.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (!this.stylesList[j].closed) {\n arr.push(this.stylesList[j]);\n }\n }\n };\n\n SVGShapeElement.prototype.reloadShapes = function () {\n this._isFirstFrame = true;\n var i;\n var len = this.itemsData.length;\n\n for (i = 0; i < len; i += 1) {\n this.prevViewData[i] = this.itemsData[i];\n }\n\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], true);\n this.filterUniqueShapes();\n len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n this.dynamicProperties[i].getValue();\n }\n\n this.renderModifiers();\n };\n\n SVGShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, container, level, transformers, render) {\n var ownTransformers = [].concat(transformers);\n var i;\n var len = arr.length - 1;\n var j;\n var jLen;\n var ownStyles = [];\n var ownModifiers = [];\n var currentTransform;\n var modifier;\n var processedPos;\n\n for (i = len; i >= 0; i -= 1) {\n processedPos = this.searchProcessedElement(arr[i]);\n\n if (!processedPos) {\n arr[i]._render = render;\n } else {\n itemsData[i] = prevViewData[processedPos - 1];\n }\n\n if (arr[i].ty === 'fl' || arr[i].ty === 'st' || arr[i].ty === 'gf' || arr[i].ty === 'gs' || arr[i].ty === 'no') {\n if (!processedPos) {\n itemsData[i] = this.createStyleElement(arr[i], level);\n } else {\n itemsData[i].style.closed = false;\n }\n\n if (arr[i]._render) {\n if (itemsData[i].style.pElem.parentNode !== container) {\n container.appendChild(itemsData[i].style.pElem);\n }\n }\n\n ownStyles.push(itemsData[i].style);\n } else if (arr[i].ty === 'gr') {\n if (!processedPos) {\n itemsData[i] = this.createGroupElement(arr[i]);\n } else {\n jLen = itemsData[i].it.length;\n\n for (j = 0; j < jLen; j += 1) {\n itemsData[i].prevViewData[j] = itemsData[i].it[j];\n }\n }\n\n this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, itemsData[i].gr, level + 1, ownTransformers, render);\n\n if (arr[i]._render) {\n if (itemsData[i].gr.parentNode !== container) {\n container.appendChild(itemsData[i].gr);\n }\n }\n } else if (arr[i].ty === 'tr') {\n if (!processedPos) {\n itemsData[i] = this.createTransformElement(arr[i], container);\n }\n\n currentTransform = itemsData[i].transform;\n ownTransformers.push(currentTransform);\n } else if (arr[i].ty === 'sh' || arr[i].ty === 'rc' || arr[i].ty === 'el' || arr[i].ty === 'sr') {\n if (!processedPos) {\n itemsData[i] = this.createShapeElement(arr[i], ownTransformers, level);\n }\n\n this.setElementStyles(itemsData[i]);\n } else if (arr[i].ty === 'tm' || arr[i].ty === 'rd' || arr[i].ty === 'ms' || arr[i].ty === 'pb') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n modifier.init(this, arr[i]);\n itemsData[i] = modifier;\n this.shapeModifiers.push(modifier);\n } else {\n modifier = itemsData[i];\n modifier.closed = false;\n }\n\n ownModifiers.push(modifier);\n } else if (arr[i].ty === 'rp') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n itemsData[i] = modifier;\n modifier.init(this, arr, i, itemsData);\n this.shapeModifiers.push(modifier);\n render = false;\n } else {\n modifier = itemsData[i];\n modifier.closed = true;\n }\n\n ownModifiers.push(modifier);\n }\n\n this.addProcessedElement(arr[i], i + 1);\n }\n\n len = ownStyles.length;\n\n for (i = 0; i < len; i += 1) {\n ownStyles[i].closed = true;\n }\n\n len = ownModifiers.length;\n\n for (i = 0; i < len; i += 1) {\n ownModifiers[i].closed = true;\n }\n };\n\n SVGShapeElement.prototype.renderInnerContent = function () {\n this.renderModifiers();\n var i;\n var len = this.stylesList.length;\n\n for (i = 0; i < len; i += 1) {\n this.stylesList[i].reset();\n }\n\n this.renderShape();\n\n for (i = 0; i < len; i += 1) {\n if (this.stylesList[i]._mdf || this._isFirstFrame) {\n if (this.stylesList[i].msElem) {\n this.stylesList[i].msElem.setAttribute('d', this.stylesList[i].d); // Adding M0 0 fixes same mask bug on all browsers\n\n this.stylesList[i].d = 'M0 0' + this.stylesList[i].d;\n }\n\n this.stylesList[i].pElem.setAttribute('d', this.stylesList[i].d || 'M0 0');\n }\n }\n };\n\n SVGShapeElement.prototype.renderShape = function () {\n var i;\n var len = this.animatedContents.length;\n var animatedContent;\n\n for (i = 0; i < len; i += 1) {\n animatedContent = this.animatedContents[i];\n\n if ((this._isFirstFrame || animatedContent.element._isAnimated) && animatedContent.data !== true) {\n animatedContent.fn(animatedContent.data, animatedContent.element, this._isFirstFrame);\n }\n }\n };\n\n SVGShapeElement.prototype.destroy = function () {\n this.destroyBaseElement();\n this.shapesData = null;\n this.itemsData = null;\n };\n\n function LetterProps(o, sw, sc, fc, m, p) {\n this.o = o;\n this.sw = sw;\n this.sc = sc;\n this.fc = fc;\n this.m = m;\n this.p = p;\n this._mdf = {\n o: true,\n sw: !!sw,\n sc: !!sc,\n fc: !!fc,\n m: true,\n p: true\n };\n }\n\n LetterProps.prototype.update = function (o, sw, sc, fc, m, p) {\n this._mdf.o = false;\n this._mdf.sw = false;\n this._mdf.sc = false;\n this._mdf.fc = false;\n this._mdf.m = false;\n this._mdf.p = false;\n var updated = false;\n\n if (this.o !== o) {\n this.o = o;\n this._mdf.o = true;\n updated = true;\n }\n\n if (this.sw !== sw) {\n this.sw = sw;\n this._mdf.sw = true;\n updated = true;\n }\n\n if (this.sc !== sc) {\n this.sc = sc;\n this._mdf.sc = true;\n updated = true;\n }\n\n if (this.fc !== fc) {\n this.fc = fc;\n this._mdf.fc = true;\n updated = true;\n }\n\n if (this.m !== m) {\n this.m = m;\n this._mdf.m = true;\n updated = true;\n }\n\n if (p.length && (this.p[0] !== p[0] || this.p[1] !== p[1] || this.p[4] !== p[4] || this.p[5] !== p[5] || this.p[12] !== p[12] || this.p[13] !== p[13])) {\n this.p = p;\n this._mdf.p = true;\n updated = true;\n }\n\n return updated;\n };\n\n function TextProperty(elem, data) {\n this._frameId = initialDefaultFrame;\n this.pv = '';\n this.v = '';\n this.kf = false;\n this._isFirstFrame = true;\n this._mdf = false;\n this.data = data;\n this.elem = elem;\n this.comp = this.elem.comp;\n this.keysIndex = 0;\n this.canResize = false;\n this.minimumFontSize = 1;\n this.effectsSequence = [];\n this.currentData = {\n ascent: 0,\n boxWidth: this.defaultBoxWidth,\n f: '',\n fStyle: '',\n fWeight: '',\n fc: '',\n j: '',\n justifyOffset: '',\n l: [],\n lh: 0,\n lineWidths: [],\n ls: '',\n of: '',\n s: '',\n sc: '',\n sw: 0,\n t: 0,\n tr: 0,\n sz: 0,\n ps: null,\n fillColorAnim: false,\n strokeColorAnim: false,\n strokeWidthAnim: false,\n yOffset: 0,\n finalSize: 0,\n finalText: [],\n finalLineHeight: 0,\n __complete: false\n };\n this.copyData(this.currentData, this.data.d.k[0].s);\n\n if (!this.searchProperty()) {\n this.completeTextData(this.currentData);\n }\n }\n\n TextProperty.prototype.defaultBoxWidth = [0, 0];\n\n TextProperty.prototype.copyData = function (obj, data) {\n for (var s in data) {\n if (Object.prototype.hasOwnProperty.call(data, s)) {\n obj[s] = data[s];\n }\n }\n\n return obj;\n };\n\n TextProperty.prototype.setCurrentData = function (data) {\n if (!data.__complete) {\n this.completeTextData(data);\n }\n\n this.currentData = data;\n this.currentData.boxWidth = this.currentData.boxWidth || this.defaultBoxWidth;\n this._mdf = true;\n };\n\n TextProperty.prototype.searchProperty = function () {\n return this.searchKeyframes();\n };\n\n TextProperty.prototype.searchKeyframes = function () {\n this.kf = this.data.d.k.length > 1;\n\n if (this.kf) {\n this.addEffect(this.getKeyframeValue.bind(this));\n }\n\n return this.kf;\n };\n\n TextProperty.prototype.addEffect = function (effectFunction) {\n this.effectsSequence.push(effectFunction);\n this.elem.addDynamicProperty(this);\n };\n\n TextProperty.prototype.getValue = function (_finalValue) {\n if ((this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) && !_finalValue) {\n return;\n }\n\n this.currentData.t = this.data.d.k[this.keysIndex].s.t;\n var currentValue = this.currentData;\n var currentIndex = this.keysIndex;\n\n if (this.lock) {\n this.setCurrentData(this.currentData);\n return;\n }\n\n this.lock = true;\n this._mdf = false;\n var i;\n var len = this.effectsSequence.length;\n var finalValue = _finalValue || this.data.d.k[this.keysIndex].s;\n\n for (i = 0; i < len; i += 1) {\n // Checking if index changed to prevent creating a new object every time the expression updates.\n if (currentIndex !== this.keysIndex) {\n finalValue = this.effectsSequence[i](finalValue, finalValue.t);\n } else {\n finalValue = this.effectsSequence[i](this.currentData, finalValue.t);\n }\n }\n\n if (currentValue !== finalValue) {\n this.setCurrentData(finalValue);\n }\n\n this.v = this.currentData;\n this.pv = this.v;\n this.lock = false;\n this.frameId = this.elem.globalData.frameId;\n };\n\n TextProperty.prototype.getKeyframeValue = function () {\n var textKeys = this.data.d.k;\n var frameNum = this.elem.comp.renderedFrame;\n var i = 0;\n var len = textKeys.length;\n\n while (i <= len - 1) {\n if (i === len - 1 || textKeys[i + 1].t > frameNum) {\n break;\n }\n\n i += 1;\n }\n\n if (this.keysIndex !== i) {\n this.keysIndex = i;\n }\n\n return this.data.d.k[this.keysIndex].s;\n };\n\n TextProperty.prototype.buildFinalText = function (text) {\n var charactersArray = [];\n var i = 0;\n var len = text.length;\n var charCode;\n var secondCharCode;\n var shouldCombine = false;\n\n while (i < len) {\n charCode = text.charCodeAt(i);\n\n if (FontManager.isCombinedCharacter(charCode)) {\n charactersArray[charactersArray.length - 1] += text.charAt(i);\n } else if (charCode >= 0xD800 && charCode <= 0xDBFF) {\n secondCharCode = text.charCodeAt(i + 1);\n\n if (secondCharCode >= 0xDC00 && secondCharCode <= 0xDFFF) {\n if (shouldCombine || FontManager.isModifier(charCode, secondCharCode)) {\n charactersArray[charactersArray.length - 1] += text.substr(i, 2);\n shouldCombine = false;\n } else {\n charactersArray.push(text.substr(i, 2));\n }\n\n i += 1;\n } else {\n charactersArray.push(text.charAt(i));\n }\n } else if (charCode > 0xDBFF) {\n secondCharCode = text.charCodeAt(i + 1);\n\n if (FontManager.isZeroWidthJoiner(charCode, secondCharCode)) {\n shouldCombine = true;\n charactersArray[charactersArray.length - 1] += text.substr(i, 2);\n i += 1;\n } else {\n charactersArray.push(text.charAt(i));\n }\n } else if (FontManager.isZeroWidthJoiner(charCode)) {\n charactersArray[charactersArray.length - 1] += text.charAt(i);\n shouldCombine = true;\n } else {\n charactersArray.push(text.charAt(i));\n }\n\n i += 1;\n }\n\n return charactersArray;\n };\n\n TextProperty.prototype.completeTextData = function (documentData) {\n documentData.__complete = true;\n var fontManager = this.elem.globalData.fontManager;\n var data = this.data;\n var letters = [];\n var i;\n var len;\n var newLineFlag;\n var index = 0;\n var val;\n var anchorGrouping = data.m.g;\n var currentSize = 0;\n var currentPos = 0;\n var currentLine = 0;\n var lineWidths = [];\n var lineWidth = 0;\n var maxLineWidth = 0;\n var j;\n var jLen;\n var fontData = fontManager.getFontByName(documentData.f);\n var charData;\n var cLength = 0;\n var fontProps = getFontProperties(fontData);\n documentData.fWeight = fontProps.weight;\n documentData.fStyle = fontProps.style;\n documentData.finalSize = documentData.s;\n documentData.finalText = this.buildFinalText(documentData.t);\n len = documentData.finalText.length;\n documentData.finalLineHeight = documentData.lh;\n var trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n var charCode;\n\n if (documentData.sz) {\n var flag = true;\n var boxWidth = documentData.sz[0];\n var boxHeight = documentData.sz[1];\n var currentHeight;\n var finalText;\n\n while (flag) {\n finalText = this.buildFinalText(documentData.t);\n currentHeight = 0;\n lineWidth = 0;\n len = finalText.length;\n trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n var lastSpaceIndex = -1;\n\n for (i = 0; i < len; i += 1) {\n charCode = finalText[i].charCodeAt(0);\n newLineFlag = false;\n\n if (finalText[i] === ' ') {\n lastSpaceIndex = i;\n } else if (charCode === 13 || charCode === 3) {\n lineWidth = 0;\n newLineFlag = true;\n currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n }\n\n if (fontManager.chars) {\n charData = fontManager.getCharData(finalText[i], fontData.fStyle, fontData.fFamily);\n cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n } else {\n // tCanvasHelper.font = documentData.s + 'px '+ fontData.fFamily;\n cLength = fontManager.measureText(finalText[i], documentData.f, documentData.finalSize);\n }\n\n if (lineWidth + cLength > boxWidth && finalText[i] !== ' ') {\n if (lastSpaceIndex === -1) {\n len += 1;\n } else {\n i = lastSpaceIndex;\n }\n\n currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n finalText.splice(i, lastSpaceIndex === i ? 1 : 0, '\\r'); // finalText = finalText.substr(0,i) + \"\\r\" + finalText.substr(i === lastSpaceIndex ? i + 1 : i);\n\n lastSpaceIndex = -1;\n lineWidth = 0;\n } else {\n lineWidth += cLength;\n lineWidth += trackingOffset;\n }\n }\n\n currentHeight += fontData.ascent * documentData.finalSize / 100;\n\n if (this.canResize && documentData.finalSize > this.minimumFontSize && boxHeight < currentHeight) {\n documentData.finalSize -= 1;\n documentData.finalLineHeight = documentData.finalSize * documentData.lh / documentData.s;\n } else {\n documentData.finalText = finalText;\n len = documentData.finalText.length;\n flag = false;\n }\n }\n }\n\n lineWidth = -trackingOffset;\n cLength = 0;\n var uncollapsedSpaces = 0;\n var currentChar;\n\n for (i = 0; i < len; i += 1) {\n newLineFlag = false;\n currentChar = documentData.finalText[i];\n charCode = currentChar.charCodeAt(0);\n\n if (charCode === 13 || charCode === 3) {\n uncollapsedSpaces = 0;\n lineWidths.push(lineWidth);\n maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n lineWidth = -2 * trackingOffset;\n val = '';\n newLineFlag = true;\n currentLine += 1;\n } else {\n val = currentChar;\n }\n\n if (fontManager.chars) {\n charData = fontManager.getCharData(currentChar, fontData.fStyle, fontManager.getFontByName(documentData.f).fFamily);\n cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n } else {\n // var charWidth = fontManager.measureText(val, documentData.f, documentData.finalSize);\n // tCanvasHelper.font = documentData.finalSize + 'px '+ fontManager.getFontByName(documentData.f).fFamily;\n cLength = fontManager.measureText(val, documentData.f, documentData.finalSize);\n } //\n\n\n if (currentChar === ' ') {\n uncollapsedSpaces += cLength + trackingOffset;\n } else {\n lineWidth += cLength + trackingOffset + uncollapsedSpaces;\n uncollapsedSpaces = 0;\n }\n\n letters.push({\n l: cLength,\n an: cLength,\n add: currentSize,\n n: newLineFlag,\n anIndexes: [],\n val: val,\n line: currentLine,\n animatorJustifyOffset: 0\n });\n\n if (anchorGrouping == 2) {\n // eslint-disable-line eqeqeq\n currentSize += cLength;\n\n if (val === '' || val === ' ' || i === len - 1) {\n if (val === '' || val === ' ') {\n currentSize -= cLength;\n }\n\n while (currentPos <= i) {\n letters[currentPos].an = currentSize;\n letters[currentPos].ind = index;\n letters[currentPos].extra = cLength;\n currentPos += 1;\n }\n\n index += 1;\n currentSize = 0;\n }\n } else if (anchorGrouping == 3) {\n // eslint-disable-line eqeqeq\n currentSize += cLength;\n\n if (val === '' || i === len - 1) {\n if (val === '') {\n currentSize -= cLength;\n }\n\n while (currentPos <= i) {\n letters[currentPos].an = currentSize;\n letters[currentPos].ind = index;\n letters[currentPos].extra = cLength;\n currentPos += 1;\n }\n\n currentSize = 0;\n index += 1;\n }\n } else {\n letters[index].ind = index;\n letters[index].extra = 0;\n index += 1;\n }\n }\n\n documentData.l = letters;\n maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n lineWidths.push(lineWidth);\n\n if (documentData.sz) {\n documentData.boxWidth = documentData.sz[0];\n documentData.justifyOffset = 0;\n } else {\n documentData.boxWidth = maxLineWidth;\n\n switch (documentData.j) {\n case 1:\n documentData.justifyOffset = -documentData.boxWidth;\n break;\n\n case 2:\n documentData.justifyOffset = -documentData.boxWidth / 2;\n break;\n\n default:\n documentData.justifyOffset = 0;\n }\n }\n\n documentData.lineWidths = lineWidths;\n var animators = data.a;\n var animatorData;\n var letterData;\n jLen = animators.length;\n var based;\n var ind;\n var indexes = [];\n\n for (j = 0; j < jLen; j += 1) {\n animatorData = animators[j];\n\n if (animatorData.a.sc) {\n documentData.strokeColorAnim = true;\n }\n\n if (animatorData.a.sw) {\n documentData.strokeWidthAnim = true;\n }\n\n if (animatorData.a.fc || animatorData.a.fh || animatorData.a.fs || animatorData.a.fb) {\n documentData.fillColorAnim = true;\n }\n\n ind = 0;\n based = animatorData.s.b;\n\n for (i = 0; i < len; i += 1) {\n letterData = letters[i];\n letterData.anIndexes[j] = ind;\n\n if (based == 1 && letterData.val !== '' || based == 2 && letterData.val !== '' && letterData.val !== ' ' || based == 3 && (letterData.n || letterData.val == ' ' || i == len - 1) || based == 4 && (letterData.n || i == len - 1)) {\n // eslint-disable-line eqeqeq\n if (animatorData.s.rn === 1) {\n indexes.push(ind);\n }\n\n ind += 1;\n }\n }\n\n data.a[j].s.totalChars = ind;\n var currentInd = -1;\n var newInd;\n\n if (animatorData.s.rn === 1) {\n for (i = 0; i < len; i += 1) {\n letterData = letters[i];\n\n if (currentInd != letterData.anIndexes[j]) {\n // eslint-disable-line eqeqeq\n currentInd = letterData.anIndexes[j];\n newInd = indexes.splice(Math.floor(Math.random() * indexes.length), 1)[0];\n }\n\n letterData.anIndexes[j] = newInd;\n }\n }\n }\n\n documentData.yOffset = documentData.finalLineHeight || documentData.finalSize * 1.2;\n documentData.ls = documentData.ls || 0;\n documentData.ascent = fontData.ascent * documentData.finalSize / 100;\n };\n\n TextProperty.prototype.updateDocumentData = function (newData, index) {\n index = index === undefined ? this.keysIndex : index;\n var dData = this.copyData({}, this.data.d.k[index].s);\n dData = this.copyData(dData, newData);\n this.data.d.k[index].s = dData;\n this.recalculate(index);\n this.elem.addDynamicProperty(this);\n };\n\n TextProperty.prototype.recalculate = function (index) {\n var dData = this.data.d.k[index].s;\n dData.__complete = false;\n this.keysIndex = 0;\n this._isFirstFrame = true;\n this.getValue(dData);\n };\n\n TextProperty.prototype.canResizeFont = function (_canResize) {\n this.canResize = _canResize;\n this.recalculate(this.keysIndex);\n this.elem.addDynamicProperty(this);\n };\n\n TextProperty.prototype.setMinimumFontSize = function (_fontValue) {\n this.minimumFontSize = Math.floor(_fontValue) || 1;\n this.recalculate(this.keysIndex);\n this.elem.addDynamicProperty(this);\n };\n\n var TextSelectorProp = function () {\n var max = Math.max;\n var min = Math.min;\n var floor = Math.floor;\n\n function TextSelectorPropFactory(elem, data) {\n this._currentTextLength = -1;\n this.k = false;\n this.data = data;\n this.elem = elem;\n this.comp = elem.comp;\n this.finalS = 0;\n this.finalE = 0;\n this.initDynamicPropertyContainer(elem);\n this.s = PropertyFactory.getProp(elem, data.s || {\n k: 0\n }, 0, 0, this);\n\n if ('e' in data) {\n this.e = PropertyFactory.getProp(elem, data.e, 0, 0, this);\n } else {\n this.e = {\n v: 100\n };\n }\n\n this.o = PropertyFactory.getProp(elem, data.o || {\n k: 0\n }, 0, 0, this);\n this.xe = PropertyFactory.getProp(elem, data.xe || {\n k: 0\n }, 0, 0, this);\n this.ne = PropertyFactory.getProp(elem, data.ne || {\n k: 0\n }, 0, 0, this);\n this.sm = PropertyFactory.getProp(elem, data.sm || {\n k: 100\n }, 0, 0, this);\n this.a = PropertyFactory.getProp(elem, data.a, 0, 0.01, this);\n\n if (!this.dynamicProperties.length) {\n this.getValue();\n }\n }\n\n TextSelectorPropFactory.prototype = {\n getMult: function getMult(ind) {\n if (this._currentTextLength !== this.elem.textProperty.currentData.l.length) {\n this.getValue();\n }\n\n var x1 = 0;\n var y1 = 0;\n var x2 = 1;\n var y2 = 1;\n\n if (this.ne.v > 0) {\n x1 = this.ne.v / 100.0;\n } else {\n y1 = -this.ne.v / 100.0;\n }\n\n if (this.xe.v > 0) {\n x2 = 1.0 - this.xe.v / 100.0;\n } else {\n y2 = 1.0 + this.xe.v / 100.0;\n }\n\n var easer = BezierFactory.getBezierEasing(x1, y1, x2, y2).get;\n var mult = 0;\n var s = this.finalS;\n var e = this.finalE;\n var type = this.data.sh;\n\n if (type === 2) {\n if (e === s) {\n mult = ind >= e ? 1 : 0;\n } else {\n mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n }\n\n mult = easer(mult);\n } else if (type === 3) {\n if (e === s) {\n mult = ind >= e ? 0 : 1;\n } else {\n mult = 1 - max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n }\n\n mult = easer(mult);\n } else if (type === 4) {\n if (e === s) {\n mult = 0;\n } else {\n mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n\n if (mult < 0.5) {\n mult *= 2;\n } else {\n mult = 1 - 2 * (mult - 0.5);\n }\n }\n\n mult = easer(mult);\n } else if (type === 5) {\n if (e === s) {\n mult = 0;\n } else {\n var tot = e - s;\n /* ind += 0.5;\r\n mult = -4/(tot*tot)*(ind*ind)+(4/tot)*ind; */\n\n ind = min(max(0, ind + 0.5 - s), e - s);\n var x = -tot / 2 + ind;\n var a = tot / 2;\n mult = Math.sqrt(1 - x * x / (a * a));\n }\n\n mult = easer(mult);\n } else if (type === 6) {\n if (e === s) {\n mult = 0;\n } else {\n ind = min(max(0, ind + 0.5 - s), e - s);\n mult = (1 + Math.cos(Math.PI + Math.PI * 2 * ind / (e - s))) / 2; // eslint-disable-line\n }\n\n mult = easer(mult);\n } else {\n if (ind >= floor(s)) {\n if (ind - s < 0) {\n mult = max(0, min(min(e, 1) - (s - ind), 1));\n } else {\n mult = max(0, min(e - ind, 1));\n }\n }\n\n mult = easer(mult);\n } // Smoothness implementation.\n // The smoothness represents a reduced range of the original [0; 1] range.\n // if smoothness is 25%, the new range will be [0.375; 0.625]\n // Steps are:\n // - find the lower value of the new range (threshold)\n // - if multiplier is smaller than that value, floor it to 0\n // - if it is larger,\n // - subtract the threshold\n // - divide it by the smoothness (this will return the range to [0; 1])\n // Note: If it doesn't work on some scenarios, consider applying it before the easer.\n\n\n if (this.sm.v !== 100) {\n var smoothness = this.sm.v * 0.01;\n\n if (smoothness === 0) {\n smoothness = 0.00000001;\n }\n\n var threshold = 0.5 - smoothness * 0.5;\n\n if (mult < threshold) {\n mult = 0;\n } else {\n mult = (mult - threshold) / smoothness;\n\n if (mult > 1) {\n mult = 1;\n }\n }\n }\n\n return mult * this.a.v;\n },\n getValue: function getValue(newCharsFlag) {\n this.iterateDynamicProperties();\n this._mdf = newCharsFlag || this._mdf;\n this._currentTextLength = this.elem.textProperty.currentData.l.length || 0;\n\n if (newCharsFlag && this.data.r === 2) {\n this.e.v = this._currentTextLength;\n }\n\n var divisor = this.data.r === 2 ? 1 : 100 / this.data.totalChars;\n var o = this.o.v / divisor;\n var s = this.s.v / divisor + o;\n var e = this.e.v / divisor + o;\n\n if (s > e) {\n var _s = s;\n s = e;\n e = _s;\n }\n\n this.finalS = s;\n this.finalE = e;\n }\n };\n extendPrototype([DynamicPropertyContainer], TextSelectorPropFactory);\n\n function getTextSelectorProp(elem, data, arr) {\n return new TextSelectorPropFactory(elem, data, arr);\n }\n\n return {\n getTextSelectorProp: getTextSelectorProp\n };\n }();\n\n function TextAnimatorDataProperty(elem, animatorProps, container) {\n var defaultData = {\n propType: false\n };\n var getProp = PropertyFactory.getProp;\n var textAnimatorAnimatables = animatorProps.a;\n this.a = {\n r: textAnimatorAnimatables.r ? getProp(elem, textAnimatorAnimatables.r, 0, degToRads, container) : defaultData,\n rx: textAnimatorAnimatables.rx ? getProp(elem, textAnimatorAnimatables.rx, 0, degToRads, container) : defaultData,\n ry: textAnimatorAnimatables.ry ? getProp(elem, textAnimatorAnimatables.ry, 0, degToRads, container) : defaultData,\n sk: textAnimatorAnimatables.sk ? getProp(elem, textAnimatorAnimatables.sk, 0, degToRads, container) : defaultData,\n sa: textAnimatorAnimatables.sa ? getProp(elem, textAnimatorAnimatables.sa, 0, degToRads, container) : defaultData,\n s: textAnimatorAnimatables.s ? getProp(elem, textAnimatorAnimatables.s, 1, 0.01, container) : defaultData,\n a: textAnimatorAnimatables.a ? getProp(elem, textAnimatorAnimatables.a, 1, 0, container) : defaultData,\n o: textAnimatorAnimatables.o ? getProp(elem, textAnimatorAnimatables.o, 0, 0.01, container) : defaultData,\n p: textAnimatorAnimatables.p ? getProp(elem, textAnimatorAnimatables.p, 1, 0, container) : defaultData,\n sw: textAnimatorAnimatables.sw ? getProp(elem, textAnimatorAnimatables.sw, 0, 0, container) : defaultData,\n sc: textAnimatorAnimatables.sc ? getProp(elem, textAnimatorAnimatables.sc, 1, 0, container) : defaultData,\n fc: textAnimatorAnimatables.fc ? getProp(elem, textAnimatorAnimatables.fc, 1, 0, container) : defaultData,\n fh: textAnimatorAnimatables.fh ? getProp(elem, textAnimatorAnimatables.fh, 0, 0, container) : defaultData,\n fs: textAnimatorAnimatables.fs ? getProp(elem, textAnimatorAnimatables.fs, 0, 0.01, container) : defaultData,\n fb: textAnimatorAnimatables.fb ? getProp(elem, textAnimatorAnimatables.fb, 0, 0.01, container) : defaultData,\n t: textAnimatorAnimatables.t ? getProp(elem, textAnimatorAnimatables.t, 0, 0, container) : defaultData\n };\n this.s = TextSelectorProp.getTextSelectorProp(elem, animatorProps.s, container);\n this.s.t = animatorProps.s.t;\n }\n\n function TextAnimatorProperty(textData, renderType, elem) {\n this._isFirstFrame = true;\n this._hasMaskedPath = false;\n this._frameId = -1;\n this._textData = textData;\n this._renderType = renderType;\n this._elem = elem;\n this._animatorsData = createSizedArray(this._textData.a.length);\n this._pathData = {};\n this._moreOptions = {\n alignment: {}\n };\n this.renderedLetters = [];\n this.lettersChangedFlag = false;\n this.initDynamicPropertyContainer(elem);\n }\n\n TextAnimatorProperty.prototype.searchProperties = function () {\n var i;\n var len = this._textData.a.length;\n var animatorProps;\n var getProp = PropertyFactory.getProp;\n\n for (i = 0; i < len; i += 1) {\n animatorProps = this._textData.a[i];\n this._animatorsData[i] = new TextAnimatorDataProperty(this._elem, animatorProps, this);\n }\n\n if (this._textData.p && 'm' in this._textData.p) {\n this._pathData = {\n a: getProp(this._elem, this._textData.p.a, 0, 0, this),\n f: getProp(this._elem, this._textData.p.f, 0, 0, this),\n l: getProp(this._elem, this._textData.p.l, 0, 0, this),\n r: getProp(this._elem, this._textData.p.r, 0, 0, this),\n p: getProp(this._elem, this._textData.p.p, 0, 0, this),\n m: this._elem.maskManager.getMaskProperty(this._textData.p.m)\n };\n this._hasMaskedPath = true;\n } else {\n this._hasMaskedPath = false;\n }\n\n this._moreOptions.alignment = getProp(this._elem, this._textData.m.a, 1, 0, this);\n };\n\n TextAnimatorProperty.prototype.getMeasures = function (documentData, lettersChangedFlag) {\n this.lettersChangedFlag = lettersChangedFlag;\n\n if (!this._mdf && !this._isFirstFrame && !lettersChangedFlag && (!this._hasMaskedPath || !this._pathData.m._mdf)) {\n return;\n }\n\n this._isFirstFrame = false;\n var alignment = this._moreOptions.alignment.v;\n var animators = this._animatorsData;\n var textData = this._textData;\n var matrixHelper = this.mHelper;\n var renderType = this._renderType;\n var renderedLettersCount = this.renderedLetters.length;\n var xPos;\n var yPos;\n var i;\n var len;\n var letters = documentData.l;\n var pathInfo;\n var currentLength;\n var currentPoint;\n var segmentLength;\n var flag;\n var pointInd;\n var segmentInd;\n var prevPoint;\n var points;\n var segments;\n var partialLength;\n var totalLength;\n var perc;\n var tanAngle;\n var mask;\n\n if (this._hasMaskedPath) {\n mask = this._pathData.m;\n\n if (!this._pathData.n || this._pathData._mdf) {\n var paths = mask.v;\n\n if (this._pathData.r.v) {\n paths = paths.reverse();\n } // TODO: release bezier data cached from previous pathInfo: this._pathData.pi\n\n\n pathInfo = {\n tLength: 0,\n segments: []\n };\n len = paths._length - 1;\n var bezierData;\n totalLength = 0;\n\n for (i = 0; i < len; i += 1) {\n bezierData = bez.buildBezierData(paths.v[i], paths.v[i + 1], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[i + 1][0] - paths.v[i + 1][0], paths.i[i + 1][1] - paths.v[i + 1][1]]);\n pathInfo.tLength += bezierData.segmentLength;\n pathInfo.segments.push(bezierData);\n totalLength += bezierData.segmentLength;\n }\n\n i = len;\n\n if (mask.v.c) {\n bezierData = bez.buildBezierData(paths.v[i], paths.v[0], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[0][0] - paths.v[0][0], paths.i[0][1] - paths.v[0][1]]);\n pathInfo.tLength += bezierData.segmentLength;\n pathInfo.segments.push(bezierData);\n totalLength += bezierData.segmentLength;\n }\n\n this._pathData.pi = pathInfo;\n }\n\n pathInfo = this._pathData.pi;\n currentLength = this._pathData.f.v;\n segmentInd = 0;\n pointInd = 1;\n segmentLength = 0;\n flag = true;\n segments = pathInfo.segments;\n\n if (currentLength < 0 && mask.v.c) {\n if (pathInfo.tLength < Math.abs(currentLength)) {\n currentLength = -Math.abs(currentLength) % pathInfo.tLength;\n }\n\n segmentInd = segments.length - 1;\n points = segments[segmentInd].points;\n pointInd = points.length - 1;\n\n while (currentLength < 0) {\n currentLength += points[pointInd].partialLength;\n pointInd -= 1;\n\n if (pointInd < 0) {\n segmentInd -= 1;\n points = segments[segmentInd].points;\n pointInd = points.length - 1;\n }\n }\n }\n\n points = segments[segmentInd].points;\n prevPoint = points[pointInd - 1];\n currentPoint = points[pointInd];\n partialLength = currentPoint.partialLength;\n }\n\n len = letters.length;\n xPos = 0;\n yPos = 0;\n var yOff = documentData.finalSize * 1.2 * 0.714;\n var firstLine = true;\n var animatorProps;\n var animatorSelector;\n var j;\n var jLen;\n var letterValue;\n jLen = animators.length;\n var mult;\n var ind = -1;\n var offf;\n var xPathPos;\n var yPathPos;\n var initPathPos = currentLength;\n var initSegmentInd = segmentInd;\n var initPointInd = pointInd;\n var currentLine = -1;\n var elemOpacity;\n var sc;\n var sw;\n var fc;\n var k;\n var letterSw;\n var letterSc;\n var letterFc;\n var letterM = '';\n var letterP = this.defaultPropsArray;\n var letterO; //\n\n if (documentData.j === 2 || documentData.j === 1) {\n var animatorJustifyOffset = 0;\n var animatorFirstCharOffset = 0;\n var justifyOffsetMult = documentData.j === 2 ? -0.5 : -1;\n var lastIndex = 0;\n var isNewLine = true;\n\n for (i = 0; i < len; i += 1) {\n if (letters[i].n) {\n if (animatorJustifyOffset) {\n animatorJustifyOffset += animatorFirstCharOffset;\n }\n\n while (lastIndex < i) {\n letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n lastIndex += 1;\n }\n\n animatorJustifyOffset = 0;\n isNewLine = true;\n } else {\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.t.propType) {\n if (isNewLine && documentData.j === 2) {\n animatorFirstCharOffset += animatorProps.t.v * justifyOffsetMult;\n }\n\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n animatorJustifyOffset += animatorProps.t.v * mult[0] * justifyOffsetMult;\n } else {\n animatorJustifyOffset += animatorProps.t.v * mult * justifyOffsetMult;\n }\n }\n }\n\n isNewLine = false;\n }\n }\n\n if (animatorJustifyOffset) {\n animatorJustifyOffset += animatorFirstCharOffset;\n }\n\n while (lastIndex < i) {\n letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n lastIndex += 1;\n }\n } //\n\n\n for (i = 0; i < len; i += 1) {\n matrixHelper.reset();\n elemOpacity = 1;\n\n if (letters[i].n) {\n xPos = 0;\n yPos += documentData.yOffset;\n yPos += firstLine ? 1 : 0;\n currentLength = initPathPos;\n firstLine = false;\n\n if (this._hasMaskedPath) {\n segmentInd = initSegmentInd;\n pointInd = initPointInd;\n points = segments[segmentInd].points;\n prevPoint = points[pointInd - 1];\n currentPoint = points[pointInd];\n partialLength = currentPoint.partialLength;\n segmentLength = 0;\n }\n\n letterM = '';\n letterFc = '';\n letterSw = '';\n letterO = '';\n letterP = this.defaultPropsArray;\n } else {\n if (this._hasMaskedPath) {\n if (currentLine !== letters[i].line) {\n switch (documentData.j) {\n case 1:\n currentLength += totalLength - documentData.lineWidths[letters[i].line];\n break;\n\n case 2:\n currentLength += (totalLength - documentData.lineWidths[letters[i].line]) / 2;\n break;\n\n default:\n break;\n }\n\n currentLine = letters[i].line;\n }\n\n if (ind !== letters[i].ind) {\n if (letters[ind]) {\n currentLength += letters[ind].extra;\n }\n\n currentLength += letters[i].an / 2;\n ind = letters[i].ind;\n }\n\n currentLength += alignment[0] * letters[i].an * 0.005;\n var animatorOffset = 0;\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.p.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n animatorOffset += animatorProps.p.v[0] * mult[0];\n } else {\n animatorOffset += animatorProps.p.v[0] * mult;\n }\n }\n\n if (animatorProps.a.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n animatorOffset += animatorProps.a.v[0] * mult[0];\n } else {\n animatorOffset += animatorProps.a.v[0] * mult;\n }\n }\n }\n\n flag = true; // Force alignment only works with a single line for now\n\n if (this._pathData.a.v) {\n currentLength = letters[0].an * 0.5 + (totalLength - this._pathData.f.v - letters[0].an * 0.5 - letters[letters.length - 1].an * 0.5) * ind / (len - 1);\n currentLength += this._pathData.f.v;\n }\n\n while (flag) {\n if (segmentLength + partialLength >= currentLength + animatorOffset || !points) {\n perc = (currentLength + animatorOffset - segmentLength) / currentPoint.partialLength;\n xPathPos = prevPoint.point[0] + (currentPoint.point[0] - prevPoint.point[0]) * perc;\n yPathPos = prevPoint.point[1] + (currentPoint.point[1] - prevPoint.point[1]) * perc;\n matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -(alignment[1] * yOff) * 0.01);\n flag = false;\n } else if (points) {\n segmentLength += currentPoint.partialLength;\n pointInd += 1;\n\n if (pointInd >= points.length) {\n pointInd = 0;\n segmentInd += 1;\n\n if (!segments[segmentInd]) {\n if (mask.v.c) {\n pointInd = 0;\n segmentInd = 0;\n points = segments[segmentInd].points;\n } else {\n segmentLength -= currentPoint.partialLength;\n points = null;\n }\n } else {\n points = segments[segmentInd].points;\n }\n }\n\n if (points) {\n prevPoint = currentPoint;\n currentPoint = points[pointInd];\n partialLength = currentPoint.partialLength;\n }\n }\n }\n\n offf = letters[i].an / 2 - letters[i].add;\n matrixHelper.translate(-offf, 0, 0);\n } else {\n offf = letters[i].an / 2 - letters[i].add;\n matrixHelper.translate(-offf, 0, 0); // Grouping alignment\n\n matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -alignment[1] * yOff * 0.01, 0);\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.t.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars); // This condition is to prevent applying tracking to first character in each line. Might be better to use a boolean \"isNewLine\"\n\n if (xPos !== 0 || documentData.j !== 0) {\n if (this._hasMaskedPath) {\n if (mult.length) {\n currentLength += animatorProps.t.v * mult[0];\n } else {\n currentLength += animatorProps.t.v * mult;\n }\n } else if (mult.length) {\n xPos += animatorProps.t.v * mult[0];\n } else {\n xPos += animatorProps.t.v * mult;\n }\n }\n }\n }\n\n if (documentData.strokeWidthAnim) {\n sw = documentData.sw || 0;\n }\n\n if (documentData.strokeColorAnim) {\n if (documentData.sc) {\n sc = [documentData.sc[0], documentData.sc[1], documentData.sc[2]];\n } else {\n sc = [0, 0, 0];\n }\n }\n\n if (documentData.fillColorAnim && documentData.fc) {\n fc = [documentData.fc[0], documentData.fc[1], documentData.fc[2]];\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.a.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n matrixHelper.translate(-animatorProps.a.v[0] * mult[0], -animatorProps.a.v[1] * mult[1], animatorProps.a.v[2] * mult[2]);\n } else {\n matrixHelper.translate(-animatorProps.a.v[0] * mult, -animatorProps.a.v[1] * mult, animatorProps.a.v[2] * mult);\n }\n }\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.s.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult[0], 1 + (animatorProps.s.v[1] - 1) * mult[1], 1);\n } else {\n matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult, 1 + (animatorProps.s.v[1] - 1) * mult, 1);\n }\n }\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (animatorProps.sk.propType) {\n if (mult.length) {\n matrixHelper.skewFromAxis(-animatorProps.sk.v * mult[0], animatorProps.sa.v * mult[1]);\n } else {\n matrixHelper.skewFromAxis(-animatorProps.sk.v * mult, animatorProps.sa.v * mult);\n }\n }\n\n if (animatorProps.r.propType) {\n if (mult.length) {\n matrixHelper.rotateZ(-animatorProps.r.v * mult[2]);\n } else {\n matrixHelper.rotateZ(-animatorProps.r.v * mult);\n }\n }\n\n if (animatorProps.ry.propType) {\n if (mult.length) {\n matrixHelper.rotateY(animatorProps.ry.v * mult[1]);\n } else {\n matrixHelper.rotateY(animatorProps.ry.v * mult);\n }\n }\n\n if (animatorProps.rx.propType) {\n if (mult.length) {\n matrixHelper.rotateX(animatorProps.rx.v * mult[0]);\n } else {\n matrixHelper.rotateX(animatorProps.rx.v * mult);\n }\n }\n\n if (animatorProps.o.propType) {\n if (mult.length) {\n elemOpacity += (animatorProps.o.v * mult[0] - elemOpacity) * mult[0];\n } else {\n elemOpacity += (animatorProps.o.v * mult - elemOpacity) * mult;\n }\n }\n\n if (documentData.strokeWidthAnim && animatorProps.sw.propType) {\n if (mult.length) {\n sw += animatorProps.sw.v * mult[0];\n } else {\n sw += animatorProps.sw.v * mult;\n }\n }\n\n if (documentData.strokeColorAnim && animatorProps.sc.propType) {\n for (k = 0; k < 3; k += 1) {\n if (mult.length) {\n sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult[0];\n } else {\n sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult;\n }\n }\n }\n\n if (documentData.fillColorAnim && documentData.fc) {\n if (animatorProps.fc.propType) {\n for (k = 0; k < 3; k += 1) {\n if (mult.length) {\n fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult[0];\n } else {\n fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult;\n }\n }\n }\n\n if (animatorProps.fh.propType) {\n if (mult.length) {\n fc = addHueToRGB(fc, animatorProps.fh.v * mult[0]);\n } else {\n fc = addHueToRGB(fc, animatorProps.fh.v * mult);\n }\n }\n\n if (animatorProps.fs.propType) {\n if (mult.length) {\n fc = addSaturationToRGB(fc, animatorProps.fs.v * mult[0]);\n } else {\n fc = addSaturationToRGB(fc, animatorProps.fs.v * mult);\n }\n }\n\n if (animatorProps.fb.propType) {\n if (mult.length) {\n fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult[0]);\n } else {\n fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult);\n }\n }\n }\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.p.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (this._hasMaskedPath) {\n if (mult.length) {\n matrixHelper.translate(0, animatorProps.p.v[1] * mult[0], -animatorProps.p.v[2] * mult[1]);\n } else {\n matrixHelper.translate(0, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n }\n } else if (mult.length) {\n matrixHelper.translate(animatorProps.p.v[0] * mult[0], animatorProps.p.v[1] * mult[1], -animatorProps.p.v[2] * mult[2]);\n } else {\n matrixHelper.translate(animatorProps.p.v[0] * mult, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n }\n }\n }\n\n if (documentData.strokeWidthAnim) {\n letterSw = sw < 0 ? 0 : sw;\n }\n\n if (documentData.strokeColorAnim) {\n letterSc = 'rgb(' + Math.round(sc[0] * 255) + ',' + Math.round(sc[1] * 255) + ',' + Math.round(sc[2] * 255) + ')';\n }\n\n if (documentData.fillColorAnim && documentData.fc) {\n letterFc = 'rgb(' + Math.round(fc[0] * 255) + ',' + Math.round(fc[1] * 255) + ',' + Math.round(fc[2] * 255) + ')';\n }\n\n if (this._hasMaskedPath) {\n matrixHelper.translate(0, -documentData.ls);\n matrixHelper.translate(0, alignment[1] * yOff * 0.01 + yPos, 0);\n\n if (this._pathData.p.v) {\n tanAngle = (currentPoint.point[1] - prevPoint.point[1]) / (currentPoint.point[0] - prevPoint.point[0]);\n var rot = Math.atan(tanAngle) * 180 / Math.PI;\n\n if (currentPoint.point[0] < prevPoint.point[0]) {\n rot += 180;\n }\n\n matrixHelper.rotate(-rot * Math.PI / 180);\n }\n\n matrixHelper.translate(xPathPos, yPathPos, 0);\n currentLength -= alignment[0] * letters[i].an * 0.005;\n\n if (letters[i + 1] && ind !== letters[i + 1].ind) {\n currentLength += letters[i].an / 2;\n currentLength += documentData.tr * 0.001 * documentData.finalSize;\n }\n } else {\n matrixHelper.translate(xPos, yPos, 0);\n\n if (documentData.ps) {\n // matrixHelper.translate(documentData.ps[0],documentData.ps[1],0);\n matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n }\n\n switch (documentData.j) {\n case 1:\n matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]), 0, 0);\n break;\n\n case 2:\n matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]) / 2, 0, 0);\n break;\n\n default:\n break;\n }\n\n matrixHelper.translate(0, -documentData.ls);\n matrixHelper.translate(offf, 0, 0);\n matrixHelper.translate(alignment[0] * letters[i].an * 0.005, alignment[1] * yOff * 0.01, 0);\n xPos += letters[i].l + documentData.tr * 0.001 * documentData.finalSize;\n }\n\n if (renderType === 'html') {\n letterM = matrixHelper.toCSS();\n } else if (renderType === 'svg') {\n letterM = matrixHelper.to2dCSS();\n } else {\n letterP = [matrixHelper.props[0], matrixHelper.props[1], matrixHelper.props[2], matrixHelper.props[3], matrixHelper.props[4], matrixHelper.props[5], matrixHelper.props[6], matrixHelper.props[7], matrixHelper.props[8], matrixHelper.props[9], matrixHelper.props[10], matrixHelper.props[11], matrixHelper.props[12], matrixHelper.props[13], matrixHelper.props[14], matrixHelper.props[15]];\n }\n\n letterO = elemOpacity;\n }\n\n if (renderedLettersCount <= i) {\n letterValue = new LetterProps(letterO, letterSw, letterSc, letterFc, letterM, letterP);\n this.renderedLetters.push(letterValue);\n renderedLettersCount += 1;\n this.lettersChangedFlag = true;\n } else {\n letterValue = this.renderedLetters[i];\n this.lettersChangedFlag = letterValue.update(letterO, letterSw, letterSc, letterFc, letterM, letterP) || this.lettersChangedFlag;\n }\n }\n };\n\n TextAnimatorProperty.prototype.getValue = function () {\n if (this._elem.globalData.frameId === this._frameId) {\n return;\n }\n\n this._frameId = this._elem.globalData.frameId;\n this.iterateDynamicProperties();\n };\n\n TextAnimatorProperty.prototype.mHelper = new Matrix();\n TextAnimatorProperty.prototype.defaultPropsArray = [];\n extendPrototype([DynamicPropertyContainer], TextAnimatorProperty);\n\n function ITextElement() {}\n\n ITextElement.prototype.initElement = function (data, globalData, comp) {\n this.lettersChangedFlag = true;\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.textProperty = new TextProperty(this, data.t, this.dynamicProperties);\n this.textAnimator = new TextAnimatorProperty(data.t, this.renderType, this);\n this.initTransform(data, globalData, comp);\n this.initHierarchy();\n this.initRenderable();\n this.initRendererElement();\n this.createContainerElements();\n this.createRenderableComponents();\n this.createContent();\n this.hide();\n this.textAnimator.searchProperties(this.dynamicProperties);\n };\n\n ITextElement.prototype.prepareFrame = function (num) {\n this._mdf = false;\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n\n if (this.textProperty._mdf || this.textProperty._isFirstFrame) {\n this.buildNewText();\n this.textProperty._isFirstFrame = false;\n this.textProperty._mdf = false;\n }\n };\n\n ITextElement.prototype.createPathShape = function (matrixHelper, shapes) {\n var j;\n var jLen = shapes.length;\n var pathNodes;\n var shapeStr = '';\n\n for (j = 0; j < jLen; j += 1) {\n if (shapes[j].ty === 'sh') {\n pathNodes = shapes[j].ks.k;\n shapeStr += buildShapeString(pathNodes, pathNodes.i.length, true, matrixHelper);\n }\n }\n\n return shapeStr;\n };\n\n ITextElement.prototype.updateDocumentData = function (newData, index) {\n this.textProperty.updateDocumentData(newData, index);\n };\n\n ITextElement.prototype.canResizeFont = function (_canResize) {\n this.textProperty.canResizeFont(_canResize);\n };\n\n ITextElement.prototype.setMinimumFontSize = function (_fontSize) {\n this.textProperty.setMinimumFontSize(_fontSize);\n };\n\n ITextElement.prototype.applyTextPropertiesToMatrix = function (documentData, matrixHelper, lineNumber, xPos, yPos) {\n if (documentData.ps) {\n matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n }\n\n matrixHelper.translate(0, -documentData.ls, 0);\n\n switch (documentData.j) {\n case 1:\n matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]), 0, 0);\n break;\n\n case 2:\n matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]) / 2, 0, 0);\n break;\n\n default:\n break;\n }\n\n matrixHelper.translate(xPos, yPos, 0);\n };\n\n ITextElement.prototype.buildColor = function (colorData) {\n return 'rgb(' + Math.round(colorData[0] * 255) + ',' + Math.round(colorData[1] * 255) + ',' + Math.round(colorData[2] * 255) + ')';\n };\n\n ITextElement.prototype.emptyProp = new LetterProps();\n\n ITextElement.prototype.destroy = function () {};\n\n var emptyShapeData = {\n shapes: []\n };\n\n function SVGTextLottieElement(data, globalData, comp) {\n this.textSpans = [];\n this.renderType = 'svg';\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], SVGTextLottieElement);\n\n SVGTextLottieElement.prototype.createContent = function () {\n if (this.data.singleShape && !this.globalData.fontManager.chars) {\n this.textContainer = createNS('text');\n }\n };\n\n SVGTextLottieElement.prototype.buildTextContents = function (textArray) {\n var i = 0;\n var len = textArray.length;\n var textContents = [];\n var currentTextContent = '';\n\n while (i < len) {\n if (textArray[i] === String.fromCharCode(13) || textArray[i] === String.fromCharCode(3)) {\n textContents.push(currentTextContent);\n currentTextContent = '';\n } else {\n currentTextContent += textArray[i];\n }\n\n i += 1;\n }\n\n textContents.push(currentTextContent);\n return textContents;\n };\n\n SVGTextLottieElement.prototype.buildNewText = function () {\n this.addDynamicProperty(this);\n var i;\n var len;\n var documentData = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(documentData ? documentData.l.length : 0);\n\n if (documentData.fc) {\n this.layerElement.setAttribute('fill', this.buildColor(documentData.fc));\n } else {\n this.layerElement.setAttribute('fill', 'rgba(0,0,0,0)');\n }\n\n if (documentData.sc) {\n this.layerElement.setAttribute('stroke', this.buildColor(documentData.sc));\n this.layerElement.setAttribute('stroke-width', documentData.sw);\n }\n\n this.layerElement.setAttribute('font-size', documentData.finalSize);\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\n\n if (fontData.fClass) {\n this.layerElement.setAttribute('class', fontData.fClass);\n } else {\n this.layerElement.setAttribute('font-family', fontData.fFamily);\n var fWeight = documentData.fWeight;\n var fStyle = documentData.fStyle;\n this.layerElement.setAttribute('font-style', fStyle);\n this.layerElement.setAttribute('font-weight', fWeight);\n }\n\n this.layerElement.setAttribute('aria-label', documentData.t);\n var letters = documentData.l || [];\n var usesGlyphs = !!this.globalData.fontManager.chars;\n len = letters.length;\n var tSpan;\n var matrixHelper = this.mHelper;\n var shapeStr = '';\n var singleShape = this.data.singleShape;\n var xPos = 0;\n var yPos = 0;\n var firstLine = true;\n var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\n\n if (singleShape && !usesGlyphs && !documentData.sz) {\n var tElement = this.textContainer;\n var justify = 'start';\n\n switch (documentData.j) {\n case 1:\n justify = 'end';\n break;\n\n case 2:\n justify = 'middle';\n break;\n\n default:\n justify = 'start';\n break;\n }\n\n tElement.setAttribute('text-anchor', justify);\n tElement.setAttribute('letter-spacing', trackingOffset);\n var textContent = this.buildTextContents(documentData.finalText);\n len = textContent.length;\n yPos = documentData.ps ? documentData.ps[1] + documentData.ascent : 0;\n\n for (i = 0; i < len; i += 1) {\n tSpan = this.textSpans[i].span || createNS('tspan');\n tSpan.textContent = textContent[i];\n tSpan.setAttribute('x', 0);\n tSpan.setAttribute('y', yPos);\n tSpan.style.display = 'inherit';\n tElement.appendChild(tSpan);\n\n if (!this.textSpans[i]) {\n this.textSpans[i] = {\n span: null,\n glyph: null\n };\n }\n\n this.textSpans[i].span = tSpan;\n yPos += documentData.finalLineHeight;\n }\n\n this.layerElement.appendChild(tElement);\n } else {\n var cachedSpansLength = this.textSpans.length;\n var charData;\n\n for (i = 0; i < len; i += 1) {\n if (!this.textSpans[i]) {\n this.textSpans[i] = {\n span: null,\n childSpan: null,\n glyph: null\n };\n }\n\n if (!usesGlyphs || !singleShape || i === 0) {\n tSpan = cachedSpansLength > i ? this.textSpans[i].span : createNS(usesGlyphs ? 'g' : 'text');\n\n if (cachedSpansLength <= i) {\n tSpan.setAttribute('stroke-linecap', 'butt');\n tSpan.setAttribute('stroke-linejoin', 'round');\n tSpan.setAttribute('stroke-miterlimit', '4');\n this.textSpans[i].span = tSpan;\n\n if (usesGlyphs) {\n var childSpan = createNS('g');\n tSpan.appendChild(childSpan);\n this.textSpans[i].childSpan = childSpan;\n }\n\n this.textSpans[i].span = tSpan;\n this.layerElement.appendChild(tSpan);\n }\n\n tSpan.style.display = 'inherit';\n }\n\n matrixHelper.reset();\n matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n\n if (singleShape) {\n if (letters[i].n) {\n xPos = -trackingOffset;\n yPos += documentData.yOffset;\n yPos += firstLine ? 1 : 0;\n firstLine = false;\n }\n\n this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n xPos += letters[i].l || 0; // xPos += letters[i].val === ' ' ? 0 : trackingOffset;\n\n xPos += trackingOffset;\n }\n\n if (usesGlyphs) {\n charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\n var glyphElement;\n\n if (charData.t === 1) {\n glyphElement = new SVGCompElement(charData.data, this.globalData, this);\n } else {\n var data = emptyShapeData;\n\n if (charData.data && charData.data.shapes) {\n data = charData.data;\n }\n\n glyphElement = new SVGShapeElement(data, this.globalData, this);\n }\n\n if (this.textSpans[i].glyph) {\n var glyph = this.textSpans[i].glyph;\n this.textSpans[i].childSpan.removeChild(glyph.layerElement);\n glyph.destroy();\n }\n\n this.textSpans[i].glyph = glyphElement;\n glyphElement._debug = true;\n glyphElement.prepareFrame(0);\n glyphElement.renderFrame();\n this.textSpans[i].childSpan.appendChild(glyphElement.layerElement);\n this.textSpans[i].childSpan.setAttribute('transform', 'scale(' + documentData.finalSize / 100 + ',' + documentData.finalSize / 100 + ')');\n } else {\n if (singleShape) {\n tSpan.setAttribute('transform', 'translate(' + matrixHelper.props[12] + ',' + matrixHelper.props[13] + ')');\n }\n\n tSpan.textContent = letters[i].val;\n tSpan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve');\n } //\n\n }\n\n if (singleShape && tSpan) {\n tSpan.setAttribute('d', shapeStr);\n }\n }\n\n while (i < this.textSpans.length) {\n this.textSpans[i].span.style.display = 'none';\n i += 1;\n }\n\n this._sizeChanged = true;\n };\n\n SVGTextLottieElement.prototype.sourceRectAtTime = function () {\n this.prepareFrame(this.comp.renderedFrame - this.data.st);\n this.renderInnerContent();\n\n if (this._sizeChanged) {\n this._sizeChanged = false;\n var textBox = this.layerElement.getBBox();\n this.bbox = {\n top: textBox.y,\n left: textBox.x,\n width: textBox.width,\n height: textBox.height\n };\n }\n\n return this.bbox;\n };\n\n SVGTextLottieElement.prototype.getValue = function () {\n var i;\n var len = this.textSpans.length;\n var glyphElement;\n this.renderedFrame = this.comp.renderedFrame;\n\n for (i = 0; i < len; i += 1) {\n glyphElement = this.textSpans[i].glyph;\n\n if (glyphElement) {\n glyphElement.prepareFrame(this.comp.renderedFrame - this.data.st);\n\n if (glyphElement._mdf) {\n this._mdf = true;\n }\n }\n }\n };\n\n SVGTextLottieElement.prototype.renderInnerContent = function () {\n if (!this.data.singleShape || this._mdf) {\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n\n if (this.lettersChangedFlag || this.textAnimator.lettersChangedFlag) {\n this._sizeChanged = true;\n var i;\n var len;\n var renderedLetters = this.textAnimator.renderedLetters;\n var letters = this.textProperty.currentData.l;\n len = letters.length;\n var renderedLetter;\n var textSpan;\n var glyphElement;\n\n for (i = 0; i < len; i += 1) {\n if (!letters[i].n) {\n renderedLetter = renderedLetters[i];\n textSpan = this.textSpans[i].span;\n glyphElement = this.textSpans[i].glyph;\n\n if (glyphElement) {\n glyphElement.renderFrame();\n }\n\n if (renderedLetter._mdf.m) {\n textSpan.setAttribute('transform', renderedLetter.m);\n }\n\n if (renderedLetter._mdf.o) {\n textSpan.setAttribute('opacity', renderedLetter.o);\n }\n\n if (renderedLetter._mdf.sw) {\n textSpan.setAttribute('stroke-width', renderedLetter.sw);\n }\n\n if (renderedLetter._mdf.sc) {\n textSpan.setAttribute('stroke', renderedLetter.sc);\n }\n\n if (renderedLetter._mdf.fc) {\n textSpan.setAttribute('fill', renderedLetter.fc);\n }\n }\n }\n }\n }\n };\n\n function ISolidElement(data, globalData, comp) {\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([IImageElement], ISolidElement);\n\n ISolidElement.prototype.createContent = function () {\n var rect = createNS('rect'); /// /rect.style.width = this.data.sw;\n /// /rect.style.height = this.data.sh;\n /// /rect.style.fill = this.data.sc;\n\n rect.setAttribute('width', this.data.sw);\n rect.setAttribute('height', this.data.sh);\n rect.setAttribute('fill', this.data.sc);\n this.layerElement.appendChild(rect);\n };\n\n function NullElement(data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initFrame();\n this.initTransform(data, globalData, comp);\n this.initHierarchy();\n }\n\n NullElement.prototype.prepareFrame = function (num) {\n this.prepareProperties(num, true);\n };\n\n NullElement.prototype.renderFrame = function () {};\n\n NullElement.prototype.getBaseElement = function () {\n return null;\n };\n\n NullElement.prototype.destroy = function () {};\n\n NullElement.prototype.sourceRectAtTime = function () {};\n\n NullElement.prototype.hide = function () {};\n\n extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement], NullElement);\n\n function SVGRendererBase() {}\n\n extendPrototype([BaseRenderer], SVGRendererBase);\n\n SVGRendererBase.prototype.createNull = function (data) {\n return new NullElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createShape = function (data) {\n return new SVGShapeElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createText = function (data) {\n return new SVGTextLottieElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createImage = function (data) {\n return new IImageElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createSolid = function (data) {\n return new ISolidElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.configAnimation = function (animData) {\n this.svgElement.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n\n if (this.renderConfig.viewBoxSize) {\n this.svgElement.setAttribute('viewBox', this.renderConfig.viewBoxSize);\n } else {\n this.svgElement.setAttribute('viewBox', '0 0 ' + animData.w + ' ' + animData.h);\n }\n\n if (!this.renderConfig.viewBoxOnly) {\n this.svgElement.setAttribute('width', animData.w);\n this.svgElement.setAttribute('height', animData.h);\n this.svgElement.style.width = '100%';\n this.svgElement.style.height = '100%';\n this.svgElement.style.transform = 'translate3d(0,0,0)';\n this.svgElement.style.contentVisibility = this.renderConfig.contentVisibility;\n }\n\n if (this.renderConfig.width) {\n this.svgElement.setAttribute('width', this.renderConfig.width);\n }\n\n if (this.renderConfig.height) {\n this.svgElement.setAttribute('height', this.renderConfig.height);\n }\n\n if (this.renderConfig.className) {\n this.svgElement.setAttribute('class', this.renderConfig.className);\n }\n\n if (this.renderConfig.id) {\n this.svgElement.setAttribute('id', this.renderConfig.id);\n }\n\n if (this.renderConfig.focusable !== undefined) {\n this.svgElement.setAttribute('focusable', this.renderConfig.focusable);\n }\n\n this.svgElement.setAttribute('preserveAspectRatio', this.renderConfig.preserveAspectRatio); // this.layerElement.style.transform = 'translate3d(0,0,0)';\n // this.layerElement.style.transformOrigin = this.layerElement.style.mozTransformOrigin = this.layerElement.style.webkitTransformOrigin = this.layerElement.style['-webkit-transform'] = \"0px 0px 0px\";\n\n this.animationItem.wrapper.appendChild(this.svgElement); // Mask animation\n\n var defs = this.globalData.defs;\n this.setupGlobalData(animData, defs);\n this.globalData.progressiveLoad = this.renderConfig.progressiveLoad;\n this.data = animData;\n var maskElement = createNS('clipPath');\n var rect = createNS('rect');\n rect.setAttribute('width', animData.w);\n rect.setAttribute('height', animData.h);\n rect.setAttribute('x', 0);\n rect.setAttribute('y', 0);\n var maskId = createElementID();\n maskElement.setAttribute('id', maskId);\n maskElement.appendChild(rect);\n this.layerElement.setAttribute('clip-path', 'url(' + getLocationHref() + '#' + maskId + ')');\n defs.appendChild(maskElement);\n this.layers = animData.layers;\n this.elements = createSizedArray(animData.layers.length);\n };\n\n SVGRendererBase.prototype.destroy = function () {\n if (this.animationItem.wrapper) {\n this.animationItem.wrapper.innerText = '';\n }\n\n this.layerElement = null;\n this.globalData.defs = null;\n var i;\n var len = this.layers ? this.layers.length : 0;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i]) {\n this.elements[i].destroy();\n }\n }\n\n this.elements.length = 0;\n this.destroyed = true;\n this.animationItem = null;\n };\n\n SVGRendererBase.prototype.updateContainerSize = function () {};\n\n SVGRendererBase.prototype.buildItem = function (pos) {\n var elements = this.elements;\n\n if (elements[pos] || this.layers[pos].ty === 99) {\n return;\n }\n\n elements[pos] = true;\n var element = this.createItem(this.layers[pos]);\n elements[pos] = element;\n\n if (getExpressionsPlugin()) {\n if (this.layers[pos].ty === 0) {\n this.globalData.projectInterface.registerComposition(element);\n }\n\n element.initExpressions();\n }\n\n this.appendElementInPos(element, pos);\n\n if (this.layers[pos].tt) {\n if (!this.elements[pos - 1] || this.elements[pos - 1] === true) {\n this.buildItem(pos - 1);\n this.addPendingElement(element);\n } else {\n element.setMatte(elements[pos - 1].layerId);\n }\n }\n };\n\n SVGRendererBase.prototype.checkPendingElements = function () {\n while (this.pendingElements.length) {\n var element = this.pendingElements.pop();\n element.checkParenting();\n\n if (element.data.tt) {\n var i = 0;\n var len = this.elements.length;\n\n while (i < len) {\n if (this.elements[i] === element) {\n element.setMatte(this.elements[i - 1].layerId);\n break;\n }\n\n i += 1;\n }\n }\n }\n };\n\n SVGRendererBase.prototype.renderFrame = function (num) {\n if (this.renderedFrame === num || this.destroyed) {\n return;\n }\n\n if (num === null) {\n num = this.renderedFrame;\n } else {\n this.renderedFrame = num;\n } // console.log('-------');\n // console.log('FRAME ',num);\n\n\n this.globalData.frameNum = num;\n this.globalData.frameId += 1;\n this.globalData.projectInterface.currentFrame = num;\n this.globalData._mdf = false;\n var i;\n var len = this.layers.length;\n\n if (!this.completeLayers) {\n this.checkLayers(num);\n }\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].prepareFrame(num - this.layers[i].st);\n }\n }\n\n if (this.globalData._mdf) {\n for (i = 0; i < len; i += 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n }\n };\n\n SVGRendererBase.prototype.appendElementInPos = function (element, pos) {\n var newElement = element.getBaseElement();\n\n if (!newElement) {\n return;\n }\n\n var i = 0;\n var nextElement;\n\n while (i < pos) {\n if (this.elements[i] && this.elements[i] !== true && this.elements[i].getBaseElement()) {\n nextElement = this.elements[i].getBaseElement();\n }\n\n i += 1;\n }\n\n if (nextElement) {\n this.layerElement.insertBefore(newElement, nextElement);\n } else {\n this.layerElement.appendChild(newElement);\n }\n };\n\n SVGRendererBase.prototype.hide = function () {\n this.layerElement.style.display = 'none';\n };\n\n SVGRendererBase.prototype.show = function () {\n this.layerElement.style.display = 'block';\n };\n\n function ICompElement() {}\n\n extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement], ICompElement);\n\n ICompElement.prototype.initElement = function (data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initTransform(data, globalData, comp);\n this.initRenderable();\n this.initHierarchy();\n this.initRendererElement();\n this.createContainerElements();\n this.createRenderableComponents();\n\n if (this.data.xt || !globalData.progressiveLoad) {\n this.buildAllItems();\n }\n\n this.hide();\n };\n /* ICompElement.prototype.hide = function(){\r\n if(!this.hidden){\r\n this.hideElement();\r\n var i,len = this.elements.length;\r\n for( i = 0; i < len; i+=1 ){\r\n if(this.elements[i]){\r\n this.elements[i].hide();\r\n }\r\n }\r\n }\r\n }; */\n\n\n ICompElement.prototype.prepareFrame = function (num) {\n this._mdf = false;\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n\n if (!this.isInRange && !this.data.xt) {\n return;\n }\n\n if (!this.tm._placeholder) {\n var timeRemapped = this.tm.v;\n\n if (timeRemapped === this.data.op) {\n timeRemapped = this.data.op - 1;\n }\n\n this.renderedFrame = timeRemapped;\n } else {\n this.renderedFrame = num / this.data.sr;\n }\n\n var i;\n var len = this.elements.length;\n\n if (!this.completeLayers) {\n this.checkLayers(this.renderedFrame);\n } // This iteration needs to be backwards because of how expressions connect between each other\n\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].prepareFrame(this.renderedFrame - this.layers[i].st);\n\n if (this.elements[i]._mdf) {\n this._mdf = true;\n }\n }\n }\n };\n\n ICompElement.prototype.renderInnerContent = function () {\n var i;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n };\n\n ICompElement.prototype.setElements = function (elems) {\n this.elements = elems;\n };\n\n ICompElement.prototype.getElements = function () {\n return this.elements;\n };\n\n ICompElement.prototype.destroyElements = function () {\n var i;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i]) {\n this.elements[i].destroy();\n }\n }\n };\n\n ICompElement.prototype.destroy = function () {\n this.destroyElements();\n this.destroyBaseElement();\n };\n\n function SVGCompElement(data, globalData, comp) {\n this.layers = data.layers;\n this.supports3d = true;\n this.completeLayers = false;\n this.pendingElements = [];\n this.elements = this.layers ? createSizedArray(this.layers.length) : [];\n this.initElement(data, globalData, comp);\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n }\n\n extendPrototype([SVGRendererBase, ICompElement, SVGBaseElement], SVGCompElement);\n\n SVGCompElement.prototype.createComp = function (data) {\n return new SVGCompElement(data, this.globalData, this);\n };\n\n function SVGRenderer(animationItem, config) {\n this.animationItem = animationItem;\n this.layers = null;\n this.renderedFrame = -1;\n this.svgElement = createNS('svg');\n var ariaLabel = '';\n\n if (config && config.title) {\n var titleElement = createNS('title');\n var titleId = createElementID();\n titleElement.setAttribute('id', titleId);\n titleElement.textContent = config.title;\n this.svgElement.appendChild(titleElement);\n ariaLabel += titleId;\n }\n\n if (config && config.description) {\n var descElement = createNS('desc');\n var descId = createElementID();\n descElement.setAttribute('id', descId);\n descElement.textContent = config.description;\n this.svgElement.appendChild(descElement);\n ariaLabel += ' ' + descId;\n }\n\n if (ariaLabel) {\n this.svgElement.setAttribute('aria-labelledby', ariaLabel);\n }\n\n var defs = createNS('defs');\n this.svgElement.appendChild(defs);\n var maskElement = createNS('g');\n this.svgElement.appendChild(maskElement);\n this.layerElement = maskElement;\n this.renderConfig = {\n preserveAspectRatio: config && config.preserveAspectRatio || 'xMidYMid meet',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n contentVisibility: config && config.contentVisibility || 'visible',\n progressiveLoad: config && config.progressiveLoad || false,\n hideOnTransparent: !(config && config.hideOnTransparent === false),\n viewBoxOnly: config && config.viewBoxOnly || false,\n viewBoxSize: config && config.viewBoxSize || false,\n className: config && config.className || '',\n id: config && config.id || '',\n focusable: config && config.focusable,\n filterSize: {\n width: config && config.filterSize && config.filterSize.width || '100%',\n height: config && config.filterSize && config.filterSize.height || '100%',\n x: config && config.filterSize && config.filterSize.x || '0%',\n y: config && config.filterSize && config.filterSize.y || '0%'\n },\n width: config && config.width,\n height: config && config.height\n };\n this.globalData = {\n _mdf: false,\n frameNum: -1,\n defs: defs,\n renderConfig: this.renderConfig\n };\n this.elements = [];\n this.pendingElements = [];\n this.destroyed = false;\n this.rendererType = 'svg';\n }\n\n extendPrototype([SVGRendererBase], SVGRenderer);\n\n SVGRenderer.prototype.createComp = function (data) {\n return new SVGCompElement(data, this.globalData, this);\n };\n\n function CVContextData() {\n this.saved = [];\n this.cArrPos = 0;\n this.cTr = new Matrix();\n this.cO = 1;\n var i;\n var len = 15;\n this.savedOp = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n this.saved[i] = createTypedArray('float32', 16);\n }\n\n this._length = len;\n }\n\n CVContextData.prototype.duplicate = function () {\n var newLength = this._length * 2;\n var currentSavedOp = this.savedOp;\n this.savedOp = createTypedArray('float32', newLength);\n this.savedOp.set(currentSavedOp);\n var i = 0;\n\n for (i = this._length; i < newLength; i += 1) {\n this.saved[i] = createTypedArray('float32', 16);\n }\n\n this._length = newLength;\n };\n\n CVContextData.prototype.reset = function () {\n this.cArrPos = 0;\n this.cTr.reset();\n this.cO = 1;\n };\n\n function ShapeTransformManager() {\n this.sequences = {};\n this.sequenceList = [];\n this.transform_key_count = 0;\n }\n\n ShapeTransformManager.prototype = {\n addTransformSequence: function addTransformSequence(transforms) {\n var i;\n var len = transforms.length;\n var key = '_';\n\n for (i = 0; i < len; i += 1) {\n key += transforms[i].transform.key + '_';\n }\n\n var sequence = this.sequences[key];\n\n if (!sequence) {\n sequence = {\n transforms: [].concat(transforms),\n finalTransform: new Matrix(),\n _mdf: false\n };\n this.sequences[key] = sequence;\n this.sequenceList.push(sequence);\n }\n\n return sequence;\n },\n processSequence: function processSequence(sequence, isFirstFrame) {\n var i = 0;\n var len = sequence.transforms.length;\n var _mdf = isFirstFrame;\n\n while (i < len && !isFirstFrame) {\n if (sequence.transforms[i].transform.mProps._mdf) {\n _mdf = true;\n break;\n }\n\n i += 1;\n }\n\n if (_mdf) {\n var props;\n sequence.finalTransform.reset();\n\n for (i = len - 1; i >= 0; i -= 1) {\n props = sequence.transforms[i].transform.mProps.v.props;\n sequence.finalTransform.transform(props[0], props[1], props[2], props[3], props[4], props[5], props[6], props[7], props[8], props[9], props[10], props[11], props[12], props[13], props[14], props[15]);\n }\n }\n\n sequence._mdf = _mdf;\n },\n processSequences: function processSequences(isFirstFrame) {\n var i;\n var len = this.sequenceList.length;\n\n for (i = 0; i < len; i += 1) {\n this.processSequence(this.sequenceList[i], isFirstFrame);\n }\n },\n getNewKey: function getNewKey() {\n this.transform_key_count += 1;\n return '_' + this.transform_key_count;\n }\n };\n\n function CVEffects() {}\n\n CVEffects.prototype.renderFrame = function () {};\n\n function CVMaskElement(data, element) {\n this.data = data;\n this.element = element;\n this.masksProperties = this.data.masksProperties || [];\n this.viewData = createSizedArray(this.masksProperties.length);\n var i;\n var len = this.masksProperties.length;\n var hasMasks = false;\n\n for (i = 0; i < len; i += 1) {\n if (this.masksProperties[i].mode !== 'n') {\n hasMasks = true;\n }\n\n this.viewData[i] = ShapePropertyFactory.getShapeProp(this.element, this.masksProperties[i], 3);\n }\n\n this.hasMasks = hasMasks;\n\n if (hasMasks) {\n this.element.addRenderableComponent(this);\n }\n }\n\n CVMaskElement.prototype.renderFrame = function () {\n if (!this.hasMasks) {\n return;\n }\n\n var transform = this.element.finalTransform.mat;\n var ctx = this.element.canvasContext;\n var i;\n var len = this.masksProperties.length;\n var pt;\n var pts;\n var data;\n ctx.beginPath();\n\n for (i = 0; i < len; i += 1) {\n if (this.masksProperties[i].mode !== 'n') {\n if (this.masksProperties[i].inv) {\n ctx.moveTo(0, 0);\n ctx.lineTo(this.element.globalData.compSize.w, 0);\n ctx.lineTo(this.element.globalData.compSize.w, this.element.globalData.compSize.h);\n ctx.lineTo(0, this.element.globalData.compSize.h);\n ctx.lineTo(0, 0);\n }\n\n data = this.viewData[i].v;\n pt = transform.applyToPointArray(data.v[0][0], data.v[0][1], 0);\n ctx.moveTo(pt[0], pt[1]);\n var j;\n var jLen = data._length;\n\n for (j = 1; j < jLen; j += 1) {\n pts = transform.applyToTriplePoints(data.o[j - 1], data.i[j], data.v[j]);\n ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\n }\n\n pts = transform.applyToTriplePoints(data.o[j - 1], data.i[0], data.v[0]);\n ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\n }\n }\n\n this.element.globalData.renderer.save(true);\n ctx.clip();\n };\n\n CVMaskElement.prototype.getMaskProperty = MaskElement.prototype.getMaskProperty;\n\n CVMaskElement.prototype.destroy = function () {\n this.element = null;\n };\n\n function CVBaseElement() {}\n\n CVBaseElement.prototype = {\n createElements: function createElements() {},\n initRendererElement: function initRendererElement() {},\n createContainerElements: function createContainerElements() {\n this.canvasContext = this.globalData.canvasContext;\n this.renderableEffectsManager = new CVEffects(this);\n },\n createContent: function createContent() {},\n setBlendMode: function setBlendMode() {\n var globalData = this.globalData;\n\n if (globalData.blendMode !== this.data.bm) {\n globalData.blendMode = this.data.bm;\n var blendModeValue = getBlendMode(this.data.bm);\n globalData.canvasContext.globalCompositeOperation = blendModeValue;\n }\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new CVMaskElement(this.data, this);\n },\n hideElement: function hideElement() {\n if (!this.hidden && (!this.isInRange || this.isTransparent)) {\n this.hidden = true;\n }\n },\n showElement: function showElement() {\n if (this.isInRange && !this.isTransparent) {\n this.hidden = false;\n this._isFirstFrame = true;\n this.maskManager._isFirstFrame = true;\n }\n },\n renderFrame: function renderFrame() {\n if (this.hidden || this.data.hd) {\n return;\n }\n\n this.renderTransform();\n this.renderRenderable();\n this.setBlendMode();\n var forceRealStack = this.data.ty === 0;\n this.globalData.renderer.save(forceRealStack);\n this.globalData.renderer.ctxTransform(this.finalTransform.mat.props);\n this.globalData.renderer.ctxOpacity(this.finalTransform.mProp.o.v);\n this.renderInnerContent();\n this.globalData.renderer.restore(forceRealStack);\n\n if (this.maskManager.hasMasks) {\n this.globalData.renderer.restore(true);\n }\n\n if (this._isFirstFrame) {\n this._isFirstFrame = false;\n }\n },\n destroy: function destroy() {\n this.canvasContext = null;\n this.data = null;\n this.globalData = null;\n this.maskManager.destroy();\n },\n mHelper: new Matrix()\n };\n CVBaseElement.prototype.hide = CVBaseElement.prototype.hideElement;\n CVBaseElement.prototype.show = CVBaseElement.prototype.showElement;\n\n function CVShapeData(element, data, styles, transformsManager) {\n this.styledShapes = [];\n this.tr = [0, 0, 0, 0, 0, 0];\n var ty = 4;\n\n if (data.ty === 'rc') {\n ty = 5;\n } else if (data.ty === 'el') {\n ty = 6;\n } else if (data.ty === 'sr') {\n ty = 7;\n }\n\n this.sh = ShapePropertyFactory.getShapeProp(element, data, ty, element);\n var i;\n var len = styles.length;\n var styledShape;\n\n for (i = 0; i < len; i += 1) {\n if (!styles[i].closed) {\n styledShape = {\n transforms: transformsManager.addTransformSequence(styles[i].transforms),\n trNodes: []\n };\n this.styledShapes.push(styledShape);\n styles[i].elements.push(styledShape);\n }\n }\n }\n\n CVShapeData.prototype.setAsAnimated = SVGShapeData.prototype.setAsAnimated;\n\n function CVShapeElement(data, globalData, comp) {\n this.shapes = [];\n this.shapesData = data.shapes;\n this.stylesList = [];\n this.itemsData = [];\n this.prevViewData = [];\n this.shapeModifiers = [];\n this.processedElements = [];\n this.transformsManager = new ShapeTransformManager();\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, CVBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableElement], CVShapeElement);\n CVShapeElement.prototype.initElement = RenderableDOMElement.prototype.initElement;\n CVShapeElement.prototype.transformHelper = {\n opacity: 1,\n _opMdf: false\n };\n CVShapeElement.prototype.dashResetter = [];\n\n CVShapeElement.prototype.createContent = function () {\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, true, []);\n };\n\n CVShapeElement.prototype.createStyleElement = function (data, transforms) {\n var styleElem = {\n data: data,\n type: data.ty,\n preTransforms: this.transformsManager.addTransformSequence(transforms),\n transforms: [],\n elements: [],\n closed: data.hd === true\n };\n var elementData = {};\n\n if (data.ty === 'fl' || data.ty === 'st') {\n elementData.c = PropertyFactory.getProp(this, data.c, 1, 255, this);\n\n if (!elementData.c.k) {\n styleElem.co = 'rgb(' + bmFloor(elementData.c.v[0]) + ',' + bmFloor(elementData.c.v[1]) + ',' + bmFloor(elementData.c.v[2]) + ')';\n }\n } else if (data.ty === 'gf' || data.ty === 'gs') {\n elementData.s = PropertyFactory.getProp(this, data.s, 1, null, this);\n elementData.e = PropertyFactory.getProp(this, data.e, 1, null, this);\n elementData.h = PropertyFactory.getProp(this, data.h || {\n k: 0\n }, 0, 0.01, this);\n elementData.a = PropertyFactory.getProp(this, data.a || {\n k: 0\n }, 0, degToRads, this);\n elementData.g = new GradientProperty(this, data.g, this);\n }\n\n elementData.o = PropertyFactory.getProp(this, data.o, 0, 0.01, this);\n\n if (data.ty === 'st' || data.ty === 'gs') {\n styleElem.lc = lineCapEnum[data.lc || 2];\n styleElem.lj = lineJoinEnum[data.lj || 2];\n\n if (data.lj == 1) {\n // eslint-disable-line eqeqeq\n styleElem.ml = data.ml;\n }\n\n elementData.w = PropertyFactory.getProp(this, data.w, 0, null, this);\n\n if (!elementData.w.k) {\n styleElem.wi = elementData.w.v;\n }\n\n if (data.d) {\n var d = new DashProperty(this, data.d, 'canvas', this);\n elementData.d = d;\n\n if (!elementData.d.k) {\n styleElem.da = elementData.d.dashArray;\n styleElem[\"do\"] = elementData.d.dashoffset[0];\n }\n }\n } else {\n styleElem.r = data.r === 2 ? 'evenodd' : 'nonzero';\n }\n\n this.stylesList.push(styleElem);\n elementData.style = styleElem;\n return elementData;\n };\n\n CVShapeElement.prototype.createGroupElement = function () {\n var elementData = {\n it: [],\n prevViewData: []\n };\n return elementData;\n };\n\n CVShapeElement.prototype.createTransformElement = function (data) {\n var elementData = {\n transform: {\n opacity: 1,\n _opMdf: false,\n key: this.transformsManager.getNewKey(),\n op: PropertyFactory.getProp(this, data.o, 0, 0.01, this),\n mProps: TransformPropertyFactory.getTransformProperty(this, data, this)\n }\n };\n return elementData;\n };\n\n CVShapeElement.prototype.createShapeElement = function (data) {\n var elementData = new CVShapeData(this, data, this.stylesList, this.transformsManager);\n this.shapes.push(elementData);\n this.addShapeToModifiers(elementData);\n return elementData;\n };\n\n CVShapeElement.prototype.reloadShapes = function () {\n this._isFirstFrame = true;\n var i;\n var len = this.itemsData.length;\n\n for (i = 0; i < len; i += 1) {\n this.prevViewData[i] = this.itemsData[i];\n }\n\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, true, []);\n len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n this.dynamicProperties[i].getValue();\n }\n\n this.renderModifiers();\n this.transformsManager.processSequences(this._isFirstFrame);\n };\n\n CVShapeElement.prototype.addTransformToStyleList = function (transform) {\n var i;\n var len = this.stylesList.length;\n\n for (i = 0; i < len; i += 1) {\n if (!this.stylesList[i].closed) {\n this.stylesList[i].transforms.push(transform);\n }\n }\n };\n\n CVShapeElement.prototype.removeTransformFromStyleList = function () {\n var i;\n var len = this.stylesList.length;\n\n for (i = 0; i < len; i += 1) {\n if (!this.stylesList[i].closed) {\n this.stylesList[i].transforms.pop();\n }\n }\n };\n\n CVShapeElement.prototype.closeStyles = function (styles) {\n var i;\n var len = styles.length;\n\n for (i = 0; i < len; i += 1) {\n styles[i].closed = true;\n }\n };\n\n CVShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, shouldRender, transforms) {\n var i;\n var len = arr.length - 1;\n var j;\n var jLen;\n var ownStyles = [];\n var ownModifiers = [];\n var processedPos;\n var modifier;\n var currentTransform;\n var ownTransforms = [].concat(transforms);\n\n for (i = len; i >= 0; i -= 1) {\n processedPos = this.searchProcessedElement(arr[i]);\n\n if (!processedPos) {\n arr[i]._shouldRender = shouldRender;\n } else {\n itemsData[i] = prevViewData[processedPos - 1];\n }\n\n if (arr[i].ty === 'fl' || arr[i].ty === 'st' || arr[i].ty === 'gf' || arr[i].ty === 'gs') {\n if (!processedPos) {\n itemsData[i] = this.createStyleElement(arr[i], ownTransforms);\n } else {\n itemsData[i].style.closed = false;\n }\n\n ownStyles.push(itemsData[i].style);\n } else if (arr[i].ty === 'gr') {\n if (!processedPos) {\n itemsData[i] = this.createGroupElement(arr[i]);\n } else {\n jLen = itemsData[i].it.length;\n\n for (j = 0; j < jLen; j += 1) {\n itemsData[i].prevViewData[j] = itemsData[i].it[j];\n }\n }\n\n this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, shouldRender, ownTransforms);\n } else if (arr[i].ty === 'tr') {\n if (!processedPos) {\n currentTransform = this.createTransformElement(arr[i]);\n itemsData[i] = currentTransform;\n }\n\n ownTransforms.push(itemsData[i]);\n this.addTransformToStyleList(itemsData[i]);\n } else if (arr[i].ty === 'sh' || arr[i].ty === 'rc' || arr[i].ty === 'el' || arr[i].ty === 'sr') {\n if (!processedPos) {\n itemsData[i] = this.createShapeElement(arr[i]);\n }\n } else if (arr[i].ty === 'tm' || arr[i].ty === 'rd' || arr[i].ty === 'pb') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n modifier.init(this, arr[i]);\n itemsData[i] = modifier;\n this.shapeModifiers.push(modifier);\n } else {\n modifier = itemsData[i];\n modifier.closed = false;\n }\n\n ownModifiers.push(modifier);\n } else if (arr[i].ty === 'rp') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n itemsData[i] = modifier;\n modifier.init(this, arr, i, itemsData);\n this.shapeModifiers.push(modifier);\n shouldRender = false;\n } else {\n modifier = itemsData[i];\n modifier.closed = true;\n }\n\n ownModifiers.push(modifier);\n }\n\n this.addProcessedElement(arr[i], i + 1);\n }\n\n this.removeTransformFromStyleList();\n this.closeStyles(ownStyles);\n len = ownModifiers.length;\n\n for (i = 0; i < len; i += 1) {\n ownModifiers[i].closed = true;\n }\n };\n\n CVShapeElement.prototype.renderInnerContent = function () {\n this.transformHelper.opacity = 1;\n this.transformHelper._opMdf = false;\n this.renderModifiers();\n this.transformsManager.processSequences(this._isFirstFrame);\n this.renderShape(this.transformHelper, this.shapesData, this.itemsData, true);\n };\n\n CVShapeElement.prototype.renderShapeTransform = function (parentTransform, groupTransform) {\n if (parentTransform._opMdf || groupTransform.op._mdf || this._isFirstFrame) {\n groupTransform.opacity = parentTransform.opacity;\n groupTransform.opacity *= groupTransform.op.v;\n groupTransform._opMdf = true;\n }\n };\n\n CVShapeElement.prototype.drawLayer = function () {\n var i;\n var len = this.stylesList.length;\n var j;\n var jLen;\n var k;\n var kLen;\n var elems;\n var nodes;\n var renderer = this.globalData.renderer;\n var ctx = this.globalData.canvasContext;\n var type;\n var currentStyle;\n\n for (i = 0; i < len; i += 1) {\n currentStyle = this.stylesList[i];\n type = currentStyle.type; // Skipping style when\n // Stroke width equals 0\n // style should not be rendered (extra unused repeaters)\n // current opacity equals 0\n // global opacity equals 0\n\n if (!((type === 'st' || type === 'gs') && currentStyle.wi === 0 || !currentStyle.data._shouldRender || currentStyle.coOp === 0 || this.globalData.currentGlobalAlpha === 0)) {\n renderer.save();\n elems = currentStyle.elements;\n\n if (type === 'st' || type === 'gs') {\n ctx.strokeStyle = type === 'st' ? currentStyle.co : currentStyle.grd;\n ctx.lineWidth = currentStyle.wi;\n ctx.lineCap = currentStyle.lc;\n ctx.lineJoin = currentStyle.lj;\n ctx.miterLimit = currentStyle.ml || 0;\n } else {\n ctx.fillStyle = type === 'fl' ? currentStyle.co : currentStyle.grd;\n }\n\n renderer.ctxOpacity(currentStyle.coOp);\n\n if (type !== 'st' && type !== 'gs') {\n ctx.beginPath();\n }\n\n renderer.ctxTransform(currentStyle.preTransforms.finalTransform.props);\n jLen = elems.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (type === 'st' || type === 'gs') {\n ctx.beginPath();\n\n if (currentStyle.da) {\n ctx.setLineDash(currentStyle.da);\n ctx.lineDashOffset = currentStyle[\"do\"];\n }\n }\n\n nodes = elems[j].trNodes;\n kLen = nodes.length;\n\n for (k = 0; k < kLen; k += 1) {\n if (nodes[k].t === 'm') {\n ctx.moveTo(nodes[k].p[0], nodes[k].p[1]);\n } else if (nodes[k].t === 'c') {\n ctx.bezierCurveTo(nodes[k].pts[0], nodes[k].pts[1], nodes[k].pts[2], nodes[k].pts[3], nodes[k].pts[4], nodes[k].pts[5]);\n } else {\n ctx.closePath();\n }\n }\n\n if (type === 'st' || type === 'gs') {\n ctx.stroke();\n\n if (currentStyle.da) {\n ctx.setLineDash(this.dashResetter);\n }\n }\n }\n\n if (type !== 'st' && type !== 'gs') {\n ctx.fill(currentStyle.r);\n }\n\n renderer.restore();\n }\n }\n };\n\n CVShapeElement.prototype.renderShape = function (parentTransform, items, data, isMain) {\n var i;\n var len = items.length - 1;\n var groupTransform;\n groupTransform = parentTransform;\n\n for (i = len; i >= 0; i -= 1) {\n if (items[i].ty === 'tr') {\n groupTransform = data[i].transform;\n this.renderShapeTransform(parentTransform, groupTransform);\n } else if (items[i].ty === 'sh' || items[i].ty === 'el' || items[i].ty === 'rc' || items[i].ty === 'sr') {\n this.renderPath(items[i], data[i]);\n } else if (items[i].ty === 'fl') {\n this.renderFill(items[i], data[i], groupTransform);\n } else if (items[i].ty === 'st') {\n this.renderStroke(items[i], data[i], groupTransform);\n } else if (items[i].ty === 'gf' || items[i].ty === 'gs') {\n this.renderGradientFill(items[i], data[i], groupTransform);\n } else if (items[i].ty === 'gr') {\n this.renderShape(groupTransform, items[i].it, data[i].it);\n } else if (items[i].ty === 'tm') {//\n }\n }\n\n if (isMain) {\n this.drawLayer();\n }\n };\n\n CVShapeElement.prototype.renderStyledShape = function (styledShape, shape) {\n if (this._isFirstFrame || shape._mdf || styledShape.transforms._mdf) {\n var shapeNodes = styledShape.trNodes;\n var paths = shape.paths;\n var i;\n var len;\n var j;\n var jLen = paths._length;\n shapeNodes.length = 0;\n var groupTransformMat = styledShape.transforms.finalTransform;\n\n for (j = 0; j < jLen; j += 1) {\n var pathNodes = paths.shapes[j];\n\n if (pathNodes && pathNodes.v) {\n len = pathNodes._length;\n\n for (i = 1; i < len; i += 1) {\n if (i === 1) {\n shapeNodes.push({\n t: 'm',\n p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\n });\n }\n\n shapeNodes.push({\n t: 'c',\n pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[i], pathNodes.v[i])\n });\n }\n\n if (len === 1) {\n shapeNodes.push({\n t: 'm',\n p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\n });\n }\n\n if (pathNodes.c && len) {\n shapeNodes.push({\n t: 'c',\n pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[0], pathNodes.v[0])\n });\n shapeNodes.push({\n t: 'z'\n });\n }\n }\n }\n\n styledShape.trNodes = shapeNodes;\n }\n };\n\n CVShapeElement.prototype.renderPath = function (pathData, itemData) {\n if (pathData.hd !== true && pathData._shouldRender) {\n var i;\n var len = itemData.styledShapes.length;\n\n for (i = 0; i < len; i += 1) {\n this.renderStyledShape(itemData.styledShapes[i], itemData.sh);\n }\n }\n };\n\n CVShapeElement.prototype.renderFill = function (styleData, itemData, groupTransform) {\n var styleElem = itemData.style;\n\n if (itemData.c._mdf || this._isFirstFrame) {\n styleElem.co = 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')';\n }\n\n if (itemData.o._mdf || groupTransform._opMdf || this._isFirstFrame) {\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\n }\n };\n\n CVShapeElement.prototype.renderGradientFill = function (styleData, itemData, groupTransform) {\n var styleElem = itemData.style;\n var grd;\n\n if (!styleElem.grd || itemData.g._mdf || itemData.s._mdf || itemData.e._mdf || styleData.t !== 1 && (itemData.h._mdf || itemData.a._mdf)) {\n var ctx = this.globalData.canvasContext;\n var pt1 = itemData.s.v;\n var pt2 = itemData.e.v;\n\n if (styleData.t === 1) {\n grd = ctx.createLinearGradient(pt1[0], pt1[1], pt2[0], pt2[1]);\n } else {\n var rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n var percent = itemData.h.v;\n\n if (percent >= 1) {\n percent = 0.99;\n } else if (percent <= -1) {\n percent = -0.99;\n }\n\n var dist = rad * percent;\n var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n grd = ctx.createRadialGradient(x, y, 0, pt1[0], pt1[1], rad);\n }\n\n var i;\n var len = styleData.g.p;\n var cValues = itemData.g.c;\n var opacity = 1;\n\n for (i = 0; i < len; i += 1) {\n if (itemData.g._hasOpacity && itemData.g._collapsable) {\n opacity = itemData.g.o[i * 2 + 1];\n }\n\n grd.addColorStop(cValues[i * 4] / 100, 'rgba(' + cValues[i * 4 + 1] + ',' + cValues[i * 4 + 2] + ',' + cValues[i * 4 + 3] + ',' + opacity + ')');\n }\n\n styleElem.grd = grd;\n }\n\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\n };\n\n CVShapeElement.prototype.renderStroke = function (styleData, itemData, groupTransform) {\n var styleElem = itemData.style;\n var d = itemData.d;\n\n if (d && (d._mdf || this._isFirstFrame)) {\n styleElem.da = d.dashArray;\n styleElem[\"do\"] = d.dashoffset[0];\n }\n\n if (itemData.c._mdf || this._isFirstFrame) {\n styleElem.co = 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')';\n }\n\n if (itemData.o._mdf || groupTransform._opMdf || this._isFirstFrame) {\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\n }\n\n if (itemData.w._mdf || this._isFirstFrame) {\n styleElem.wi = itemData.w.v;\n }\n };\n\n CVShapeElement.prototype.destroy = function () {\n this.shapesData = null;\n this.globalData = null;\n this.canvasContext = null;\n this.stylesList.length = 0;\n this.itemsData.length = 0;\n };\n\n function CVTextElement(data, globalData, comp) {\n this.textSpans = [];\n this.yOffset = 0;\n this.fillColorAnim = false;\n this.strokeColorAnim = false;\n this.strokeWidthAnim = false;\n this.stroke = false;\n this.fill = false;\n this.justifyOffset = 0;\n this.currentRender = null;\n this.renderType = 'canvas';\n this.values = {\n fill: 'rgba(0,0,0,0)',\n stroke: 'rgba(0,0,0,0)',\n sWidth: 0,\n fValue: ''\n };\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement, ITextElement], CVTextElement);\n CVTextElement.prototype.tHelper = createTag('canvas').getContext('2d');\n\n CVTextElement.prototype.buildNewText = function () {\n var documentData = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n var hasFill = false;\n\n if (documentData.fc) {\n hasFill = true;\n this.values.fill = this.buildColor(documentData.fc);\n } else {\n this.values.fill = 'rgba(0,0,0,0)';\n }\n\n this.fill = hasFill;\n var hasStroke = false;\n\n if (documentData.sc) {\n hasStroke = true;\n this.values.stroke = this.buildColor(documentData.sc);\n this.values.sWidth = documentData.sw;\n }\n\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\n var i;\n var len;\n var letters = documentData.l;\n var matrixHelper = this.mHelper;\n this.stroke = hasStroke;\n this.values.fValue = documentData.finalSize + 'px ' + this.globalData.fontManager.getFontByName(documentData.f).fFamily;\n len = documentData.finalText.length; // this.tHelper.font = this.values.fValue;\n\n var charData;\n var shapeData;\n var k;\n var kLen;\n var shapes;\n var j;\n var jLen;\n var pathNodes;\n var commands;\n var pathArr;\n var singleShape = this.data.singleShape;\n var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\n var xPos = 0;\n var yPos = 0;\n var firstLine = true;\n var cnt = 0;\n\n for (i = 0; i < len; i += 1) {\n charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\n shapeData = charData && charData.data || {};\n matrixHelper.reset();\n\n if (singleShape && letters[i].n) {\n xPos = -trackingOffset;\n yPos += documentData.yOffset;\n yPos += firstLine ? 1 : 0;\n firstLine = false;\n }\n\n shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\n jLen = shapes.length;\n matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n\n if (singleShape) {\n this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n }\n\n commands = createSizedArray(jLen - 1);\n var commandsCounter = 0;\n\n for (j = 0; j < jLen; j += 1) {\n if (shapes[j].ty === 'sh') {\n kLen = shapes[j].ks.k.i.length;\n pathNodes = shapes[j].ks.k;\n pathArr = [];\n\n for (k = 1; k < kLen; k += 1) {\n if (k === 1) {\n pathArr.push(matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0));\n }\n\n pathArr.push(matrixHelper.applyToX(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToY(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToX(pathNodes.i[k][0], pathNodes.i[k][1], 0), matrixHelper.applyToY(pathNodes.i[k][0], pathNodes.i[k][1], 0), matrixHelper.applyToX(pathNodes.v[k][0], pathNodes.v[k][1], 0), matrixHelper.applyToY(pathNodes.v[k][0], pathNodes.v[k][1], 0));\n }\n\n pathArr.push(matrixHelper.applyToX(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToY(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToX(pathNodes.i[0][0], pathNodes.i[0][1], 0), matrixHelper.applyToY(pathNodes.i[0][0], pathNodes.i[0][1], 0), matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0));\n commands[commandsCounter] = pathArr;\n commandsCounter += 1;\n }\n }\n\n if (singleShape) {\n xPos += letters[i].l;\n xPos += trackingOffset;\n }\n\n if (this.textSpans[cnt]) {\n this.textSpans[cnt].elem = commands;\n } else {\n this.textSpans[cnt] = {\n elem: commands\n };\n }\n\n cnt += 1;\n }\n };\n\n CVTextElement.prototype.renderInnerContent = function () {\n var ctx = this.canvasContext;\n ctx.font = this.values.fValue;\n ctx.lineCap = 'butt';\n ctx.lineJoin = 'miter';\n ctx.miterLimit = 4;\n\n if (!this.data.singleShape) {\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n }\n\n var i;\n var len;\n var j;\n var jLen;\n var k;\n var kLen;\n var renderedLetters = this.textAnimator.renderedLetters;\n var letters = this.textProperty.currentData.l;\n len = letters.length;\n var renderedLetter;\n var lastFill = null;\n var lastStroke = null;\n var lastStrokeW = null;\n var commands;\n var pathArr;\n\n for (i = 0; i < len; i += 1) {\n if (!letters[i].n) {\n renderedLetter = renderedLetters[i];\n\n if (renderedLetter) {\n this.globalData.renderer.save();\n this.globalData.renderer.ctxTransform(renderedLetter.p);\n this.globalData.renderer.ctxOpacity(renderedLetter.o);\n }\n\n if (this.fill) {\n if (renderedLetter && renderedLetter.fc) {\n if (lastFill !== renderedLetter.fc) {\n lastFill = renderedLetter.fc;\n ctx.fillStyle = renderedLetter.fc;\n }\n } else if (lastFill !== this.values.fill) {\n lastFill = this.values.fill;\n ctx.fillStyle = this.values.fill;\n }\n\n commands = this.textSpans[i].elem;\n jLen = commands.length;\n this.globalData.canvasContext.beginPath();\n\n for (j = 0; j < jLen; j += 1) {\n pathArr = commands[j];\n kLen = pathArr.length;\n this.globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n for (k = 2; k < kLen; k += 6) {\n this.globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\n }\n }\n\n this.globalData.canvasContext.closePath();\n this.globalData.canvasContext.fill(); /// ctx.fillText(this.textSpans[i].val,0,0);\n }\n\n if (this.stroke) {\n if (renderedLetter && renderedLetter.sw) {\n if (lastStrokeW !== renderedLetter.sw) {\n lastStrokeW = renderedLetter.sw;\n ctx.lineWidth = renderedLetter.sw;\n }\n } else if (lastStrokeW !== this.values.sWidth) {\n lastStrokeW = this.values.sWidth;\n ctx.lineWidth = this.values.sWidth;\n }\n\n if (renderedLetter && renderedLetter.sc) {\n if (lastStroke !== renderedLetter.sc) {\n lastStroke = renderedLetter.sc;\n ctx.strokeStyle = renderedLetter.sc;\n }\n } else if (lastStroke !== this.values.stroke) {\n lastStroke = this.values.stroke;\n ctx.strokeStyle = this.values.stroke;\n }\n\n commands = this.textSpans[i].elem;\n jLen = commands.length;\n this.globalData.canvasContext.beginPath();\n\n for (j = 0; j < jLen; j += 1) {\n pathArr = commands[j];\n kLen = pathArr.length;\n this.globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n for (k = 2; k < kLen; k += 6) {\n this.globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\n }\n }\n\n this.globalData.canvasContext.closePath();\n this.globalData.canvasContext.stroke(); /// ctx.strokeText(letters[i].val,0,0);\n }\n\n if (renderedLetter) {\n this.globalData.renderer.restore();\n }\n }\n }\n };\n\n function CVImageElement(data, globalData, comp) {\n this.assetData = globalData.getAssetData(data.refId);\n this.img = globalData.imageLoader.getAsset(this.assetData);\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVImageElement);\n CVImageElement.prototype.initElement = SVGShapeElement.prototype.initElement;\n CVImageElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\n\n CVImageElement.prototype.createContent = function () {\n if (this.img.width && (this.assetData.w !== this.img.width || this.assetData.h !== this.img.height)) {\n var canvas = createTag('canvas');\n canvas.width = this.assetData.w;\n canvas.height = this.assetData.h;\n var ctx = canvas.getContext('2d');\n var imgW = this.img.width;\n var imgH = this.img.height;\n var imgRel = imgW / imgH;\n var canvasRel = this.assetData.w / this.assetData.h;\n var widthCrop;\n var heightCrop;\n var par = this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio;\n\n if (imgRel > canvasRel && par === 'xMidYMid slice' || imgRel < canvasRel && par !== 'xMidYMid slice') {\n heightCrop = imgH;\n widthCrop = heightCrop * canvasRel;\n } else {\n widthCrop = imgW;\n heightCrop = widthCrop / canvasRel;\n }\n\n ctx.drawImage(this.img, (imgW - widthCrop) / 2, (imgH - heightCrop) / 2, widthCrop, heightCrop, 0, 0, this.assetData.w, this.assetData.h);\n this.img = canvas;\n }\n };\n\n CVImageElement.prototype.renderInnerContent = function () {\n this.canvasContext.drawImage(this.img, 0, 0);\n };\n\n CVImageElement.prototype.destroy = function () {\n this.img = null;\n };\n\n function CVSolidElement(data, globalData, comp) {\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVSolidElement);\n CVSolidElement.prototype.initElement = SVGShapeElement.prototype.initElement;\n CVSolidElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\n\n CVSolidElement.prototype.renderInnerContent = function () {\n var ctx = this.canvasContext;\n ctx.fillStyle = this.data.sc;\n ctx.fillRect(0, 0, this.data.sw, this.data.sh); //\n };\n\n function CanvasRendererBase(animationItem, config) {\n this.animationItem = animationItem;\n this.renderConfig = {\n clearCanvas: config && config.clearCanvas !== undefined ? config.clearCanvas : true,\n context: config && config.context || null,\n progressiveLoad: config && config.progressiveLoad || false,\n preserveAspectRatio: config && config.preserveAspectRatio || 'xMidYMid meet',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n contentVisibility: config && config.contentVisibility || 'visible',\n className: config && config.className || '',\n id: config && config.id || ''\n };\n this.renderConfig.dpr = config && config.dpr || 1;\n\n if (this.animationItem.wrapper) {\n this.renderConfig.dpr = config && config.dpr || window.devicePixelRatio || 1;\n }\n\n this.renderedFrame = -1;\n this.globalData = {\n frameNum: -1,\n _mdf: false,\n renderConfig: this.renderConfig,\n currentGlobalAlpha: -1\n };\n this.contextData = new CVContextData();\n this.elements = [];\n this.pendingElements = [];\n this.transformMat = new Matrix();\n this.completeLayers = false;\n this.rendererType = 'canvas';\n }\n\n extendPrototype([BaseRenderer], CanvasRendererBase);\n\n CanvasRendererBase.prototype.createShape = function (data) {\n return new CVShapeElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createText = function (data) {\n return new CVTextElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createImage = function (data) {\n return new CVImageElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createSolid = function (data) {\n return new CVSolidElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createNull = SVGRenderer.prototype.createNull;\n\n CanvasRendererBase.prototype.ctxTransform = function (props) {\n if (props[0] === 1 && props[1] === 0 && props[4] === 0 && props[5] === 1 && props[12] === 0 && props[13] === 0) {\n return;\n }\n\n if (!this.renderConfig.clearCanvas) {\n this.canvasContext.transform(props[0], props[1], props[4], props[5], props[12], props[13]);\n return;\n }\n\n this.transformMat.cloneFromProps(props);\n var cProps = this.contextData.cTr.props;\n this.transformMat.transform(cProps[0], cProps[1], cProps[2], cProps[3], cProps[4], cProps[5], cProps[6], cProps[7], cProps[8], cProps[9], cProps[10], cProps[11], cProps[12], cProps[13], cProps[14], cProps[15]); // this.contextData.cTr.transform(props[0],props[1],props[2],props[3],props[4],props[5],props[6],props[7],props[8],props[9],props[10],props[11],props[12],props[13],props[14],props[15]);\n\n this.contextData.cTr.cloneFromProps(this.transformMat.props);\n var trProps = this.contextData.cTr.props;\n this.canvasContext.setTransform(trProps[0], trProps[1], trProps[4], trProps[5], trProps[12], trProps[13]);\n };\n\n CanvasRendererBase.prototype.ctxOpacity = function (op) {\n /* if(op === 1){\r\n return;\r\n } */\n if (!this.renderConfig.clearCanvas) {\n this.canvasContext.globalAlpha *= op < 0 ? 0 : op;\n this.globalData.currentGlobalAlpha = this.contextData.cO;\n return;\n }\n\n this.contextData.cO *= op < 0 ? 0 : op;\n\n if (this.globalData.currentGlobalAlpha !== this.contextData.cO) {\n this.canvasContext.globalAlpha = this.contextData.cO;\n this.globalData.currentGlobalAlpha = this.contextData.cO;\n }\n };\n\n CanvasRendererBase.prototype.reset = function () {\n if (!this.renderConfig.clearCanvas) {\n this.canvasContext.restore();\n return;\n }\n\n this.contextData.reset();\n };\n\n CanvasRendererBase.prototype.save = function (actionFlag) {\n if (!this.renderConfig.clearCanvas) {\n this.canvasContext.save();\n return;\n }\n\n if (actionFlag) {\n this.canvasContext.save();\n }\n\n var props = this.contextData.cTr.props;\n\n if (this.contextData._length <= this.contextData.cArrPos) {\n this.contextData.duplicate();\n }\n\n var i;\n var arr = this.contextData.saved[this.contextData.cArrPos];\n\n for (i = 0; i < 16; i += 1) {\n arr[i] = props[i];\n }\n\n this.contextData.savedOp[this.contextData.cArrPos] = this.contextData.cO;\n this.contextData.cArrPos += 1;\n };\n\n CanvasRendererBase.prototype.restore = function (actionFlag) {\n if (!this.renderConfig.clearCanvas) {\n this.canvasContext.restore();\n return;\n }\n\n if (actionFlag) {\n this.canvasContext.restore();\n this.globalData.blendMode = 'source-over';\n }\n\n this.contextData.cArrPos -= 1;\n var popped = this.contextData.saved[this.contextData.cArrPos];\n var i;\n var arr = this.contextData.cTr.props;\n\n for (i = 0; i < 16; i += 1) {\n arr[i] = popped[i];\n }\n\n this.canvasContext.setTransform(popped[0], popped[1], popped[4], popped[5], popped[12], popped[13]);\n popped = this.contextData.savedOp[this.contextData.cArrPos];\n this.contextData.cO = popped;\n\n if (this.globalData.currentGlobalAlpha !== popped) {\n this.canvasContext.globalAlpha = popped;\n this.globalData.currentGlobalAlpha = popped;\n }\n };\n\n CanvasRendererBase.prototype.configAnimation = function (animData) {\n if (this.animationItem.wrapper) {\n this.animationItem.container = createTag('canvas');\n var containerStyle = this.animationItem.container.style;\n containerStyle.width = '100%';\n containerStyle.height = '100%';\n var origin = '0px 0px 0px';\n containerStyle.transformOrigin = origin;\n containerStyle.mozTransformOrigin = origin;\n containerStyle.webkitTransformOrigin = origin;\n containerStyle['-webkit-transform'] = origin;\n containerStyle.contentVisibility = this.renderConfig.contentVisibility;\n this.animationItem.wrapper.appendChild(this.animationItem.container);\n this.canvasContext = this.animationItem.container.getContext('2d');\n\n if (this.renderConfig.className) {\n this.animationItem.container.setAttribute('class', this.renderConfig.className);\n }\n\n if (this.renderConfig.id) {\n this.animationItem.container.setAttribute('id', this.renderConfig.id);\n }\n } else {\n this.canvasContext = this.renderConfig.context;\n }\n\n this.data = animData;\n this.layers = animData.layers;\n this.transformCanvas = {\n w: animData.w,\n h: animData.h,\n sx: 0,\n sy: 0,\n tx: 0,\n ty: 0\n };\n this.setupGlobalData(animData, document.body);\n this.globalData.canvasContext = this.canvasContext;\n this.globalData.renderer = this;\n this.globalData.isDashed = false;\n this.globalData.progressiveLoad = this.renderConfig.progressiveLoad;\n this.globalData.transformCanvas = this.transformCanvas;\n this.elements = createSizedArray(animData.layers.length);\n this.updateContainerSize();\n };\n\n CanvasRendererBase.prototype.updateContainerSize = function () {\n this.reset();\n var elementWidth;\n var elementHeight;\n\n if (this.animationItem.wrapper && this.animationItem.container) {\n elementWidth = this.animationItem.wrapper.offsetWidth;\n elementHeight = this.animationItem.wrapper.offsetHeight;\n this.animationItem.container.setAttribute('width', elementWidth * this.renderConfig.dpr);\n this.animationItem.container.setAttribute('height', elementHeight * this.renderConfig.dpr);\n } else {\n elementWidth = this.canvasContext.canvas.width * this.renderConfig.dpr;\n elementHeight = this.canvasContext.canvas.height * this.renderConfig.dpr;\n }\n\n var elementRel;\n var animationRel;\n\n if (this.renderConfig.preserveAspectRatio.indexOf('meet') !== -1 || this.renderConfig.preserveAspectRatio.indexOf('slice') !== -1) {\n var par = this.renderConfig.preserveAspectRatio.split(' ');\n var fillType = par[1] || 'meet';\n var pos = par[0] || 'xMidYMid';\n var xPos = pos.substr(0, 4);\n var yPos = pos.substr(4);\n elementRel = elementWidth / elementHeight;\n animationRel = this.transformCanvas.w / this.transformCanvas.h;\n\n if (animationRel > elementRel && fillType === 'meet' || animationRel < elementRel && fillType === 'slice') {\n this.transformCanvas.sx = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\n this.transformCanvas.sy = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\n } else {\n this.transformCanvas.sx = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\n this.transformCanvas.sy = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\n }\n\n if (xPos === 'xMid' && (animationRel < elementRel && fillType === 'meet' || animationRel > elementRel && fillType === 'slice')) {\n this.transformCanvas.tx = (elementWidth - this.transformCanvas.w * (elementHeight / this.transformCanvas.h)) / 2 * this.renderConfig.dpr;\n } else if (xPos === 'xMax' && (animationRel < elementRel && fillType === 'meet' || animationRel > elementRel && fillType === 'slice')) {\n this.transformCanvas.tx = (elementWidth - this.transformCanvas.w * (elementHeight / this.transformCanvas.h)) * this.renderConfig.dpr;\n } else {\n this.transformCanvas.tx = 0;\n }\n\n if (yPos === 'YMid' && (animationRel > elementRel && fillType === 'meet' || animationRel < elementRel && fillType === 'slice')) {\n this.transformCanvas.ty = (elementHeight - this.transformCanvas.h * (elementWidth / this.transformCanvas.w)) / 2 * this.renderConfig.dpr;\n } else if (yPos === 'YMax' && (animationRel > elementRel && fillType === 'meet' || animationRel < elementRel && fillType === 'slice')) {\n this.transformCanvas.ty = (elementHeight - this.transformCanvas.h * (elementWidth / this.transformCanvas.w)) * this.renderConfig.dpr;\n } else {\n this.transformCanvas.ty = 0;\n }\n } else if (this.renderConfig.preserveAspectRatio === 'none') {\n this.transformCanvas.sx = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\n this.transformCanvas.sy = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\n this.transformCanvas.tx = 0;\n this.transformCanvas.ty = 0;\n } else {\n this.transformCanvas.sx = this.renderConfig.dpr;\n this.transformCanvas.sy = this.renderConfig.dpr;\n this.transformCanvas.tx = 0;\n this.transformCanvas.ty = 0;\n }\n\n this.transformCanvas.props = [this.transformCanvas.sx, 0, 0, 0, 0, this.transformCanvas.sy, 0, 0, 0, 0, 1, 0, this.transformCanvas.tx, this.transformCanvas.ty, 0, 1];\n /* var i, len = this.elements.length;\r\n for(i=0;i= 0; i -= 1) {\n if (this.elements[i]) {\n this.elements[i].destroy();\n }\n }\n\n this.elements.length = 0;\n this.globalData.canvasContext = null;\n this.animationItem.container = null;\n this.destroyed = true;\n };\n\n CanvasRendererBase.prototype.renderFrame = function (num, forceRender) {\n if (this.renderedFrame === num && this.renderConfig.clearCanvas === true && !forceRender || this.destroyed || num === -1) {\n return;\n }\n\n this.renderedFrame = num;\n this.globalData.frameNum = num - this.animationItem._isFirstFrame;\n this.globalData.frameId += 1;\n this.globalData._mdf = !this.renderConfig.clearCanvas || forceRender;\n this.globalData.projectInterface.currentFrame = num; // console.log('--------');\n // console.log('NEW: ',num);\n\n var i;\n var len = this.layers.length;\n\n if (!this.completeLayers) {\n this.checkLayers(num);\n }\n\n for (i = 0; i < len; i += 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].prepareFrame(num - this.layers[i].st);\n }\n }\n\n if (this.globalData._mdf) {\n if (this.renderConfig.clearCanvas === true) {\n this.canvasContext.clearRect(0, 0, this.transformCanvas.w, this.transformCanvas.h);\n } else {\n this.save();\n }\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n\n if (this.renderConfig.clearCanvas !== true) {\n this.restore();\n }\n }\n };\n\n CanvasRendererBase.prototype.buildItem = function (pos) {\n var elements = this.elements;\n\n if (elements[pos] || this.layers[pos].ty === 99) {\n return;\n }\n\n var element = this.createItem(this.layers[pos], this, this.globalData);\n elements[pos] = element;\n element.initExpressions();\n /* if(this.layers[pos].ty === 0){\r\n element.resize(this.globalData.transformCanvas);\r\n } */\n };\n\n CanvasRendererBase.prototype.checkPendingElements = function () {\n while (this.pendingElements.length) {\n var element = this.pendingElements.pop();\n element.checkParenting();\n }\n };\n\n CanvasRendererBase.prototype.hide = function () {\n this.animationItem.container.style.display = 'none';\n };\n\n CanvasRendererBase.prototype.show = function () {\n this.animationItem.container.style.display = 'block';\n };\n\n function CVCompElement(data, globalData, comp) {\n this.completeLayers = false;\n this.layers = data.layers;\n this.pendingElements = [];\n this.elements = createSizedArray(this.layers.length);\n this.initElement(data, globalData, comp);\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n }\n\n extendPrototype([CanvasRendererBase, ICompElement, CVBaseElement], CVCompElement);\n\n CVCompElement.prototype.renderInnerContent = function () {\n var ctx = this.canvasContext;\n ctx.beginPath();\n ctx.moveTo(0, 0);\n ctx.lineTo(this.data.w, 0);\n ctx.lineTo(this.data.w, this.data.h);\n ctx.lineTo(0, this.data.h);\n ctx.lineTo(0, 0);\n ctx.clip();\n var i;\n var len = this.layers.length;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n };\n\n CVCompElement.prototype.destroy = function () {\n var i;\n var len = this.layers.length;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.elements[i]) {\n this.elements[i].destroy();\n }\n }\n\n this.layers = null;\n this.elements = null;\n };\n\n CVCompElement.prototype.createComp = function (data) {\n return new CVCompElement(data, this.globalData, this);\n };\n\n function CanvasRenderer(animationItem, config) {\n this.animationItem = animationItem;\n this.renderConfig = {\n clearCanvas: config && config.clearCanvas !== undefined ? config.clearCanvas : true,\n context: config && config.context || null,\n progressiveLoad: config && config.progressiveLoad || false,\n preserveAspectRatio: config && config.preserveAspectRatio || 'xMidYMid meet',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n contentVisibility: config && config.contentVisibility || 'visible',\n className: config && config.className || '',\n id: config && config.id || ''\n };\n this.renderConfig.dpr = config && config.dpr || 1;\n\n if (this.animationItem.wrapper) {\n this.renderConfig.dpr = config && config.dpr || window.devicePixelRatio || 1;\n }\n\n this.renderedFrame = -1;\n this.globalData = {\n frameNum: -1,\n _mdf: false,\n renderConfig: this.renderConfig,\n currentGlobalAlpha: -1\n };\n this.contextData = new CVContextData();\n this.elements = [];\n this.pendingElements = [];\n this.transformMat = new Matrix();\n this.completeLayers = false;\n this.rendererType = 'canvas';\n }\n\n extendPrototype([CanvasRendererBase], CanvasRenderer);\n\n CanvasRenderer.prototype.createComp = function (data) {\n return new CVCompElement(data, this.globalData, this);\n };\n\n function HBaseElement() {}\n\n HBaseElement.prototype = {\n checkBlendMode: function checkBlendMode() {},\n initRendererElement: function initRendererElement() {\n this.baseElement = createTag(this.data.tg || 'div');\n\n if (this.data.hasMask) {\n this.svgElement = createNS('svg');\n this.layerElement = createNS('g');\n this.maskedElement = this.layerElement;\n this.svgElement.appendChild(this.layerElement);\n this.baseElement.appendChild(this.svgElement);\n } else {\n this.layerElement = this.baseElement;\n }\n\n styleDiv(this.baseElement);\n },\n createContainerElements: function createContainerElements() {\n this.renderableEffectsManager = new CVEffects(this);\n this.transformedElement = this.baseElement;\n this.maskedElement = this.layerElement;\n\n if (this.data.ln) {\n this.layerElement.setAttribute('id', this.data.ln);\n }\n\n if (this.data.cl) {\n this.layerElement.setAttribute('class', this.data.cl);\n }\n\n if (this.data.bm !== 0) {\n this.setBlendMode();\n }\n },\n renderElement: function renderElement() {\n var transformedElementStyle = this.transformedElement ? this.transformedElement.style : {};\n\n if (this.finalTransform._matMdf) {\n var matrixValue = this.finalTransform.mat.toCSS();\n transformedElementStyle.transform = matrixValue;\n transformedElementStyle.webkitTransform = matrixValue;\n }\n\n if (this.finalTransform._opMdf) {\n transformedElementStyle.opacity = this.finalTransform.mProp.o.v;\n }\n },\n renderFrame: function renderFrame() {\n // If it is exported as hidden (data.hd === true) no need to render\n // If it is not visible no need to render\n if (this.data.hd || this.hidden) {\n return;\n }\n\n this.renderTransform();\n this.renderRenderable();\n this.renderElement();\n this.renderInnerContent();\n\n if (this._isFirstFrame) {\n this._isFirstFrame = false;\n }\n },\n destroy: function destroy() {\n this.layerElement = null;\n this.transformedElement = null;\n\n if (this.matteElement) {\n this.matteElement = null;\n }\n\n if (this.maskManager) {\n this.maskManager.destroy();\n this.maskManager = null;\n }\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new MaskElement(this.data, this, this.globalData);\n },\n addEffects: function addEffects() {},\n setMatte: function setMatte() {}\n };\n HBaseElement.prototype.getBaseElement = SVGBaseElement.prototype.getBaseElement;\n HBaseElement.prototype.destroyBaseElement = HBaseElement.prototype.destroy;\n HBaseElement.prototype.buildElementParenting = BaseRenderer.prototype.buildElementParenting;\n\n function HSolidElement(data, globalData, comp) {\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], HSolidElement);\n\n HSolidElement.prototype.createContent = function () {\n var rect;\n\n if (this.data.hasMask) {\n rect = createNS('rect');\n rect.setAttribute('width', this.data.sw);\n rect.setAttribute('height', this.data.sh);\n rect.setAttribute('fill', this.data.sc);\n this.svgElement.setAttribute('width', this.data.sw);\n this.svgElement.setAttribute('height', this.data.sh);\n } else {\n rect = createTag('div');\n rect.style.width = this.data.sw + 'px';\n rect.style.height = this.data.sh + 'px';\n rect.style.backgroundColor = this.data.sc;\n }\n\n this.layerElement.appendChild(rect);\n };\n\n function HShapeElement(data, globalData, comp) {\n // List of drawable elements\n this.shapes = []; // Full shape data\n\n this.shapesData = data.shapes; // List of styles that will be applied to shapes\n\n this.stylesList = []; // List of modifiers that will be applied to shapes\n\n this.shapeModifiers = []; // List of items in shape tree\n\n this.itemsData = []; // List of items in previous shape tree\n\n this.processedElements = []; // List of animated components\n\n this.animatedContents = [];\n this.shapesContainer = createNS('g');\n this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n // List of elements that have been created\n\n this.prevViewData = [];\n this.currentBBox = {\n x: 999999,\n y: -999999,\n h: 0,\n w: 0\n };\n }\n\n extendPrototype([BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement, HierarchyElement, FrameElement, RenderableElement], HShapeElement);\n HShapeElement.prototype._renderShapeFrame = HShapeElement.prototype.renderInnerContent;\n\n HShapeElement.prototype.createContent = function () {\n var cont;\n this.baseElement.style.fontSize = 0;\n\n if (this.data.hasMask) {\n this.layerElement.appendChild(this.shapesContainer);\n cont = this.svgElement;\n } else {\n cont = createNS('svg');\n var size = this.comp.data ? this.comp.data : this.globalData.compSize;\n cont.setAttribute('width', size.w);\n cont.setAttribute('height', size.h);\n cont.appendChild(this.shapesContainer);\n this.layerElement.appendChild(cont);\n }\n\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.shapesContainer, 0, [], true);\n this.filterUniqueShapes();\n this.shapeCont = cont;\n };\n\n HShapeElement.prototype.getTransformedPoint = function (transformers, point) {\n var i;\n var len = transformers.length;\n\n for (i = 0; i < len; i += 1) {\n point = transformers[i].mProps.v.applyToPointArray(point[0], point[1], 0);\n }\n\n return point;\n };\n\n HShapeElement.prototype.calculateShapeBoundingBox = function (item, boundingBox) {\n var shape = item.sh.v;\n var transformers = item.transformers;\n var i;\n var len = shape._length;\n var vPoint;\n var oPoint;\n var nextIPoint;\n var nextVPoint;\n\n if (len <= 1) {\n return;\n }\n\n for (i = 0; i < len - 1; i += 1) {\n vPoint = this.getTransformedPoint(transformers, shape.v[i]);\n oPoint = this.getTransformedPoint(transformers, shape.o[i]);\n nextIPoint = this.getTransformedPoint(transformers, shape.i[i + 1]);\n nextVPoint = this.getTransformedPoint(transformers, shape.v[i + 1]);\n this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\n }\n\n if (shape.c) {\n vPoint = this.getTransformedPoint(transformers, shape.v[i]);\n oPoint = this.getTransformedPoint(transformers, shape.o[i]);\n nextIPoint = this.getTransformedPoint(transformers, shape.i[0]);\n nextVPoint = this.getTransformedPoint(transformers, shape.v[0]);\n this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\n }\n };\n\n HShapeElement.prototype.checkBounds = function (vPoint, oPoint, nextIPoint, nextVPoint, boundingBox) {\n this.getBoundsOfCurve(vPoint, oPoint, nextIPoint, nextVPoint);\n var bounds = this.shapeBoundingBox;\n boundingBox.x = bmMin(bounds.left, boundingBox.x);\n boundingBox.xMax = bmMax(bounds.right, boundingBox.xMax);\n boundingBox.y = bmMin(bounds.top, boundingBox.y);\n boundingBox.yMax = bmMax(bounds.bottom, boundingBox.yMax);\n };\n\n HShapeElement.prototype.shapeBoundingBox = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n HShapeElement.prototype.tempBoundingBox = {\n x: 0,\n xMax: 0,\n y: 0,\n yMax: 0,\n width: 0,\n height: 0\n };\n\n HShapeElement.prototype.getBoundsOfCurve = function (p0, p1, p2, p3) {\n var bounds = [[p0[0], p3[0]], [p0[1], p3[1]]];\n\n for (var a, b, c, t, b2ac, t1, t2, i = 0; i < 2; ++i) {\n // eslint-disable-line no-plusplus\n b = 6 * p0[i] - 12 * p1[i] + 6 * p2[i];\n a = -3 * p0[i] + 9 * p1[i] - 9 * p2[i] + 3 * p3[i];\n c = 3 * p1[i] - 3 * p0[i];\n b |= 0; // eslint-disable-line no-bitwise\n\n a |= 0; // eslint-disable-line no-bitwise\n\n c |= 0; // eslint-disable-line no-bitwise\n\n if (a === 0 && b === 0) {//\n } else if (a === 0) {\n t = -c / b;\n\n if (t > 0 && t < 1) {\n bounds[i].push(this.calculateF(t, p0, p1, p2, p3, i));\n }\n } else {\n b2ac = b * b - 4 * c * a;\n\n if (b2ac >= 0) {\n t1 = (-b + bmSqrt(b2ac)) / (2 * a);\n if (t1 > 0 && t1 < 1) bounds[i].push(this.calculateF(t1, p0, p1, p2, p3, i));\n t2 = (-b - bmSqrt(b2ac)) / (2 * a);\n if (t2 > 0 && t2 < 1) bounds[i].push(this.calculateF(t2, p0, p1, p2, p3, i));\n }\n }\n }\n\n this.shapeBoundingBox.left = bmMin.apply(null, bounds[0]);\n this.shapeBoundingBox.top = bmMin.apply(null, bounds[1]);\n this.shapeBoundingBox.right = bmMax.apply(null, bounds[0]);\n this.shapeBoundingBox.bottom = bmMax.apply(null, bounds[1]);\n };\n\n HShapeElement.prototype.calculateF = function (t, p0, p1, p2, p3, i) {\n return bmPow(1 - t, 3) * p0[i] + 3 * bmPow(1 - t, 2) * t * p1[i] + 3 * (1 - t) * bmPow(t, 2) * p2[i] + bmPow(t, 3) * p3[i];\n };\n\n HShapeElement.prototype.calculateBoundingBox = function (itemsData, boundingBox) {\n var i;\n var len = itemsData.length;\n\n for (i = 0; i < len; i += 1) {\n if (itemsData[i] && itemsData[i].sh) {\n this.calculateShapeBoundingBox(itemsData[i], boundingBox);\n } else if (itemsData[i] && itemsData[i].it) {\n this.calculateBoundingBox(itemsData[i].it, boundingBox);\n }\n }\n };\n\n HShapeElement.prototype.currentBoxContains = function (box) {\n return this.currentBBox.x <= box.x && this.currentBBox.y <= box.y && this.currentBBox.width + this.currentBBox.x >= box.x + box.width && this.currentBBox.height + this.currentBBox.y >= box.y + box.height;\n };\n\n HShapeElement.prototype.renderInnerContent = function () {\n this._renderShapeFrame();\n\n if (!this.hidden && (this._isFirstFrame || this._mdf)) {\n var tempBoundingBox = this.tempBoundingBox;\n var max = 999999;\n tempBoundingBox.x = max;\n tempBoundingBox.xMax = -max;\n tempBoundingBox.y = max;\n tempBoundingBox.yMax = -max;\n this.calculateBoundingBox(this.itemsData, tempBoundingBox);\n tempBoundingBox.width = tempBoundingBox.xMax < tempBoundingBox.x ? 0 : tempBoundingBox.xMax - tempBoundingBox.x;\n tempBoundingBox.height = tempBoundingBox.yMax < tempBoundingBox.y ? 0 : tempBoundingBox.yMax - tempBoundingBox.y; // var tempBoundingBox = this.shapeCont.getBBox();\n\n if (this.currentBoxContains(tempBoundingBox)) {\n return;\n }\n\n var changed = false;\n\n if (this.currentBBox.w !== tempBoundingBox.width) {\n this.currentBBox.w = tempBoundingBox.width;\n this.shapeCont.setAttribute('width', tempBoundingBox.width);\n changed = true;\n }\n\n if (this.currentBBox.h !== tempBoundingBox.height) {\n this.currentBBox.h = tempBoundingBox.height;\n this.shapeCont.setAttribute('height', tempBoundingBox.height);\n changed = true;\n }\n\n if (changed || this.currentBBox.x !== tempBoundingBox.x || this.currentBBox.y !== tempBoundingBox.y) {\n this.currentBBox.w = tempBoundingBox.width;\n this.currentBBox.h = tempBoundingBox.height;\n this.currentBBox.x = tempBoundingBox.x;\n this.currentBBox.y = tempBoundingBox.y;\n this.shapeCont.setAttribute('viewBox', this.currentBBox.x + ' ' + this.currentBBox.y + ' ' + this.currentBBox.w + ' ' + this.currentBBox.h);\n var shapeStyle = this.shapeCont.style;\n var shapeTransform = 'translate(' + this.currentBBox.x + 'px,' + this.currentBBox.y + 'px)';\n shapeStyle.transform = shapeTransform;\n shapeStyle.webkitTransform = shapeTransform;\n }\n }\n };\n\n function HTextElement(data, globalData, comp) {\n this.textSpans = [];\n this.textPaths = [];\n this.currentBBox = {\n x: 999999,\n y: -999999,\n h: 0,\n w: 0\n };\n this.renderType = 'svg';\n this.isMasked = false;\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], HTextElement);\n\n HTextElement.prototype.createContent = function () {\n this.isMasked = this.checkMasks();\n\n if (this.isMasked) {\n this.renderType = 'svg';\n this.compW = this.comp.data.w;\n this.compH = this.comp.data.h;\n this.svgElement.setAttribute('width', this.compW);\n this.svgElement.setAttribute('height', this.compH);\n var g = createNS('g');\n this.maskedElement.appendChild(g);\n this.innerElem = g;\n } else {\n this.renderType = 'html';\n this.innerElem = this.layerElement;\n }\n\n this.checkParenting();\n };\n\n HTextElement.prototype.buildNewText = function () {\n var documentData = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n var innerElemStyle = this.innerElem.style;\n var textColor = documentData.fc ? this.buildColor(documentData.fc) : 'rgba(0,0,0,0)';\n innerElemStyle.fill = textColor;\n innerElemStyle.color = textColor;\n\n if (documentData.sc) {\n innerElemStyle.stroke = this.buildColor(documentData.sc);\n innerElemStyle.strokeWidth = documentData.sw + 'px';\n }\n\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\n\n if (!this.globalData.fontManager.chars) {\n innerElemStyle.fontSize = documentData.finalSize + 'px';\n innerElemStyle.lineHeight = documentData.finalSize + 'px';\n\n if (fontData.fClass) {\n this.innerElem.className = fontData.fClass;\n } else {\n innerElemStyle.fontFamily = fontData.fFamily;\n var fWeight = documentData.fWeight;\n var fStyle = documentData.fStyle;\n innerElemStyle.fontStyle = fStyle;\n innerElemStyle.fontWeight = fWeight;\n }\n }\n\n var i;\n var len;\n var letters = documentData.l;\n len = letters.length;\n var tSpan;\n var tParent;\n var tCont;\n var matrixHelper = this.mHelper;\n var shapes;\n var shapeStr = '';\n var cnt = 0;\n\n for (i = 0; i < len; i += 1) {\n if (this.globalData.fontManager.chars) {\n if (!this.textPaths[cnt]) {\n tSpan = createNS('path');\n tSpan.setAttribute('stroke-linecap', lineCapEnum[1]);\n tSpan.setAttribute('stroke-linejoin', lineJoinEnum[2]);\n tSpan.setAttribute('stroke-miterlimit', '4');\n } else {\n tSpan = this.textPaths[cnt];\n }\n\n if (!this.isMasked) {\n if (this.textSpans[cnt]) {\n tParent = this.textSpans[cnt];\n tCont = tParent.children[0];\n } else {\n tParent = createTag('div');\n tParent.style.lineHeight = 0;\n tCont = createNS('svg');\n tCont.appendChild(tSpan);\n styleDiv(tParent);\n }\n }\n } else if (!this.isMasked) {\n if (this.textSpans[cnt]) {\n tParent = this.textSpans[cnt];\n tSpan = this.textPaths[cnt];\n } else {\n tParent = createTag('span');\n styleDiv(tParent);\n tSpan = createTag('span');\n styleDiv(tSpan);\n tParent.appendChild(tSpan);\n }\n } else {\n tSpan = this.textPaths[cnt] ? this.textPaths[cnt] : createNS('text');\n } // tSpan.setAttribute('visibility', 'hidden');\n\n\n if (this.globalData.fontManager.chars) {\n var charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\n var shapeData;\n\n if (charData) {\n shapeData = charData.data;\n } else {\n shapeData = null;\n }\n\n matrixHelper.reset();\n\n if (shapeData && shapeData.shapes && shapeData.shapes.length) {\n shapes = shapeData.shapes[0].it;\n matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n shapeStr = this.createPathShape(matrixHelper, shapes);\n tSpan.setAttribute('d', shapeStr);\n }\n\n if (!this.isMasked) {\n this.innerElem.appendChild(tParent);\n\n if (shapeData && shapeData.shapes) {\n // document.body.appendChild is needed to get exact measure of shape\n document.body.appendChild(tCont);\n var boundingBox = tCont.getBBox();\n tCont.setAttribute('width', boundingBox.width + 2);\n tCont.setAttribute('height', boundingBox.height + 2);\n tCont.setAttribute('viewBox', boundingBox.x - 1 + ' ' + (boundingBox.y - 1) + ' ' + (boundingBox.width + 2) + ' ' + (boundingBox.height + 2));\n var tContStyle = tCont.style;\n var tContTranslation = 'translate(' + (boundingBox.x - 1) + 'px,' + (boundingBox.y - 1) + 'px)';\n tContStyle.transform = tContTranslation;\n tContStyle.webkitTransform = tContTranslation;\n letters[i].yOffset = boundingBox.y - 1;\n } else {\n tCont.setAttribute('width', 1);\n tCont.setAttribute('height', 1);\n }\n\n tParent.appendChild(tCont);\n } else {\n this.innerElem.appendChild(tSpan);\n }\n } else {\n tSpan.textContent = letters[i].val;\n tSpan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve');\n\n if (!this.isMasked) {\n this.innerElem.appendChild(tParent); //\n\n var tStyle = tSpan.style;\n var tSpanTranslation = 'translate3d(0,' + -documentData.finalSize / 1.2 + 'px,0)';\n tStyle.transform = tSpanTranslation;\n tStyle.webkitTransform = tSpanTranslation;\n } else {\n this.innerElem.appendChild(tSpan);\n }\n } //\n\n\n if (!this.isMasked) {\n this.textSpans[cnt] = tParent;\n } else {\n this.textSpans[cnt] = tSpan;\n }\n\n this.textSpans[cnt].style.display = 'block';\n this.textPaths[cnt] = tSpan;\n cnt += 1;\n }\n\n while (cnt < this.textSpans.length) {\n this.textSpans[cnt].style.display = 'none';\n cnt += 1;\n }\n };\n\n HTextElement.prototype.renderInnerContent = function () {\n var svgStyle;\n\n if (this.data.singleShape) {\n if (!this._isFirstFrame && !this.lettersChangedFlag) {\n return;\n }\n\n if (this.isMasked && this.finalTransform._matMdf) {\n // Todo Benchmark if using this is better than getBBox\n this.svgElement.setAttribute('viewBox', -this.finalTransform.mProp.p.v[0] + ' ' + -this.finalTransform.mProp.p.v[1] + ' ' + this.compW + ' ' + this.compH);\n svgStyle = this.svgElement.style;\n var translation = 'translate(' + -this.finalTransform.mProp.p.v[0] + 'px,' + -this.finalTransform.mProp.p.v[1] + 'px)';\n svgStyle.transform = translation;\n svgStyle.webkitTransform = translation;\n }\n }\n\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n\n if (!this.lettersChangedFlag && !this.textAnimator.lettersChangedFlag) {\n return;\n }\n\n var i;\n var len;\n var count = 0;\n var renderedLetters = this.textAnimator.renderedLetters;\n var letters = this.textProperty.currentData.l;\n len = letters.length;\n var renderedLetter;\n var textSpan;\n var textPath;\n\n for (i = 0; i < len; i += 1) {\n if (letters[i].n) {\n count += 1;\n } else {\n textSpan = this.textSpans[i];\n textPath = this.textPaths[i];\n renderedLetter = renderedLetters[count];\n count += 1;\n\n if (renderedLetter._mdf.m) {\n if (!this.isMasked) {\n textSpan.style.webkitTransform = renderedLetter.m;\n textSpan.style.transform = renderedLetter.m;\n } else {\n textSpan.setAttribute('transform', renderedLetter.m);\n }\n } /// /textSpan.setAttribute('opacity',renderedLetter.o);\n\n\n textSpan.style.opacity = renderedLetter.o;\n\n if (renderedLetter.sw && renderedLetter._mdf.sw) {\n textPath.setAttribute('stroke-width', renderedLetter.sw);\n }\n\n if (renderedLetter.sc && renderedLetter._mdf.sc) {\n textPath.setAttribute('stroke', renderedLetter.sc);\n }\n\n if (renderedLetter.fc && renderedLetter._mdf.fc) {\n textPath.setAttribute('fill', renderedLetter.fc);\n textPath.style.color = renderedLetter.fc;\n }\n }\n }\n\n if (this.innerElem.getBBox && !this.hidden && (this._isFirstFrame || this._mdf)) {\n var boundingBox = this.innerElem.getBBox();\n\n if (this.currentBBox.w !== boundingBox.width) {\n this.currentBBox.w = boundingBox.width;\n this.svgElement.setAttribute('width', boundingBox.width);\n }\n\n if (this.currentBBox.h !== boundingBox.height) {\n this.currentBBox.h = boundingBox.height;\n this.svgElement.setAttribute('height', boundingBox.height);\n }\n\n var margin = 1;\n\n if (this.currentBBox.w !== boundingBox.width + margin * 2 || this.currentBBox.h !== boundingBox.height + margin * 2 || this.currentBBox.x !== boundingBox.x - margin || this.currentBBox.y !== boundingBox.y - margin) {\n this.currentBBox.w = boundingBox.width + margin * 2;\n this.currentBBox.h = boundingBox.height + margin * 2;\n this.currentBBox.x = boundingBox.x - margin;\n this.currentBBox.y = boundingBox.y - margin;\n this.svgElement.setAttribute('viewBox', this.currentBBox.x + ' ' + this.currentBBox.y + ' ' + this.currentBBox.w + ' ' + this.currentBBox.h);\n svgStyle = this.svgElement.style;\n var svgTransform = 'translate(' + this.currentBBox.x + 'px,' + this.currentBBox.y + 'px)';\n svgStyle.transform = svgTransform;\n svgStyle.webkitTransform = svgTransform;\n }\n }\n };\n\n function HCameraElement(data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initHierarchy();\n var getProp = PropertyFactory.getProp;\n this.pe = getProp(this, data.pe, 0, 0, this);\n\n if (data.ks.p.s) {\n this.px = getProp(this, data.ks.p.x, 1, 0, this);\n this.py = getProp(this, data.ks.p.y, 1, 0, this);\n this.pz = getProp(this, data.ks.p.z, 1, 0, this);\n } else {\n this.p = getProp(this, data.ks.p, 1, 0, this);\n }\n\n if (data.ks.a) {\n this.a = getProp(this, data.ks.a, 1, 0, this);\n }\n\n if (data.ks.or.k.length && data.ks.or.k[0].to) {\n var i;\n var len = data.ks.or.k.length;\n\n for (i = 0; i < len; i += 1) {\n data.ks.or.k[i].to = null;\n data.ks.or.k[i].ti = null;\n }\n }\n\n this.or = getProp(this, data.ks.or, 1, degToRads, this);\n this.or.sh = true;\n this.rx = getProp(this, data.ks.rx, 0, degToRads, this);\n this.ry = getProp(this, data.ks.ry, 0, degToRads, this);\n this.rz = getProp(this, data.ks.rz, 0, degToRads, this);\n this.mat = new Matrix();\n this._prevMat = new Matrix();\n this._isFirstFrame = true; // TODO: find a better way to make the HCamera element to be compatible with the LayerInterface and TransformInterface.\n\n this.finalTransform = {\n mProp: this\n };\n }\n\n extendPrototype([BaseElement, FrameElement, HierarchyElement], HCameraElement);\n\n HCameraElement.prototype.setup = function () {\n var i;\n var len = this.comp.threeDElements.length;\n var comp;\n var perspectiveStyle;\n var containerStyle;\n\n for (i = 0; i < len; i += 1) {\n // [perspectiveElem,container]\n comp = this.comp.threeDElements[i];\n\n if (comp.type === '3d') {\n perspectiveStyle = comp.perspectiveElem.style;\n containerStyle = comp.container.style;\n var perspective = this.pe.v + 'px';\n var origin = '0px 0px 0px';\n var matrix = 'matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)';\n perspectiveStyle.perspective = perspective;\n perspectiveStyle.webkitPerspective = perspective;\n containerStyle.transformOrigin = origin;\n containerStyle.mozTransformOrigin = origin;\n containerStyle.webkitTransformOrigin = origin;\n perspectiveStyle.transform = matrix;\n perspectiveStyle.webkitTransform = matrix;\n }\n }\n };\n\n HCameraElement.prototype.createElements = function () {};\n\n HCameraElement.prototype.hide = function () {};\n\n HCameraElement.prototype.renderFrame = function () {\n var _mdf = this._isFirstFrame;\n var i;\n var len;\n\n if (this.hierarchy) {\n len = this.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n _mdf = this.hierarchy[i].finalTransform.mProp._mdf || _mdf;\n }\n }\n\n if (_mdf || this.pe._mdf || this.p && this.p._mdf || this.px && (this.px._mdf || this.py._mdf || this.pz._mdf) || this.rx._mdf || this.ry._mdf || this.rz._mdf || this.or._mdf || this.a && this.a._mdf) {\n this.mat.reset();\n\n if (this.hierarchy) {\n len = this.hierarchy.length - 1;\n\n for (i = len; i >= 0; i -= 1) {\n var mTransf = this.hierarchy[i].finalTransform.mProp;\n this.mat.translate(-mTransf.p.v[0], -mTransf.p.v[1], mTransf.p.v[2]);\n this.mat.rotateX(-mTransf.or.v[0]).rotateY(-mTransf.or.v[1]).rotateZ(mTransf.or.v[2]);\n this.mat.rotateX(-mTransf.rx.v).rotateY(-mTransf.ry.v).rotateZ(mTransf.rz.v);\n this.mat.scale(1 / mTransf.s.v[0], 1 / mTransf.s.v[1], 1 / mTransf.s.v[2]);\n this.mat.translate(mTransf.a.v[0], mTransf.a.v[1], mTransf.a.v[2]);\n }\n }\n\n if (this.p) {\n this.mat.translate(-this.p.v[0], -this.p.v[1], this.p.v[2]);\n } else {\n this.mat.translate(-this.px.v, -this.py.v, this.pz.v);\n }\n\n if (this.a) {\n var diffVector;\n\n if (this.p) {\n diffVector = [this.p.v[0] - this.a.v[0], this.p.v[1] - this.a.v[1], this.p.v[2] - this.a.v[2]];\n } else {\n diffVector = [this.px.v - this.a.v[0], this.py.v - this.a.v[1], this.pz.v - this.a.v[2]];\n }\n\n var mag = Math.sqrt(Math.pow(diffVector[0], 2) + Math.pow(diffVector[1], 2) + Math.pow(diffVector[2], 2)); // var lookDir = getNormalizedPoint(getDiffVector(this.a.v,this.p.v));\n\n var lookDir = [diffVector[0] / mag, diffVector[1] / mag, diffVector[2] / mag];\n var lookLengthOnXZ = Math.sqrt(lookDir[2] * lookDir[2] + lookDir[0] * lookDir[0]);\n var mRotationX = Math.atan2(lookDir[1], lookLengthOnXZ);\n var mRotationY = Math.atan2(lookDir[0], -lookDir[2]);\n this.mat.rotateY(mRotationY).rotateX(-mRotationX);\n }\n\n this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v);\n this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]);\n this.mat.translate(this.globalData.compSize.w / 2, this.globalData.compSize.h / 2, 0);\n this.mat.translate(0, 0, this.pe.v);\n var hasMatrixChanged = !this._prevMat.equals(this.mat);\n\n if ((hasMatrixChanged || this.pe._mdf) && this.comp.threeDElements) {\n len = this.comp.threeDElements.length;\n var comp;\n var perspectiveStyle;\n var containerStyle;\n\n for (i = 0; i < len; i += 1) {\n comp = this.comp.threeDElements[i];\n\n if (comp.type === '3d') {\n if (hasMatrixChanged) {\n var matValue = this.mat.toCSS();\n containerStyle = comp.container.style;\n containerStyle.transform = matValue;\n containerStyle.webkitTransform = matValue;\n }\n\n if (this.pe._mdf) {\n perspectiveStyle = comp.perspectiveElem.style;\n perspectiveStyle.perspective = this.pe.v + 'px';\n perspectiveStyle.webkitPerspective = this.pe.v + 'px';\n }\n }\n }\n\n this.mat.clone(this._prevMat);\n }\n }\n\n this._isFirstFrame = false;\n };\n\n HCameraElement.prototype.prepareFrame = function (num) {\n this.prepareProperties(num, true);\n };\n\n HCameraElement.prototype.destroy = function () {};\n\n HCameraElement.prototype.getBaseElement = function () {\n return null;\n };\n\n function HImageElement(data, globalData, comp) {\n this.assetData = globalData.getAssetData(data.refId);\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement, FrameElement, RenderableElement], HImageElement);\n\n HImageElement.prototype.createContent = function () {\n var assetPath = this.globalData.getAssetsPath(this.assetData);\n var img = new Image();\n\n if (this.data.hasMask) {\n this.imageElem = createNS('image');\n this.imageElem.setAttribute('width', this.assetData.w + 'px');\n this.imageElem.setAttribute('height', this.assetData.h + 'px');\n this.imageElem.setAttributeNS('http://www.w3.org/1999/xlink', 'href', assetPath);\n this.layerElement.appendChild(this.imageElem);\n this.baseElement.setAttribute('width', this.assetData.w);\n this.baseElement.setAttribute('height', this.assetData.h);\n } else {\n this.layerElement.appendChild(img);\n }\n\n img.crossOrigin = 'anonymous';\n img.src = assetPath;\n\n if (this.data.ln) {\n this.baseElement.setAttribute('id', this.data.ln);\n }\n };\n\n function HybridRendererBase(animationItem, config) {\n this.animationItem = animationItem;\n this.layers = null;\n this.renderedFrame = -1;\n this.renderConfig = {\n className: config && config.className || '',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n hideOnTransparent: !(config && config.hideOnTransparent === false),\n filterSize: {\n width: config && config.filterSize && config.filterSize.width || '400%',\n height: config && config.filterSize && config.filterSize.height || '400%',\n x: config && config.filterSize && config.filterSize.x || '-100%',\n y: config && config.filterSize && config.filterSize.y || '-100%'\n }\n };\n this.globalData = {\n _mdf: false,\n frameNum: -1,\n renderConfig: this.renderConfig\n };\n this.pendingElements = [];\n this.elements = [];\n this.threeDElements = [];\n this.destroyed = false;\n this.camera = null;\n this.supports3d = true;\n this.rendererType = 'html';\n }\n\n extendPrototype([BaseRenderer], HybridRendererBase);\n HybridRendererBase.prototype.buildItem = SVGRenderer.prototype.buildItem;\n\n HybridRendererBase.prototype.checkPendingElements = function () {\n while (this.pendingElements.length) {\n var element = this.pendingElements.pop();\n element.checkParenting();\n }\n };\n\n HybridRendererBase.prototype.appendElementInPos = function (element, pos) {\n var newDOMElement = element.getBaseElement();\n\n if (!newDOMElement) {\n return;\n }\n\n var layer = this.layers[pos];\n\n if (!layer.ddd || !this.supports3d) {\n if (this.threeDElements) {\n this.addTo3dContainer(newDOMElement, pos);\n } else {\n var i = 0;\n var nextDOMElement;\n var nextLayer;\n var tmpDOMElement;\n\n while (i < pos) {\n if (this.elements[i] && this.elements[i] !== true && this.elements[i].getBaseElement) {\n nextLayer = this.elements[i];\n tmpDOMElement = this.layers[i].ddd ? this.getThreeDContainerByPos(i) : nextLayer.getBaseElement();\n nextDOMElement = tmpDOMElement || nextDOMElement;\n }\n\n i += 1;\n }\n\n if (nextDOMElement) {\n if (!layer.ddd || !this.supports3d) {\n this.layerElement.insertBefore(newDOMElement, nextDOMElement);\n }\n } else if (!layer.ddd || !this.supports3d) {\n this.layerElement.appendChild(newDOMElement);\n }\n }\n } else {\n this.addTo3dContainer(newDOMElement, pos);\n }\n };\n\n HybridRendererBase.prototype.createShape = function (data) {\n if (!this.supports3d) {\n return new SVGShapeElement(data, this.globalData, this);\n }\n\n return new HShapeElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createText = function (data) {\n if (!this.supports3d) {\n return new SVGTextLottieElement(data, this.globalData, this);\n }\n\n return new HTextElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createCamera = function (data) {\n this.camera = new HCameraElement(data, this.globalData, this);\n return this.camera;\n };\n\n HybridRendererBase.prototype.createImage = function (data) {\n if (!this.supports3d) {\n return new IImageElement(data, this.globalData, this);\n }\n\n return new HImageElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createSolid = function (data) {\n if (!this.supports3d) {\n return new ISolidElement(data, this.globalData, this);\n }\n\n return new HSolidElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createNull = SVGRenderer.prototype.createNull;\n\n HybridRendererBase.prototype.getThreeDContainerByPos = function (pos) {\n var i = 0;\n var len = this.threeDElements.length;\n\n while (i < len) {\n if (this.threeDElements[i].startPos <= pos && this.threeDElements[i].endPos >= pos) {\n return this.threeDElements[i].perspectiveElem;\n }\n\n i += 1;\n }\n\n return null;\n };\n\n HybridRendererBase.prototype.createThreeDContainer = function (pos, type) {\n var perspectiveElem = createTag('div');\n var style;\n var containerStyle;\n styleDiv(perspectiveElem);\n var container = createTag('div');\n styleDiv(container);\n\n if (type === '3d') {\n style = perspectiveElem.style;\n style.width = this.globalData.compSize.w + 'px';\n style.height = this.globalData.compSize.h + 'px';\n var center = '50% 50%';\n style.webkitTransformOrigin = center;\n style.mozTransformOrigin = center;\n style.transformOrigin = center;\n containerStyle = container.style;\n var matrix = 'matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)';\n containerStyle.transform = matrix;\n containerStyle.webkitTransform = matrix;\n }\n\n perspectiveElem.appendChild(container); // this.resizerElem.appendChild(perspectiveElem);\n\n var threeDContainerData = {\n container: container,\n perspectiveElem: perspectiveElem,\n startPos: pos,\n endPos: pos,\n type: type\n };\n this.threeDElements.push(threeDContainerData);\n return threeDContainerData;\n };\n\n HybridRendererBase.prototype.build3dContainers = function () {\n var i;\n var len = this.layers.length;\n var lastThreeDContainerData;\n var currentContainer = '';\n\n for (i = 0; i < len; i += 1) {\n if (this.layers[i].ddd && this.layers[i].ty !== 3) {\n if (currentContainer !== '3d') {\n currentContainer = '3d';\n lastThreeDContainerData = this.createThreeDContainer(i, '3d');\n }\n\n lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\n } else {\n if (currentContainer !== '2d') {\n currentContainer = '2d';\n lastThreeDContainerData = this.createThreeDContainer(i, '2d');\n }\n\n lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\n }\n }\n\n len = this.threeDElements.length;\n\n for (i = len - 1; i >= 0; i -= 1) {\n this.resizerElem.appendChild(this.threeDElements[i].perspectiveElem);\n }\n };\n\n HybridRendererBase.prototype.addTo3dContainer = function (elem, pos) {\n var i = 0;\n var len = this.threeDElements.length;\n\n while (i < len) {\n if (pos <= this.threeDElements[i].endPos) {\n var j = this.threeDElements[i].startPos;\n var nextElement;\n\n while (j < pos) {\n if (this.elements[j] && this.elements[j].getBaseElement) {\n nextElement = this.elements[j].getBaseElement();\n }\n\n j += 1;\n }\n\n if (nextElement) {\n this.threeDElements[i].container.insertBefore(elem, nextElement);\n } else {\n this.threeDElements[i].container.appendChild(elem);\n }\n\n break;\n }\n\n i += 1;\n }\n };\n\n HybridRendererBase.prototype.configAnimation = function (animData) {\n var resizerElem = createTag('div');\n var wrapper = this.animationItem.wrapper;\n var style = resizerElem.style;\n style.width = animData.w + 'px';\n style.height = animData.h + 'px';\n this.resizerElem = resizerElem;\n styleDiv(resizerElem);\n style.transformStyle = 'flat';\n style.mozTransformStyle = 'flat';\n style.webkitTransformStyle = 'flat';\n\n if (this.renderConfig.className) {\n resizerElem.setAttribute('class', this.renderConfig.className);\n }\n\n wrapper.appendChild(resizerElem);\n style.overflow = 'hidden';\n var svg = createNS('svg');\n svg.setAttribute('width', '1');\n svg.setAttribute('height', '1');\n styleDiv(svg);\n this.resizerElem.appendChild(svg);\n var defs = createNS('defs');\n svg.appendChild(defs);\n this.data = animData; // Mask animation\n\n this.setupGlobalData(animData, svg);\n this.globalData.defs = defs;\n this.layers = animData.layers;\n this.layerElement = this.resizerElem;\n this.build3dContainers();\n this.updateContainerSize();\n };\n\n HybridRendererBase.prototype.destroy = function () {\n if (this.animationItem.wrapper) {\n this.animationItem.wrapper.innerText = '';\n }\n\n this.animationItem.container = null;\n this.globalData.defs = null;\n var i;\n var len = this.layers ? this.layers.length : 0;\n\n for (i = 0; i < len; i += 1) {\n this.elements[i].destroy();\n }\n\n this.elements.length = 0;\n this.destroyed = true;\n this.animationItem = null;\n };\n\n HybridRendererBase.prototype.updateContainerSize = function () {\n var elementWidth = this.animationItem.wrapper.offsetWidth;\n var elementHeight = this.animationItem.wrapper.offsetHeight;\n var elementRel = elementWidth / elementHeight;\n var animationRel = this.globalData.compSize.w / this.globalData.compSize.h;\n var sx;\n var sy;\n var tx;\n var ty;\n\n if (animationRel > elementRel) {\n sx = elementWidth / this.globalData.compSize.w;\n sy = elementWidth / this.globalData.compSize.w;\n tx = 0;\n ty = (elementHeight - this.globalData.compSize.h * (elementWidth / this.globalData.compSize.w)) / 2;\n } else {\n sx = elementHeight / this.globalData.compSize.h;\n sy = elementHeight / this.globalData.compSize.h;\n tx = (elementWidth - this.globalData.compSize.w * (elementHeight / this.globalData.compSize.h)) / 2;\n ty = 0;\n }\n\n var style = this.resizerElem.style;\n style.webkitTransform = 'matrix3d(' + sx + ',0,0,0,0,' + sy + ',0,0,0,0,1,0,' + tx + ',' + ty + ',0,1)';\n style.transform = style.webkitTransform;\n };\n\n HybridRendererBase.prototype.renderFrame = SVGRenderer.prototype.renderFrame;\n\n HybridRendererBase.prototype.hide = function () {\n this.resizerElem.style.display = 'none';\n };\n\n HybridRendererBase.prototype.show = function () {\n this.resizerElem.style.display = 'block';\n };\n\n HybridRendererBase.prototype.initItems = function () {\n this.buildAllItems();\n\n if (this.camera) {\n this.camera.setup();\n } else {\n var cWidth = this.globalData.compSize.w;\n var cHeight = this.globalData.compSize.h;\n var i;\n var len = this.threeDElements.length;\n\n for (i = 0; i < len; i += 1) {\n var style = this.threeDElements[i].perspectiveElem.style;\n style.webkitPerspective = Math.sqrt(Math.pow(cWidth, 2) + Math.pow(cHeight, 2)) + 'px';\n style.perspective = style.webkitPerspective;\n }\n }\n };\n\n HybridRendererBase.prototype.searchExtraCompositions = function (assets) {\n var i;\n var len = assets.length;\n var floatingContainer = createTag('div');\n\n for (i = 0; i < len; i += 1) {\n if (assets[i].xt) {\n var comp = this.createComp(assets[i], floatingContainer, this.globalData.comp, null);\n comp.initExpressions();\n this.globalData.projectInterface.registerComposition(comp);\n }\n }\n };\n\n function HCompElement(data, globalData, comp) {\n this.layers = data.layers;\n this.supports3d = !data.hasMask;\n this.completeLayers = false;\n this.pendingElements = [];\n this.elements = this.layers ? createSizedArray(this.layers.length) : [];\n this.initElement(data, globalData, comp);\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n }\n\n extendPrototype([HybridRendererBase, ICompElement, HBaseElement], HCompElement);\n HCompElement.prototype._createBaseContainerElements = HCompElement.prototype.createContainerElements;\n\n HCompElement.prototype.createContainerElements = function () {\n this._createBaseContainerElements(); // divElement.style.clip = 'rect(0px, '+this.data.w+'px, '+this.data.h+'px, 0px)';\n\n\n if (this.data.hasMask) {\n this.svgElement.setAttribute('width', this.data.w);\n this.svgElement.setAttribute('height', this.data.h);\n this.transformedElement = this.baseElement;\n } else {\n this.transformedElement = this.layerElement;\n }\n };\n\n HCompElement.prototype.addTo3dContainer = function (elem, pos) {\n var j = 0;\n var nextElement;\n\n while (j < pos) {\n if (this.elements[j] && this.elements[j].getBaseElement) {\n nextElement = this.elements[j].getBaseElement();\n }\n\n j += 1;\n }\n\n if (nextElement) {\n this.layerElement.insertBefore(elem, nextElement);\n } else {\n this.layerElement.appendChild(elem);\n }\n };\n\n HCompElement.prototype.createComp = function (data) {\n if (!this.supports3d) {\n return new SVGCompElement(data, this.globalData, this);\n }\n\n return new HCompElement(data, this.globalData, this);\n };\n\n function HybridRenderer(animationItem, config) {\n this.animationItem = animationItem;\n this.layers = null;\n this.renderedFrame = -1;\n this.renderConfig = {\n className: config && config.className || '',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n hideOnTransparent: !(config && config.hideOnTransparent === false),\n filterSize: {\n width: config && config.filterSize && config.filterSize.width || '400%',\n height: config && config.filterSize && config.filterSize.height || '400%',\n x: config && config.filterSize && config.filterSize.x || '-100%',\n y: config && config.filterSize && config.filterSize.y || '-100%'\n }\n };\n this.globalData = {\n _mdf: false,\n frameNum: -1,\n renderConfig: this.renderConfig\n };\n this.pendingElements = [];\n this.elements = [];\n this.threeDElements = [];\n this.destroyed = false;\n this.camera = null;\n this.supports3d = true;\n this.rendererType = 'html';\n }\n\n extendPrototype([HybridRendererBase], HybridRenderer);\n\n HybridRenderer.prototype.createComp = function (data) {\n if (!this.supports3d) {\n return new SVGCompElement(data, this.globalData, this);\n }\n\n return new HCompElement(data, this.globalData, this);\n };\n\n var Expressions = function () {\n var ob = {};\n ob.initExpressions = initExpressions;\n\n function initExpressions(animation) {\n var stackCount = 0;\n var registers = [];\n\n function pushExpression() {\n stackCount += 1;\n }\n\n function popExpression() {\n stackCount -= 1;\n\n if (stackCount === 0) {\n releaseInstances();\n }\n }\n\n function registerExpressionProperty(expression) {\n if (registers.indexOf(expression) === -1) {\n registers.push(expression);\n }\n }\n\n function releaseInstances() {\n var i;\n var len = registers.length;\n\n for (i = 0; i < len; i += 1) {\n registers[i].release();\n }\n\n registers.length = 0;\n }\n\n animation.renderer.compInterface = CompExpressionInterface(animation.renderer);\n animation.renderer.globalData.projectInterface.registerComposition(animation.renderer);\n animation.renderer.globalData.pushExpression = pushExpression;\n animation.renderer.globalData.popExpression = popExpression;\n animation.renderer.globalData.registerExpressionProperty = registerExpressionProperty;\n }\n\n return ob;\n }();\n\n function _typeof$1(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$1 = function _typeof(obj) { return typeof obj; }; } else { _typeof$1 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$1(obj); }\n\n /* eslint-disable */\n\n /*\r\n Copyright 2014 David Bau.\r\n\r\n Permission is hereby granted, free of charge, to any person obtaining\r\n a copy of this software and associated documentation files (the\r\n \"Software\"), to deal in the Software without restriction, including\r\n without limitation the rights to use, copy, modify, merge, publish,\r\n distribute, sublicense, and/or sell copies of the Software, and to\r\n permit persons to whom the Software is furnished to do so, subject to\r\n the following conditions:\r\n\r\n The above copyright notice and this permission notice shall be\r\n included in all copies or substantial portions of the Software.\r\n\r\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\r\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\r\n IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\r\n CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\r\n TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\r\n SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n\r\n */\n function seedRandom(pool, math) {\n //\n // The following constants are related to IEEE 754 limits.\n //\n var global = this,\n width = 256,\n // each RC4 output is 0 <= x < 256\n chunks = 6,\n // at least six RC4 outputs for each double\n digits = 52,\n // there are 52 significant digits in a double\n rngname = 'random',\n // rngname: name for Math.random and Math.seedrandom\n startdenom = math.pow(width, chunks),\n significance = math.pow(2, digits),\n overflow = significance * 2,\n mask = width - 1,\n nodecrypto; // node.js crypto module, initialized at the bottom.\n //\n // seedrandom()\n // This is the seedrandom function described above.\n //\n\n function seedrandom(seed, options, callback) {\n var key = [];\n options = options === true ? {\n entropy: true\n } : options || {}; // Flatten the seed string or build one from local entropy if needed.\n\n var shortseed = mixkey(flatten(options.entropy ? [seed, tostring(pool)] : seed === null ? autoseed() : seed, 3), key); // Use the seed to initialize an ARC4 generator.\n\n var arc4 = new ARC4(key); // This function returns a random double in [0, 1) that contains\n // randomness in every bit of the mantissa of the IEEE 754 value.\n\n var prng = function prng() {\n var n = arc4.g(chunks),\n // Start with a numerator n < 2 ^ 48\n d = startdenom,\n // and denominator d = 2 ^ 48.\n x = 0; // and no 'extra last byte'.\n\n while (n < significance) {\n // Fill up all significant digits by\n n = (n + x) * width; // shifting numerator and\n\n d *= width; // denominator and generating a\n\n x = arc4.g(1); // new least-significant-byte.\n }\n\n while (n >= overflow) {\n // To avoid rounding up, before adding\n n /= 2; // last byte, shift everything\n\n d /= 2; // right using integer math until\n\n x >>>= 1; // we have exactly the desired bits.\n }\n\n return (n + x) / d; // Form the number within [0, 1).\n };\n\n prng.int32 = function () {\n return arc4.g(4) | 0;\n };\n\n prng.quick = function () {\n return arc4.g(4) / 0x100000000;\n };\n\n prng[\"double\"] = prng; // Mix the randomness into accumulated entropy.\n\n mixkey(tostring(arc4.S), pool); // Calling convention: what to return as a function of prng, seed, is_math.\n\n return (options.pass || callback || function (prng, seed, is_math_call, state) {\n if (state) {\n // Load the arc4 state from the given state if it has an S array.\n if (state.S) {\n copy(state, arc4);\n } // Only provide the .state method if requested via options.state.\n\n\n prng.state = function () {\n return copy(arc4, {});\n };\n } // If called as a method of Math (Math.seedrandom()), mutate\n // Math.random because that is how seedrandom.js has worked since v1.0.\n\n\n if (is_math_call) {\n math[rngname] = prng;\n return seed;\n } // Otherwise, it is a newer calling convention, so return the\n // prng directly.\n else return prng;\n })(prng, shortseed, 'global' in options ? options.global : this == math, options.state);\n }\n\n math['seed' + rngname] = seedrandom; //\n // ARC4\n //\n // An ARC4 implementation. The constructor takes a key in the form of\n // an array of at most (width) integers that should be 0 <= x < (width).\n //\n // The g(count) method returns a pseudorandom integer that concatenates\n // the next (count) outputs from ARC4. Its return value is a number x\n // that is in the range 0 <= x < (width ^ count).\n //\n\n function ARC4(key) {\n var t,\n keylen = key.length,\n me = this,\n i = 0,\n j = me.i = me.j = 0,\n s = me.S = []; // The empty key [] is treated as [0].\n\n if (!keylen) {\n key = [keylen++];\n } // Set up S using the standard key scheduling algorithm.\n\n\n while (i < width) {\n s[i] = i++;\n }\n\n for (i = 0; i < width; i++) {\n s[i] = s[j = mask & j + key[i % keylen] + (t = s[i])];\n s[j] = t;\n } // The \"g\" method returns the next (count) outputs as one number.\n\n\n me.g = function (count) {\n // Using instance members instead of closure state nearly doubles speed.\n var t,\n r = 0,\n i = me.i,\n j = me.j,\n s = me.S;\n\n while (count--) {\n t = s[i = mask & i + 1];\n r = r * width + s[mask & (s[i] = s[j = mask & j + t]) + (s[j] = t)];\n }\n\n me.i = i;\n me.j = j;\n return r; // For robust unpredictability, the function call below automatically\n // discards an initial batch of values. This is called RC4-drop[256].\n // See http://google.com/search?q=rsa+fluhrer+response&btnI\n };\n } //\n // copy()\n // Copies internal state of ARC4 to or from a plain object.\n //\n\n\n function copy(f, t) {\n t.i = f.i;\n t.j = f.j;\n t.S = f.S.slice();\n return t;\n } //\n // flatten()\n // Converts an object tree to nested arrays of strings.\n //\n\n\n function flatten(obj, depth) {\n var result = [],\n typ = _typeof$1(obj),\n prop;\n\n if (depth && typ == 'object') {\n for (prop in obj) {\n try {\n result.push(flatten(obj[prop], depth - 1));\n } catch (e) {}\n }\n }\n\n return result.length ? result : typ == 'string' ? obj : obj + '\\0';\n } //\n // mixkey()\n // Mixes a string seed into a key that is an array of integers, and\n // returns a shortened string seed that is equivalent to the result key.\n //\n\n\n function mixkey(seed, key) {\n var stringseed = seed + '',\n smear,\n j = 0;\n\n while (j < stringseed.length) {\n key[mask & j] = mask & (smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++);\n }\n\n return tostring(key);\n } //\n // autoseed()\n // Returns an object for autoseeding, using window.crypto and Node crypto\n // module if available.\n //\n\n\n function autoseed() {\n try {\n if (nodecrypto) {\n return tostring(nodecrypto.randomBytes(width));\n }\n\n var out = new Uint8Array(width);\n (global.crypto || global.msCrypto).getRandomValues(out);\n return tostring(out);\n } catch (e) {\n var browser = global.navigator,\n plugins = browser && browser.plugins;\n return [+new Date(), global, plugins, global.screen, tostring(pool)];\n }\n } //\n // tostring()\n // Converts an array of charcodes to a string\n //\n\n\n function tostring(a) {\n return String.fromCharCode.apply(0, a);\n } //\n // When seedrandom.js is loaded, we immediately mix a few bits\n // from the built-in RNG into the entropy pool. Because we do\n // not want to interfere with deterministic PRNG state later,\n // seedrandom will not call math.random on its own again after\n // initialization.\n //\n\n\n mixkey(math.random(), pool); //\n // Nodejs and AMD support: export the implementation as a module using\n // either convention.\n //\n // End anonymous scope, and pass initial values.\n }\n\n ;\n\n function initialize$2(BMMath) {\n seedRandom([], BMMath);\n }\n\n var propTypes = {\n SHAPE: 'shape'\n };\n\n function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n var ExpressionManager = function () {\n 'use strict';\n\n var ob = {};\n var Math = BMMath;\n var window = null;\n var document = null;\n var XMLHttpRequest = null;\n var fetch = null;\n var frames = null;\n initialize$2(BMMath);\n\n function $bm_isInstanceOfArray(arr) {\n return arr.constructor === Array || arr.constructor === Float32Array;\n }\n\n function isNumerable(tOfV, v) {\n return tOfV === 'number' || tOfV === 'boolean' || tOfV === 'string' || v instanceof Number;\n }\n\n function $bm_neg(a) {\n var tOfA = _typeof(a);\n\n if (tOfA === 'number' || tOfA === 'boolean' || a instanceof Number) {\n return -a;\n }\n\n if ($bm_isInstanceOfArray(a)) {\n var i;\n var lenA = a.length;\n var retArr = [];\n\n for (i = 0; i < lenA; i += 1) {\n retArr[i] = -a[i];\n }\n\n return retArr;\n }\n\n if (a.propType) {\n return a.v;\n }\n\n return -a;\n }\n\n var easeInBez = BezierFactory.getBezierEasing(0.333, 0, 0.833, 0.833, 'easeIn').get;\n var easeOutBez = BezierFactory.getBezierEasing(0.167, 0.167, 0.667, 1, 'easeOut').get;\n var easeInOutBez = BezierFactory.getBezierEasing(0.33, 0, 0.667, 1, 'easeInOut').get;\n\n function sum(a, b) {\n var tOfA = _typeof(a);\n\n var tOfB = _typeof(b);\n\n if (tOfA === 'string' || tOfB === 'string') {\n return a + b;\n }\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n return a + b;\n }\n\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n a = a.slice(0);\n a[0] += b;\n return a;\n }\n\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n b = b.slice(0);\n b[0] = a + b[0];\n return b;\n }\n\n if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n var i = 0;\n var lenA = a.length;\n var lenB = b.length;\n var retArr = [];\n\n while (i < lenA || i < lenB) {\n if ((typeof a[i] === 'number' || a[i] instanceof Number) && (typeof b[i] === 'number' || b[i] instanceof Number)) {\n retArr[i] = a[i] + b[i];\n } else {\n retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n }\n\n i += 1;\n }\n\n return retArr;\n }\n\n return 0;\n }\n\n var add = sum;\n\n function sub(a, b) {\n var tOfA = _typeof(a);\n\n var tOfB = _typeof(b);\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n if (tOfA === 'string') {\n a = parseInt(a, 10);\n }\n\n if (tOfB === 'string') {\n b = parseInt(b, 10);\n }\n\n return a - b;\n }\n\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n a = a.slice(0);\n a[0] -= b;\n return a;\n }\n\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n b = b.slice(0);\n b[0] = a - b[0];\n return b;\n }\n\n if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n var i = 0;\n var lenA = a.length;\n var lenB = b.length;\n var retArr = [];\n\n while (i < lenA || i < lenB) {\n if ((typeof a[i] === 'number' || a[i] instanceof Number) && (typeof b[i] === 'number' || b[i] instanceof Number)) {\n retArr[i] = a[i] - b[i];\n } else {\n retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n }\n\n i += 1;\n }\n\n return retArr;\n }\n\n return 0;\n }\n\n function mul(a, b) {\n var tOfA = _typeof(a);\n\n var tOfB = _typeof(b);\n\n var arr;\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n return a * b;\n }\n\n var i;\n var len;\n\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n len = a.length;\n arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = a[i] * b;\n }\n\n return arr;\n }\n\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n len = b.length;\n arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = a * b[i];\n }\n\n return arr;\n }\n\n return 0;\n }\n\n function div(a, b) {\n var tOfA = _typeof(a);\n\n var tOfB = _typeof(b);\n\n var arr;\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n return a / b;\n }\n\n var i;\n var len;\n\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n len = a.length;\n arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = a[i] / b;\n }\n\n return arr;\n }\n\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n len = b.length;\n arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = a / b[i];\n }\n\n return arr;\n }\n\n return 0;\n }\n\n function mod(a, b) {\n if (typeof a === 'string') {\n a = parseInt(a, 10);\n }\n\n if (typeof b === 'string') {\n b = parseInt(b, 10);\n }\n\n return a % b;\n }\n\n var $bm_sum = sum;\n var $bm_sub = sub;\n var $bm_mul = mul;\n var $bm_div = div;\n var $bm_mod = mod;\n\n function clamp(num, min, max) {\n if (min > max) {\n var mm = max;\n max = min;\n min = mm;\n }\n\n return Math.min(Math.max(num, min), max);\n }\n\n function radiansToDegrees(val) {\n return val / degToRads;\n }\n\n var radians_to_degrees = radiansToDegrees;\n\n function degreesToRadians(val) {\n return val * degToRads;\n }\n\n var degrees_to_radians = radiansToDegrees;\n var helperLengthArray = [0, 0, 0, 0, 0, 0];\n\n function length(arr1, arr2) {\n if (typeof arr1 === 'number' || arr1 instanceof Number) {\n arr2 = arr2 || 0;\n return Math.abs(arr1 - arr2);\n }\n\n if (!arr2) {\n arr2 = helperLengthArray;\n }\n\n var i;\n var len = Math.min(arr1.length, arr2.length);\n var addedLength = 0;\n\n for (i = 0; i < len; i += 1) {\n addedLength += Math.pow(arr2[i] - arr1[i], 2);\n }\n\n return Math.sqrt(addedLength);\n }\n\n function normalize(vec) {\n return div(vec, length(vec));\n }\n\n function rgbToHsl(val) {\n var r = val[0];\n var g = val[1];\n var b = val[2];\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h;\n var s;\n var l = (max + min) / 2;\n\n if (max === min) {\n h = 0; // achromatic\n\n s = 0; // achromatic\n } else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n\n case g:\n h = (b - r) / d + 2;\n break;\n\n case b:\n h = (r - g) / d + 4;\n break;\n\n default:\n break;\n }\n\n h /= 6;\n }\n\n return [h, s, l, val[3]];\n }\n\n function hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n }\n\n function hslToRgb(val) {\n var h = val[0];\n var s = val[1];\n var l = val[2];\n var r;\n var g;\n var b;\n\n if (s === 0) {\n r = l; // achromatic\n\n b = l; // achromatic\n\n g = l; // achromatic\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n\n return [r, g, b, val[3]];\n }\n\n function linear(t, tMin, tMax, value1, value2) {\n if (value1 === undefined || value2 === undefined) {\n value1 = tMin;\n value2 = tMax;\n tMin = 0;\n tMax = 1;\n }\n\n if (tMax < tMin) {\n var _tMin = tMax;\n tMax = tMin;\n tMin = _tMin;\n }\n\n if (t <= tMin) {\n return value1;\n }\n\n if (t >= tMax) {\n return value2;\n }\n\n var perc = tMax === tMin ? 0 : (t - tMin) / (tMax - tMin);\n\n if (!value1.length) {\n return value1 + (value2 - value1) * perc;\n }\n\n var i;\n var len = value1.length;\n var arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = value1[i] + (value2[i] - value1[i]) * perc;\n }\n\n return arr;\n }\n\n function random(min, max) {\n if (max === undefined) {\n if (min === undefined) {\n min = 0;\n max = 1;\n } else {\n max = min;\n min = undefined;\n }\n }\n\n if (max.length) {\n var i;\n var len = max.length;\n\n if (!min) {\n min = createTypedArray('float32', len);\n }\n\n var arr = createTypedArray('float32', len);\n var rnd = BMMath.random();\n\n for (i = 0; i < len; i += 1) {\n arr[i] = min[i] + rnd * (max[i] - min[i]);\n }\n\n return arr;\n }\n\n if (min === undefined) {\n min = 0;\n }\n\n var rndm = BMMath.random();\n return min + rndm * (max - min);\n }\n\n function createPath(points, inTangents, outTangents, closed) {\n var i;\n var len = points.length;\n var path = shapePool.newElement();\n path.setPathData(!!closed, len);\n var arrPlaceholder = [0, 0];\n var inVertexPoint;\n var outVertexPoint;\n\n for (i = 0; i < len; i += 1) {\n inVertexPoint = inTangents && inTangents[i] ? inTangents[i] : arrPlaceholder;\n outVertexPoint = outTangents && outTangents[i] ? outTangents[i] : arrPlaceholder;\n path.setTripleAt(points[i][0], points[i][1], outVertexPoint[0] + points[i][0], outVertexPoint[1] + points[i][1], inVertexPoint[0] + points[i][0], inVertexPoint[1] + points[i][1], i, true);\n }\n\n return path;\n }\n\n function initiateExpression(elem, data, property) {\n var val = data.x;\n var needsVelocity = /velocity(?![\\w\\d])/.test(val);\n\n var _needsRandom = val.indexOf('random') !== -1;\n\n var elemType = elem.data.ty;\n var transform;\n var $bm_transform;\n var content;\n var effect;\n var thisProperty = property;\n thisProperty.valueAtTime = thisProperty.getValueAtTime;\n Object.defineProperty(thisProperty, 'value', {\n get: function get() {\n return thisProperty.v;\n }\n });\n elem.comp.frameDuration = 1 / elem.comp.globalData.frameRate;\n elem.comp.displayStartTime = 0;\n var inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n var outPoint = elem.data.op / elem.comp.globalData.frameRate;\n var width = elem.data.sw ? elem.data.sw : 0;\n var height = elem.data.sh ? elem.data.sh : 0;\n var name = elem.data.nm;\n var loopIn;\n var loop_in;\n var loopOut;\n var loop_out;\n var smooth;\n var toWorld;\n var fromWorld;\n var fromComp;\n var toComp;\n var fromCompToSurface;\n var position;\n var rotation;\n var anchorPoint;\n var scale;\n var thisLayer;\n var thisComp;\n var mask;\n var valueAtTime;\n var velocityAtTime;\n var scoped_bm_rt; // val = val.replace(/(\\\\?\"|')((http)(s)?(:\\/))?\\/.*?(\\\\?\"|')/g, \"\\\"\\\"\"); // deter potential network calls\n\n var expression_function = eval('[function _expression_function(){' + val + ';scoped_bm_rt=$bm_rt}]')[0]; // eslint-disable-line no-eval\n\n var numKeys = property.kf ? data.k.length : 0;\n var active = !this.data || this.data.hd !== true;\n\n var wiggle = function wiggle(freq, amp) {\n var iWiggle;\n var j;\n var lenWiggle = this.pv.length ? this.pv.length : 1;\n var addedAmps = createTypedArray('float32', lenWiggle);\n freq = 5;\n var iterations = Math.floor(time * freq);\n iWiggle = 0;\n j = 0;\n\n while (iWiggle < iterations) {\n // var rnd = BMMath.random();\n for (j = 0; j < lenWiggle; j += 1) {\n addedAmps[j] += -amp + amp * 2 * BMMath.random(); // addedAmps[j] += -amp + amp*2*rnd;\n }\n\n iWiggle += 1;\n } // var rnd2 = BMMath.random();\n\n\n var periods = time * freq;\n var perc = periods - Math.floor(periods);\n var arr = createTypedArray('float32', lenWiggle);\n\n if (lenWiggle > 1) {\n for (j = 0; j < lenWiggle; j += 1) {\n arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp * 2 * BMMath.random()) * perc; // arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp*2*rnd)*perc;\n // arr[i] = this.pv[i] + addedAmp + amp1*perc + amp2*(1-perc);\n }\n\n return arr;\n }\n\n return this.pv + addedAmps[0] + (-amp + amp * 2 * BMMath.random()) * perc;\n }.bind(this);\n\n if (thisProperty.loopIn) {\n loopIn = thisProperty.loopIn.bind(thisProperty);\n loop_in = loopIn;\n }\n\n if (thisProperty.loopOut) {\n loopOut = thisProperty.loopOut.bind(thisProperty);\n loop_out = loopOut;\n }\n\n if (thisProperty.smooth) {\n smooth = thisProperty.smooth.bind(thisProperty);\n }\n\n function loopInDuration(type, duration) {\n return loopIn(type, duration, true);\n }\n\n function loopOutDuration(type, duration) {\n return loopOut(type, duration, true);\n }\n\n if (this.getValueAtTime) {\n valueAtTime = this.getValueAtTime.bind(this);\n }\n\n if (this.getVelocityAtTime) {\n velocityAtTime = this.getVelocityAtTime.bind(this);\n }\n\n var comp = elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface);\n\n function lookAt(elem1, elem2) {\n var fVec = [elem2[0] - elem1[0], elem2[1] - elem1[1], elem2[2] - elem1[2]];\n var pitch = Math.atan2(fVec[0], Math.sqrt(fVec[1] * fVec[1] + fVec[2] * fVec[2])) / degToRads;\n var yaw = -Math.atan2(fVec[1], fVec[2]) / degToRads;\n return [yaw, pitch, 0];\n }\n\n function easeOut(t, tMin, tMax, val1, val2) {\n return applyEase(easeOutBez, t, tMin, tMax, val1, val2);\n }\n\n function easeIn(t, tMin, tMax, val1, val2) {\n return applyEase(easeInBez, t, tMin, tMax, val1, val2);\n }\n\n function ease(t, tMin, tMax, val1, val2) {\n return applyEase(easeInOutBez, t, tMin, tMax, val1, val2);\n }\n\n function applyEase(fn, t, tMin, tMax, val1, val2) {\n if (val1 === undefined) {\n val1 = tMin;\n val2 = tMax;\n } else {\n t = (t - tMin) / (tMax - tMin);\n }\n\n if (t > 1) {\n t = 1;\n } else if (t < 0) {\n t = 0;\n }\n\n var mult = fn(t);\n\n if ($bm_isInstanceOfArray(val1)) {\n var iKey;\n var lenKey = val1.length;\n var arr = createTypedArray('float32', lenKey);\n\n for (iKey = 0; iKey < lenKey; iKey += 1) {\n arr[iKey] = (val2[iKey] - val1[iKey]) * mult + val1[iKey];\n }\n\n return arr;\n }\n\n return (val2 - val1) * mult + val1;\n }\n\n function nearestKey(time) {\n var iKey;\n var lenKey = data.k.length;\n var index;\n var keyTime;\n\n if (!data.k.length || typeof data.k[0] === 'number') {\n index = 0;\n keyTime = 0;\n } else {\n index = -1;\n time *= elem.comp.globalData.frameRate;\n\n if (time < data.k[0].t) {\n index = 1;\n keyTime = data.k[0].t;\n } else {\n for (iKey = 0; iKey < lenKey - 1; iKey += 1) {\n if (time === data.k[iKey].t) {\n index = iKey + 1;\n keyTime = data.k[iKey].t;\n break;\n } else if (time > data.k[iKey].t && time < data.k[iKey + 1].t) {\n if (time - data.k[iKey].t > data.k[iKey + 1].t - time) {\n index = iKey + 2;\n keyTime = data.k[iKey + 1].t;\n } else {\n index = iKey + 1;\n keyTime = data.k[iKey].t;\n }\n\n break;\n }\n }\n\n if (index === -1) {\n index = iKey + 1;\n keyTime = data.k[iKey].t;\n }\n }\n }\n\n var obKey = {};\n obKey.index = index;\n obKey.time = keyTime / elem.comp.globalData.frameRate;\n return obKey;\n }\n\n function key(ind) {\n var obKey;\n var iKey;\n var lenKey;\n\n if (!data.k.length || typeof data.k[0] === 'number') {\n throw new Error('The property has no keyframe at index ' + ind);\n }\n\n ind -= 1;\n obKey = {\n time: data.k[ind].t / elem.comp.globalData.frameRate,\n value: []\n };\n var arr = Object.prototype.hasOwnProperty.call(data.k[ind], 's') ? data.k[ind].s : data.k[ind - 1].e;\n lenKey = arr.length;\n\n for (iKey = 0; iKey < lenKey; iKey += 1) {\n obKey[iKey] = arr[iKey];\n obKey.value[iKey] = arr[iKey];\n }\n\n return obKey;\n }\n\n function framesToTime(fr, fps) {\n if (!fps) {\n fps = elem.comp.globalData.frameRate;\n }\n\n return fr / fps;\n }\n\n function timeToFrames(t, fps) {\n if (!t && t !== 0) {\n t = time;\n }\n\n if (!fps) {\n fps = elem.comp.globalData.frameRate;\n }\n\n return t * fps;\n }\n\n function seedRandom(seed) {\n BMMath.seedrandom(randSeed + seed);\n }\n\n function sourceRectAtTime() {\n return elem.sourceRectAtTime();\n }\n\n function substring(init, end) {\n if (typeof value === 'string') {\n if (end === undefined) {\n return value.substring(init);\n }\n\n return value.substring(init, end);\n }\n\n return '';\n }\n\n function substr(init, end) {\n if (typeof value === 'string') {\n if (end === undefined) {\n return value.substr(init);\n }\n\n return value.substr(init, end);\n }\n\n return '';\n }\n\n function posterizeTime(framesPerSecond) {\n time = framesPerSecond === 0 ? 0 : Math.floor(time * framesPerSecond) / framesPerSecond;\n value = valueAtTime(time);\n }\n\n var time;\n var velocity;\n var value;\n var text;\n var textIndex;\n var textTotal;\n var selectorValue;\n var index = elem.data.ind;\n var hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n var parent;\n var randSeed = Math.floor(Math.random() * 1000000);\n var globalData = elem.globalData;\n\n function executeExpression(_value) {\n // globalData.pushExpression();\n value = _value;\n\n if (this.frameExpressionId === elem.globalData.frameId && this.propType !== 'textSelector') {\n return value;\n }\n\n if (this.propType === 'textSelector') {\n textIndex = this.textIndex;\n textTotal = this.textTotal;\n selectorValue = this.selectorValue;\n }\n\n if (!thisLayer) {\n text = elem.layerInterface.text;\n thisLayer = elem.layerInterface;\n thisComp = elem.comp.compInterface;\n toWorld = thisLayer.toWorld.bind(thisLayer);\n fromWorld = thisLayer.fromWorld.bind(thisLayer);\n fromComp = thisLayer.fromComp.bind(thisLayer);\n toComp = thisLayer.toComp.bind(thisLayer);\n mask = thisLayer.mask ? thisLayer.mask.bind(thisLayer) : null;\n fromCompToSurface = fromComp;\n }\n\n if (!transform) {\n transform = elem.layerInterface('ADBE Transform Group');\n $bm_transform = transform;\n\n if (transform) {\n anchorPoint = transform.anchorPoint;\n /* position = transform.position;\r\n rotation = transform.rotation;\r\n scale = transform.scale; */\n }\n }\n\n if (elemType === 4 && !content) {\n content = thisLayer('ADBE Root Vectors Group');\n }\n\n if (!effect) {\n effect = thisLayer(4);\n }\n\n hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n\n if (hasParent && !parent) {\n parent = elem.hierarchy[0].layerInterface;\n }\n\n time = this.comp.renderedFrame / this.comp.globalData.frameRate;\n\n if (_needsRandom) {\n seedRandom(randSeed + time);\n }\n\n if (needsVelocity) {\n velocity = velocityAtTime(time);\n }\n\n expression_function();\n this.frameExpressionId = elem.globalData.frameId; // TODO: Check if it's possible to return on ShapeInterface the .v value\n // Changed this to a ternary operation because Rollup failed compiling it correctly\n\n scoped_bm_rt = scoped_bm_rt.propType === propTypes.SHAPE ? scoped_bm_rt.v : scoped_bm_rt;\n return scoped_bm_rt;\n } // Bundlers will see these as dead code and unless we reference them\n\n\n executeExpression.__preventDeadCodeRemoval = [$bm_transform, anchorPoint, time, velocity, inPoint, outPoint, width, height, name, loop_in, loop_out, smooth, toComp, fromCompToSurface, toWorld, fromWorld, mask, position, rotation, scale, thisComp, numKeys, active, wiggle, loopInDuration, loopOutDuration, comp, lookAt, easeOut, easeIn, ease, nearestKey, key, text, textIndex, textTotal, selectorValue, framesToTime, timeToFrames, sourceRectAtTime, substring, substr, posterizeTime, index, globalData];\n return executeExpression;\n }\n\n ob.initiateExpression = initiateExpression;\n ob.__preventDeadCodeRemoval = [window, document, XMLHttpRequest, fetch, frames, $bm_neg, add, $bm_sum, $bm_sub, $bm_mul, $bm_div, $bm_mod, clamp, radians_to_degrees, degreesToRadians, degrees_to_radians, normalize, rgbToHsl, hslToRgb, linear, random, createPath];\n return ob;\n }();\n\n var expressionHelpers = function () {\n function searchExpressions(elem, data, prop) {\n if (data.x) {\n prop.k = true;\n prop.x = true;\n prop.initiateExpression = ExpressionManager.initiateExpression;\n prop.effectsSequence.push(prop.initiateExpression(elem, data, prop).bind(prop));\n }\n }\n\n function getValueAtTime(frameNum) {\n frameNum *= this.elem.globalData.frameRate;\n frameNum -= this.offsetTime;\n\n if (frameNum !== this._cachingAtTime.lastFrame) {\n this._cachingAtTime.lastIndex = this._cachingAtTime.lastFrame < frameNum ? this._cachingAtTime.lastIndex : 0;\n this._cachingAtTime.value = this.interpolateValue(frameNum, this._cachingAtTime);\n this._cachingAtTime.lastFrame = frameNum;\n }\n\n return this._cachingAtTime.value;\n }\n\n function getSpeedAtTime(frameNum) {\n var delta = -0.01;\n var v1 = this.getValueAtTime(frameNum);\n var v2 = this.getValueAtTime(frameNum + delta);\n var speed = 0;\n\n if (v1.length) {\n var i;\n\n for (i = 0; i < v1.length; i += 1) {\n speed += Math.pow(v2[i] - v1[i], 2);\n }\n\n speed = Math.sqrt(speed) * 100;\n } else {\n speed = 0;\n }\n\n return speed;\n }\n\n function getVelocityAtTime(frameNum) {\n if (this.vel !== undefined) {\n return this.vel;\n }\n\n var delta = -0.001; // frameNum += this.elem.data.st;\n\n var v1 = this.getValueAtTime(frameNum);\n var v2 = this.getValueAtTime(frameNum + delta);\n var velocity;\n\n if (v1.length) {\n velocity = createTypedArray('float32', v1.length);\n var i;\n\n for (i = 0; i < v1.length; i += 1) {\n // removing frameRate\n // if needed, don't add it here\n // velocity[i] = this.elem.globalData.frameRate*((v2[i] - v1[i])/delta);\n velocity[i] = (v2[i] - v1[i]) / delta;\n }\n } else {\n velocity = (v2 - v1) / delta;\n }\n\n return velocity;\n }\n\n function getStaticValueAtTime() {\n return this.pv;\n }\n\n function setGroupProperty(propertyGroup) {\n this.propertyGroup = propertyGroup;\n }\n\n return {\n searchExpressions: searchExpressions,\n getSpeedAtTime: getSpeedAtTime,\n getVelocityAtTime: getVelocityAtTime,\n getValueAtTime: getValueAtTime,\n getStaticValueAtTime: getStaticValueAtTime,\n setGroupProperty: setGroupProperty\n };\n }();\n\n function addPropertyDecorator() {\n function loopOut(type, duration, durationFlag) {\n if (!this.k || !this.keyframes) {\n return this.pv;\n }\n\n type = type ? type.toLowerCase() : '';\n var currentFrame = this.comp.renderedFrame;\n var keyframes = this.keyframes;\n var lastKeyFrame = keyframes[keyframes.length - 1].t;\n\n if (currentFrame <= lastKeyFrame) {\n return this.pv;\n }\n\n var cycleDuration;\n var firstKeyFrame;\n\n if (!durationFlag) {\n if (!duration || duration > keyframes.length - 1) {\n duration = keyframes.length - 1;\n }\n\n firstKeyFrame = keyframes[keyframes.length - 1 - duration].t;\n cycleDuration = lastKeyFrame - firstKeyFrame;\n } else {\n if (!duration) {\n cycleDuration = Math.max(0, lastKeyFrame - this.elem.data.ip);\n } else {\n cycleDuration = Math.abs(lastKeyFrame - this.elem.comp.globalData.frameRate * duration);\n }\n\n firstKeyFrame = lastKeyFrame - cycleDuration;\n }\n\n var i;\n var len;\n var ret;\n\n if (type === 'pingpong') {\n var iterations = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n if (iterations % 2 !== 0) {\n return this.getValueAtTime((cycleDuration - (currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n } else if (type === 'offset') {\n var initV = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\n var endV = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\n var current = this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n\n var repeats = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n if (this.pv.length) {\n ret = new Array(initV.length);\n len = ret.length;\n\n for (i = 0; i < len; i += 1) {\n ret[i] = (endV[i] - initV[i]) * repeats + current[i];\n }\n\n return ret;\n }\n\n return (endV - initV) * repeats + current;\n } else if (type === 'continue') {\n var lastValue = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\n var nextLastValue = this.getValueAtTime((lastKeyFrame - 0.001) / this.comp.globalData.frameRate, 0);\n\n if (this.pv.length) {\n ret = new Array(lastValue.length);\n len = ret.length;\n\n for (i = 0; i < len; i += 1) {\n ret[i] = lastValue[i] + (lastValue[i] - nextLastValue[i]) * ((currentFrame - lastKeyFrame) / this.comp.globalData.frameRate) / 0.0005; // eslint-disable-line\n }\n\n return ret;\n }\n\n return lastValue + (lastValue - nextLastValue) * ((currentFrame - lastKeyFrame) / 0.001);\n }\n\n return this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n\n function loopIn(type, duration, durationFlag) {\n if (!this.k) {\n return this.pv;\n }\n\n type = type ? type.toLowerCase() : '';\n var currentFrame = this.comp.renderedFrame;\n var keyframes = this.keyframes;\n var firstKeyFrame = keyframes[0].t;\n\n if (currentFrame >= firstKeyFrame) {\n return this.pv;\n }\n\n var cycleDuration;\n var lastKeyFrame;\n\n if (!durationFlag) {\n if (!duration || duration > keyframes.length - 1) {\n duration = keyframes.length - 1;\n }\n\n lastKeyFrame = keyframes[duration].t;\n cycleDuration = lastKeyFrame - firstKeyFrame;\n } else {\n if (!duration) {\n cycleDuration = Math.max(0, this.elem.data.op - firstKeyFrame);\n } else {\n cycleDuration = Math.abs(this.elem.comp.globalData.frameRate * duration);\n }\n\n lastKeyFrame = firstKeyFrame + cycleDuration;\n }\n\n var i;\n var len;\n var ret;\n\n if (type === 'pingpong') {\n var iterations = Math.floor((firstKeyFrame - currentFrame) / cycleDuration);\n\n if (iterations % 2 === 0) {\n return this.getValueAtTime(((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n } else if (type === 'offset') {\n var initV = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\n var endV = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\n var current = this.getValueAtTime((cycleDuration - (firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0);\n var repeats = Math.floor((firstKeyFrame - currentFrame) / cycleDuration) + 1;\n\n if (this.pv.length) {\n ret = new Array(initV.length);\n len = ret.length;\n\n for (i = 0; i < len; i += 1) {\n ret[i] = current[i] - (endV[i] - initV[i]) * repeats;\n }\n\n return ret;\n }\n\n return current - (endV - initV) * repeats;\n } else if (type === 'continue') {\n var firstValue = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\n var nextFirstValue = this.getValueAtTime((firstKeyFrame + 0.001) / this.comp.globalData.frameRate, 0);\n\n if (this.pv.length) {\n ret = new Array(firstValue.length);\n len = ret.length;\n\n for (i = 0; i < len; i += 1) {\n ret[i] = firstValue[i] + (firstValue[i] - nextFirstValue[i]) * (firstKeyFrame - currentFrame) / 0.001;\n }\n\n return ret;\n }\n\n return firstValue + (firstValue - nextFirstValue) * (firstKeyFrame - currentFrame) / 0.001;\n }\n\n return this.getValueAtTime((cycleDuration - ((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame)) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n\n function smooth(width, samples) {\n if (!this.k) {\n return this.pv;\n }\n\n width = (width || 0.4) * 0.5;\n samples = Math.floor(samples || 5);\n\n if (samples <= 1) {\n return this.pv;\n }\n\n var currentTime = this.comp.renderedFrame / this.comp.globalData.frameRate;\n var initFrame = currentTime - width;\n var endFrame = currentTime + width;\n var sampleFrequency = samples > 1 ? (endFrame - initFrame) / (samples - 1) : 1;\n var i = 0;\n var j = 0;\n var value;\n\n if (this.pv.length) {\n value = createTypedArray('float32', this.pv.length);\n } else {\n value = 0;\n }\n\n var sampleValue;\n\n while (i < samples) {\n sampleValue = this.getValueAtTime(initFrame + i * sampleFrequency);\n\n if (this.pv.length) {\n for (j = 0; j < this.pv.length; j += 1) {\n value[j] += sampleValue[j];\n }\n } else {\n value += sampleValue;\n }\n\n i += 1;\n }\n\n if (this.pv.length) {\n for (j = 0; j < this.pv.length; j += 1) {\n value[j] /= samples;\n }\n } else {\n value /= samples;\n }\n\n return value;\n }\n\n function getTransformValueAtTime(time) {\n if (!this._transformCachingAtTime) {\n this._transformCachingAtTime = {\n v: new Matrix()\n };\n } /// /\n\n\n var matrix = this._transformCachingAtTime.v;\n matrix.cloneFromProps(this.pre.props);\n\n if (this.appliedTransformations < 1) {\n var anchor = this.a.getValueAtTime(time);\n matrix.translate(-anchor[0] * this.a.mult, -anchor[1] * this.a.mult, anchor[2] * this.a.mult);\n }\n\n if (this.appliedTransformations < 2) {\n var scale = this.s.getValueAtTime(time);\n matrix.scale(scale[0] * this.s.mult, scale[1] * this.s.mult, scale[2] * this.s.mult);\n }\n\n if (this.sk && this.appliedTransformations < 3) {\n var skew = this.sk.getValueAtTime(time);\n var skewAxis = this.sa.getValueAtTime(time);\n matrix.skewFromAxis(-skew * this.sk.mult, skewAxis * this.sa.mult);\n }\n\n if (this.r && this.appliedTransformations < 4) {\n var rotation = this.r.getValueAtTime(time);\n matrix.rotate(-rotation * this.r.mult);\n } else if (!this.r && this.appliedTransformations < 4) {\n var rotationZ = this.rz.getValueAtTime(time);\n var rotationY = this.ry.getValueAtTime(time);\n var rotationX = this.rx.getValueAtTime(time);\n var orientation = this.or.getValueAtTime(time);\n matrix.rotateZ(-rotationZ * this.rz.mult).rotateY(rotationY * this.ry.mult).rotateX(rotationX * this.rx.mult).rotateZ(-orientation[2] * this.or.mult).rotateY(orientation[1] * this.or.mult).rotateX(orientation[0] * this.or.mult);\n }\n\n if (this.data.p && this.data.p.s) {\n var positionX = this.px.getValueAtTime(time);\n var positionY = this.py.getValueAtTime(time);\n\n if (this.data.p.z) {\n var positionZ = this.pz.getValueAtTime(time);\n matrix.translate(positionX * this.px.mult, positionY * this.py.mult, -positionZ * this.pz.mult);\n } else {\n matrix.translate(positionX * this.px.mult, positionY * this.py.mult, 0);\n }\n } else {\n var position = this.p.getValueAtTime(time);\n matrix.translate(position[0] * this.p.mult, position[1] * this.p.mult, -position[2] * this.p.mult);\n }\n\n return matrix; /// /\n }\n\n function getTransformStaticValueAtTime() {\n return this.v.clone(new Matrix());\n }\n\n var getTransformProperty = TransformPropertyFactory.getTransformProperty;\n\n TransformPropertyFactory.getTransformProperty = function (elem, data, container) {\n var prop = getTransformProperty(elem, data, container);\n\n if (prop.dynamicProperties.length) {\n prop.getValueAtTime = getTransformValueAtTime.bind(prop);\n } else {\n prop.getValueAtTime = getTransformStaticValueAtTime.bind(prop);\n }\n\n prop.setGroupProperty = expressionHelpers.setGroupProperty;\n return prop;\n };\n\n var propertyGetProp = PropertyFactory.getProp;\n\n PropertyFactory.getProp = function (elem, data, type, mult, container) {\n var prop = propertyGetProp(elem, data, type, mult, container); // prop.getVelocityAtTime = getVelocityAtTime;\n // prop.loopOut = loopOut;\n // prop.loopIn = loopIn;\n\n if (prop.kf) {\n prop.getValueAtTime = expressionHelpers.getValueAtTime.bind(prop);\n } else {\n prop.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(prop);\n }\n\n prop.setGroupProperty = expressionHelpers.setGroupProperty;\n prop.loopOut = loopOut;\n prop.loopIn = loopIn;\n prop.smooth = smooth;\n prop.getVelocityAtTime = expressionHelpers.getVelocityAtTime.bind(prop);\n prop.getSpeedAtTime = expressionHelpers.getSpeedAtTime.bind(prop);\n prop.numKeys = data.a === 1 ? data.k.length : 0;\n prop.propertyIndex = data.ix;\n var value = 0;\n\n if (type !== 0) {\n value = createTypedArray('float32', data.a === 1 ? data.k[0].s.length : data.k.length);\n }\n\n prop._cachingAtTime = {\n lastFrame: initialDefaultFrame,\n lastIndex: 0,\n value: value\n };\n expressionHelpers.searchExpressions(elem, data, prop);\n\n if (prop.k) {\n container.addDynamicProperty(prop);\n }\n\n return prop;\n };\n\n function getShapeValueAtTime(frameNum) {\n // For now this caching object is created only when needed instead of creating it when the shape is initialized.\n if (!this._cachingAtTime) {\n this._cachingAtTime = {\n shapeValue: shapePool.clone(this.pv),\n lastIndex: 0,\n lastTime: initialDefaultFrame\n };\n }\n\n frameNum *= this.elem.globalData.frameRate;\n frameNum -= this.offsetTime;\n\n if (frameNum !== this._cachingAtTime.lastTime) {\n this._cachingAtTime.lastIndex = this._cachingAtTime.lastTime < frameNum ? this._caching.lastIndex : 0;\n this._cachingAtTime.lastTime = frameNum;\n this.interpolateShape(frameNum, this._cachingAtTime.shapeValue, this._cachingAtTime);\n }\n\n return this._cachingAtTime.shapeValue;\n }\n\n var ShapePropertyConstructorFunction = ShapePropertyFactory.getConstructorFunction();\n var KeyframedShapePropertyConstructorFunction = ShapePropertyFactory.getKeyframedConstructorFunction();\n\n function ShapeExpressions() {}\n\n ShapeExpressions.prototype = {\n vertices: function vertices(prop, time) {\n if (this.k) {\n this.getValue();\n }\n\n var shapePath = this.v;\n\n if (time !== undefined) {\n shapePath = this.getValueAtTime(time, 0);\n }\n\n var i;\n var len = shapePath._length;\n var vertices = shapePath[prop];\n var points = shapePath.v;\n var arr = createSizedArray(len);\n\n for (i = 0; i < len; i += 1) {\n if (prop === 'i' || prop === 'o') {\n arr[i] = [vertices[i][0] - points[i][0], vertices[i][1] - points[i][1]];\n } else {\n arr[i] = [vertices[i][0], vertices[i][1]];\n }\n }\n\n return arr;\n },\n points: function points(time) {\n return this.vertices('v', time);\n },\n inTangents: function inTangents(time) {\n return this.vertices('i', time);\n },\n outTangents: function outTangents(time) {\n return this.vertices('o', time);\n },\n isClosed: function isClosed() {\n return this.v.c;\n },\n pointOnPath: function pointOnPath(perc, time) {\n var shapePath = this.v;\n\n if (time !== undefined) {\n shapePath = this.getValueAtTime(time, 0);\n }\n\n if (!this._segmentsLength) {\n this._segmentsLength = bez.getSegmentsLength(shapePath);\n }\n\n var segmentsLength = this._segmentsLength;\n var lengths = segmentsLength.lengths;\n var lengthPos = segmentsLength.totalLength * perc;\n var i = 0;\n var len = lengths.length;\n var accumulatedLength = 0;\n var pt;\n\n while (i < len) {\n if (accumulatedLength + lengths[i].addedLength > lengthPos) {\n var initIndex = i;\n var endIndex = shapePath.c && i === len - 1 ? 0 : i + 1;\n var segmentPerc = (lengthPos - accumulatedLength) / lengths[i].addedLength;\n pt = bez.getPointInSegment(shapePath.v[initIndex], shapePath.v[endIndex], shapePath.o[initIndex], shapePath.i[endIndex], segmentPerc, lengths[i]);\n break;\n } else {\n accumulatedLength += lengths[i].addedLength;\n }\n\n i += 1;\n }\n\n if (!pt) {\n pt = shapePath.c ? [shapePath.v[0][0], shapePath.v[0][1]] : [shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1]];\n }\n\n return pt;\n },\n vectorOnPath: function vectorOnPath(perc, time, vectorType) {\n // perc doesn't use triple equality because it can be a Number object as well as a primitive.\n if (perc == 1) {\n // eslint-disable-line eqeqeq\n perc = this.v.c;\n } else if (perc == 0) {\n // eslint-disable-line eqeqeq\n perc = 0.999;\n }\n\n var pt1 = this.pointOnPath(perc, time);\n var pt2 = this.pointOnPath(perc + 0.001, time);\n var xLength = pt2[0] - pt1[0];\n var yLength = pt2[1] - pt1[1];\n var magnitude = Math.sqrt(Math.pow(xLength, 2) + Math.pow(yLength, 2));\n\n if (magnitude === 0) {\n return [0, 0];\n }\n\n var unitVector = vectorType === 'tangent' ? [xLength / magnitude, yLength / magnitude] : [-yLength / magnitude, xLength / magnitude];\n return unitVector;\n },\n tangentOnPath: function tangentOnPath(perc, time) {\n return this.vectorOnPath(perc, time, 'tangent');\n },\n normalOnPath: function normalOnPath(perc, time) {\n return this.vectorOnPath(perc, time, 'normal');\n },\n setGroupProperty: expressionHelpers.setGroupProperty,\n getValueAtTime: expressionHelpers.getStaticValueAtTime\n };\n extendPrototype([ShapeExpressions], ShapePropertyConstructorFunction);\n extendPrototype([ShapeExpressions], KeyframedShapePropertyConstructorFunction);\n KeyframedShapePropertyConstructorFunction.prototype.getValueAtTime = getShapeValueAtTime;\n KeyframedShapePropertyConstructorFunction.prototype.initiateExpression = ExpressionManager.initiateExpression;\n var propertyGetShapeProp = ShapePropertyFactory.getShapeProp;\n\n ShapePropertyFactory.getShapeProp = function (elem, data, type, arr, trims) {\n var prop = propertyGetShapeProp(elem, data, type, arr, trims);\n prop.propertyIndex = data.ix;\n prop.lock = false;\n\n if (type === 3) {\n expressionHelpers.searchExpressions(elem, data.pt, prop);\n } else if (type === 4) {\n expressionHelpers.searchExpressions(elem, data.ks, prop);\n }\n\n if (prop.k) {\n elem.addDynamicProperty(prop);\n }\n\n return prop;\n };\n }\n\n function initialize$1() {\n addPropertyDecorator();\n }\n\n function addDecorator() {\n function searchExpressions() {\n if (this.data.d.x) {\n this.calculateExpression = ExpressionManager.initiateExpression.bind(this)(this.elem, this.data.d, this);\n this.addEffect(this.getExpressionValue.bind(this));\n return true;\n }\n\n return null;\n }\n\n TextProperty.prototype.getExpressionValue = function (currentValue, text) {\n var newValue = this.calculateExpression(text);\n\n if (currentValue.t !== newValue) {\n var newData = {};\n this.copyData(newData, currentValue);\n newData.t = newValue.toString();\n newData.__complete = false;\n return newData;\n }\n\n return currentValue;\n };\n\n TextProperty.prototype.searchProperty = function () {\n var isKeyframed = this.searchKeyframes();\n var hasExpressions = this.searchExpressions();\n this.kf = isKeyframed || hasExpressions;\n return this.kf;\n };\n\n TextProperty.prototype.searchExpressions = searchExpressions;\n }\n\n function initialize() {\n addDecorator();\n }\n\n registerRenderer('canvas', CanvasRenderer);\n registerRenderer('html', HybridRenderer);\n registerRenderer('svg', SVGRenderer); // Registering shape modifiers\n\n ShapeModifiers.registerModifier('tm', TrimModifier);\n ShapeModifiers.registerModifier('pb', PuckerAndBloatModifier);\n ShapeModifiers.registerModifier('rp', RepeaterModifier);\n ShapeModifiers.registerModifier('rd', RoundCornersModifier); // Registering expression plugin\n\n setExpressionsPlugin(Expressions);\n initialize$1();\n initialize(); // Registering svg effects\n\n registerEffect(20, SVGTintFilter, true);\n registerEffect(21, SVGFillFilter, true);\n registerEffect(22, SVGStrokeEffect, false);\n registerEffect(23, SVGTritoneFilter, true);\n registerEffect(24, SVGProLevelsFilter, true);\n registerEffect(25, SVGDropShadowEffect, true);\n registerEffect(28, SVGMatte3Effect, false);\n registerEffect(29, SVGGaussianBlurEffect, true);\n\n return lottie;\n\n}));\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\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 printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = require('./lib/has');\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) { /**/ }\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\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// React 15.5 references this module, and assumes PropTypes are still callable in production.\n// Therefore we re-export development-only version with all the PropTypes checks here.\n// However if one is migrating to the `prop-types` npm library, they will go through the\n// `index.js` entry point, and it will branch depending on the environment.\nvar factory = require('./factoryWithTypeCheckers');\nmodule.exports = function(isValidElement) {\n // It is still allowed in 15.5.\n var throwOnDirectAccess = false;\n return factory(isValidElement, throwOnDirectAccess);\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 = 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\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar has = require('./lib/has');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bigint: createPrimitiveTypeChecker('bigint'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message, data) {\n this.message = message;\n this.data = data && typeof data === 'object' ? data: {};\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\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 } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n {expectedType: expectedType}\n );\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var expectedTypes = [];\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n if (checkerResult == null) {\n return null;\n }\n if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n expectedTypes.push(checkerResult.data.expectedType);\n }\n }\n var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function invalidValidatorError(componentName, location, propFullName, key, type) {\n return new PropTypeError(\n (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n );\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (has(shapeTypes, key) && typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\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","module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Animated = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _classnames = require(\"classnames\");\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _browserOrNode = require(\"browser-or-node\");\n\nvar _prefixer = require(\"./prefixer\");\n\nvar _prefixer2 = _interopRequireDefault(_prefixer);\n\nvar _propTypes = require(\"prop-types\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar isLteIE9 = function () {\n var ua = _browserOrNode.isBrowser ? window.navigator.userAgent : \"\";\n var ie = ua.indexOf(\"MSIE \");\n return ie > -1 && parseInt(ua.substring(ie + 5, ua.indexOf(\".\", ie)), 10) <= 9;\n}();\n\nvar Animated = exports.Animated = function (_React$Component) {\n _inherits(Animated, _React$Component);\n\n function Animated(props) {\n _classCallCheck(this, Animated);\n\n var _this = _possibleConstructorReturn(this, (Animated.__proto__ || Object.getPrototypeOf(Animated)).call(this, props));\n\n _this.getNewState = function (_ref) {\n var isVisible = _ref.isVisible,\n animationIn = _ref.animationIn,\n animationOut = _ref.animationOut,\n animationInDuration = _ref.animationInDuration,\n animationOutDuration = _ref.animationOutDuration,\n animationInDelay = _ref.animationInDelay,\n animationOutDelay = _ref.animationOutDelay;\n return isVisible ? {\n animation: animationIn,\n duration: animationInDuration,\n delay: animationInDelay\n } : {\n animation: animationOut,\n duration: animationOutDuration,\n delay: animationOutDelay\n };\n };\n\n _this.state = props.animateOnMount ? _this.getNewState(props) : {};\n return _this;\n }\n\n _createClass(Animated, [{\n key: \"componentWillReceiveProps\",\n value: function componentWillReceiveProps(nextProps) {\n var isVisible = this.props.isVisible;\n\n if (isVisible !== nextProps.isVisible) {\n this.setState(this.getNewState(_extends({}, this.props, nextProps)));\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _props = this.props,\n children = _props.children,\n style = _props.style,\n isVisible = _props.isVisible,\n innerRef = _props.innerRef,\n className = _props.className;\n var _state = this.state,\n animation = _state.animation,\n delay = _state.delay,\n duration = _state.duration;\n\n\n var classes = (0, _classnames2.default)(\"animated\", animation, className);\n\n var backwardStyle = isLteIE9 || !animation ? {\n opacity: isVisible ? 1 : 0,\n transition: \"opacity \" + delay + \"ms\"\n } : {};\n\n return _react2.default.createElement(\n \"div\",\n { className: classes,\n ref: innerRef,\n style: (0, _prefixer2.default)(_extends({\n animationDelay: delay + \"ms\",\n animationDuration: duration + \"ms\",\n pointerEvents: isVisible ? \"all\" : \"none\"\n }, style, backwardStyle)) },\n children\n );\n }\n }]);\n\n return Animated;\n}(_react2.default.Component);\n\nAnimated.displayName = \"Animated\";\n\nAnimated.propTypes = {\n animateOnMount: _propTypes.bool,\n isVisible: _propTypes.bool,\n animationIn: _propTypes.string,\n animationOut: _propTypes.string,\n animationInDelay: _propTypes.number,\n animationOutDelay: _propTypes.number,\n animationInDuration: _propTypes.number,\n animationOutDuration: _propTypes.number,\n className: _propTypes.string,\n style: _propTypes.object,\n innerRef: _propTypes.func\n};\n\nAnimated.defaultProps = {\n animateOnMount: true,\n isVisible: true,\n animationIn: \"fadeIn\",\n animationOut: \"fadeOut\",\n animationInDelay: 0,\n animationOutDelay: 0,\n animationInDuration: 1000,\n animationOutDuration: 1000,\n className: \"\",\n style: {}\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar ANIMATABLE_VALUES = exports.ANIMATABLE_VALUES = ['columnCount', 'columnGap', 'columnRule', 'columnRuleColor', 'columnRuleWidth', 'columns', 'flex', 'flexBasis', 'flexGrow', 'flexShrink', 'order', 'perspective', 'perspectiveOrigin', 'perspectiveOriginX', 'perspectiveOriginY', 'scrollSnapCoordinate', 'scrollSnapDirection', 'textDecoration', 'textDecorationColor', 'transform', 'transformOrigin', 'transformOriginX', 'transformOriginY', 'transformOriginZ', 'transformStyle'];\n\nvar CSS_PROPERTIES = exports.CSS_PROPERTIES = ['alignContent', 'alignItems', 'alignSelf', 'animation', 'animationDelay', 'animationDirection', 'animationDuration', 'animationFillMode', 'animationIterationCount', 'animationName', 'animationPlayState', 'animationTimingFunction', 'appearance', 'aspectRatio', 'backfaceVisibility', 'backgroundClip', 'borderImage', 'borderImageSlice', 'boxShadow', 'columnCount', 'columnFill', 'columnGap', 'columnRule', 'columnRuleColor', 'columnRuleStyle', 'columnRuleWidth', 'columnSpan', 'columnWidth', 'columns', 'flex', 'flexBasis', 'flexDirection', 'flexFlow', 'flexGrow', 'flexShrink', 'flexWrap', 'fontFeatureSettings', 'fontKearning', 'fontVariantLigatures', 'justifyContent', 'grid', 'gridArea', 'gridAutoColumns', 'gridAutoFlow', 'gridAutoRows', 'gridColumn', 'gridColumnEnd', 'gridColumnStart', 'gridRow', 'gridRowEnd', 'gridRowStart', 'gridTemplate', 'gridTemplateAreas', 'gridTemplateColumns', 'gridTemplateRows', 'hyphens', 'lineBreak', 'perspective', 'perspectiveOrigin', 'perspectiveOriginX', 'perspectiveOriginY', 'rubyPosition', 'scrollSnapCoordinate', 'scrollSnapDestination', 'scrollSnapPoints', 'scrollSnapPointsX', 'scrollSnapPointsY', 'scrollSnapType', 'tabSize', 'textDecoration', 'textDecorationColor', 'textDecorationLine', 'textDecorationStyle', 'textOrientation', 'textSizeAdjust', 'transform', 'transition', 'transformOrigin', 'transformOriginX', 'transformOriginY', 'transformOriginZ', 'transformStyle', 'transitionProperty', 'transitionDuration', 'transitionTimingFunction', 'transitionDelay', 'userModify', 'userSelect'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _isPlainObject = require('lodash/isPlainObject');\n\nvar _isPlainObject2 = _interopRequireDefault(_isPlainObject);\n\nvar _prefix = require('./prefix');\n\nvar _prefix2 = _interopRequireDefault(_prefix);\n\nvar _supports = require('./supports');\n\nvar _supports2 = _interopRequireDefault(_supports);\n\nvar _constants = require('./constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar toKebabCase = function toKebabCase(string) {\n return string.replace(/([A-Z])/g, function ($1) {\n return '-' + $1.toLowerCase();\n });\n};\n\nvar applyPrefixes = function applyPrefixes(object) {\n if (!(0, _isPlainObject2.default)(object)) {\n return object;\n }\n\n var value = void 0;\n\n return Object.keys(object).reduce(function (styleObject, originalKey) {\n var key = originalKey;\n\n value = object[key];\n\n if ((0, _isPlainObject2.default)(value)) {\n return _extends({}, styleObject, _defineProperty({}, key, applyPrefixes(value)));\n }\n\n if (_constants.CSS_PROPERTIES.indexOf(key) !== -1 && !(0, _supports2.default)(toKebabCase(key), value)) {\n key = '' + _prefix2.default.js + key.charAt(0).toUpperCase() + key.slice(1);\n }\n\n if (originalKey === 'display' && object[originalKey] === 'flex' && !(0, _supports2.default)('display', 'flex')) {\n return _extends({}, styleObject, _defineProperty({}, key, _prefix2.default.js === 'ms' ? '-ms-flexbox' : _prefix2.default.css + 'flex'));\n }\n\n if (originalKey === 'transition') {\n var animatableValuesObject = _constants.ANIMATABLE_VALUES.reduce(function (animatableValues, animatableValue) {\n var kebabValue = toKebabCase(animatableValue);\n var re = new RegExp(kebabValue, 'g');\n\n if (re.test(object[originalKey]) && !(0, _supports2.default)(kebabValue)) {\n var cleanValue = object[originalKey].replace(re, '' + _prefix2.default.css + kebabValue);\n\n return _extends({}, animatableValues, _defineProperty({}, key, cleanValue));\n }\n\n return animatableValues;\n }, {});\n\n return _extends({}, styleObject, animatableValuesObject);\n }\n\n return _extends({}, styleObject, _defineProperty({}, key, value));\n }, {});\n};\n\nexports.default = applyPrefixes;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _browserOrNode = require('browser-or-node');\n\nvar prefixObject = {\n css: '',\n js: ''\n};\n\nif (_browserOrNode.isBrowser) {\n var styles = window.getComputedStyle(document.documentElement);\n var prefixString = Array.prototype.slice.call(styles).join('');\n var standardPrefixString = prefixString.match(/-(moz|webkit|ms)-/);\n var operaPrefixString = prefixString.match(styles.OLink === '' && ['', 'o']);\n var prefixMatch = standardPrefixString || operaPrefixString;\n\n var prefix = prefixMatch ? prefixMatch[1] : '';\n\n prefixObject = {\n css: '-' + prefix + '-',\n js: prefix\n };\n\n if (prefixObject.js !== 'ms') {\n prefixObject = _extends({}, prefixObject, {\n js: '' + prefixObject.js.charAt(0).toUpperCase() + prefixObject.js.slice(1)\n });\n }\n}\n\nexports.default = prefixObject;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _browserOrNode = require('browser-or-node');\n\nvar _camelCase = require('lodash/camelCase');\n\nvar _camelCase2 = _interopRequireDefault(_camelCase);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar isSupported = function isSupported(property, value) {\n if (_browserOrNode.isBrowser) {\n if ('CSS' in window && 'supports' in window.CSS) {\n return window.CSS.supports(property, value);\n }\n\n if ('supportsCSS' in window) {\n return window.supportsCSS(property, value);\n }\n\n var camelCaseProperty = (0, _camelCase2.default)(property);\n\n var element = document.createElement('div');\n var support = camelCaseProperty in element.style;\n\n element.style.cssText = property + ':' + value;\n\n return support && element.style[camelCaseProperty] !== '';\n }\n return false;\n};\n\nexports.default = isSupported;","/**\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 */\n\n'use strict';\n\n/**\n * Escape and wrap key so it is safe to use as a reactid\n *\n * @param {string} key to be escaped.\n * @return {string} the escaped key.\n */\n\nfunction escape(key) {\n var escapeRegex = /[=:]/g;\n var escaperLookup = {\n '=': '=0',\n ':': '=2'\n };\n var escapedString = ('' + key).replace(escapeRegex, function (match) {\n return escaperLookup[match];\n });\n\n return '$' + escapedString;\n}\n\n/**\n * Unescape and unwrap key for human-readable display\n *\n * @param {string} key to unescape.\n * @return {string} the unescaped key.\n */\nfunction unescape(key) {\n var unescapeRegex = /(=0|=2)/g;\n var unescaperLookup = {\n '=0': '=',\n '=2': ':'\n };\n var keySubstring = key[0] === '.' && key[1] === '$' ? key.substring(2) : key.substring(1);\n\n return ('' + keySubstring).replace(unescapeRegex, function (match) {\n return unescaperLookup[match];\n });\n}\n\nvar KeyEscapeUtils = {\n escape: escape,\n unescape: unescape\n};\n\nmodule.exports = KeyEscapeUtils;","/**\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 */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * Static poolers. Several custom versions for each potential number of\n * arguments. A completely generic pooler is easy to implement, but would\n * require accessing the `arguments` object. In each of these, `this` refers to\n * the Class itself, not an instance. If any others are needed, simply add them\n * here, or in their own files.\n */\nvar oneArgumentPooler = function (copyFieldsFrom) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, copyFieldsFrom);\n return instance;\n } else {\n return new Klass(copyFieldsFrom);\n }\n};\n\nvar twoArgumentPooler = function (a1, a2) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2);\n return instance;\n } else {\n return new Klass(a1, a2);\n }\n};\n\nvar threeArgumentPooler = function (a1, a2, a3) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2, a3);\n return instance;\n } else {\n return new Klass(a1, a2, a3);\n }\n};\n\nvar fourArgumentPooler = function (a1, a2, a3, a4) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2, a3, a4);\n return instance;\n } else {\n return new Klass(a1, a2, a3, a4);\n }\n};\n\nvar standardReleaser = function (instance) {\n var Klass = this;\n !(instance instanceof Klass) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Trying to release an instance into a pool of a different type.') : _prodInvariant('25') : void 0;\n instance.destructor();\n if (Klass.instancePool.length < Klass.poolSize) {\n Klass.instancePool.push(instance);\n }\n};\n\nvar DEFAULT_POOL_SIZE = 10;\nvar DEFAULT_POOLER = oneArgumentPooler;\n\n/**\n * Augments `CopyConstructor` to be a poolable class, augmenting only the class\n * itself (statically) not adding any prototypical fields. Any CopyConstructor\n * you give this may have a `poolSize` property, and will look for a\n * prototypical `destructor` on instances.\n *\n * @param {Function} CopyConstructor Constructor that can be used to reset.\n * @param {Function} pooler Customizable pooler.\n */\nvar addPoolingTo = function (CopyConstructor, pooler) {\n // Casting as any so that flow ignores the actual implementation and trusts\n // it to match the type we declared\n var NewKlass = CopyConstructor;\n NewKlass.instancePool = [];\n NewKlass.getPooled = pooler || DEFAULT_POOLER;\n if (!NewKlass.poolSize) {\n NewKlass.poolSize = DEFAULT_POOL_SIZE;\n }\n NewKlass.release = standardReleaser;\n return NewKlass;\n};\n\nvar PooledClass = {\n addPoolingTo: addPoolingTo,\n oneArgumentPooler: oneArgumentPooler,\n twoArgumentPooler: twoArgumentPooler,\n threeArgumentPooler: threeArgumentPooler,\n fourArgumentPooler: fourArgumentPooler\n};\n\nmodule.exports = PooledClass;","/**\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\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar ReactBaseClasses = require('./ReactBaseClasses');\nvar ReactChildren = require('./ReactChildren');\nvar ReactDOMFactories = require('./ReactDOMFactories');\nvar ReactElement = require('./ReactElement');\nvar ReactPropTypes = require('./ReactPropTypes');\nvar ReactVersion = require('./ReactVersion');\n\nvar createReactClass = require('./createClass');\nvar onlyChild = require('./onlyChild');\n\nvar createElement = ReactElement.createElement;\nvar createFactory = ReactElement.createFactory;\nvar cloneElement = ReactElement.cloneElement;\n\nif (process.env.NODE_ENV !== 'production') {\n var lowPriorityWarning = require('./lowPriorityWarning');\n var canDefineProperty = require('./canDefineProperty');\n var ReactElementValidator = require('./ReactElementValidator');\n var didWarnPropTypesDeprecated = false;\n createElement = ReactElementValidator.createElement;\n createFactory = ReactElementValidator.createFactory;\n cloneElement = ReactElementValidator.cloneElement;\n}\n\nvar __spread = _assign;\nvar createMixin = function (mixin) {\n return mixin;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var warnedForSpread = false;\n var warnedForCreateMixin = false;\n __spread = function () {\n lowPriorityWarning(warnedForSpread, 'React.__spread is deprecated and should not be used. Use ' + 'Object.assign directly or another helper function with similar ' + 'semantics. You may be seeing this warning due to your compiler. ' + 'See https://fb.me/react-spread-deprecation for more details.');\n warnedForSpread = true;\n return _assign.apply(null, arguments);\n };\n\n createMixin = function (mixin) {\n lowPriorityWarning(warnedForCreateMixin, 'React.createMixin is deprecated and should not be used. ' + 'In React v16.0, it will be removed. ' + 'You can use this mixin directly instead. ' + 'See https://fb.me/createmixin-was-never-implemented for more info.');\n warnedForCreateMixin = true;\n return mixin;\n };\n}\n\nvar React = {\n // Modern\n\n Children: {\n map: ReactChildren.map,\n forEach: ReactChildren.forEach,\n count: ReactChildren.count,\n toArray: ReactChildren.toArray,\n only: onlyChild\n },\n\n Component: ReactBaseClasses.Component,\n PureComponent: ReactBaseClasses.PureComponent,\n\n createElement: createElement,\n cloneElement: cloneElement,\n isValidElement: ReactElement.isValidElement,\n\n // Classic\n\n PropTypes: ReactPropTypes,\n createClass: createReactClass,\n createFactory: createFactory,\n createMixin: createMixin,\n\n // This looks DOM specific but these are actually isomorphic helpers\n // since they are just generating DOM strings.\n DOM: ReactDOMFactories,\n\n version: ReactVersion,\n\n // Deprecated hook for JSX spread, don't use this for anything.\n __spread: __spread\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var warnedForCreateClass = false;\n if (canDefineProperty) {\n Object.defineProperty(React, 'PropTypes', {\n get: function () {\n lowPriorityWarning(didWarnPropTypesDeprecated, 'Accessing PropTypes via the main React package is deprecated,' + ' and will be removed in React v16.0.' + ' Use the latest available v15.* prop-types package from npm instead.' + ' For info on usage, compatibility, migration and more, see ' + 'https://fb.me/prop-types-docs');\n didWarnPropTypesDeprecated = true;\n return ReactPropTypes;\n }\n });\n\n Object.defineProperty(React, 'createClass', {\n get: function () {\n lowPriorityWarning(warnedForCreateClass, 'Accessing createClass via the main React package is deprecated,' + ' and will be removed in React v16.0.' + \" Use a plain JavaScript class instead. If you're not yet \" + 'ready to migrate, create-react-class v15.* is available ' + 'on npm as a temporary, drop-in replacement. ' + 'For more info see https://fb.me/react-create-class');\n warnedForCreateClass = true;\n return createReactClass;\n }\n });\n }\n\n // React.DOM factories are deprecated. Wrap these methods so that\n // invocations of the React.DOM namespace and alert users to switch\n // to the `react-dom-factories` package.\n React.DOM = {};\n var warnedForFactories = false;\n Object.keys(ReactDOMFactories).forEach(function (factory) {\n React.DOM[factory] = function () {\n if (!warnedForFactories) {\n lowPriorityWarning(false, 'Accessing factories like React.DOM.%s has been deprecated ' + 'and will be removed in v16.0+. Use the ' + 'react-dom-factories package instead. ' + ' Version 1.0 provides a drop-in replacement.' + ' For more info, see https://fb.me/react-dom-factories', factory);\n warnedForFactories = true;\n }\n return ReactDOMFactories[factory].apply(ReactDOMFactories, arguments);\n };\n });\n}\n\nmodule.exports = React;","/**\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\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant'),\n _assign = require('object-assign');\n\nvar ReactNoopUpdateQueue = require('./ReactNoopUpdateQueue');\n\nvar canDefineProperty = require('./canDefineProperty');\nvar emptyObject = require('fbjs/lib/emptyObject');\nvar invariant = require('fbjs/lib/invariant');\nvar lowPriorityWarning = require('./lowPriorityWarning');\n\n/**\n * Base class helpers for the updating state of a component.\n */\nfunction ReactComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n // We initialize the default updater but the real one gets injected by the\n // renderer.\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nReactComponent.prototype.isReactComponent = {};\n\n/**\n * Sets a subset of the state. Always use this to mutate\n * state. You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * There is no guarantee that calls to `setState` will run synchronously,\n * as they may eventually be batched together. You can provide an optional\n * callback that will be executed when the call to setState is actually\n * completed.\n *\n * When a function is provided to setState, it will be called at some point in\n * the future (not synchronously). It will be called with the up to date\n * component arguments (state, props, context). These values can be different\n * from this.* because your function may be called after receiveProps but before\n * shouldComponentUpdate, and this new state, props, and context will not yet be\n * assigned to this.\n *\n * @param {object|function} partialState Next partial state or function to\n * produce next partial state to be merged with current state.\n * @param {?function} callback Called after state is updated.\n * @final\n * @protected\n */\nReactComponent.prototype.setState = function (partialState, callback) {\n !(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'setState(...): takes an object of state variables to update or a function which returns an object of state variables.') : _prodInvariant('85') : void 0;\n this.updater.enqueueSetState(this, partialState);\n if (callback) {\n this.updater.enqueueCallback(this, callback, 'setState');\n }\n};\n\n/**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {?function} callback Called after update is complete.\n * @final\n * @protected\n */\nReactComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this);\n if (callback) {\n this.updater.enqueueCallback(this, callback, 'forceUpdate');\n }\n};\n\n/**\n * Deprecated APIs. These APIs used to exist on classic React classes but since\n * we would like to deprecate them, we're not going to move them over to this\n * modern base class. Instead, we define a getter that warns if it's accessed.\n */\nif (process.env.NODE_ENV !== 'production') {\n var deprecatedAPIs = {\n isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],\n replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']\n };\n var defineDeprecationWarning = function (methodName, info) {\n if (canDefineProperty) {\n Object.defineProperty(ReactComponent.prototype, methodName, {\n get: function () {\n lowPriorityWarning(false, '%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]);\n return undefined;\n }\n });\n }\n };\n for (var fnName in deprecatedAPIs) {\n if (deprecatedAPIs.hasOwnProperty(fnName)) {\n defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\n }\n }\n}\n\n/**\n * Base class helpers for the updating state of a component.\n */\nfunction ReactPureComponent(props, context, updater) {\n // Duplicated from ReactComponent.\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n // We initialize the default updater but the real one gets injected by the\n // renderer.\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nfunction ComponentDummy() {}\nComponentDummy.prototype = ReactComponent.prototype;\nReactPureComponent.prototype = new ComponentDummy();\nReactPureComponent.prototype.constructor = ReactPureComponent;\n// Avoid an extra prototype jump for these methods.\n_assign(ReactPureComponent.prototype, ReactComponent.prototype);\nReactPureComponent.prototype.isPureReactComponent = true;\n\nmodule.exports = {\n Component: ReactComponent,\n PureComponent: ReactPureComponent\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\n'use strict';\n\nvar PooledClass = require('./PooledClass');\nvar ReactElement = require('./ReactElement');\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar traverseAllChildren = require('./traverseAllChildren');\n\nvar twoArgumentPooler = PooledClass.twoArgumentPooler;\nvar fourArgumentPooler = PooledClass.fourArgumentPooler;\n\nvar userProvidedKeyEscapeRegex = /\\/+/g;\nfunction escapeUserProvidedKey(text) {\n return ('' + text).replace(userProvidedKeyEscapeRegex, '$&/');\n}\n\n/**\n * PooledClass representing the bookkeeping associated with performing a child\n * traversal. Allows avoiding binding callbacks.\n *\n * @constructor ForEachBookKeeping\n * @param {!function} forEachFunction Function to perform traversal with.\n * @param {?*} forEachContext Context to perform context with.\n */\nfunction ForEachBookKeeping(forEachFunction, forEachContext) {\n this.func = forEachFunction;\n this.context = forEachContext;\n this.count = 0;\n}\nForEachBookKeeping.prototype.destructor = function () {\n this.func = null;\n this.context = null;\n this.count = 0;\n};\nPooledClass.addPoolingTo(ForEachBookKeeping, twoArgumentPooler);\n\nfunction forEachSingleChild(bookKeeping, child, name) {\n var func = bookKeeping.func,\n context = bookKeeping.context;\n\n func.call(context, child, bookKeeping.count++);\n}\n\n/**\n * Iterates through children that are typically specified as `props.children`.\n *\n * See https://facebook.github.io/react/docs/top-level-api.html#react.children.foreach\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} forEachFunc\n * @param {*} forEachContext Context for forEachContext.\n */\nfunction forEachChildren(children, forEachFunc, forEachContext) {\n if (children == null) {\n return children;\n }\n var traverseContext = ForEachBookKeeping.getPooled(forEachFunc, forEachContext);\n traverseAllChildren(children, forEachSingleChild, traverseContext);\n ForEachBookKeeping.release(traverseContext);\n}\n\n/**\n * PooledClass representing the bookkeeping associated with performing a child\n * mapping. Allows avoiding binding callbacks.\n *\n * @constructor MapBookKeeping\n * @param {!*} mapResult Object containing the ordered map of results.\n * @param {!function} mapFunction Function to perform mapping with.\n * @param {?*} mapContext Context to perform mapping with.\n */\nfunction MapBookKeeping(mapResult, keyPrefix, mapFunction, mapContext) {\n this.result = mapResult;\n this.keyPrefix = keyPrefix;\n this.func = mapFunction;\n this.context = mapContext;\n this.count = 0;\n}\nMapBookKeeping.prototype.destructor = function () {\n this.result = null;\n this.keyPrefix = null;\n this.func = null;\n this.context = null;\n this.count = 0;\n};\nPooledClass.addPoolingTo(MapBookKeeping, fourArgumentPooler);\n\nfunction mapSingleChildIntoContext(bookKeeping, child, childKey) {\n var result = bookKeeping.result,\n keyPrefix = bookKeeping.keyPrefix,\n func = bookKeeping.func,\n context = bookKeeping.context;\n\n\n var mappedChild = func.call(context, child, bookKeeping.count++);\n if (Array.isArray(mappedChild)) {\n mapIntoWithKeyPrefixInternal(mappedChild, result, childKey, emptyFunction.thatReturnsArgument);\n } else if (mappedChild != null) {\n if (ReactElement.isValidElement(mappedChild)) {\n mappedChild = ReactElement.cloneAndReplaceKey(mappedChild,\n // Keep both the (mapped) and old keys if they differ, just as\n // traverseAllChildren used to do for objects as children\n keyPrefix + (mappedChild.key && (!child || child.key !== mappedChild.key) ? escapeUserProvidedKey(mappedChild.key) + '/' : '') + childKey);\n }\n result.push(mappedChild);\n }\n}\n\nfunction mapIntoWithKeyPrefixInternal(children, array, prefix, func, context) {\n var escapedPrefix = '';\n if (prefix != null) {\n escapedPrefix = escapeUserProvidedKey(prefix) + '/';\n }\n var traverseContext = MapBookKeeping.getPooled(array, escapedPrefix, func, context);\n traverseAllChildren(children, mapSingleChildIntoContext, traverseContext);\n MapBookKeeping.release(traverseContext);\n}\n\n/**\n * Maps children that are typically specified as `props.children`.\n *\n * See https://facebook.github.io/react/docs/top-level-api.html#react.children.map\n *\n * The provided mapFunction(child, key, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} func The map function.\n * @param {*} context Context for mapFunction.\n * @return {object} Object containing the ordered map of results.\n */\nfunction mapChildren(children, func, context) {\n if (children == null) {\n return children;\n }\n var result = [];\n mapIntoWithKeyPrefixInternal(children, result, null, func, context);\n return result;\n}\n\nfunction forEachSingleChildDummy(traverseContext, child, name) {\n return null;\n}\n\n/**\n * Count the number of children that are typically specified as\n * `props.children`.\n *\n * See https://facebook.github.io/react/docs/top-level-api.html#react.children.count\n *\n * @param {?*} children Children tree container.\n * @return {number} The number of children.\n */\nfunction countChildren(children, context) {\n return traverseAllChildren(children, forEachSingleChildDummy, null);\n}\n\n/**\n * Flatten a children object (typically specified as `props.children`) and\n * return an array with appropriately re-keyed children.\n *\n * See https://facebook.github.io/react/docs/top-level-api.html#react.children.toarray\n */\nfunction toArray(children) {\n var result = [];\n mapIntoWithKeyPrefixInternal(children, result, null, emptyFunction.thatReturnsArgument);\n return result;\n}\n\nvar ReactChildren = {\n forEach: forEachChildren,\n map: mapChildren,\n mapIntoWithKeyPrefixInternal: mapIntoWithKeyPrefixInternal,\n count: countChildren,\n toArray: toArray\n};\n\nmodule.exports = ReactChildren;","/**\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 */\n\n'use strict';\n\n/**\n * Keeps track of the current owner.\n *\n * The current owner is the component who should own any components that are\n * currently being constructed.\n */\nvar ReactCurrentOwner = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\n\nmodule.exports = ReactCurrentOwner;","/**\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\n'use strict';\n\nvar ReactElement = require('./ReactElement');\n\n/**\n * Create a factory that creates HTML tag elements.\n *\n * @private\n */\nvar createDOMFactory = ReactElement.createFactory;\nif (process.env.NODE_ENV !== 'production') {\n var ReactElementValidator = require('./ReactElementValidator');\n createDOMFactory = ReactElementValidator.createFactory;\n}\n\n/**\n * Creates a mapping from supported HTML tags to `ReactDOMComponent` classes.\n *\n * @public\n */\nvar ReactDOMFactories = {\n a: createDOMFactory('a'),\n abbr: createDOMFactory('abbr'),\n address: createDOMFactory('address'),\n area: createDOMFactory('area'),\n article: createDOMFactory('article'),\n aside: createDOMFactory('aside'),\n audio: createDOMFactory('audio'),\n b: createDOMFactory('b'),\n base: createDOMFactory('base'),\n bdi: createDOMFactory('bdi'),\n bdo: createDOMFactory('bdo'),\n big: createDOMFactory('big'),\n blockquote: createDOMFactory('blockquote'),\n body: createDOMFactory('body'),\n br: createDOMFactory('br'),\n button: createDOMFactory('button'),\n canvas: createDOMFactory('canvas'),\n caption: createDOMFactory('caption'),\n cite: createDOMFactory('cite'),\n code: createDOMFactory('code'),\n col: createDOMFactory('col'),\n colgroup: createDOMFactory('colgroup'),\n data: createDOMFactory('data'),\n datalist: createDOMFactory('datalist'),\n dd: createDOMFactory('dd'),\n del: createDOMFactory('del'),\n details: createDOMFactory('details'),\n dfn: createDOMFactory('dfn'),\n dialog: createDOMFactory('dialog'),\n div: createDOMFactory('div'),\n dl: createDOMFactory('dl'),\n dt: createDOMFactory('dt'),\n em: createDOMFactory('em'),\n embed: createDOMFactory('embed'),\n fieldset: createDOMFactory('fieldset'),\n figcaption: createDOMFactory('figcaption'),\n figure: createDOMFactory('figure'),\n footer: createDOMFactory('footer'),\n form: createDOMFactory('form'),\n h1: createDOMFactory('h1'),\n h2: createDOMFactory('h2'),\n h3: createDOMFactory('h3'),\n h4: createDOMFactory('h4'),\n h5: createDOMFactory('h5'),\n h6: createDOMFactory('h6'),\n head: createDOMFactory('head'),\n header: createDOMFactory('header'),\n hgroup: createDOMFactory('hgroup'),\n hr: createDOMFactory('hr'),\n html: createDOMFactory('html'),\n i: createDOMFactory('i'),\n iframe: createDOMFactory('iframe'),\n img: createDOMFactory('img'),\n input: createDOMFactory('input'),\n ins: createDOMFactory('ins'),\n kbd: createDOMFactory('kbd'),\n keygen: createDOMFactory('keygen'),\n label: createDOMFactory('label'),\n legend: createDOMFactory('legend'),\n li: createDOMFactory('li'),\n link: createDOMFactory('link'),\n main: createDOMFactory('main'),\n map: createDOMFactory('map'),\n mark: createDOMFactory('mark'),\n menu: createDOMFactory('menu'),\n menuitem: createDOMFactory('menuitem'),\n meta: createDOMFactory('meta'),\n meter: createDOMFactory('meter'),\n nav: createDOMFactory('nav'),\n noscript: createDOMFactory('noscript'),\n object: createDOMFactory('object'),\n ol: createDOMFactory('ol'),\n optgroup: createDOMFactory('optgroup'),\n option: createDOMFactory('option'),\n output: createDOMFactory('output'),\n p: createDOMFactory('p'),\n param: createDOMFactory('param'),\n picture: createDOMFactory('picture'),\n pre: createDOMFactory('pre'),\n progress: createDOMFactory('progress'),\n q: createDOMFactory('q'),\n rp: createDOMFactory('rp'),\n rt: createDOMFactory('rt'),\n ruby: createDOMFactory('ruby'),\n s: createDOMFactory('s'),\n samp: createDOMFactory('samp'),\n script: createDOMFactory('script'),\n section: createDOMFactory('section'),\n select: createDOMFactory('select'),\n small: createDOMFactory('small'),\n source: createDOMFactory('source'),\n span: createDOMFactory('span'),\n strong: createDOMFactory('strong'),\n style: createDOMFactory('style'),\n sub: createDOMFactory('sub'),\n summary: createDOMFactory('summary'),\n sup: createDOMFactory('sup'),\n table: createDOMFactory('table'),\n tbody: createDOMFactory('tbody'),\n td: createDOMFactory('td'),\n textarea: createDOMFactory('textarea'),\n tfoot: createDOMFactory('tfoot'),\n th: createDOMFactory('th'),\n thead: createDOMFactory('thead'),\n time: createDOMFactory('time'),\n title: createDOMFactory('title'),\n tr: createDOMFactory('tr'),\n track: createDOMFactory('track'),\n u: createDOMFactory('u'),\n ul: createDOMFactory('ul'),\n 'var': createDOMFactory('var'),\n video: createDOMFactory('video'),\n wbr: createDOMFactory('wbr'),\n\n // SVG\n circle: createDOMFactory('circle'),\n clipPath: createDOMFactory('clipPath'),\n defs: createDOMFactory('defs'),\n ellipse: createDOMFactory('ellipse'),\n g: createDOMFactory('g'),\n image: createDOMFactory('image'),\n line: createDOMFactory('line'),\n linearGradient: createDOMFactory('linearGradient'),\n mask: createDOMFactory('mask'),\n path: createDOMFactory('path'),\n pattern: createDOMFactory('pattern'),\n polygon: createDOMFactory('polygon'),\n polyline: createDOMFactory('polyline'),\n radialGradient: createDOMFactory('radialGradient'),\n rect: createDOMFactory('rect'),\n stop: createDOMFactory('stop'),\n svg: createDOMFactory('svg'),\n text: createDOMFactory('text'),\n tspan: createDOMFactory('tspan')\n};\n\nmodule.exports = ReactDOMFactories;","/**\n * Copyright (c) 2014-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\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar ReactCurrentOwner = require('./ReactCurrentOwner');\n\nvar warning = require('fbjs/lib/warning');\nvar canDefineProperty = require('./canDefineProperty');\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar REACT_ELEMENT_TYPE = require('./ReactElementSymbol');\n\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\n\nvar specialPropKeyWarningShown, specialPropRefWarningShown;\n\nfunction hasValidRef(config) {\n if (process.env.NODE_ENV !== 'production') {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n if (process.env.NODE_ENV !== 'production') {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n return config.key !== undefined;\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n process.env.NODE_ENV !== 'production' ? warning(false, '%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName) : void 0;\n }\n };\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n process.env.NODE_ENV !== 'production' ? warning(false, '%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName) : void 0;\n }\n };\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n}\n\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, no instanceof check\n * will work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} key\n * @param {string|object} ref\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @param {*} owner\n * @param {*} props\n * @internal\n */\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allow us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n if (process.env.NODE_ENV !== 'production') {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {};\n\n // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n if (canDefineProperty) {\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n });\n // self and source are DEV only properties.\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n });\n // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n } else {\n element._store.validated = false;\n element._self = self;\n element._source = source;\n }\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n\n/**\n * Create and return a new ReactElement of the given type.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.createelement\n */\nReactElement.createElement = function (type, config, children) {\n var propName;\n\n // Reserved names are extracted\n var props = {};\n\n var key = null;\n var ref = null;\n var self = null;\n var source = null;\n\n if (config != null) {\n if (hasValidRef(config)) {\n ref = config.ref;\n }\n if (hasValidKey(config)) {\n key = '' + config.key;\n }\n\n self = config.__self === undefined ? null : config.__self;\n source = config.__source === undefined ? null : config.__source;\n // Remaining properties are added to a new props object\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n }\n }\n\n // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n var childrenLength = arguments.length - 2;\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n if (process.env.NODE_ENV !== 'production') {\n if (Object.freeze) {\n Object.freeze(childArray);\n }\n }\n props.children = childArray;\n }\n\n // Resolve default props\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n if (key || ref) {\n if (typeof props.$$typeof === 'undefined' || props.$$typeof !== REACT_ELEMENT_TYPE) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n }\n }\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n};\n\n/**\n * Return a function that produces ReactElements of a given type.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.createfactory\n */\nReactElement.createFactory = function (type) {\n var factory = ReactElement.createElement.bind(null, type);\n // Expose the type on the factory and the prototype so that it can be\n // easily accessed on elements. E.g. `.type === Foo`.\n // This should not be named `constructor` since this may not be the function\n // that created the element, and it may not even be a constructor.\n // Legacy hook TODO: Warn if this is accessed\n factory.type = type;\n return factory;\n};\n\nReactElement.cloneAndReplaceKey = function (oldElement, newKey) {\n var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props);\n\n return newElement;\n};\n\n/**\n * Clone and return a new ReactElement using element as the starting point.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.cloneelement\n */\nReactElement.cloneElement = function (element, config, children) {\n var propName;\n\n // Original props are copied\n var props = _assign({}, element.props);\n\n // Reserved names are extracted\n var key = element.key;\n var ref = element.ref;\n // Self is preserved since the owner is preserved.\n var self = element._self;\n // Source is preserved since cloneElement is unlikely to be targeted by a\n // transpiler, and the original source is probably a better indicator of the\n // true owner.\n var source = element._source;\n\n // Owner will be preserved, unless ref is overridden\n var owner = element._owner;\n\n if (config != null) {\n if (hasValidRef(config)) {\n // Silently steal the ref from the parent.\n ref = config.ref;\n owner = ReactCurrentOwner.current;\n }\n if (hasValidKey(config)) {\n key = '' + config.key;\n }\n\n // Remaining properties override existing props\n var defaultProps;\n if (element.type && element.type.defaultProps) {\n defaultProps = element.type.defaultProps;\n }\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n if (config[propName] === undefined && defaultProps !== undefined) {\n // Resolve default props\n props[propName] = defaultProps[propName];\n } else {\n props[propName] = config[propName];\n }\n }\n }\n }\n\n // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n var childrenLength = arguments.length - 2;\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n props.children = childArray;\n }\n\n return ReactElement(element.type, key, ref, self, source, owner, props);\n};\n\n/**\n * Verifies the object is a ReactElement.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a valid component.\n * @final\n */\nReactElement.isValidElement = function (object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n};\n\nmodule.exports = ReactElement;","/**\n * Copyright (c) 2014-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 */\n\n'use strict';\n\n// The Symbol used to tag the ReactElement type. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\n\nvar REACT_ELEMENT_TYPE = typeof Symbol === 'function' && Symbol['for'] && Symbol['for']('react.element') || 0xeac7;\n\nmodule.exports = REACT_ELEMENT_TYPE;","/**\n * Copyright (c) 2015-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\n'use strict';\n\nvar warning = require('fbjs/lib/warning');\n\nfunction warnNoop(publicInstance, callerName) {\n if (process.env.NODE_ENV !== 'production') {\n var constructor = publicInstance.constructor;\n process.env.NODE_ENV !== 'production' ? warning(false, '%s(...): Can only update a mounted or mounting component. ' + 'This usually means you called %s() on an unmounted component. ' + 'This is a no-op. Please check the code for the %s component.', callerName, callerName, constructor && (constructor.displayName || constructor.name) || 'ReactClass') : void 0;\n }\n}\n\n/**\n * This is the abstract API for an update queue.\n */\nvar ReactNoopUpdateQueue = {\n /**\n * Checks whether or not this composite component is mounted.\n * @param {ReactClass} publicInstance The instance we want to test.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function (publicInstance) {\n return false;\n },\n\n /**\n * Enqueue a callback that will be executed after all the pending updates\n * have processed.\n *\n * @param {ReactClass} publicInstance The instance to use as `this` context.\n * @param {?function} callback Called after state is updated.\n * @internal\n */\n enqueueCallback: function (publicInstance, callback) {},\n\n /**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @internal\n */\n enqueueForceUpdate: function (publicInstance) {\n warnNoop(publicInstance, 'forceUpdate');\n },\n\n /**\n * Replaces all of the state. Always use this or `setState` to mutate state.\n * You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} completeState Next state.\n * @internal\n */\n enqueueReplaceState: function (publicInstance, completeState) {\n warnNoop(publicInstance, 'replaceState');\n },\n\n /**\n * Sets a subset of the state. This only exists because _pendingState is\n * internal. This provides a merging strategy that is not available to deep\n * properties which is confusing. TODO: Expose pendingState or don't use it\n * during the merge.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} partialState Next partial state to be merged with state.\n * @internal\n */\n enqueueSetState: function (publicInstance, partialState) {\n warnNoop(publicInstance, 'setState');\n }\n};\n\nmodule.exports = ReactNoopUpdateQueue;","/**\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\n'use strict';\n\nvar _require = require('./ReactElement'),\n isValidElement = _require.isValidElement;\n\nvar factory = require('prop-types/factory');\n\nmodule.exports = factory(isValidElement);","/**\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\n'use strict';\n\nmodule.exports = '15.7.0';\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 */\n\n'use strict';\n\nvar canDefineProperty = false;\nif (process.env.NODE_ENV !== 'production') {\n try {\n // $FlowFixMe https://github.com/facebook/flow/issues/285\n Object.defineProperty({}, 'x', { get: function () {} });\n canDefineProperty = true;\n } catch (x) {\n // IE will fail on defineProperty\n }\n}\n\nmodule.exports = canDefineProperty;","/**\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\n'use strict';\n\nvar _require = require('./ReactBaseClasses'),\n Component = _require.Component;\n\nvar _require2 = require('./ReactElement'),\n isValidElement = _require2.isValidElement;\n\nvar ReactNoopUpdateQueue = require('./ReactNoopUpdateQueue');\nvar factory = require('create-react-class/factory');\n\nmodule.exports = factory(Component, isValidElement, ReactNoopUpdateQueue);","/**\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 */\n\n'use strict';\n\n/* global Symbol */\n\nvar ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n/**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\nfunction getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n}\n\nmodule.exports = getIteratorFn;","/**\n * Copyright (c) 2014-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\n'use strict';\n\n/**\n * Forked from fbjs/warning:\n * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js\n *\n * Only change is we use console.warn instead of console.error,\n * and do nothing when 'console' is not supported.\n * This really simplifies the code.\n * ---\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar lowPriorityWarning = function () {};\n\nif (process.env.NODE_ENV !== 'production') {\n var printWarning = function (format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.warn(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n lowPriorityWarning = function (condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\nmodule.exports = lowPriorityWarning;","/**\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 _prodInvariant = require('./reactProdInvariant');\n\nvar ReactElement = require('./ReactElement');\n\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * Returns the first child in a collection of children and verifies that there\n * is only one child in the collection.\n *\n * See https://facebook.github.io/react/docs/top-level-api.html#react.children.only\n *\n * The current implementation of this function assumes that a single child gets\n * passed without a wrapper, but the purpose of this helper function is to\n * abstract away the particular structure of children.\n *\n * @param {?object} children Child collection structure.\n * @return {ReactElement} The first and only `ReactElement` contained in the\n * structure.\n */\nfunction onlyChild(children) {\n !ReactElement.isValidElement(children) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'React.Children.only expected to receive a single React element child.') : _prodInvariant('143') : void 0;\n return children;\n}\n\nmodule.exports = onlyChild;","/**\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 */\n'use strict';\n\n/**\n * WARNING: DO NOT manually require this module.\n * This is a replacement for `invariant(...)` used by the error code system\n * and will _only_ be required by the corresponding babel pass.\n * It always throws.\n */\n\nfunction reactProdInvariant(code) {\n var argCount = arguments.length - 1;\n\n var message = 'Minified React error #' + code + '; visit ' + 'http://facebook.github.io/react/docs/error-decoder.html?invariant=' + code;\n\n for (var argIdx = 0; argIdx < argCount; argIdx++) {\n message += '&args[]=' + encodeURIComponent(arguments[argIdx + 1]);\n }\n\n message += ' for the full message or use the non-minified dev environment' + ' for full errors and additional helpful warnings.';\n\n var error = new Error(message);\n error.name = 'Invariant Violation';\n error.framesToPop = 1; // we don't care about reactProdInvariant's own frame\n\n throw error;\n}\n\nmodule.exports = reactProdInvariant;","/**\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\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar ReactCurrentOwner = require('./ReactCurrentOwner');\nvar REACT_ELEMENT_TYPE = require('./ReactElementSymbol');\n\nvar getIteratorFn = require('./getIteratorFn');\nvar invariant = require('fbjs/lib/invariant');\nvar KeyEscapeUtils = require('./KeyEscapeUtils');\nvar warning = require('fbjs/lib/warning');\n\nvar SEPARATOR = '.';\nvar SUBSEPARATOR = ':';\n\n/**\n * This is inlined from ReactElement since this file is shared between\n * isomorphic and renderers. We could extract this to a\n *\n */\n\n/**\n * TODO: Test that a single child and an array with one item have the same key\n * pattern.\n */\n\nvar didWarnAboutMaps = false;\n\n/**\n * Generate a key string that identifies a component within a set.\n *\n * @param {*} component A component that could contain a manual key.\n * @param {number} index Index that is used if a manual key is not provided.\n * @return {string}\n */\nfunction getComponentKey(component, index) {\n // Do some typechecking here since we call this blindly. We want to ensure\n // that we don't block potential future ES APIs.\n if (component && typeof component === 'object' && component.key != null) {\n // Explicit key\n return KeyEscapeUtils.escape(component.key);\n }\n // Implicit key determined by the index in the set\n return index.toString(36);\n}\n\n/**\n * @param {?*} children Children tree container.\n * @param {!string} nameSoFar Name of the key path so far.\n * @param {!function} callback Callback to invoke with each child found.\n * @param {?*} traverseContext Used to pass information throughout the traversal\n * process.\n * @return {!number} The number of children in this subtree.\n */\nfunction traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext) {\n var type = typeof children;\n\n if (type === 'undefined' || type === 'boolean') {\n // All of the above are perceived as null.\n children = null;\n }\n\n if (children === null || type === 'string' || type === 'number' ||\n // The following is inlined from ReactElement. This means we can optimize\n // some checks. React Fiber also inlines this logic for similar purposes.\n type === 'object' && children.$$typeof === REACT_ELEMENT_TYPE) {\n callback(traverseContext, children,\n // If it's the only child, treat the name as if it was wrapped in an array\n // so that it's consistent if the number of children grows.\n nameSoFar === '' ? SEPARATOR + getComponentKey(children, 0) : nameSoFar);\n return 1;\n }\n\n var child;\n var nextName;\n var subtreeCount = 0; // Count of children found in the current subtree.\n var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;\n\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n nextName = nextNamePrefix + getComponentKey(child, i);\n subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);\n }\n } else {\n var iteratorFn = getIteratorFn(children);\n if (iteratorFn) {\n var iterator = iteratorFn.call(children);\n var step;\n if (iteratorFn !== children.entries) {\n var ii = 0;\n while (!(step = iterator.next()).done) {\n child = step.value;\n nextName = nextNamePrefix + getComponentKey(child, ii++);\n subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);\n }\n } else {\n if (process.env.NODE_ENV !== 'production') {\n var mapsAsChildrenAddendum = '';\n if (ReactCurrentOwner.current) {\n var mapsAsChildrenOwnerName = ReactCurrentOwner.current.getName();\n if (mapsAsChildrenOwnerName) {\n mapsAsChildrenAddendum = ' Check the render method of `' + mapsAsChildrenOwnerName + '`.';\n }\n }\n process.env.NODE_ENV !== 'production' ? warning(didWarnAboutMaps, 'Using Maps as children is not yet fully supported. It is an ' + 'experimental feature that might be removed. Convert it to a ' + 'sequence / iterable of keyed ReactElements instead.%s', mapsAsChildrenAddendum) : void 0;\n didWarnAboutMaps = true;\n }\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n child = entry[1];\n nextName = nextNamePrefix + KeyEscapeUtils.escape(entry[0]) + SUBSEPARATOR + getComponentKey(child, 0);\n subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);\n }\n }\n }\n } else if (type === 'object') {\n var addendum = '';\n if (process.env.NODE_ENV !== 'production') {\n addendum = ' If you meant to render a collection of children, use an array ' + 'instead or wrap the object using createFragment(object) from the ' + 'React add-ons.';\n if (children._isReactElement) {\n addendum = \" It looks like you're using an element created by a different \" + 'version of React. Make sure to use only one copy of React.';\n }\n if (ReactCurrentOwner.current) {\n var name = ReactCurrentOwner.current.getName();\n if (name) {\n addendum += ' Check the render method of `' + name + '`.';\n }\n }\n }\n var childrenString = String(children);\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Objects are not valid as a React child (found: %s).%s', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : _prodInvariant('31', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : void 0;\n }\n }\n\n return subtreeCount;\n}\n\n/**\n * Traverses children that are typically specified as `props.children`, but\n * might also be specified through attributes:\n *\n * - `traverseAllChildren(this.props.children, ...)`\n * - `traverseAllChildren(this.props.leftPanelChildren, ...)`\n *\n * The `traverseContext` is an optional argument that is passed through the\n * entire traversal. It can be used to store accumulations or anything else that\n * the callback might find relevant.\n *\n * @param {?*} children Children tree object.\n * @param {!function} callback To invoke upon traversing each child.\n * @param {?*} traverseContext Context for traversal.\n * @return {!number} The number of children in this subtree.\n */\nfunction traverseAllChildren(children, callback, traverseContext) {\n if (children == null) {\n return 0;\n }\n\n return traverseAllChildrenImpl(children, '', callback, traverseContext);\n}\n\nmodule.exports = traverseAllChildren;","'use strict';\n\nmodule.exports = require('./lib/React');\n","/** @license React v17.0.2\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),m=require(\"object-assign\"),r=require(\"scheduler\");function y(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function B(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new B(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new B(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new B(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new B(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new B(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new B(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){D[a]=new B(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new B(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new B(a,5,!1,a.toLowerCase(),null,!1,!1)});var oa=/[\\-:]([a-z])/g;function pa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(oa,\npa);D[b]=new B(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!1,!1)});\nD.xlinkHref=new B(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction qa(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2h||e[g]!==f[h])return\"\\n\"+e[g].replace(\" at new \",\" at \");while(1<=g&&0<=h)}break}}}finally{Oa=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Na(a):\"\"}\nfunction Qa(a){switch(a.tag){case 5:return Na(a.type);case 16:return Na(\"Lazy\");case 13:return Na(\"Suspense\");case 19:return Na(\"SuspenseList\");case 0:case 2:case 15:return a=Pa(a.type,!1),a;case 11:return a=Pa(a.type.render,!1),a;case 22:return a=Pa(a.type._render,!1),a;case 1:return a=Pa(a.type,!0),a;default:return\"\"}}\nfunction Ra(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ua:return\"Fragment\";case ta:return\"Portal\";case xa:return\"Profiler\";case wa:return\"StrictMode\";case Ba:return\"Suspense\";case Ca:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case za:return(a.displayName||\"Context\")+\".Consumer\";case ya:return(a._context.displayName||\"Context\")+\".Provider\";case Aa:var b=a.render;b=b.displayName||b.name||\"\";\nreturn a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\"ForwardRef\");case Da:return Ra(a.type);case Fa:return Ra(a._render);case Ea:b=a._payload;a=a._init;try{return Ra(a(b))}catch(c){}}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return m({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function $a(a,b){b=b.checked;null!=b&&qa(a,\"checked\",b,!1)}\nfunction ab(a,b){$a(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?bb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&bb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction cb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction bb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function db(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function eb(a,b){a=m({children:void 0},b);if(b=db(b.children))a.children=b;return a}\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e=c.length))throw Error(y(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var kb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction lb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function mb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?lb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar nb,ob=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==kb.svg||\"innerHTML\"in a)a.innerHTML=b;else{nb=nb||document.createElement(\"div\");nb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=nb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction pb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar qb={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(qb).forEach(function(a){rb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);qb[b]=qb[a]})});function sb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||qb.hasOwnProperty(a)&&qb[a]?(\"\"+b).trim():b+\"px\"}\nfunction tb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=sb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var ub=m({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction vb(a,b){if(b){if(ub[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(y(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(y(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(y(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(y(62));}}\nfunction wb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(y(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;ad?0:1<c;c++)b.push(a);return b}\nfunction $c(a,b,c){a.pendingLanes|=b;var d=b-1;a.suspendedLanes&=d;a.pingedLanes&=d;a=a.eventTimes;b=31-Vc(b);a[b]=c}var Vc=Math.clz32?Math.clz32:ad,bd=Math.log,cd=Math.LN2;function ad(a){return 0===a?32:31-(bd(a)/cd|0)|0}var dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function gd(a,b,c,d){Kb||Ib();var e=hd,f=Kb;Kb=!0;try{Hb(e,a,b,c,d)}finally{(Kb=f)||Mb()}}function id(a,b,c,d){ed(dd,hd.bind(null,a,b,c,d))}\nfunction hd(a,b,c,d){if(fd){var e;if((e=0===(b&4))&&0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Ke(c)}}function Me(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Me(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Ne(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Oe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nvar Pe=fa&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Oe(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Je(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Af||(a.current=zf[Af],zf[Af]=null,Af--)}function I(a,b){Af++;zf[Af]=a.current;a.current=b}var Cf={},M=Bf(Cf),N=Bf(!1),Df=Cf;\nfunction Ef(a,b){var c=a.type.contextTypes;if(!c)return Cf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function Ff(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Gf(){H(N);H(M)}function Hf(a,b,c){if(M.current!==Cf)throw Error(y(168));I(M,b);I(N,c)}\nfunction If(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(y(108,Ra(b)||\"Unknown\",e));return m({},c,d)}function Jf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Cf;Df=M.current;I(M,a);I(N,N.current);return!0}function Kf(a,b,c){var d=a.stateNode;if(!d)throw Error(y(169));c?(a=If(a,b,Df),d.__reactInternalMemoizedMergedChildContext=a,H(N),H(M),I(M,a)):H(N);I(N,c)}\nvar Lf=null,Mf=null,Nf=r.unstable_runWithPriority,Of=r.unstable_scheduleCallback,Pf=r.unstable_cancelCallback,Qf=r.unstable_shouldYield,Rf=r.unstable_requestPaint,Sf=r.unstable_now,Tf=r.unstable_getCurrentPriorityLevel,Uf=r.unstable_ImmediatePriority,Vf=r.unstable_UserBlockingPriority,Wf=r.unstable_NormalPriority,Xf=r.unstable_LowPriority,Yf=r.unstable_IdlePriority,Zf={},$f=void 0!==Rf?Rf:function(){},ag=null,bg=null,cg=!1,dg=Sf(),O=1E4>dg?Sf:function(){return Sf()-dg};\nfunction eg(){switch(Tf()){case Uf:return 99;case Vf:return 98;case Wf:return 97;case Xf:return 96;case Yf:return 95;default:throw Error(y(332));}}function fg(a){switch(a){case 99:return Uf;case 98:return Vf;case 97:return Wf;case 96:return Xf;case 95:return Yf;default:throw Error(y(332));}}function gg(a,b){a=fg(a);return Nf(a,b)}function hg(a,b,c){a=fg(a);return Of(a,b,c)}function ig(){if(null!==bg){var a=bg;bg=null;Pf(a)}jg()}\nfunction jg(){if(!cg&&null!==ag){cg=!0;var a=0;try{var b=ag;gg(99,function(){for(;az?(q=u,u=null):q=u.sibling;var n=p(e,u,h[z],k);if(null===n){null===u&&(u=q);break}a&&u&&null===\nn.alternate&&b(e,u);g=f(n,g,z);null===t?l=n:t.sibling=n;t=n;u=q}if(z===h.length)return c(e,u),l;if(null===u){for(;zz?(q=u,u=null):q=u.sibling;var w=p(e,u,n.value,k);if(null===w){null===u&&(u=q);break}a&&u&&null===w.alternate&&b(e,u);g=f(w,g,z);null===t?l=w:t.sibling=w;t=w;u=q}if(n.done)return c(e,u),l;if(null===u){for(;!n.done;z++,n=h.next())n=A(e,n.value,k),null!==n&&(g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);return l}for(u=d(e,u);!n.done;z++,n=h.next())n=C(u,e,z,n.value,k),null!==n&&(a&&null!==n.alternate&&\nu.delete(null===n.key?z:n.key),g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);a&&u.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ua&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case sa:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ua){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,k.sibling);\nd=e(k,f.props);d.ref=Qg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ua?(d=Xg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Vg(f.type,f.key,f.props,null,a.mode,h),h.ref=Qg(a,d,f),h.return=a,a=h)}return g(a);case ta:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=\nWg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Ug(f,a.mode,h),d.return=a,a=d),g(a);if(Pg(f))return x(a,d,f,h);if(La(f))return w(a,d,f,h);l&&Rg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 22:case 0:case 11:case 15:throw Error(y(152,Ra(a.type)||\"Component\"));}return c(a,d)}}var Yg=Sg(!0),Zg=Sg(!1),$g={},ah=Bf($g),bh=Bf($g),ch=Bf($g);\nfunction dh(a){if(a===$g)throw Error(y(174));return a}function eh(a,b){I(ch,b);I(bh,a);I(ah,$g);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:mb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=mb(b,a)}H(ah);I(ah,b)}function fh(){H(ah);H(bh);H(ch)}function gh(a){dh(ch.current);var b=dh(ah.current);var c=mb(b,a.type);b!==c&&(I(bh,a),I(ah,c))}function hh(a){bh.current===a&&(H(ah),H(bh))}var P=Bf(0);\nfunction ih(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var jh=null,kh=null,lh=!1;\nfunction mh(a,b){var c=nh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.flags=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function oh(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction ph(a){if(lh){var b=kh;if(b){var c=b;if(!oh(a,b)){b=rf(c.nextSibling);if(!b||!oh(a,b)){a.flags=a.flags&-1025|2;lh=!1;jh=a;return}mh(jh,c)}jh=a;kh=rf(b.firstChild)}else a.flags=a.flags&-1025|2,lh=!1,jh=a}}function qh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;jh=a}\nfunction rh(a){if(a!==jh)return!1;if(!lh)return qh(a),lh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!nf(b,a.memoizedProps))for(b=kh;b;)mh(a,b),b=rf(b.nextSibling);qh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(y(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){kh=rf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}kh=null}}else kh=jh?rf(a.stateNode.nextSibling):null;return!0}\nfunction sh(){kh=jh=null;lh=!1}var th=[];function uh(){for(var a=0;af))throw Error(y(301));f+=1;T=S=null;b.updateQueue=null;vh.current=Fh;a=c(d,e)}while(zh)}vh.current=Gh;b=null!==S&&null!==S.next;xh=0;T=S=R=null;yh=!1;if(b)throw Error(y(300));return a}function Hh(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===T?R.memoizedState=T=a:T=T.next=a;return T}\nfunction Ih(){if(null===S){var a=R.alternate;a=null!==a?a.memoizedState:null}else a=S.next;var b=null===T?R.memoizedState:T.next;if(null!==b)T=b,S=a;else{if(null===a)throw Error(y(310));S=a;a={memoizedState:S.memoizedState,baseState:S.baseState,baseQueue:S.baseQueue,queue:S.queue,next:null};null===T?R.memoizedState=T=a:T=T.next=a}return T}function Jh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Kh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=S,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.lane;if((xh&l)===l)null!==h&&(h=h.next={lane:0,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),d=k.eagerReducer===a?k.eagerState:a(d,k.action);else{var n={lane:l,action:k.action,eagerReducer:k.eagerReducer,\neagerState:k.eagerState,next:null};null===h?(g=h=n,f=d):h=h.next=n;R.lanes|=l;Dg|=l}k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;He(d,b.memoizedState)||(ug=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction Lh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction Mh(a,b,c){var d=b._getVersion;d=d(b._source);var e=b._workInProgressVersionPrimary;if(null!==e)a=e===d;else if(a=a.mutableReadLanes,a=(xh&a)===a)b._workInProgressVersionPrimary=d,th.push(b);if(a)return c(b._source);th.push(b);throw Error(y(350));}\nfunction Nh(a,b,c,d){var e=U;if(null===e)throw Error(y(349));var f=b._getVersion,g=f(b._source),h=vh.current,k=h.useState(function(){return Mh(e,b,c)}),l=k[1],n=k[0];k=T;var A=a.memoizedState,p=A.refs,C=p.getSnapshot,x=A.source;A=A.subscribe;var w=R;a.memoizedState={refs:p,source:b,subscribe:d};h.useEffect(function(){p.getSnapshot=c;p.setSnapshot=l;var a=f(b._source);if(!He(g,a)){a=c(b._source);He(n,a)||(l(a),a=Ig(w),e.mutableReadLanes|=a&e.pendingLanes);a=e.mutableReadLanes;e.entangledLanes|=a;for(var d=\ne.entanglements,h=a;0c?98:c,function(){a(!0)});gg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[wf]=b;a[xf]=d;Bi(a,b,!1,!1);b.stateNode=a;g=wb(c,d);switch(c){case \"dialog\":G(\"cancel\",a);G(\"close\",a);\ne=d;break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eJi&&(b.flags|=64,f=!0,Fi(d,!1),b.lanes=33554432)}else{if(!f)if(a=ih(g),null!==a){if(b.flags|=64,f=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Fi(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!g.alternate&&!lh)return b=b.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*O()-d.renderingStartTime>Ji&&1073741824!==c&&(b.flags|=\n64,f=!0,Fi(d,!1),b.lanes=33554432);d.isBackwards?(g.sibling=b.child,b.child=g):(c=d.last,null!==c?c.sibling=g:b.child=g,d.last=g)}return null!==d.tail?(c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=O(),c.sibling=null,b=P.current,I(P,f?b&1|2:b&1),c):null;case 23:case 24:return Ki(),null!==a&&null!==a.memoizedState!==(null!==b.memoizedState)&&\"unstable-defer-without-hiding\"!==d.mode&&(b.flags|=4),null}throw Error(y(156,b.tag));}\nfunction Li(a){switch(a.tag){case 1:Ff(a.type)&&Gf();var b=a.flags;return b&4096?(a.flags=b&-4097|64,a):null;case 3:fh();H(N);H(M);uh();b=a.flags;if(0!==(b&64))throw Error(y(285));a.flags=b&-4097|64;return a;case 5:return hh(a),null;case 13:return H(P),b=a.flags,b&4096?(a.flags=b&-4097|64,a):null;case 19:return H(P),null;case 4:return fh(),null;case 10:return rg(a),null;case 23:case 24:return Ki(),null;default:return null}}\nfunction Mi(a,b){try{var c=\"\",d=b;do c+=Qa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e}}function Ni(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Oi=\"function\"===typeof WeakMap?WeakMap:Map;function Pi(a,b,c){c=zg(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Qi||(Qi=!0,Ri=d);Ni(a,b)};return c}\nfunction Si(a,b,c){c=zg(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ni(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===Ti?Ti=new Set([this]):Ti.add(this),Ni(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}var Ui=\"function\"===typeof WeakSet?WeakSet:Set;\nfunction Vi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Wi(a,c)}else b.current=null}function Xi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.flags&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:lg(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:b.flags&256&&qf(b.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(y(163));}\nfunction Yi(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{if(3===(a.tag&3)){var d=a.create;a.destroy=d()}a=a.next}while(a!==b)}b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{var e=a;d=e.next;e=e.tag;0!==(e&4)&&0!==(e&1)&&(Zi(c,a),$i(c,a));a=d}while(a!==b)}return;case 1:a=c.stateNode;c.flags&4&&(null===b?a.componentDidMount():(d=c.elementType===c.type?b.memoizedProps:lg(c.type,b.memoizedProps),a.componentDidUpdate(d,\nb.memoizedState,a.__reactInternalSnapshotBeforeUpdate)));b=c.updateQueue;null!==b&&Eg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Eg(c,b,a)}return;case 5:a=c.stateNode;null===b&&c.flags&4&&mf(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Cc(c))));\nreturn;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(y(163));}\nfunction aj(a,b){for(var c=a;;){if(5===c.tag){var d=c.stateNode;if(b)d=d.style,\"function\"===typeof d.setProperty?d.setProperty(\"display\",\"none\",\"important\"):d.display=\"none\";else{d=c.stateNode;var e=c.memoizedProps.style;e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null;d.style.display=sb(\"display\",e)}}else if(6===c.tag)c.stateNode.nodeValue=b?\"\":c.memoizedProps;else if((23!==c.tag&&24!==c.tag||null===c.memoizedState||c===a)&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===\na)break;for(;null===c.sibling;){if(null===c.return||c.return===a)return;c=c.return}c.sibling.return=c.return;c=c.sibling}}\nfunction bj(a,b){if(Mf&&\"function\"===typeof Mf.onCommitFiberUnmount)try{Mf.onCommitFiberUnmount(Lf,b)}catch(f){}switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var c=a=a.next;do{var d=c,e=d.destroy;d=d.tag;if(void 0!==e)if(0!==(d&4))Zi(b,c);else{d=b;try{e()}catch(f){Wi(d,f)}}c=c.next}while(c!==a)}break;case 1:Vi(b);a=b.stateNode;if(\"function\"===typeof a.componentWillUnmount)try{a.props=b.memoizedProps,a.state=b.memoizedState,a.componentWillUnmount()}catch(f){Wi(b,\nf)}break;case 5:Vi(b);break;case 4:cj(a,b)}}function dj(a){a.alternate=null;a.child=null;a.dependencies=null;a.firstEffect=null;a.lastEffect=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.return=null;a.updateQueue=null}function ej(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction fj(a){a:{for(var b=a.return;null!==b;){if(ej(b))break a;b=b.return}throw Error(y(160));}var c=b;b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(y(161));}c.flags&16&&(pb(b,\"\"),c.flags&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||ej(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.flags&2)continue b;if(null===\nc.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.flags&2)){c=c.stateNode;break a}}d?gj(a,c,b):hj(a,c,b)}\nfunction gj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=jf));else if(4!==d&&(a=a.child,null!==a))for(gj(a,b,c),a=a.sibling;null!==a;)gj(a,b,c),a=a.sibling}\nfunction hj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(hj(a,b,c),a=a.sibling;null!==a;)hj(a,b,c),a=a.sibling}\nfunction cj(a,b){for(var c=b,d=!1,e,f;;){if(!d){d=c.return;a:for(;;){if(null===d)throw Error(y(160));e=d.stateNode;switch(d.tag){case 5:f=!1;break a;case 3:e=e.containerInfo;f=!0;break a;case 4:e=e.containerInfo;f=!0;break a}d=d.return}d=!0}if(5===c.tag||6===c.tag){a:for(var g=a,h=c,k=h;;)if(bj(g,k),null!==k.child&&4!==k.tag)k.child.return=k,k=k.child;else{if(k===h)break a;for(;null===k.sibling;){if(null===k.return||k.return===h)break a;k=k.return}k.sibling.return=k.return;k=k.sibling}f?(g=e,h=c.stateNode,\n8===g.nodeType?g.parentNode.removeChild(h):g.removeChild(h)):e.removeChild(c.stateNode)}else if(4===c.tag){if(null!==c.child){e=c.stateNode.containerInfo;f=!0;c.child.return=c;c=c.child;continue}}else if(bj(a,c),null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return;4===c.tag&&(d=!1)}c.sibling.return=c.return;c=c.sibling}}\nfunction ij(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:var c=b.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do 3===(d.tag&3)&&(a=d.destroy,d.destroy=void 0,void 0!==a&&a()),d=d.next;while(d!==c)}return;case 1:return;case 5:c=b.stateNode;if(null!=c){d=b.memoizedProps;var e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[xf]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&$a(c,d);wb(a,e);b=wb(a,d);for(e=0;ee&&(e=g);c&=~f}c=e;c=O()-c;c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3E3>c?3E3:4320>\nc?4320:1960*nj(c/1960))-c;if(10 component higher in the tree to provide a loading indicator or placeholder to display.\")}5!==V&&(V=2);k=Mi(k,h);p=\ng;do{switch(p.tag){case 3:f=k;p.flags|=4096;b&=-b;p.lanes|=b;var J=Pi(p,f,b);Bg(p,J);break a;case 1:f=k;var K=p.type,Q=p.stateNode;if(0===(p.flags&64)&&(\"function\"===typeof K.getDerivedStateFromError||null!==Q&&\"function\"===typeof Q.componentDidCatch&&(null===Ti||!Ti.has(Q)))){p.flags|=4096;b&=-b;p.lanes|=b;var L=Si(p,f,b);Bg(p,L);break a}}p=p.return}while(null!==p)}Zj(c)}catch(va){b=va;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}\nfunction Pj(){var a=oj.current;oj.current=Gh;return null===a?Gh:a}function Tj(a,b){var c=X;X|=16;var d=Pj();U===a&&W===b||Qj(a,b);do try{ak();break}catch(e){Sj(a,e)}while(1);qg();X=c;oj.current=d;if(null!==Y)throw Error(y(261));U=null;W=0;return V}function ak(){for(;null!==Y;)bk(Y)}function Rj(){for(;null!==Y&&!Qf();)bk(Y)}function bk(a){var b=ck(a.alternate,a,qj);a.memoizedProps=a.pendingProps;null===b?Zj(a):Y=b;pj.current=null}\nfunction Zj(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&2048)){c=Gi(c,b,qj);if(null!==c){Y=c;return}c=b;if(24!==c.tag&&23!==c.tag||null===c.memoizedState||0!==(qj&1073741824)||0===(c.mode&4)){for(var d=0,e=c.child;null!==e;)d|=e.lanes|e.childLanes,e=e.sibling;c.childLanes=d}null!==a&&0===(a.flags&2048)&&(null===a.firstEffect&&(a.firstEffect=b.firstEffect),null!==b.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=b.firstEffect),a.lastEffect=b.lastEffect),1g&&(h=g,g=J,J=h),h=Le(t,J),f=Le(t,g),h&&f&&(1!==v.rangeCount||v.anchorNode!==h.node||v.anchorOffset!==h.offset||v.focusNode!==f.node||v.focusOffset!==f.offset)&&(q=q.createRange(),q.setStart(h.node,h.offset),v.removeAllRanges(),J>g?(v.addRange(q),v.extend(f.node,f.offset)):(q.setEnd(f.node,f.offset),v.addRange(q))))));q=[];for(v=t;v=v.parentNode;)1===v.nodeType&&q.push({element:v,left:v.scrollLeft,top:v.scrollTop});\"function\"===typeof t.focus&&t.focus();for(t=\n0;tO()-jj?Qj(a,0):uj|=c);Mj(a,b)}function lj(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=a.mode,0===(b&2)?b=1:0===(b&4)?b=99===eg()?1:2:(0===Gj&&(Gj=tj),b=Yc(62914560&~Gj),0===b&&(b=4194304)));c=Hg();a=Kj(a,b);null!==a&&($c(a,b,c),Mj(a,c))}var ck;\nck=function(a,b,c){var d=b.lanes;if(null!==a)if(a.memoizedProps!==b.pendingProps||N.current)ug=!0;else if(0!==(c&d))ug=0!==(a.flags&16384)?!0:!1;else{ug=!1;switch(b.tag){case 3:ri(b);sh();break;case 5:gh(b);break;case 1:Ff(b.type)&&Jf(b);break;case 4:eh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;var e=b.type._context;I(mg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){if(0!==(c&b.child.childLanes))return ti(a,b,c);I(P,P.current&1);b=hi(a,b,c);return null!==\nb?b.sibling:null}I(P,P.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&64)){if(d)return Ai(a,b,c);b.flags|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);I(P,P.current);if(d)break;else return null;case 23:case 24:return b.lanes=0,mi(a,b,c)}return hi(a,b,c)}else ug=!1;b.lanes=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=Ef(b,M.current);tg(b,c);e=Ch(null,b,d,a,e,c);b.flags|=1;if(\"object\"===\ntypeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(Ff(d)){var f=!0;Jf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;xg(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Gg(b,d,g,a);e.updater=Kg;b.stateNode=e;e._reactInternals=b;Og(b,d,a,c);b=qi(null,b,d,!0,f,c)}else b.tag=0,fi(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);\na=b.pendingProps;f=e._init;e=f(e._payload);b.type=e;f=b.tag=hk(e);a=lg(e,a);switch(f){case 0:b=li(null,b,e,a,c);break a;case 1:b=pi(null,b,e,a,c);break a;case 11:b=gi(null,b,e,a,c);break a;case 14:b=ii(null,b,e,lg(e.type,a),d,c);break a}throw Error(y(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),li(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),pi(a,b,d,e,c);case 3:ri(b);d=b.updateQueue;if(null===a||null===d)throw Error(y(282));\nd=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;yg(a,b);Cg(b,d,null,c);d=b.memoizedState.element;if(d===e)sh(),b=hi(a,b,c);else{e=b.stateNode;if(f=e.hydrate)kh=rf(b.stateNode.containerInfo.firstChild),jh=b,f=lh=!0;if(f){a=e.mutableSourceEagerHydrationData;if(null!=a)for(e=0;e 0) {\n ariaHiddenInstances -= 1;\n\n if (ariaHiddenInstances === 0) {\n ariaAppHider.show(appElement);\n }\n }\n\n if (_this.props.shouldFocusAfterRender) {\n if (_this.props.shouldReturnFocusAfterClose) {\n focusManager.returnFocus(_this.props.preventScroll);\n focusManager.teardownScopedFocus();\n } else {\n focusManager.popWithoutFocus();\n }\n }\n\n if (_this.props.onAfterClose) {\n _this.props.onAfterClose();\n }\n\n _portalOpenInstances2.default.deregister(_this);\n };\n\n _this.open = function () {\n _this.beforeOpen();\n if (_this.state.afterOpen && _this.state.beforeClose) {\n clearTimeout(_this.closeTimer);\n _this.setState({ beforeClose: false });\n } else {\n if (_this.props.shouldFocusAfterRender) {\n focusManager.setupScopedFocus(_this.node);\n focusManager.markForFocusLater();\n }\n\n _this.setState({ isOpen: true }, function () {\n _this.openAnimationFrame = requestAnimationFrame(function () {\n _this.setState({ afterOpen: true });\n\n if (_this.props.isOpen && _this.props.onAfterOpen) {\n _this.props.onAfterOpen({\n overlayEl: _this.overlay,\n contentEl: _this.content\n });\n }\n });\n });\n }\n };\n\n _this.close = function () {\n if (_this.props.closeTimeoutMS > 0) {\n _this.closeWithTimeout();\n } else {\n _this.closeWithoutTimeout();\n }\n };\n\n _this.focusContent = function () {\n return _this.content && !_this.contentHasFocus() && _this.content.focus({ preventScroll: true });\n };\n\n _this.closeWithTimeout = function () {\n var closesAt = Date.now() + _this.props.closeTimeoutMS;\n _this.setState({ beforeClose: true, closesAt: closesAt }, function () {\n _this.closeTimer = setTimeout(_this.closeWithoutTimeout, _this.state.closesAt - Date.now());\n });\n };\n\n _this.closeWithoutTimeout = function () {\n _this.setState({\n beforeClose: false,\n isOpen: false,\n afterOpen: false,\n closesAt: null\n }, _this.afterClose);\n };\n\n _this.handleKeyDown = function (event) {\n if (event.keyCode === TAB_KEY) {\n (0, _scopeTab2.default)(_this.content, event);\n }\n\n if (_this.props.shouldCloseOnEsc && event.keyCode === ESC_KEY) {\n event.stopPropagation();\n _this.requestClose(event);\n }\n };\n\n _this.handleOverlayOnClick = function (event) {\n if (_this.shouldClose === null) {\n _this.shouldClose = true;\n }\n\n if (_this.shouldClose && _this.props.shouldCloseOnOverlayClick) {\n if (_this.ownerHandlesClose()) {\n _this.requestClose(event);\n } else {\n _this.focusContent();\n }\n }\n _this.shouldClose = null;\n };\n\n _this.handleContentOnMouseUp = function () {\n _this.shouldClose = false;\n };\n\n _this.handleOverlayOnMouseDown = function (event) {\n if (!_this.props.shouldCloseOnOverlayClick && event.target == _this.overlay) {\n event.preventDefault();\n }\n };\n\n _this.handleContentOnClick = function () {\n _this.shouldClose = false;\n };\n\n _this.handleContentOnMouseDown = function () {\n _this.shouldClose = false;\n };\n\n _this.requestClose = function (event) {\n return _this.ownerHandlesClose() && _this.props.onRequestClose(event);\n };\n\n _this.ownerHandlesClose = function () {\n return _this.props.onRequestClose;\n };\n\n _this.shouldBeClosed = function () {\n return !_this.state.isOpen && !_this.state.beforeClose;\n };\n\n _this.contentHasFocus = function () {\n return document.activeElement === _this.content || _this.content.contains(document.activeElement);\n };\n\n _this.buildClassName = function (which, additional) {\n var classNames = (typeof additional === \"undefined\" ? \"undefined\" : _typeof(additional)) === \"object\" ? additional : {\n base: CLASS_NAMES[which],\n afterOpen: CLASS_NAMES[which] + \"--after-open\",\n beforeClose: CLASS_NAMES[which] + \"--before-close\"\n };\n var className = classNames.base;\n if (_this.state.afterOpen) {\n className = className + \" \" + classNames.afterOpen;\n }\n if (_this.state.beforeClose) {\n className = className + \" \" + classNames.beforeClose;\n }\n return typeof additional === \"string\" && additional ? className + \" \" + additional : className;\n };\n\n _this.attributesFromObject = function (prefix, items) {\n return Object.keys(items).reduce(function (acc, name) {\n acc[prefix + \"-\" + name] = items[name];\n return acc;\n }, {});\n };\n\n _this.state = {\n afterOpen: false,\n beforeClose: false\n };\n\n _this.shouldClose = null;\n _this.moveFromContentToOverlay = null;\n return _this;\n }\n\n _createClass(ModalPortal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.props.isOpen) {\n this.open();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n if (process.env.NODE_ENV !== \"production\") {\n if (prevProps.bodyOpenClassName !== this.props.bodyOpenClassName) {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"bodyOpenClassName\" prop has been modified. ' + \"This may cause unexpected behavior when multiple modals are open.\");\n }\n if (prevProps.htmlOpenClassName !== this.props.htmlOpenClassName) {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"htmlOpenClassName\" prop has been modified. ' + \"This may cause unexpected behavior when multiple modals are open.\");\n }\n }\n\n if (this.props.isOpen && !prevProps.isOpen) {\n this.open();\n } else if (!this.props.isOpen && prevProps.isOpen) {\n this.close();\n }\n\n // Focus only needs to be set once when the modal is being opened\n if (this.props.shouldFocusAfterRender && this.state.isOpen && !prevState.isOpen) {\n this.focusContent();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.state.isOpen) {\n this.afterClose();\n }\n clearTimeout(this.closeTimer);\n cancelAnimationFrame(this.openAnimationFrame);\n }\n }, {\n key: \"beforeOpen\",\n value: function beforeOpen() {\n var _props = this.props,\n appElement = _props.appElement,\n ariaHideApp = _props.ariaHideApp,\n htmlOpenClassName = _props.htmlOpenClassName,\n bodyOpenClassName = _props.bodyOpenClassName;\n\n // Add classes.\n\n bodyOpenClassName && classList.add(document.body, bodyOpenClassName);\n\n htmlOpenClassName && classList.add(document.getElementsByTagName(\"html\")[0], htmlOpenClassName);\n\n if (ariaHideApp) {\n ariaHiddenInstances += 1;\n ariaAppHider.hide(appElement);\n }\n\n _portalOpenInstances2.default.register(this);\n }\n\n // Don't steal focus from inner elements\n\n }, {\n key: \"render\",\n value: function render() {\n var _props2 = this.props,\n id = _props2.id,\n className = _props2.className,\n overlayClassName = _props2.overlayClassName,\n defaultStyles = _props2.defaultStyles,\n children = _props2.children;\n\n var contentStyles = className ? {} : defaultStyles.content;\n var overlayStyles = overlayClassName ? {} : defaultStyles.overlay;\n\n if (this.shouldBeClosed()) {\n return null;\n }\n\n var overlayProps = {\n ref: this.setOverlayRef,\n className: this.buildClassName(\"overlay\", overlayClassName),\n style: _extends({}, overlayStyles, this.props.style.overlay),\n onClick: this.handleOverlayOnClick,\n onMouseDown: this.handleOverlayOnMouseDown\n };\n\n var contentProps = _extends({\n id: id,\n ref: this.setContentRef,\n style: _extends({}, contentStyles, this.props.style.content),\n className: this.buildClassName(\"content\", className),\n tabIndex: \"-1\",\n onKeyDown: this.handleKeyDown,\n onMouseDown: this.handleContentOnMouseDown,\n onMouseUp: this.handleContentOnMouseUp,\n onClick: this.handleContentOnClick,\n role: this.props.role,\n \"aria-label\": this.props.contentLabel\n }, this.attributesFromObject(\"aria\", _extends({ modal: true }, this.props.aria)), this.attributesFromObject(\"data\", this.props.data || {}), {\n \"data-testid\": this.props.testId\n });\n\n var contentElement = this.props.contentElement(contentProps, children);\n return this.props.overlayElement(overlayProps, contentElement);\n }\n }]);\n\n return ModalPortal;\n}(_react.Component);\n\nModalPortal.defaultProps = {\n style: {\n overlay: {},\n content: {}\n },\n defaultStyles: {}\n};\nModalPortal.propTypes = {\n isOpen: _propTypes2.default.bool.isRequired,\n defaultStyles: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n style: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n bodyOpenClassName: _propTypes2.default.string,\n htmlOpenClassName: _propTypes2.default.string,\n ariaHideApp: _propTypes2.default.bool,\n appElement: _propTypes2.default.oneOfType([_propTypes2.default.instanceOf(_safeHTMLElement2.default), _propTypes2.default.instanceOf(_safeHTMLElement.SafeHTMLCollection), _propTypes2.default.instanceOf(_safeHTMLElement.SafeNodeList), _propTypes2.default.arrayOf(_propTypes2.default.instanceOf(_safeHTMLElement2.default))]),\n onAfterOpen: _propTypes2.default.func,\n onAfterClose: _propTypes2.default.func,\n onRequestClose: _propTypes2.default.func,\n closeTimeoutMS: _propTypes2.default.number,\n shouldFocusAfterRender: _propTypes2.default.bool,\n shouldCloseOnOverlayClick: _propTypes2.default.bool,\n shouldReturnFocusAfterClose: _propTypes2.default.bool,\n preventScroll: _propTypes2.default.bool,\n role: _propTypes2.default.string,\n contentLabel: _propTypes2.default.string,\n aria: _propTypes2.default.object,\n data: _propTypes2.default.object,\n children: _propTypes2.default.node,\n shouldCloseOnEsc: _propTypes2.default.bool,\n overlayRef: _propTypes2.default.func,\n contentRef: _propTypes2.default.func,\n id: _propTypes2.default.string,\n overlayElement: _propTypes2.default.func,\n contentElement: _propTypes2.default.func,\n testId: _propTypes2.default.string\n};\nexports.default = ModalPortal;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\nexports.assertNodeList = assertNodeList;\nexports.setElement = setElement;\nexports.validateElement = validateElement;\nexports.hide = hide;\nexports.show = show;\nexports.documentNotReadyOrSSRTesting = documentNotReadyOrSSRTesting;\n\nvar _warning = require(\"warning\");\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _safeHTMLElement = require(\"./safeHTMLElement\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar globalElement = null;\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction resetState() {\n if (globalElement) {\n if (globalElement.removeAttribute) {\n globalElement.removeAttribute(\"aria-hidden\");\n } else if (globalElement.length != null) {\n globalElement.forEach(function (element) {\n return element.removeAttribute(\"aria-hidden\");\n });\n } else {\n document.querySelectorAll(globalElement).forEach(function (element) {\n return element.removeAttribute(\"aria-hidden\");\n });\n }\n }\n globalElement = null;\n}\n\n/* istanbul ignore next */\nfunction log() {\n if (process.env.NODE_ENV !== \"production\") {\n var check = globalElement || {};\n console.log(\"ariaAppHider ----------\");\n console.log(check.nodeName, check.className, check.id);\n console.log(\"end ariaAppHider ----------\");\n }\n}\n/* eslint-enable no-console */\n\nfunction assertNodeList(nodeList, selector) {\n if (!nodeList || !nodeList.length) {\n throw new Error(\"react-modal: No elements were found for selector \" + selector + \".\");\n }\n}\n\nfunction setElement(element) {\n var useElement = element;\n if (typeof useElement === \"string\" && _safeHTMLElement.canUseDOM) {\n var el = document.querySelectorAll(useElement);\n assertNodeList(el, useElement);\n useElement = el;\n }\n globalElement = useElement || globalElement;\n return globalElement;\n}\n\nfunction validateElement(appElement) {\n var el = appElement || globalElement;\n if (el) {\n return Array.isArray(el) || el instanceof HTMLCollection || el instanceof NodeList ? el : [el];\n } else {\n (0, _warning2.default)(false, [\"react-modal: App element is not defined.\", \"Please use `Modal.setAppElement(el)` or set `appElement={el}`.\", \"This is needed so screen readers don't see main content\", \"when modal is opened. It is not recommended, but you can opt-out\", \"by setting `ariaHideApp={false}`.\"].join(\" \"));\n\n return [];\n }\n}\n\nfunction hide(appElement) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = validateElement(appElement)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var el = _step.value;\n\n el.setAttribute(\"aria-hidden\", \"true\");\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\n\nfunction show(appElement) {\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = validateElement(appElement)[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var el = _step2.value;\n\n el.removeAttribute(\"aria-hidden\");\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n}\n\nfunction documentNotReadyOrSSRTesting() {\n globalElement = null;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\n\nvar _portalOpenInstances = require(\"./portalOpenInstances\");\n\nvar _portalOpenInstances2 = _interopRequireDefault(_portalOpenInstances);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// Body focus trap see Issue #742\n\nvar before = void 0,\n after = void 0,\n instances = [];\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction resetState() {\n var _arr = [before, after];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var item = _arr[_i];\n if (!item) continue;\n item.parentNode && item.parentNode.removeChild(item);\n }\n before = after = null;\n instances = [];\n}\n\n/* istanbul ignore next */\nfunction log() {\n console.log(\"bodyTrap ----------\");\n console.log(instances.length);\n var _arr2 = [before, after];\n for (var _i2 = 0; _i2 < _arr2.length; _i2++) {\n var item = _arr2[_i2];\n var check = item || {};\n console.log(check.nodeName, check.className, check.id);\n }\n console.log(\"edn bodyTrap ----------\");\n}\n/* eslint-enable no-console */\n\nfunction focusContent() {\n if (instances.length === 0) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Open instances > 0 expected\");\n }\n return;\n }\n instances[instances.length - 1].focusContent();\n}\n\nfunction bodyTrap(eventType, openInstances) {\n if (!before && !after) {\n before = document.createElement(\"div\");\n before.setAttribute(\"data-react-modal-body-trap\", \"\");\n before.style.position = \"absolute\";\n before.style.opacity = \"0\";\n before.setAttribute(\"tabindex\", \"0\");\n before.addEventListener(\"focus\", focusContent);\n after = before.cloneNode();\n after.addEventListener(\"focus\", focusContent);\n }\n\n instances = openInstances;\n\n if (instances.length > 0) {\n // Add focus trap\n if (document.body.firstChild !== before) {\n document.body.insertBefore(before, document.body.firstChild);\n }\n if (document.body.lastChild !== after) {\n document.body.appendChild(after);\n }\n } else {\n // Remove focus trap\n if (before.parentElement) {\n before.parentElement.removeChild(before);\n }\n if (after.parentElement) {\n after.parentElement.removeChild(after);\n }\n }\n}\n\n_portalOpenInstances2.default.subscribe(bodyTrap);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\nvar htmlClassList = {};\nvar docBodyClassList = {};\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction removeClass(at, cls) {\n at.classList.remove(cls);\n}\n\n/* istanbul ignore next */\nfunction resetState() {\n var htmlElement = document.getElementsByTagName(\"html\")[0];\n for (var cls in htmlClassList) {\n removeClass(htmlElement, htmlClassList[cls]);\n }\n\n var body = document.body;\n for (var _cls in docBodyClassList) {\n removeClass(body, docBodyClassList[_cls]);\n }\n\n htmlClassList = {};\n docBodyClassList = {};\n}\n\n/* istanbul ignore next */\nfunction log() {\n if (process.env.NODE_ENV !== \"production\") {\n var classes = document.getElementsByTagName(\"html\")[0].className;\n var buffer = \"Show tracked classes:\\n\\n\";\n\n buffer += \" (\" + classes + \"):\\n \";\n for (var x in htmlClassList) {\n buffer += \" \" + x + \" \" + htmlClassList[x] + \"\\n \";\n }\n\n classes = document.body.className;\n\n buffer += \"\\n\\ndoc.body (\" + classes + \"):\\n \";\n for (var _x in docBodyClassList) {\n buffer += \" \" + _x + \" \" + docBodyClassList[_x] + \"\\n \";\n }\n\n buffer += \"\\n\";\n\n console.log(buffer);\n }\n}\n/* eslint-enable no-console */\n\n/**\n * Track the number of reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\nvar incrementReference = function incrementReference(poll, className) {\n if (!poll[className]) {\n poll[className] = 0;\n }\n poll[className] += 1;\n return className;\n};\n\n/**\n * Drop the reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\nvar decrementReference = function decrementReference(poll, className) {\n if (poll[className]) {\n poll[className] -= 1;\n }\n return className;\n};\n\n/**\n * Track a class and add to the given class list.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll The poll to be used.\n * @param {Array} classes The list of classes to be tracked.\n */\nvar trackClass = function trackClass(classListRef, poll, classes) {\n classes.forEach(function (className) {\n incrementReference(poll, className);\n classListRef.add(className);\n });\n};\n\n/**\n * Untrack a class and remove from the given class list if the reference\n * reaches 0.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll The poll to be used.\n * @param {Array} classes The list of classes to be untracked.\n */\nvar untrackClass = function untrackClass(classListRef, poll, classes) {\n classes.forEach(function (className) {\n decrementReference(poll, className);\n poll[className] === 0 && classListRef.remove(className);\n });\n};\n\n/**\n * Public inferface to add classes to the document.body.\n * @param {string} bodyClass The class string to be added.\n * It may contain more then one class\n * with ' ' as separator.\n */\nvar add = exports.add = function add(element, classString) {\n return trackClass(element.classList, element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList, classString.split(\" \"));\n};\n\n/**\n * Public inferface to remove classes from the document.body.\n * @param {string} bodyClass The class string to be added.\n * It may contain more then one class\n * with ' ' as separator.\n */\nvar remove = exports.remove = function remove(element, classString) {\n return untrackClass(element.classList, element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList, classString.split(\" \"));\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\nexports.handleBlur = handleBlur;\nexports.handleFocus = handleFocus;\nexports.markForFocusLater = markForFocusLater;\nexports.returnFocus = returnFocus;\nexports.popWithoutFocus = popWithoutFocus;\nexports.setupScopedFocus = setupScopedFocus;\nexports.teardownScopedFocus = teardownScopedFocus;\n\nvar _tabbable = require(\"../helpers/tabbable\");\n\nvar _tabbable2 = _interopRequireDefault(_tabbable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar focusLaterElements = [];\nvar modalElement = null;\nvar needToFocus = false;\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction resetState() {\n focusLaterElements = [];\n}\n\n/* istanbul ignore next */\nfunction log() {\n if (process.env.NODE_ENV !== \"production\") {\n console.log(\"focusManager ----------\");\n focusLaterElements.forEach(function (f) {\n var check = f || {};\n console.log(check.nodeName, check.className, check.id);\n });\n console.log(\"end focusManager ----------\");\n }\n}\n/* eslint-enable no-console */\n\nfunction handleBlur() {\n needToFocus = true;\n}\n\nfunction handleFocus() {\n if (needToFocus) {\n needToFocus = false;\n if (!modalElement) {\n return;\n }\n // need to see how jQuery shims document.on('focusin') so we don't need the\n // setTimeout, firefox doesn't support focusin, if it did, we could focus\n // the element outside of a setTimeout. Side-effect of this implementation\n // is that the document.body gets focus, and then we focus our element right\n // after, seems fine.\n setTimeout(function () {\n if (modalElement.contains(document.activeElement)) {\n return;\n }\n var el = (0, _tabbable2.default)(modalElement)[0] || modalElement;\n el.focus();\n }, 0);\n }\n}\n\nfunction markForFocusLater() {\n focusLaterElements.push(document.activeElement);\n}\n\n/* eslint-disable no-console */\nfunction returnFocus() {\n var preventScroll = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var toFocus = null;\n try {\n if (focusLaterElements.length !== 0) {\n toFocus = focusLaterElements.pop();\n toFocus.focus({ preventScroll: preventScroll });\n }\n return;\n } catch (e) {\n console.warn([\"You tried to return focus to\", toFocus, \"but it is not in the DOM anymore\"].join(\" \"));\n }\n}\n/* eslint-enable no-console */\n\nfunction popWithoutFocus() {\n focusLaterElements.length > 0 && focusLaterElements.pop();\n}\n\nfunction setupScopedFocus(element) {\n modalElement = element;\n\n if (window.addEventListener) {\n window.addEventListener(\"blur\", handleBlur, false);\n document.addEventListener(\"focus\", handleFocus, true);\n } else {\n window.attachEvent(\"onBlur\", handleBlur);\n document.attachEvent(\"onFocus\", handleFocus);\n }\n}\n\nfunction teardownScopedFocus() {\n modalElement = null;\n\n if (window.addEventListener) {\n window.removeEventListener(\"blur\", handleBlur);\n document.removeEventListener(\"focus\", handleFocus);\n } else {\n window.detachEvent(\"onBlur\", handleBlur);\n document.detachEvent(\"onFocus\", handleFocus);\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.log = log;\nexports.resetState = resetState;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n// Tracks portals that are open and emits events to subscribers\n\nvar PortalOpenInstances = function PortalOpenInstances() {\n var _this = this;\n\n _classCallCheck(this, PortalOpenInstances);\n\n this.register = function (openInstance) {\n if (_this.openInstances.indexOf(openInstance) !== -1) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Cannot register modal instance that's already open\");\n }\n return;\n }\n _this.openInstances.push(openInstance);\n _this.emit(\"register\");\n };\n\n this.deregister = function (openInstance) {\n var index = _this.openInstances.indexOf(openInstance);\n if (index === -1) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Unable to deregister \" + openInstance + \" as \" + \"it was never registered\");\n }\n return;\n }\n _this.openInstances.splice(index, 1);\n _this.emit(\"deregister\");\n };\n\n this.subscribe = function (callback) {\n _this.subscribers.push(callback);\n };\n\n this.emit = function (eventType) {\n _this.subscribers.forEach(function (subscriber) {\n return subscriber(eventType,\n // shallow copy to avoid accidental mutation\n _this.openInstances.slice());\n });\n };\n\n this.openInstances = [];\n this.subscribers = [];\n};\n\nvar portalOpenInstances = new PortalOpenInstances();\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction log() {\n console.log(\"portalOpenInstances ----------\");\n console.log(portalOpenInstances.openInstances.length);\n portalOpenInstances.openInstances.forEach(function (p) {\n return console.log(p);\n });\n console.log(\"end portalOpenInstances ----------\");\n}\n\n/* istanbul ignore next */\nfunction resetState() {\n portalOpenInstances = new PortalOpenInstances();\n}\n/* eslint-enable no-console */\n\nexports.default = portalOpenInstances;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.canUseDOM = exports.SafeNodeList = exports.SafeHTMLCollection = undefined;\n\nvar _exenv = require(\"exenv\");\n\nvar _exenv2 = _interopRequireDefault(_exenv);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar EE = _exenv2.default;\n\nvar SafeHTMLElement = EE.canUseDOM ? window.HTMLElement : {};\n\nvar SafeHTMLCollection = exports.SafeHTMLCollection = EE.canUseDOM ? window.HTMLCollection : {};\n\nvar SafeNodeList = exports.SafeNodeList = EE.canUseDOM ? window.NodeList : {};\n\nvar canUseDOM = exports.canUseDOM = EE.canUseDOM;\n\nexports.default = SafeHTMLElement;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = scopeTab;\n\nvar _tabbable = require(\"./tabbable\");\n\nvar _tabbable2 = _interopRequireDefault(_tabbable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getActiveElement() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;\n\n return el.activeElement.shadowRoot ? getActiveElement(el.activeElement.shadowRoot) : el.activeElement;\n}\n\nfunction scopeTab(node, event) {\n var tabbable = (0, _tabbable2.default)(node);\n\n if (!tabbable.length) {\n // Do nothing, since there are no elements that can receive focus.\n event.preventDefault();\n return;\n }\n\n var target = void 0;\n\n var shiftKey = event.shiftKey;\n var head = tabbable[0];\n var tail = tabbable[tabbable.length - 1];\n var activeElement = getActiveElement();\n\n // proceed with default browser behavior on tab.\n // Focus on last element on shift + tab.\n if (node === activeElement) {\n if (!shiftKey) return;\n target = tail;\n }\n\n if (tail === activeElement && !shiftKey) {\n target = head;\n }\n\n if (head === activeElement && shiftKey) {\n target = tail;\n }\n\n if (target) {\n event.preventDefault();\n target.focus();\n return;\n }\n\n // Safari radio issue.\n //\n // Safari does not move the focus to the radio button,\n // so we need to force it to really walk through all elements.\n //\n // This is very error prone, since we are trying to guess\n // if it is a safari browser from the first occurence between\n // chrome or safari.\n //\n // The chrome user agent contains the first ocurrence\n // as the 'chrome/version' and later the 'safari/version'.\n var checkSafari = /(\\bChrome\\b|\\bSafari\\b)\\//.exec(navigator.userAgent);\n var isSafariDesktop = checkSafari != null && checkSafari[1] != \"Chrome\" && /\\biPod\\b|\\biPad\\b/g.exec(navigator.userAgent) == null;\n\n // If we are not in safari desktop, let the browser control\n // the focus\n if (!isSafariDesktop) return;\n\n var x = tabbable.indexOf(activeElement);\n\n if (x > -1) {\n x += shiftKey ? -1 : 1;\n }\n\n target = tabbable[x];\n\n // If the tabbable element does not exist,\n // focus head/tail based on shiftKey\n if (typeof target === \"undefined\") {\n event.preventDefault();\n target = shiftKey ? tail : head;\n target.focus();\n return;\n }\n\n event.preventDefault();\n\n target.focus();\n}\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = findTabbableDescendants;\n/*!\n * Adapted from jQuery UI core\n *\n * http://jqueryui.com\n *\n * Copyright 2014 jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/category/ui-core/\n */\n\nvar tabbableNode = /input|select|textarea|button|object/;\n\nfunction hidesContents(element) {\n var zeroSize = element.offsetWidth <= 0 && element.offsetHeight <= 0;\n\n // If the node is empty, this is good enough\n if (zeroSize && !element.innerHTML) return true;\n\n try {\n // Otherwise we need to check some styles\n var style = window.getComputedStyle(element);\n return zeroSize ? style.getPropertyValue(\"overflow\") !== \"visible\" ||\n // if 'overflow: visible' set, check if there is actually any overflow\n element.scrollWidth <= 0 && element.scrollHeight <= 0 : style.getPropertyValue(\"display\") == \"none\";\n } catch (exception) {\n // eslint-disable-next-line no-console\n console.warn(\"Failed to inspect element style\");\n return false;\n }\n}\n\nfunction visible(element) {\n var parentElement = element;\n var rootNode = element.getRootNode && element.getRootNode();\n while (parentElement) {\n if (parentElement === document.body) break;\n\n // if we are not hidden yet, skip to checking outside the Web Component\n if (rootNode && parentElement === rootNode) parentElement = rootNode.host.parentNode;\n\n if (hidesContents(parentElement)) return false;\n parentElement = parentElement.parentNode;\n }\n return true;\n}\n\nfunction focusable(element, isTabIndexNotNaN) {\n var nodeName = element.nodeName.toLowerCase();\n var res = tabbableNode.test(nodeName) && !element.disabled || (nodeName === \"a\" ? element.href || isTabIndexNotNaN : isTabIndexNotNaN);\n return res && visible(element);\n}\n\nfunction tabbable(element) {\n var tabIndex = element.getAttribute(\"tabindex\");\n if (tabIndex === null) tabIndex = undefined;\n var isTabIndexNaN = isNaN(tabIndex);\n return (isTabIndexNaN || tabIndex >= 0) && focusable(element, !isTabIndexNaN);\n}\n\nfunction findTabbableDescendants(element) {\n var descendants = [].slice.call(element.querySelectorAll(\"*\"), 0).reduce(function (finished, el) {\n return finished.concat(!el.shadowRoot ? [el] : findTabbableDescendants(el.shadowRoot));\n }, []);\n return descendants.filter(tabbable);\n}\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Modal = require(\"./components/Modal\");\n\nvar _Modal2 = _interopRequireDefault(_Modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _Modal2.default;\nmodule.exports = exports[\"default\"];","/** @license React v17.0.2\n * react-jsx-runtime.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';require(\"object-assign\");var f=require(\"react\"),g=60103;exports.Fragment=60107;if(\"function\"===typeof Symbol&&Symbol.for){var h=Symbol.for;g=h(\"react.element\");exports.Fragment=h(\"react.fragment\")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,k){var b,d={},e=null,l=null;void 0!==k&&(e=\"\"+k);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(l=a.ref);for(b in a)n.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:g,type:c,key:e,ref:l,props:d,_owner:m.current}}exports.jsx=q;exports.jsxs=q;\n","/** @license React v17.0.2\n * react.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 l=require(\"object-assign\"),n=60103,p=60106;exports.Fragment=60107;exports.StrictMode=60108;exports.Profiler=60114;var q=60109,r=60110,t=60112;exports.Suspense=60113;var u=60115,v=60116;\nif(\"function\"===typeof Symbol&&Symbol.for){var w=Symbol.for;n=w(\"react.element\");p=w(\"react.portal\");exports.Fragment=w(\"react.fragment\");exports.StrictMode=w(\"react.strict_mode\");exports.Profiler=w(\"react.profiler\");q=w(\"react.provider\");r=w(\"react.context\");t=w(\"react.forward_ref\");exports.Suspense=w(\"react.suspense\");u=w(\"react.memo\");v=w(\"react.lazy\")}var x=\"function\"===typeof Symbol&&Symbol.iterator;\nfunction y(a){if(null===a||\"object\"!==typeof a)return null;a=x&&a[x]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function z(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c=\nE};k=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0I(n,c))void 0!==r&&0>I(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>I(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function I(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var L=[],M=[],N=1,O=null,P=3,Q=!1,R=!1,S=!1;\nfunction T(a){for(var b=J(M);null!==b;){if(null===b.callback)K(M);else if(b.startTime<=a)K(M),b.sortIndex=b.expirationTime,H(L,b);else break;b=J(M)}}function U(a){S=!1;T(a);if(!R)if(null!==J(L))R=!0,f(V);else{var b=J(M);null!==b&&g(U,b.startTime-a)}}\nfunction V(a,b){R=!1;S&&(S=!1,h());Q=!0;var c=P;try{T(b);for(O=J(L);null!==O&&(!(O.expirationTime>b)||a&&!exports.unstable_shouldYield());){var d=O.callback;if(\"function\"===typeof d){O.callback=null;P=O.priorityLevel;var e=d(O.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?O.callback=e:O===J(L)&&K(L);T(b)}else K(L);O=J(L)}if(null!==O)var m=!0;else{var n=J(M);null!==n&&g(U,n.startTime-b);m=!1}return m}finally{O=null,P=c,Q=!1}}var W=k;exports.unstable_IdlePriority=5;\nexports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){R||Q||(R=!0,f(V))};exports.unstable_getCurrentPriorityLevel=function(){return P};exports.unstable_getFirstCallbackNode=function(){return J(L)};\nexports.unstable_next=function(a){switch(P){case 1:case 2:case 3:var b=3;break;default:b=P}var c=P;P=b;try{return a()}finally{P=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=W;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=P;P=a;try{return b()}finally{P=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0d?(a.sortIndex=c,H(M,a),null===J(L)&&a===J(M)&&(S?h():S=!0,g(U,c-d))):(a.sortIndex=e,H(L,a),R||Q||(R=!0,f(V)));return a};\nexports.unstable_wrapCallback=function(a){var b=P;return function(){var c=P;P=b;try{return a.apply(this,arguments)}finally{P=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/* \n(The MIT License)\nCopyright (c) 2014-2021 Halász Ádám \nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n\n// Unique Hexatridecimal ID Generator\n// ================================================\n\n// Dependencies\n// ================================================\nvar pid = typeof process !== 'undefined' && process.pid ? process.pid.toString(36) : '' ;\nvar address = '';\nif(typeof __webpack_require__ !== 'function' && typeof require !== 'undefined'){\n var mac = '', os = require('os'); \n if(os.networkInterfaces) var networkInterfaces = os.networkInterfaces();\n if(networkInterfaces){\n loop:\n for(let interface_key in networkInterfaces){\n const networkInterface = networkInterfaces[interface_key];\n const length = networkInterface.length;\n for(var i = 0; i < length; i++){\n if(networkInterface[i] !== undefined && networkInterface[i].mac && networkInterface[i].mac != '00:00:00:00:00:00'){\n mac = networkInterface[i].mac; break loop;\n }\n }\n }\n address = mac ? parseInt(mac.replace(/\\:|\\D+/gi, '')).toString(36) : '' ;\n }\n} \n\n// Exports\n// ================================================\nmodule.exports = module.exports.default = function(prefix, suffix){ return (prefix ? prefix : '') + address + pid + now().toString(36) + (suffix ? suffix : ''); }\nmodule.exports.process = function(prefix, suffix){ return (prefix ? prefix : '') + pid + now().toString(36) + (suffix ? suffix : ''); }\nmodule.exports.time = function(prefix, suffix){ return (prefix ? prefix : '') + now().toString(36) + (suffix ? suffix : ''); }\n\n// Helpers\n// ================================================\nfunction now(){\n var time = Date.now();\n var last = now.last || time;\n return now.last = time > last ? time : last + 1;\n}\n","/**\n * Copyright (c) 2014-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 * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + chunkId + \".\" + \"e999b889\" + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"dcnf:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t179: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkdcnf\"] = self[\"webpackChunkdcnf\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _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}","export default 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}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","import * as React from \"react\";\nimport type { History, Location } from \"history\";\nimport { Action as NavigationType } from \"history\";\n\nimport type { RouteMatch } from \"./router\";\n\n/**\n * A Navigator is a \"location changer\"; it's how you get to different locations.\n *\n * Every history instance conforms to the Navigator interface, but the\n * distinction is useful primarily when it comes to the low-level API\n * where both the location and a navigator must be provided separately in order\n * to avoid \"tearing\" that may occur in a suspense-enabled app if the action\n * and/or location were to be read directly from the history instance.\n */\nexport type Navigator = Pick;\n\ninterface NavigationContextObject {\n basename: string;\n navigator: Navigator;\n static: boolean;\n}\n\nexport const NavigationContext = React.createContext(\n null!\n);\n\nif (__DEV__) {\n NavigationContext.displayName = \"Navigation\";\n}\n\ninterface LocationContextObject {\n location: Location;\n navigationType: NavigationType;\n}\n\nexport const LocationContext = React.createContext(\n null!\n);\n\nif (__DEV__) {\n LocationContext.displayName = \"Location\";\n}\n\ninterface RouteContextObject {\n outlet: React.ReactElement | null;\n matches: RouteMatch[];\n}\n\nexport const RouteContext = React.createContext({\n outlet: null,\n matches: [],\n});\n\nif (__DEV__) {\n RouteContext.displayName = \"Route\";\n}\n","import type { Location, Path, To } from \"history\";\nimport { parsePath } from \"history\";\n\nexport function invariant(cond: any, message: string): asserts cond {\n if (!cond) throw new Error(message);\n}\n\nexport function warning(cond: any, message: string): void {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging React Router!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nconst alreadyWarned: Record = {};\nexport function warningOnce(key: string, cond: boolean, message: string) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n warning(false, message);\n }\n}\n\ntype ParamParseFailed = { failed: true };\n\ntype ParamParseSegment =\n // Check here if there exists a forward slash in the string.\n Segment extends `${infer LeftSegment}/${infer RightSegment}`\n ? // If there is a forward slash, then attempt to parse each side of the\n // forward slash.\n ParamParseSegment extends infer LeftResult\n ? ParamParseSegment extends infer RightResult\n ? LeftResult extends string\n ? // If the left side is successfully parsed as a param, then check if\n // the right side can be successfully parsed as well. If both sides\n // can be parsed, then the result is a union of the two sides\n // (read: \"foo\" | \"bar\").\n RightResult extends string\n ? LeftResult | RightResult\n : LeftResult\n : // If the left side is not successfully parsed as a param, then check\n // if only the right side can be successfully parse as a param. If it\n // can, then the result is just right, else it's a failure.\n RightResult extends string\n ? RightResult\n : ParamParseFailed\n : ParamParseFailed\n : // If the left side didn't parse into a param, then just check the right\n // side.\n ParamParseSegment extends infer RightResult\n ? RightResult extends string\n ? RightResult\n : ParamParseFailed\n : ParamParseFailed\n : // If there's no forward slash, then check if this segment starts with a\n // colon. If it does, then this is a dynamic segment, so the result is\n // just the remainder of the string. Otherwise, it's a failure.\n Segment extends `:${infer Remaining}`\n ? Remaining\n : ParamParseFailed;\n\n// Attempt to parse the given string segment. If it fails, then just return the\n// plain string type as a default fallback. Otherwise return the union of the\n// parsed string literals that were referenced as dynamic segments in the route.\nexport type ParamParseKey =\n ParamParseSegment extends string\n ? ParamParseSegment\n : string;\n\n/**\n * The parameters that were parsed from the URL path.\n */\nexport type Params = {\n readonly [key in Key]: string | undefined;\n};\n\n/**\n * A route object represents a logical route, with (optionally) its child\n * routes organized in a tree-like structure.\n */\nexport interface RouteObject {\n caseSensitive?: boolean;\n children?: RouteObject[];\n element?: React.ReactNode;\n index?: boolean;\n path?: string;\n}\n\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/docs/en/v6/api#generatepath\n */\nexport function generatePath(path: string, params: Params = {}): string {\n return path\n .replace(/:(\\w+)/g, (_, key) => {\n invariant(params[key] != null, `Missing \":${key}\" param`);\n return params[key]!;\n })\n .replace(/\\/*\\*$/, (_) =>\n params[\"*\"] == null ? \"\" : params[\"*\"].replace(/^\\/*/, \"/\")\n );\n}\n\n/**\n * A RouteMatch contains info about how a route matched a URL.\n */\nexport interface RouteMatch {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The route object that was used to match.\n */\n route: RouteObject;\n}\n\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/docs/en/v6/api#matchroutes\n */\nexport function matchRoutes(\n routes: RouteObject[],\n locationArg: Partial | string,\n basename = \"/\"\n): RouteMatch[] | null {\n let location =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n let pathname = stripBasename(location.pathname || \"/\", basename);\n\n if (pathname == null) {\n return null;\n }\n\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n\n let matches = null;\n for (let i = 0; matches == null && i < branches.length; ++i) {\n matches = matchRouteBranch(branches[i], pathname);\n }\n\n return matches;\n}\n\ninterface RouteMeta {\n relativePath: string;\n caseSensitive: boolean;\n childrenIndex: number;\n route: RouteObject;\n}\n\ninterface RouteBranch {\n path: string;\n score: number;\n routesMeta: RouteMeta[];\n}\n\nfunction flattenRoutes(\n routes: RouteObject[],\n branches: RouteBranch[] = [],\n parentsMeta: RouteMeta[] = [],\n parentPath = \"\"\n): RouteBranch[] {\n routes.forEach((route, index) => {\n let meta: RouteMeta = {\n relativePath: route.path || \"\",\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route,\n };\n\n if (meta.relativePath.startsWith(\"/\")) {\n invariant(\n meta.relativePath.startsWith(parentPath),\n `Absolute route path \"${meta.relativePath}\" nested under path ` +\n `\"${parentPath}\" is not valid. An absolute child route path ` +\n `must start with the combined path of all its parent routes.`\n );\n\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta);\n\n // Add the children before adding this route to the array so we traverse the\n // route tree depth-first and child routes appear before their parents in\n // the \"flattened\" version.\n if (route.children && route.children.length > 0) {\n invariant(\n route.index !== true,\n `Index routes must not have child routes. Please remove ` +\n `all child routes from route path \"${path}\".`\n );\n\n flattenRoutes(route.children, branches, routesMeta, path);\n }\n\n // Routes without a path shouldn't ever match by themselves unless they are\n // index routes, so don't add them to the list of possible branches.\n if (route.path == null && !route.index) {\n return;\n }\n\n branches.push({ path, score: computeScore(path, route.index), routesMeta });\n });\n\n return branches;\n}\n\nfunction rankRouteBranches(branches: RouteBranch[]): void {\n branches.sort((a, b) =>\n a.score !== b.score\n ? b.score - a.score // Higher score first\n : compareIndexes(\n a.routesMeta.map((meta) => meta.childrenIndex),\n b.routesMeta.map((meta) => meta.childrenIndex)\n )\n );\n}\n\nconst paramRe = /^:\\w+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\nconst isSplat = (s: string) => s === \"*\";\n\nfunction computeScore(path: string, index: boolean | undefined): number {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n\n if (index) {\n initialScore += indexRouteValue;\n }\n\n return segments\n .filter((s) => !isSplat(s))\n .reduce(\n (score, segment) =>\n score +\n (paramRe.test(segment)\n ? dynamicSegmentValue\n : segment === \"\"\n ? emptySegmentValue\n : staticSegmentValue),\n initialScore\n );\n}\n\nfunction compareIndexes(a: number[], b: number[]): number {\n let siblings =\n a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n\n return siblings\n ? // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1]\n : // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0;\n}\n\nfunction matchRouteBranch(\n branch: RouteBranch,\n pathname: string\n): RouteMatch[] | null {\n let { routesMeta } = branch;\n\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches: RouteMatch[] = [];\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname =\n matchedPathname === \"/\"\n ? pathname\n : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath(\n { path: meta.relativePath, caseSensitive: meta.caseSensitive, end },\n remainingPathname\n );\n\n if (!match) return null;\n\n Object.assign(matchedParams, match.params);\n\n let route = meta.route;\n\n matches.push({\n params: matchedParams,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: normalizePathname(\n joinPaths([matchedPathname, match.pathnameBase])\n ),\n route,\n });\n\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n\n return matches;\n}\n\n/**\n * A PathPattern is used to match on some portion of a URL pathname.\n */\nexport interface PathPattern {\n /**\n * A string to match against a URL pathname. May contain `:id`-style segments\n * to indicate placeholders for dynamic parameters. May also end with `/*` to\n * indicate matching the rest of the URL pathname.\n */\n path: Path;\n /**\n * Should be `true` if the static portions of the `path` should be matched in\n * the same case.\n */\n caseSensitive?: boolean;\n /**\n * Should be `true` if this pattern should match the entire URL pathname.\n */\n end?: boolean;\n}\n\n/**\n * A PathMatch contains info about how a PathPattern matched on a URL pathname.\n */\nexport interface PathMatch {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The pattern that was used to match.\n */\n pattern: PathPattern;\n}\n\ntype Mutable = {\n -readonly [P in keyof T]: T[P];\n};\n\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/docs/en/v6/api#matchpath\n */\nexport function matchPath<\n ParamKey extends ParamParseKey,\n Path extends string\n>(\n pattern: PathPattern | Path,\n pathname: string\n): PathMatch | null {\n if (typeof pattern === \"string\") {\n pattern = { path: pattern, caseSensitive: false, end: true };\n }\n\n let [matcher, paramNames] = compilePath(\n pattern.path,\n pattern.caseSensitive,\n pattern.end\n );\n\n let match = pathname.match(matcher);\n if (!match) return null;\n\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params: Params = paramNames.reduce>(\n (memo, paramName, index) => {\n // We need to compute the pathnameBase here using the raw splat value\n // instead of using params[\"*\"] later because it will be decoded then\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname\n .slice(0, matchedPathname.length - splatValue.length)\n .replace(/(.)\\/+$/, \"$1\");\n }\n\n memo[paramName] = safelyDecodeURIComponent(\n captureGroups[index] || \"\",\n paramName\n );\n return memo;\n },\n {}\n );\n\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern,\n };\n}\n\nfunction compilePath(\n path: string,\n caseSensitive = false,\n end = true\n): [RegExp, string[]] {\n warning(\n path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"),\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n\n let paramNames: string[] = [];\n let regexpSource =\n \"^\" +\n path\n .replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n .replace(/[\\\\.*+^$?{}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n .replace(/:(\\w+)/g, (_: string, paramName: string) => {\n paramNames.push(paramName);\n return \"([^\\\\/]+)\";\n });\n\n if (path.endsWith(\"*\")) {\n paramNames.push(\"*\");\n regexpSource +=\n path === \"*\" || path === \"/*\"\n ? \"(.*)$\" // Already matched the initial /, just match the rest\n : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n } else {\n regexpSource += end\n ? \"\\\\/*$\" // When matching to the end, ignore trailing slashes\n : // Otherwise, match a word boundary or a proceeding /. The word boundary restricts\n // parent routes to matching only their own words and nothing more, e.g. parent\n // route \"/home\" should not match \"/home2\".\n // Additionally, allow paths starting with `.`, `-`, `~`, and url-encoded entities,\n // but do not consume the character in the matched path so they can match against\n // nested paths.\n \"(?:(?=[.~-]|%[0-9A-F]{2})|\\\\b|\\\\/|$)\";\n }\n\n let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n\n return [matcher, paramNames];\n}\n\nfunction safelyDecodeURIComponent(value: string, paramName: string) {\n try {\n return decodeURIComponent(value);\n } catch (error) {\n warning(\n false,\n `The value for the URL param \"${paramName}\" will not be decoded because` +\n ` the string \"${value}\" is a malformed URL segment. This is probably` +\n ` due to a bad percent encoding (${error}).`\n );\n\n return value;\n }\n}\n\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/docs/en/v6/api#resolvepath\n */\nexport function resolvePath(to: To, fromPathname = \"/\"): Path {\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\",\n } = typeof to === \"string\" ? parsePath(to) : to;\n\n let pathname = toPathname\n ? toPathname.startsWith(\"/\")\n ? toPathname\n : resolvePathname(toPathname, fromPathname)\n : fromPathname;\n\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash),\n };\n}\n\nfunction resolvePathname(relativePath: string, fromPathname: string): string {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n\n relativeSegments.forEach((segment) => {\n if (segment === \"..\") {\n // Keep the root \"\" segment so the pathname starts at /\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\n\nexport function resolveTo(\n toArg: To,\n routePathnames: string[],\n locationPathname: string\n): Path {\n let to = typeof toArg === \"string\" ? parsePath(toArg) : toArg;\n let toPathname = toArg === \"\" || to.pathname === \"\" ? \"/\" : to.pathname;\n\n // If a pathname is explicitly provided in `to`, it should be relative to the\n // route context. This is explained in `Note on `` values` in our\n // migration guide from v5 as a means of disambiguation between `to` values\n // that begin with `/` and those that do not. However, this is problematic for\n // `to` values that do not provide a pathname. `to` can simply be a search or\n // hash string, in which case we should assume that the navigation is relative\n // to the current location's pathname and *not* the route pathname.\n let from: string;\n if (toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n\n if (toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\");\n\n // Each leading .. segment means \"go up one route\" instead of \"go up one\n // URL segment\". This is a key difference from how works and a\n // major reason we call this a \"to\" value instead of a \"href\".\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n\n to.pathname = toSegments.join(\"/\");\n }\n\n // If there are more \"..\" segments than parent routes, resolve relative to\n // the root / URL.\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n\n let path = resolvePath(to, from);\n\n // Ensure the pathname has a trailing slash if the original to value had one.\n if (\n toPathname &&\n toPathname !== \"/\" &&\n toPathname.endsWith(\"/\") &&\n !path.pathname.endsWith(\"/\")\n ) {\n path.pathname += \"/\";\n }\n\n return path;\n}\n\nexport function getToPathname(to: To): string | undefined {\n // Empty strings should be treated the same as / paths\n return to === \"\" || (to as Path).pathname === \"\"\n ? \"/\"\n : typeof to === \"string\"\n ? parsePath(to).pathname\n : to.pathname;\n}\n\nexport function stripBasename(\n pathname: string,\n basename: string\n): string | null {\n if (basename === \"/\") return pathname;\n\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n\n let nextChar = pathname.charAt(basename.length);\n if (nextChar && nextChar !== \"/\") {\n // pathname does not start with basename/\n return null;\n }\n\n return pathname.slice(basename.length) || \"/\";\n}\n\nexport const joinPaths = (paths: string[]): string =>\n paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\n\nexport const normalizePathname = (pathname: string): string =>\n pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n\nconst normalizeSearch = (search: string): string =>\n !search || search === \"?\"\n ? \"\"\n : search.startsWith(\"?\")\n ? search\n : \"?\" + search;\n\nconst normalizeHash = (hash: string): string =>\n !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n","import * as React from \"react\";\nimport type { Location, Path, To } from \"history\";\nimport { Action as NavigationType, parsePath } from \"history\";\n\nimport { LocationContext, NavigationContext, RouteContext } from \"./context\";\nimport type {\n ParamParseKey,\n Params,\n PathMatch,\n PathPattern,\n RouteMatch,\n RouteObject,\n} from \"./router\";\nimport {\n getToPathname,\n invariant,\n joinPaths,\n matchPath,\n matchRoutes,\n resolveTo,\n warning,\n warningOnce,\n} from \"./router\";\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usehref\n */\nexport function useHref(to: To): string {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useHref() may be used only in the context of a component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { hash, pathname, search } = useResolvedPath(to);\n\n let joinedPathname = pathname;\n if (basename !== \"/\") {\n let toPathname = getToPathname(to);\n let endsWithSlash = toPathname != null && toPathname.endsWith(\"/\");\n joinedPathname =\n pathname === \"/\"\n ? basename + (endsWithSlash ? \"/\" : \"\")\n : joinPaths([basename, pathname]);\n }\n\n return navigator.createHref({ pathname: joinedPathname, search, hash });\n}\n\n/**\n * Returns true if this component is a descendant of a .\n *\n * @see https://reactrouter.com/docs/en/v6/api#useinroutercontext\n */\nexport function useInRouterContext(): boolean {\n return React.useContext(LocationContext) != null;\n}\n\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/docs/en/v6/api#uselocation\n */\nexport function useLocation(): Location {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useLocation() may be used only in the context of a component.`\n );\n\n return React.useContext(LocationContext).location;\n}\n\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usenavigationtype\n */\nexport function useNavigationType(): NavigationType {\n return React.useContext(LocationContext).navigationType;\n}\n\n/**\n * Returns true if the URL for the given \"to\" value matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * .\n *\n * @see https://reactrouter.com/docs/en/v6/api#usematch\n */\nexport function useMatch<\n ParamKey extends ParamParseKey,\n Path extends string\n>(pattern: PathPattern | Path): PathMatch | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useMatch() may be used only in the context of a component.`\n );\n\n let { pathname } = useLocation();\n return React.useMemo(\n () => matchPath(pattern, pathname),\n [pathname, pattern]\n );\n}\n\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\nexport interface NavigateFunction {\n (to: To, options?: NavigateOptions): void;\n (delta: number): void;\n}\n\nexport interface NavigateOptions {\n replace?: boolean;\n state?: any;\n}\n\n/**\n * Returns an imperative method for changing the location. Used by s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usenavigate\n */\nexport function useNavigate(): NavigateFunction {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useNavigate() may be used only in the context of a component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n matches.map((match) => match.pathnameBase)\n );\n\n let activeRef = React.useRef(false);\n React.useEffect(() => {\n activeRef.current = true;\n });\n\n let navigate: NavigateFunction = React.useCallback(\n (to: To | number, options: NavigateOptions = {}) => {\n warning(\n activeRef.current,\n `You should call navigate() in a React.useEffect(), not when ` +\n `your component is first rendered.`\n );\n\n if (!activeRef.current) return;\n\n if (typeof to === \"number\") {\n navigator.go(to);\n return;\n }\n\n let path = resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname\n );\n\n if (basename !== \"/\") {\n path.pathname = joinPaths([basename, path.pathname]);\n }\n\n (!!options.replace ? navigator.replace : navigator.push)(\n path,\n options.state\n );\n },\n [basename, navigator, routePathnamesJson, locationPathname]\n );\n\n return navigate;\n}\n\nconst OutletContext = React.createContext(null);\n\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/docs/en/v6/api#useoutletcontext\n */\nexport function useOutletContext(): Context {\n return React.useContext(OutletContext) as Context;\n}\n\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by to render child routes.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useoutlet\n */\nexport function useOutlet(context?: unknown): React.ReactElement | null {\n let outlet = React.useContext(RouteContext).outlet;\n if (outlet) {\n return (\n {outlet}\n );\n }\n return outlet;\n}\n\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useparams\n */\nexport function useParams<\n ParamsOrKey extends string | Record = string\n>(): Readonly<\n [ParamsOrKey] extends [string] ? Params : Partial\n> {\n let { matches } = React.useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? (routeMatch.params as any) : {};\n}\n\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useresolvedpath\n */\nexport function useResolvedPath(to: To): Path {\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n matches.map((match) => match.pathnameBase)\n );\n\n return React.useMemo(\n () => resolveTo(to, JSON.parse(routePathnamesJson), locationPathname),\n [to, routePathnamesJson, locationPathname]\n );\n}\n\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an to render their child route's\n * element.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useroutes\n */\nexport function useRoutes(\n routes: RouteObject[],\n locationArg?: Partial | string\n): React.ReactElement | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useRoutes() may be used only in the context of a component.`\n );\n\n let { matches: parentMatches } = React.useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n\n if (__DEV__) {\n // You won't get a warning about 2 different under a \n // without a trailing *, but this is a best-effort warning anyway since we\n // cannot even give the warning unless they land at the parent route.\n //\n // Example:\n //\n // \n // {/* This route path MUST end with /* because otherwise\n // it will never match /blog/post/123 */}\n // } />\n // } />\n // \n //\n // function Blog() {\n // return (\n // \n // } />\n // \n // );\n // }\n let parentPath = (parentRoute && parentRoute.path) || \"\";\n warningOnce(\n parentPathname,\n !parentRoute || parentPath.endsWith(\"*\"),\n `You rendered descendant (or called \\`useRoutes()\\`) at ` +\n `\"${parentPathname}\" (under ) but the ` +\n `parent route path has no trailing \"*\". This means if you navigate ` +\n `deeper, the parent won't match anymore and therefore the child ` +\n `routes will never render.\\n\\n` +\n `Please change the parent to .`\n );\n }\n\n let locationFromContext = useLocation();\n\n let location;\n if (locationArg) {\n let parsedLocationArg =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n invariant(\n parentPathnameBase === \"/\" ||\n parsedLocationArg.pathname?.startsWith(parentPathnameBase),\n `When overriding the location using \\`\\` or \\`useRoutes(routes, location)\\`, ` +\n `the location pathname must begin with the portion of the URL pathname that was ` +\n `matched by all parent routes. The current pathname base is \"${parentPathnameBase}\" ` +\n `but pathname \"${parsedLocationArg.pathname}\" was given in the \\`location\\` prop.`\n );\n\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n\n let pathname = location.pathname || \"/\";\n let remainingPathname =\n parentPathnameBase === \"/\"\n ? pathname\n : pathname.slice(parentPathnameBase.length) || \"/\";\n let matches = matchRoutes(routes, { pathname: remainingPathname });\n\n if (__DEV__) {\n warning(\n parentRoute || matches != null,\n `No routes matched location \"${location.pathname}${location.search}${location.hash}\" `\n );\n\n warning(\n matches == null ||\n matches[matches.length - 1].route.element !== undefined,\n `Matched leaf route at location \"${location.pathname}${location.search}${location.hash}\" does not have an element. ` +\n `This means it will render an with a null value by default resulting in an \"empty\" page.`\n );\n }\n\n return _renderMatches(\n matches &&\n matches.map((match) =>\n Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([parentPathnameBase, match.pathname]),\n pathnameBase:\n match.pathnameBase === \"/\"\n ? parentPathnameBase\n : joinPaths([parentPathnameBase, match.pathnameBase]),\n })\n ),\n parentMatches\n );\n}\n\nexport function _renderMatches(\n matches: RouteMatch[] | null,\n parentMatches: RouteMatch[] = []\n): React.ReactElement | null {\n if (matches == null) return null;\n\n return matches.reduceRight((outlet, match, index) => {\n return (\n \n );\n }, null as React.ReactElement | null);\n}\n","import * as React from \"react\";\nimport type { InitialEntry, Location, MemoryHistory, To } from \"history\";\nimport {\n Action as NavigationType,\n createMemoryHistory,\n parsePath,\n} from \"history\";\n\nimport { LocationContext, NavigationContext, Navigator } from \"./context\";\nimport {\n useInRouterContext,\n useNavigate,\n useOutlet,\n useRoutes,\n _renderMatches,\n} from \"./hooks\";\nimport type { RouteMatch, RouteObject } from \"./router\";\nimport { invariant, normalizePathname, stripBasename, warning } from \"./router\";\n\nexport interface MemoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n initialEntries?: InitialEntry[];\n initialIndex?: number;\n}\n\n/**\n * A that stores all entries in memory.\n *\n * @see https://reactrouter.com/docs/en/v6/api#memoryrouter\n */\nexport function MemoryRouter({\n basename,\n children,\n initialEntries,\n initialIndex,\n}: MemoryRouterProps): React.ReactElement {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createMemoryHistory({ initialEntries, initialIndex });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface NavigateProps {\n to: To;\n replace?: boolean;\n state?: any;\n}\n\n/**\n * Changes the current location.\n *\n * Note: This API is mostly useful in React.Component subclasses that are not\n * able to use hooks. In functional components, we recommend you use the\n * `useNavigate` hook instead.\n *\n * @see https://reactrouter.com/docs/en/v6/api#navigate\n */\nexport function Navigate({ to, replace, state }: NavigateProps): null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of\n // the router loaded. We can help them understand how to avoid that.\n ` may be used only in the context of a component.`\n );\n\n warning(\n !React.useContext(NavigationContext).static,\n ` must not be used on the initial render in a . ` +\n `This is a no-op, but you should modify your code so the is ` +\n `only ever rendered in response to some user interaction or state change.`\n );\n\n let navigate = useNavigate();\n React.useEffect(() => {\n navigate(to, { replace, state });\n });\n\n return null;\n}\n\nexport interface OutletProps {\n context?: unknown;\n}\n\n/**\n * Renders the child route's element, if there is one.\n *\n * @see https://reactrouter.com/docs/en/v6/api#outlet\n */\nexport function Outlet(props: OutletProps): React.ReactElement | null {\n return useOutlet(props.context);\n}\n\nexport interface RouteProps {\n caseSensitive?: boolean;\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n index?: boolean;\n path?: string;\n}\n\nexport interface PathRouteProps {\n caseSensitive?: boolean;\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n index?: false;\n path: string;\n}\n\nexport interface LayoutRouteProps {\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n}\n\nexport interface IndexRouteProps {\n element?: React.ReactNode | null;\n index: true;\n}\n\n/**\n * Declares an element that should be rendered at a certain URL path.\n *\n * @see https://reactrouter.com/docs/en/v6/api#route\n */\nexport function Route(\n _props: PathRouteProps | LayoutRouteProps | IndexRouteProps\n): React.ReactElement | null {\n invariant(\n false,\n `A is only ever to be used as the child of element, ` +\n `never rendered directly. Please wrap your in a .`\n );\n}\n\nexport interface RouterProps {\n basename?: string;\n children?: React.ReactNode;\n location: Partial | string;\n navigationType?: NavigationType;\n navigator: Navigator;\n static?: boolean;\n}\n\n/**\n * Provides location context for the rest of the app.\n *\n * Note: You usually won't render a directly. Instead, you'll render a\n * router that is more specific to your environment such as a \n * in web browsers or a for server rendering.\n *\n * @see https://reactrouter.com/docs/en/v6/api#router\n */\nexport function Router({\n basename: basenameProp = \"/\",\n children = null,\n location: locationProp,\n navigationType = NavigationType.Pop,\n navigator,\n static: staticProp = false,\n}: RouterProps): React.ReactElement | null {\n invariant(\n !useInRouterContext(),\n `You cannot render a inside another .` +\n ` You should never have more than one in your app.`\n );\n\n let basename = normalizePathname(basenameProp);\n let navigationContext = React.useMemo(\n () => ({ basename, navigator, static: staticProp }),\n [basename, navigator, staticProp]\n );\n\n if (typeof locationProp === \"string\") {\n locationProp = parsePath(locationProp);\n }\n\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n state = null,\n key = \"default\",\n } = locationProp;\n\n let location = React.useMemo(() => {\n let trailingPathname = stripBasename(pathname, basename);\n\n if (trailingPathname == null) {\n return null;\n }\n\n return {\n pathname: trailingPathname,\n search,\n hash,\n state,\n key,\n };\n }, [basename, pathname, search, hash, state, key]);\n\n warning(\n location != null,\n ` is not able to match the URL ` +\n `\"${pathname}${search}${hash}\" because it does not start with the ` +\n `basename, so the won't render anything.`\n );\n\n if (location == null) {\n return null;\n }\n\n return (\n \n \n \n );\n}\n\nexport interface RoutesProps {\n children?: React.ReactNode;\n location?: Partial | string;\n}\n\n/**\n * A container for a nested tree of elements that renders the branch\n * that best matches the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#routes\n */\nexport function Routes({\n children,\n location,\n}: RoutesProps): React.ReactElement | null {\n return useRoutes(createRoutesFromChildren(children), location);\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// UTILS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * Creates a route config from a React \"children\" object, which is usually\n * either a `` element or an array of them. Used internally by\n * `` to create a route config from its children.\n *\n * @see https://reactrouter.com/docs/en/v6/api#createroutesfromchildren\n */\nexport function createRoutesFromChildren(\n children: React.ReactNode\n): RouteObject[] {\n let routes: RouteObject[] = [];\n\n React.Children.forEach(children, (element) => {\n if (!React.isValidElement(element)) {\n // Ignore non-elements. This allows people to more easily inline\n // conditionals in their route config.\n return;\n }\n\n if (element.type === React.Fragment) {\n // Transparently support React.Fragment and its children.\n routes.push.apply(\n routes,\n createRoutesFromChildren(element.props.children)\n );\n return;\n }\n\n invariant(\n element.type === Route,\n `[${\n typeof element.type === \"string\" ? element.type : element.type.name\n }] is not a component. All component children of must be a or `\n );\n\n let route: RouteObject = {\n caseSensitive: element.props.caseSensitive,\n element: element.props.element,\n index: element.props.index,\n path: element.props.path,\n };\n\n if (element.props.children) {\n route.children = createRoutesFromChildren(element.props.children);\n }\n\n routes.push(route);\n });\n\n return routes;\n}\n\n/**\n * Renders the result of `matchRoutes()` into a React element.\n */\nexport function renderMatches(\n matches: RouteMatch[] | null\n): React.ReactElement | null {\n return _renderMatches(matches);\n}\n","/**\n * NOTE: If you refactor this to split up the modules into separate files,\n * you'll need to update the rollup config for react-router-dom-v5-compat.\n */\nimport * as React from \"react\";\nimport type { BrowserHistory, HashHistory, History } from \"history\";\nimport { createBrowserHistory, createHashHistory } from \"history\";\nimport {\n MemoryRouter,\n Navigate,\n Outlet,\n Route,\n Router,\n Routes,\n createRoutesFromChildren,\n generatePath,\n matchRoutes,\n matchPath,\n createPath,\n parsePath,\n resolvePath,\n renderMatches,\n useHref,\n useInRouterContext,\n useLocation,\n useMatch,\n useNavigate,\n useNavigationType,\n useOutlet,\n useParams,\n useResolvedPath,\n useRoutes,\n useOutletContext,\n} from \"react-router\";\nimport type { To } from \"react-router\";\n\nfunction warning(cond: boolean, message: string): void {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging React Router!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// RE-EXPORTS\n////////////////////////////////////////////////////////////////////////////////\n\n// Note: Keep in sync with react-router exports!\nexport {\n MemoryRouter,\n Navigate,\n Outlet,\n Route,\n Router,\n Routes,\n createRoutesFromChildren,\n generatePath,\n matchRoutes,\n matchPath,\n createPath,\n parsePath,\n renderMatches,\n resolvePath,\n useHref,\n useInRouterContext,\n useLocation,\n useMatch,\n useNavigate,\n useNavigationType,\n useOutlet,\n useParams,\n useResolvedPath,\n useRoutes,\n useOutletContext,\n};\n\nexport { NavigationType } from \"react-router\";\nexport type {\n Hash,\n Location,\n Path,\n To,\n MemoryRouterProps,\n NavigateFunction,\n NavigateOptions,\n NavigateProps,\n Navigator,\n OutletProps,\n Params,\n PathMatch,\n RouteMatch,\n RouteObject,\n RouteProps,\n PathRouteProps,\n LayoutRouteProps,\n IndexRouteProps,\n RouterProps,\n Pathname,\n Search,\n RoutesProps,\n} from \"react-router\";\n\n///////////////////////////////////////////////////////////////////////////////\n// DANGER! PLEASE READ ME!\n// We provide these exports as an escape hatch in the event that you need any\n// routing data that we don't provide an explicit API for. With that said, we\n// want to cover your use case if we can, so if you feel the need to use these\n// we want to hear from you. Let us know what you're building and we'll do our\n// best to make sure we can support you!\n//\n// We consider these exports an implementation detail and do not guarantee\n// against any breaking changes, regardless of the semver release. Use with\n// extreme caution and only if you understand the consequences. Godspeed.\n///////////////////////////////////////////////////////////////////////////////\n\n/** @internal */\nexport {\n UNSAFE_NavigationContext,\n UNSAFE_LocationContext,\n UNSAFE_RouteContext,\n} from \"react-router\";\n\n////////////////////////////////////////////////////////////////////////////////\n// COMPONENTS\n////////////////////////////////////////////////////////////////////////////////\n\nexport interface BrowserRouterProps {\n basename?: string;\n children?: React.ReactNode;\n window?: Window;\n}\n\n/**\n * A `` for use in web browsers. Provides the cleanest URLs.\n */\nexport function BrowserRouter({\n basename,\n children,\n window,\n}: BrowserRouterProps) {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createBrowserHistory({ window });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface HashRouterProps {\n basename?: string;\n children?: React.ReactNode;\n window?: Window;\n}\n\n/**\n * A `` for use in web browsers. Stores the location in the hash\n * portion of the URL so it is not sent to the server.\n */\nexport function HashRouter({ basename, children, window }: HashRouterProps) {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createHashHistory({ window });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface HistoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n history: History;\n}\n\n/**\n * A `` that accepts a pre-instantiated history object. It's important\n * to note that using your own history object is highly discouraged and may add\n * two versions of the history library to your bundles unless you use the same\n * version of the history library that React Router uses internally.\n */\nfunction HistoryRouter({ basename, children, history }: HistoryRouterProps) {\n const [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nif (__DEV__) {\n HistoryRouter.displayName = \"unstable_HistoryRouter\";\n}\n\nexport { HistoryRouter as unstable_HistoryRouter };\n\nfunction isModifiedEvent(event: React.MouseEvent) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nexport interface LinkProps\n extends Omit, \"href\"> {\n reloadDocument?: boolean;\n replace?: boolean;\n state?: any;\n to: To;\n}\n\n/**\n * The public API for rendering a history-aware .\n */\nexport const Link = React.forwardRef(\n function LinkWithRef(\n { onClick, reloadDocument, replace = false, state, target, to, ...rest },\n ref\n ) {\n let href = useHref(to);\n let internalOnClick = useLinkClickHandler(to, { replace, state, target });\n function handleClick(\n event: React.MouseEvent\n ) {\n if (onClick) onClick(event);\n if (!event.defaultPrevented && !reloadDocument) {\n internalOnClick(event);\n }\n }\n\n return (\n // eslint-disable-next-line jsx-a11y/anchor-has-content\n \n );\n }\n);\n\nif (__DEV__) {\n Link.displayName = \"Link\";\n}\n\nexport interface NavLinkProps\n extends Omit {\n children?:\n | React.ReactNode\n | ((props: { isActive: boolean }) => React.ReactNode);\n caseSensitive?: boolean;\n className?: string | ((props: { isActive: boolean }) => string | undefined);\n end?: boolean;\n style?:\n | React.CSSProperties\n | ((props: { isActive: boolean }) => React.CSSProperties);\n}\n\n/**\n * A wrapper that knows if it's \"active\" or not.\n */\nexport const NavLink = React.forwardRef(\n function NavLinkWithRef(\n {\n \"aria-current\": ariaCurrentProp = \"page\",\n caseSensitive = false,\n className: classNameProp = \"\",\n end = false,\n style: styleProp,\n to,\n children,\n ...rest\n },\n ref\n ) {\n let location = useLocation();\n let path = useResolvedPath(to);\n\n let locationPathname = location.pathname;\n let toPathname = path.pathname;\n if (!caseSensitive) {\n locationPathname = locationPathname.toLowerCase();\n toPathname = toPathname.toLowerCase();\n }\n\n let isActive =\n locationPathname === toPathname ||\n (!end &&\n locationPathname.startsWith(toPathname) &&\n locationPathname.charAt(toPathname.length) === \"/\");\n\n let ariaCurrent = isActive ? ariaCurrentProp : undefined;\n\n let className: string | undefined;\n if (typeof classNameProp === \"function\") {\n className = classNameProp({ isActive });\n } else {\n // If the className prop is not a function, we use a default `active`\n // class for s that are active. In v5 `active` was the default\n // value for `activeClassName`, but we are removing that API and can still\n // use the old default behavior for a cleaner upgrade path and keep the\n // simple styling rules working as they currently do.\n className = [classNameProp, isActive ? \"active\" : null]\n .filter(Boolean)\n .join(\" \");\n }\n\n let style =\n typeof styleProp === \"function\" ? styleProp({ isActive }) : styleProp;\n\n return (\n \n {typeof children === \"function\" ? children({ isActive }) : children}\n \n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// HOOKS\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Handles the click behavior for router `` components. This is useful if\n * you need to create custom `` components with the same click behavior we\n * use in our exported ``.\n */\nexport function useLinkClickHandler(\n to: To,\n {\n target,\n replace: replaceProp,\n state,\n }: {\n target?: React.HTMLAttributeAnchorTarget;\n replace?: boolean;\n state?: any;\n } = {}\n): (event: React.MouseEvent) => void {\n let navigate = useNavigate();\n let location = useLocation();\n let path = useResolvedPath(to);\n\n return React.useCallback(\n (event: React.MouseEvent) => {\n if (\n event.button === 0 && // Ignore everything but left clicks\n (!target || target === \"_self\") && // Let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // Ignore clicks with modifier keys\n ) {\n event.preventDefault();\n\n // If the URL hasn't changed, a regular will do a replace instead of\n // a push, so do the same here.\n let replace =\n !!replaceProp || createPath(location) === createPath(path);\n\n navigate(to, { replace, state });\n }\n },\n [location, navigate, path, replaceProp, state, target, to]\n );\n}\n\n/**\n * A convenient wrapper for reading and writing search parameters via the\n * URLSearchParams interface.\n */\nexport function useSearchParams(defaultInit?: URLSearchParamsInit) {\n warning(\n typeof URLSearchParams !== \"undefined\",\n `You cannot use the \\`useSearchParams\\` hook in a browser that does not ` +\n `support the URLSearchParams API. If you need to support Internet ` +\n `Explorer 11, we recommend you load a polyfill such as ` +\n `https://github.com/ungap/url-search-params\\n\\n` +\n `If you're unsure how to load polyfills, we recommend you check out ` +\n `https://polyfill.io/v3/ which provides some recommendations about how ` +\n `to load polyfills only for users that need them, instead of for every ` +\n `user.`\n );\n\n let defaultSearchParamsRef = React.useRef(createSearchParams(defaultInit));\n\n let location = useLocation();\n let searchParams = React.useMemo(() => {\n let searchParams = createSearchParams(location.search);\n\n for (let key of defaultSearchParamsRef.current.keys()) {\n if (!searchParams.has(key)) {\n defaultSearchParamsRef.current.getAll(key).forEach((value) => {\n searchParams.append(key, value);\n });\n }\n }\n\n return searchParams;\n }, [location.search]);\n\n let navigate = useNavigate();\n let setSearchParams = React.useCallback(\n (\n nextInit: URLSearchParamsInit,\n navigateOptions?: { replace?: boolean; state?: any }\n ) => {\n navigate(\"?\" + createSearchParams(nextInit), navigateOptions);\n },\n [navigate]\n );\n\n return [searchParams, setSearchParams] as const;\n}\n\nexport type ParamKeyValuePair = [string, string];\n\nexport type URLSearchParamsInit =\n | string\n | ParamKeyValuePair[]\n | Record\n | URLSearchParams;\n\n/**\n * Creates a URLSearchParams object using the given initializer.\n *\n * This is identical to `new URLSearchParams(init)` except it also\n * supports arrays as values in the object form of the initializer\n * instead of just strings. This is convenient when you need multiple\n * values for a given key, but don't want to use an array initializer.\n *\n * For example, instead of:\n *\n * let searchParams = new URLSearchParams([\n * ['sort', 'name'],\n * ['sort', 'price']\n * ]);\n *\n * you can do:\n *\n * let searchParams = createSearchParams({\n * sort: ['name', 'price']\n * });\n */\nexport function createSearchParams(\n init: URLSearchParamsInit = \"\"\n): URLSearchParams {\n return new URLSearchParams(\n typeof init === \"string\" ||\n Array.isArray(init) ||\n init instanceof URLSearchParams\n ? init\n : Object.keys(init).reduce((memo, key) => {\n let value = init[key];\n return memo.concat(\n Array.isArray(value) ? value.map((v) => [key, v]) : [[key, value]]\n );\n }, [] as ParamKeyValuePair[])\n );\n}\n","export default function _defineProperty(obj, key, value) {\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\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _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, descriptor.key, descriptor);\n }\n}\n\nexport default function _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}","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 React from 'react';\nvar defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true\n};\nvar i18nInstance;\nexport var I18nContext = React.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}","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}","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';\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 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 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, namespaces.join()]);\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]);\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}","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\n/**\r\n * Sample:\r\n * customClasses = {\r\n * \"uppercase\": [\"h1\", \"h2\"],\r\n * \"reverse lowercase\": [\"h3\", \"p5\"]\r\n * };\r\n *\r\n * @param {*} param0\r\n * @returns\r\n */\r\nconst TextSection = ({\r\n classes,\r\n customClasses,\r\n icon,\r\n h1,\r\n h2,\r\n h3,\r\n h4,\r\n h5,\r\n h6,\r\n p1,\r\n p2,\r\n p3,\r\n p4,\r\n p5,\r\n}) => {\r\n const getClasses = (el) => {\r\n const keys = Object.keys(customClasses || {}).filter((key) =>\r\n customClasses[key].includes(el)\r\n );\r\n return keys.join(\" \");\r\n };\r\n return (\r\n
\r\n {icon &&
{icon}
}\r\n {h1 && (\r\n \r\n {h1}\r\n \r\n )}\r\n {h2 && (\r\n \r\n {h2}\r\n \r\n )}\r\n {h3 && (\r\n \r\n {h3}\r\n \r\n )}\r\n {h4 && (\r\n \r\n {h4}\r\n \r\n )}\r\n {h5 && (\r\n \r\n {h5}\r\n \r\n )}\r\n\r\n {h6 && (\r\n \r\n {h6}\r\n \r\n )}\r\n {p1 && (\r\n \r\n {p1}\r\n

\r\n )}\r\n {p2 && (\r\n \r\n {p2}\r\n

\r\n )}\r\n {p3 && (\r\n \r\n {p3}\r\n

\r\n )}\r\n {p4 && (\r\n \r\n {p4}\r\n

\r\n )}\r\n {p5 && (\r\n \r\n {p5}\r\n

\r\n )}\r\n
\r\n );\r\n};\r\n\r\nTextSection.propTypes = {\r\n classes: PropTypes.string,\r\n customClasses: PropTypes.object,\r\n icon: PropTypes.element,\r\n h1: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\r\n h2: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\r\n h3: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\r\n h4: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\r\n h5: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\r\n h6: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\r\n p1: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\r\n p2: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\r\n p3: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\r\n p4: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\r\n p5: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\r\n};\r\n\r\nexport default React.memo(TextSection);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst ContainerWrapper = ({ margin = \"12%\", classes, children }) => {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nContainerWrapper.propTypes = {\r\n classes: PropTypes.string,\r\n margin: PropTypes.string,\r\n padding: PropTypes.string,\r\n children: PropTypes.node,\r\n};\r\n\r\nexport default React.memo(ContainerWrapper);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst CardImage = ({ classes, backgroundImage, children, id, onClick, overridingStyle }) => {\r\n // TODO NICETOHAVE Integrare suspense React\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nCardImage.propTypes = {\r\n classes: PropTypes.string,\r\n backgroundImage: PropTypes.string,\r\n id: PropTypes.string,\r\n children: PropTypes.node,\r\n onClick: PropTypes.func,\r\n};\r\n\r\nexport default React.memo(CardImage);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst ClimateChangeIcon = ({\r\n width = \"33\",\r\n height = \"33\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nClimateChangeIcon.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\nexport default React.memo(ClimateChangeIcon);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst CybersecurityIcon = ({\r\n width = \"39\",\r\n height = \"41\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nCybersecurityIcon.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\nexport default React.memo(CybersecurityIcon);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst EnhancementIcon = ({\r\n width = \"33\",\r\n height = \"31\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nEnhancementIcon.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\nexport default React.memo(EnhancementIcon);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst FinancialInclusionIcon = ({\r\n width = \"34\",\r\n height = \"34\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nFinancialInclusionIcon.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\nexport default React.memo(FinancialInclusionIcon);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst GreenTransitionIcon = ({\r\n width = \"30\",\r\n height = \"30\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nGreenTransitionIcon.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\nexport default React.memo(GreenTransitionIcon);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst HealthIcon = ({\r\n width = \"25\",\r\n height = \"37\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nHealthIcon.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\nexport default React.memo(HealthIcon);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst HomeIcon = ({\r\n width = \"42\",\r\n height = \"36\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nHomeIcon.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\nexport default React.memo(HomeIcon);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst IntegrityIcon = ({\r\n width = \"33\",\r\n height = \"34\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nIntegrityIcon.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\nexport default React.memo(IntegrityIcon);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst InvestmentIcon = ({\r\n width = \"29\",\r\n height = \"33\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nInvestmentIcon.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\nexport default React.memo(InvestmentIcon);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst JobProtectionIcon = ({\r\n width = \"25\",\r\n height = \"30\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nJobProtectionIcon.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\nexport default React.memo(JobProtectionIcon);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst SatisfactionIcon = ({\r\n width = \"33\",\r\n height = \"38\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nSatisfactionIcon.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\nexport default React.memo(SatisfactionIcon);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst SolidityIcon = ({\r\n width = \"36\",\r\n height = \"35\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nSolidityIcon.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\nexport default React.memo(SolidityIcon);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst CommunitySupportIcon = ({\r\n width = \"30\",\r\n height = \"28\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nCommunitySupportIcon.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\nexport default React.memo(CommunitySupportIcon);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst CopyIcon = ({\r\n width = \"66\",\r\n height = \"78\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nCopyIcon.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\nexport default React.memo(CopyIcon);\r\n\r\n\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst ArrowBottomIcon = ({\r\n width = \"32\",\r\n height = \"29\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nArrowBottomIcon.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\nexport default React.memo(ArrowBottomIcon);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst PlayIcon = ({\r\n width = \"49\",\r\n height = \"41\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nPlayIcon.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\nexport default React.memo(PlayIcon);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst ExpandIcon = ({\r\n width = \"22\",\r\n height = \"12\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nExpandIcon.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\nexport default React.memo(ExpandIcon);\r\n\r\n\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst CollapseIcon = ({\r\n width = \"22\",\r\n height = \"13\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nCollapseIcon.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n color: PropTypes.string,\r\n};\r\nexport default React.memo(CollapseIcon);\r\n\r\n\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst ButtonTooltipIcon = ({\r\n width = \"19\",\r\n height = \"19\", \r\n}) => { \r\n return ( \r\n \r\n\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nButtonTooltipIcon.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string \r\n};\r\nexport default React.memo(ButtonTooltipIcon);\r\n\r\n\r\n\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst CloseIcon = ({\r\n width = \"22\",\r\n height = \"22\", \r\n classes=\"stroke-white\"\r\n}) => {\r\n return ( \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nCloseIcon.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string, \r\n color: PropTypes.string \r\n};\r\nexport default React.memo(CloseIcon);\r\n\r\n\r\n\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst LinkIcon = ({\r\n width = \"23\",\r\n height = \"24\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nLinkIcon.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n color: PropTypes.string,\r\n};\r\nexport default React.memo(LinkIcon);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst ArrowRightIcon = ({\r\n width = \"39\",\r\n height = \"30\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nArrowRightIcon.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\nexport default React.memo(ArrowRightIcon);\r\n\r\n\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst GroupTooltipIcon1 = ({\r\n width = \"48\",\r\n height = \"48\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nGroupTooltipIcon1.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\nexport default React.memo(GroupTooltipIcon1);\r\n\r\n\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst GroupTooltipIcon2 = ({\r\n width = \"41\",\r\n height = \"56\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nGroupTooltipIcon2.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\nexport default React.memo(GroupTooltipIcon2);\r\n\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst GroupTooltipIcon3 = ({\r\n width = \"79\",\r\n height = \"42\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nGroupTooltipIcon3.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\nexport default React.memo(GroupTooltipIcon3);\r\n\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst GroupTooltipIcon4 = ({\r\n width = \"61\",\r\n height = \"63\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n );\r\n};\r\n\r\nGroupTooltipIcon4.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\nexport default React.memo(GroupTooltipIcon4);\r\n\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst GroupTooltipIcon5 = ({\r\n width = \"69\",\r\n height = \"69\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n );\r\n};\r\n\r\nGroupTooltipIcon5.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\nexport default React.memo(GroupTooltipIcon5);\r\n\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst GroupTooltipIcon6 = ({\r\n width = \"59\",\r\n height = \"59\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nGroupTooltipIcon6.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\nexport default React.memo(GroupTooltipIcon6);\r\n\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst GroupTooltipIcon7 = ({\r\n width = \"46\",\r\n height = \"67\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nGroupTooltipIcon7.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\nexport default React.memo(GroupTooltipIcon7);\r\n\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst GroupTooltipIcon8 = ({\r\n width = \"62\",\r\n height = \"46\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nGroupTooltipIcon8.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\nexport default React.memo(GroupTooltipIcon8);\r\n\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst LavoroDignitoso = ({\r\n width = \"55\",\r\n height = \"50\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n );\r\n};\r\n\r\nLavoroDignitoso.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\n\r\nexport default React.memo(LavoroDignitoso);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst LavoroDignitoso = ({\r\n width = \"54\",\r\n height = \"50\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nLavoroDignitoso.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\n\r\nexport default React.memo(LavoroDignitoso);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst SaluteBenessere = ({\r\n width = \"54\",\r\n height = \"50\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nSaluteBenessere.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\n\r\nexport default React.memo(SaluteBenessere);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst IndustriaInnovazione = ({\r\n width = \"54\",\r\n height = \"50\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nIndustriaInnovazione.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\n\r\nexport default React.memo(IndustriaInnovazione);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst CircleGroup = ({\r\n width = \"55\",\r\n height = \"50\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nCircleGroup.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\n\r\nexport default React.memo(CircleGroup);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst Istruzione = ({\r\n width = \"55\",\r\n height = \"50\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nIstruzione.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\n\r\nexport default React.memo(Istruzione);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst ParitaGenere = ({\r\n width = \"55\",\r\n height = \"50\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nParitaGenere.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\n\r\nexport default React.memo(ParitaGenere);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst CittaSostenibili = ({\r\n width = \"55\",\r\n height = \"50\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nCittaSostenibili.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\n\r\nexport default React.memo(CittaSostenibili);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst CircleGroup = ({\r\n width = \"55\",\r\n height = \"50\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nCircleGroup.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\n\r\nexport default React.memo(CircleGroup);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst LottaCambiamentoClimatico = ({\r\n width = \"55\",\r\n height = \"50\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nLottaCambiamentoClimatico.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\n\r\nexport default React.memo(LottaCambiamentoClimatico);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst RidurreDisuguaglianze = ({\r\n width = \"55\",\r\n height = \"50\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nRidurreDisuguaglianze.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\n\r\nexport default React.memo(RidurreDisuguaglianze);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst GreenEnergy = ({\r\n width = \"56\",\r\n height = \"50\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n );\r\n};\r\n\r\nGreenEnergy.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\n\r\nexport default React.memo(GreenEnergy);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst MenuItem = ({ title, Icon, isActive, classes, iconProps, isMobile }) => {\r\n return (\r\n <>\r\n {isMobile ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nMenuItem.propTypes = {\r\n title: PropTypes.string,\r\n isMobile: PropTypes.bool,\r\n classes: PropTypes.string,\r\n Icon: PropTypes.oneOfType([PropTypes.object, PropTypes.element]),\r\n};\r\n\r\nexport default React.memo(MenuItem);\r\n","import React, { useCallback, useState, useEffect, useRef } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Link, useLocation } from \"react-router-dom\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport {\r\n menuItems,\r\n autoResizerRegistrar,\r\n Retry,\r\n iFrameResizerListener,\r\n} from \"../../utils\";\r\nimport MenuItem from \"../MenuItem\";\r\nimport { ExpandIcon, CollapseIcon } from \"../../assets/icons\";\r\nimport configuration from \"./../../configuration.json\";\r\n\r\nconst Menu = () => {\r\n const ref = useRef(true);\r\n const { t, ready } = useTranslation();\r\n const location = useLocation();\r\n const [isCollapsed, setIsCollapsed] = useState(true);\r\n const [sizes, setSizes] = useState({ elements: {}, members: {} });\r\n const [desktopPosition, setDesktopPosition] = useState(0);\r\n const [mobilePosition, setMobilePosition] = useState(0);\r\n const [hoveredMenuItem, setHoveredMenuItem] = useState(null);\r\n\r\n useEffect(() => {\r\n return () => {\r\n ref.current = false;\r\n };\r\n }, []);\r\n\r\n const showMobileMenu = useCallback(() => {\r\n if (ref.current) {\r\n const collapsedMenu = document.getElementById(\"mobile-collapsed-menu\");\r\n collapsedMenu.classList.toggle(\"hidden\");\r\n const collapsed = !isCollapsed;\r\n setIsCollapsed(collapsed);\r\n }\r\n }, [isCollapsed]);\r\n\r\n const setMenuPosition = (\r\n elementId,\r\n sizes,\r\n menuHeight,\r\n navigationItemsHeight\r\n ) => {\r\n const { elements, members } = sizes;\r\n const ispHeader = elements[\"page-header\"]?.[0];\r\n const ispBreadcrumb = elements[\"header-main\"]?.[0];\r\n\r\n const menuPosition =\r\n members.visualViewport?.height -\r\n (ispHeader?.clientHeight + ispBreadcrumb?.clientHeight + menuHeight) +\r\n members?.scrollY +\r\n 2 -\r\n navigationItemsHeight;\r\n\r\n if (isNaN(menuPosition)) return;\r\n\r\n const isDesktop = elementId === \"desktop-menu\";\r\n const previousPosition = isDesktop ? desktopPosition : mobilePosition;\r\n if (ref.current) {\r\n if (previousPosition !== menuPosition) {\r\n if (isDesktop) setDesktopPosition(menuPosition);\r\n else setMobilePosition(menuPosition);\r\n const menu = document.getElementById(elementId);\r\n const footer = document.getElementsByTagName(\"footer\")?.[0];\r\n if (menu && footer) {\r\n //const threshold = window.visualViewport?.height - menuHeight;\r\n const threshold =\r\n footer.getBoundingClientRect().top -\r\n menuHeight -\r\n navigationItemsHeight;\r\n if (menuPosition >= threshold) {\r\n //menu.style.display = \"none\";\r\n menu.style.position = \"fixed\";\r\n menu.style.top = threshold + \"px\";\r\n } else {\r\n //menu.style.display = \"block\";\r\n menu.style.position = \"fixed\";\r\n menu.style.top = menuPosition + \"px\";\r\n }\r\n menu.style.maxHeight = menuHeight + navigationItemsHeight + \"px\";\r\n }\r\n }\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n const desktopMenuHeight = 55;\r\n const desktopNavigationItemsHeight = 29;\r\n setMenuPosition(\r\n \"desktop-menu\",\r\n sizes,\r\n desktopMenuHeight,\r\n desktopNavigationItemsHeight\r\n );\r\n\r\n const mobileMenuHeight = 48;\r\n const collaspedMobileNavigationItemsHeight = isCollapsed\r\n ? 0\r\n : 33 * menuItems.length;\r\n setMenuPosition(\r\n \"mobile-menu\",\r\n sizes,\r\n mobileMenuHeight,\r\n collaspedMobileNavigationItemsHeight\r\n );\r\n }, [isCollapsed, sizes]);\r\n\r\n const onDocumentLoaded = () => {\r\n switch (configuration.menu.positioning.algorithm) {\r\n case configuration.menu.positioning.algorithms.AutoResizer:\r\n retry.start({\r\n condition: () => window.autoResizer,\r\n onSuccess: () => {\r\n if (ref.current) {\r\n window.autoResizer.setOnParentScrollRequest({\r\n byClassNames: [\"page-header\", \"header-main\"],\r\n byMemberNames: [\"visualViewport\", \"scrollY\"],\r\n });\r\n window.autoResizer.addOnParentSizesResponse(setSizes);\r\n }\r\n },\r\n onRetry: onDocumentLoaded,\r\n onFailure: () => {\r\n console.debug(\"autoResizer not found in Menu index.jsx:115\");\r\n },\r\n });\r\n break;\r\n\r\n case configuration.menu.positioning.algorithms.Infer:\r\n iFrameResizerListener.listen();\r\n break;\r\n }\r\n };\r\n\r\n const retry = new Retry(\"Menu\");\r\n\r\n // Register BEFORE document.load:\r\n iFrameResizerListener.register(retry.name, setSizes);\r\n\r\n useEffect(() => {\r\n console.info(\"configuration version \" + configuration.version);\r\n switch (configuration.menu.positioning.algorithm) {\r\n case configuration.menu.positioning.algorithms.AutoResizer:\r\n retry.register();\r\n autoResizerRegistrar.register(onDocumentLoaded);\r\n return () => {\r\n retry.unregister();\r\n autoResizerRegistrar.unregister(onDocumentLoaded);\r\n };\r\n\r\n default:\r\n return () => {\r\n // NEVER un-register Menu! MUST be always positioned!\r\n // iFrameResizerListener.unregister(retry.name);\r\n };\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n switch (configuration.menu.positioning.algorithm) {\r\n case configuration.menu.positioning.algorithms.AutoResizer:\r\n retry.register();\r\n autoResizerRegistrar.register(onDocumentLoaded);\r\n return () => {\r\n retry.unregister();\r\n autoResizerRegistrar.unregister(onDocumentLoaded);\r\n };\r\n\r\n default:\r\n iFrameResizerListener.listen();\r\n return () => {\r\n // NEVER un-register Menu! MUST be always positioned!\r\n // iFrameResizerListener.unregister(retry.name);\r\n };\r\n }\r\n }, [location]);\r\n\r\n const onClick = (e) => {\r\n setTimeout(() => {\r\n switch (configuration.menu.positioning.algorithm) {\r\n case configuration.menu.positioning.algorithms.AutoResizer:\r\n if (window.autoResizer) {\r\n window.autoResizer.onChildResized(e);\r\n } else {\r\n console.debug(\"autoResizer not found in Menu index.jsx:105\");\r\n }\r\n break;\r\n\r\n default:\r\n iFrameResizerListener.scrollParentToTop();\r\n break;\r\n }\r\n }, 500);\r\n };\r\n\r\n return (\r\n ready && (\r\n <>\r\n \r\n
\r\n \r\n \r\n );\r\n});\r\n\r\nTooltip.propTypes = {\r\n classes: PropTypes.string,\r\n};\r\n\r\nexport default React.memo(Tooltip);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst ShowMore = ({\r\n title,\r\n width = 432,\r\n height = 121,\r\n icon,\r\n url,\r\n download = false,\r\n target,\r\n classes,\r\n iconPosition,\r\n}) => { \r\n return (\r\n <>\r\n {title && (\r\n \r\n \r\n {title}\r\n \r\n
{icon}
\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nShowMore.propTypes = {\r\n //title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]), \r\n title: PropTypes.string,\r\n classes: PropTypes.string,\r\n icon: PropTypes.element,\r\n url: PropTypes.string,\r\n download: PropTypes.bool,\r\n target: PropTypes.string,\r\n};\r\n\r\nexport default React.memo(ShowMore);\r\n","import React, { useState } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Animated } from \"react-animated-css\";\r\nimport { useFirstRender } from \"../helpers/CustomHooks\";\r\nimport TextSection from \"./TextSection\";\r\n\r\nconst AreaSquares = ({ areas, description }) => {\r\n const { t, ready } = useTranslation();\r\n const [areaDescription, setAreaDescription] = useState(description);\r\n const isFirstRender = useFirstRender();\r\n return (\r\n !!ready && (\r\n <>\r\n {areas?.length && (\r\n
\r\n
\r\n {areas.map((area, index) => {\r\n const AreaIcon = area.icon;\r\n return (\r\n
\r\n \r\n \r\n setAreaDescription(`${t(`Generic.SDG.${area.id}`)}`)\r\n }\r\n onMouseLeave={() => setAreaDescription(description)}\r\n >\r\n \r\n
\r\n \r\n
\r\n );\r\n })}\r\n
\r\n \r\n {t(areaDescription) && (\r\n \r\n )}\r\n \r\n \r\n )}\r\n \r\n )\r\n );\r\n};\r\n\r\nAreaSquares.propTypes = {\r\n areas: PropTypes.array,\r\n description: PropTypes.string,\r\n};\r\n\r\nexport default React.memo(AreaSquares);\r\n","import { useRef } from 'react';\r\n\r\nconst useFirstRender = () => {\r\n const ref = useRef(true);\r\n const firstRender = ref.current;\r\n ref.current = false;\r\n return firstRender;\r\n}\r\n\r\nexport {\r\n useFirstRender,\r\n}","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport TextSection from \"../../components/TextSection\";\r\nimport {\r\n CybersecurityIcon,\r\n ButtonTooltipIcon,\r\n ShowMoreIcon,\r\n} from \"../../assets/icons\";\r\nimport ContainerWrapper from \"../../components/ContainerWrapper\";\r\nimport Menu from \"../../components/Menu\";\r\nimport Timeline from \"../../components/Timeline\";\r\nimport {\r\n TimelineIcon5,\r\n TimelineIcon6,\r\n TimelineIcon7,\r\n TimelineIcon8,\r\n} from \"../../assets/images\";\r\nimport InfoBox from \"../../components/InfoBox\";\r\nimport Tooltip from \"../../components/Tooltip\";\r\nimport ShowMore from \"../../components/ShowMore\";\r\nimport AreaSquares from \"../../components/AreaSquares\";\r\nimport { areas } from \"../../utils\";\r\n\r\nconst TimelineItems = [\r\n {\r\n Icon: TimelineIcon5,\r\n title: \"\",\r\n titleClasses: \"\",\r\n left: {\r\n title: \"InnovationTransformation.Timeline1.leftTitle\",\r\n caption: \"\",\r\n },\r\n right: {\r\n title: \"\",\r\n caption: \"InnovationTransformation.Timeline1.rightCaption\",\r\n },\r\n timelineTop: { sx: \"\", dx: \"\" },\r\n timelineBottom: { sx: \"\", dx: \"\" },\r\n },\r\n {\r\n Icon: TimelineIcon6,\r\n title: \"\",\r\n titleClasses: \"\",\r\n left: {\r\n title: \"InnovationTransformation.Timeline2.leftTitle\",\r\n caption: \"InnovationTransformation.Timeline2.leftCaption\",\r\n },\r\n right: {\r\n title: \"\",\r\n caption: \"InnovationTransformation.Timeline2.rightCaption\",\r\n },\r\n timelineTop: { sx: \"\", dx: \"\" },\r\n timelineBottom: { sx: \"\", dx: \"\" },\r\n },\r\n {\r\n Icon: TimelineIcon7,\r\n title: \"\",\r\n titleClasses: \"\",\r\n left: {\r\n title: \"InnovationTransformation.Timeline3.leftTitle\",\r\n caption: \"InnovationTransformation.Timeline3.leftCaption\",\r\n },\r\n right: {\r\n title: \"\",\r\n caption: \"InnovationTransformation.Timeline3.rightCaption\",\r\n },\r\n timelineTop: { sx: \"\", dx: \"\" },\r\n timelineBottom: { sx: \"\", dx: \"\" },\r\n },\r\n {\r\n Icon: TimelineIcon8,\r\n title: \"\",\r\n titleClasses: \"\",\r\n left: {\r\n title: \"InnovationTransformation.Timeline4.leftTitle\",\r\n caption: \"\",\r\n },\r\n right: {\r\n title: \"\",\r\n caption: \"InnovationTransformation.Timeline4.rightCaption\",\r\n },\r\n timelineTop: { sx: \"\", dx: \"\" },\r\n timelineBottom: { sx: \"\", dx: \"\" },\r\n },\r\n];\r\n\r\nconst InnovationTransformation = () => {\r\n const { t, ready } = useTranslation();\r\n\r\n return (\r\n !!ready && (\r\n <>\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n
\r\n {t(\"InnovationTransformation.InfoBox1.TextSection2.text2\")}\r\n
\r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n />\r\n \r\n
\r\n\r\n \r\n \r\n
\r\n {t(\"InnovationTransformation.InfoBox2.TextSection1.text2\")}\r\n
\r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n />\r\n \r\n
\r\n {t(\"InnovationTransformation.InfoBox2.TextSection2.text2\")}\r\n
\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n />\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n {t(\"InnovationTransformation.TextSection4.text1\") && (\r\n
\r\n \r\n \r\n \r\n }\r\n />\r\n
\r\n )}\r\n
\r\n \r\n \r\n )\r\n );\r\n};\r\n\r\nInnovationTransformation.propTypes = {};\r\n\r\nexport default React.memo(InnovationTransformation);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst ConsumoResponsabile = ({\r\n width = \"55\",\r\n height = \"50\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nConsumoResponsabile.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\n\r\nexport default React.memo(ConsumoResponsabile);\r\n","import React from \"react\";\r\nimport {\r\n SolidityIcon,\r\n IntegrityIcon,\r\n SatisfactionIcon,\r\n CybersecurityIcon,\r\n FinancialInclusionIcon,\r\n InvestmentIcon,\r\n JobProtectionIcon,\r\n EnhancementIcon,\r\n GreenTransitionIcon,\r\n HealthIcon,\r\n Covid19Icon,\r\n HomeIcon,\r\n ClimateChangeIcon,\r\n CommunitySupportIcon,\r\n} from \"./assets/icons\";\r\nimport {\r\n CircleGroup,\r\n CittaSostenibili,\r\n GreenEnergy,\r\n Istruzione,\r\n LavoroDignitoso,\r\n LottaCambiamentoClimatico,\r\n PaceGiustizia,\r\n ParitaGenere,\r\n RidurreDisuguaglianze,\r\n SaluteBenessere,\r\n} from \"./assets/icons/Areas\";\r\nimport InnovationTransformation from \"./containers/InnovationTransformation\";\r\nimport Family from \"./assets/icons/Areas/Family\";\r\nimport IndustriaInnovazione from \"./assets/icons/Areas/IndustriaInnovazione\";\r\nimport ConsumoResponsabile from \"./assets/icons/Areas/ConsumoResponsabile\";\r\nimport uniqid from \"uniqid\";\r\nimport configuration from \"./configuration.json\";\r\n\r\nconst menuItems = [\r\n {\r\n id: \"item-home\",\r\n title: \"Home.Menu.label\",\r\n icon: HomeIcon,\r\n iconProps: {\r\n width: \"38px\",\r\n height: \"32px\",\r\n },\r\n url: \"Home.Menu.url\",\r\n },\r\n {\r\n id: \"item-group-value\",\r\n title: \"GroupValue.Menu.label\",\r\n icon: SolidityIcon,\r\n iconProps: {\r\n width: \"33px\",\r\n height: \"32px\",\r\n },\r\n url: \"GroupValue.Menu.url\",\r\n },\r\n {\r\n id: \"item-integrity\",\r\n title: \"IntegrityPage.Menu.label\",\r\n icon: IntegrityIcon,\r\n iconProps: {\r\n width: \"36px\",\r\n height: \"37px\",\r\n },\r\n url: \"IntegrityPage.Menu.url\",\r\n },\r\n {\r\n id: \"item-service-quality\",\r\n title: \"ServiceQuality.Menu.label\",\r\n icon: SatisfactionIcon,\r\n iconProps: {\r\n width: \"36px\",\r\n height: \"42px\",\r\n },\r\n url: \"ServiceQuality.Menu.url\",\r\n },\r\n {\r\n id: \"item-innovation-transformation\",\r\n title: \"InnovationTransformation.Menu.label\",\r\n icon: CybersecurityIcon,\r\n iconProps: {\r\n width: \"40px\",\r\n height: \"41px\",\r\n },\r\n url: \"InnovationTransformation.Menu.url\",\r\n },\r\n {\r\n id: \"item-financial-inclusion\",\r\n title: \"FinancialInclusion.Menu.label\",\r\n icon: FinancialInclusionIcon,\r\n iconProps: {\r\n width: \"36px\",\r\n height: \"36px\",\r\n },\r\n url: \"FinancialInclusion.Menu.url\",\r\n },\r\n {\r\n id: \"item-investment-insurance\",\r\n title: \"InvestmentInsurance.Menu.label\",\r\n icon: InvestmentIcon,\r\n iconProps: {\r\n width: \"32px\",\r\n height: \"36px\",\r\n },\r\n url: \"InvestmentInsurance.Menu.url\",\r\n },\r\n {\r\n id: \"item-community-support\",\r\n title: \"CommunitySupport.Menu.label\",\r\n icon: CommunitySupportIcon,\r\n iconProps: {\r\n width: \"32px\",\r\n height: \"30px\",\r\n },\r\n url: \"CommunitySupport.Menu.url\",\r\n },\r\n {\r\n id: \"item-job-protection\",\r\n title: \"JobProtection.Menu.label\",\r\n icon: JobProtectionIcon,\r\n iconProps: {\r\n width: \"26px\",\r\n height: \"32px\",\r\n },\r\n url: \"JobProtection.Menu.url\",\r\n },\r\n {\r\n id: \"item-diversity-inclusion\",\r\n title: \"DiversityInclusion.Menu.label\",\r\n icon: EnhancementIcon,\r\n iconProps: {\r\n width: \"35px\",\r\n height: \"34px\",\r\n },\r\n url: \"DiversityInclusion.Menu.url\",\r\n },\r\n {\r\n id: \"item-health-safety\",\r\n title: \"HealthSafety.Menu.label\",\r\n icon: HealthIcon,\r\n iconProps: {\r\n width: \"27px\",\r\n height: \"41px\",\r\n },\r\n url: \"HealthSafety.Menu.url\",\r\n },\r\n {\r\n id: \"item-green-transition\",\r\n title: \"GreenTransition.Menu.label\",\r\n icon: GreenTransitionIcon,\r\n iconProps: {\r\n width: \"31px\",\r\n height: \"31px\",\r\n },\r\n url: \"GreenTransition.Menu.url\",\r\n },\r\n {\r\n id: \"item-climate-change\",\r\n title: \"ClimateChange.Menu.label\",\r\n icon: ClimateChangeIcon,\r\n iconProps: {\r\n width: \"36px\",\r\n height: \"36px\",\r\n },\r\n url: \"ClimateChange.Menu.url\",\r\n },\r\n // ,\r\n // {\r\n // id: \"item-covid19\",\r\n // title: \"Covid19.Menu.label\",\r\n // icon: Covid19Icon,\r\n // iconProps: {\r\n // width: \"31px\",\r\n // height: \"31px\",\r\n // },\r\n // url: \"Covid19.Menu.url\",\r\n // },\r\n];\r\n\r\nconst areas = {\r\n \"group-value\": {\r\n areas: [\r\n {\r\n id: \"8\",\r\n name: \"Lavoro dignitoso e crescita economica\",\r\n icon: LavoroDignitoso,\r\n },\r\n ],\r\n description: \"Generic.SDG.8\",\r\n },\r\n integrity: {\r\n areas: [\r\n {\r\n id: \"16\",\r\n name: \"SDG 16: Pace, Giustizia e Istituzioni Forti\",\r\n icon: PaceGiustizia,\r\n },\r\n ],\r\n description: \"Generic.SDG.16\",\r\n },\r\n \"service-quality\": {\r\n areas: [{ id: \"3\", name: \"Salute e Benessere\", icon: SaluteBenessere }],\r\n description: \"Generic.SDG.3\",\r\n },\r\n \"innovation-transformation\": {\r\n areas: [\r\n {\r\n id: \"9\",\r\n name: \"Industria, Innovazione e Infrastrutture\",\r\n icon: IndustriaInnovazione,\r\n },\r\n { id: \"17\", name: \"Partnership per gli obiettivi\", icon: CircleGroup },\r\n ],\r\n description: \"Generic.SDG.9\",\r\n },\r\n \"financial-inclusion\": {\r\n areas: [\r\n { id: \"1\", name: \"Sconfiggere la povertà\", icon: Family },\r\n { id: \"3\", name: \"Salute e Benessere\", icon: SaluteBenessere },\r\n { id: \"4\", name: \"Istruzione di qualità\", icon: Istruzione },\r\n { id: \"5\", name: \"Parità di genere\", icon: ParitaGenere },\r\n {\r\n id: \"8\",\r\n name: \"Lavoro dignitoso e crescita economica\",\r\n icon: LavoroDignitoso,\r\n },\r\n {\r\n id: \"9\",\r\n name: \"Industria, Innovazione e Infrastrutture\",\r\n icon: IndustriaInnovazione,\r\n },\r\n {\r\n id: \"11\",\r\n name: \"Città e comunità sostenibili\",\r\n icon: CittaSostenibili,\r\n },\r\n { id: \"17\", name: \"Partnership per gli obiettivi\", icon: CircleGroup },\r\n ],\r\n description: \"Generic.SDG.mainGoals\",\r\n },\r\n \"investment-insurance\": {\r\n areas: [\r\n {\r\n id: \"8\",\r\n name: \"Lavoro dignitoso e crescita economica\",\r\n icon: LavoroDignitoso,\r\n },\r\n {\r\n id: \"13\",\r\n name: \"Lotta al cambiamento climatico\",\r\n icon: LottaCambiamentoClimatico,\r\n },\r\n { id: \"17\", name: \"Partnership per gli obiettivi\", icon: CircleGroup },\r\n ],\r\n description: \"Generic.SDG.mainGoals\",\r\n },\r\n \"community-support\": {\r\n areas: [\r\n { id: \"1\", name: \"Sconfiggere la povertà\", icon: Family },\r\n { id: \"3\", name: \"Salute e Benessere\", icon: SaluteBenessere },\r\n { id: \"4\", name: \"Istruzione di qualità\", icon: Istruzione },\r\n {\r\n id: \"11\",\r\n name: \"Città e comunità sostenibili\",\r\n icon: CittaSostenibili,\r\n },\r\n { id: \"17\", name: \"Partnership per gli obiettivi\", icon: CircleGroup },\r\n ],\r\n description: \"Generic.SDG.mainGoals\",\r\n },\r\n \"job-protection\": {\r\n areas: [\r\n {\r\n id: \"8\",\r\n name: \"Lavoro dignitoso e crescita economica\",\r\n icon: LavoroDignitoso,\r\n },\r\n ],\r\n description: \"Generic.SDG.8\",\r\n },\r\n \"diversity-inclusion\": {\r\n areas: [\r\n { id: \"4\", name: \"Istruzione di qualità\", icon: Istruzione },\r\n { id: \"5\", name: \"Parità di genere\", icon: ParitaGenere },\r\n {\r\n id: \"8\",\r\n name: \"Lavoro dignitoso e crescita economica\",\r\n icon: LavoroDignitoso,\r\n },\r\n {\r\n id: \"10\",\r\n name: \"Ridurre le disuguaglianze\",\r\n icon: RidurreDisuguaglianze,\r\n },\r\n { id: \"17\", name: \"Partnership per gli obiettivi\", icon: CircleGroup },\r\n ],\r\n description: \"Generic.SDG.mainGoals\",\r\n },\r\n \"health-safety\": {\r\n areas: [\r\n { id: \"3\", name: \"Salute e Benessere\", icon: SaluteBenessere },\r\n {\r\n id: \"8\",\r\n name: \"Lavoro dignitoso e crescita economica\",\r\n icon: LavoroDignitoso,\r\n },\r\n ],\r\n description: \"Generic.SDG.mainGoals\",\r\n },\r\n \"green-transition\": {\r\n areas: [\r\n { id: \"7\", name: \"Energia pulita e accessibile\", icon: GreenEnergy },\r\n {\r\n id: \"12\",\r\n name: \"Consumo e produzione responsabili\",\r\n icon: ConsumoResponsabile,\r\n },\r\n {\r\n id: \"13\",\r\n name: \"Lotta al cambiamento climatico\",\r\n icon: LottaCambiamentoClimatico,\r\n },\r\n { id: \"17\", name: \"Partnership per gli obiettivi\", icon: CircleGroup },\r\n ],\r\n description: \"Generic.SDG.mainGoals\",\r\n },\r\n \"climate-change\": {\r\n areas: [\r\n { id: \"7\", name: \"Energia pulita e accessibile\", icon: GreenEnergy },\r\n {\r\n id: \"13\",\r\n name: \"Lotta al cambiamento climatico\",\r\n icon: LottaCambiamentoClimatico,\r\n },\r\n { id: \"17\", name: \"Partnership per gli obiettivi\", icon: CircleGroup },\r\n ],\r\n description: \"Generic.SDG.mainGoals\",\r\n },\r\n};\r\n\r\nconst appendScript = ({\r\n src,\r\n innerText,\r\n async = false,\r\n defer = false,\r\n charSet,\r\n}) => {\r\n const s = document.createElement(\"script\");\r\n s.type = \"text/javascript\";\r\n s.src = src;\r\n s.innerText = innerText;\r\n if (async) s.async = true;\r\n if (defer) s.defer = true;\r\n if (charSet) s.charSet = charSet;\r\n document.body.append(s);\r\n};\r\n\r\n/**\r\n *\r\n * @param {*} data\r\n * clientHeight: 1272\r\n * clientWidth: 865\r\n * documentHeight: 1272\r\n * documentWidth: 848\r\n * iframeHeight: 5405\r\n * iframeWidth: 796\r\n * offsetLeft: 20\r\n * offsetTop: 84\r\n * scrollLeft: 0\r\n * scrollTop: 13\r\n * windowHeight: 1272\r\n * windowWidth: 865\r\n * @returns\r\n */\r\nconst inferSizes = (data) => {\r\n const { browsers } = configuration.menu.positioning.parameters.Infer;\r\n const { scrollTop, offsetTop, clientHeight, clientWidth } = data;\r\n\r\n const matches = browsers.Fallback.thresholds.filter(\r\n (t) => clientWidth < t.width && scrollTop < t.scrollY\r\n );\r\n const ordered = matches.sort((t1, t2) =>\r\n t1.width - t2.width === 0 ? t1.scrollY - t2.scrollY : t1.width - t2.width\r\n );\r\n let threshold = ordered.find((_) => true);\r\n if (!threshold) {\r\n // Use default when no match found:\r\n threshold = { header: 0 };\r\n }\r\n\r\n return {\r\n elements: {\r\n \"page-header\": [{ clientHeight: threshold.header }],\r\n \"header-main\": [{ clientHeight: 0 }],\r\n },\r\n members: {\r\n visualViewport: {\r\n height: clientHeight,\r\n },\r\n scrollY: scrollTop,\r\n },\r\n };\r\n};\r\n\r\nconst supportsOrientationChange = \"onorientationchange\" in window;\r\nconst orientationEvent = supportsOrientationChange\r\n ? \"orientationchange\" // Mobile\r\n : \"resize\"; // Desktop\r\n\r\nclass AutoResizerRegistrar {\r\n register = (handler) => {\r\n window.addEventListener(\"load\", handler);\r\n window.addEventListener(orientationEvent, handler);\r\n window.addEventListener(\"scroll\", handler);\r\n };\r\n\r\n unregister = (handler) => {\r\n window.removeEventListener(\"load\", handler);\r\n window.removeEventListener(orientationEvent, handler);\r\n window.removeEventListener(\"scroll\", handler);\r\n };\r\n}\r\n// Singleton work-around:\r\nconst autoResizerRegistrar = (window.autoResizerRegistrar =\r\n new AutoResizerRegistrar());\r\n\r\nclass Retry {\r\n constructor(name, useUniqueId = false, delay = 100, maxRetries = 16) {\r\n this.name = name + (useUniqueId ? \":\" + uniqid() : \"\");\r\n this.delay = delay;\r\n this.maxRetries = maxRetries;\r\n }\r\n\r\n register = () => {\r\n window[this.name] = [];\r\n };\r\n\r\n running = () => {\r\n return window[this.name] && window[this.name].length > 0;\r\n };\r\n\r\n queueable = () => {\r\n return window[this.name] && window[this.name].length < this.maxRetries;\r\n };\r\n\r\n start = ({\r\n condition = () => true,\r\n onSuccess = () => {},\r\n onRetry,\r\n onFailure = () => {},\r\n }) => {\r\n if (typeof condition !== \"function\") {\r\n console.debug(\r\n \"Retry: condition is not a function. Cannot test\",\r\n condition\r\n );\r\n return;\r\n }\r\n if (condition()) {\r\n if (typeof onSuccess === \"function\") {\r\n onSuccess();\r\n clear();\r\n } else {\r\n console.debug(\r\n \"Retry: onSuccess is not a function. Cannot start\",\r\n onSuccess\r\n );\r\n }\r\n } else {\r\n if (typeof onRetry === \"function\") {\r\n if (this.queueable()) {\r\n window[this.name].push(setTimeout(onRetry, this.delay));\r\n } else {\r\n if (typeof onFailure === \"function\") {\r\n onFailure();\r\n } else {\r\n console.debug(\r\n \"Retry: onFailure is not a function. Cannot fail\",\r\n onFailure\r\n );\r\n }\r\n }\r\n } else {\r\n console.debug(\r\n \"Retry: onRetry is not a function. Cannot retry\",\r\n onRetry\r\n );\r\n }\r\n }\r\n };\r\n\r\n clear = () => {\r\n if (this.running()) {\r\n window[this.name].map((t) => clearTimeout(t));\r\n }\r\n };\r\n\r\n unregister = () => {\r\n this.clear();\r\n delete window[this.name];\r\n };\r\n}\r\n\r\nclass IFrameResizerListener {\r\n constructor() {\r\n this.callbacks = {};\r\n this.listening = false;\r\n this.loading = false;\r\n }\r\n\r\n listen = () => {\r\n if (!this.listening) {\r\n if (\"parentIFrame\" in window) {\r\n window.parentIFrame.getPageInfo(this.onPageInfoReceived);\r\n this.listening = true;\r\n this.loading = false;\r\n console.debug(\r\n \"IFrameResizerWrapper: start listening on parent changes\"\r\n );\r\n } else {\r\n if (!this.loading) {\r\n // Use the handy event callback\r\n document.addEventListener(\r\n \"DOMContentLoaded\",\r\n this.onDocumentLoaded,\r\n false\r\n );\r\n // A fallback to window.onload, that will always work\r\n window.addEventListener(\"load\", this.listen, false);\r\n\r\n this.loading = true;\r\n } else {\r\n console.debug(\"IFrameResizerWrapper: waiting for script load ...\");\r\n }\r\n }\r\n }\r\n };\r\n\r\n scrollParentToTop = () => {\r\n if (\"parentIFrame\" in window) {\r\n window.parentIFrame.scrollTo(0, 0);\r\n }\r\n };\r\n\r\n onDocumentLoaded = () => {\r\n console.debug(\"IFrameResizerWrapper: document loaded\");\r\n this.listen(); // ensure listening\r\n };\r\n\r\n onPageInfoReceived = (data) => {\r\n const sizes = inferSizes(data);\r\n Object.values(this.callbacks || {}).forEach((callback) => callback(sizes));\r\n };\r\n\r\n register = (name, onParentPageChanged) => {\r\n if (typeof onParentPageChanged === \"function\") {\r\n this.callbacks[name] = onParentPageChanged;\r\n this.listen(); // ensure listening\r\n } else {\r\n console.debug(\r\n \"IFrameResizerWrapper: onParentPageChanged is not a function. Cannot register handler\"\r\n );\r\n }\r\n };\r\n\r\n unregister = (name) => {\r\n delete this.callbacks[name];\r\n };\r\n\r\n reset = () => {\r\n window.removeEventListener(\"load\", this.listen);\r\n this.callbacks = {};\r\n if (\"parentIFrame\" in window) {\r\n window.parentIFrame.getPageInfo(false);\r\n console.debug(\"IFrameResizerWrapper: stop listening on parent changes\");\r\n }\r\n this.listening = false;\r\n };\r\n}\r\n\r\n// Singleton work-around:\r\nconst iFrameResizerListener = (window.iFrameResizerListener =\r\n new IFrameResizerListener());\r\n\r\nexport {\r\n menuItems,\r\n areas,\r\n appendScript,\r\n autoResizerRegistrar,\r\n Retry,\r\n iFrameResizerListener,\r\n};\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { menuItems } from \"../../utils\";\r\nimport configuration from \"../../configuration.json\";\r\n\r\nconst MaterialityMatrix2020Icon = ({\r\n width = \"1078px\",\r\n height = \"644px\",\r\n classes = \"stroke-white\",\r\n lang = \"en\",\r\n}) => {\r\n const { t, ready } = useTranslation();\r\n\r\n if (!ready) {\r\n return null;\r\n }\r\n\r\n const menuItemUrl = (id) => {\r\n const menuItem = menuItems.find((item) => item.id === id);\r\n return t(menuItem?.url ?? \"item-home\");\r\n };\r\n\r\n const onClick = (e) => {\r\n switch (configuration.menu.positioning.algorithm) {\r\n case configuration.menu.positioning.algorithms.AutoResizer:\r\n setTimeout(() => {\r\n if (window.autoResizer) {\r\n window.autoResizer.onChildResized(e);\r\n } else {\r\n console.error(\r\n \"autoResizer not found in MaterialityMatrix2020Icon.jsx:33\"\r\n );\r\n }\r\n }, 500);\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n switch (lang) {\r\n case \"it\":\r\n return (\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Investimenti\r\n \r\n \r\n \r\n \r\n {\" \"}\r\n e assicurazione\r\n \r\n \r\n \r\n \r\n sostenibili\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Attrazione, valorizzazione\r\n \r\n \r\n \r\n \r\n {\" \"}\r\n diversity e inclusion\r\n \r\n \r\n \r\n \r\n delle persone del Gruppo\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Cambiamento\r\n \r\n \r\n \r\n \r\n climatico\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Tutela{\" \"}\r\n \r\n \r\n \r\n \r\n del lavoro\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Supporto{\" \"}\r\n \r\n \r\n \r\n \r\n alla comunità\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Qualità del servizio\r\n \r\n \r\n \r\n \r\n e soddisfazione\r\n \r\n \r\n \r\n \r\n del cliente\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Innovazione\r\n \r\n \r\n \r\n \r\n trasformazione digitale\r\n \r\n \r\n \r\n \r\n cybersecurity\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Integrità nella\r\n \r\n \r\n \r\n \r\n condotta aziendale\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Inclusione finanziaria\r\n \r\n \r\n \r\n \r\n e sostegno al\r\n \r\n \r\n \r\n \r\n tessuto produttivo\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Transizione verso\r\n \r\n \r\n \r\n \r\n un’economia sostenibile\r\n \r\n \r\n \r\n \r\n green e circular\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Salute, sicurezza\r\n \r\n \r\n \r\n \r\n e benessere delle\r\n \r\n \r\n \r\n \r\n persone del Gruppo\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Valore e solidità\r\n \r\n \r\n \r\n \r\n del Gruppo\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n default:\r\n return (\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Sustainable\r\n \r\n \r\n \r\n \r\n investment\r\n \r\n \r\n \r\n \r\n and insurance\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Retention, enhancement\r\n \r\n \r\n \r\n \r\n diversity and inclusion\r\n \r\n \r\n \r\n \r\n of the Group's people\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Climate\r\n \r\n \r\n \r\n \r\n change\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Employment{\" \"}\r\n \r\n \r\n \r\n \r\n protection\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Community{\" \"}\r\n \r\n \r\n \r\n \r\n support\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Quality of service\r\n \r\n \r\n \r\n \r\n and customers\r\n \r\n \r\n \r\n \r\n satisfaction\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Innovation\r\n \r\n \r\n \r\n \r\n digital transformation and\r\n \r\n \r\n \r\n \r\n cybersecurity\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Integrity\r\n \r\n \r\n \r\n \r\n in corporate conduct\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Financial inclusion\r\n \r\n \r\n \r\n \r\n and supporting\r\n \r\n \r\n \r\n \r\n production\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Transition to\r\n \r\n \r\n \r\n \r\n a sustainable, green and\r\n \r\n \r\n \r\n \r\n circular economy\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Health, safety\r\n \r\n \r\n \r\n \r\n and well-being of\r\n \r\n \r\n \r\n \r\n the Group’s people\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Group value and\r\n \r\n \r\n \r\n \r\n solidity\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n};\r\n\r\nMaterialityMatrix2020Icon.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\nexport default React.memo(MaterialityMatrix2020Icon);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { menuItems } from \"../../utils\";\r\nimport configuration from \"../../configuration.json\";\r\n\r\nconst MaterialityMatrix2021Icon = ({\r\n width = \"1078px\",\r\n height = \"644px\",\r\n classes = \"stroke-white\",\r\n lang = \"en\",\r\n}) => {\r\n const { t, ready } = useTranslation();\r\n\r\n if (!ready) {\r\n return null;\r\n }\r\n\r\n const menuItemUrl = (id) => {\r\n const menuItem = menuItems.find((item) => item.id === id);\r\n return t(menuItem?.url ?? \"item-home\");\r\n };\r\n\r\n const onClick = (e) => {\r\n switch (configuration.menu.positioning.algorithm) {\r\n case configuration.menu.positioning.algorithms.AutoResizer:\r\n setTimeout(() => {\r\n if (window.autoResizer) {\r\n window.autoResizer.onChildResized(e);\r\n } else {\r\n console.error(\r\n \"autoResizer not found in MaterialityMatrix2020Icon.jsx:33\"\r\n );\r\n }\r\n }, 500);\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n switch (lang) {\r\n case \"it\":\r\n return (\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Investimenti\r\n \r\n \r\n \r\n \r\n {\" \"}\r\n e assicurazione\r\n \r\n \r\n \r\n \r\n sostenibili\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Attrazione, valorizzazione\r\n \r\n \r\n \r\n \r\n {\" \"}\r\n diversity e inclusion\r\n \r\n \r\n \r\n \r\n delle persone del Gruppo\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Cambiamento\r\n \r\n \r\n \r\n \r\n climatico\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Tutela\r\n \r\n \r\n \r\n \r\n del lavoro\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Supporto\r\n \r\n \r\n \r\n \r\n alla comunità\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Qualità del servizio\r\n \r\n \r\n \r\n \r\n e soddisfazione\r\n \r\n \r\n \r\n \r\n del cliente\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Innovazione\r\n \r\n \r\n \r\n \r\n trasformazione digitale\r\n \r\n \r\n \r\n \r\n cybersecurity\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Integrità nella\r\n \r\n \r\n \r\n \r\n condotta aziendale\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Inclusione finanziaria\r\n \r\n \r\n \r\n \r\n e sostegno al\r\n \r\n \r\n \r\n \r\n tessuto produttivo\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Transizione verso\r\n \r\n \r\n \r\n \r\n un’economia sostenibile\r\n \r\n \r\n \r\n \r\n green e circular\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Salute, sicurezza\r\n \r\n \r\n \r\n \r\n e benessere delle\r\n \r\n \r\n \r\n \r\n persone del Gruppo\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Valore e solidità\r\n \r\n \r\n \r\n \r\n del Gruppo\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 2021\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 2020 + 2021\r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n default:\r\n return (\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Sustainable\r\n \r\n \r\n \r\n \r\n investment\r\n \r\n \r\n \r\n \r\n and insurance\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Retention, enhancement\r\n \r\n \r\n \r\n \r\n diversity and inclusion\r\n \r\n \r\n \r\n \r\n of the Group's people\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Climate\r\n \r\n \r\n \r\n \r\n change\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Employment\r\n \r\n \r\n \r\n \r\n protection\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Community\r\n \r\n \r\n \r\n \r\n support\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Quality of service\r\n \r\n \r\n \r\n \r\n and customers\r\n \r\n \r\n \r\n \r\n satisfaction\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Innovation\r\n \r\n \r\n \r\n \r\n digital transformation and\r\n \r\n \r\n \r\n \r\n cybersecurity\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Integrity\r\n \r\n \r\n \r\n \r\n in corporate conduct\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Financial inclusion\r\n \r\n \r\n \r\n \r\n and supporting\r\n \r\n \r\n \r\n \r\n production\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Transition to\r\n \r\n \r\n \r\n \r\n a sustainable, green and\r\n \r\n \r\n \r\n \r\n circular economy\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Health, safety\r\n \r\n \r\n \r\n \r\n and well-being of\r\n \r\n \r\n \r\n \r\n the Group’s people\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Group value and\r\n \r\n \r\n \r\n \r\n solidity\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 2021\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 2020 + 2021\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n};\r\n\r\nMaterialityMatrix2021Icon.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\nexport default React.memo(MaterialityMatrix2021Icon);\r\n","\r\nimport React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst LineIcon = ({\r\n width = \"79\",\r\n height = \"1\",\r\n classes=\"stroke-white\"\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n\r\n );\r\n};\r\n\r\nLineIcon.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\nexport default React.memo(LineIcon);\r\n\r\n","import React from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nconst DiversityInclusionPointsGraphIcon = ({ classes }) => {\r\n const { t, ready } = useTranslation();\r\n return (\r\n !!ready && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {t(\"GroupValue.Graph.areeProfessionali\")}\r\n \r\n \r\n \r\n \r\n {t(\"GroupValue.Graph.quadri\")}\r\n \r\n \r\n \r\n \r\n {t(\"GroupValue.Graph.dirigenti\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {t(\"GroupValue.Graph.values.08\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {t(\"GroupValue.Graph.values.1\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {t(\"GroupValue.Graph.values.07\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {t(\"GroupValue.Graph.values.09\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {t(\"GroupValue.Graph.values.09\")}\r\n \r\n \r\n \r\n \r\n \r\n {t(\"GroupValue.Graph.italy\")}\r\n \r\n \r\n \r\n \r\n {t(\"GroupValue.Graph.group\")}\r\n \r\n \r\n \r\n \r\n )\r\n );\r\n};\r\n\r\nexport default React.memo(DiversityInclusionPointsGraphIcon);\r\n","import React from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nconst ServiceQualityPointsGraphIcon = ({ classes, lang = \"en\" }) => {\r\n const { t, ready } = useTranslation();\r\n return (\r\n !!ready && (\r\n \r\n \r\n \r\n \r\n \r\n 2020\r\n \r\n \r\n \r\n \r\n 2021\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 25\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 22\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 21\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 15\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 19\r\n \r\n \r\n \r\n \r\n {t(\"ServiceQuality.ServiceQualityPointsGraphIcon.text4\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 20\r\n \r\n \r\n \r\n \r\n {t(\"ServiceQuality.ServiceQualityPointsGraphIcon.text3\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 21\r\n \r\n \r\n \r\n \r\n {t(\"ServiceQuality.ServiceQualityPointsGraphIcon.text1\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 25\r\n \r\n \r\n \r\n \r\n {t(\"ServiceQuality.ServiceQualityPointsGraphIcon.text2\")}\r\n \r\n \r\n \r\n \r\n )\r\n );\r\n};\r\n\r\nexport default React.memo(ServiceQualityPointsGraphIcon);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst PcIcon = ({\r\n width = \"340\",\r\n height = \"205\",\r\n classes = \"stroke-white\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nPcIcon.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\nexport default React.memo(PcIcon);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst ShowMoreIcon = ({\r\n width = \"21\",\r\n height = \"15\",\r\n classes = \"stroke-green\",\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nShowMoreIcon.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\nexport default React.memo(ShowMoreIcon);\r\n","import React from \"react\";\r\n\r\nconst CircleIcon = ({ size = \"100px\", color = \"#29851B\", classes = \"\" }) => {\r\n const style = {\r\n background: color,\r\n borderRadius: \"50%\",\r\n width: size,\r\n height: size,\r\n };\r\n return
;\r\n};\r\n\r\nexport default React.memo(CircleIcon);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst DownloadPdfIcon = ({\r\n width = \"32\",\r\n height = \"29\",\r\n classes = \"stroke-green\"\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nDownloadPdfIcon.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\nexport default React.memo(DownloadPdfIcon);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst GroupPeopleIcon = ({ width = \"278\", height = \"265\", classes = \"\" }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nGroupPeopleIcon.propTypes = {\r\n width: PropTypes.string,\r\n height: PropTypes.string,\r\n classes: PropTypes.string,\r\n};\r\n\r\nexport default React.memo(GroupPeopleIcon);\r\n","import React, { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport {\r\n MaterialityMatrix2020Icon,\r\n MaterialityMatrix2021Icon,\r\n} from \"../assets/icons\";\r\n\r\nconst MaterialityMatrix = () => {\r\n const [selected, setSelected] = useState(2021);\r\n const { t, ready } = useTranslation();\r\n const { lang } = useParams();\r\n return (\r\n !!ready && (\r\n
\r\n \r\n {selected === 2020 && (\r\n \r\n )}\r\n {selected === 2021 && (\r\n \r\n )}\r\n
\r\n\r\n \r\n
\r\n {t(\"Home.MaterialityMatrix.XLabel\")}\r\n
\r\n \r\n {t(\"Home.MaterialityMatrix.YLabel\")}\r\n \r\n \r\n \r\n \r\n )\r\n );\r\n};\r\n\r\nexport default React.memo(MaterialityMatrix);\r\n","import React, { useState, useRef } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport {\r\n PLogo1w2,\r\n PLogo3,\r\n PLogo4,\r\n PLogo5,\r\n PLogo6,\r\n PLogo7,\r\n PLogo8,\r\n PLogo9,\r\n PLogo10,\r\n PLogo11,\r\n PLogo12,\r\n PLogo13,\r\n MibEsg,\r\n} from \"../assets/images\";\r\nimport Tooltip from \"./Tooltip\";\r\nimport { LineIcon } from \"../assets/icons\";\r\n\r\nconst PartnerLogos = () => {\r\n const { t } = useTranslation();\r\n const [selectedPartner, setSelectedPartner] = useState(null);\r\n const modalRef = useRef();\r\n\r\n const openModal = (partner) => {\r\n if (modalRef.current) {\r\n setSelectedPartner(partner);\r\n modalRef.current.openModal();\r\n }\r\n };\r\n\r\n const logos = [\r\n { name: \"SandPGlobal\", asset: PLogo1w2, height: \"77px\" },\r\n { name: \"FTSE4Good\", asset: PLogo3, height: \"78px\" },\r\n { name: \"MSCI\", asset: PLogo4, height: \"67px\" },\r\n { name: \"CDP\", asset: PLogo5, height: \"55px\" },\r\n { name: \"Global100\", asset: PLogo6, height: \"39px\" },\r\n { name: \"Moodys\", asset: PLogo7, height: \"19px\" },\r\n { name: \"MibEsg\", asset: MibEsg, height: \"18px\" },\r\n { name: \"Solactive\", asset: PLogo8, height: \"58px\" },\r\n { name: \"Stoxx\", asset: PLogo9, height: \"47px\" },\r\n { name: \"StandardEthics\", asset: PLogo10, height: \"50px\" },\r\n { name: \"Ecpi\", asset: PLogo11, height: \"52px\" },\r\n { name: \"Bloomberg\", asset: PLogo12, height: \"97px\" },\r\n { name: \"Refinitiv\", asset: PLogo13, height: \"78px\" },\r\n ];\r\n\r\n return (\r\n <>\r\n \r\n

\r\n {t(`Home.Partners.${selectedPartner}.Tooltip.text1`)}\r\n

\r\n \r\n

\r\n {t(`Home.Partners.${selectedPartner}.Tooltip.text2`)}\r\n

\r\n \r\n
\r\n {logos.map((logo, i) => {\r\n return (\r\n openModal(logo.name)}\r\n >\r\n );\r\n })}\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default PartnerLogos;\r\n","import { useTranslation } from \"react-i18next\";\r\nimport {\r\n ALogo1,\r\n ALogo2,\r\n ALogo3,\r\n ALogo4,\r\n ALogo5,\r\n ALogo6,\r\n} from \"../assets/images\";\r\nimport Tooltip from \"./Tooltip\";\r\nimport { LineIcon } from \"../assets/icons\";\r\nimport React, { useRef, useState } from \"react\";\r\n\r\nconst AwardLogos = () => {\r\n const { t } = useTranslation();\r\n const [selectedAward, setSelectedAward] = useState(null);\r\n const modalRef = useRef();\r\n const openModal = (award) => {\r\n setSelectedAward(award);\r\n modalRef.current.openModal();\r\n };\r\n\r\n const logos = [\r\n { name: \"OscarBilancio\", asset: ALogo1, height: \"77px\" },\r\n { name: \"Abi\", asset: ALogo2, height: \"78px\" },\r\n { name: \"Aipsa\", asset: ALogo3, height: \"67px\" },\r\n { name: \"BrandonHall\", asset: ALogo4, height: \"55px\" },\r\n { name: \"Europe500\", asset: ALogo5, height: \"39px\" },\r\n { name: \"GreenBuilding\", asset: ALogo6, height: \"19px\" },\r\n ];\r\n\r\n return (\r\n <>\r\n \r\n {selectedAward && (\r\n <>\r\n

\r\n {t(`Home.Partners.${selectedAward}.Tooltip.text1`)}\r\n

\r\n \r\n

\r\n {t(`Home.Partners.${selectedAward}.Tooltip.text2`)}\r\n

\r\n \r\n )}\r\n \r\n
\r\n {logos.map((logo, i) => {\r\n return (\r\n openModal(logo.name)}\r\n >\r\n );\r\n })}\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default AwardLogos;\r\n","import React, { useState, useEffect, useRef } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useNavigate, useLocation } from \"react-router-dom\";\r\nimport TextSection from \"../../components/TextSection\";\r\nimport ContainerWrapper from \"../../components/ContainerWrapper\";\r\nimport CardImage from \"../../components/CardImage\";\r\nimport MaterialityMatrix from \"../../components/MaterialityMatrix\";\r\nimport {\r\n DirittiUmani,\r\n EmergenzaCovid,\r\n HomeCover,\r\n HomeVideo1Bg,\r\n HomeVideo2Bg,\r\n} from \"../../assets/images\";\r\nimport { ArrowRightIcon } from \"../../assets/icons\";\r\nimport { PlayIcon } from \"../../assets/icons\";\r\nimport Modal from \"react-modal\";\r\nimport Menu from \"../../components/Menu\";\r\nimport PartnerLogos from \"../../components/PartnerLogos\";\r\nimport AwardLogos from \"../../components/AwardLogos\";\r\nimport { Retry, iFrameResizerListener } from \"./../../utils\";\r\nimport configuration from \"./../../configuration.json\";\r\n\r\nconst Home = () => {\r\n const modalStyle = {\r\n overlay: { backgroundColor: \"rgba(0, 0, 0, 0.55)\", zIndex: 100 },\r\n content: {\r\n top: \"50%\",\r\n left: \"50%\",\r\n right: \"auto\",\r\n bottom: \"auto\",\r\n marginRight: \"-50%\",\r\n transform: \"translate(-50%, -50%)\",\r\n backgroundColor: \"transparent\",\r\n height: \"586px\",\r\n width: \"70%\",\r\n border: \"0px\",\r\n transitionProperty: \"top\",\r\n transitionDuration: \"0.5s\",\r\n },\r\n };\r\n\r\n const ref = useRef(true);\r\n const { t, ready } = useTranslation();\r\n const location = useLocation();\r\n const navigate = useNavigate();\r\n const openUrl = (url) => window.open(url);\r\n\r\n const [showVideo, setShowVideo] = useState(null);\r\n const [heroImgHeight, setHeroImgHeight] = useState(1300);\r\n const [videoModalStyles, setVideoModalStyles] = useState(modalStyle);\r\n\r\n const setVideoLayout = (sizes) => {\r\n const { elements, members } = sizes;\r\n const ispHeader = elements[\"page-header\"]?.[0];\r\n const ispBreadcrumb = elements[\"header-main\"]?.[0];\r\n\r\n const offset = members.visualViewport?.height / 2; //- (maxHeight) / 2;\r\n const position =\r\n members.visualViewport?.height +\r\n members?.scrollY +\r\n 2 -\r\n (ispHeader?.clientHeight + ispBreadcrumb?.clientHeight) -\r\n offset;\r\n\r\n if (ref.current) {\r\n if (isNaN(position)) {\r\n setVideoModalStyles(modalStyle);\r\n } else {\r\n setVideoModalStyles({\r\n ...modalStyle,\r\n content: { ...modalStyle.content, top: position },\r\n });\r\n }\r\n }\r\n };\r\n\r\n const setHeroImgLayout = (sizes) => {\r\n const { elements, members } = sizes;\r\n const ispHeader = elements[\"page-header\"]?.[0];\r\n const ispBreadcrumb = elements[\"header-main\"]?.[0];\r\n\r\n const fullHeight =\r\n members.visualViewport?.height -\r\n (ispHeader?.clientHeight + ispBreadcrumb?.clientHeight);\r\n\r\n if (isNaN(fullHeight)) return;\r\n\r\n if (ref.current) {\r\n setHeroImgHeight(fullHeight);\r\n }\r\n };\r\n\r\n function openModal(url) {\r\n switch (configuration.menu.positioning.algorithm) {\r\n case configuration.menu.positioning.algorithms.AutoResizer:\r\n retryVideo.start({\r\n condition: () => window.autoResizer,\r\n onSuccess: () => {\r\n window.autoResizer.addOnParentSizesResponse(setVideoLayout);\r\n window.autoResizer.requestParentSizes({\r\n byClassNames: [\"page-header\", \"header-main\"],\r\n byMemberNames: [\"visualViewport\", \"scrollY\"],\r\n });\r\n },\r\n onFailure: () =>\r\n console.debug(\"autoResizer not found in Home index.jsx:89\"),\r\n });\r\n break;\r\n\r\n case configuration.menu.positioning.algorithms.Infer:\r\n iFrameResizerListener.listen();\r\n break;\r\n }\r\n if (ref.current) {\r\n setShowVideo(url);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n switch (configuration.menu.positioning.algorithm) {\r\n case configuration.menu.positioning.algorithms.AutoResizer:\r\n retryPage.start({\r\n condition: () => window.autoResizer,\r\n onSuccess: () => {\r\n window.autoResizer.addOnParentSizesResponse(setHeroImgLayout);\r\n window.autoResizer.requestParentSizes({\r\n byClassNames: [\"page-header\", \"header-main\"],\r\n byMemberNames: [\"visualViewport\", \"scrollY\"],\r\n });\r\n },\r\n onFailure: () =>\r\n console.log(\"autoResizer not found in Home index.jsx:114\"),\r\n });\r\n break;\r\n\r\n case configuration.menu.positioning.algorithms.Infer:\r\n iFrameResizerListener.listen();\r\n break;\r\n }\r\n return () => {\r\n ref.current = false;\r\n };\r\n }, []);\r\n\r\n const trigger = () => {\r\n switch (configuration.menu.positioning.algorithm) {\r\n case configuration.menu.positioning.algorithms.AutoResizer:\r\n retryTrigger.start({\r\n condition: () => window.autoResizer,\r\n onSuccess: () => window.autoResizer.trigger(),\r\n onFailure: () =>\r\n console.debug(\"autoResizer not found in Home index.jsx:150\"),\r\n });\r\n break;\r\n\r\n case configuration.menu.positioning.algorithms.Infer:\r\n iFrameResizerListener.listen();\r\n break;\r\n }\r\n };\r\n\r\n const retryTrigger = new Retry(\"Home:Trigger\");\r\n const retryPage = new Retry(\"Home:Page\");\r\n const retryVideo = new Retry(\"Home:Video\");\r\n\r\n const setAllSizes = (sizes) => {\r\n setVideoLayout(sizes);\r\n setHeroImgLayout(sizes);\r\n };\r\n\r\n useEffect(() => {\r\n switch (configuration.menu.positioning.algorithm) {\r\n case configuration.menu.positioning.algorithms.AutoResizer:\r\n retryTrigger.register();\r\n retryPage.register();\r\n retryVideo.register();\r\n trigger();\r\n return () => {\r\n retryTrigger.unregister();\r\n retryPage.unregister();\r\n retryVideo.unregister();\r\n };\r\n\r\n default:\r\n iFrameResizerListener.register(\"Home\", setAllSizes);\r\n trigger();\r\n return () => {\r\n iFrameResizerListener.unregister(\"Home\");\r\n };\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n trigger();\r\n }, [location]);\r\n\r\n const setUrl = (url) => {\r\n if (ref.current) {\r\n setShowVideo(url);\r\n }\r\n };\r\n\r\n return (\r\n !!ready && (\r\n <>\r\n {showVideo && (\r\n openModal(null)}\r\n style={videoModalStyles}\r\n ariaHideApp={false}\r\n >\r\n \r\n \r\n )}\r\n
\r\n \r\n
\r\n

{t(\"Home.Cover.title\")}

\r\n

{t(\"Home.Cover.caption\")}

\r\n \r\n \r\n {t(\"Home.Cover.button\")}\r\n \r\n \r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n setUrl(t(\"Home.Video1.url\"))}\r\n >\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n {t(\"Home.Video1.title\")}\r\n

\r\n \r\n {t(\"Home.Video1.subtitle\")}\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n openUrl(t(\"Home.CardImage1.link\"))}\r\n >\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n {t(\"Home.CardImage1.title\")}\r\n

\r\n \r\n {t(\"Home.CardImage1.paragraph\")}\r\n \r\n
\r\n
\r\n \r\n\r\n navigate(t(\"Home.CardImage2.link\"))}\r\n >\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n {t(\"Home.CardImage2.title\")}\r\n

\r\n \r\n {t(\"Home.CardImage2.paragraph\")}\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n setUrl(t(\"Home.Video2.url\"))}\r\n >\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n {t(\"Home.Video2.title\")}\r\n

\r\n

\r\n {t(\"Home.Video2.subtitle\")}\r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n )\r\n );\r\n};\r\n\r\nHome.propTypes = {};\r\n\r\nexport default React.memo(Home);\r\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\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","/**\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 printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = Function.call.bind(Object.prototype.hasOwnProperty);\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\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 ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar has = Function.call.bind(Object.prototype.hasOwnProperty);\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\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 } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from\n // props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\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\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 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","import lottie from 'lottie-web'\nimport makeLottiePlayer from './makeLottiePlayer'\n\nexport default makeLottiePlayer(lottie)\n","import React, { memo, useRef, useEffect, useState } from 'react'\nimport PropTypes from 'prop-types'\nimport equal from 'fast-deep-equal/es6/react'\nimport cloneDeep from 'lodash.clonedeep'\n\nconst makeLottiePlayer = (lottie) => {\n const Lottie = memo(({\n animationData,\n path,\n\n play,\n speed,\n direction,\n segments: segmentsIn,\n goTo,\n\n renderer,\n loop,\n rendererSettings: rendererSettingsIn,\n\n audioFactory,\n\n onLoad,\n onComplete,\n onLoopComplete,\n onEnterFrame,\n onSegmentStart,\n\n ...props\n }) => {\n const animElementRef = useRef()\n const animRef = useRef()\n\n const [ready, setReady] = useState(false)\n\n const [segments, setSegments] = useState(segmentsIn)\n\n // Prevent re-init\n useEffect(() => {\n if (!equal(segments, segmentsIn)) setSegments(segmentsIn)\n }, [segmentsIn, segments])\n\n const [rendererSettings, setRendererSettings] = useState(rendererSettingsIn)\n\n // Prevent re-init\n useEffect(() => {\n if (!equal(rendererSettings, rendererSettingsIn)) setRendererSettings(rendererSettingsIn)\n }, [rendererSettingsIn, rendererSettings])\n\n // In order to remove listeners before animRef gets destroyed:\n useEffect(() => () => animRef.current.removeEventListener('complete', onComplete), [onComplete])\n useEffect(() => () => animRef.current.removeEventListener('loopComplete', onLoopComplete), [onLoopComplete])\n useEffect(() => () => animRef.current.removeEventListener('enterFrame', onEnterFrame), [onEnterFrame])\n useEffect(() => () => animRef.current.removeEventListener('segmentStart', onSegmentStart), [onSegmentStart])\n\n useEffect(() => {\n function parseAnimationData() {\n if (animationData == null || typeof animationData !== 'object') return animationData\n\n // https://github.com/mifi/react-lottie-player/issues/11#issuecomment-879310039\n // https://github.com/chenqingspring/vue-lottie/issues/20\n if (typeof animationData.default === 'object') {\n return cloneDeep(animationData.default)\n }\n // cloneDeep to prevent memory leak. See #35\n return cloneDeep(animationData)\n }\n\n // console.log('init')\n animRef.current = lottie.loadAnimation({\n animationData: parseAnimationData(),\n path,\n container: animElementRef.current,\n renderer,\n loop: false,\n autoplay: false, // We want to explicitly control playback\n rendererSettings,\n audioFactory\n })\n\n function onDomLoaded() {\n setReady(true)\n onLoad()\n }\n animRef.current.addEventListener('DOMLoaded', onDomLoaded)\n\n return () => {\n animRef.current.removeEventListener('DOMLoaded', onDomLoaded)\n setReady(false)\n animRef.current.destroy()\n animRef.current = undefined\n }\n }, [loop, renderer, rendererSettings, animationData, path, audioFactory])\n\n useEffect(() => {\n animRef.current.addEventListener('complete', onComplete)\n }, [onComplete])\n\n useEffect(() => {\n animRef.current.addEventListener('loopComplete', onLoopComplete)\n }, [onLoopComplete])\n\n useEffect(() => {\n animRef.current.addEventListener('enterFrame', onEnterFrame)\n }, [onEnterFrame])\n\n useEffect(() => {\n animRef.current.addEventListener('segmentStart', onSegmentStart)\n }, [onSegmentStart])\n\n useEffect(() => {\n if (!ready) return\n animRef.current.loop = loop\n }, [ready, loop])\n\n const wasPlayingSegmentsRef = useRef(false)\n\n useEffect(() => {\n if (!ready) return\n\n // Without this code, when playback restarts, it will not play in reverse:\n // https://github.com/mifi/react-lottie-player/issues/19\n function playReverse(lastFrame) {\n animRef.current.goToAndPlay(lastFrame, true)\n animRef.current.setDirection(direction)\n }\n\n if (play === true) {\n const force = true\n if (segments) {\n animRef.current.playSegments(segments, force)\n wasPlayingSegmentsRef.current = true\n\n // This needs to be called after playSegments or it will not play backwards\n if (direction === -1) {\n // TODO What if more than one segment\n const lastFrame = segments[1]\n playReverse(lastFrame)\n }\n } else {\n // If we called playSegments last time, the segments are stored as a state in the lottie object\n // Need to reset segments or else it will still play the old segments also when calling play()\n // wasPlayingSegmentsRef: Only reset segments if playSegments last time, because resetSegments will also reset playback position\n // https://github.com/airbnb/lottie-web/blob/master/index.d.ts\n if (wasPlayingSegmentsRef.current) animRef.current.resetSegments(force)\n wasPlayingSegmentsRef.current = false\n\n if (direction === -1) {\n const lastFrame = animRef.current.getDuration(true)\n playReverse(lastFrame)\n } else {\n animRef.current.play()\n }\n }\n } else if (play === false) {\n animRef.current.pause()\n }\n }, [play, segments, ready])\n\n useEffect(() => {\n if (!ready) return\n if (Number.isNaN(speed)) return\n animRef.current.setSpeed(speed)\n }, [speed, ready])\n\n // This handles the case where only direction has changed (direction is not a dependency of the other effect that calls setDirection)\n useEffect(() => {\n if (!ready) return\n animRef.current.setDirection(direction)\n }, [direction, ready])\n\n useEffect(() => {\n if (!ready) return\n if (goTo == null) return\n const isFrame = true // TODO\n if (play) animRef.current.goToAndPlay(goTo, isFrame)\n else animRef.current.goToAndStop(goTo, isFrame)\n }, [goTo, play, ready])\n\n return (\n \n )\n })\n\n Lottie.propTypes = {\n // You can use either animationData OR path\n animationData: PropTypes.object,\n path: PropTypes.string,\n\n play: PropTypes.bool,\n goTo: PropTypes.number,\n speed: PropTypes.number,\n direction: PropTypes.number,\n loop: PropTypes.oneOfType([PropTypes.number, PropTypes.bool]),\n\n segments: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.bool]),\n\n rendererSettings: PropTypes.object,\n\n renderer: PropTypes.string,\n\n audioFactory: PropTypes.func,\n\n onComplete: PropTypes.func,\n onLoopComplete: PropTypes.func,\n onEnterFrame: PropTypes.func,\n onSegmentStart: PropTypes.func\n }\n\n Lottie.defaultProps = {\n animationData: null,\n path: null,\n\n play: null,\n segments: null,\n goTo: null,\n\n speed: 1,\n direction: 1,\n loop: true,\n\n rendererSettings: {},\n renderer: 'svg',\n\n audioFactory: null,\n\n onLoad: () => {},\n onComplete: () => {},\n onLoopComplete: () => {},\n onEnterFrame: () => {},\n onSegmentStart: () => {}\n }\n\n return Lottie\n}\n\nexport default makeLottiePlayer\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport Lottie from \"react-lottie-player\";\r\n\r\nconst LottieFilePlayer = ({ data, width, height, classes, children, lottieStyles, speed = 0.5 }) => {\r\n// children used for green arrow around Lottie files ->\r\n return (\r\n
\r\n {children}\r\n \r\n
\r\n );\r\n};\r\n\r\nLottieFilePlayer.propTypes = {\r\n speed: PropTypes.number\r\n};\r\n\r\nexport default React.memo(LottieFilePlayer);\r\n","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\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\n return target;\n}","import React from \"react\";\r\n\r\nconst Bar = ({\r\n animate,\r\n topLabel,\r\n topLabelStyle = {},\r\n height = \"0\",\r\n color = \"#29851B\",\r\n delay = \"0\",\r\n duration = \"2s\",\r\n classes = \"\",\r\n inner = \"\",\r\n}) => {\r\n const barStyle = {\r\n height: animate ? height : 0,\r\n backgroundColor: color,\r\n transitionProperty: \"height\",\r\n transitionDelay: delay,\r\n transitionDuration: duration,\r\n transitionTimingFunction: \"easy-out\",\r\n };\r\n const labelStyle = {\r\n bottom: animate ? height : 0,\r\n transitionProperty: \"bottom\",\r\n transitionDelay: delay,\r\n transitionDuration: duration,\r\n transitionTimingFunction: \"easy-out\",\r\n };\r\n return (\r\n
\r\n {topLabel && (\r\n \r\n {topLabel}\r\n

\r\n )}\r\n
\r\n {inner || \"\"}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default React.memo(Bar);\r\n","import React from \"react\";\r\nimport Bar from \"./Bar\";\r\nimport { useInView } from \"react-intersection-observer\";\r\n\r\nconst BarChart = ({\r\n classes,\r\n left: Left = () => null,\r\n right: Right = () => null,\r\n options: { width = \"100%\", height = \"100%\", columns, labels, ...rest },\r\n data = [],\r\n}) => {\r\n const { ref, inView, entry } = useInView({\r\n /* Optional options */\r\n threshold: 0,\r\n triggerOnce: true,\r\n });\r\n\r\n return (\r\n \r\n
\r\n \r\n {data.map((element, i) => (\r\n \r\n ))}\r\n \r\n
\r\n
\r\n \r\n {data.map((element, i) => (\r\n \r\n

\r\n {element.label || \"\"}\r\n

\r\n
\r\n ))}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default React.memo(BarChart);\r\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _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 }, _typeof(obj);\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\n return self;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _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\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}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _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\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import _typeof from '@babel/runtime/helpers/esm/typeof';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _toArray from '@babel/runtime/helpers/esm/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(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(this, Logger);\n\n this.init(concreteLogger, options);\n }\n\n _createClass(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\n return Logger;\n}();\n\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n\n this.observers = {};\n }\n\n _createClass(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 && 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(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(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\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\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(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(this, ResourceStore);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_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(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(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(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\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(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(this, Translator);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_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(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(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 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 return namespace + nsSeparator + key;\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 return 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\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(key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\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 = '_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(this, LanguageUtil);\n\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n\n _createClass(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(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(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(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(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(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 += safeValue.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 optionsString = optionsString.replace(/'/g, '\"');\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(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(_opt$split),\n key = _opt$split2[0],\n rest = _opt$split2.slice(1);\n\n var val = rest.join(':');\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val.trim();\n if (val.trim() === 'false') formatOptions[key.trim()] = false;\n if (val.trim() === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val.trim())) formatOptions[key.trim()] = parseInt(val.trim(), 10);\n });\n }\n }\n\n return {\n formatName: formatName,\n formatOptions: formatOptions\n };\n}\n\nvar Formatter = function () {\n function Formatter() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Formatter);\n\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: function number(val, lng, options) {\n return new Intl.NumberFormat(lng, options).format(val);\n },\n currency: function currency(val, lng, options) {\n return new Intl.NumberFormat(lng, _objectSpread$4(_objectSpread$4({}, options), {}, {\n style: 'currency'\n })).format(val);\n },\n datetime: function datetime(val, lng, options) {\n return new Intl.DateTimeFormat(lng, _objectSpread$4({}, options)).format(val);\n },\n relativetime: function relativetime(val, lng, options) {\n return new Intl.RelativeTimeFormat(lng, _objectSpread$4({}, options)).format(val, options.range || 'day');\n },\n list: function list(val, lng, options) {\n return new Intl.ListFormat(lng, _objectSpread$4({}, options)).format(val);\n }\n };\n this.init(options);\n }\n\n _createClass(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: \"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(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(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\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 remove(arr, what) {\n var found = arr.indexOf(what);\n\n while (found !== -1) {\n arr.splice(found, 1);\n found = arr.indexOf(what);\n }\n}\n\nvar Connector = function (_EventEmitter) {\n _inherits(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(this, Connector);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_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.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(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.indexOf(name) < 0) pending.push(name);\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending.indexOf(name) < 0) pending.push(name);\n if (toLoad.indexOf(name) < 0) toLoad.push(name);\n if (toLoadNamespaces.indexOf(ns) < 0) toLoadNamespaces.push(ns);\n }\n });\n if (!hasAllNamespaces) toLoadLanguages.push(lng);\n });\n\n if (toLoad.length || pending.length) {\n this.queue.push({\n pending: pending,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n\n return {\n toLoad: toLoad,\n pending: pending,\n toLoadLanguages: toLoadLanguages,\n toLoadNamespaces: 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 remove(q.pending, name);\n if (err) q.errors.push(err);\n\n if (q.pending.length === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = [];\n\n if (q.loaded[l].length) {\n q.loaded[l].forEach(function (ns) {\n if (loaded[l].indexOf(ns) < 0) loaded[l].push(ns);\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] : 350;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n return this.backend[fcName](lng, ns, function (err, data) {\n if (err && data && tried < 5) {\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(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(args[2]) === 'object' || _typeof(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(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(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\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(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(this, I18n);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n bindMemberFunctions(_assertThisInitialized(_this));\n\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n\n return _possibleConstructorReturn(_this, _assertThisInitialized(_this));\n }\n\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n\n return _this;\n }\n\n _createClass(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.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(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 var keySeparator = _this5.options.keySeparator || '.';\n var resultKey = keyPrefix ? \"\".concat(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 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(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\nvar createInstance = instance.createInstance;\nvar init = instance.init;\nvar loadResources = instance.loadResources;\nvar reloadResources = instance.reloadResources;\nvar use = instance.use;\nvar changeLanguage = instance.changeLanguage;\nvar getFixedT = instance.getFixedT;\nvar t = instance.t;\nvar exists = instance.exists;\nvar setDefaultNamespace = instance.setDefaultNamespace;\nvar hasLoadedNamespace = instance.hasLoadedNamespace;\nvar loadNamespaces = instance.loadNamespaces;\nvar loadLanguages = instance.loadLanguages;\n\nexport default instance;\nexport { changeLanguage, createInstance, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport TextSection from \"../../components/TextSection\";\r\nimport Tooltip from \"../../components/Tooltip\";\r\nimport { SolidityIcon, ButtonTooltipIcon } from \"../../assets/icons\";\r\nimport ContainerWrapper from \"../../components/ContainerWrapper\";\r\nimport Menu from \"../../components/Menu\";\r\nimport InfoBox from \"../../components/InfoBox\";\r\nimport LottieFilePlayer from \"../../components/LottieFilePlayer\";\r\nimport BarChart from \"../../components/BarCharts/BarChart\";\r\nimport RipartizioneValoreEconomicoGenerato from \"../../assets/lotties/ripartizione_valore_economico_generato.json\";\r\nimport RipartizioneValoreEconomicoGeneratoEN from \"../../assets/lotties/ripartizione_valore_economico_generato_EN.json\";\r\nimport AreaSquares from \"../../components/AreaSquares\";\r\nimport { areas } from \"../../utils\";\r\nimport i18next from \"i18next\";\r\nconst GroupValue = () => {\r\n const { t, ready } = useTranslation();\r\n const currentLang = i18next.language;\r\n return (\r\n !!ready && (\r\n <>\r\n \r\n \r\n\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n {t(\"GroupValue.InfoBox1.Column3.TextBlock1.text1\")}\r\n \r\n
\r\n \r\n {t(\"GroupValue.InfoBox1.Column3.TextBlock1.text2\")}\r\n \r\n
\r\n
\r\n \r\n {t(\"GroupValue.InfoBox1.Column3.TextBlock2.text1\")}\r\n \r\n
\r\n \r\n {t(\"GroupValue.InfoBox1.Column3.TextBlock2.text2\")}\r\n \r\n
\r\n
\r\n \r\n {t(\"GroupValue.InfoBox1.Column3.TextBlock3.text1\")}\r\n \r\n
\r\n \r\n {t(\"GroupValue.InfoBox1.Column3.TextBlock3.text2\")}\r\n \r\n
\r\n
\r\n \r\n {t(\"GroupValue.InfoBox1.Column3.TextBlock4.text1\")}\r\n \r\n
\r\n \r\n {t(\"GroupValue.InfoBox1.Column3.TextBlock4.text2\")}\r\n \r\n
\r\n
\r\n \r\n {t(\"GroupValue.InfoBox1.Column3.TextBlock5.text1\")}\r\n \r\n
\r\n \r\n {t(\"GroupValue.InfoBox1.Column3.TextBlock5.text2\")}\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {t(\"GroupValue.InfoBox1.Column4.TextBlock1.text1\")}\r\n \r\n  \r\n \r\n {t(\"GroupValue.InfoBox1.Column4.TextBlock1.text2\")}\r\n \r\n  \r\n \r\n {t(\"GroupValue.InfoBox1.Column4.TextBlock1.text3\")}\r\n \r\n  \r\n \r\n {t(\"GroupValue.InfoBox1.Column4.TextBlock1.text4\")}\r\n \r\n
\r\n \r\n {t(\"GroupValue.InfoBox1.Column4.TextBlock1.text5\")}\r\n \r\n  \r\n \r\n {t(\"GroupValue.InfoBox1.Column4.TextBlock1.text6\")}\r\n \r\n  \r\n \r\n {t(\"GroupValue.InfoBox1.Column4.TextBlock1.text7\")}\r\n \r\n  \r\n \r\n {t(\"GroupValue.InfoBox1.Column4.TextBlock1.text8\")}\r\n \r\n
\r\n
\r\n \r\n {t(\"GroupValue.InfoBox1.Column4.TextBlock2.text1\")}\r\n \r\n
\r\n
\r\n \r\n {t(\"GroupValue.InfoBox1.Column4.TextBlock3.text1\")}\r\n \r\n
\r\n
\r\n \r\n {t(\"GroupValue.InfoBox1.Column4.TextBlock4.text1\")}\r\n \r\n
\r\n
\r\n \r\n {t(\"GroupValue.InfoBox1.Column4.TextBlock5.text1\")}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n )\r\n );\r\n};\r\n\r\nGroupValue.propTypes = {};\r\n\r\nexport default React.memo(GroupValue);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport ContainerWrapper from \"../../components/ContainerWrapper\";\r\nimport Menu from \"../../components/Menu\";\r\nimport TextSection from \"../../components/TextSection\";\r\nimport InfoBox from \"../../components/InfoBox\";\r\nimport { ButtonTooltipIcon, CircleIcon } from \"../../assets/icons\";\r\nimport Tooltip from \"../../components/Tooltip\";\r\nimport BarChart from \"../../components/BarCharts/BarChart\";\r\nimport AreaSquares from \"../../components/AreaSquares\";\r\nimport { areas } from \"../../utils\";\r\n\r\nconst IntegrityPage = () => {\r\n const { t, ready } = useTranslation();\r\n\r\n return (\r\n !!ready && (\r\n <>\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n )\r\n );\r\n};\r\n\r\nIntegrityPage.propTypes = {};\r\n\r\nexport default React.memo(IntegrityPage);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport ContainerWrapper from \"../../components/ContainerWrapper\";\r\nimport Menu from \"../../components/Menu\";\r\nimport Tooltip from \"../../components/Tooltip\";\r\nimport TextSection from \"../../components/TextSection\";\r\nimport ShowMore from \"../../components/ShowMore\";\r\nimport { ShowMoreIcon } from \"../../assets/icons\";\r\nimport i18next from \"i18next\";\r\n\r\nimport {\r\n SatisfactionIcon,\r\n ButtonTooltipIcon,\r\n ServiceQualityPointsGraphIcon,\r\n} from \"../../assets/icons\";\r\nimport AreaSquares from \"../../components/AreaSquares\";\r\nimport { areas } from \"../../utils\";\r\n\r\nconst ServiceQuality = () => {\r\n const { t, ready } = useTranslation();\r\n const { lang } = useParams();\r\n return (\r\n !!ready && (\r\n <>\r\n \r\n \r\n \r\n\r\n \r\n
{t(\"ServiceQuality.TextSection2.title\")}
\r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n p4={t(\"ServiceQuality.TextSection2.paragraph\")}\r\n />\r\n \r\n\r\n
\r\n \r\n
\r\n\r\n {t(\"ServiceQuality.TextSection5.text1\") && (\r\n
\r\n \r\n \r\n \r\n }\r\n />\r\n
\r\n )}\r\n
\r\n \r\n \r\n )\r\n );\r\n};\r\n\r\nServiceQuality.propTypes = {};\r\n\r\nexport default React.memo(ServiceQuality);\r\n","import React, { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport i18next from \"i18next\";\r\nimport TextSection from \"../../components/TextSection\";\r\nimport LottieFilePlayer from \"../../components/LottieFilePlayer\";\r\nimport InclusioneFinanziariaLottieFile from \"../../assets/lotties/inclusione_finanziaria.json\";\r\nimport InclusioneFinanziariaLottieFileEN from \"../../assets/lotties/inclusione_finanziaria_EN.json\";\r\nimport ContainerWrapper from \"../../components/ContainerWrapper\";\r\nimport Menu from \"../../components/Menu\";\r\nimport InfoBox from \"../../components/InfoBox\";\r\nimport AreaSquares from \"../../components/AreaSquares\";\r\nimport { areas } from \"../../utils\";\r\n\r\nconst FinancialInclusion = () => {\r\n const { t, ready } = useTranslation();\r\n const currentLang = i18next.language;\r\n\r\n return (\r\n !!ready && (\r\n <>\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n )\r\n );\r\n};\r\n\r\nFinancialInclusion.propTypes = {};\r\n\r\nexport default React.memo(FinancialInclusion);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport TextSection from \"../../components/TextSection\";\r\nimport ContainerWrapper from \"../../components/ContainerWrapper\";\r\nimport Menu from \"../../components/Menu\";\r\nimport InfoBox from \"../../components/InfoBox\";\r\nimport { ButtonTooltipIcon, LinkIcon } from \"../../assets/icons\";\r\nimport Tooltip from \"../../components/Tooltip\";\r\nimport AreaSquares from \"../../components/AreaSquares\";\r\nimport { areas } from \"../../utils\";\r\nimport ShowMore from \"../../components/ShowMore\";\r\n\r\nconst InvestmentInsurance = () => {\r\n const { t, ready } = useTranslation();\r\n\r\n return (\r\n !!ready && (\r\n <>\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n {t(\"InvestmentInsurance.InfoBox1.TextSection2.text2\")}\r\n
\r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n />\r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n }\r\n />\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n {t(\"InvestmentInsurance.InfoBox2.TextSection2.text2\")}\r\n
\r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n />\r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n }\r\n />\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n )\r\n );\r\n};\r\n\r\nInvestmentInsurance.propTypes = {};\r\n\r\nexport default React.memo(InvestmentInsurance);\r\n","import { useTranslation } from \"react-i18next\";\r\nimport TextSection from \"./TextSection\";\r\nimport { ButtonTooltipIcon, LineIcon } from \"../assets/icons\";\r\nimport Tooltip from \"./Tooltip\";\r\n\r\nconst InfoCard = ({\r\n children,\r\n title,\r\n buttonTitle,\r\n buttonLink,\r\n wrapperClass = \"bg-white lg:mr-48 my-14 py-16 pl-16 w-3/5\",\r\n}) => {\r\n const { t } = useTranslation();\r\n\r\n return (\r\n
\r\n \r\n {title}\r\n \r\n \r\n }\r\n />\r\n {children}\r\n\r\n {buttonTitle && (\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default InfoCard;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport i18next from \"i18next\";\r\nimport TextSection from \"../../components/TextSection\";\r\nimport Menu from \"../../components/Menu\";\r\nimport CardImage from \"../../components/CardImage\";\r\nimport ContainerWrapper from \"../../components/ContainerWrapper\";\r\nimport LottieFilePlayer from \"../../components/LottieFilePlayer\";\r\nimport SupportoAllaComunita from \"../../assets/lotties/supporto_alla_comunita.json\";\r\nimport SupportoAllaComunitaEN from \"../../assets/lotties/supporto_alla_comunita_EN.json\";\r\nimport Timeline from \"../../components/Timeline\";\r\nimport { ButtonTooltipIcon } from \"../../assets/icons\";\r\nimport Tooltip from \"../../components/Tooltip\";\r\nimport GallerieItalia from \"../../assets/images/gallerieitalia.png\";\r\nimport PTech from \"../../assets/images/ptech.png\";\r\nimport ProgrammaGiovani from \"../../assets/images/programmagiovani.png\";\r\nimport GenerationUniversities from \"../../assets/images/generationuniversities.png\";\r\nimport {\r\n TimelineIcon1,\r\n TimelineIcon2,\r\n TimelineIcon3,\r\n TimelineIcon4,\r\n} from \"../../assets/images\";\r\nimport InfoCard from \"../../components/InfoCard\";\r\nimport AreaSquares from \"../../components/AreaSquares\";\r\nimport { areas } from \"../../utils\";\r\n\r\nconst TimelineItems = [\r\n {\r\n Icon: TimelineIcon1,\r\n title: \"CommunitySupport.Timeline1.title\",\r\n titleClasses: \"positionTitle30\",\r\n left: { title: \"CommunitySupport.Timeline1.leftTitle\", caption: \"\" },\r\n right: { title: \"CommunitySupport.Timeline1.rightTitle\", caption: \"\" },\r\n timelineTop: {\r\n sx: \"CommunitySupport.Timeline1.timelineTopSX\",\r\n dx: \"CommunitySupport.Timeline1.timelineTopDX\",\r\n },\r\n timelineBottom: { sx: \"\", dx: \"\" },\r\n },\r\n {\r\n Icon: TimelineIcon2,\r\n title: \"CommunitySupport.Timeline2.title\",\r\n titleClasses: \"\",\r\n left: { title: \"CommunitySupport.Timeline2.leftTitle\", caption: \"\" },\r\n right: { title: \"CommunitySupport.Timeline2.rightTitle\", caption: \"\" },\r\n timelineTop: { sx: \"\", dx: \"\" },\r\n timelineBottom: { sx: \"\", dx: \"\" },\r\n },\r\n {\r\n Icon: TimelineIcon3,\r\n title: \"CommunitySupport.Timeline3.title\",\r\n titleClasses: \"positionTitle80\",\r\n left: { title: \"CommunitySupport.Timeline3.leftTitle\", caption: \"\" },\r\n right: { title: \"CommunitySupport.Timeline3.rightTitle\", caption: \"\" },\r\n timelineTop: { sx: \"\", dx: \"\" },\r\n timelineBottom: { sx: \"\", dx: \"\" },\r\n },\r\n {\r\n Icon: TimelineIcon4,\r\n title: \"CommunitySupport.Timeline4.title\",\r\n titleClasses: \"positionTitle30\",\r\n left: { title: \"CommunitySupport.Timeline4.leftTitle\", caption: \"\" },\r\n right: { title: \"CommunitySupport.Timeline4.rightTitle\", caption: \"\" },\r\n timelineTop: { sx: \"\", dx: \"\" },\r\n timelineBottom: {\r\n sx: \"CommunitySupport.Timeline4.timelineBottomSX\",\r\n dx: \"CommunitySupport.Timeline4.timelineBottomDX\",\r\n },\r\n },\r\n];\r\n\r\nconst CommunitySupport = () => {\r\n const { t, ready } = useTranslation();\r\n const currentLang = i18next.language;\r\n\r\n return (\r\n !!ready && (\r\n <>\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n \r\n
\r\n {t(\"CommunitySupport.InfoBox1.TextSection1.text1\")}\r\n
\r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n p4={t(\"CommunitySupport.InfoBox1.TextSection1.text2\")}\r\n />\r\n \r\n
\r\n {t(\"CommunitySupport.InfoBox1.TextSection2.text1\")}\r\n
\r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n p4={t(\"CommunitySupport.InfoBox1.TextSection2.text2\")}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n {t(\"CommunitySupport.InfoBox2.TextSection2.text1\")}\r\n
\r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n p4={t(\"CommunitySupport.InfoBox2.TextSection2.text2\")}\r\n />\r\n \r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n )\r\n );\r\n};\r\n\r\nCommunitySupport.propTypes = {};\r\n\r\nexport default React.memo(CommunitySupport);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport TextSection from \"../../components/TextSection\";\r\nimport JobProtectionIcon from \"../../assets/icons/JobProtectionIcon\";\r\nimport ContainerWrapper from \"../../components/ContainerWrapper\";\r\nimport Menu from \"../../components/Menu\";\r\nimport InfoBox from \"../../components/InfoBox\";\r\nimport BarChart from \"../../components/BarCharts/BarChart\";\r\nimport AreaSquares from \"../../components/AreaSquares\";\r\nimport { areas } from \"../../utils\";\r\n\r\nconst JobProtection = () => {\r\n const { t, ready } = useTranslation();\r\n\r\n return (\r\n !!ready && (\r\n <>\r\n \r\n \r\n \r\n\r\n \r\n\r\n (\r\n \r\n

\r\n {t(\"JobProtection.BarChart1.text1\")}\r\n

\r\n \r\n )}\r\n options={{\r\n width: \"100%\",\r\n height: \"350px\",\r\n columns: {\r\n height: \"251px\",\r\n justifyContent: \"center\",\r\n },\r\n labels: {\r\n justifyContent: \"center\",\r\n },\r\n }}\r\n data={[\r\n { \r\n topLabel: t(\"JobProtection.BarChart1.Values.val1\"), \r\n label: \"2020\",\r\n height: 152,\r\n color: \"#29851B\",\r\n style: { textAlign: \"right\" },\r\n },\r\n {\r\n topLabel: t(\"JobProtection.BarChart1.Values.val2\"), \r\n label: \"2021\",\r\n height: 212,\r\n color: \"#2B7021\",\r\n style: { textAlign: \"right\" },\r\n },\r\n ]}\r\n />\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n )\r\n );\r\n};\r\n\r\nJobProtection.propTypes = {};\r\n\r\nexport default React.memo(JobProtection);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport TextSection from \"../../components/TextSection\";\r\nimport {\r\n DiversityInclusionPointsGraphIcon,\r\n ShowMoreIcon,\r\n GroupPeopleIcon,\r\n} from \"../../assets/icons\";\r\nimport ContainerWrapper from \"../../components/ContainerWrapper\";\r\nimport Menu from \"../../components/Menu\";\r\nimport InfoBox from \"../../components/InfoBox\";\r\nimport ShowMore from \"../../components/ShowMore\";\r\nimport AreaSquares from \"../../components/AreaSquares\";\r\nimport { areas } from \"../../utils\";\r\n\r\nconst DiversityInclusion = () => {\r\n const { t, ready } = useTranslation();\r\n\r\n return (\r\n !!ready && (\r\n <>\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n {/* */}\r\n \r\n\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n\r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n {t(\"DiversityInclusion.ArtWork1.text1\")}\r\n

\r\n \r\n {t(\"DiversityInclusion.ArtWork1.text2\")}\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n {t(\"DiversityInclusion.ArtWork1.text3\")}\r\n

\r\n \r\n {t(\"DiversityInclusion.ArtWork1.text4\")}\r\n \r\n \r\n \r\n \r\n \r\n {t(\"DiversityInclusion.ArtWork1.text5\")}\r\n

\r\n \r\n\r\n \r\n\r\n
\r\n \r\n
\r\n\r\n {t(\"DiversityInclusion.TextSection7.text1\") && (\r\n
\r\n \r\n \r\n \r\n }\r\n />\r\n
\r\n )}\r\n
\r\n \r\n \r\n )\r\n );\r\n};\r\n\r\nDiversityInclusion.propTypes = {};\r\n\r\nexport default React.memo(DiversityInclusion);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport TextSection from \"../../components/TextSection\";\r\nimport HealthIcon from \"../../assets/icons/HealthIcon\";\r\nimport ContainerWrapper from \"../../components/ContainerWrapper\";\r\nimport Menu from \"../../components/Menu\";\r\nimport {PcIcon} from \"../../assets/icons\";\r\nimport AreaSquares from \"../../components/AreaSquares\";\r\nimport { areas } from \"../../utils\";\r\n\r\n\r\nconst HealthSafety = () => {\r\n const { t, ready } = useTranslation();\r\n\r\n return (\r\n !!ready && (\r\n <>\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n )\r\n );\r\n};\r\n\r\nHealthSafety.propTypes = {};\r\n\r\nexport default React.memo(HealthSafety);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport TextSection from \"../../components/TextSection\";\r\nimport i18next from \"i18next\";\r\nimport {\r\n DownloadPdfIcon,\r\n ButtonTooltipIcon,\r\n ShowMoreIcon,\r\n CircleIcon,\r\n GroupTooltipIcon1,\r\n GroupTooltipIcon2,\r\n GroupTooltipIcon3,\r\n GroupTooltipIcon4,\r\n GroupTooltipIcon5,\r\n GroupTooltipIcon6,\r\n GroupTooltipIcon7,\r\n GroupTooltipIcon8,\r\n LineIcon,\r\n} from \"../../assets/icons\";\r\nimport ContainerWrapper from \"../../components/ContainerWrapper\";\r\nimport Menu from \"../../components/Menu\";\r\nimport Tooltip from \"../../components/Tooltip\";\r\nimport InfoBox from \"../../components/InfoBox\";\r\nimport LottieFilePlayer from \"../../components/LottieFilePlayer\";\r\nimport TransizioneEconomiaSostenibile from \"../../assets/lotties/transizione_economia_sostenibile.json\";\r\nimport TransizioneEconomiaSostenibileEN from \"../../assets/lotties/transizione_economia_sostenibile_EN.json\";\r\nimport ShowMore from \"../../components/ShowMore\";\r\nimport BarChart from \"../../components/BarCharts/BarChart\";\r\nimport AreaSquares from \"../../components/AreaSquares\";\r\nimport { areas } from \"../../utils\";\r\n\r\nconst GreenTransition = () => {\r\n const { t, ready } = useTranslation();\r\n const currentLang = i18next.language;\r\n\r\n return (\r\n !!ready && (\r\n <>\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n (\r\n
\r\n )}\r\n options={{\r\n width: \"100%\",\r\n height: \"408px\",\r\n columns: {\r\n height: \"408px\",\r\n justifyContent: \"center\",\r\n },\r\n labels: {\r\n justifyContent: \"center\",\r\n },\r\n }}\r\n data={[\r\n {\r\n topLabel: (\r\n <>\r\n {t(\"GreenTransition.BarChart2.Values.val1\")}\r\n
\r\n \r\n {t(\"GreenTransition.BarChart2.Values.val2\")}\r\n \r\n \r\n ),\r\n label: \"\",\r\n height: 101,\r\n color: \"#2B7021\",\r\n inner: (\r\n \r\n {t(\"GreenTransition.BarChart2.Values.val3\")}\r\n
\r\n ),\r\n style: { textAlign: \"right\" },\r\n },\r\n {\r\n topLabel: (\r\n <>\r\n {t(\"GreenTransition.BarChart2.Values.val4\")}\r\n
\r\n \r\n {t(\"GreenTransition.BarChart2.Values.val5\")}\r\n \r\n \r\n ),\r\n label: \"\",\r\n height: 303,\r\n color: \"#2B7021\",\r\n inner: (\r\n \r\n {t(\"GreenTransition.BarChart2.Values.val6\")}\r\n \r\n ),\r\n style: { textAlign: \"right\" },\r\n },\r\n ]}\r\n />\r\n \r\n\r\n
\r\n (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {t(\"GreenTransition.BarChart2.text2\")}\r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {t(\"GreenTransition.BarChart2.text3\")}\r\n

\r\n \r\n \r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n € {t(\"GreenTransition.BarChart2.text4\")}\r\n

\r\n {t(\"GreenTransition.BarChart2.text1\")}\r\n
\r\n \r\n \r\n )}\r\n options={{\r\n width: \"100%\",\r\n height: \"490px\",\r\n columns: {\r\n height: \"408px\",\r\n justifyContent: \"center\",\r\n },\r\n labels: {\r\n justifyContent: \"center\",\r\n },\r\n }}\r\n data={[\r\n {\r\n label: \"2020*\",\r\n height: 21,\r\n color: \"#323231\",\r\n inner: (\r\n \r\n {t(\"GreenTransition.BarChart2.Values.val7\")}\r\n \r\n ),\r\n style: { textAlign: \"right\" },\r\n },\r\n {\r\n label: \"2021\",\r\n height: 82,\r\n color: \"#323231\",\r\n inner: (\r\n \r\n {t(\"GreenTransition.BarChart2.Values.val8\")}\r\n \r\n ),\r\n style: { textAlign: \"right\" },\r\n },\r\n ]}\r\n />\r\n \r\n \r\n\r\n
\r\n \r\n 2.778\r\n
\r\n 2,9%\r\n \r\n ),\r\n label: \"2020*\",\r\n height: 101,\r\n color: \"#2B7021\",\r\n inner: (\r\n \r\n 2.189\r\n
\r\n ),\r\n style: { textAlign: \"right\" },\r\n },\r\n {\r\n topLabel: (\r\n <>\r\n 8.699\r\n
\r\n 11,2%\r\n \r\n ),\r\n label: \"2021\",\r\n height: 303,\r\n color: \"#2B7021\",\r\n inner: (\r\n \r\n 6.139\r\n \r\n ),\r\n style: { textAlign: \"right\" },\r\n },\r\n ]}\r\n />\r\n\r\n \r\n 589\r\n \r\n ),\r\n style: { textAlign: \"right\" },\r\n },\r\n {\r\n label: \"2021\",\r\n height: 82,\r\n color: \"#323231\",\r\n inner: (\r\n \r\n 2.560\r\n \r\n ),\r\n style: { textAlign: \"right\" },\r\n },\r\n ]}\r\n />\r\n\r\n (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {t(\"GreenTransition.BarChart2.text2\")}\r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {t(\"GreenTransition.BarChart2.text3\")}\r\n

\r\n \r\n \r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n
\r\n \r\n € {t(\"GreenTransition.BarChart2.text4\")}\r\n

\r\n {t(\"GreenTransition.BarChart2.text1\")}\r\n
\r\n \r\n \r\n )}\r\n options={{\r\n width: \"100%\",\r\n height: \"490px\",\r\n columns: {\r\n height: \"408px\",\r\n justifyContent: \"center\",\r\n },\r\n labels: {\r\n justifyContent: \"center\",\r\n },\r\n }}\r\n data={[]}\r\n />\r\n \r\n\r\n \r\n
{t(\"GreenTransition.TextSection2.text1\")}
\r\n }\r\n >\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {t(\r\n \"GreenTransition.TextSection2.Tooltip1.InfoBox1.TextSection1.text1\"\r\n )}\r\n
\r\n \r\n }\r\n />\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {t(\r\n \"GreenTransition.TextSection2.Tooltip1.InfoBox1.TextSection2.text1\"\r\n )}\r\n
\r\n \r\n }\r\n />\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {t(\r\n \"GreenTransition.TextSection2.Tooltip1.InfoBox1.TextSection3.text1\"\r\n )}\r\n
\r\n \r\n }\r\n />\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {t(\r\n \"GreenTransition.TextSection2.Tooltip1.InfoBox1.TextSection4.text1\"\r\n )}\r\n
\r\n \r\n }\r\n />\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {t(\r\n \"GreenTransition.TextSection2.Tooltip1.InfoBox1.TextSection5.text1\"\r\n )}\r\n
\r\n \r\n }\r\n />\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {t(\r\n \"GreenTransition.TextSection2.Tooltip1.InfoBox1.TextSection6.text1\"\r\n )}\r\n
\r\n \r\n }\r\n />\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {t(\r\n \"GreenTransition.TextSection2.Tooltip1.InfoBox1.TextSection7.text1\"\r\n )}\r\n
\r\n \r\n }\r\n />\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {t(\r\n \"GreenTransition.TextSection2.Tooltip1.InfoBox1.TextSection8.text1\"\r\n )}\r\n
\r\n \r\n }\r\n />\r\n
\r\n
\r\n \r\n \r\n }\r\n p4={t(\"GreenTransition.TextSection2.paragraph\")}\r\n />\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n }\r\n />\r\n
\r\n\r\n \r\n
{t(\"GreenTransition.TextSection4.caption\")}
\r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n />\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n {t(\"GreenTransition.TextSection10.text1\") && (\r\n
\r\n \r\n \r\n \r\n }\r\n />\r\n
\r\n )}\r\n\r\n \r\n\r\n \r\n
{t(\"GreenTransition.TextSection7.text1\")}
\r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n p4={t(\"GreenTransition.TextSection7.text2\")}\r\n />\r\n\r\n \r\n\r\n {t(\"GreenTransition.TextSection11.text1\") && (\r\n
\r\n \r\n \r\n \r\n }\r\n />\r\n
\r\n )}\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n }\r\n />\r\n
\r\n
\r\n \r\n \r\n )\r\n );\r\n};\r\n\r\nGreenTransition.propTypes = {};\r\n\r\nexport default React.memo(GreenTransition);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport TextSection from \"../../components/TextSection\";\r\nimport ContainerWrapper from \"../../components/ContainerWrapper\";\r\nimport Menu from \"../../components/Menu\";\r\nimport InfoBox from \"../../components/InfoBox\";\r\nimport Tooltip from \"../../components/Tooltip\";\r\nimport BarChart from \"../../components/BarCharts/BarChart\";\r\nimport { Animated } from \"react-animated-css\";\r\nimport { useInView } from \"react-intersection-observer\";\r\nimport { ButtonTooltipIcon, DownloadPdfIcon } from \"../../assets/icons\";\r\nimport ShowMore from \"../../components/ShowMore\";\r\nimport AreaSquares from \"../../components/AreaSquares\";\r\nimport { areas } from \"../../utils\";\r\n\r\nconst ClimateChange = () => {\r\n const { t, ready } = useTranslation();\r\n const { ref, inView, entry } = useInView({\r\n /* Optional options */\r\n threshold: 0,\r\n triggerOnce: true,\r\n });\r\n\r\n return (\r\n !!ready && (\r\n <>\r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n }\r\n />\r\n
\r\n\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n 4%\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n (\r\n \r\n
\r\n
\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n

\r\n {t(\"ClimateChange.BarChart1.text1\")}\r\n

\r\n
\r\n
\r\n )}\r\n options={{\r\n width: \"100%\",\r\n height: \"290px\",\r\n columns: {\r\n height: \"297px\",\r\n justifyContent: \"center\",\r\n },\r\n labels: {\r\n justifyContent: \"center\",\r\n },\r\n }}\r\n data={[\r\n {\r\n topLabel: t(\"ClimateChange.BarChart1.Values.val1\"),\r\n label: \"2020*\",\r\n height: 254,\r\n color: \"#29851B\",\r\n style: { textAlign: \"right\" },\r\n },\r\n {\r\n topLabel: t(\"ClimateChange.BarChart1.Values.val2\"),\r\n topLabelStyle: { marginBottom: 33, marginLeft: 18 },\r\n label: \"2021\",\r\n height: 228,\r\n color: \"#2B7021\",\r\n style: { textAlign: \"right\" },\r\n },\r\n ]}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n )\r\n );\r\n};\r\n\r\nClimateChange.propTypes = {};\r\n\r\nexport default React.memo(ClimateChange);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport TextSection from \"../../components/TextSection\";\r\nimport Covid19Icon from \"../../assets/icons/Covid19Icon\";\r\nimport ContainerWrapper from \"../../components/ContainerWrapper\";\r\nimport InfoBox from \"../../components/InfoBox\";\r\nimport Menu from \"../../components/Menu\";\r\nimport Tooltip from \"../../components/Tooltip\";\r\nimport { ButtonTooltipIcon } from \"../../assets/icons\";\r\n\r\nconst Covid19 = () => {\r\n const { t, ready } = useTranslation();\r\n\r\n return (\r\n !!ready && (\r\n <>\r\n \r\n \r\n \r\n {t(\"Covid19.TextSection1.title\")}\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n }\r\n h5={t(\"Covid19.TextSection1.caption\")}\r\n />\r\n\r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n \r\n \r\n
{t(\"Covid19.TextSection8.text1\")}
\r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n p4={t(\"Covid19.TextSection8.text2\")}\r\n />\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n {t(\"Covid19.InfoBox4.Column2.TextSection2.text1\")}\r\n
\r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n />\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n {t(\"Covid19.InfoBox5.Column2.TextSection2.text1\")}\r\n
\r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n p4={t(\"Covid19.InfoBox5.Column2.TextSection2.text2\")}\r\n />\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n )\r\n );\r\n};\r\n\r\nCovid19.propTypes = {};\r\n\r\nexport default React.memo(Covid19);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { CopyIcon, ArrowBottomIcon } from \"../../assets/icons\";\r\nimport TextSection from \"../TextSection\";\r\n\r\nconst DownloadSection = ({ classes }) => {\r\n const { t, ready } = useTranslation();\r\n\r\n return (\r\n !!ready && (\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n )\r\n );\r\n};\r\n\r\nDownloadSection.propTypes = {\r\n classes: PropTypes.string,\r\n icon: PropTypes.shape({\r\n element: PropTypes.element,\r\n classes: PropTypes.string,\r\n }),\r\n title: PropTypes.shape({\r\n element: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\r\n classes: PropTypes.string,\r\n }),\r\n caption: PropTypes.shape({\r\n element: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\r\n classes: PropTypes.string,\r\n }),\r\n};\r\n\r\nexport default React.memo(DownloadSection);\r\n","import React, { Fragment, useEffect } from \"react\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport { appendScript } from \"./../utils\";\r\nimport configuration from \"./../configuration.json\";\r\n\r\nconst Simulator = () => {\r\n const { lang } = useParams();\r\n const language = lang.toUpperCase();\r\n const otherLang = lang === \"en\" ? \"it\" : \"en\";\r\n const otherLanguage = otherLang.toUpperCase();\r\n\r\n useEffect(() => {\r\n switch (configuration.menu.positioning.algorithm) {\r\n case configuration.menu.positioning.algorithms.AutoResizer:\r\n appendScript({ src: \"/autoresizer.js\" });\r\n return () => {\r\n if (window.autoResizer) {\r\n window.autoResizer.unregister();\r\n }\r\n };\r\n\r\n case configuration.menu.positioning.algorithms.Infer:\r\n appendScript({ src: \"iframeResizer.min.js\" });\r\n appendScript({ innerText: `iFrameResize({ log: true }, '#DCNF');` });\r\n\r\n default:\r\n break;\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n Gruppo Intesa Sanpaolo\r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n div {\r\n overflow: hidden;\r\n }\r\n @keyframes fb_transform {\r\n from {\r\n opacity: 0;\r\n transform: scale(0.95);\r\n }\r\n to {\r\n opacity: 1;\r\n transform: scale(1);\r\n }\r\n }\r\n .fb_animate {\r\n animation: fb_transform 0.3s forwards;\r\n }\r\n .fb_dialog {\r\n background: rgba(82, 82, 82, 0.7);\r\n position: absolute;\r\n top: -10000px;\r\n z-index: 10001;\r\n }\r\n .fb_dialog_advanced {\r\n border-radius: 8px;\r\n padding: 10px;\r\n }\r\n .fb_dialog_content {\r\n background: #fff;\r\n color: #373737;\r\n }\r\n .fb_dialog_close_icon {\r\n background: url(https://static.xx.fbcdn.net/rsrc.php/v3/yq/r/IE9JII6Z1Ys.png)\r\n no-repeat scroll 0 0 transparent;\r\n cursor: pointer;\r\n display: block;\r\n height: 15px;\r\n position: absolute;\r\n right: 18px;\r\n top: 17px;\r\n width: 15px;\r\n }\r\n .fb_dialog_mobile .fb_dialog_close_icon {\r\n left: 5px;\r\n right: auto;\r\n top: 5px;\r\n }\r\n .fb_dialog_padding {\r\n background-color: transparent;\r\n position: absolute;\r\n width: 1px;\r\n z-index: -1;\r\n }\r\n .fb_dialog_close_icon:hover {\r\n background: url(https://static.xx.fbcdn.net/rsrc.php/v3/yq/r/IE9JII6Z1Ys.png)\r\n no-repeat scroll 0 -15px transparent;\r\n }\r\n .fb_dialog_close_icon:active {\r\n background: url(https://static.xx.fbcdn.net/rsrc.php/v3/yq/r/IE9JII6Z1Ys.png)\r\n no-repeat scroll 0 -30px transparent;\r\n }\r\n .fb_dialog_iframe {\r\n line-height: 0;\r\n }\r\n .fb_dialog_content .dialog_title {\r\n background: #6d84b4;\r\n border: 1px solid #365899;\r\n color: #fff;\r\n font-size: 14px;\r\n font-weight: bold;\r\n margin: 0;\r\n }\r\n .fb_dialog_content .dialog_title > span {\r\n background: url(https://static.xx.fbcdn.net/rsrc.php/v3/yd/r/Cou7n-nqK52.gif)\r\n no-repeat 5px 50%;\r\n float: left;\r\n padding: 5px 0 7px 26px;\r\n }\r\n body.fb_hidden {\r\n height: 100%;\r\n left: 0;\r\n margin: 0;\r\n overflow: visible;\r\n position: absolute;\r\n top: -10000px;\r\n transform: none;\r\n width: 100%;\r\n }\r\n .fb_dialog.fb_dialog_mobile.loading {\r\n background: url(https://static.xx.fbcdn.net/rsrc.php/v3/ya/r/3rhSv5V8j3o.gif)\r\n white no-repeat 50% 50%;\r\n min-height: 100%;\r\n min-width: 100%;\r\n overflow: hidden;\r\n position: absolute;\r\n top: 0;\r\n z-index: 10001;\r\n }\r\n .fb_dialog.fb_dialog_mobile.loading.centered {\r\n background: none;\r\n height: auto;\r\n min-height: initial;\r\n min-width: initial;\r\n width: auto;\r\n }\r\n .fb_dialog.fb_dialog_mobile.loading.centered #fb_dialog_loader_spinner {\r\n width: 100%;\r\n }\r\n .fb_dialog.fb_dialog_mobile.loading.centered .fb_dialog_content {\r\n background: none;\r\n }\r\n .loading.centered #fb_dialog_loader_close {\r\n clear: both;\r\n color: #fff;\r\n display: block;\r\n font-size: 18px;\r\n padding-top: 20px;\r\n }\r\n #fb-root #fb_dialog_ipad_overlay {\r\n background: rgba(0, 0, 0, 0.4);\r\n bottom: 0;\r\n left: 0;\r\n min-height: 100%;\r\n position: absolute;\r\n right: 0;\r\n top: 0;\r\n width: 100%;\r\n z-index: 10000;\r\n }\r\n #fb-root #fb_dialog_ipad_overlay.hidden {\r\n display: none;\r\n }\r\n .fb_dialog.fb_dialog_mobile.loading iframe {\r\n visibility: hidden;\r\n }\r\n .fb_dialog_mobile .fb_dialog_iframe {\r\n position: sticky;\r\n top: 0;\r\n }\r\n .fb_dialog_content .dialog_header {\r\n background: linear-gradient(from(#738aba), to(#2c4987));\r\n border-bottom: 1px solid;\r\n border-color: #043b87;\r\n box-shadow: white 0 1px 1px -1px inset;\r\n color: #fff;\r\n font: bold 14px Helvetica, sans-serif;\r\n text-overflow: ellipsis;\r\n text-shadow: rgba(0, 30, 84, 0.296875) 0 -1px 0;\r\n vertical-align: middle;\r\n white-space: nowrap;\r\n }\r\n .fb_dialog_content .dialog_header table {\r\n height: 43px;\r\n width: 100%;\r\n }\r\n .fb_dialog_content .dialog_header td.header_left {\r\n font-size: 12px;\r\n padding-left: 5px;\r\n vertical-align: middle;\r\n width: 60px;\r\n }\r\n .fb_dialog_content .dialog_header td.header_right {\r\n font-size: 12px;\r\n padding-right: 5px;\r\n vertical-align: middle;\r\n width: 60px;\r\n }\r\n .fb_dialog_content .touchable_button {\r\n background: linear-gradient(from(#4267b2), to(#2a4887));\r\n background-clip: padding-box;\r\n border: 1px solid #29487d;\r\n border-radius: 3px;\r\n display: inline-block;\r\n line-height: 18px;\r\n margin-top: 3px;\r\n max-width: 85px;\r\n padding: 4px 12px;\r\n position: relative;\r\n }\r\n .fb_dialog_content .dialog_header .touchable_button input {\r\n background: none;\r\n border: none;\r\n color: #fff;\r\n font: bold 12px Helvetica, sans-serif;\r\n margin: 2px -12px;\r\n padding: 2px 6px 3px 6px;\r\n text-shadow: rgba(0, 30, 84, 0.296875) 0 -1px 0;\r\n }\r\n .fb_dialog_content .dialog_header .header_center {\r\n color: #fff;\r\n font-size: 16px;\r\n font-weight: bold;\r\n line-height: 18px;\r\n text-align: center;\r\n vertical-align: middle;\r\n }\r\n .fb_dialog_content .dialog_content {\r\n background: url(https://static.xx.fbcdn.net/rsrc.php/v3/y9/r/jKEcVPZFk-2.gif)\r\n no-repeat 50% 50%;\r\n border: 1px solid #4a4a4a;\r\n border-bottom: 0;\r\n border-top: 0;\r\n height: 150px;\r\n }\r\n .fb_dialog_content .dialog_footer {\r\n background: #f5f6f7;\r\n border: 1px solid #4a4a4a;\r\n border-top-color: #ccc;\r\n height: 40px;\r\n }\r\n #fb_dialog_loader_close {\r\n float: left;\r\n }\r\n .fb_dialog.fb_dialog_mobile .fb_dialog_close_icon {\r\n visibility: hidden;\r\n }\r\n #fb_dialog_loader_spinner {\r\n animation: rotateSpinner 1.2s linear infinite;\r\n background-color: transparent;\r\n background-image: url(https://static.xx.fbcdn.net/rsrc.php/v3/yD/r/t-wz8gw1xG1.png);\r\n background-position: 50% 50%;\r\n background-repeat: no-repeat;\r\n height: 24px;\r\n width: 24px;\r\n }\r\n @keyframes rotateSpinner {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n transform: rotate(360deg);\r\n }\r\n }\r\n .fb_iframe_widget {\r\n display: inline-block;\r\n position: relative;\r\n }\r\n .fb_iframe_widget span {\r\n display: inline-block;\r\n position: relative;\r\n text-align: justify;\r\n }\r\n .fb_iframe_widget iframe {\r\n position: absolute;\r\n }\r\n .fb_iframe_widget_fluid_desktop,\r\n .fb_iframe_widget_fluid_desktop span,\r\n .fb_iframe_widget_fluid_desktop iframe {\r\n max-width: 100%;\r\n }\r\n .fb_iframe_widget_fluid_desktop iframe {\r\n min-width: 220px;\r\n position: relative;\r\n }\r\n .fb_iframe_widget_lift {\r\n z-index: 1;\r\n }\r\n .fb_iframe_widget_fluid {\r\n display: inline;\r\n }\r\n .fb_iframe_widget_fluid span {\r\n width: 100%;\r\n }\r\n .fb_mpn_mobile_landing_page_slide_out {\r\n animation-duration: 200ms;\r\n animation-name: fb_mpn_landing_page_slide_out;\r\n transition-timing-function: ease-in;\r\n }\r\n .fb_mpn_mobile_landing_page_slide_out_from_left {\r\n animation-duration: 200ms;\r\n animation-name: fb_mpn_landing_page_slide_out_from_left;\r\n transition-timing-function: ease-in;\r\n }\r\n .fb_mpn_mobile_landing_page_slide_up {\r\n animation-duration: 500ms;\r\n animation-name: fb_mpn_landing_page_slide_up;\r\n transition-timing-function: ease-in;\r\n }\r\n .fb_mpn_mobile_bounce_in {\r\n animation-duration: 300ms;\r\n animation-name: fb_mpn_bounce_in;\r\n transition-timing-function: ease-in;\r\n }\r\n .fb_mpn_mobile_bounce_out {\r\n animation-duration: 300ms;\r\n animation-name: fb_mpn_bounce_out;\r\n transition-timing-function: ease-in;\r\n }\r\n .fb_mpn_mobile_bounce_out_v2 {\r\n animation-duration: 300ms;\r\n animation-name: fb_mpn_fade_out;\r\n transition-timing-function: ease-in;\r\n }\r\n .fb_customer_chat_bounce_in_v2 {\r\n animation-duration: 300ms;\r\n animation-name: fb_bounce_in_v2;\r\n transition-timing-function: ease-in;\r\n }\r\n .fb_customer_chat_bounce_in_from_left {\r\n animation-duration: 300ms;\r\n animation-name: fb_bounce_in_from_left;\r\n transition-timing-function: ease-in;\r\n }\r\n .fb_customer_chat_bounce_out_v2 {\r\n animation-duration: 300ms;\r\n animation-name: fb_bounce_out_v2;\r\n transition-timing-function: ease-in;\r\n }\r\n .fb_customer_chat_bounce_out_from_left {\r\n animation-duration: 300ms;\r\n animation-name: fb_bounce_out_from_left;\r\n transition-timing-function: ease-in;\r\n }\r\n .fb_invisible_flow {\r\n display: inherit;\r\n height: 0;\r\n overflow-x: hidden;\r\n width: 0;\r\n }\r\n @keyframes fb_mpn_landing_page_slide_out {\r\n 0% {\r\n margin: 0 12px;\r\n width: 100% - 24px;\r\n }\r\n 60% {\r\n border-radius: 18px;\r\n }\r\n 100% {\r\n border-radius: 50%;\r\n margin: 0 24px;\r\n width: 60px;\r\n }\r\n }\r\n @keyframes fb_mpn_landing_page_slide_out_from_left {\r\n 0% {\r\n left: 12px;\r\n width: 100% - 24px;\r\n }\r\n 60% {\r\n border-radius: 18px;\r\n }\r\n 100% {\r\n border-radius: 50%;\r\n left: 12px;\r\n width: 60px;\r\n }\r\n }\r\n @keyframes fb_mpn_landing_page_slide_up {\r\n 0% {\r\n bottom: 0;\r\n opacity: 0;\r\n }\r\n 100% {\r\n bottom: 24px;\r\n opacity: 1;\r\n }\r\n }\r\n @keyframes fb_mpn_bounce_in {\r\n 0% {\r\n opacity: 0.5;\r\n top: 100%;\r\n }\r\n 100% {\r\n opacity: 1;\r\n top: 0;\r\n }\r\n }\r\n @keyframes fb_mpn_fade_out {\r\n 0% {\r\n bottom: 30px;\r\n opacity: 1;\r\n }\r\n 100% {\r\n bottom: 0;\r\n opacity: 0;\r\n }\r\n }\r\n @keyframes fb_mpn_bounce_out {\r\n 0% {\r\n opacity: 1;\r\n top: 0;\r\n }\r\n 100% {\r\n opacity: 0.5;\r\n top: 100%;\r\n }\r\n }\r\n @keyframes fb_bounce_in_v2 {\r\n 0% {\r\n opacity: 0;\r\n transform: scale(0, 0);\r\n transform-origin: bottom right;\r\n }\r\n 50% {\r\n transform: scale(1.03, 1.03);\r\n transform-origin: bottom right;\r\n }\r\n 100% {\r\n opacity: 1;\r\n transform: scale(1, 1);\r\n transform-origin: bottom right;\r\n }\r\n }\r\n @keyframes fb_bounce_in_from_left {\r\n 0% {\r\n opacity: 0;\r\n transform: scale(0, 0);\r\n transform-origin: bottom left;\r\n }\r\n 50% {\r\n transform: scale(1.03, 1.03);\r\n transform-origin: bottom left;\r\n }\r\n 100% {\r\n opacity: 1;\r\n transform: scale(1, 1);\r\n transform-origin: bottom left;\r\n }\r\n }\r\n @keyframes fb_bounce_out_v2 {\r\n 0% {\r\n opacity: 1;\r\n transform: scale(1, 1);\r\n transform-origin: bottom right;\r\n }\r\n 100% {\r\n opacity: 0;\r\n transform: scale(0, 0);\r\n transform-origin: bottom right;\r\n }\r\n }\r\n @keyframes fb_bounce_out_from_left {\r\n 0% {\r\n opacity: 1;\r\n transform: scale(1, 1);\r\n transform-origin: bottom left;\r\n }\r\n 100% {\r\n opacity: 0;\r\n transform: scale(0, 0);\r\n transform-origin: bottom left;\r\n }\r\n }\r\n @keyframes slideInFromBottom {\r\n 0% {\r\n opacity: 0.1;\r\n transform: translateY(100%);\r\n }\r\n 100% {\r\n opacity: 1;\r\n transform: translateY(0);\r\n }\r\n }\r\n @keyframes slideInFromBottomDelay {\r\n 0% {\r\n opacity: 0;\r\n transform: translateY(100%);\r\n }\r\n 97% {\r\n opacity: 0;\r\n transform: translateY(100%);\r\n }\r\n 100% {\r\n opacity: 1;\r\n transform: translateY(0);\r\n }\r\n }`,\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Consenso all'uso di cookie

\r\n
\r\n

\r\n Questo sito utilizza cookie tecnici e, previo consenso\r\n dell’utente, cookie di profilazione al fine di inviare\r\n comunicazioni pubblicitarie personalizzate e consente anche\r\n l'invio di cookie di \"terze parti\" (impostati da un sito web\r\n diverso da quello visitato). L'uso dei cookie ha la durata\r\n di 1 anno.\r\n

\r\n
\r\n
\r\n

\r\n Questo sito utilizza cookie tecnici e, previo consenso\r\n dell’utente, cookie di profilazione al fine di inviare\r\n comunicazioni pubblicitarie personalizzate e consente anche\r\n l'invio di cookie di \"terze parti\" (impostati da un sito web\r\n diverso da quello visitato). L'uso dei cookie ha la\r\n durata di 1 anno.\r\n
\r\n

\r\n
\r\n
\r\n
\r\n !\r\n
\r\n
\r\n \r\n

\r\n Cliccando sulla [x] di chiusura del banner, non\r\n acconsenti all’uso dei cookie di profilazione.\r\n
\r\n Non potremo, perciò, personalizzare la tua esperienza di\r\n navigazione, né offrirti prodotti o servizi in linea con\r\n le tue preferenze o i tuoi comportamenti online.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n

\r\n È possibile consultare l'informativa estesa, prestare o meno\r\n il consenso ai cookie o personalizzarne la configurazione e\r\n modificare le proprie scelte in qualsiasi momento accedendo\r\n alla sezione dedicata (\r\n \r\n Privacy \r\n \r\n - \r\n \r\n Cookie policy\r\n \r\n ).\r\n
\r\n

\r\n\r\n

\r\n Per accettare tutti i cookie, clicca sul pulsante\r\n “Acconsento”.\r\n

\r\n
\r\n
\r\n \r\n \r\n Più opzioni\r\n \r\n
\r\n \r\n false}\r\n >\r\n Acconsento\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n -1 &&\r\n document.querySelector(\".text-date\") != null\r\n ) {\r\n document.querySelector(\".text-date\").innerHTML =\r\n \"Data ultimo aggiornamento 16 dicembre 2010 alle ore 17:15:42\";\r\n } else if (\r\n window.location.pathname.indexOf(\r\n \"/content/portalgroup/it/homepage/investor-relations/comunicati-stampa-price-sensitive/storico-banca-intesa\"\r\n ) > -1 &&\r\n document.querySelector(\".text-date\") != null\r\n ) {\r\n document.querySelector(\".text-date\").innerHTML =\r\n \"Data ultimo aggiornamento 16 dicembre 2010 alle ore 17:15:42\";\r\n } else if (\r\n window.location.pathname.indexOf(\r\n \"/en/investor-relations/press-releases/archive-banca-intesa\"\r\n ) > -1 &&\r\n document.querySelector(\".text-date\") != null\r\n ) {\r\n document.querySelector(\".text-date\").innerHTML =\r\n \"Last updated 16 December 2010 at 17:15:42\";\r\n } else if (\r\n window.location.pathname.indexOf(\r\n \"/content/portalgroup/en/homepage/investor-relations/press-releases/archive-banca-intesa\"\r\n ) > -1 &&\r\n document.querySelector(\".text-date\") != null\r\n ) {\r\n document.querySelector(\".text-date\").innerHTML =\r\n \"Last updated 16 December 2010 at 17:15:42\";\r\n }\r\n });`,\r\n }}\r\n >\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n {/** */}\r\n atom/icon/search\r\n Created with Sketch.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/** */}\r\n atom/icon/close-menu\r\n Created with Sketch.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n

\r\n premi Invio per cercare o ESC per chiudere\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
    \r\n
    \r\n
    \r\n
    \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Homepage\r\n \r\n
\r\n\r\n
\r\n \r\n Sostenibilità\r\n \r\n
\r\n\r\n
\r\n \r\n Dichiarazione Consolidata Non Finanziaria\r\n \r\n
\r\n\r\n \r\n DCNF 2021 Interattiva\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Seguici anche su\r\n \r\n \r\n {/** */}\r\n atom/icon/social_FB\r\n Created with Sketch.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/** */}\r\n atom/icon/social_YT\r\n Created with Sketch.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/** */}\r\n atom/icon/social_TW\r\n Created with Sketch.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/** */}\r\n atom/icon/social_IN\r\n Created with Sketch.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/** */}\r\n atom/icon/social_Instagram\r\n Created with Sketch.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n per le PMI del Ministero dello Sviluppo Economico\r\n (Legge 662/96 )\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Copyright 2019 © Intesa Sanpaolo\r\n

\r\n

\r\n Stampa del 13/5/2022 alle 21:52:54\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default React.memo(Simulator);\r\n","import React, { Fragment, useEffect } from \"react\";\r\nimport { appendScript } from \"./../utils\";\r\nimport configuration from \"./../configuration.json\";\r\n\r\nconst Main = (props) => {\r\n useEffect(() => {\r\n switch (configuration.menu.positioning.algorithm) {\r\n case configuration.menu.positioning.algorithms.Infer:\r\n if (process.env.NODE_ENV !== \"production\") {\r\n appendScript({ src: \"/iframeResizer.contentWindow.js\" });\r\n } else {\r\n appendScript({ src: \"/iframeResizer.contentWindow.min.js\" });\r\n }\r\n\r\n break;\r\n\r\n case configuration.menu.positioning.algorithms.AutoResizer:\r\n appendScript({ src: \"/autoresizer.js\" });\r\n return () => {\r\n if (window.autoResizer) {\r\n window.autoResizer.unregister();\r\n }\r\n };\r\n\r\n default:\r\n break;\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/**\r\n manifest.json provides metadata used when your web app is installed on a\r\n user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/\r\n */}\r\n \r\n {/**\r\n Notice the use of %PUBLIC_URL% in the tags above.\r\n It will be replaced with the URL of the `public` folder during the build.\r\n Only files inside the `public` folder can be referenced from the HTML.\r\n\r\n Unlike \"/favicon.ico\" or \"favicon.ico\", \"%PUBLIC_URL%/favicon.ico\" will\r\n work correctly both with client-side routing and a non-root public URL.\r\n Learn how to configure a non-root public URL by running `npm run build`.\r\n */}\r\n \r\n \r\n \r\n DCNF 2021 Interattiva\r\n \r\n \r\n {/**\r\n \r\n This HTML file is a template.\r\n If you open it directly in the browser, you will see an empty page.\r\n\r\n You can add webfonts, meta tags, or analytics to this file.\r\n The build step will place the bundled scripts into the tag.\r\n\r\n To begin the development, run `npm start` or `yarn start`.\r\n To create a production bundle, use `npm run build` or `yarn build`.\r\n */}\r\n
{props.children}
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default React.memo(Main);\r\n","import { useEffect } from \"react\";\r\nimport { useLocation } from \"react-router\";\r\nimport { Retry } from \"../utils\";\r\nimport configuration from \"../configuration.json\";\r\n\r\nconst ScrollToTop = (props) => {\r\n const { smoothly } = props;\r\n const location = useLocation();\r\n\r\n const scrolling = {\r\n top: 0,\r\n left: 0,\r\n behavior: smoothly ? \"smooth\" : \"auto\",\r\n };\r\n\r\n const autoScrollParent = () => {\r\n switch (configuration.menu.positioning.algorithm) {\r\n case configuration.menu.positioning.algorithms.AutoResizer:\r\n retry.start({\r\n condition: () => window.autoResizer,\r\n onSuccess: () => window.autoResizer.parentScrollTo(scrolling),\r\n onFailure: () =>\r\n console.debug(\"autoResizer not found in ScrollToTop.jsx:24\"),\r\n });\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const retry = new Retry(\"ScrollToTop\");\r\n\r\n const disableScrollRestoration = () => {\r\n if (\"scrollRestoration\" in window.history) {\r\n // Back off, browser, I got this...\r\n window.history.scrollRestoration = \"manual\";\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n retry.register();\r\n disableScrollRestoration();\r\n window.scrollTo(scrolling);\r\n disableScrollRestoration();\r\n autoScrollParent();\r\n\r\n return () => {\r\n retry.unregister();\r\n };\r\n }, [location]);\r\n\r\n return null;\r\n};\r\n\r\nexport default ScrollToTop;\r\n","import React from \"react\";\r\nimport { BrowserRouter, Route, Routes, Navigate } from \"react-router-dom\";\r\nimport Home from \"./containers/Home\";\r\nimport GroupValue from \"./containers/GroupValue\";\r\nimport IntegrityPage from \"./containers/IntegrityPage\";\r\nimport ServiceQuality from \"./containers/ServiceQuality\";\r\nimport InnovationTransformation from \"./containers/InnovationTransformation\";\r\nimport FinancialInclusion from \"./containers/FinancialInclusion\";\r\nimport InvestmentInsurance from \"./containers/InvestmentInsurance\";\r\nimport CommunitySupport from \"./containers/CommunitySupport\";\r\nimport JobProtection from \"./containers/JobProtection\";\r\nimport DiversityInclusion from \"./containers/DiversityInclusion\";\r\nimport HealthSafety from \"./containers/HealthSafety\";\r\nimport GreenTransition from \"./containers/GreenTransition\";\r\nimport ClimateChange from \"./containers/ClimateChange\";\r\nimport Covid19 from \"./containers/Covid19\";\r\nimport DownloadSection from \"./components/DownloadSection\";\r\n\r\nimport Simulator from \"./pages/Simulator\";\r\nimport Main from \"./pages/Main\";\r\n\r\nimport ScrollToTop from \"./components/ScrollToTop\";\r\n\r\nfunction App() {\r\n return (\r\n <>\r\n \r\n \r\n \r\n } />\r\n \r\n \r\n \r\n \r\n }\r\n />\r\n \r\n \r\n \r\n \r\n }\r\n />\r\n \r\n \r\n \r\n \r\n }\r\n />\r\n \r\n \r\n \r\n \r\n }\r\n />\r\n \r\n \r\n \r\n \r\n }\r\n />\r\n \r\n \r\n \r\n \r\n }\r\n />\r\n \r\n \r\n \r\n \r\n }\r\n />\r\n \r\n \r\n \r\n \r\n }\r\n />\r\n \r\n \r\n \r\n \r\n }\r\n />\r\n \r\n \r\n \r\n \r\n }\r\n />\r\n \r\n \r\n \r\n \r\n }\r\n />\r\n \r\n \r\n \r\n \r\n }\r\n />\r\n \r\n \r\n \r\n \r\n }\r\n />\r\n \r\n \r\n \r\n \r\n }\r\n />\r\n \r\n \r\n \r\n \r\n }\r\n />\r\n } />\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default App;\r\n","const reportWebVitals = onPerfEntry => {\r\n if (onPerfEntry && onPerfEntry instanceof Function) {\r\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\r\n getCLS(onPerfEntry);\r\n getFID(onPerfEntry);\r\n getFCP(onPerfEntry);\r\n getLCP(onPerfEntry);\r\n getTTFB(onPerfEntry);\r\n });\r\n }\r\n};\r\n\r\nexport default reportWebVitals;\r\n","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nvar arr = [];\nvar each = arr.forEach;\nvar slice = arr.slice;\nexport function defaults(obj) {\n each.call(slice.call(arguments, 1), function (source) {\n if (source) {\n for (var prop in source) {\n if (obj[prop] === undefined) obj[prop] = source[prop];\n }\n }\n });\n return obj;\n}\nexport function hasXMLHttpRequest() {\n return typeof XMLHttpRequest === 'function' || (typeof XMLHttpRequest === \"undefined\" ? \"undefined\" : _typeof(XMLHttpRequest)) === 'object';\n}\n\nfunction isPromise(maybePromise) {\n return !!maybePromise && typeof maybePromise.then === 'function';\n}\n\nexport function makePromise(maybePromise) {\n if (isPromise(maybePromise)) {\n return maybePromise;\n }\n\n return Promise.resolve(maybePromise);\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nimport { defaults, hasXMLHttpRequest } from './utils.js';\nimport * as fetchNode from './getFetch.cjs';\nvar fetchApi;\n\nif (typeof fetch === 'function') {\n if (typeof global !== 'undefined' && global.fetch) {\n fetchApi = global.fetch;\n } else if (typeof window !== 'undefined' && window.fetch) {\n fetchApi = window.fetch;\n }\n}\n\nvar XmlHttpRequestApi;\n\nif (hasXMLHttpRequest) {\n if (typeof global !== 'undefined' && global.XMLHttpRequest) {\n XmlHttpRequestApi = global.XMLHttpRequest;\n } else if (typeof window !== 'undefined' && window.XMLHttpRequest) {\n XmlHttpRequestApi = window.XMLHttpRequest;\n }\n}\n\nvar ActiveXObjectApi;\n\nif (typeof ActiveXObject === 'function') {\n if (typeof global !== 'undefined' && global.ActiveXObject) {\n ActiveXObjectApi = global.ActiveXObject;\n } else if (typeof window !== 'undefined' && window.ActiveXObject) {\n ActiveXObjectApi = window.ActiveXObject;\n }\n}\n\nif (!fetchApi && fetchNode && !XmlHttpRequestApi && !ActiveXObjectApi) fetchApi = fetchNode.default || fetchNode;\nif (typeof fetchApi !== 'function') fetchApi = undefined;\n\nvar addQueryString = function addQueryString(url, params) {\n if (params && _typeof(params) === 'object') {\n var queryString = '';\n\n for (var paramName in params) {\n queryString += '&' + encodeURIComponent(paramName) + '=' + encodeURIComponent(params[paramName]);\n }\n\n if (!queryString) return url;\n url = url + (url.indexOf('?') !== -1 ? '&' : '?') + queryString.slice(1);\n }\n\n return url;\n};\n\nvar requestWithFetch = function requestWithFetch(options, url, payload, callback) {\n if (options.queryStringParams) {\n url = addQueryString(url, options.queryStringParams);\n }\n\n var headers = defaults({}, typeof options.customHeaders === 'function' ? options.customHeaders() : options.customHeaders);\n if (payload) headers['Content-Type'] = 'application/json';\n fetchApi(url, defaults({\n method: payload ? 'POST' : 'GET',\n body: payload ? options.stringify(payload) : undefined,\n headers: headers\n }, typeof options.requestOptions === 'function' ? options.requestOptions(payload) : options.requestOptions)).then(function (response) {\n if (!response.ok) return callback(response.statusText || 'Error', {\n status: response.status\n });\n response.text().then(function (data) {\n callback(null, {\n status: response.status,\n data: data\n });\n }).catch(callback);\n }).catch(callback);\n};\n\nvar requestWithXmlHttpRequest = function requestWithXmlHttpRequest(options, url, payload, callback) {\n if (payload && _typeof(payload) === 'object') {\n payload = addQueryString('', payload).slice(1);\n }\n\n if (options.queryStringParams) {\n url = addQueryString(url, options.queryStringParams);\n }\n\n try {\n var x;\n\n if (XmlHttpRequestApi) {\n x = new XmlHttpRequestApi();\n } else {\n x = new ActiveXObjectApi('MSXML2.XMLHTTP.3.0');\n }\n\n x.open(payload ? 'POST' : 'GET', url, 1);\n\n if (!options.crossDomain) {\n x.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n\n x.withCredentials = !!options.withCredentials;\n\n if (payload) {\n x.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');\n }\n\n if (x.overrideMimeType) {\n x.overrideMimeType('application/json');\n }\n\n var h = options.customHeaders;\n h = typeof h === 'function' ? h() : h;\n\n if (h) {\n for (var i in h) {\n x.setRequestHeader(i, h[i]);\n }\n }\n\n x.onreadystatechange = function () {\n x.readyState > 3 && callback(x.status >= 400 ? x.statusText : null, {\n status: x.status,\n data: x.responseText\n });\n };\n\n x.send(payload);\n } catch (e) {\n console && console.log(e);\n }\n};\n\nvar request = function request(options, url, payload, callback) {\n if (typeof payload === 'function') {\n callback = payload;\n payload = undefined;\n }\n\n callback = callback || function () {};\n\n if (fetchApi) {\n return requestWithFetch(options, url, payload, callback);\n }\n\n if (hasXMLHttpRequest || typeof ActiveXObject === 'function') {\n return requestWithXmlHttpRequest(options, url, payload, callback);\n }\n};\n\nexport default request;","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { defaults, makePromise } from './utils.js';\nimport request from './request.js';\n\nvar getDefaults = function getDefaults() {\n return {\n loadPath: '/locales/{{lng}}/{{ns}}.json',\n addPath: '/locales/add/{{lng}}/{{ns}}',\n allowMultiLoading: false,\n parse: function parse(data) {\n return JSON.parse(data);\n },\n stringify: JSON.stringify,\n parsePayload: function parsePayload(namespace, key, fallbackValue) {\n return _defineProperty({}, key, fallbackValue || '');\n },\n request: request,\n reloadInterval: typeof window !== 'undefined' ? false : 60 * 60 * 1000,\n customHeaders: {},\n queryStringParams: {},\n crossDomain: false,\n withCredentials: false,\n overrideMimeType: false,\n requestOptions: {\n mode: 'cors',\n credentials: 'same-origin',\n cache: 'default'\n }\n };\n};\n\nvar Backend = function () {\n function Backend(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var allOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n _classCallCheck(this, Backend);\n\n this.services = services;\n this.options = options;\n this.allOptions = allOptions;\n this.type = 'backend';\n this.init(services, options, allOptions);\n }\n\n _createClass(Backend, [{\n key: \"init\",\n value: function init(services) {\n var _this = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var allOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.services = services;\n this.options = defaults(options, this.options || {}, getDefaults());\n this.allOptions = allOptions;\n\n if (this.services && this.options.reloadInterval) {\n setInterval(function () {\n return _this.reload();\n }, this.options.reloadInterval);\n }\n }\n }, {\n key: \"readMulti\",\n value: function readMulti(languages, namespaces, callback) {\n this._readAny(languages, languages, namespaces, namespaces, callback);\n }\n }, {\n key: \"read\",\n value: function read(language, namespace, callback) {\n this._readAny([language], language, [namespace], namespace, callback);\n }\n }, {\n key: \"_readAny\",\n value: function _readAny(languages, loadUrlLanguages, namespaces, loadUrlNamespaces, callback) {\n var _this2 = this;\n\n var loadPath = this.options.loadPath;\n\n if (typeof this.options.loadPath === 'function') {\n loadPath = this.options.loadPath(languages, namespaces);\n }\n\n loadPath = makePromise(loadPath);\n loadPath.then(function (resolvedLoadPath) {\n if (!resolvedLoadPath) return callback(null, {});\n\n var url = _this2.services.interpolator.interpolate(resolvedLoadPath, {\n lng: languages.join('+'),\n ns: namespaces.join('+')\n });\n\n _this2.loadUrl(url, callback, loadUrlLanguages, loadUrlNamespaces);\n });\n }\n }, {\n key: \"loadUrl\",\n value: function loadUrl(url, callback, languages, namespaces) {\n var _this3 = this;\n\n this.options.request(this.options, url, undefined, function (err, res) {\n if (res && (res.status >= 500 && res.status < 600 || !res.status)) return callback('failed loading ' + url + '; status code: ' + res.status, true);\n if (res && res.status >= 400 && res.status < 500) return callback('failed loading ' + url + '; status code: ' + res.status, false);\n if (!res && err && err.message && err.message.indexOf('Failed to fetch') > -1) return callback('failed loading ' + url + ': ' + err.message, true);\n if (err) return callback(err, false);\n var ret, parseErr;\n\n try {\n if (typeof res.data === 'string') {\n ret = _this3.options.parse(res.data, languages, namespaces);\n } else {\n ret = res.data;\n }\n } catch (e) {\n parseErr = 'failed parsing ' + url + ' to json';\n }\n\n if (parseErr) return callback(parseErr, false);\n callback(null, ret);\n });\n }\n }, {\n key: \"create\",\n value: function create(languages, namespace, key, fallbackValue, callback) {\n var _this4 = this;\n\n if (!this.options.addPath) return;\n if (typeof languages === 'string') languages = [languages];\n var payload = this.options.parsePayload(namespace, key, fallbackValue);\n var finished = 0;\n var dataArray = [];\n var resArray = [];\n languages.forEach(function (lng) {\n var addPath = _this4.options.addPath;\n\n if (typeof _this4.options.addPath === 'function') {\n addPath = _this4.options.addPath(lng, namespace);\n }\n\n var url = _this4.services.interpolator.interpolate(addPath, {\n lng: lng,\n ns: namespace\n });\n\n _this4.options.request(_this4.options, url, payload, function (data, res) {\n finished += 1;\n dataArray.push(data);\n resArray.push(res);\n\n if (finished === languages.length) {\n if (callback) callback(dataArray, resArray);\n }\n });\n });\n }\n }, {\n key: \"reload\",\n value: function reload() {\n var _this5 = this;\n\n var _this$services = this.services,\n backendConnector = _this$services.backendConnector,\n languageUtils = _this$services.languageUtils,\n logger = _this$services.logger;\n var currentLanguage = backendConnector.language;\n if (currentLanguage && currentLanguage.toLowerCase() === 'cimode') return;\n var toLoad = [];\n\n var append = function append(lng) {\n var lngs = languageUtils.toResolveHierarchy(lng);\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n\n append(currentLanguage);\n if (this.allOptions.preload) this.allOptions.preload.forEach(function (l) {\n return append(l);\n });\n toLoad.forEach(function (lng) {\n _this5.allOptions.ns.forEach(function (ns) {\n backendConnector.read(lng, ns, 'read', null, null, function (err, data) {\n if (err) logger.warn(\"loading namespace \".concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) logger.log(\"loaded namespace \".concat(ns, \" for language \").concat(lng), data);\n backendConnector.loaded(\"\".concat(lng, \"|\").concat(ns), err, data);\n });\n });\n });\n }\n }]);\n\n return Backend;\n}();\n\nBackend.type = 'backend';\nexport default Backend;","import _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\n\nvar arr = [];\nvar each = arr.forEach;\nvar slice = arr.slice;\nfunction defaults(obj) {\n each.call(slice.call(arguments, 1), function (source) {\n if (source) {\n for (var prop in source) {\n if (obj[prop] === undefined) obj[prop] = source[prop];\n }\n }\n });\n return obj;\n}\n\n// eslint-disable-next-line no-control-regex\nvar fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\n\nvar serializeCookie = function serializeCookie(name, val, options) {\n var opt = options || {};\n opt.path = opt.path || '/';\n var value = encodeURIComponent(val);\n var str = name + '=' + value;\n\n if (opt.maxAge > 0) {\n var maxAge = opt.maxAge - 0;\n if (isNaN(maxAge)) throw new Error('maxAge should be a Number');\n str += '; Max-Age=' + Math.floor(maxAge);\n }\n\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n\n str += '; Domain=' + opt.domain;\n }\n\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n\n str += '; Path=' + opt.path;\n }\n\n if (opt.expires) {\n if (typeof opt.expires.toUTCString !== 'function') {\n throw new TypeError('option expires is invalid');\n }\n\n str += '; Expires=' + opt.expires.toUTCString();\n }\n\n if (opt.httpOnly) str += '; HttpOnly';\n if (opt.secure) str += '; Secure';\n\n if (opt.sameSite) {\n var sameSite = typeof opt.sameSite === 'string' ? opt.sameSite.toLowerCase() : opt.sameSite;\n\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n\n case 'lax':\n str += '; SameSite=Lax';\n break;\n\n case 'strict':\n str += '; SameSite=Strict';\n break;\n\n case 'none':\n str += '; SameSite=None';\n break;\n\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n\n return str;\n};\n\nvar cookie = {\n create: function create(name, value, minutes, domain) {\n var cookieOptions = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n path: '/',\n sameSite: 'strict'\n };\n\n if (minutes) {\n cookieOptions.expires = new Date();\n cookieOptions.expires.setTime(cookieOptions.expires.getTime() + minutes * 60 * 1000);\n }\n\n if (domain) cookieOptions.domain = domain;\n document.cookie = serializeCookie(name, encodeURIComponent(value), cookieOptions);\n },\n read: function read(name) {\n var nameEQ = name + '=';\n var ca = document.cookie.split(';');\n\n for (var i = 0; i < ca.length; i++) {\n var c = ca[i];\n\n while (c.charAt(0) === ' ') {\n c = c.substring(1, c.length);\n }\n\n if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);\n }\n\n return null;\n },\n remove: function remove(name) {\n this.create(name, '', -1);\n }\n};\nvar cookie$1 = {\n name: 'cookie',\n lookup: function lookup(options) {\n var found;\n\n if (options.lookupCookie && typeof document !== 'undefined') {\n var c = cookie.read(options.lookupCookie);\n if (c) found = c;\n }\n\n return found;\n },\n cacheUserLanguage: function cacheUserLanguage(lng, options) {\n if (options.lookupCookie && typeof document !== 'undefined') {\n cookie.create(options.lookupCookie, lng, options.cookieMinutes, options.cookieDomain, options.cookieOptions);\n }\n }\n};\n\nvar querystring = {\n name: 'querystring',\n lookup: function lookup(options) {\n var found;\n\n if (typeof window !== 'undefined') {\n var search = window.location.search;\n\n if (!window.location.search && window.location.hash && window.location.hash.indexOf('?') > -1) {\n search = window.location.hash.substring(window.location.hash.indexOf('?'));\n }\n\n var query = search.substring(1);\n var params = query.split('&');\n\n for (var i = 0; i < params.length; i++) {\n var pos = params[i].indexOf('=');\n\n if (pos > 0) {\n var key = params[i].substring(0, pos);\n\n if (key === options.lookupQuerystring) {\n found = params[i].substring(pos + 1);\n }\n }\n }\n }\n\n return found;\n }\n};\n\nvar hasLocalStorageSupport = null;\n\nvar localStorageAvailable = function localStorageAvailable() {\n if (hasLocalStorageSupport !== null) return hasLocalStorageSupport;\n\n try {\n hasLocalStorageSupport = window !== 'undefined' && window.localStorage !== null;\n var testKey = 'i18next.translate.boo';\n window.localStorage.setItem(testKey, 'foo');\n window.localStorage.removeItem(testKey);\n } catch (e) {\n hasLocalStorageSupport = false;\n }\n\n return hasLocalStorageSupport;\n};\n\nvar localStorage = {\n name: 'localStorage',\n lookup: function lookup(options) {\n var found;\n\n if (options.lookupLocalStorage && localStorageAvailable()) {\n var lng = window.localStorage.getItem(options.lookupLocalStorage);\n if (lng) found = lng;\n }\n\n return found;\n },\n cacheUserLanguage: function cacheUserLanguage(lng, options) {\n if (options.lookupLocalStorage && localStorageAvailable()) {\n window.localStorage.setItem(options.lookupLocalStorage, lng);\n }\n }\n};\n\nvar hasSessionStorageSupport = null;\n\nvar sessionStorageAvailable = function sessionStorageAvailable() {\n if (hasSessionStorageSupport !== null) return hasSessionStorageSupport;\n\n try {\n hasSessionStorageSupport = window !== 'undefined' && window.sessionStorage !== null;\n var testKey = 'i18next.translate.boo';\n window.sessionStorage.setItem(testKey, 'foo');\n window.sessionStorage.removeItem(testKey);\n } catch (e) {\n hasSessionStorageSupport = false;\n }\n\n return hasSessionStorageSupport;\n};\n\nvar sessionStorage = {\n name: 'sessionStorage',\n lookup: function lookup(options) {\n var found;\n\n if (options.lookupSessionStorage && sessionStorageAvailable()) {\n var lng = window.sessionStorage.getItem(options.lookupSessionStorage);\n if (lng) found = lng;\n }\n\n return found;\n },\n cacheUserLanguage: function cacheUserLanguage(lng, options) {\n if (options.lookupSessionStorage && sessionStorageAvailable()) {\n window.sessionStorage.setItem(options.lookupSessionStorage, lng);\n }\n }\n};\n\nvar navigator$1 = {\n name: 'navigator',\n lookup: function lookup(options) {\n var found = [];\n\n if (typeof navigator !== 'undefined') {\n if (navigator.languages) {\n // chrome only; not an array, so can't use .push.apply instead of iterating\n for (var i = 0; i < navigator.languages.length; i++) {\n found.push(navigator.languages[i]);\n }\n }\n\n if (navigator.userLanguage) {\n found.push(navigator.userLanguage);\n }\n\n if (navigator.language) {\n found.push(navigator.language);\n }\n }\n\n return found.length > 0 ? found : undefined;\n }\n};\n\nvar htmlTag = {\n name: 'htmlTag',\n lookup: function lookup(options) {\n var found;\n var htmlTag = options.htmlTag || (typeof document !== 'undefined' ? document.documentElement : null);\n\n if (htmlTag && typeof htmlTag.getAttribute === 'function') {\n found = htmlTag.getAttribute('lang');\n }\n\n return found;\n }\n};\n\nvar path = {\n name: 'path',\n lookup: function lookup(options) {\n var found;\n\n if (typeof window !== 'undefined') {\n var language = window.location.pathname.match(/\\/([a-zA-Z-]*)/g);\n\n if (language instanceof Array) {\n if (typeof options.lookupFromPathIndex === 'number') {\n if (typeof language[options.lookupFromPathIndex] !== 'string') {\n return undefined;\n }\n\n found = language[options.lookupFromPathIndex].replace('/', '');\n } else {\n found = language[0].replace('/', '');\n }\n }\n }\n\n return found;\n }\n};\n\nvar subdomain = {\n name: 'subdomain',\n lookup: function lookup(options) {\n var found;\n\n if (typeof window !== 'undefined') {\n var language = window.location.href.match(/(?:http[s]*\\:\\/\\/)*(.*?)\\.(?=[^\\/]*\\..{2,5})/gi);\n\n if (language instanceof Array) {\n if (typeof options.lookupFromSubdomainIndex === 'number') {\n found = language[options.lookupFromSubdomainIndex].replace('http://', '').replace('https://', '').replace('.', '');\n } else {\n found = language[0].replace('http://', '').replace('https://', '').replace('.', '');\n }\n }\n }\n\n return found;\n }\n};\n\nfunction getDefaults() {\n return {\n order: ['querystring', 'cookie', 'localStorage', 'sessionStorage', 'navigator', 'htmlTag'],\n lookupQuerystring: 'lng',\n lookupCookie: 'i18next',\n lookupLocalStorage: 'i18nextLng',\n lookupSessionStorage: 'i18nextLng',\n // cache user language\n caches: ['localStorage'],\n excludeCacheFor: ['cimode'] //cookieMinutes: 10,\n //cookieDomain: 'myDomain'\n\n };\n}\n\nvar Browser = /*#__PURE__*/function () {\n function Browser(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Browser);\n\n this.type = 'languageDetector';\n this.detectors = {};\n this.init(services, options);\n }\n\n _createClass(Browser, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.services = services;\n this.options = defaults(options, this.options || {}, getDefaults()); // backwards compatibility\n\n if (this.options.lookupFromUrlIndex) this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex;\n this.i18nOptions = i18nOptions;\n this.addDetector(cookie$1);\n this.addDetector(querystring);\n this.addDetector(localStorage);\n this.addDetector(sessionStorage);\n this.addDetector(navigator$1);\n this.addDetector(htmlTag);\n this.addDetector(path);\n this.addDetector(subdomain);\n }\n }, {\n key: \"addDetector\",\n value: function addDetector(detector) {\n this.detectors[detector.name] = detector;\n }\n }, {\n key: \"detect\",\n value: function detect(detectionOrder) {\n var _this = this;\n\n if (!detectionOrder) detectionOrder = this.options.order;\n var detected = [];\n detectionOrder.forEach(function (detectorName) {\n if (_this.detectors[detectorName]) {\n var lookup = _this.detectors[detectorName].lookup(_this.options);\n\n if (lookup && typeof lookup === 'string') lookup = [lookup];\n if (lookup) detected = detected.concat(lookup);\n }\n });\n if (this.services.languageUtils.getBestMatchFromCodes) return detected; // new i18next v19.5.0\n\n return detected.length > 0 ? detected[0] : null; // a little backward compatibility\n }\n }, {\n key: \"cacheUserLanguage\",\n value: function cacheUserLanguage(lng, caches) {\n var _this2 = this;\n\n if (!caches) caches = this.options.caches;\n if (!caches) return;\n if (this.options.excludeCacheFor && this.options.excludeCacheFor.indexOf(lng) > -1) return;\n caches.forEach(function (cacheName) {\n if (_this2.detectors[cacheName]) _this2.detectors[cacheName].cacheUserLanguage(lng, _this2.options);\n });\n }\n }]);\n\n return Browser;\n}();\n\nBrowser.type = 'languageDetector';\n\nexport { Browser as default };\n","import i18n from \"i18next\";\r\nimport { initReactI18next } from \"react-i18next\";\r\n\r\nimport Backend from \"i18next-http-backend\";\r\n// import Fetch from \"i18next-fetch-backend\";\r\nimport LanguageDetector from \"i18next-browser-languagedetector\";\r\n// don't want to use this?\r\n// have a look at the Quick start guide\r\n// for passing in lng and translations on init\r\n\r\nconst languages = [\"en\", \"it\"];\r\n\r\nconst options = {\r\n react: {\r\n useSuspense: false,\r\n wait: false,\r\n },\r\n detection: {\r\n order: [\"path\", \"querystring\"],\r\n lookupFromPathIndex: 0,\r\n lookupQuerystring: \"lng\",\r\n caches: false,\r\n },\r\n ns: [\"translation\"],\r\n defaultNS: \"translation\",\r\n fallbackLng: \"en\",\r\n supportedLngs: languages,\r\n preload: languages,\r\n lowerCaseLng: true,\r\n cleanCode: true,\r\n ignoreJSONStructure: false,\r\n backend: {\r\n // init option for fetch, for example\r\n requestOptions: {\r\n mode: \"cors\",\r\n credentials: \"same-origin\",\r\n cache: \"default\",\r\n },\r\n },\r\n debug: true,\r\n};\r\n\r\ni18n\r\n // load translation using http -> see /public/locales (i.e. https://github.com/i18next/react-i18next/tree/master/example/react/public/locales)\r\n // learn more: https://github.com/i18next/i18next-http-backend\r\n // want your translations to be loaded from a professional CDN? => https://github.com/locize/react-tutorial#step-2---use-the-locize-cdn\r\n .use(Backend)\r\n // .use(Fetch)\r\n // detect user language\r\n // learn more: https://github.com/i18next/i18next-browser-languageDetector\r\n .use(LanguageDetector)\r\n // pass the i18n instance to react-i18next.\r\n .use(initReactI18next)\r\n // init i18next\r\n // for all options read: https://www.i18next.com/overview/configuration-options\r\n .init(options, (err, t) => {\r\n if (err) return console.log(\"something went wrong loading\", err);\r\n i18n.languages = languages;\r\n // i18n.changeLanguage(\"it\"); // t -> same as i18next.t\r\n });\r\n\r\nexport default i18n;\r\n","import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport \"./index.css\";\r\nimport App from \"./App\";\r\nimport reportWebVitals from \"./reportWebVitals\";\r\n\r\n// import i18n (needs to be bundled ;))\r\nimport \"./i18n\";\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n document.getElementById(\"root\")\r\n);\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\nreportWebVitals();\r\n"],"names":["module","exports","arr","len","length","i","arr2","Array","__esModule","unsupportedIterableToArray","o","allowArrayLike","it","Symbol","iterator","isArray","F","s","n","done","value","e","_e","f","TypeError","err","normalCompletion","didErr","call","step","next","_e2","arrayLikeToArray","minLen","Object","prototype","toString","slice","constructor","name","from","test","defineProperty","_typeof","obj","isBrowser","window","document","isWebWorker","self","isNode","process","versions","node","isJsDom","navigator","userAgent","includes","hasOwn","hasOwnProperty","classNames","classes","arguments","arg","argType","push","inner","apply","key","join","default","_assign","require","emptyObject","_invariant","condition","format","a","b","c","d","error","undefined","Error","args","argIndex","replace","framesToPop","MIXINS_KEY","ReactComponent","isValidElement","ReactNoopUpdateQueue","injectedMixins","ReactClassInterface","mixins","statics","propTypes","contextTypes","childContextTypes","getDefaultProps","getInitialState","getChildContext","render","componentWillMount","componentDidMount","componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","componentDidUpdate","componentWillUnmount","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate","updateComponent","ReactClassStaticInterface","getDerivedStateFromProps","RESERVED_SPEC_KEYS","displayName","Constructor","mixSpecIntoComponent","createMergedResultFunction","property","mixStaticSpecIntoComponent","autobind","validateMethodOverride","isAlreadyDefined","specPolicy","ReactClassMixin","spec","proto","autoBindPairs","__reactAutoBindPairs","isReactClassMethod","createChainedFunction","mergeIntoWithNoDuplicateKeys","one","two","this","bindAutoBindMethod","component","method","bind","IsMountedPreMixin","__isMounted","IsMountedPostMixin","replaceState","newState","callback","updater","enqueueReplaceState","isMounted","ReactClassComponent","props","context","pairs","autoBindKey","bindAutoBindMethods","refs","state","initialState","methodName","forEach","defaultProps","canUseDOM","createElement","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","addEventListener","attachEvent","canUseViewport","screen","define","equal","keys","Map","size","entries","has","get","Set","ArrayBuffer","isView","RegExp","source","flags","valueOf","$$typeof","makeEmptyFunction","emptyFunction","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","warning","HASH_UNDEFINED","MAX_SAFE_INTEGER","argsTag","boolTag","dateTag","funcTag","genTag","mapTag","numberTag","objectTag","promiseTag","regexpTag","setTag","stringTag","symbolTag","weakMapTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","reFlags","reIsHostCtor","reIsUint","cloneableTags","freeGlobal","global","freeSelf","root","Function","freeExports","nodeType","freeModule","moduleExports","addMapEntry","map","pair","set","addSetEntry","add","arrayReduce","array","iteratee","accumulator","initAccum","index","isHostObject","result","mapToArray","overArg","func","transform","setToArray","arrayProto","funcProto","objectProto","coreJsData","maskSrcKey","uid","exec","IE_PROTO","funcToString","objectToString","reIsNative","Buffer","Uint8Array","getPrototype","getPrototypeOf","objectCreate","create","propertyIsEnumerable","splice","nativeGetSymbols","getOwnPropertySymbols","nativeIsBuffer","isBuffer","nativeKeys","DataView","getNative","Promise","WeakMap","nativeCreate","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","symbolValueOf","Hash","clear","entry","ListCache","MapCache","Stack","__data__","arrayLikeKeys","inherited","isObjectLike","isArrayLike","isArrayLikeObject","isArguments","baseTimes","String","skipIndexes","isIndex","assignValue","object","objValue","eq","assocIndexOf","baseClone","isDeep","isFull","customizer","stack","isObject","isArr","input","initCloneArray","copyArray","tag","getTag","isFunc","buffer","copy","cloneBuffer","isPrototype","initCloneObject","copyObject","getSymbols","copySymbols","baseAssign","cloneFunc","Ctor","cloneArrayBuffer","dataView","byteOffset","byteLength","cloneDataView","typedArray","cloneTypedArray","cloneMap","regexp","lastIndex","cloneRegExp","cloneSet","symbol","initCloneByTag","stacked","keysFunc","symbolsFunc","values","offset","arrayPush","baseGetAllKeys","getAllKeys","arrayEach","subValue","baseIsNative","isFunction","arrayBuffer","newValue","getMapData","data","type","isKeyable","getValue","pop","cache","LARGE_ARRAY_SIZE","other","resolve","ctorString","isLength","baseKeys","string","split","reAsciiWord","match","getRawTag","symToStringTag","toStringTag","start","end","arrayMap","isSymbol","symbolToString","baseToString","baseSlice","castSlice","hasUnicode","stringToArray","strSymbols","chr","charAt","trailing","deburr","words","reApos","deburrLetter","basePropertyOf","nativeObjectToString","isOwn","unmasked","reHasUnicode","reHasUnicodeWord","asciiToArray","unicodeToArray","rsAstral","rsCombo","rsFitz","rsNonAstral","rsRegional","rsSurrPair","reOptMod","rsOptVar","rsSeq","rsSymbol","reUnicode","rsDingbatRange","rsLowerRange","rsUpperRange","rsBreakRange","rsMathOpRange","rsBreak","rsDigits","rsDingbat","rsLower","rsMisc","rsUpper","rsMiscLower","rsMiscUpper","rsOptContrLower","rsOptContrUpper","rsModifier","rsEmoji","reUnicodeWord","capitalize","camelCase","createCompounder","word","toLowerCase","upperFirst","reLatin","reComboMark","baseGetTag","objectCtorString","createCaseFirst","asciiWords","hasUnicodeWord","unicodeWords","pattern","guard","factory","svgNS","locationHref","_useWebWorker","initialDefaultFrame","setWebWorker","flag","getWebWorker","setLocationHref","getLocationHref","createTag","extendPrototype","sources","destination","sourcePrototype","attr","getDescriptor","prop","getOwnPropertyDescriptor","createProxyFunction","ProxyFunction","audioControllerFactory","AudioController","audioFactory","audios","_volume","_isMuted","addAudio","audio","pause","resume","setRate","rateValue","createAudio","assetPath","Howl","src","isPlaying","play","seek","playing","rate","setVolume","setAudioFactory","_updateVolume","mute","unmute","getVolume","volume","createTypedArray","createRegularArray","Uint8ClampedArray","Float32Array","Int16Array","createSizedArray","_typeof$6","subframeEnabled","expressionsPlugin","idPrefix","isSafari","_shouldRoundValues","bmPow","Math","pow","bmSqrt","sqrt","bmFloor","floor","bmMax","max","bmMin","min","BMMath","ProjectInterface$1","propertyNames","random","abs","val","absArr","defaultCurveSegments","degToRads","PI","roundCorner","roundValues","bmRnd","round","styleDiv","element","style","position","top","left","display","transformOrigin","webkitTransformOrigin","backfaceVisibility","webkitBackfaceVisibility","transformStyle","webkitTransformStyle","mozTransformStyle","BMEnterFrameEvent","currentTime","totalTime","frameMultiplier","direction","BMCompleteEvent","BMCompleteLoopEvent","totalLoops","currentLoop","BMSegmentStartEvent","firstFrame","totalFrames","BMDestroyEvent","target","BMRenderFrameErrorEvent","nativeError","BMConfigErrorEvent","BMAnimationConfigErrorEvent","createElementID","_count","HSVtoRGB","h","v","r","g","p","q","t","RGBtoHSV","addSaturationToRGB","color","hsv","addBrightnessToRGB","addHueToRGB","rgbToHex","hex","colorMap","setSubframeEnabled","getSubframeEnabled","setExpressionsPlugin","getExpressionsPlugin","setDefaultCurveSegments","getDefaultCurveSegments","setIdPrefix","getIdPrefix","createNS","createElementNS","_typeof$5","dataManager","workerFn","workerInstance","_counterId","processes","workerProxy","onmessage","postMessage","path","_workerSelf","setupWorker","fn","Blob","blob","url","URL","createObjectURL","createWorker","completeLayers","layers","comps","layerData","j","jLen","k","kLen","completed","tt","td","hasMask","maskProps","masksProperties","pt","convertPathsToAbsoluteValues","ty","findCompLayers","refId","completeShapes","shapes","completeText","id","comp","findComp","__used","JSON","parse","stringify","ks","checkVersion","minimum","animVersionString","animVersion","checkText","minimumVersion","updateTextLayer","textLayer","documentData","iterateLayers","animationData","assets","checkChars","chars","charData","ip","op","st","sr","sk","sa","checkPathProperties","pathData","checkColors","iterateShapes","checkShapes","completeClosingShapes","closed","cl","moduleOb","__complete","completeChars","dataFunctionManager","assetLoader","formatResponse","xhr","contentTypeHeader","getResponseHeader","responseType","indexOf","response","responseText","load","fullPath","errorCallback","XMLHttpRequest","onreadystatechange","readyState","status","open","send","completeData","payload","animation","event","onComplete","onError","createProcess","loadAnimation","processId","location","origin","pathname","loadData","completeAnimation","anim","ImagePreloader","proxyImage","canvas","width","height","ctx","getContext","fillStyle","fillRect","imageLoaded","loadedAssets","totalImages","loadedFootagesCount","totalFootages","imagesLoadedCb","footageLoaded","getAssetsPath","assetData","assetsPath","originalPath","imagePath","u","testImageLoaded","img","intervalId","setInterval","getBBox","_imageLoaded","clearInterval","createFootageData","ob","footageData","_footageLoaded","ImagePreloaderFactory","images","loadAssets","cb","_createImageData","setAssetsPath","setPath","loadedImages","loadedFootages","destroy","getAsset","createImgData","crossOrigin","createImageData","setAttributeNS","_elementHelper","append","appendChild","setCacheType","elementHelper","BaseEvent","triggerEvent","eventName","_cbs","callbacks","removeEventListener","markerParser","parsePayloadLines","line","lines","keysCount","trim","_markers","markers","_marker","markerData","time","tm","duration","dr","cm","_","__","ProjectInterface","registerComposition","compositions","_thisProjectFunction","nm","prepareFrame","xt","currentFrame","compInterface","renderers","registerRenderer","getRenderer","_typeof$4","AnimationItem","isLoaded","currentRawFrame","frameRate","frameMult","playSpeed","playDirection","playCount","isPaused","autoplay","loop","renderer","animationID","timeCompleted","segmentPos","isSubframeEnabled","segments","_idle","_completedLoop","projectInterface","imagePreloader","audioController","configAnimation","onSetupError","onSegmentComplete","setParams","params","wrapper","container","animType","RendererClass","rendererSettings","globalData","defs","setProjectInterface","parseInt","autoloadSegments","initialSegment","setupAnimation","lastIndexOf","substr","fileName","trigger","setData","wrapperAttributes","attributes","getNamedItem","prerender","includeLayers","newLayers","fonts","fontManager","addChars","addFonts","initExpressions","loadNextSegment","segment","shift","segmentPath","loadSegments","imagesLoaded","checkLoaded","preloadImages","animData","fr","searchExtraCompositions","updaFrameModifier","waitForFontsLoaded","triggerConfigError","setTimeout","rendererType","initItems","gotoFrame","resize","updateContainerSize","setSubframe","renderFrame","triggerRenderFrameError","togglePause","stop","setCurrentRawFrameValue","getMarkerData","markerName","marker","goToAndStop","isFrame","numValue","Number","isNaN","frameModifier","goToAndPlay","playSegments","advanceTime","nextValue","_isComplete","checkSegments","adjustSegment","setSpeed","setDirection","setSegment","init","pendingFrame","forceFlag","resetSegments","onEnterFrame","onLoopComplete","onSegmentStart","onDestroy","getPath","getAssetData","hide","show","getDuration","animationManager","registeredAnimations","initTime","playingAnimationsNum","_stopped","_isFrozen","removeElement","ev","animItem","subtractPlayingCount","registerAnimation","elem","addPlayingCount","activate","nowTime","elapsedTime","requestAnimationFrame","first","searchAnimations","standalone","animElements","concat","getElementsByClassName","lenAnims","setAttribute","body","getElementsByTagName","innerText","div","freeze","unfreeze","getRegisteredAnimations","animations","BezierFactory","str","beziers","bezEasing","BezierEasing","kSampleStepSize","float32ArraySupported","A","aA1","aA2","B","C","calcBezier","aT","getSlope","points","_p","_mSampleValues","_precomputed","x","mX1","mY1","mX2","mY2","_precompute","_getTForX","_calcSampleValues","aX","mSampleValues","intervalStart","currentSample","kSplineTableSize","guessForT","initialSlope","aGuessT","currentSlope","newtonRaphsonIterate","aA","aB","currentX","currentT","binarySubdivide","pooling","poolFactory","initialLength","_create","_release","_length","_maxLength","pool","newElement","release","bezierLengthPool","addedLength","percents","lengths","segmentsLengthPool","totalLength","bezFunction","math","pointOnLine2D","x1","y1","x2","y2","x3","y3","det1","getBezierLength","pt1","pt2","pt3","pt4","ptCoord","perc","ptDistance","curveSegments","point","lastPoint","lengthData","BezierData","segmentLength","PointData","partial","partialLength","buildBezierData","storedData","bezierName","bezierData","getDistancePerc","initPos","lengthPos","lPerc","dir","bezierSegmentPoints","getSegmentsLength","shapeData","segmentsLength","pathV","pathO","pathI","getNewSegment","startPerc","endPerc","t0","t1","u0","u1","u0u0u0","t0u0u0_3","t0t0u0_3","t0t0t0","u0u0u1","t0u0u1_3","t0t0u1_3","t0t0t1","u0u1u1","t0u1u1_3","t0t1u1_3","t0t1t1","u1u1u1","t1u1u1_3","t1t1u1_3","t1t1t1","getPointInSegment","percent","pointOnLine3D","z1","z2","z3","diffDist","dist1","dist2","dist3","bez","PropertyFactory","initFrame","mathAbs","interpolateValue","frameNum","caching","offsetTime","propType","pv","keyData","nextKeyData","keyframeMetadata","fnc","iterationIndex","keyframes","keyframesMetadata","endValue","nextKeyTime","keyTime","to","ti","ind","__fnct","getBezierEasing","y","segmentPerc","distanceInLine","lastFrame","_lastKeyframeIndex","_lastAddedLength","_lastPoint","outX","outY","inX","inY","keyValue","sh","out","quat","qx","qy","qz","qw","heading","atan2","attitude","asin","bank","quaternionToEuler","omega","cosom","sinom","scale0","scale1","ax","ay","az","aw","bx","by","bz","bw","acos","sin","slerp","createQuaternion","c1","cos","c2","c3","s1","s2","s3","getValueAtCurrentTime","renderedFrame","endTime","_caching","renderResult","setVValue","multipliedValue","mult","_mdf","processEffectsSequence","frameId","effectsSequence","lock","_isFirstFrame","finalValue","kf","addEffect","effectFunction","addDynamicProperty","ValueProperty","vel","MultiDimensionalProperty","KeyframedValueProperty","KeyframedMultidimensionalProperty","arrLen","getProp","DynamicPropertyContainer","dynamicProperties","_isAnimated","iterateDynamicProperties","initDynamicPropertyContainer","pointPool","ShapePath","setPathData","setLength","doubleArrayLength","setXYAt","pos","setTripleAt","vX","vY","oX","oY","iX","iY","reverse","newPath","vertices","outPoints","inPoints","cnt","shapePool","shapePath","clone","shape","cloned","ShapeCollection","addShape","releaseShapes","shapeCollectionPool","newShapeCollection","shapeCollection","ShapePropertyFactory","interpolateShape","previousValue","keyPropS","keyPropE","isHold","vertexValue","interpolateShapeCurrentTime","resetShape","paths","localShapeCollection","shape1","shape2","shapesEqual","ShapeProperty","reset","KeyframedShapeProperty","EllShapeProperty","cPoint","EllShapePropertyFactory","convertEllToPath","p0","p1","s0","_cw","_v","StarShapeProperty","StarShapePropertyFactory","sy","ir","is","convertToPath","convertStarToPath","convertPolygonToPath","or","os","rad","roundness","perimSegment","numPts","angle","longFlag","longRad","shortRad","longRound","shortRound","longPerimSegment","shortPerimSegment","currentAng","ox","oy","RectShapeProperty","RectShapePropertyFactory","convertRectToPath","v0","v1","Matrix","_cos","_sin","_tan","tan","_rnd","rotate","mCos","mSin","_t","rotateX","rotateY","rotateZ","shear","sx","skew","skewFromAxis","scale","sz","setTransform","l","m","translate","tx","tz","a2","b2","d2","e2","f2","g2","h2","i2","j2","k2","l2","m2","n2","o2","p2","_identityCalculated","a1","b1","d1","e1","f1","g1","h1","i1","j1","k1","l1","m1","n1","o1","isIdentity","_identity","equals","matr","cloneFromProps","applyToPoint","z","applyToX","applyToY","applyToZ","getInverseMatrix","determinant","inverseMatrix","inversePoint","applyToPointArray","inversePoints","pts","retPts","applyToTriplePoints","p4","p5","p12","p13","applyToPointStringified","toCSS","cssValue","roundMatrixProperty","to2dCSS","_typeof$3","lottie","queryString","setLocation","href","setSubframeRendering","setPrefix","prefix","setQuality","inBrowser","installPlugin","plugin","getFactory","checkReady","readyStateCheckInterval","getQueryVariable","variable","vars","decodeURIComponent","useWebWorker","setIDPrefix","__getFactory","version","scripts","myScript","ShapeModifiers","modifiers","registerModifier","getModifier","ShapeModifier","TrimModifier","PuckerAndBloatModifier","initModifierProperties","addShapeToModifier","setAsAnimated","processKeys","sValue","eValue","pathsData","calculateShapeEdges","shapeLength","totalModifierLength","segmentOb","shapeSegments","shapeS","shapeE","releasePathsData","processShapes","shapePaths","_s","totalShapeLength","edges","newShapesData","addShapes","lastShape","addPaths","newPaths","addSegment","newShape","addSegmentFromArray","shapeSegment","currentLengthData","segmentCount","amount","processPath","centerPoint","pathLength","clonedPath","TransformPropertyFactory","defaultVector","TransformProperty","pre","appliedTransformations","px","py","pz","rx","ry","rz","_isDirty","applyToMatrix","mat","forceRender","precalculateMatrix","autoOriented","v2","getValueAtTime","autoOrient","_addDynamicProperty","getTransformProperty","RepeaterModifier","RoundCornersModifier","getFontProperties","fontData","styles","fStyle","fWeight","weight","tr","so","eo","pMatrix","rMatrix","sMatrix","tMatrix","matrix","applyTransforms","inv","scaleX","scaleY","elemsData","_currentCopies","_elements","_groups","unshift","resetElements","elements","_processed","cloneElements","newElements","changeGroupRender","renderFlag","_render","items","itemsTransform","cont","hasReloaded","copies","ceil","group","ix","reloadShapes","elems","transformData","offsetModulo","roundOffset","pProps","rProps","sProps","iteration","mProps","rd","currentV","currentI","currentO","closerV","distance","newPosPerc","FontManager","emptyChar","w","combinedCharacters","surrogateModifiers","zeroWidthJoiner","setUpNode","font","family","parentNode","fontFamily","fontSize","fontVariant","fontStyle","fontWeight","letterSpacing","offsetWidth","familyArray","enabledFamilies","trimFontOptions","parent","createHelper","def","tHelper","fontProps","fFamily","textContent","fClass","Font","typekitLoaded","_warned","Date","now","setIsLoadedBinded","setIsLoaded","checkLoadedFontsBinded","checkLoadedFonts","isModifier","firstCharCode","secondCharCode","sum","isZeroWidthJoiner","isCombinedCharacter","_char3","fontPrototype","found","ch","list","fontArr","_pendingFonts","loadedSelector","shouldLoadFont","loaded","monoCase","sansCase","fPath","fOrigin","querySelectorAll","rel","sc","helper","getCharData","_char","charCodeAt","console","warn","getFontByName","fName","measureText","_char2","fontName","doubleSize","getComputedTextLength","singleSize","loadedCount","removeChild","RenderableElement","initRenderable","isInRange","hidden","isTransparent","renderableComponents","addRenderableComponent","removeRenderableComponent","prepareRenderableFrame","num","checkLayerLimits","checkTransparency","finalTransform","mProp","renderConfig","hideOnTransparent","renderRenderable","sourceRectAtTime","getLayerSize","textData","MaskManagerInterface","MaskInterface","mask","_mask","_data","maskManager","_masksInterfaces","viewData","ExpressionPropertyInterface","defaultUnidimensionalValue","defaultMultidimensionalValue","completeProperty","expressionValue","getVelocityAtTime","numKeys","valueProp","assign","valueAtTime","speedAtTime","getSpeedAtTime","velocityAtTime","propertyGroup","defaultGetter","UnidimensionalPropertyInterface","arrValue","MultidimensionalPropertyInterface","TransformExpressionInterface","_thisFunction","rotation","xRotation","yRotation","xPosition","yPosition","zPosition","anchorPoint","opacity","_px","_py","_pz","_transformFactory","LayerExpressionInterface","getMatrix","toWorldMat","_elem","toWorldVec","applyPoint","toWorld","fromWorldVec","invertPoint","fromWorld","hierarchy","fromComp","sampleImage","transformInterface","_thisLayerFunction","shapeInterface","effect","textInterface","toComp","anchorPointDescriptor","defineProperties","hasParent","layerInterface","anchor_point","active","startTime","inPoint","outPoint","_name","registerMaskInterface","registerEffectsInterface","effects","propertyGroupFactory","interfaceFunction","parentPropertyGroup","PropertyInterface","propertyName","EffectsExpressionInterface","createGroupInterface","groupInterface","ef","mn","effectElements","_propertyGroup","createValueInterface","numProperties","np","enabled","en","expressionProperty","setGroupProperty","createEffectsInterface","effectsManager","effectsData","CompExpressionInterface","layer","pixelAspect","compSize","frameDuration","displayStartTime","numLayers","ShapePathInterface","view","propertyIndex","ShapeExpressionInterface","iterateElements","groupInterfaceFactory","fillInterfaceFactory","strokeInterfaceFactory","trimInterfaceFactory","ellipseInterfaceFactory","starInterfaceFactory","rectInterfaceFactory","roundedInterfaceFactory","repeaterInterfaceFactory","gradientFillInterfaceFactory","content","interfaces","transformInterfaceFactory","cix","contentsInterfaceFactory","startPoint","endPoint","_dashPropertyGroup","dashOb","addPropertyToDashOb","dataProps","strokeWidth","dash","skewAxis","outerRadius","outerRoundness","innerRoundness","innerRadius","radius","_interfaceFunction","TextExpressionInterface","_prevValue","_sourceText","sourceText","textProperty","stringValue","currentData","getBlendMode","blendModeEnums","mode","SliderEffect","AngleEffect","ColorEffect","PointEffect","LayerIndexEffect","MaskIndexEffect","CheckboxEffect","NoValueEffect","EffectsManager","effectItem","GroupEffect","BaseElement","FrameElement","_typeof$2","eff","checkMasks","effectsInterface","shapesData","itemsData","text","setBlendMode","blendModeValue","bm","baseElement","layerElement","initBaseData","layerId","getType","prepareProperties","isVisible","_isParent","FootageInterface","dataInterfaceFactory","outlineInterface","currentPropertyName","currentProperty","getFootageData","searchProperty","propertyNameIndex","outlineInterfaceFactory","dataInterface","FootageElement","imageLoader","AudioElement","_isPlaying","_canPlay","_currentTime","_placeholder","BaseRenderer","TransformElement","MaskElement","maskElement","solidPath","rect","expansor","feMorph","properties","count","currentMasks","maskType","maskRef","getShapeProp","lastPath","filterID","expan","lastOperator","filterId","lastRadius","createLayerSolidPath","invRect","drawPath","maskedElement","getBaseElement","timeRemapped","volumeValue","checkLayers","buildItem","checkPendingElements","createItem","createImage","createComp","createSolid","createNull","createShape","createText","createCamera","createFootage","buildAllItems","pInterface","progressiveLoad","buildElementParenting","parentName","setAsParent","setHierarchy","addPendingElement","pendingElements","setupGlobalData","fontsContainer","animationItem","initTransform","_matMdf","_opMdf","ao","renderTransform","finalMat","globalToLocal","transforms","ptNew","mHelper","getMaskProperty","isFirstFrame","getMaskelement","pathNodes","pathString","pathShapeValue","filtersFactory","filId","skipCoordinates","fil","feColorMatrix","featureSupport","SVGTintFilter","filter","filterManager","matrixFilter","feMergeNode","feMerge","SVGFillFilter","SVGStrokeEffect","initialized","SVGTritoneFilter","feComponentTransfer","feFuncR","feFuncG","feFuncB","SVGProLevelsFilter","createFeFunc","feFuncA","feFuncRComposed","feFuncGComposed","feFuncBComposed","SVGDropShadowEffect","filterSize","feGaussianBlur","feOffset","feFlood","feComposite","originalNodeAdded","colorBlack","colorWhite","initialize","groupPath","elemChildren","children","childNodes","masker","removeAttribute","pathMasker","dasharrayValue","getTotalLength","lineLength","units","color1","color2","color3","tableR","tableG","tableB","feFunc","getTableValue","inputBlack","inputWhite","gamma","outputBlack","outputWhite","colorValue","table","outputDelta","inputDelta","col","_svgMatteSymbols","SVGMatte3Effect","filterElem","matteElement","transformedElement","SVGGaussianBlurEffect","findSymbol","replaceInParent","symbolId","nextChild","useElem","insertBefore","setElementAsMask","hd","setMatte","sigma","dimensions","sigmaX","sigmaY","edgeMode","registeredEffects","SVGEffects","createFilter","filters","Effect","countsAsEffect","registerEffect","SVGBaseElement","HierarchyElement","RenderableDOMElement","IImageElement","initElement","sourceRect","ProcessedElement","IShapeElement","initRendererElement","createContainerElements","_sizeChanged","gg","layerElementParent","createAlphaToLuminanceFilter","maskGroup","maskGrouper","feCTr","alphaRect","ln","cp","clipId","cpGroup","renderElement","destroyBaseElement","createRenderableComponents","renderableEffectsManager","initHierarchy","checkParenting","createContent","renderInnerContent","innerElem","pr","imagePreserveAspectRatio","addShapeToModifiers","shapeModifiers","isShapeInAnimatedModifiers","isAnimatedWithShape","renderModifiers","searchProcessedElement","processedElements","addProcessedElement","lineCapEnum","lineJoinEnum","SVGShapeData","transformers","level","caches","lStr","lvl","SVGStyleData","pElem","msElem","DashProperty","dashStr","dashArray","dashoffset","SVGStrokeStyleData","styleOb","SVGFillStyleData","SVGNoStyleData","GradientProperty","cLength","_cmdf","_omdf","_collapsable","checkCollapsable","_hasOpacity","SVGGradientFillStyleData","initGradientData","SVGGradientStrokeStyleData","ShapeGroupData","prevViewData","gr","SVGTransformData","comparePoints","stops","setGradientData","setGradientOpacity","pathElement","gradientId","gfill","gf","cst","opacityId","maskId","opFill","lc","lj","ml","of","ms","ost","buildShapeString","_o","_i","shapeString","SVGElementsRenderer","_identityMatrix","_matrixHelper","renderContentTransform","styleData","itemData","renderNoop","renderPath","pathStringTransformed","redraw","iterations","lLen","renderFill","styleElem","renderGradientStroke","renderGradient","renderStroke","hasOpacity","attr1","attr2","cValues","oValues","ang","dist","createRenderFunction","SVGShapeElement","stylesList","animatedContents","LetterProps","sw","fc","TextProperty","_frameId","keysIndex","canResize","minimumFontSize","ascent","boxWidth","defaultBoxWidth","justifyOffset","lh","lineWidths","ls","ps","fillColorAnim","strokeColorAnim","strokeWidthAnim","yOffset","finalSize","finalText","finalLineHeight","copyData","completeTextData","initSecondaryElement","identityMatrix","buildExpressionInterface","searchShapes","filterUniqueShapes","tempShapes","areAnimated","setShapesAsAnimated","createStyleElement","elementData","addToAnimatedContents","createGroupElement","createTransformElement","transformProperty","createShapeElement","ownTransformers","setElementStyles","currentTransform","modifier","processedPos","ownStyles","ownModifiers","renderShape","animatedContent","update","updated","setCurrentData","searchKeyframes","getKeyframeValue","_finalValue","currentValue","currentIndex","textKeys","buildFinalText","charCode","charactersArray","shouldCombine","newLineFlag","letters","anchorGrouping","currentSize","currentPos","currentLine","lineWidth","maxLineWidth","trackingOffset","currentHeight","boxHeight","lastSpaceIndex","currentChar","uncollapsedSpaces","an","anIndexes","animatorJustifyOffset","extra","animatorData","letterData","based","animators","indexes","fh","fs","fb","rn","totalChars","newInd","currentInd","updateDocumentData","newData","dData","recalculate","canResizeFont","_canResize","setMinimumFontSize","_fontValue","TextSelectorProp","TextSelectorPropFactory","_currentTextLength","finalS","finalE","xe","ne","sm","getMult","easer","tot","smoothness","threshold","newCharsFlag","divisor","getTextSelectorProp","TextAnimatorDataProperty","animatorProps","defaultData","textAnimatorAnimatables","TextAnimatorProperty","renderType","_hasMaskedPath","_textData","_renderType","_animatorsData","_pathData","_moreOptions","alignment","renderedLetters","lettersChangedFlag","ITextElement","searchProperties","getMeasures","xPos","yPos","pathInfo","currentLength","currentPoint","pointInd","segmentInd","prevPoint","tanAngle","matrixHelper","renderedLettersCount","tLength","pi","letterValue","yOff","firstLine","offf","xPathPos","yPathPos","elemOpacity","letterSw","letterSc","letterFc","letterO","initPathPos","initSegmentInd","initPointInd","letterM","letterP","defaultPropsArray","animatorFirstCharOffset","justifyOffsetMult","isNewLine","animatorOffset","rot","atan","textAnimator","buildNewText","createPathShape","shapeStr","_fontSize","applyTextPropertiesToMatrix","lineNumber","buildColor","colorData","emptyProp","emptyShapeData","SVGTextLottieElement","textSpans","ISolidElement","NullElement","SVGRendererBase","ICompElement","SVGCompElement","supports3d","SVGRenderer","config","svgElement","ariaLabel","title","titleElement","titleId","description","descElement","descId","preserveAspectRatio","contentVisibility","viewBoxOnly","viewBoxSize","className","focusable","destroyed","CVContextData","saved","cArrPos","cTr","cO","savedOp","ShapeTransformManager","sequences","sequenceList","transform_key_count","CVEffects","CVMaskElement","hasMasks","CVBaseElement","CVShapeData","transformsManager","styledShapes","styledShape","addTransformSequence","trNodes","CVShapeElement","CVTextElement","stroke","fill","currentRender","sWidth","fValue","CVImageElement","CVSolidElement","CanvasRendererBase","clearCanvas","dpr","devicePixelRatio","currentGlobalAlpha","contextData","transformMat","CVCompElement","CanvasRenderer","HBaseElement","HSolidElement","HShapeElement","shapesContainer","currentBBox","HTextElement","textPaths","isMasked","HCameraElement","pe","_prevMat","HImageElement","HybridRendererBase","threeDElements","camera","HCompElement","HybridRenderer","singleShape","textContainer","buildTextContents","textArray","textContents","currentTextContent","fromCharCode","tSpan","usesGlyphs","cachedSpansLength","span","childSpan","glyph","glyphElement","_debug","tElement","justify","textBox","bbox","renderedLetter","textSpan","appendElementInPos","nextElement","setElements","getElements","destroyElements","duplicate","newLength","currentSavedOp","sequence","processSequence","processSequences","getNewKey","canvasContext","beginPath","moveTo","lineTo","bezierCurveTo","save","clip","createElements","blendMode","globalCompositeOperation","hideElement","showElement","forceRealStack","ctxTransform","ctxOpacity","restore","transformHelper","dashResetter","preTransforms","co","wi","da","addTransformToStyleList","removeTransformFromStyleList","closeStyles","shouldRender","ownTransforms","_shouldRender","renderShapeTransform","parentTransform","groupTransform","drawLayer","nodes","currentStyle","coOp","strokeStyle","grd","lineCap","lineJoin","miterLimit","setLineDash","lineDashOffset","closePath","isMain","renderGradientFill","renderStyledShape","shapeNodes","groupTransformMat","createLinearGradient","createRadialGradient","addColorStop","hasFill","hasStroke","commands","pathArr","commandsCounter","lastFill","lastStroke","lastStrokeW","widthCrop","heightCrop","imgW","imgH","imgRel","canvasRel","par","drawImage","cProps","trProps","globalAlpha","actionFlag","popped","containerStyle","mozTransformOrigin","transformCanvas","isDashed","elementWidth","elementHeight","elementRel","animationRel","offsetHeight","fillType","clearRect","checkBlendMode","tg","transformedElementStyle","matrixValue","webkitTransform","addEffects","backgroundColor","_renderShapeFrame","shapeCont","getTransformedPoint","calculateShapeBoundingBox","item","boundingBox","vPoint","oPoint","nextIPoint","nextVPoint","checkBounds","getBoundsOfCurve","bounds","shapeBoundingBox","xMax","right","yMax","bottom","tempBoundingBox","p3","b2ac","t2","calculateF","calculateBoundingBox","currentBoxContains","box","changed","shapeStyle","shapeTransform","compW","compH","innerElemStyle","textColor","lineHeight","tParent","tCont","tContStyle","tContTranslation","tStyle","tSpanTranslation","svgStyle","translation","textPath","margin","svgTransform","setup","perspectiveStyle","perspectiveElem","perspective","webkitPerspective","mTransf","diffVector","mag","lookDir","lookLengthOnXZ","mRotationX","mRotationY","hasMatrixChanged","matValue","Image","imageElem","newDOMElement","ddd","addTo3dContainer","nextDOMElement","nextLayer","getThreeDContainerByPos","startPos","endPos","createThreeDContainer","center","threeDContainerData","build3dContainers","lastThreeDContainerData","currentContainer","resizerElem","overflow","svg","cWidth","cHeight","floatingContainer","_createBaseContainerElements","Expressions","stackCount","registers","pushExpression","popExpression","releaseInstances","registerExpressionProperty","expression","_typeof$1","seedRandom","startdenom","significance","ARC4","keylen","me","S","flatten","depth","typ","mixkey","seed","smear","stringseed","tostring","options","shortseed","entropy","crypto","msCrypto","getRandomValues","browser","plugins","autoseed","arc4","prng","int32","quick","pass","is_math_call","initialize$2","SHAPE","ExpressionManager","fetch","frames","$bm_isInstanceOfArray","isNumerable","tOfV","$bm_neg","tOfA","lenA","retArr","easeInBez","easeOutBez","easeInOutBez","tOfB","lenB","sub","mul","mod","$bm_sum","$bm_sub","$bm_mul","$bm_div","$bm_mod","clamp","mm","radiansToDegrees","radians_to_degrees","degreesToRadians","degrees_to_radians","helperLengthArray","arr1","normalize","vec","rgbToHsl","hue2rgb","hslToRgb","linear","tMin","tMax","value1","value2","_tMin","rnd","createPath","inTangents","outTangents","inVertexPoint","outVertexPoint","arrPlaceholder","initiateExpression","needsVelocity","_needsRandom","elemType","$bm_transform","thisProperty","loopIn","loop_in","loopOut","loop_out","smooth","fromCompToSurface","thisLayer","thisComp","scoped_bm_rt","expression_function","eval","wiggle","freq","amp","iWiggle","lenWiggle","addedAmps","periods","loopInDuration","loopOutDuration","velocity","textIndex","textTotal","selectorValue","lookAt","elem1","elem2","fVec","pitch","easeOut","val1","val2","applyEase","easeIn","ease","iKey","lenKey","nearestKey","obKey","framesToTime","fps","timeToFrames","seedrandom","randSeed","substring","posterizeTime","framesPerSecond","executeExpression","_value","frameExpressionId","__preventDeadCodeRemoval","expressionHelpers","searchExpressions","speed","delta","_cachingAtTime","getStaticValueAtTime","addPropertyDecorator","durationFlag","cycleDuration","firstKeyFrame","ret","lastKeyFrame","initV","endV","current","repeats","lastValue","nextLastValue","firstValue","nextFirstValue","samples","sampleValue","sampleFrequency","getTransformValueAtTime","_transformCachingAtTime","anchor","rotationZ","rotationY","rotationX","orientation","positionX","positionY","positionZ","getTransformStaticValueAtTime","propertyGetProp","ShapePropertyConstructorFunction","getConstructorFunction","KeyframedShapePropertyConstructorFunction","getKeyframedConstructorFunction","ShapeExpressions","isClosed","pointOnPath","_segmentsLength","accumulatedLength","initIndex","endIndex","vectorOnPath","vectorType","xLength","yLength","magnitude","tangentOnPath","normalOnPath","shapeValue","lastTime","propertyGetShapeProp","trims","initialize$1","addDecorator","getExpressionValue","calculateExpression","isKeyframed","hasExpressions","propIsEnumerable","toObject","test1","getOwnPropertyNames","test2","test3","letter","shouldUseNative","symbols","checkPropTypes","typeSpecs","componentName","getStack","resetWarningCache","ReactPropTypesSecret","emptyFunctionWithReset","shim","propName","propFullName","secret","getShim","isRequired","ReactPropTypes","bigint","bool","number","any","arrayOf","elementType","instanceOf","objectOf","oneOf","oneOfType","exact","PropTypes","ReactIs","emptyFunctionThatReturnsNull","throwOnDirectAccess","ITERATOR_SYMBOL","ANONYMOUS","createPrimitiveTypeChecker","createChainableTypeChecker","typeChecker","PropTypeError","propValue","getPropType","isValidElementType","expectedClass","expectedClassName","expectedValues","valuesString","getPreciseType","arrayOfTypeCheckers","checker","getPostfixForTypeWarning","expectedTypes","checkerResult","expectedType","shapeTypes","invalidValidatorError","allKeys","message","validate","checkType","chainedCheckType","every","iteratorFn","maybeIterable","getIteratorFn","for","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","ForwardRef","Fragment","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","typeOf","_extends","_createClass","descriptor","enumerable","configurable","writable","protoProps","staticProps","_react2","_interopRequireDefault","_classnames2","_browserOrNode","_prefixer2","_propTypes","isLteIE9","ua","ie","Animated","_React$Component","instance","_classCallCheck","_this","ReferenceError","_possibleConstructorReturn","__proto__","getNewState","_ref","animationIn","animationOut","animationInDuration","animationOutDuration","animationInDelay","animationOutDelay","delay","animateOnMount","subClass","superClass","setPrototypeOf","_inherits","nextProps","setState","_props","innerRef","_state","backwardStyle","transition","ref","animationDelay","animationDuration","pointerEvents","Component","ANIMATABLE_VALUES","CSS_PROPERTIES","_isPlainObject2","_prefix2","_supports2","_constants","_defineProperty","toKebabCase","$1","applyPrefixes","reduce","styleObject","originalKey","js","toUpperCase","css","animatableValuesObject","animatableValues","animatableValue","kebabValue","re","cleanValue","prefixObject","getComputedStyle","documentElement","prefixString","standardPrefixString","operaPrefixString","OLink","prefixMatch","_camelCase","_camelCase2","CSS","supports","supportsCSS","camelCaseProperty","support","cssText","KeyEscapeUtils","escape","escaperLookup","unescape","unescaperLookup","_prodInvariant","oneArgumentPooler","copyFieldsFrom","Klass","instancePool","standardReleaser","destructor","poolSize","DEFAULT_POOLER","PooledClass","addPoolingTo","CopyConstructor","pooler","NewKlass","getPooled","twoArgumentPooler","threeArgumentPooler","a3","fourArgumentPooler","a4","ReactBaseClasses","ReactChildren","ReactDOMFactories","ReactElement","ReactVersion","createReactClass","onlyChild","createFactory","cloneElement","__spread","React","Children","toArray","only","PureComponent","createClass","createMixin","mixin","DOM","ReactPureComponent","ComponentDummy","isReactComponent","partialState","enqueueSetState","enqueueCallback","forceUpdate","enqueueForceUpdate","isPureReactComponent","traverseAllChildren","userProvidedKeyEscapeRegex","escapeUserProvidedKey","ForEachBookKeeping","forEachFunction","forEachContext","forEachSingleChild","bookKeeping","child","MapBookKeeping","mapResult","keyPrefix","mapFunction","mapContext","mapSingleChildIntoContext","childKey","mappedChild","mapIntoWithKeyPrefixInternal","cloneAndReplaceKey","escapedPrefix","traverseContext","forEachSingleChildDummy","forEachFunc","createDOMFactory","abbr","address","area","article","aside","base","bdi","bdo","big","blockquote","br","button","caption","cite","code","colgroup","datalist","dd","del","details","dfn","dialog","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h3","h4","h5","h6","head","header","hgroup","hr","html","iframe","ins","kbd","keygen","label","legend","li","link","main","mark","menu","menuitem","meta","meter","nav","noscript","ol","optgroup","option","output","param","picture","progress","rp","rt","ruby","samp","script","section","select","small","strong","summary","sup","tbody","textarea","tfoot","th","thead","track","ul","video","wbr","circle","clipPath","ellipse","image","linearGradient","polygon","polyline","radialGradient","tspan","ReactCurrentOwner","REACT_ELEMENT_TYPE","RESERVED_PROPS","__self","__source","hasValidRef","hasValidKey","owner","_owner","childrenLength","childArray","oldElement","newKey","_self","_source","publicInstance","completeState","argCount","argIdx","encodeURIComponent","getComponentKey","traverseAllChildrenImpl","nameSoFar","subtreeCount","nextNamePrefix","ii","childrenString","aa","ba","ca","ea","fa","ha","ia","ja","ka","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","sanitizeURL","removeEmptyString","D","oa","pa","qa","ma","na","la","xlinkHref","ra","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ta","wa","xa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","E","Ma","Ka","La","Na","Oa","Pa","prepareStackTrace","Reflect","construct","Qa","Ra","_context","_payload","_init","Sa","Ta","nodeName","Va","_valueTracker","setValue","stopTracking","Ua","Wa","checked","Xa","activeElement","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","initialValue","controlled","$a","ab","bb","ownerDocument","eb","db","selected","defaultSelected","disabled","gb","dangerouslySetInnerHTML","hb","ib","jb","kb","lb","mb","nb","namespaceURI","innerHTML","firstChild","MSApp","execUnsafeLocalFunction","pb","lastChild","nodeValue","qb","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","lineClamp","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","rb","sb","tb","setProperty","ub","vb","wb","xb","srcElement","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Ob","Pb","Qb","Rb","Sb","Tb","Ub","Vb","Wb","Xb","Zb","alternate","return","$b","memoizedState","dehydrated","ac","cc","sibling","bc","dc","ec","gc","hc","ic","jc","kc","mc","nc","oc","pc","qc","rc","blockedOn","domEventName","eventSystemFlags","nativeEvent","targetContainers","delete","pointerId","tc","vc","wc","lanePriority","unstable_runWithPriority","priority","hydrate","containerInfo","xc","yc","zc","Ac","Bc","unstable_scheduleCallback","unstable_NormalPriority","Cc","Dc","Ec","animationend","animationiteration","animationstart","transitionend","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","unstable_now","Rc","Uc","pendingLanes","expiredLanes","suspendedLanes","pingedLanes","Vc","entangledLanes","entanglements","Wc","Xc","Yc","Zc","$c","eventTimes","clz32","bd","cd","log","LN2","unstable_UserBlockingPriority","ed","fd","gd","uc","jd","kd","ld","md","nd","od","keyCode","pd","qd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","preventDefault","stopPropagation","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","isTrusted","ud","detail","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","repeat","locale","which","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","le","date","datetime","email","month","password","range","search","tel","week","oe","listeners","qe","se","te","ue","ve","we","ye","ze","oninput","Ae","detachEvent","Be","Ce","De","Ee","Fe","He","Ie","Je","Ke","Le","nextSibling","Me","contains","compareDocumentPosition","Ne","HTMLIFrameElement","contentWindow","Oe","contentEditable","Pe","Qe","Re","Se","Te","Ue","selectionStart","selectionEnd","anchorNode","defaultView","getSelection","anchorOffset","focusNode","focusOffset","Ve","We","Xe","Ye","Ze","Yb","listener","G","$e","af","bf","cf","df","capture","passive","Nb","ff","parentWindow","hf","J","K","Q","L","je","char","ke","jf","lf","mf","autoFocus","nf","__html","pf","clearTimeout","qf","rf","sf","previousSibling","tf","vf","wf","xf","yf","zf","Af","Bf","H","I","Cf","M","N","Df","Ef","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Ff","Gf","Hf","If","Jf","__reactInternalMemoizedMergedChildContext","Kf","Lf","Mf","Nf","Of","Pf","unstable_cancelCallback","Qf","unstable_shouldYield","Rf","unstable_requestPaint","Sf","Tf","unstable_getCurrentPriorityLevel","Uf","unstable_ImmediatePriority","Vf","Wf","Xf","unstable_LowPriority","Yf","unstable_IdlePriority","Zf","$f","ag","bg","cg","dg","O","eg","fg","hg","ig","jg","kg","ReactCurrentBatchConfig","lg","mg","ng","og","pg","qg","rg","_currentValue","sg","childLanes","dependencies","firstContext","lanes","ug","vg","observedBits","responders","wg","xg","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","yg","zg","eventTime","lane","Ag","Bg","Cg","Dg","Eg","Fg","Gg","Kg","_reactInternals","Hg","Ig","Jg","Lg","Mg","contextType","Ng","Og","getSnapshotBeforeUpdate","Pg","Qg","_stringRef","Rg","Sg","lastEffect","nextEffect","firstEffect","Tg","Ug","Vg","implementation","Wg","Xg","Yg","Zg","$g","ah","bh","dh","eh","tagName","gh","hh","P","ih","memoizedProps","revealOrder","jh","kh","mh","nh","oh","pendingProps","ph","qh","rh","uh","_workInProgressVersionPrimary","vh","ReactCurrentDispatcher","wh","xh","R","T","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","baseQueue","queue","Ih","Jh","Kh","lastRenderedReducer","action","eagerReducer","eagerState","lastRenderedState","dispatch","Lh","Mh","_getVersion","mutableReadLanes","Nh","U","useState","getSnapshot","subscribe","useEffect","setSnapshot","Oh","Ph","Qh","Rh","deps","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","readContext","useCallback","useContext","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useDebugValue","useDeferredValue","useTransition","useMutableSource","useOpaqueIdentifier","unstable_isNewReconciler","uf","ei","fi","gi","hi","ji","compare","ki","mi","baseLanes","ni","oi","qi","getDerivedStateFromError","ri","pendingContext","Bi","Di","Ei","si","retryLane","fallback","unstable_avoidThisFallback","ui","unstable_expectedLoadTime","vi","xi","yi","zi","isBackwards","rendering","renderingStartTime","last","tail","tailMode","Ai","Fi","Gi","wasMultiple","multiple","onClick","onclick","createTextNode","V","Hi","Ii","W","Ji","Ki","Li","Mi","Ni","Oi","Pi","Qi","Ri","Si","componentDidCatch","Ti","componentStack","Ui","WeakSet","Vi","Wi","Xi","__reactInternalSnapshotBeforeUpdate","Yi","Zi","$i","focus","aj","bj","onCommitFiberUnmount","cj","dj","ej","fj","gj","hj","_reactRootContainer","ij","jj","kj","then","mj","nj","oj","pj","X","Y","qj","rj","sj","tj","uj","vj","Infinity","wj","ck","Z","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","Sc","Kj","Lj","Mj","callbackNode","expirationTimes","callbackPriority","Tc","Nj","Oj","Pj","Qj","Rj","Sj","Tj","finishedWork","finishedLanes","Uj","timeoutHandle","Wj","Xj","pingCache","Yj","Zj","va","ak","bk","dk","rangeCount","focusedElem","selectionRange","ek","extend","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","scrollTop","onCommitFiberRoot","fk","gk","ik","pendingChildren","jk","mutableSourceEagerHydrationData","kk","lk","mk","nk","ok","qk","hydrationOptions","mutableSources","_internalRoot","rk","tk","hasAttribute","uk","hk","_calculateChangedBits","unstable_observedBits","unmount","Vj","vk","Events","wk","findFiberByHostInstance","bundleType","rendererPackageName","xk","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","__REACT_DEVTOOLS_GLOBAL_HOOK__","yk","isDisabled","supportsFiber","inject","createPortal","findDOMNode","flushSync","unmountComponentAtNode","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","checkDCE","prevState","nextState","prevProps","__reactInternalSnapshotFlag","__reactInternalSnapshot","polyfill","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","newApiName","maybeSnapshot","snapshot","__suppressDeprecationWarning","bodyOpenClassName","portalClassName","_react","_reactDom2","_propTypes2","_ModalPortal2","ariaAppHider","newObj","_interopRequireWildcard","_safeHTMLElement","_safeHTMLElement2","_reactLifecyclesCompat","isReact16","createHTMLElement","getCreatePortal","getParentElement","parentSelector","Modal","_Component","_temp","_len","_key","removePortal","portalRef","portal","renderPortal","defaultStyles","prevParent","nextParent","isOpen","closesAt","closeTimeoutMS","beforeClose","closeWithTimeout","setElement","overlay","htmlOpenClassName","afterOpen","overlayClassName","appElement","SafeHTMLCollection","SafeNodeList","onAfterOpen","onRequestClose","ariaHideApp","shouldFocusAfterRender","shouldCloseOnOverlayClick","shouldReturnFocusAfterClose","preventScroll","aria","role","contentLabel","shouldCloseOnEsc","overlayRef","contentRef","overlayElement","contentElement","contentEl","border","background","WebkitOverflowScrolling","borderRadius","outline","padding","focusManager","_scopeTab2","classList","_portalOpenInstances2","CLASS_NAMES","ariaHiddenInstances","ModalPortal","setOverlayRef","setContentRef","afterClose","_this$props","remove","returnFocus","teardownScopedFocus","popWithoutFocus","onAfterClose","deregister","beforeOpen","closeTimer","setupScopedFocus","markForFocusLater","openAnimationFrame","overlayEl","close","closeWithoutTimeout","focusContent","contentHasFocus","handleKeyDown","requestClose","handleOverlayOnClick","shouldClose","ownerHandlesClose","handleContentOnMouseUp","handleOverlayOnMouseDown","handleContentOnClick","handleContentOnMouseDown","shouldBeClosed","buildClassName","additional","attributesFromObject","acc","moveFromContentToOverlay","cancelAnimationFrame","register","_props2","contentStyles","overlayStyles","overlayProps","onMouseDown","contentProps","tabIndex","onKeyDown","onMouseUp","modal","testId","resetState","globalElement","assertNodeList","useElement","el","validateElement","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","documentNotReadyOrSSRTesting","_warning","_warning2","nodeList","selector","HTMLCollection","NodeList","_arr","before","after","instances","_arr2","_i2","check","_portalOpenInstances","eventType","openInstances","cloneNode","parentElement","htmlElement","cls","htmlClassList","removeClass","_cls","docBodyClassList","at","classString","classListRef","poll","incrementReference","decrementReference","focusLaterElements","handleBlur","handleFocus","toFocus","modalElement","_tabbable","_tabbable2","needToFocus","portalOpenInstances","PortalOpenInstances","openInstance","emit","subscribers","subscriber","_exenv","EE","SafeHTMLElement","HTMLElement","tabbable","getActiveElement","checkSafari","shadowRoot","findTabbableDescendants","descendants","finished","tabbableNode","hidesContents","zeroSize","getPropertyValue","scrollWidth","scrollHeight","exception","isTabIndexNotNaN","rootNode","getRootNode","host","visible","getAttribute","isTabIndexNaN","_Modal","_Modal2","jsx","jsxs","_status","_result","IsSomeRendererActing","createContext","_currentValue2","_threadCount","Provider","Consumer","createRef","forwardRef","lazy","memo","performance","MessageChannel","unstable_forceFrameRate","port2","port1","sortIndex","expirationTime","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_wrapCallback","pid","suffix","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","amdO","getter","leafPrototypes","getProto","ns","definition","chunkId","all","promises","miniCssF","globalThis","inProgress","dataWebpackPrefix","needAttach","charset","timeout","onScriptComplete","prev","onerror","onload","doneFns","nmd","installedChunks","installedChunkData","promise","reject","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","runtime","some","chunkLoadingGlobal","_arrayWithHoles","_arrayLikeToArray","_unsupportedIterableToArray","_nonIterableRest","_n","_d","NavigationContext","LocationContext","RouteContext","outlet","matches","invariant","cond","matchRoutes","routes","locationArg","basename","stripBasename","parsePath","branches","flattenRoutes","sort","score","siblings","compareIndexes","routesMeta","childrenIndex","rankRouteBranches","matchRouteBranch","parentsMeta","parentPath","route","relativePath","caseSensitive","startsWith","joinPaths","computeScore","paramRe","isSplat","initialScore","branch","matchedParams","matchedPathname","remainingPathname","matchPath","pathnameBase","normalizePathname","paramNames","regexpSource","paramName","endsWith","compilePath","matcher","captureGroups","splatValue","safelyDecodeURIComponent","resolveTo","toArg","routePathnames","locationPathname","toPathname","routePathnameIndex","toSegments","fromPathname","hash","resolvePathname","normalizeSearch","normalizeHash","resolvePath","nextChar","useHref","useInRouterContext","useResolvedPath","joinedPathname","getToPathname","endsWithSlash","createHref","useLocation","useNavigate","routePathnamesJson","activeRef","navigate","go","useParams","routeMatch","_renderMatches","parentMatches","reduceRight","React.createElement","Navigate","Route","Router","basenameProp","locationProp","navigationType","NavigationType","static","staticProp","navigationContext","trailingPathname","Routes","parentParams","parentPathnameBase","locationFromContext","parsedLocationArg","_parsedLocationArg$pa","useRoutes","createRoutesFromChildren","BrowserRouter","historyRef","createBrowserHistory","history","listen","Link","reloadDocument","rest","internalOnClick","replaceProp","isModifiedEvent","useLinkClickHandler","ownKeys","enumerableOnly","sym","_objectSpread2","getOwnPropertyDescriptors","_defineProperties","_objectSpread","i18nInstance","defaultOptions","bindI18n","bindI18nStore","transEmptyNodeValue","transSupportBasicHtmlNodes","transWrapTextNodes","transKeepBasicHtmlNodesFor","useSuspense","I18nContext","getDefaults","ReportNamespaces","usedNamespaces","namespaces","getI18n","initReactI18next","setDefaults","react","setI18n","_console","alreadyWarned","warnOnce","_len2","_key2","loadNamespaces","i18n","isInitialized","on","off","oldI18nextHasLoadedNamespace","lng","languages","fallbackLng","lastLng","loadNotPending","loadState","services","backendConnector","backend","isLanguageChangingTo","hasResourceBundle","resources","partialBundledLanguages","hasLoadedNamespace","isNewerI18next","ignoreJSONStructure","precheck","useTranslation","i18nFromProps","i18nFromContext","defaultNSFromContext","defaultNS","reportNamespaces","notReadyT","retNotReady","ready","wait","i18nOptions","addUsedNamespaces","initializedStoreOnce","getT","getFixedT","nsMode","_useState","_useState2","_slicedToArray","setT","boundReset","store","isInitial","TextSection","customClasses","icon","getClasses","ContainerWrapper","CardImage","backgroundImage","overridingStyle","backgroundPosition","backgroundRepeat","backgroundSize","ClimateChangeIcon","viewBox","xmlns","strokeLinecap","strokeLinejoin","CybersecurityIcon","EnhancementIcon","FinancialInclusionIcon","GreenTransitionIcon","HealthIcon","HomeIcon","IntegrityIcon","InvestmentIcon","JobProtectionIcon","SatisfactionIcon","SolidityIcon","CommunitySupportIcon","CopyIcon","ArrowBottomIcon","PlayIcon","filterUnits","colorInterpolationFilters","in","dy","stdDeviation","in2","operator","ExpandIcon","CollapseIcon","ButtonTooltipIcon","cx","cy","CloseIcon","LinkIcon","ArrowRightIcon","GroupTooltipIcon1","GroupTooltipIcon2","GroupTooltipIcon3","GroupTooltipIcon4","GroupTooltipIcon5","GroupTooltipIcon6","GroupTooltipIcon7","GroupTooltipIcon8","LavoroDignitoso","SaluteBenessere","IndustriaInnovazione","CircleGroup","Istruzione","ParitaGenere","CittaSostenibili","LottaCambiamentoClimatico","RidurreDisuguaglianze","GreenEnergy","MenuItem","Icon","isActive","iconProps","isMobile","alignItems","justifyContent","isCollapsed","setIsCollapsed","members","sizes","setSizes","desktopPosition","setDesktopPosition","mobilePosition","setMobilePosition","hoveredMenuItem","setHoveredMenuItem","showMobileMenu","getElementById","toggle","setMenuPosition","elementId","menuHeight","navigationItemsHeight","ispHeader","ispBreadcrumb","menuPosition","visualViewport","clientHeight","scrollY","isDesktop","previousPosition","getBoundingClientRect","maxHeight","collaspedMobileNavigationItemsHeight","menuItems","onDocumentLoaded","configuration","retry","autoResizer","onSuccess","setOnParentScrollRequest","byClassNames","byMemberNames","addOnParentSizesResponse","onRetry","onFailure","debug","iFrameResizerListener","Retry","info","autoResizerRegistrar","unregister","onChildResized","scrollParentToTop","transitionProperty","transitionDuration","menuItem","onMouseEnter","onMouseLeave","Timeline","TimelineItems","lineClasses","timelineTop","dx","alt","titleClasses","timelineBottom","observerMap","RootIds","rootId","unsupportedValue","optionsToId","observe","fallbackInView","IntersectionObserver","isIntersecting","intersectionRatio","boundingClientRect","intersectionRect","rootBounds","createObserver","thresholds","observer","inView","trackVisibility","unobserve","disconnect","isPlainChildren","InView","_unobserveCb","handleNode","triggerOnce","skip","initialInView","observeNode","handleChange","onChange","_inheritsLoose","_proto","rootMargin","as","useInView","setRef","InfoBox","sliceClasses","slices","customSizes","gridTemplateColumns","customStyles","marginRight","maxWidth","Tooltip","modalIsOpen","setIsOpen","setMaxHeight","setStyles","configureModal","parentSizes","updateTooltipHeight","setModalPosition","openModal","requestParentSizes","availHeight","closeModal","autoResizerTooltipTimeout","Tag","marginTop","hideButton","tooltipLink","ShowMore","download","iconPosition","AreaSquares","areas","areaDescription","setAreaDescription","isFirstRender","firstRender","useFirstRender","AreaIcon","onMouseOver","TimelineIcon5","TimelineIcon6","TimelineIcon7","TimelineIcon8","InnovationTransformation","minWidth","ConsumoResponsabile","integrity","PaceGiustizia","Family","appendScript","async","defer","charSet","orientationEvent","AutoResizerRegistrar","handler","useUniqueId","maxRetries","running","queueable","uniqid","IFrameResizerListener","listening","parentIFrame","getPageInfo","onPageInfoReceived","loading","scrollTo","browsers","offsetTop","clientWidth","Fallback","find","inferSizes","onParentPageChanged","MaterialityMatrix2020Icon","lang","menuItemUrl","xmlSpace","whiteSpace","fillRule","clipRule","MaterialityMatrix2021Icon","LineIcon","DiversityInclusionPointsGraphIcon","attributeType","dur","repeatCount","ServiceQualityPointsGraphIcon","begin","textAnchor","PcIcon","ShowMoreIcon","CircleIcon","DownloadPdfIcon","GroupPeopleIcon","MaterialityMatrix","setSelected","marginLeft","overflowX","selectedPartner","setSelectedPartner","modalRef","logos","asset","PLogo1w2","logo","partner","selectedAward","setSelectedAward","ALogo1","ALogo4","ALogo6","award","Home","modalStyle","showVideo","setShowVideo","heroImgHeight","setHeroImgHeight","videoModalStyles","setVideoModalStyles","setVideoLayout","setHeroImgLayout","fullHeight","retryPage","retryTrigger","retryVideo","setAllSizes","setUrl","frameBorder","controls","allow","allowFullScreen","HomeCover","HomeVideo1Bg","DirittiUmani","EmergenzaCovid","HomeVideo2Bg","require$$0","order2","require$$2","Lottie","segmentsIn","goTo","rendererSettingsIn","onLoad","animElementRef","animRef","setReady","setSegments","setRendererSettings","onDomLoaded","cloneDeep","wasPlayingSegmentsRef","playReverse","makeLottiePlayer","LottieFilePlayer","lottieStyles","autoPlay","excluded","sourceKeys","sourceSymbolKeys","Bar","animate","topLabel","topLabelStyle","barStyle","transitionDelay","transitionTimingFunction","labelStyle","BarChart","labels","_assertThisInitialized","_getPrototypeOf","_toArray","iter","consoleLogger","Logger","concreteLogger","logger","forward","_len3","_key3","_len4","_key4","debugOnly","moduleName","baseLogger","EventEmitter","observers","events","_cloned","res","rej","makeString","getLastOfPath","Empty","cleanKey","canNotTraverseDeeper","_getLastOfPath","_getLastOfPath3","getPathWithDefaults","deepExtend","overwrite","regexEscape","_entityMap","isIE10","ownKeys$1","_objectSpread$1","_createSuper","Derived","hasNativeReflectConstruct","sham","Proxy","Boolean","_isNativeReflectConstruct","Super","NewTarget","deepFind","keySeparator","mix","joinedPath","ResourceStore","_EventEmitter","_super","silent","addNamespaces","addResource","deep","pack","removeNamespaces","getResource","compatibilityAPI","getDataByLanguage","postProcessor","processors","addPostProcessor","handle","translator","processor","ownKeys$2","_objectSpread$2","_createSuper$1","_isNativeReflectConstruct$1","checkedLoadedFor","Translator","language","interpolation","resolved","nsSeparator","wouldCheckForNsInKey","seemsNaturalLanguage","userDefinedKeySeparator","userDefinedNsSeparator","possibleChars","matched","looksLikeObjectPath","interpolator","nestingRegexp","parts","lastKey","_this2","overloadTranslationOptionHandler","_this$extractFromKey","extractFromKey","namespace","appendNamespaceToCIMode","resUsedKey","usedKey","resExactUsedKey","exactUsedKey","resType","noObject","joinArrays","handleAsObjectInI18nFormat","i18nFormat","handleAsObject","returnObjects","returnedObjectHandler","resTypeIsArray","newKeyToUse","deepKey","extendTranslation","usedDefault","needsPluralHandling","hasDefaultValue","defaultValueSuffix","pluralResolver","getSuffix","isValidLookup","missingKeyNoValueFallbackToKey","resForMissing","updateMissing","lngs","fallbackLngs","languageUtils","getFallbackCodes","saveMissingTo","toResolveHierarchy","specificDefaultValue","defaultForMissing","missingKeyHandler","saveMissing","saveMissingPlurals","getSuffixes","appendNamespaceToMissingKey","parseMissingKeyHandler","_this3","defaultVariables","usedLng","usedNS","skipInterpolation","nestBef","skipOnVariables","interpolate","nest","postProcess","postProcessorNames","applyPostProcessor","postProcessPassResolved","i18nResolved","_this4","extracted","fallbackNS","needsZeroSuffixLookup","ordinal","shouldUseIntlApi","needsContextHandling","codes","utils","possibleKey","finalKeys","addLookupKeys","pluralSuffix","zeroSuffix","contextKey","contextSeparator","returnNull","returnEmptyString","resourceStore","LanguageUtil","supportedLngs","formatLanguageCode","specialCases","lowerCaseLng","part","cleanCode","nonExplicitSupportedLngs","getLanguagePartFromCode","cleanedLng","isSupportedCode","lngOnly","supportedLng","fallbacks","getScriptPartFromCode","fallbackCode","fallbackCodes","addCode","sets","nr","_rulesPluralsTypes","deprecatedJsonVersions","suffixesOrder","zero","few","many","createRules","rules","numbers","plurals","PluralResolver","compatibilityJSON","Intl","PluralRules","_unused","rule","getRule","resolvedOptions","pluralCategories","pluralCategory1","pluralCategory2","pluralCategory","prepend","getSuffixRetroCompatible","idx","noAbs","simplifyPluralSuffix","returnSuffix","ownKeys$3","_objectSpread$3","Interpolator","escapeValue","iOpts","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapePrefix","unescapeSuffix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","resetRegExp","regexpStr","regexpUnescapeStr","regexpUnescape","nestingRegexpStr","replaces","regexSafe","handleFormat","interpolationkey","missingInterpolationHandler","regex","safeValue","todo","matchedVar","temp","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","formatters","doReduce","ownKeys$4","_objectSpread$4","Formatter","formats","NumberFormat","currency","DateTimeFormat","relativetime","RelativeTimeFormat","ListFormat","_format","mem","_parseFormatStr","formatStr","formatName","formatOptions","optStr","opt","_opt$split2","parseFormatStr","formatted","valOptions","formatParams","ownKeys$5","_objectSpread$5","_createSuper$2","_isNativeReflectConstruct$2","Connector","toLoad","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","reload","errors","addResourceBundle","_getLastOfPath2","pushPath","what","fcName","tried","read","queueLoad","loadOne","prepareLoading","_this5","fallbackValue","isUpdate","initImmediate","preload","pluralSeparator","tDescription","transformOptions","ownKeys$6","_objectSpread$6","_createSuper$3","_isNativeReflectConstruct$3","noop","bindMemberFunctions","inst","I18n","modules","external","isClone","defOpts","createClassOnDemand","ClassOrObject","formatter","lu","languageDetector","detection","storeApi","_this2$store","storeApiChained","_this2$store2","deferred","finish","changeLanguage","usedCallback","resolvedLanguage","setResolvedLanguage","lngInLngs","hasLanguageSomeTranslations","setLngProps","setLng","getBestMatchFromCodes","cacheUserLanguage","loadResources","detect","fixedT","opts","resultKey","_this$translator","_this$translator2","exists","_this6","preResult","_this7","preloaded","newLngs","_this8","mergedOptions","membersToCopy","createInstance","reloadResources","use","setDefaultNamespace","loadLanguages","GroupValue","currentLang","i18next","RipartizioneValoreEconomicoGenerato","RipartizioneValoreEconomicoGeneratoEN","IntegrityPage","cellPadding","ServiceQuality","FinancialInclusion","InclusioneFinanziariaLottieFile","InclusioneFinanziariaLottieFileEN","InvestmentInsurance","regular","buttonTitle","buttonLink","wrapperClass","TimelineIcon1","TimelineIcon2","TimelineIcon3","TimelineIcon4","CommunitySupport","SupportoAllaComunita","SupportoAllaComunitaEN","GallerieItalia","ProgrammaGiovani","GenerationUniversities","PTech","JobProtection","textAlign","DiversityInclusion","flexDirection","marginBottom","HealthSafety","GreenTransition","alignSelf","TransizioneEconomiaSostenibile","TransizioneEconomiaSostenibileEN","ClimateChange","borderTop","borderBottom","Covid19","textBlack","DownloadSection","Simulator","otherLang","otherLanguage","httpEquiv","hrefLang","goToLogin","xmlnsXlink","placeholder","scrolling","protocol","enableBbackground","enableBackground","Main","smoothly","behavior","disableScrollRestoration","scrollRestoration","parentScrollTo","onPerfEntry","getCLS","getFID","getFCP","getLCP","getTTFB","each","defaults","hasXMLHttpRequest","fetchApi","XmlHttpRequestApi","ActiveXObjectApi","ActiveXObject","fetchNode","addQueryString","queryStringParams","headers","customHeaders","requestOptions","statusText","catch","requestWithFetch","crossDomain","setRequestHeader","withCredentials","overrideMimeType","requestWithXmlHttpRequest","loadPath","addPath","allowMultiLoading","parsePayload","reloadInterval","credentials","Backend","allOptions","_readAny","loadUrlLanguages","loadUrlNamespaces","maybePromise","isPromise","resolvedLoadPath","loadUrl","parseErr","dataArray","resArray","_this$services","currentLanguage","fieldContentRegExp","serializeCookie","maxAge","domain","expires","toUTCString","httpOnly","secure","sameSite","cookie","minutes","cookieOptions","setTime","getTime","nameEQ","cookie$1","lookup","lookupCookie","cookieMinutes","cookieDomain","querystring","lookupQuerystring","hasLocalStorageSupport","localStorageAvailable","localStorage","testKey","setItem","removeItem","lookupLocalStorage","getItem","hasSessionStorageSupport","sessionStorageAvailable","sessionStorage","lookupSessionStorage","navigator$1","userLanguage","htmlTag","lookupFromPathIndex","subdomain","lookupFromSubdomainIndex","Browser","detectors","excludeCacheFor","lookupFromUrlIndex","addDetector","detector","detectionOrder","detected","detectorName","cacheName","LanguageDetector","ReactDOM","reportWebVitals"],"sourceRoot":""}