{"version":3,"file":"js/downloadpage.js","mappings":"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4D,QAAS,CACPC,OAAQ,EACRC,SAAU,WACVI,IAAK,OACLjC,MAAO,MACPgC,MAAO,GAETD,SAAU,CACRH,OAAQ,EACRC,SAAU,WACVS,KAAM,M,uxBC+IEE,GAjDkBC,EAAG,CACnC,GAAM,UACN,GAAM,UACN,GAAM,WACN,GAAM,UACN,GAAM,SACN,GAAM,iBACN,GAAM,UACN,GAAM,UACN,GAAM,UACN,GAAM,SACN,GAAM,UACN,GAAM,SACN,GAAM,UACN,GAAM,UACN,GAAM,QACN,GAAM,SACN,GAAM,YACN,GAAM,aACN,GAAM,QACN,GAAM,cACN,GAAM,SACN,GAAM,WACN,GAAM,UACN,GAAM,WACN,GAAM,WACN,GAAM,QACN,GAAM,SACN,GAAM,cACN,GAAM,iBACN,GAAM,UACN,GAAM,UACN,GAAM,UACN,GAAM,UACN,GAAM,yBACN,GAAM,gBACN,GAAM,UACN,GAAM,YACN,GAAM,UACN,GAAM,cACN,GAAM,SACN,GAAM,gBACN,GAAM,YACN,GAAM,UACN,GAAM,SACN,GAAM,aACN,GAAM,SACN,GAAM,qBACN,GAAM,aACN,GAAM,UAAQ,KACR,eAAaD,GAAAC,EACnB,KAAM,UAAQD,GAAAC,EACd,KAAM,WAASD,GAAAC,EAAA,KACT,kBAAgBD,GAAAC,EACtB,KAAM,sBAt+BD,I,WC1DD,GAAkB,CACtB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAGW,GAAW,IACtB,IAAI,EAAQ,EACZ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","sources":["webpack://pcloud-site/webpack/runtime/chunk loaded","webpack://pcloud-site/./src/lib/move.js","webpack://pcloud-site/./src/lib/componentMount.js","webpack://pcloud-site/./src/components/DownloadPage/StyledComponents.js","webpack://pcloud-site/./src/lib/utils.js","webpack://pcloud-site/../../src/base83.ts","webpack://pcloud-site/../../src/utils.ts","webpack://pcloud-site/../../src/error.ts","webpack://pcloud-site/../../src/decode.ts","webpack://pcloud-site/../../src/BlurhashCanvas.tsx","webpack://pcloud-site/../../src/Blurhash.tsx","webpack://pcloud-site/./src/components/LazyImg/index.js","webpack://pcloud-site/./src/components/DownloadPage/MobileApps.js","webpack://pcloud-site/./src/components/DownloadPage/DesktopApps.js","webpack://pcloud-site/./src/svg/chrome.svg","webpack://pcloud-site/./src/svg/opera.svg","webpack://pcloud-site/./src/svg/firefox.svg","webpack://pcloud-site/./src/svg/edge.svg","webpack://pcloud-site/./src/svg/brave.svg","webpack://pcloud-site/./src/components/DownloadPage/AddOn.js","webpack://pcloud-site/./src/components/Tabs.js","webpack://pcloud-site/./src/svg/windows.svg","webpack://pcloud-site/./src/svg/macos.svg","webpack://pcloud-site/./src/svg/linux.svg","webpack://pcloud-site/./src/svg/ios.svg","webpack://pcloud-site/./src/svg/android.svg","webpack://pcloud-site/./src/svg/psave.svg","webpack://pcloud-site/./src/components/DownloadPage/DownloadPage.js","webpack://pcloud-site/./src/exports/downloadpage.js","webpack://pcloud-site/./node_modules/clsx/dist/clsx.m.js","webpack://pcloud-site/./node_modules/lodash/_Symbol.js","webpack://pcloud-site/./node_modules/lodash/_arrayMap.js","webpack://pcloud-site/./node_modules/lodash/_arrayPush.js","webpack://pcloud-site/./node_modules/lodash/_baseFlatten.js","webpack://pcloud-site/./node_modules/lodash/_baseGetTag.js","webpack://pcloud-site/./node_modules/lodash/_baseIsArguments.js","webpack://pcloud-site/./node_modules/lodash/_baseIsRegExp.js","webpack://pcloud-site/./node_modules/lodash/_baseToString.js","webpack://pcloud-site/./node_modules/lodash/_baseUnary.js","webpack://pcloud-site/./node_modules/lodash/_freeGlobal.js","webpack://pcloud-site/./node_modules/lodash/_getRawTag.js","webpack://pcloud-site/./node_modules/lodash/_isFlattenable.js","webpack://pcloud-site/./node_modules/lodash/_nodeUtil.js","webpack://pcloud-site/./node_modules/lodash/_objectToString.js","webpack://pcloud-site/./node_modules/lodash/_root.js","webpack://pcloud-site/./node_modules/lodash/escapeRegExp.js","webpack://pcloud-site/./node_modules/lodash/flatten.js","webpack://pcloud-site/./node_modules/lodash/isArguments.js","webpack://pcloud-site/./node_modules/lodash/isArray.js","webpack://pcloud-site/./node_modules/lodash/isObjectLike.js","webpack://pcloud-site/./node_modules/lodash/isRegExp.js","webpack://pcloud-site/./node_modules/lodash/isString.js","webpack://pcloud-site/./node_modules/lodash/isSymbol.js","webpack://pcloud-site/./node_modules/lodash/toString.js","webpack://pcloud-site/./node_modules/shallowequal/index.js","webpack://pcloud-site/external window \"jQuery\"","webpack://pcloud-site/./node_modules/@babel/runtime-corejs2/core-js/array/from.js","webpack://pcloud-site/./node_modules/@babel/runtime-corejs2/core-js/array/is-array.js","webpack://pcloud-site/./node_modules/@babel/runtime-corejs2/core-js/object/assign.js","webpack://pcloud-site/./node_modules/@babel/runtime-corejs2/core-js/object/define-properties.js","webpack://pcloud-site/./node_modules/@babel/runtime-corejs2/core-js/object/define-property.js","webpack://pcloud-site/./node_modules/@babel/runtime-corejs2/core-js/object/get-own-property-descriptor.js","webpack://pcloud-site/./node_modules/@babel/runtime-corejs2/core-js/object/get-own-property-descriptors.js","webpack://pcloud-site/./node_modules/@babel/runtime-corejs2/core-js/object/get-own-property-symbols.js","webpack://pcloud-site/./node_modules/@babel/runtime-corejs2/core-js/object/keys.js","webpack://pcloud-site/./node_modules/@babel/runtime-corejs2/core-js/parse-float.js","webpack://pcloud-site/./node_modules/@babel/runtime-corejs2/core-js/parse-int.js","webpack://pcloud-site/./node_modules/@babel/runtime-corejs2/core-js/symbol.js","webpack://pcloud-site/./node_modules/@babel/runtime-corejs2/core-js/symbol/iterator.js","webpack://pcloud-site/./node_modules/@babel/runtime-corejs2/core-js/symbol/to-primitive.js","webpack://pcloud-site/./node_modules/classnames/index.js","webpack://pcloud-site/./node_modules/@floating-ui/core/dist/floating-ui.core.mjs","webpack://pcloud-site/./node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","webpack://pcloud-site/./node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","webpack://pcloud-site/./node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","webpack://pcloud-site/./node_modules/tslib/tslib.es6.mjs","webpack://pcloud-site/webpack/bootstrap","webpack://pcloud-site/webpack/runtime/amd options","webpack://pcloud-site/webpack/runtime/compat get default export","webpack://pcloud-site/webpack/runtime/define property getters","webpack://pcloud-site/webpack/runtime/global","webpack://pcloud-site/webpack/runtime/hasOwnProperty shorthand","webpack://pcloud-site/webpack/runtime/make namespace object","webpack://pcloud-site/webpack/runtime/node module decorator","webpack://pcloud-site/webpack/runtime/jsonp chunk loading","webpack://pcloud-site/webpack/runtime/nonce","webpack://pcloud-site/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","const _move = (obj, _attachList) => {\n for (var n in obj) {\n if (obj.hasOwnProperty(n)) {\n for (var k = 0; k < _attachList.length; ++k) {\n if (_attachList[k].list.indexOf(n) != -1) {\n _attachList[k].attach[n] = obj[n];\n }\n }\n }\n }\n}\n\nexport default _move;","// @flow\n\nimport * as React from \"react\";\nimport { createRoot } from 'react-dom/client';\n\nconst usedReactRoots = {};\n\nconst getExistingOrNewRoot = (element: HTMLElement) => {\n // Existing ID or create new unique ID.\n const reactRootId = element.dataset.reactRootId || Math.random().toString(16).slice(2);\n let root = usedReactRoots[reactRootId] || null;\n\n if (root === null) {\n // Save the generated new ID to the element to be reused if we change the props and call this again.\n element.dataset.reactRootId = reactRootId;\n root = createRoot(element);\n }\n\n // Cache the root.\n usedReactRoots[reactRootId] = root;\n\n return {reactRootId , root};\n}\n\nconst componentMount = (render: (props: {}) => React.Node) => (element: HTMLElement, props: {}) => {\n if (!element) {\n return null;\n }\n\n const {reactRootId, root} = getExistingOrNewRoot(element);\n root.render(render(props));\n\n return () => {\n root.unmount();\n delete usedReactRoots[reactRootId];\n };\n};\n\nexport function componentRender(element: HTMLElement, render: React.Element) {\n const {reactRootId, root} = getExistingOrNewRoot(element);\n root.render(render);\n\n return () => {\n root.unmount();\n delete usedReactRoots[reactRootId];\n };\n}\n\nexport default componentMount;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { hiDPI } from \"polished\";\n\nexport const PageContent = styled.div`\n font-family: \"Roboto\", sans-serif;\n\n @media (max-width: 768px) {\n box-sizing: border-box;\n padding-top: 20px;\n }\n`;\n\n// export const AlignContainer = styled.div`\n// @media (max-width: 768px) {\n// padding: 0px 20px;\n// }\n// `;\n\nexport const Header = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n min-height: 630px;\n padding: 70px 0px;\n margin-bottom: 96px;\n position: relative;\n\n @media (max-width: 768px) {\n min-height: 0px;\n padding: 0px;\n display: block;\n margin-bottom: 0px;\n }\n`;\n\nexport const DesktopHeader = styled(Header)`\n flex-direction: column;\n text-align: center;\n`;\n\nexport const PageTitle = styled.h1`\n font-size: 60px;\n font-weight: bold;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.18;\n letter-spacing: -1.2px;\n text-align: left;\n color: #000000;\n margin-bottom: 24px;\n padding-left: 0px;\n max-width: 100%;\n\n @media (max-width: 768px) {\n font-size: 33px;\n font-weight: bold;\n font-stretch: normal;\n font-style: normal;\n letter-spacing: -0.4px;\n text-align: center;\n color: #000000;\n margin-bottom: 26px;\n padding: 0px 30px;\n box-sizing: border-box;\n }\n`\n\nexport const PageDescription = styled.p`\n font-size: 28px;\n font-weight: normal;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.36;\n letter-spacing: -0.42px;\n text-align: left;\n color: #000000;\n margin-bottom: 43px;\n\n @media (max-width: 768px) {\n font-size: 16px;\n font-weight: normal;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.37;\n letter-spacing: -0.2px;\n text-align: center;\n color: #000000;\n padding: 0px 30px;\n box-sizing: border-box;\n }\n`;\n\nexport const DesktopPageDescription = styled(PageDescription)`\n text-align: center;\n`;\n\nexport const Box = styled.div`\n display: inline-block;\n /* width: 50%; */\n order: ${({ order }) => order ? order : 0};\n width: 100%;\n transition: all 300ms ease-in-out;\n position: relative;\n z-index: 1;\n\n &.imagebox-android {\n @media (max-width: 1180px) and (min-width: 769px) {\n right: -25% !important;\n }\n }\n\n @media (max-width: 768px) {\n order: 0;\n width: 100%;\n }\n`;\n\nexport const ButtonContainer = styled.div`\n margin: 0 auto;\n text-align: inherit;\n\n @media (max-width: 768px) {\n text-align: center;\n }\n\n &.desktop-header-buttons {\n margin-bottom: 30px;\n }\n`;\n\nexport const ImageWrapper = styled.div``;\n\nexport const MidTitle = styled.h2`\n font-size: 46px;\n font-weight: bold;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.17;\n letter-spacing: -0.92px;\n text-align: center;\n color: #2a2a2a;\n\n @media (max-width: 768px) {\n font-size: 27px;\n font-weight: bold;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.25;\n letter-spacing: -0.2px;\n text-align: center;\n color: #000000;\n margin: 70px 0px 10px 0px;\n padding: 0px 30px;\n box-sizing: border-box;\n }\n`;\n\nexport const DesktopMidTitle = styled(MidTitle)`\n margin-bottom: 130px;\n`;\n\nexport const ImageAlignWrapper = styled.div`\n @media (max-width: 768px) {\n padding: 0px 30px;\n box-sizing: border-box;\n }\n`;\n\nexport const Section = styled.div`\n display: flex;\n height: ${({ height }) => height ? height : \"auto\"};\n align-items: center;\n justify-content: space-between;\n padding: 80px 0px;\n position: relative;\n\n &.desktop-section {\n height: 839px;\n\n @media (max-width: 768px) {\n height: auto;\n }\n\n .desktop-section-textbox {\n z-index: 1;\n position: absolute;\n top: 75px;\n width: 46%;\n right: 0;\n\n @media (max-width: 768px) {\n position: static;\n width: 100%;\n text-align: center;\n }\n }\n\n .desktop-section-imagebox {\n z-index: 0;\n position: absolute;\n left: 0;\n\n @media (max-width: 768px) {\n position: static;\n width: 100%;\n }\n }\n }\n\n @media (max-width: 768px) {\n padding: 30px 0px;\n text-align: ${({ align }) => align === \"center\" ? \"center\" : \"left\"};\n flex-direction: column;\n }\n`;\n\nexport const BoxWrapper = styled.div`\n display: flex;\n align-items: stretch;\n justify-content: space-between;\n margin-bottom: 20px;\n\n &::last-of-type {\n margin-bottom: 0px;\n }\n\n @media (max-width: 768px) {\n align-items: center;\n justify-content: center;\n flex-direction: column;\n }\n`;\n\nexport const DesktopBox = styled.div`\n order: ${({ order }) => order ? order : 0};\n width: ${({ size }) => size === \"x1\" ? \"34.5%\" : \"63.6%\"};\n background-color: #f8f8f8;\n padding: ${({ size }) => size === \"x1\" ? \"40px\" : \"0px\"};\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n @media (max-width: 768px) {\n width: 100%;\n order: 0;\n margin-bottom: 0px;\n text-align: left;\n padding: 20px 0px 0px;\n background-color: transparent;\n }\n`;\n\nexport const SectionIcon = styled.div`\n display: inline-block;\n background-repeat: no-repeat;\n width: 56px;\n height: 56px;\n background-size: 56px 56px;\n background-position: center;\n margin-bottom: 43px;\n\n @media (max-width: 768px) {\n margin-bottom: 20px;\n width: 42px;\n height: 42px;\n background-size: 42px 42px;\n }\n`;\n\nconst saveIconImg = (typeof cdnPath !== 'undefined' ? cdnPath : '/') + (window.devicePixelRatio > 1.5 ? 'images/download_page/save-desktop@2x.png' : 'images/download_page/save-desktop.png');\nconst saveIconImgMobile = (typeof cdnPath !== 'undefined' ? cdnPath : '/') + (window.devicePixelRatio > 1.5 ? 'images/download_page/save@2x.png' : 'images/download_page/save.png');\nexport const SaveIcon = styled(SectionIcon)`\n background-image: url(${saveIconImg});\n\n @media (max-width: 768px) {\n background-image: url(${saveIconImgMobile});\n }\n`;\n\nconst shareIconImg = (typeof cdnPath !== 'undefined' ? cdnPath : '/') + (window.devicePixelRatio > 1.5 ? 'images/download_page/share-desktop@2x.png' : 'images/download_page/share-desktop.png');\nconst shareIconImgMobile = (typeof cdnPath !== 'undefined' ? cdnPath : '/') + (window.devicePixelRatio > 1.5 ? 'images/download_page/share@2x.png' : 'images/download_page/share.png');\nexport const ShareIcon = styled(SectionIcon)`\n background-image: url(${shareIconImg});\n\n @media (max-width: 768px) {\n background-image: url(${shareIconImgMobile});\n }\n`;\n\nconst protectIconImg = (typeof cdnPath !== 'undefined' ? cdnPath : '/') + (window.devicePixelRatio > 1.5 ? 'images/download_page/protect@2x.png' : 'images/download_page/protect-desktop.png');\nexport const ProtectIcon = styled(SectionIcon)`\n background-image: url(${protectIconImg});\n`;\n\nexport const SectionTitle = styled.h3`\n font-size: 32px;\n font-weight: bold;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.19;\n letter-spacing: -0.8px;\n text-align: left;\n color: #2a2a2a;\n padding-left: 0px;\n max-width: 100%;\n margin: 0px;\n margin-bottom: 19px;\n max-width: 650px;\n width: 100%;\n transition: all 300ms ease-in-out;\n\n @media (max-width: 768px) {\n font-size: 21px;\n font-weight: bold;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.2;\n letter-spacing: -0.64px;\n color: #000000;\n margin-bottom: 12px;\n padding-left: 0px;\n padding: 0px 30px;\n box-sizing: border-box;\n max-width: 100%;\n text-align: inherit;\n }\n\n @media (max-width: 1080px) and (min-width: 769px) {\n max-width: 420px;\n }\n`;\n\nexport const SectionDescription = styled.p`\n font-size: 20px;\n font-weight: normal;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.5;\n letter-spacing: normal;\n text-align: left;\n color: #2a2a2a;\n max-width: 650px;\n\n transition: all 300ms ease-in-out;\n\n @media (max-width: 768px) {\n font-size: 16px;\n font-weight: normal;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.33;\n letter-spacing: normal;\n color: #000000;\n margin-bottom: 30px;\n padding: 0px 30px;\n box-sizing: border-box;\n max-width: 100%;\n text-align: inherit;\n }\n\n @media (max-width: 1080px) and (min-width: 769px) {\n max-width: 420px;\n }\n`;\n\nexport const RequireText = styled.p`\n font-size: 13px;\n font-weight: normal;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.15;\n letter-spacing: 0.13px;\n text-align: left;\n color: #888888;\n\n @media (max-width: 768px) {\n font-size: 14px;\n font-weight: normal;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.2;\n letter-spacing: 0.4px;\n text-align: left;\n color: #888888;\n margin-bottom: 30px;\n padding: 0px 30px;\n box-sizing: border-box;\n text-align: center;\n }\n`;\n\nexport const DesktopRequireText = styled(RequireText)`\n margin-bottom: 18px;\n text-align: center;\n\n a {\n text-decoration: none;\n }\n`;\n\nexport const MainImageIOS = styled.img`\n width: 530px;\n height: 630px;\n\n @media (max-width: 768px) {\n width: auto;\n height: 401px;\n display: block;\n margin: 0 auto;\n }\n @media (max-width: 425px) {\n width: 100%;\n height: auto;\n }\n`;\n\nexport const FirstImageIOS = styled.img`\n width: 636px;\n height: 769px;\n\n transition: all 300ms ease-in-out;\n\n @media (max-width: 1180px) and (min-width: 769px) {\n height: auto;\n width: 100%;\n position: absolute;\n top: 0;\n right: 40px;\n }\n\n @media (max-width: 768px) {\n width: auto;\n height: 401px;\n display: block;\n margin: 0 auto;\n }\n`;\n\nexport const SecondImageIOS = styled.img`\n height: 766px;\n width: 740px;\n \n @media (max-width: 768px) {\n width: auto;\n height: 345px;\n display: block;\n margin: 0 auto;\n }\n @media (max-width: 425px) {\n width: 100%;\n height: auto;\n display: block;\n margin: 0 auto;\n }\n`;\n\nexport const ThirdImageIOS = styled.img`\n height: 839px;\n width: 937px;\n transition: all 300ms ease-in-out;\n\n @media (max-width: 768px) {\n height: 279px;\n width: auto;\n display: block;\n margin: 0 auto;\n }\n\n @media (max-width: 425px) {\n width: 100%;\n height: auto;\n display: block;\n margin: 0 auto;\n }\n\n @media (max-width: 1180px) and (min-width: 1000px) {\n position: relative;\n left: calc(100vw - 1180px);\n }\n\n @media (max-width: 1000px) and (min-width: 769px) {\n position: relative;\n left: calc(100vw - 1000px);\n }\n`;\n\nexport const DownloadButtonIOS = styled.img`\n display: inline-block;\n width: ${({ width }) => width || \"200px\"};\n height: ${({ height }) => height || \"60px\"};\n margin-bottom: 8px;\n`;\n\nexport const MainImageAndroid = styled.img`\n width: 1089px;\n height: 820px;\n\n @media (max-width: 768px) {\n width: auto;\n height: 401px;\n display: block;\n margin: 0 auto;\n }\n @media (max-width: 425px) {\n width: 100%;\n height: auto;\n }\n`;\n\nexport const FirstImageAndroid = styled.img`\n width: 636px;\n height: 769px;\n\n transition: all 300ms ease-in-out;\n\n @media (max-width: 1180px) and (min-width: 769px) {\n height: auto;\n width: 100%;\n position: absolute;\n top: 0;\n right: 40px;\n }\n\n @media (max-width: 768px) {\n width: auto;\n height: 401px;\n display: block;\n margin: 0 auto;\n }\n`;\n\nexport const SecondImageAndroid = styled.img`\n width: 998px;\n height: 660px;\n\n @media (max-width: 768px) {\n width: auto;\n height: 320px;\n display: block;\n margin: 0 auto;\n }\n @media (max-width: 425px) {\n width: 100%;\n height: auto;\n display: block;\n margin: 0 auto;\n }\n`;\n\nexport const ThirdImageAndroid = styled.img`\n width: 827px;\n height: 460px;\n transition: all 300ms ease-in-out;\n\n @media (max-width: 768px) {\n height: 395px;\n width: auto;\n display: block;\n margin: 0 auto;\n }\n \n @media (max-width: 425px) {\n width: 100%;\n height: auto;\n display: block;\n margin: 0 auto;\n }\n\n @media (max-width: 1180px) and (min-width: 1000px) {\n position: relative;\n left: calc(100vw - 1180px);\n }\n\n @media (max-width: 1000px) and (min-width: 769px) {\n position: relative;\n left: calc(100vw - 1000px);\n }\n`;\n\nexport const DownloadButtonAndroid = styled.img`\n display: inline-block;\n width: ${({ width }) => width || \"200px\"};\n height: ${({ height }) => height || \"60px\"};\n margin-bottom: 8px;\n`;\n\nexport const MainImageMac = styled.img`\n width: calc(100vw - 15px);\n height: auto;\n max-width: 1380px;\n margin-top: 22px;\n`;\n\nexport const FirstImageMac = styled.img`\n width: 100%;\n max-width: 750px;\n`;\n\nexport const DesktopSectionImage = styled.img`\n width: 100%;\n max-width: 750px;\n`;\n\nexport const ThirdImageMac = styled.img`\n height: 839px;\n width: 937px;\n transition: all 250ms ease-in-out;\n\n transition: all 250ms ease-in-out;\n\n @media (max-width: 768px) {\n height: 380px;\n width: auto;\n display: block;\n margin: 0 auto;\n }\n\n @media (max-width: 425px) {\n width: 100%;\n height: auto;\n display: block;\n margin: 0 auto;\n }\n\n @media (max-width: 1180px) and (min-width: 1000px) {\n position: relative;\n left: calc(100vw - 1180px);\n }\n\n @media (max-width: 1000px) and (min-width: 769px) {\n position: relative;\n left: calc(100vw - 1000px);\n }\n`;\n\nexport const MainImageLinux = styled.img`\n width: calc(100vw - 15px);\n height: auto;\n max-width: 1296px;\n margin-top: 22px;\n`;\n\nexport const ThirdImageLinux = styled.img`\n height: 839px;\n width: 937px;\n\n transition: all 250ms ease-in-out;\n\n @media (max-width: 768px) {\n height: 380px;\n width: auto;\n display: block;\n margin: 0 auto;\n }\n\n @media (max-width: 425px) {\n width: 100%;\n height: auto;\n display: block;\n margin: 0 auto;\n }\n\n @media (max-width: 1180px) and (min-width: 1000px) {\n position: relative;\n left: calc(100vw - 1180px);\n }\n\n @media (max-width: 1000px) and (min-width: 769px) {\n position: relative;\n left: calc(100vw - 1000px);\n }\n`;\n\nexport const MainImageWin = styled.img`\n width: calc(100vw - 15px);\n height: auto;\n max-width: 1420px;\n margin-top: 22px;\n`;\n\nexport const ThirdImageWin = styled.img`\n height: 839px;\n width: 937px;\n\n transition: all 250ms ease-in-out;\n\n @media (max-width: 768px) {\n height: 380px;\n width: auto;\n display: block;\n margin: 0 auto;\n }\n\n @media (max-width: 425px) {\n width: 100%;\n height: auto;\n display: block;\n margin: 0 auto;\n }\n\n @media (max-width: 1180px) and (min-width: 1000px) {\n position: relative;\n left: calc(100vw - 1180px);\n }\n\n @media (max-width: 1000px) and (min-width: 769px) {\n position: relative;\n left: calc(100vw - 1000px);\n }\n`;\n\nexport const MainImageAddon = styled.img`\n width: calc(100vw - 15px);\n height: auto;\n margin-top: 22px;\n max-width: 1440px;\n`;\n\nexport const ExtensionWrapper = styled.div`\n display: flex;\n align-items: center;\n margin-bottom: 20px;\n justify-content: center;\n`;\n\nexport const ExtensionLink = styled.a`\n width: 130px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n text-decoration: none;\n`\n\nexport const ExtensionLinkText = styled.div`\n font-size: 13px;\n font-weight: normal;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.15;\n letter-spacing: 0.13px;\n text-align: center;\n color: #17bed0;\n margin-top: 12px;\n text-decoration: none;\n`\n\nexport const FooterSection = styled(Section)`\n flex-direction: column;\n justify-content: center;\n padding: 80px 0px 150px 0px;\n text-align: center;\n\n ${RequireText} {\n text-align: center;\n }\n\n @media (max-width: 768px) {\n &.desktop-footer-section {\n padding-bottom: 110px;\n }\n }\n`;\n\nexport const FooterTitle = styled.h3`\n font-size: 28px;\n font-weight: bold;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.18;\n letter-spacing: -0.42px;\n text-align: center;\n color: #2a2a2a;\n padding: 0px;\n margin-bottom: 33px;\n text-align: center;\n`;\n\nexport const Link = styled.a`\n font-size: 28px;\n font-weight: normal;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.43;\n letter-spacing: -0.56px;\n text-align: center;\n color: #17bed0;\n text-decoration: none;\n\n @media (max-width: 768px) {\n font-size: 16px;\n }\n`;\n\nexport const CUSTOM_STYLES = {\n android: {\n headerSection: {\n height: \"760px\",\n textBox: {\n zIndex: 1,\n position: \"absolute\",\n maxWidth: \"55%\"\n },\n imageBox: {\n zIndex: -1,\n position: \"absolute\",\n right: \"-400px\",\n top: \"80px\"\n }\n },\n\n firstSection: {\n height: \"769px\",\n textBox: {\n position: \"relative\",\n bottom: \"50px\"\n },\n imageBox: {\n position: \"relative\",\n height: \"100%\"\n }\n },\n\n secondSection: {\n height: \"660px\",\n textBox: {\n zIndex: 1,\n maxWidth: \"36%\"\n },\n imageBox: {\n zIndex: 0,\n position: \"absolute\",\n right: \"-180px\",\n }\n },\n\n thirdSection: {\n height: \"460px\",\n\n imageBox: {\n zIndex: 0,\n position: \"absolute\",\n left: \"-193px\",\n },\n\n textBox: {\n position: \"absolute\",\n right: \"0px\",\n maxWidth: \"30%\",\n zIndex: 1\n }\n }\n },\n\n ios: {\n headerSection: {\n height: \"760px\",\n textBox: {\n zIndex: 1,\n position: \"absolute\",\n maxWidth: \"55%\"\n },\n imageBox: {\n zIndex: -1,\n position: \"absolute\",\n right: \"-55%\",\n top: \"80px\"\n }\n },\n\n firstSection: {\n height: \"671px\",\n imageBox: {\n position: \"relative\",\n height: \"100%\"\n }\n },\n\n secondSection: {\n height: \"766px\",\n textBox: {\n zIndex: 1,\n position: \"absolute\",\n top: \"267px\"\n },\n imageBox: {\n zIndex: 0,\n position: \"absolute\",\n right: 0,\n width: \"auto\"\n }\n },\n\n thirdSection: {\n height: \"839px\",\n textBox: {\n zIndex: 1,\n position: \"absolute\",\n top: \"75px\",\n width: \"46%\",\n right: 0\n },\n imageBox: {\n zIndex: 0,\n position: \"absolute\",\n left: 0\n }\n }\n }\n}","//@flow\n\nimport {\n DiscountType,\n Userinfo,\n PlanIDType,\n Subscription\n} from \"../lib/types/dataTypes.components\";\n\n// import {\n// ADD_STORAGE_1COUNT_PLAN_ID, \n// ADD_STORAGE_4COUNT_PLAN_ID,\n// MB_PER_STORAGE_COUNT\n// } from \"./plansInfo\";\n\nimport {\n rcookie,\n setcookie,\n hrefSearch\n} from \"@pcloud/web-utilities/dist/lib/utils\";\nimport { __ } from \"@pcloud/web-utilities/dist/lib/langManager\";\nimport { renderQuota } from \"@pcloud/web-utilities/dist/plans/utils.plans\";\n\nimport {\n PREMIUM_PLAN_ID,\n PREMIUM_PLUS_PLAN_ID,\n CUSTOM4TB_PLAN_ID,\n FAMILY2TB_PLAN_ID,\n FAMILY_CUSTOM_PLAN_ID,\n FAMILY_CUSTOM_2COUNT_PLAN_ID,\n FAMILY_CUSTOM_5COUNT_PLAN_ID,\n FAMILY_ADD_1COUNT_PLAN_ID,\n FAMILY_ADD_2COUNT_PLAN_ID,\n FAMILY_ADD_5COUNT_PLAN_ID,\n CUSTOM_PLAN_ID,\n ADD_STORAGE_1COUNT_PLAN_ID,\n ADD_STORAGE_4COUNT_PLAN_ID,\n ADD_STORAGE_8COUNT_PLAN_ID,\n ADD_STORAGE_12COUNT_PLAN_ID,\n ADD_STORAGE_20COUNT_PLAN_ID,\n CUSTOM_20COUNT_PLAN_ID,\n CRYPTO_PLAN_ID,\n EFH_PLAN_ID,\n ADDITIONAL_TRAFFIC_ID,\n MAX_CUSTOM_STORAGE_COUNT,\n MAX_FAMILY_STORAGE_COUNT,\n PASS_PREMIUM_PLAN_ID,\n PASS_FAMILY_PLAN_ID,\n} from \"@pcloud/web-utilities/dist/plans/constants.plans\";\n\nexport {\n rcookie,\n setcookie,\n hrefSearch,\n __,\n renderQuota\n};\n\nexport const removeHrefSearch = (params: Array, forceRefresh?: boolean) => {\n if (params && typeof params == 'string') {\n params = [params];\n }\n\n if (params && params.length && location.search.length) {\n var currentQueriesArr = location.search.substring(1).split('&');\n var currentQueriesMap = {};\n var finalQueriesArr = [];\n var finalURL;\n\n // Create object map with all current search queries\n for (var i in currentQueriesArr) {\n currentQueriesMap[currentQueriesArr[i].split('=').shift()] = currentQueriesArr[i].split('=').pop();\n }\n\n // Delete requested queries\n for (var i in params) {\n if (params[i].split('=').shift() in currentQueriesMap) {\n delete currentQueriesMap[params[i].split('=').shift()];\n }\n }\n\n if (Object.keys(currentQueriesMap).length) {\n for (var i in currentQueriesMap) {\n finalQueriesArr.push(i + '=' + currentQueriesMap[i]);\n }\n\n finalURL = location.origin + location.pathname + '?' + finalQueriesArr.join('&');\n } else {\n finalURL = location.origin + location.pathname;\n }\n\n if (forceRefresh) {\n location = finalURL;\n } else {\n window.history.pushState({}, null, finalURL);\n }\n }\n};\n\nexport const addHrefSearch = (params: Array | string, forceRefresh: boolean, newLocationUrl?: string) => {\n if (!params) {\n return;\n }\n\n let finalURL;\n\n if (typeof params == 'string') {\n params = [params];\n }\n\n if (location.search.length) {\n let oldQueriesArr = location.search.substring(1).split('&');\n let oldQueriesMap = {};\n let givenQueriesMap = {};\n let finalQueriesMap = {};\n let finalQueriesArr = [];\n\n // Create object map with all current search queries\n for (let i in oldQueriesArr) {\n oldQueriesMap[oldQueriesArr[i].split('=').shift()] = oldQueriesArr[i].split('=').pop();\n }\n\n for (let i in params) {\n givenQueriesMap[params[i].split('=').shift()] = params[i].split('=').pop();\n\n // Delete queries which will be duplicated in the end and remove them\n if (params[i].split('=').shift() in oldQueriesMap) {\n delete oldQueriesMap[params[i].split('=').shift()];\n }\n }\n\n finalQueriesMap = Object.assign(oldQueriesMap, givenQueriesMap);\n\n for (let i in finalQueriesMap) {\n finalQueriesArr.push(i + '=' + finalQueriesMap[i]);\n }\n\n finalURL = (newLocationUrl ? newLocationUrl : (location.origin + location.pathname)) + '?' + finalQueriesArr.join('&');\n\n } else {\n // Directly append newly provided params\n finalURL = (newLocationUrl ? newLocationUrl : location.href) + '?' + params.join('&');\n }\n\n if (forceRefresh) {\n location = finalURL;\n } else {\n if (!window.history.state || window.history.state.page != finalURL) {\n window.history.pushState({ \"page\": finalURL }, null, finalURL);\n }\n }\n};\n\nexport const saveToSessionstorage = (label: string, value: any) => {\n if (\n typeof Storage === \"undefined\" ||\n typeof sessionStorage === \"undefined\" ||\n sessionStorage === null\n ) {\n setcookie(label, value, 0);\n } else {\n sessionStorage.setItem(label, value);\n }\n};\n\nexport const signToCurrency = {\n \"$\": \"USD\",\n \"€\": \"EUR\",\n \"₤\": \"GBP\",\n \"BGN\": \"BGN\"\n};\n\nexport const currencyMap = {\n 'USD': '$',\n 'EUR': '€',\n 'GBP': '₤',\n // Used for Vivacom plans only\n 'BGN': 'BGN'\n};\n\nconst _repl = (str: string, repl: {} = {}) => {\n str = _properSpaces(str);\n\n if (!obLength(repl)) {\n return str;\n }\n\n for (var n in repl) {\n str = str.replace(new RegExp(\"%\" + n + \"%\", \"g\"), repl[n]);\n }\n\n return str;\n};\n\nconst _properSpaces = str => {\n return str.split(String.fromCharCode(160)).join(\" \");\n};\n\nexport const obLength = (obj: {}) => {\n var size = 0,\n key;\n for (key in obj) {\n if (obj.hasOwnProperty(key)) {\n size++;\n }\n }\n return size;\n};\n\ntype getDisabledPlanReasonParams = {\n user: Userinfo,\n forPlan: PlanIDType,\n forPeriod: \"trial\" | \"month\" | \"year\" | \"lifetime\",\n downgradeAllowed?: boolean,\n add500GBAllowed?: boolean,\n trafficCount?: number,\n maxCustomStorageCount?: number\n};\n\nexport const getDisabledPlanReason = ({\n user = {},\n forPlan,\n forPeriod,\n downgradeAllowed,\n add500GBAllowed,\n trafficCount,\n canAddStorage,\n maxCustomStorageCount = MAX_CUSTOM_STORAGE_COUNT,\n maxFamilyStorageCount = MAX_FAMILY_STORAGE_COUNT\n}: getDisabledPlanReasonParams) => {\n if (!user || !forPlan || !forPeriod) {\n return \"\";\n }\n\n const {\n business,\n lastsubscription,\n cryptolifetime,\n plan,\n premium,\n premiumlifetime,\n premiumexpires,\n cryptosubscription,\n efh,\n planparams,\n additionaltraffic,\n additionaltrafficlifetime,\n family,\n passmanagerdata,\n usepassmanagertrial: isfreetrialused\n } = user;\n\n const hasUserInfo = Object.keys(user).length > 0\n let islifetime;\n let isfreetrialactive;\n let passplan;\n let passpremiumexpire;\n let passFamily;\n\n if (passmanagerdata) {\n islifetime = passmanagerdata.islifetime\n isfreetrialactive = passmanagerdata.isfreetrialactive;\n passplan = passmanagerdata.plan;\n passpremiumexpire = passmanagerdata.premiumexpires;\n passFamily = passmanagerdata.family;\n }\n\n if (hasUserInfo) {\n // const {\n // islifetime,\n // istrial: isfreetrialactive,\n // plan: passplan,\n // planexpires: passpremiumexpire\n // } = passmanagerdata\n\n if (business) {\n return (\"business\");\n } else {\n let hasStorageSubscription = premium && !premiumlifetime;\n let hasCryptoSubscription = cryptosubscription;\n let hasSubscriptionPeriod = false;\n let isCanceled = lastsubscription && lastsubscription.status === \"canceled\";\n let incStorage = 0;\n if (!isCanceled && lastsubscription) {\n hasSubscriptionPeriod = lastsubscription.period;\n }\n\n const isCustomPlanId = forPlan === ADD_STORAGE_1COUNT_PLAN_ID || forPlan === ADD_STORAGE_4COUNT_PLAN_ID || forPlan === ADD_STORAGE_8COUNT_PLAN_ID || forPlan === ADD_STORAGE_12COUNT_PLAN_ID || forPlan === ADD_STORAGE_20COUNT_PLAN_ID || forPlan === CUSTOM_20COUNT_PLAN_ID;\n const isFamilyPlanId = forPlan === FAMILY_ADD_1COUNT_PLAN_ID || forPlan === FAMILY_ADD_2COUNT_PLAN_ID || forPlan === FAMILY_ADD_5COUNT_PLAN_ID || forPlan === FAMILY_CUSTOM_2COUNT_PLAN_ID || forPlan === FAMILY_CUSTOM_5COUNT_PLAN_ID;\n\n if (isCustomPlanId || isFamilyPlanId) {\n const parts = forPlan.split(\"_\");\n incStorage = Number(parts[1]);\n forPlan = Number(parts[0]);\n }\n\n if ((!lastsubscription || (hasSubscriptionPeriod && lastsubscription.products.indexOf(forPlan) === -1) && !downgradeAllowed) && forPeriod != \"lifetime\") {\n if (hasStorageSubscription && plan) {\n if (plan == forPlan && hasStorageSubscription == forPeriod) {\n return (\"current_plan\");\n } else if (plan > forPlan) {\n return (\"lower_plan\");\n }\n } else if (efh && forPlan === EFH_PLAN_ID) {\n return (\"current_plan\");\n } else if (additionaltraffic && forPlan == ADDITIONAL_TRAFFIC_ID) {\n if (!additionaltrafficlifetime && planparams.additionaltraffic == trafficCount) {\n return (\"current_plan\");\n } else if (planparams.additionaltraffic > trafficCount) {\n return (\"traffic_downgrade_restriction\");\n }\n }\n } else if (!lastsubscription && forPeriod === \"lifetime\" && hasStorageSubscription && plan && plan > forPlan) {\n return (\"lower_plan\");\n } else if (plan && hasStorageSubscription && hasSubscriptionPeriod && lastsubscription.products.indexOf(plan) === -1 && forPeriod != \"lifetime\" && !downgradeAllowed) {\n if (forPlan == plan) {\n return (\"current_plan\");\n } else if (plan > forPlan) {\n return (\"lower_plan\");\n }\n }\n\n // Buying Crypto\n if (forPlan == CRYPTO_PLAN_ID) {\n if (cryptolifetime) {\n return (\"crypto_lifetime\");\n } else if (hasSubscriptionPeriod && !hasCryptoSubscription) {\n if (hasCryptoSubscription == \"month\" && forPeriod == \"month\") {\n return (\"current_plan\");\n } else if (hasSubscriptionPeriod == \"year\" && forPeriod == \"month\") {\n return (\"lower_period\");\n }\n } else if (\n hasCryptoSubscription &&\n hasSubscriptionPeriod &&\n isCanceled == false\n ) {\n if (hasSubscriptionPeriod == \"month\" && forPeriod == \"month\") {\n return (\"current_plan\");\n } else if (hasSubscriptionPeriod == \"year\") {\n if (forPeriod == \"month\") {\n return (\"lower_period\");\n } else if (forPeriod == \"year\") {\n return (\"current_plan\");\n }\n }\n }\n } else if (forPlan == EFH_PLAN_ID) {\n if (efh) {\n if (hasSubscriptionPeriod == forPeriod) {\n return (\"current_plan\");\n } else if (hasSubscriptionPeriod == \"year\") {\n if (forPeriod == \"month\") {\n return (\"lower_period\");\n }\n }\n }\n // Buying Traffic\n } else if (forPlan == ADDITIONAL_TRAFFIC_ID) {\n if (plan === CUSTOM4TB_PLAN_ID) {\n return (\"custom_subscription\");\n } else if (forPeriod === \"lifetime\" && !premiumlifetime) {\n return \"traffic_lifetime_restriction\";\n } else if (plan == FAMILY2TB_PLAN_ID || plan == FAMILY_CUSTOM_PLAN_ID) {\n return \"custom_subscription\";\n } else if (forPeriod !== \"lifetime\" && additionaltrafficlifetime) {\n return \"traffic_lifetime_restriction_subs\";\n } else if (forPeriod === \"month\" && hasSubscriptionPeriod == \"year\" && (!downgradeAllowed || lastsubscription.billingprovider === 11)) {\n return (\"traffic_downgrade_restriction\");\n } else if (additionaltraffic && !additionaltrafficlifetime && (forPeriod === \"month\" || forPeriod === \"year\") && planparams.additionaltraffic == trafficCount && forPeriod === hasSubscriptionPeriod) {\n return (\"current_plan\");\n } else if (additionaltrafficlifetime && forPeriod === \"lifetime\" && planparams.additionaltraffic == trafficCount) {\n return (\"current_plan\");\n } else if (additionaltraffic && planparams.additionaltraffic > trafficCount && ((forPeriod === hasSubscriptionPeriod && !downgradeAllowed) || (forPeriod === \"lifetime\" && additionaltrafficlifetime))) {\n return (\"traffic_lifetime_restriction_subs\");\n }\n // Buying Pass\n } else if (forPlan == PASS_PREMIUM_PLAN_ID) {\n if ((isfreetrialactive && forPeriod === \"trial\") || (islifetime && forPeriod === \"lifetime\" && passplan === 1)) {\n return (\"current_plan\");\n } else if (passmanagerdata && forPeriod === \"free\") {\n return (\"current_active_plan\");\n } else if (isfreetrialused && forPeriod === 'trial') {\n return \"plan_upgrade_restrictions\";\n } else if ((islifetime && forPeriod != \"lifetime\") || passplan === 2) {\n return (\"custom_subscription\");\n // } else if (!emailverified) {\n // return (\"verify_email\")\n } else if (lastsubscription && !isCanceled) {\n if (lastsubscription.planid) {\n let activePlanId = lastsubscription.planid;\n let activePlanPeriod = lastsubscription.period;\n if (activePlanId === forPlan) {\n if (activePlanPeriod === forPeriod) {\n return \"current_plan\";\n } else if (activePlanPeriod === 'month' && (forPeriod === 'trial' || forPeriod === 'free')) {\n return \"plan_upgrade_restrictions\";\n } else if (activePlanPeriod === 'year' && (forPeriod === 'trial' || forPeriod === 'free' || forPeriod === 'month')) {\n return \"plan_upgrade_restrictions\";\n }\n }\n\n } else if (lastsubscription.products) {\n let products = lastsubscription.products;\n let activePlanPeriod = lastsubscription.period;\n if (products.indexOf(PASS_PREMIUM_PLAN_ID) !== -1) {\n if (activePlanPeriod === forPeriod) {\n return \"current_plan\";\n } else if (activePlanPeriod === 'month' && (forPeriod === 'trial' || forPeriod === 'free')) {\n return \"plan_upgrade_restrictions\";\n } else if (activePlanPeriod === 'year' && (forPeriod === 'trial' || forPeriod === 'free' || forPeriod === 'month')) {\n return \"plan_upgrade_restrictions\";\n }\n }\n }\n } else if ((!lastsubscription || (lastsubscription && isCanceled)) && passplan == 1 && !isfreetrialactive) {\n if (islifetime || (!islifetime && forPeriod != \"lifetime\")) {\n return \"plan_upgrade_restrictions\";\n }\n }\n\n // Active Pass Lifetime plan = disable any other Pass Plans.\n if (!isfreetrialactive && (passplan === 1 || passplan === 2) && islifetime) {\n return \"plan_upgrade_restrictions\";\n }\n } else if (forPlan == PASS_FAMILY_PLAN_ID) {\n if (passplan === 2 && passFamily && !passFamily.owner) {\n return \"custom_subscription\";\n };\n\n if ((isfreetrialactive && forPeriod === \"trial\") || (islifetime && forPeriod === \"lifetime\" && passplan === 2)) {\n return \"current_plan\";\n }\n\n if (lastsubscription && !isCanceled) {\n let activePlanPeriod = lastsubscription.period;\n\n if (activePlanPeriod === 'year' && forPeriod === 'month') {\n return \"plan_upgrade_restrictions\";\n }\n\n if (lastsubscription.planid) {\n let activePlanId = lastsubscription.planid;\n\n if (activePlanId === forPlan && activePlanPeriod === forPeriod) {\n return \"current_plan\";\n }\n } else if (lastsubscription.products) {\n let products = lastsubscription.products;\n\n if (products.indexOf(forPlan) !== -1 && activePlanPeriod === forPeriod) {\n return \"current_plan\";\n }\n }\n }\n\n // Active Pass Lifetime plan = disable any other Pass Plans.\n if (!isfreetrialactive && (passplan === 1 || passplan === 2) && islifetime) {\n return \"plan_upgrade_restrictions\";\n }\n\n // Buying Storage\n } else {\n if (plan == PREMIUM_PLAN_ID || plan == PREMIUM_PLUS_PLAN_ID || plan == CUSTOM4TB_PLAN_ID) {\n if (premiumlifetime) {\n if (plan == CUSTOM4TB_PLAN_ID && typeof planparams != 'undefined' && planparams.storage > 1 && canAddStorage) {\n return (\"custom_plan_upgrade_exceeded\");\n } else if (forPlan == CUSTOM_PLAN_ID && canAddStorage) {\n if ((incStorage == maxCustomStorageCount && (plan == PREMIUM_PLAN_ID || plan == CUSTOM4TB_PLAN_ID)) || (incStorage > maxCustomStorageCount && plan == PREMIUM_PLAN_ID)) {\n return (\"plan_upgrade_restrictions\");\n } else if (incStorage == 1 && !add500GBAllowed) {\n return ((plan == PREMIUM_PLUS_PLAN_ID || plan == CUSTOM4TB_PLAN_ID) ? \"plan_upgrade_restrictions\" : \"custom_plan_upgrade_restrictions\");\n }\n } else if (forPlan <= plan || forPlan == FAMILY2TB_PLAN_ID || forPlan == FAMILY_CUSTOM_PLAN_ID || (forPlan == CUSTOM_PLAN_ID && !canAddStorage)) {\n return (\"storage_lifetime\");\n }\n } else if (hasSubscriptionPeriod && isCanceled == false) {\n if (forPeriod == \"lifetime\") {\n if (forPlan < plan) {\n return (\"lower_plan\");\n }\n } else if (hasSubscriptionPeriod == \"month\") {\n if (forPeriod == \"month\") {\n if (forPlan < plan && !downgradeAllowed) {\n return (\"lower_plan\");\n } else if (forPlan == plan) {\n return (\"current_plan\");\n }\n } else if (\n (forPeriod == \"year\" && forPlan < plan) ||\n (forPlan < plan && premiumexpires)\n ) {\n return (\"lower_plan\");\n }\n } else if (hasSubscriptionPeriod == \"year\") {\n if (forPeriod == \"month\" && !downgradeAllowed) {\n return (\"lower_period\");\n } else {\n if (forPlan < plan && !downgradeAllowed) {\n return (\"lower_plan\");\n } else if (forPlan == plan) {\n if (!downgradeAllowed || hasSubscriptionPeriod == forPeriod) {\n return (\"current_plan\");\n }\n }\n }\n }\n } else if (isCanceled == false) {\n if (forPlan < plan) {\n return (\"lower_plan\");\n } else if (forPlan <= plan && premiumexpires) {\n let now = new Date();\n let expires = new Date(premiumexpires);\n //Get 1 day in milliseconds\n let oneDay = 1000 * 60 * 60 * 24;\n let daysLeft = Number(expires) - Number(now) / oneDay;\n\n let monthlyTabisActive = forPeriod === \"month\";\n let annualTabisActive = forPeriod === \"year\";\n\n if (daysLeft > 10 && (annualTabisActive || monthlyTabisActive)) {\n return (\"lower_period\");\n }\n }\n }\n } else if (plan == CUSTOM_PLAN_ID) {\n if (typeof planparams != 'undefined' && planparams.storage >= maxCustomStorageCount && forPlan == CUSTOM_PLAN_ID && canAddStorage) {\n return (\"custom_plan_upgrade_exceeded\");\n } else if (typeof planparams != 'undefined' && ((planparams.storage + incStorage) > maxCustomStorageCount) && forPlan == CUSTOM_PLAN_ID && canAddStorage) {\n return (\"plan_upgrade_restrictions\");\n } else if (forPlan == CUSTOM_PLAN_ID && incStorage == 1 && !add500GBAllowed) {\n if (typeof planparams != 'undefined' && planparams.storage <= 3) {\n return (\"custom_plan_upgrade_restrictions\");\n } else {\n return (\"plan_upgrade_restrictions\");\n }\n } else if (forPlan < plan || (!canAddStorage && forPlan == CUSTOM_PLAN_ID)) {\n return (\"storage_lifetime\");\n } else if (forPeriod === \"year\" || forPeriod === \"month\") {\n return (\"storage_lifetime\");\n }\n } else if ((plan == FAMILY2TB_PLAN_ID || plan == FAMILY_CUSTOM_PLAN_ID) && forPlan !== FAMILY_CUSTOM_PLAN_ID) {\n return (\"family\");\n } else if (forPlan == FAMILY_CUSTOM_PLAN_ID || forPlan == FAMILY2TB_PLAN_ID) {\n if ((plan == FAMILY_CUSTOM_PLAN_ID || plan == FAMILY2TB_PLAN_ID) && family && !family.owner) {\n return \"family\";\n } else if (plan == FAMILY_CUSTOM_PLAN_ID && typeof planparams != 'undefined') {\n if (planparams.storage >= maxFamilyStorageCount && canAddStorage) {\n return (\"custom_plan_upgrade_exceeded\");\n } else if (((planparams.storage + incStorage) > maxFamilyStorageCount) && canAddStorage) {\n return (\"plan_upgrade_restrictions\");\n }\n }\n } else {\n if (forPlan == CUSTOM_PLAN_ID && incStorage > maxCustomStorageCount) {\n return (\"plan_upgrade_restrictions\");\n }\n }\n }\n }\n }\n};\n\nexport const preventEnteringNumbers = (event) => {\n const key = event.which || event.keyCode || event.charCode;\n const pressedCharacter = String.fromCharCode(key);\n\n if (!(/[a-zA-Z '-]/).test(pressedCharacter)) {\n event.preventDefault();\n }\n}\n\ntype creditCardValidation = {\n name: string,\n range: string,\n valid_length: Array\n}\n\nexport const findCardType = (cardNumber: string): creditCardValidation => {\n const creditCardValidations = [\n {\n name: \"amex\",\n range: \"34, 37\",\n valid_length: [\"15\"]\n },\n {\n name: \"diners\",\n range: \"301, 302, 303, 304, 305, 36\",\n valid_length: [\"16\"]\n },\n {\n name: \"jcb\",\n range: \"352, 353, 354, 355, 356, 357, 358\",\n valid_length: [\"16\"]\n },\n {\n name: \"visa\",\n range: \"4\",\n valid_length: [\"19\", \"18\", \"17\", \"16\", \"15\", \"14\", \"13\"]\n },\n {\n name: \"mastercard\",\n range: \"50, 51, 52, 53, 54, 55, 222\",\n valid_length: [\"16\"]\n },\n {\n name: \"discover\",\n range: \"6011, 622, 644, 645, 646, 647, 648, 649\",\n valid_length: [\"16\"]\n }\n ];\n\n return creditCardValidations.find((cardTemplate: creditCardValidation): (creditCardValidation | false) => {\n let isThereAMatch = cardTemplate.range.split(\", \").some((range: string) => {\n const rangeLength = range.length;\n return range === cardNumber.slice(0, rangeLength);\n });\n return isThereAMatch;\n });\n}\n\nexport const getExpiryDatePeriod = (expiryDate: string, period: string): string => {\n const periods = {\n month: Number(expiryDate.split(\"/\")[0]),\n year: Number(expiryDate.split(\"/\")[1])\n }\n\n if (periods.year > 2000 && periods.year < 2100) {\n periods.year -= 2000;\n }\n\n return periods[period];\n}\n\nexport const validateExpiryDate = (expiryDate: string): boolean => {\n const month = getExpiryDatePeriod(expiryDate, \"month\");\n const year = getExpiryDatePeriod(expiryDate, \"year\");\n const currentYear = new Date().getFullYear() - 2000;\n const currentMonth = new Date().getMonth() + 1;\n\n const validateExpression =\n month <= 12 &&\n ((month > 0 && year > currentYear) || (month >= currentMonth && year == currentYear)) &&\n year <= 40;\n\n return validateExpression;\n};\n\n\nexport const getDeviceID = () => {\n if (!window.localStorage.getItem(\"deviceid\") && !rcookie(\"deviceid\")) {\n return rcookie(\"deviceid\");\n } else if (rcookie(\"deviceid\")) {\n if (window.localStorage.getItem(\"deviceid\")) {\n window.localStorage.removeItem(\"deviceid\");\n }\n return rcookie(\"deviceid\");\n } else if (window.localStorage.getItem(\"deviceid\")) {\n setcookie(\"deviceid\", window.localStorage.getItem(\"deviceid\"), 365);\n window.localStorage.removeItem(\"deviceid\");\n return rcookie(\"deviceid\");\n }\n};\n\nexport const getCurrency = ({ auth, callback = () => { } }: { auth: string, callback: () => void }) => {\n const params = {};\n let getCurrencyTries = 0;\n\n if (getCurrencyTries >= 5) {\n onSuccess(\"$\");\n return;\n }\n\n if (auth) {\n params[\"auth\"] = $.cookie(\"pcauth\");\n }\n\n if (rcookie(\"forcecurrency\")) {\n params[\"currency\"] = $.cookie(\"forcecurrency\");\n }\n\n if (rcookie(\"forcecountry\")) {\n params[\"country\"] = $.cookie(\"forcecountry\");\n }\n\n const onSuccess = (currency) => {\n if (typeof Storage !== \"undefined\" && currencyMap[currency]) {\n sessionStorage.setItem(\"pclCurrency\", currencyMap[currency]);\n }\n\n callback(currency);\n };\n\n const getCurrencyApiCall = () => {\n getCurrencyTries++;\n const onError = () => {\n setTimeout(() => {\n getCurrencyApiCall();\n }, 300);\n };\n\n pCloudGlobals.apiMethod && pCloudGlobals.apiMethod(\n \"getcurrency\",\n params,\n (data) => {\n if (data.currency) {\n onSuccess(data.currency);\n } else {\n onError();\n }\n },\n {\n errorCallback: onError\n }\n );\n };\n\n getCurrencyApiCall();\n};\n\nexport const areArraysEqual = (array1: Array, array2: Array): boolean => {\n if (!array1 || !array2) {\n return false;\n }\n\n if (array1.length !== array2.length) {\n return false;\n }\n\n for (let index1 = 0; index1 < array1.length; index1++) {\n const e1 = array1[index1];\n const e2 = array2[index1];\n\n if (Array.isArray(e1) && Array.isArray(e2)) {\n compareArrays(e1, e2);\n } else if (e1 !== e2) {\n return false;\n }\n }\n\n return true;\n}\n\nexport const formatMS = (milliseconds: number, type: \"day\" | \"hour\" | \"minute\" | \"second\"): number => {\n const typeMap = {\n \"day\": { \"divider\": 86400000, \"modulo\": milliseconds + 1 },\n \"hour\": { \"divider\": 3600000, \"modulo\": 24 },\n \"minute\": { \"divider\": 60000, \"modulo\": 60 },\n \"second\": { \"divider\": 1000, \"modulo\": 60 }\n };\n\n if (!(type in typeMap)) {\n console.error(\"Invalid duration type: \" + type);\n\n return 0;\n }\n\n return parseInt((milliseconds / typeMap[type].divider) % typeMap[type].modulo);\n};\n\nexport const msToTime = (duration: number, showHours = true): string => {\n let seconds = parseInt((duration / 1000) % 60);\n let minutes = parseInt((duration / 60000) % 60);\n let hours = parseInt((duration / 3600000) % 24);\n\n hours = hours < 10 ? '0' + hours : hours;\n minutes = minutes < 10 ? '0' + minutes : minutes;\n seconds = seconds < 10 ? '0' + seconds : seconds;\n\n return (showHours ? hours + ':' : '') + minutes + ':' + seconds;\n};\n\nexport const cleanFloat = (number: number): number => {\n let value = Number(number);\n let decimal = value % 1 == 0 ? 0 : 2;\n let result = Number(value.toFixed(decimal));\n\n if (result % 1 == 0) {\n decimal = 0;\n }\n\n return Number(value.toFixed(decimal));\n};\n\nexport const browserVersion = (userAgent, regex) => {\n return userAgent.match(regex) ? userAgent.match(regex)[2] : null;\n}\n\nexport const detectBrowser = (version) => {\n const userAgent = navigator.userAgent;\n let browser = \"unkown\";\n // Detect browser name\n browser = (/ucbrowser/i).test(userAgent) ? 'UCBrowser' : browser;\n browser = (/edg/i).test(userAgent) ? 'Edge' : browser;\n browser = (/googlebot/i).test(userAgent) ? 'GoogleBot' : browser;\n browser = (/chromium/i).test(userAgent) ? 'Chromium' : browser;\n browser = (/firefox|fxios/i).test(userAgent) && !(/seamonkey/i).test(userAgent) ? 'Firefox' : browser;\n browser = (/; msie|trident/i).test(userAgent) && !(/ucbrowser/i).test(userAgent) ? 'IE' : browser;\n browser = (/chrome|crios/i).test(userAgent) && !(/opr|opera|chromium|edg|ucbrowser|googlebot/i).test(userAgent) ? 'Chrome' : browser;;\n browser = (/safari/i).test(userAgent) && !(/chromium|edg|ucbrowser|chrome|crios|opr|opera|fxios|firefox/i).test(userAgent) ? 'Safari' : browser;\n browser = (/opr|opera/i).test(userAgent) ? 'Opera' : browser;\n browser = navigator.brave ? \"Brave\" : browser;\n\n if (version) {\n switch (browser) {\n case 'UCBrowser': return `${browser}/${browserVersion(userAgent, /(ucbrowser)\\/([\\d\\.]+)/i)}`;\n case 'Edge': return `${browser}/${browserVersion(userAgent, /(edge|edga|edgios|edg)\\/([\\d\\.]+)/i)}`;\n case 'GoogleBot': return `${browser}/${browserVersion(userAgent, /(googlebot)\\/([\\d\\.]+)/i)}`;\n case 'Chromium': return `${browser}/${browserVersion(userAgent, /(chromium)\\/([\\d\\.]+)/i)}`;\n case 'Firefox': return `${browser}/${browserVersion(userAgent, /(firefox|fxios)\\/([\\d\\.]+)/i)}`;\n case 'Chrome': return `${browser}/${browserVersion(userAgent, /(chrome|crios)\\/([\\d\\.]+)/i)}`;\n case 'Safari': return `${browser}/${browserVersion(userAgent, /(safari)\\/([\\d\\.]+)/i)}`;\n case 'Opera': return `${browser}/${browserVersion(userAgent, /(opera|opr)\\/([\\d\\.]+)/i)}`;\n case 'IE': const version = browserVersion(userAgent, /(trident)\\/([\\d\\.]+)/i);\n // IE version is mapped using trident version \n // IE/8.0 = Trident/4.0, IE/9.0 = Trident/5.0\n return version ? `${browser}/${parseFloat(version) + 4.0}` : `${browser}/7.0`;\n default: return `unknown/0.0.0.0`;\n }\n }\n\n return browser;\n}\n\nexport const isValidEmailAddress = (email: string): boolean => {\n const pattern = new RegExp(/^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\t\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/);\n return pattern.test(email);\n};\n\nexport const apiCall = (method, params, onSuccess, onError, opts) => {\n const dfd = jQuery.Deferred();\n opts = {\n errorCallback: (data) => {\n dfd.reject(data);\n if (typeof onError === 'function') {\n onError(data);\n }\n },\n ...opts\n }\n\n pCloudGlobals.apiMethod(\n method,\n params,\n (data) => {\n if (typeof onSuccess === 'function') {\n onSuccess(data);\n }\n dfd.resolve(data);\n },\n opts\n );\n\n return dfd.promise();\n};\n\nexport const apiCallPost = (method, params, onSuccess, onError, opts) => {\n const dfd = jQuery.Deferred();\n opts = {\n type: \"POST\",\n errorCallback: (data) => {\n dfd.reject(data);\n if (typeof onError === 'function') {\n onError(data);\n }\n },\n ...opts\n }\n\n pCloudGlobals.apiMethod(\n method,\n params,\n (data) => {\n dfd.resolve(data);\n if (typeof onSuccess === 'function') {\n onSuccess(data);\n }\n },\n opts\n );\n\n return dfd.promise();\n};\n\nexport const detectIsMobile = () => {\n return /Mobile|mini|Fennec|Android|iP(od|hone)/.test(navigator.appVersion);\n};\n\nexport const onMouseOut = (event, callback) => {\n const e = event ? event : window.event;\n // If this is an autocomplete element.\n if (e.target && e.target.tagName && e.target.tagName.toLowerCase() == \"input\") {\n return;\n }\n\n // Get the current viewport width.\n const vpWidth = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n\n // If the current mouse X position is within 50px of the right edge of the viewport, return.\n if (e.clientX >= (vpWidth - 50)) {\n return;\n }\n\n // If the current mouse Y position is not within 50px of the top edge of the viewport, return.\n if (e.clientY >= 50) {\n return;\n }\n\n // Fixes mozila problem where event is getting triggered on rigth click. -83 seems to be a constant value for clientY in that case.\n if (e.clientY === -83) {\n return;\n }\n\n // Reliable, works on mouse exiting window and user switching active program\n const from = e.relatedTarget || e.toElement;\n\n // User is exiting window\n if (!from && callback) {\n callback();\n }\n}\n\nexport const isInternetExplorer = () => {\n return !!document.documentMode;\n}\n\nexport const scrollToTop = () => {\n window.scrollTo(0);\n};\n\nexport const bytesToSize = (bytes) => {\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];\n if (bytes == 0) return null;\n const i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024)));\n if (i == 0) return bytes + ' ' + sizes[i];\n return (bytes / Math.pow(1024, i)).toFixed(0) + ' ' + sizes[i];\n};\n\nexport const setTitleByCodeUrl = (codeUrl, setTitle, setRegisterTitle, setLoginTitle) => {\n if (codeUrl) {\n if (codeUrl == 'DROPBOX2PCLOUD') {\n setTitle('Special for Dropbox users - press submit and enjoy 3 months of Premium 500 GB for Free');\n } else if (codeUrl == 'HUBIC2PCLOUD') {\n setTitle('Special for hubiC users - press submit and enjoy 3 months of Premium 500 GB for Free');\n } else if (codeUrl == 'APPO') {\n setTitle('Special for\"APPO\" members - register now and enjoy 3 months of Premium 500 GB for Free');\n } else if (codeUrl == 'BIRTHDAY4U') {\n setTitle(__(\"PromoPage_birthday_text\"));\n } else if (codeUrl == 'PCLOUDMUSIC') {\n setTitle(__(\"pCloud_Music_coupon_submit\").replace(\"%url_promo%\", codeUrl));\n setRegisterTitle(__(\"pCloud_Music_coupon_register\").replace(\"%url_promo%\", codeUrl));\n setLoginTitle(__(\"pCloud_Music_coupon_login\").replace(\"%url_promo%\", codeUrl));\n } else if (codeUrl == 'BDAY3MONTHS') {\n setTitle(__(\"pm_coupon_submit\").replace(\"%url_promo%\", codeUrl).replace(\"%months%\", 3));\n setRegisterTitle(__(\"pm_coupon_register\").replace(\"%url_promo%\", codeUrl).replace(\"%months%\", 3));\n setLoginTitle(__(\"pm_coupon_login\").replace(\"%url_promo%\", codeUrl).replace(\"%months%\", 3));\n } else if (codeUrl == 'PM6MONTHS' || codeUrl == \"INT6MONTHS\"|| codeUrl == \"LFS6MONTHS\") {\n setTitle(__(\"pm_coupon_submit\").replace(\"%url_promo%\", codeUrl).replace(\"%months%\", 6));\n setRegisterTitle(__(\"pm_coupon_register\").replace(\"%url_promo%\", codeUrl).replace(\"%months%\", 6));\n setLoginTitle(__(\"pm_coupon_login\").replace(\"%url_promo%\", codeUrl).replace(\"%months%\", 6));\n } else {\n setTitle(__(\"promo_submit_with_url\").replace(\"%url_promo%\", codeUrl));\n setRegisterTitle(__(\"Register for Free and enter your promo code. It will become effective immediately!\"));\n setLoginTitle(__(\"Enter your promo code upon Login and it will become effective immediately.\"));\n }\n }\n else {\n setTitle(__('Have a promo code? Enter it below.'));\n setRegisterTitle(__(\"Register for Free and enter your promo code. It will become effective immediately!\"));\n setLoginTitle(__(\"Enter your promo code upon Login and it will become effective immediately.\"));\n }\n};\n\nexport const getMonthsFromCode = (code) => {\n if (!code) {\n return \"\"\n };\n\n const indexPosition = code.indexOf(\"MONTHS\");\n let monthsCountIndex;\n\n if (indexPosition === -1) {\n return \"\";\n }\n\n if (indexPosition > 0) {\n monthsCountIndex = indexPosition - 1;\n } else {\n monthsCountIndex = indexPosition + 7;\n }\n\n if (!isNaN(code[monthsCountIndex])) {\n return code[monthsCountIndex]\n }\n\n return \"\";\n};\n\nexport const getLanguage = () => {\n return currentLang || $.cookie('set_lang') || $.cookie('lang') || 'en'\n}\n\nexport const countriesInEuropeList = {\n \"AT\": \"Austria\",\n \"BE\": \"Belgium\",\n \"BG\": \"Bulgaria\",\n \"HR\": \"Croatia\",\n \"CY\": \"Cyprus\",\n \"CZ\": \"Czech Republic\",\n \"DK\": \"Denmark\",\n \"EE\": \"Estonia\",\n \"FI\": \"Finland\",\n \"FR\": \"France\",\n \"DE\": \"Germany\",\n \"GR\": \"Greece\",\n \"HU\": \"Hungary\",\n \"IE\": \"Ireland\",\n \"IT\": \"Italy\",\n \"LV\": \"Latvia\",\n \"LT\": \"Lithuania\",\n \"LU\": \"Luxembourg\",\n \"MT\": \"Malta\",\n \"NL\": \"Netherlands\",\n \"PL\": \"Poland\",\n \"PT\": \"Portugal\",\n \"RO\": \"Romania\",\n \"SK\": \"Slovakia\",\n \"SI\": \"Slovenia\",\n \"ES\": \"Spain\",\n \"SE\": \"Sweden\",\n \"CH\": \"Switzerland\",\n \"GB\": \"United Kingdom\",\n \"AL\": \"Albania\",\n \"AD\": \"Andorra\",\n \"AM\": \"Armenia\",\n \"BY\": \"Belarus\",\n \"BA\": \"Bosnia and Herzegovina\",\n \"FO\": \"Faroe Islands\",\n \"GE\": \"Georgia\",\n \"GI\": \"Gibraltar\",\n \"IS\": \"Iceland\",\n \"IM\": \"Isle of Man\",\n \"XK\": \"Kosovo\",\n \"LI\": \"Liechtenstein\",\n \"MK\": \"Macedonia\",\n \"MD\": \"Moldova\",\n \"MC\": \"Monaco\",\n \"ME\": \"Montenegro\",\n \"NO\": \"Norway\",\n \"RU\": \"Russian Federation\",\n \"SM\": \"San Marino\",\n \"RS\": \"Serbia\",\n \"CH\": \"Switzerland\",\n \"TR\": \"Turkey\",\n \"UA\": \"Ukraine\",\n \"GB\": \"United Kingdom\",\n \"VA\": \"Vatican City State\"\n};\n\nexport const isCountryInEurope = (countryCodeToNameMap, country) => {\n return countryCodeToNameMap[country];\n};\n\nexport const encodeQueryData = (data) => {\n const ret = [];\n\n for (let d in data) {\n ret.push(encodeURIComponent(d) + '=' + encodeURIComponent(data[d]));\n }\n\n return ret.join('&');\n};\n\nexport const calculateDiscountPercent = (price, oldPrice) => Math.floor((1 - (price/oldPrice)) * 100);\n\nexport const convertDateToDDMMMYY = (date: string, shortMonthName = true, dayMonthSeparator = \" \", monthYearSeparator = \" \") => {\n const monthNames = [\n \"jan\",\n \"feb\",\n \"mar\",\n \"apr\",\n \"may\",\n \"jun\",\n \"jul\",\n \"aug\",\n \"sep\",\n \"oct\",\n \"nov\",\n \"dec\"\n ];\n const dateObj = new Date(date);\n const day = dateObj.getDate();\n const month = monthNames[dateObj.getMonth()];\n const monthKey = \"month_\" + (!shortMonthName ? \"full_\" : \"\") + month;\n const year = dateObj.getFullYear();\n\n return day + dayMonthSeparator + __(monthKey) + monthYearSeparator + year;\n};\n\nexport const daysDiff = (dateTo: string, dateFrom: string = null) => {\n const dateFromObj = dateFrom !== null && dateFrom !== \"\" ? new Date(dateFrom) : new Date();\n const dateToObj = new Date(dateTo);\n\n // Change hours and minutes to be from the start of the day.\n dateFromObj.setHours(0,0,0,0);\n dateToObj.setHours(0,0,0,0);\n return (dateToObj.getTime() - dateFromObj.getTime() + ((dateFromObj.getTimezoneOffset() - dateToObj.getTimezoneOffset()) * 60 * 1000)) / (1000 * 3600 * 24);\n};","const digitCharacters = [\n \"0\",\n \"1\",\n \"2\",\n \"3\",\n \"4\",\n \"5\",\n \"6\",\n \"7\",\n \"8\",\n \"9\",\n \"A\",\n \"B\",\n \"C\",\n \"D\",\n \"E\",\n \"F\",\n \"G\",\n \"H\",\n \"I\",\n \"J\",\n \"K\",\n \"L\",\n \"M\",\n \"N\",\n \"O\",\n \"P\",\n \"Q\",\n \"R\",\n \"S\",\n \"T\",\n \"U\",\n \"V\",\n \"W\",\n \"X\",\n \"Y\",\n \"Z\",\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\",\n \"f\",\n \"g\",\n \"h\",\n \"i\",\n \"j\",\n \"k\",\n \"l\",\n \"m\",\n \"n\",\n \"o\",\n \"p\",\n \"q\",\n \"r\",\n \"s\",\n \"t\",\n \"u\",\n \"v\",\n \"w\",\n \"x\",\n \"y\",\n \"z\",\n \"#\",\n \"$\",\n \"%\",\n \"*\",\n \"+\",\n \",\",\n \"-\",\n \".\",\n \":\",\n \";\",\n \"=\",\n \"?\",\n \"@\",\n \"[\",\n \"]\",\n \"^\",\n \"_\",\n \"{\",\n \"|\",\n \"}\",\n \"~\",\n];\n\nexport const decode83 = (str: String) => {\n let value = 0;\n for (let i = 0; i < str.length; i++) {\n const c = str[i];\n const digit = digitCharacters.indexOf(c);\n value = value * 83 + digit;\n }\n return value;\n};\n\nexport const encode83 = (n: number, length: number): string => {\n var result = \"\";\n for (let i = 1; i <= length; i++) {\n let digit = (Math.floor(n) / Math.pow(83, length - i)) % 83;\n result += digitCharacters[Math.floor(digit)];\n }\n return result;\n};\n","export const sRGBToLinear = (value: number) => {\n let v = value / 255;\n if (v <= 0.04045) {\n return v / 12.92;\n } else {\n return Math.pow((v + 0.055) / 1.055, 2.4);\n }\n};\n\nexport const linearTosRGB = (value: number) => {\n let v = Math.max(0, Math.min(1, value));\n if (v <= 0.0031308) {\n return Math.trunc(v * 12.92 * 255 + 0.5);\n } else {\n return Math.trunc((1.055 * Math.pow(v, 1 / 2.4) - 0.055) * 255 + 0.5);\n }\n};\n\nexport const sign = (n: number) => (n < 0 ? -1 : 1);\n\nexport const signPow = (val: number, exp: number) =>\n sign(val) * Math.pow(Math.abs(val), exp);\n","export class ValidationError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"ValidationError\";\n this.message = message;\n }\n}\n","import { decode83 } from \"./base83\";\nimport { sRGBToLinear, signPow, linearTosRGB } from \"./utils\";\nimport { ValidationError } from \"./error\";\n\n/**\n * Returns an error message if invalid or undefined if valid\n * @param blurhash\n */\nconst validateBlurhash = (blurhash: string) => {\n if (!blurhash || blurhash.length < 6) {\n throw new ValidationError(\n \"The blurhash string must be at least 6 characters\"\n );\n }\n\n const sizeFlag = decode83(blurhash[0]);\n const numY = Math.floor(sizeFlag / 9) + 1;\n const numX = (sizeFlag % 9) + 1;\n\n if (blurhash.length !== 4 + 2 * numX * numY) {\n throw new ValidationError(\n `blurhash length mismatch: length is ${\n blurhash.length\n } but it should be ${4 + 2 * numX * numY}`\n );\n }\n};\n\nexport const isBlurhashValid = (\n blurhash: string\n): { result: boolean; errorReason?: string } => {\n try {\n validateBlurhash(blurhash);\n } catch (error) {\n return { result: false, errorReason: error.message };\n }\n\n return { result: true };\n};\n\nconst decodeDC = (value: number) => {\n const intR = value >> 16;\n const intG = (value >> 8) & 255;\n const intB = value & 255;\n return [sRGBToLinear(intR), sRGBToLinear(intG), sRGBToLinear(intB)];\n};\n\nconst decodeAC = (value: number, maximumValue: number) => {\n const quantR = Math.floor(value / (19 * 19));\n const quantG = Math.floor(value / 19) % 19;\n const quantB = value % 19;\n\n const rgb = [\n signPow((quantR - 9) / 9, 2.0) * maximumValue,\n signPow((quantG - 9) / 9, 2.0) * maximumValue,\n signPow((quantB - 9) / 9, 2.0) * maximumValue,\n ];\n\n return rgb;\n};\n\nconst decode = (\n blurhash: string,\n width: number,\n height: number,\n punch?: number\n) => {\n validateBlurhash(blurhash);\n\n punch = punch | 1;\n\n const sizeFlag = decode83(blurhash[0]);\n const numY = Math.floor(sizeFlag / 9) + 1;\n const numX = (sizeFlag % 9) + 1;\n\n const quantisedMaximumValue = decode83(blurhash[1]);\n const maximumValue = (quantisedMaximumValue + 1) / 166;\n\n const colors = new Array(numX * numY);\n\n for (let i = 0; i < colors.length; i++) {\n if (i === 0) {\n const value = decode83(blurhash.substring(2, 6));\n colors[i] = decodeDC(value);\n } else {\n const value = decode83(blurhash.substring(4 + i * 2, 6 + i * 2));\n colors[i] = decodeAC(value, maximumValue * punch);\n }\n }\n\n const bytesPerRow = width * 4;\n const pixels = new Uint8ClampedArray(bytesPerRow * height);\n\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n let r = 0;\n let g = 0;\n let b = 0;\n\n for (let j = 0; j < numY; j++) {\n for (let i = 0; i < numX; i++) {\n const basis =\n Math.cos((Math.PI * x * i) / width) *\n Math.cos((Math.PI * y * j) / height);\n let color = colors[i + j * numX];\n r += color[0] * basis;\n g += color[1] * basis;\n b += color[2] * basis;\n }\n }\n\n let intR = linearTosRGB(r);\n let intG = linearTosRGB(g);\n let intB = linearTosRGB(b);\n\n pixels[4 * x + 0 + y * bytesPerRow] = intR;\n pixels[4 * x + 1 + y * bytesPerRow] = intG;\n pixels[4 * x + 2 + y * bytesPerRow] = intB;\n pixels[4 * x + 3 + y * bytesPerRow] = 255; // alpha\n }\n }\n return pixels;\n};\n\nexport default decode;\n","import * as React from 'react';\nimport { decode } from 'blurhash';\n\nexport type Props = React.CanvasHTMLAttributes & {\n hash: string;\n height?: number;\n punch?: number;\n width?: number;\n};\n\nexport default class BlurhashCanvas extends React.PureComponent {\n static defaultProps = {\n height: 128,\n width: 128,\n };\n\n canvas: HTMLCanvasElement = null;\n\n componentDidUpdate() {\n this.draw();\n }\n\n handleRef = (canvas: HTMLCanvasElement) => {\n this.canvas = canvas;\n this.draw();\n };\n\n draw = () => {\n const { hash, height, punch, width } = this.props;\n\n if (this.canvas) {\n const pixels = decode(hash, width, height, punch);\n\n const ctx = this.canvas.getContext('2d');\n const imageData = ctx.createImageData(width, height);\n imageData.data.set(pixels);\n ctx.putImageData(imageData, 0, 0);\n }\n };\n\n render() {\n const { hash, height, width, ...rest } = this.props;\n\n return