{"version":3,"sources":["webpack://crc/./node_modules/jsx-pragmatic/src/node.js","webpack://crc/./node_modules/jsx-pragmatic/src/constants.js","webpack://crc/./node_modules/jsx-pragmatic/src/renderers/dom.js","webpack://crc/./node_modules/jsx-pragmatic/src/util.js","webpack://crc/./node_modules/jsx-pragmatic/src/renderers/html.js","webpack://crc/./node_modules/preact/dist/preact.module.js","webpack://crc/./node_modules/grumbler-scripts/node_modules/@babel/runtime/helpers/esm/extends.js","webpack://crc/./node_modules/preact/hooks/dist/hooks.module.js","webpack://crc/./node_modules/grumbler-scripts/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://crc/./node_modules/zalgo-promise/src/utils.js","webpack://crc/./node_modules/zalgo-promise/src/exceptions.js","webpack://crc/./node_modules/zalgo-promise/src/flush.js","webpack://crc/./node_modules/zalgo-promise/src/promise.js","webpack://crc/./node_modules/@paypal/sdk-logos/src/lib/components.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/lib/util.js","webpack://crc/./node_modules/@paypal/sdk-logos/src/constants.js","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/applepay/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/bancontact/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/bank/glyph/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/card/glyph/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/credit/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/eps/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/giropay/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/ideal/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/mybank/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/p24/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/paypal/logo.jsx","webpack://crc/./src/components/modal/lib/logos.js","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/sepa/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/sofort/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/venmo/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/itau/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/wechatpay/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/zimpler/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/payu/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/verkkopankki/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/blik/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/trustly/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/oxxo/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/boleto/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/maxima/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/mercadopago/logo.jsx","webpack://crc/./src/components/modal/parts/Icon.jsx","webpack://crc/./node_modules/@paypal/sdk-constants/src/locale.js","webpack://crc/./node_modules/@paypal/sdk-constants/src/funding.js","webpack://crc/./node_modules/preact/compat/dist/compat.module.js","webpack://crc/./src/components/modal/parts/Button.jsx","webpack://crc/./node_modules/core-js-pure/stable/array/find.js","webpack://crc/./node_modules/core-js-pure/internals/well-known-symbol.js","webpack://crc/./node_modules/core-js-pure/stable/object/entries.js","webpack://crc/./src/utils/functional.js","webpack://crc/./node_modules/core-js-pure/internals/export.js","webpack://crc/./node_modules/core-js-pure/internals/global.js","webpack://crc/./src/components/modal/parts/Modal.jsx","webpack://crc/./src/components/modal/parts/Header.jsx","webpack://crc/./src/components/modal/parts/Overlay.jsx","webpack://crc/./src/components/modal/parts/Container.jsx","webpack://crc/./node_modules/core-js-pure/internals/fails.js","webpack://crc/./node_modules/core-js-pure/internals/has.js","webpack://crc/./node_modules/core-js-pure/stable/array/includes.js","webpack://crc/./node_modules/cross-domain-utils/src/constants.js","webpack://crc/./node_modules/cross-domain-utils/src/utils.js","webpack://crc/./node_modules/core-js-pure/internals/descriptors.js","webpack://crc/./node_modules/core-js-pure/internals/is-object.js","webpack://crc/./node_modules/core-js-pure/internals/create-non-enumerable-property.js","webpack://crc/./node_modules/core-js-pure/internals/an-object.js","webpack://crc/./node_modules/core-js-pure/internals/to-length.js","webpack://crc/./node_modules/core-js-pure/internals/entry-unbind.js","webpack://crc/./node_modules/css-loader/dist/runtime/api.js","webpack://crc/./node_modules/isomorphic-style-loader/insertCss.js","webpack://crc/./src/components/lib/providers/xprops.js","webpack://crc/./node_modules/core-js-pure/internals/classof-raw.js","webpack://crc/./node_modules/core-js-pure/internals/require-object-coercible.js","webpack://crc/./node_modules/core-js-pure/internals/path.js","webpack://crc/./node_modules/core-js-pure/internals/to-object.js","webpack://crc/./node_modules/core-js-pure/stable/array/from.js","webpack://crc/./node_modules/core-js-pure/stable/string/starts-with.js","webpack://crc/./src/components/lib/providers/serverData.js","webpack://crc/./node_modules/core-js-pure/internals/create-property-descriptor.js","webpack://crc/./node_modules/core-js-pure/internals/to-indexed-object.js","webpack://crc/./node_modules/core-js-pure/internals/function-bind-context.js","webpack://crc/./node_modules/core-js-pure/internals/object-define-property.js","webpack://crc/./node_modules/core-js-pure/internals/is-pure.js","webpack://crc/./node_modules/core-js-pure/internals/add-to-unscopables.js","webpack://crc/./node_modules/core-js-pure/internals/iterators.js","webpack://crc/./src/components/modal/parts/Tabs.jsx","webpack://crc/./src/components/modal/lib/providers/transition.js","webpack://crc/./node_modules/core-js-pure/internals/object-property-is-enumerable.js","webpack://crc/./node_modules/core-js-pure/internals/indexed-object.js","webpack://crc/./node_modules/core-js-pure/internals/to-primitive.js","webpack://crc/./node_modules/core-js-pure/internals/object-keys.js","webpack://crc/./node_modules/core-js-pure/internals/to-integer.js","webpack://crc/./node_modules/core-js-pure/internals/hidden-keys.js","webpack://crc/./node_modules/core-js-pure/internals/shared-store.js","webpack://crc/./node_modules/core-js-pure/internals/get-built-in.js","webpack://crc/./node_modules/core-js-pure/internals/shared-key.js","webpack://crc/./node_modules/core-js-pure/internals/to-string-tag-support.js","webpack://crc/./node_modules/core-js-pure/stable/string/includes.js","webpack://crc/./node_modules/cross-domain-safe-weakmap/src/util.js","webpack://crc/./node_modules/cross-domain-safe-weakmap/src/weakmap.js","webpack://crc/./node_modules/belter/src/util.js","webpack://crc/./node_modules/cross-domain-safe-weakmap/src/native.js","webpack://crc/./node_modules/belter/src/dom.js","webpack://crc/./node_modules/belter/src/constants.js","webpack://crc/./src/utils/miscellaneous.js","webpack://crc/./node_modules/core-js-pure/internals/object-get-own-property-descriptor.js","webpack://crc/./node_modules/core-js-pure/internals/ie8-dom-define.js","webpack://crc/./node_modules/core-js-pure/internals/document-create-element.js","webpack://crc/./node_modules/core-js-pure/internals/a-function.js","webpack://crc/./node_modules/core-js-pure/internals/array-includes.js","webpack://crc/./node_modules/core-js-pure/internals/enum-bug-keys.js","webpack://crc/./node_modules/core-js-pure/internals/array-iteration.js","webpack://crc/./node_modules/core-js-pure/internals/array-species-create.js","webpack://crc/./node_modules/core-js-pure/internals/is-array.js","webpack://crc/./node_modules/core-js-pure/internals/shared.js","webpack://crc/./node_modules/core-js-pure/internals/uid.js","webpack://crc/./node_modules/core-js-pure/internals/native-symbol.js","webpack://crc/./node_modules/core-js-pure/internals/iterators-core.js","webpack://crc/./node_modules/core-js-pure/internals/object-get-prototype-of.js","webpack://crc/./node_modules/core-js-pure/internals/set-to-string-tag.js","webpack://crc/./node_modules/core-js-pure/internals/classof.js","webpack://crc/./node_modules/core-js-pure/internals/not-a-regexp.js","webpack://crc/./node_modules/core-js-pure/internals/correct-is-regexp-logic.js","webpack://crc/./node_modules/core-js-pure/stable/array/flat-map.js","webpack://crc/./node_modules/core-js-pure/stable/object/assign.js","webpack://crc/./src/components/modal/styles/index.scss?2863","webpack://crc/./src/components/modal/lib/utils.js","webpack://crc/./node_modules/core-js-pure/stable/array/find-index.js","webpack://crc/./node_modules/core-js-pure/es/object/entries.js","webpack://crc/./node_modules/core-js-pure/modules/es.object.entries.js","webpack://crc/./node_modules/core-js-pure/internals/is-forced.js","webpack://crc/./node_modules/core-js-pure/internals/object-to-array.js","webpack://crc/./node_modules/core-js-pure/internals/object-keys-internal.js","webpack://crc/./node_modules/core-js-pure/internals/to-absolute-index.js","webpack://crc/./node_modules/core-js-pure/es/array/find.js","webpack://crc/./node_modules/core-js-pure/modules/es.array.find.js","webpack://crc/./node_modules/core-js-pure/internals/set-global.js","webpack://crc/./node_modules/core-js-pure/internals/engine-is-node.js","webpack://crc/./node_modules/core-js-pure/internals/engine-v8-version.js","webpack://crc/./node_modules/core-js-pure/internals/engine-user-agent.js","webpack://crc/./node_modules/core-js-pure/internals/use-symbol-as-uid.js","webpack://crc/./node_modules/core-js-pure/es/array/from.js","webpack://crc/./node_modules/core-js-pure/modules/es.string.iterator.js","webpack://crc/./node_modules/core-js-pure/internals/string-multibyte.js","webpack://crc/./node_modules/core-js-pure/internals/internal-state.js","webpack://crc/./node_modules/core-js-pure/internals/native-weak-map.js","webpack://crc/./node_modules/core-js-pure/internals/inspect-source.js","webpack://crc/./node_modules/core-js-pure/internals/define-iterator.js","webpack://crc/./node_modules/core-js-pure/internals/create-iterator-constructor.js","webpack://crc/./node_modules/core-js-pure/internals/correct-prototype-getter.js","webpack://crc/./node_modules/core-js-pure/internals/object-create.js","webpack://crc/./node_modules/core-js-pure/internals/object-define-properties.js","webpack://crc/./node_modules/core-js-pure/internals/html.js","webpack://crc/./node_modules/core-js-pure/internals/object-to-string.js","webpack://crc/./node_modules/core-js-pure/internals/object-set-prototype-of.js","webpack://crc/./node_modules/core-js-pure/internals/a-possible-prototype.js","webpack://crc/./node_modules/core-js-pure/internals/redefine.js","webpack://crc/./node_modules/core-js-pure/modules/es.array.from.js","webpack://crc/./node_modules/core-js-pure/internals/array-from.js","webpack://crc/./node_modules/core-js-pure/internals/call-with-safe-iteration-closing.js","webpack://crc/./node_modules/core-js-pure/internals/iterator-close.js","webpack://crc/./node_modules/core-js-pure/internals/is-array-iterator-method.js","webpack://crc/./node_modules/core-js-pure/internals/create-property.js","webpack://crc/./node_modules/core-js-pure/internals/get-iterator-method.js","webpack://crc/./node_modules/core-js-pure/internals/check-correctness-of-iteration.js","webpack://crc/./node_modules/core-js-pure/es/array/flat-map.js","webpack://crc/./node_modules/core-js-pure/modules/es.array.flat-map.js","webpack://crc/./node_modules/core-js-pure/internals/flatten-into-array.js","webpack://crc/./node_modules/core-js-pure/modules/es.array.unscopables.flat-map.js","webpack://crc/./node_modules/core-js-pure/es/array/includes.js","webpack://crc/./node_modules/core-js-pure/modules/es.array.includes.js","webpack://crc/./node_modules/core-js-pure/es/string/starts-with.js","webpack://crc/./node_modules/core-js-pure/modules/es.string.starts-with.js","webpack://crc/./node_modules/core-js-pure/internals/is-regexp.js","webpack://crc/./node_modules/core-js-pure/es/string/includes.js","webpack://crc/./node_modules/core-js-pure/modules/es.string.includes.js","webpack://crc/./node_modules/core-js-pure/es/object/assign.js","webpack://crc/./node_modules/core-js-pure/modules/es.object.assign.js","webpack://crc/./node_modules/core-js-pure/internals/object-assign.js","webpack://crc/./node_modules/core-js-pure/internals/object-get-own-property-symbols.js","webpack://crc/./src/components/modal/styles/index.scss","webpack://crc/./node_modules/core-js-pure/es/array/find-index.js","webpack://crc/./node_modules/core-js-pure/modules/es.array.find-index.js","webpack://crc/./src/components/modal/lib/providers/scroll.js","webpack://crc/./src/components/lib/hooks/helpers.js","webpack://crc/./src/components/modal/lib/hooks/applyNow.js","webpack://crc/./src/components/modal/lib/hooks/content.js","webpack://crc/./src/components/modal/lib/hooks/calculator.js"],"names":["renderChildren","children","renderer","result","renderedChild","render","Array","isArray","subchild","push","ElementNode","name","props","type","onRender","this","el","FragmentNode","TextNode","text","ComponentNode","component","renderComponent","child","normalizeChildren","length","normalizeChild","toString","TypeError","node","element","ADD_CHILDREN","firstChild","Error","addEventListener","win","contentWindow","doc","document","docElement","documentElement","removeChild","dom","appendChild","opts","domRenderer","createTextNode","createTextElement","createElement","Object","keys","prop","val","match","slice","toLowerCase","setAttribute","tagName","id","replace","charAt","Math","floor","random","addProps","hasOwnProperty","html","ELEMENT_PROP","innerHTML","window","querySelectorAll","script","parentNode","newScript","textContent","replaceChild","fixScripts","addChildren","SELF_CLOSING_TAGS","br","htmlEncode","htmlRenderer","concat","join","renderedProps","filter","key","map","renderedChildren","n","u","i","t","o","r","f","e","c","l","s","a","arguments","defaultProps","v","ref","__k","__","__b","__e","__d","__c","__h","constructor","__v","vnode","h","current","y","p","context","d","indexOf","_","base","k","b","__r","debounceRendering","sort","some","__P","I","__n","ownerSVGElement","T","m","w","A","P","g","x","value","L","z","nextSibling","insertBefore","setProperty","test","C","style","cssText","H","$","removeEventListener","removeAttribute","event","contextType","__E","prototype","M","sub","state","__s","getDerivedStateFromProps","componentWillMount","componentDidMount","componentWillReceiveProps","shouldComponentUpdate","forEach","componentWillUpdate","componentDidUpdate","getChildContext","getSnapshotBeforeUpdate","j","diffed","call","localName","nodeType","createElementNS","is","data","childNodes","dangerouslySetInnerHTML","attributes","__html","checked","unmount","componentWillUnmount","N","O","S","q","Consumer","Provider","splice","getDerivedStateFromError","setState","componentDidCatch","forceUpdate","Promise","then","bind","resolve","setTimeout","_extends","assign","target","source","apply","__H","F","useDebugValue","requestAnimationFrame","clearTimeout","cancelAnimationFrame","_objectWithoutPropertiesLoose","excluded","sourceKeys","isPromise","item","Window","err","flushPromise","dispatchedErrors","possiblyUnhandledPromiseHandlers","activeCount","flushActive","promise","startActive","endActive","ZalgoPromise","handler","resolved","rejected","errorHandled","error","handlers","dispatching","stack","isAsync","res","reject","dispatch","dispatchPossiblyUnhandledError","asyncReject","chain","firstPromise","secondPromise","onSuccess","onError","catch","undefined","finally","onFinally","try","timeout","time","toPromise","all","promises","count","results","prom","hash","awaitPromises","items","method","onPossiblyUnhandledException","cancel","args","delay","flush","SVG","svg","otherProps","svgProps","src","svgToBase64","SVGLogo","logoColor","alt","class","LOGO_CLASS","getLogoColors","logoColorMap","colors","primary","secondary","tertiary","quaternary","PAYPAL_LOGO_COLORS","PP_LOGO_COLORS","primaryOpacity","secondaryOpacity","getPPLogoBase64","aria-label","width","height","viewBox","preserveAspectRatio","xmlns","fill","PayPalLogo","getAttribute","getPPMonogramBase64","tertiaryOpacity","opacity","PPLogo","main","card","quinary","senary","logos","PRIMARY","COLOR","dimensions","WHITE","ALT_NO_PP","Icon","color","className","fill-opacity","fill-rule","transform","href","mask","logo","stroke","stroke-linecap","stroke-width","stroke-linejoin","cx","cy","version","xmlSpace","clip-rule","rx","xmlnsXlink","ry","xlinkHref","in","values","COUNTRY","AD","AE","AG","AI","AL","AM","AN","AO","AR","AT","AU","AW","AZ","BA","BB","BE","BF","BG","BH","BI","BJ","BM","BN","BO","BR","BS","BT","BW","BY","BZ","CA","CD","CG","CH","CI","CK","CL","CM","CN","CO","CR","CV","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GI","GL","GM","GN","GP","GR","GT","GW","GY","HK","HN","HR","HU","ID","IE","IL","IN","IS","IT","JM","JO","JP","KE","KG","KH","KI","KM","KN","KR","KW","KY","KZ","LA","LC","LI","LK","LS","LT","LU","LV","MA","MC","MD","ME","MG","MH","MK","ML","MN","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PL","PM","PN","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","ST","SV","SZ","TC","TD","TG","TH","TJ","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","US","UY","VA","VC","VE","VG","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW","CARD","VISA","MASTERCARD","AMEX","DISCOVER","HIPER","ELO","JCB","CUP","E","isPureReactComponent","__f","R","Symbol","for","__u","U","__R","__O","pop","fallback","delete","revealOrder","size","get","Map","reverse","set","W","V","isReactComponent","defineProperty","configurable","writable","Z","Y","cancelBubble","defaultPrevented","persist","isPropagationStopped","isDefaultPrevented","nativeEvent","G","J","multiple","selected","defaultValue","enumerable","$$typeof","K","performance","now","Button","displayName","forwardRef","onClick","classes","parent","require","module","exports","global","shared","has","uid","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","memoize","fn","cache","cacheKey","JSON","stringify","partial","intialArgs","nextArgs","curry","arity","curried","obj","getOwnPropertyDescriptor","isForced","path","createNonEnumerableProperty","wrapConstructor","NativeConstructor","Wrapper","options","USE_NATIVE","VIRTUAL_PROTOTYPE","sourceProperty","targetProperty","nativeProperty","resultProperty","descriptor","TARGET","GLOBAL","STATIC","stat","PROTO","proto","nativeSource","targetPrototype","forced","noTargetGet","wrap","Function","sham","real","check","it","globalThis","self","Modal","styles","serverData","commonStyles","_getCss","LOCALE","LOGO","Header","wrapperRef","country","useServerData","handleClose","useTransitionState","Overlay","contentMaxWidth","contentMaxHeight","useEffect","handleEscapeKeyPress","evt","charCode","left","right","top","bottom","Container","contentWrapper","products","meta","setServerData","useXProps","onReady","currency","amount","payerId","clientId","merchantId","buyerCountry","env","transitionState","useState","loading","setLoading","focus","scrollTop","product","messageRequestId","useDidUpdateEffect","getContent","containerRef","stringStartsWith","exec","IE_WIN_ACCESS_ERROR","isAboutProtocol","location","protocol","canReadFromWindow","getActualDomain","PROTOCOL","getParent","host","getDomain","domain","mockDomain","isSameDomain","desc","isActuallySameDomain","assertSameDomain","iframeWindows","iframeFrames","isWindowClosed","allowMock","closed","message","mockclosed","iframeIndex","collection","safeIndexOf","frame","ownerDocument","contains","isFrameWindowClosed","linkFrameWindow","cleanIframes","isWindow","__cross_domain_utils_window_check__","fails","DESCRIPTORS","definePropertyModule","createPropertyDescriptor","object","isObject","String","toInteger","min","argument","getBuiltIn","useSourceMap","list","content","base64","cssMapping","btoa","sourceMapping","unescape","encodeURIComponent","sourceURLs","sources","sourceRoot","cssWithMappingToString","modules","mediaQuery","dedupe","alreadyImportedModules","_i","inserted","removeCss","ids","elem","getElementById","_temp","str","_ref","_ref$replace","_ref$prepend","prepend","_ref$prefix","prefix","_styles$i","css","media","sourceMap","create","p1","fromCharCode","file","styleSheet","head","XPropsContext","createContext","XPropsProvider","xprops","xProps","setXProps","onProps","newProps","useContext","requireObjectCoercible","ServerData","ServerDataProvider","_setServerData","updates","bitmap","IndexedObject","aFunction","that","IE8_DOM_DEFINE","anObject","toPrimitive","$defineProperty","Attributes","Tabs","tabs","onSelect","initialTab","offer","max","arrayFindIndex","getProductForOffer","getInitialTabIndex","currentTab","setCurrentTab","scrollTo","useScroll","selectTab","index","hasHeader","tab","Boolean","header","role","linkName","tabClick","ariaSelected","ariaControls","title","ariaLabelledby","body","TransitionContext","status","setStatus","TransitionStateProvider","show","onShow","visible","hide","onClose","$propertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","1","classof","split","input","PREFERRED_STRING","valueOf","internalObjectKeys","enumBugKeys","ceil","isNaN","setGlobal","store","variable","namespace","wellKnownSymbol","objectIDs","CrossDomainSafeWeakMap","weakmap","WeakMap","freeze","testWeakMap","testKey","hasNativeWeakMap","_cleanupClosedWindows","isSafeToReadWrite","entry","getOrSet","getter","base64encode","parseInt","Buffer","from","uniqueID","chars","Date","toISOString","serializeArgs","subkey","getObjectID","getEmptyObject","memoizeGlobalIndex","memoizeGlobalIndexValidFrom","simpleCache","thisCache","thisNamespace","cacheTime","memoizeIndex","memoizedFunction","cacheResult","reset","__name__","setFunctionName","capitalizeFirstLetter","string","toUpperCase","isDocumentReady","readyState","isDocumentInteractive","clear","interval","setInterval","clearInterval","currentScript","getCurrentScript","getStackTrace","stackDetails","scriptLocation","getElementsByTagName","inferCurrentScript","currentUID","ATTRIBUTES","request","url","headers","withCredentials","xhttp","XMLHttpRequest","onreadystatechange","responseHeaders","getAllResponseHeaders","trim","reduce","accumulator","stringIncludes","parse","responseText","open","objectEntries","setRequestHeader","send","createEvent","Event","initEvent","viewport","querySelector","__pp_prev_content__","__pp_prev_overflow__","overflow","__pp_prev_msOverflowStyle__","msOverflowStyle","getEventListenerPassiveOptionIfSupported","passiveIfSupported","passive","propertyIsEnumerableModule","toIndexedObject","$getOwnPropertyDescriptor","EXISTS","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","fromIndex","includes","toObject","arraySpeciesCreate","TYPE","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_OUT","NO_HOLES","callbackfn","specificCreate","boundFunction","every","find","findIndex","filterOut","SPECIES","originalArray","arg","IS_PURE","mode","copyright","postfix","IS_NODE","V8_VERSION","getOwnPropertySymbols","IteratorPrototype","PrototypeOfArrayIteratorPrototype","arrayIterator","getPrototypeOf","ITERATOR","BUGGY_SAFARI_ITERATORS","NEW_ITERATOR_PROTOTYPE","sharedKey","CORRECT_PROTOTYPE_GETTER","IE_PROTO","ObjectPrototype","TO_STRING_TAG_SUPPORT","TO_STRING_TAG","TAG","SET_METHOD","classofRaw","CORRECT_ARGUMENTS","tag","tryGet","callee","isRegExp","MATCH","METHOD_NAME","regexp","error1","error2","insertCss","locals","_getContent","_insertCss","query","payer_id","client_id","merchant_id","buyer_country","acc","origin","entries","$entries","replacement","feature","detection","normalize","POLYFILL","NATIVE","objectKeys","TO_ENTRIES","hiddenKeys","names","integer","entryUnbind","$find","addToUnscopables","SKIPS_HOLES","process","userAgent","versions","v8","iterator","InternalStateModule","defineIterator","setInternalState","getInternalState","getterFor","iterated","point","done","CONVERT_TO_STRING","pos","first","second","position","charCodeAt","codeAt","NATIVE_WEAK_MAP","objectHas","wmget","wmhas","wmset","metadata","facade","STATE","enforce","inspectSource","functionToString","createIteratorConstructor","setPrototypeOf","setToStringTag","redefine","Iterators","IteratorsCore","returnThis","Iterable","NAME","IteratorConstructor","next","DEFAULT","IS_SET","FORCED","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","activeXDocument","defineProperties","documentCreateElement","EmptyConstructor","scriptTag","NullProtoObject","ActiveXObject","iframeDocument","iframe","write","close","temp","parentWindow","NullProtoObjectViaActiveX","display","Properties","aPossiblePrototype","setter","CORRECT_SETTER","__proto__","checkCorrectnessOfIteration","iterable","callWithSafeIterationClosing","isArrayIteratorMethod","createProperty","getIteratorMethod","arrayLike","step","argumentsLength","mapfn","mapping","iteratorMethod","iteratorClose","ENTRIES","returnMethod","ArrayPrototype","propertyKey","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","flattenIntoArray","flatMap","sourceLen","original","start","depth","mapper","thisArg","targetIndex","sourceIndex","mapFn","$includes","notARegExp","correctIsRegExpLogic","$startsWith","startsWith","CORRECT_IS_REGEXP_LOGIC","searchString","search","getOwnPropertySymbolsModule","$assign","B","symbol","chr","___CSS_LOADER_API_IMPORT___","$findIndex","ScrollContext","addScrollCallback","removeScrollCallback","ScrollProvider","callbacks","setCallbacks","handleScroll","callback","passiveOption","currentCallbacks","cb","dependencies","useCallback","deps","mounted","useRef","useDidUpdateLayoutEffect","useLayoutEffect","clickTitle","refId","urlBase","local","stage","sandbox","production","intervalId","useProduct","arrayFind","useContent","useProductMeta","reducer","action","inputValue","isLoading","prevValue","terms","formattedAmount","localize","number","Number","toLocaleString","minimumFractionDigits","useCalculator","initialTerms","onCalculate","useReducer","fetchTerms","inputAmount","changeInput","submit","preventDefault","delocalizedValue","toFixed","delocalize"],"mappings":"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LC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACLC,GAAK,KACL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","file":"smart-credit-common.js","sourcesContent":["/* @flow */\n\nimport { NODE_TYPE } from './constants';\n\nexport type NodePropsType = {\n [string] : any // eslint-disable-line flowtype/no-weak-types\n};\n\nexport type EmptyProps = {||};\n\nexport type NodeRenderer = (N) => O;\nexport type NodeRendererFactory = (L) => NodeRenderer;\n\ntype Primitive = string | boolean | number;\ntype NullablePrimitive = Primitive | null | void;\n\nexport type NodeType = ElementNode | TextNode | FragmentNode | ComponentNode<*>; // eslint-disable-line no-use-before-define\nexport type ChildNodeType = ElementNode | TextNode | ComponentNode<*>; // eslint-disable-line no-use-before-define\nexport type ChildType = ChildNodeType | Primitive | $ReadOnlyArray;\nexport type ChildrenType = $ReadOnlyArray;\nexport type NullableChildType = $ReadOnlyArray | ChildNodeType | NullablePrimitive;\nexport type NullableChildrenType = $ReadOnlyArray;\n\nexport type ComponentFunctionType

= (P, ChildrenType) => NullableChildType;\n\nexport type CreateElementNode =

(string, P, ...NullableChildrenType) => ElementNode; // eslint-disable-line no-undef, no-use-before-define\nexport type CreateComponentNode =

(ComponentFunctionType

, P, ...NullableChildrenType) => ComponentNode<*>; // eslint-disable-line no-undef, no-use-before-define\nexport type CreateNullComponentNode =

(ComponentFunctionType

, null, ...NullableChildrenType) => ComponentNode<*>; // eslint-disable-line no-undef, no-use-before-define\n\nexport type CreateNode = CreateNullComponentNode & CreateComponentNode & CreateElementNode;\n\nfunction renderChildren(children : $ReadOnlyArray>, renderer : NodeRenderer<*, *>) : $ReadOnlyArray { // eslint-disable-line no-use-before-define\n const result = [];\n\n for (const child of children) {\n const renderedChild = child.render(renderer);\n\n if (!renderedChild) {\n continue;\n } else if (Array.isArray(renderedChild)) {\n for (const subchild of renderedChild) {\n if (subchild) {\n result.push(subchild);\n }\n }\n } else {\n result.push(renderedChild);\n }\n }\n\n return result;\n}\n\nexport class ElementNode {\n type : (typeof NODE_TYPE.ELEMENT) = NODE_TYPE.ELEMENT\n\n name : string\n props : NodePropsType\n children : $ReadOnlyArray> // eslint-disable-line no-use-before-define\n onRender : ?(T) => void // eslint-disable-line no-undef\n\n constructor(name : string, props : NodePropsType, children : $ReadOnlyArray>) { // eslint-disable-line no-use-before-define\n this.name = name;\n this.props = props || {};\n this.children = children;\n\n const onRender = this.props.onRender;\n if (typeof onRender === 'function') {\n this.onRender = onRender;\n delete props.onRender;\n }\n }\n\n render(renderer : NodeRenderer<*, *>) : T {\n const el = renderer(this);\n if (this.onRender) {\n this.onRender(el);\n }\n return el;\n }\n\n renderChildren(renderer : NodeRenderer<*, *>) : $ReadOnlyArray {\n return renderChildren(this.children, renderer);\n }\n}\n\nexport class FragmentNode {\n type : (typeof NODE_TYPE.FRAGMENT) = NODE_TYPE.FRAGMENT\n\n children : $ReadOnlyArray> // eslint-disable-line no-use-before-define\n\n constructor(children : $ReadOnlyArray>) { // eslint-disable-line no-use-before-define\n this.children = children;\n }\n\n render(renderer : NodeRenderer<*, *>) : $ReadOnlyArray {\n return renderChildren(this.children, renderer);\n }\n}\n\nexport class TextNode {\n type : (typeof NODE_TYPE.TEXT) = NODE_TYPE.TEXT\n\n text : string\n\n constructor(text : string) {\n this.text = text;\n }\n\n render(renderer : NodeRenderer<*, *>) : T {\n return renderer(this);\n }\n}\n\n// eslint-disable-next-line no-unused-vars\nexport class ComponentNode

{\n type : (typeof NODE_TYPE.COMPONENT) = NODE_TYPE.COMPONENT\n\n component : ComponentFunctionType\n props : NodePropsType\n children : $ReadOnlyArray>\n\n constructor(component : ComponentFunctionType, props : NodePropsType, children : $ReadOnlyArray>) {\n this.component = component;\n this.props = props || {};\n this.children = children;\n\n this.props.children = children;\n }\n\n renderComponent(renderer : NodeRenderer<*, *>) : * {\n const child = normalizeChild(this.component(this.props, this.children)); // eslint-disable-line no-use-before-define\n if (child) {\n return child.render(renderer);\n }\n }\n\n render(renderer : NodeRenderer<*, *>) : T {\n return renderer(this);\n }\n\n renderChildren(renderer : NodeRenderer<*, *>) : $ReadOnlyArray {\n return renderChildren(this.children, renderer);\n }\n}\n\nfunction normalizeChildren(children : NullableChildrenType) : $ReadOnlyArray> {\n const result = [];\n\n for (const child of children) {\n if (!child) {\n continue;\n } else if (typeof child === 'string' || typeof child === 'number') {\n result.push(new TextNode(child.toString()));\n } else if (typeof child === 'boolean') {\n continue;\n } else if (Array.isArray(child)) {\n for (const subchild of normalizeChildren(child)) {\n result.push(subchild);\n }\n } else if (child && (child.type === NODE_TYPE.ELEMENT || child.type === NODE_TYPE.TEXT || child.type === NODE_TYPE.COMPONENT)) {\n result.push(child);\n } else {\n throw new TypeError(`Unrecognized node type: ${ typeof child }`);\n }\n }\n\n return result;\n}\n\nfunction normalizeChild(child) : ElementNode | TextNode | ComponentNode<*> | FragmentNode | void {\n const children = normalizeChildren(Array.isArray(child) ? child : [ child ]);\n\n if (children.length === 1) {\n return children[0];\n } else if (children.length > 1) {\n return new FragmentNode(children);\n }\n}\n\nexport const node : CreateNode =

(element, props : P, ...children) => {\n children = normalizeChildren(children);\n\n if (typeof element === 'string') {\n // $FlowFixMe\n return new ElementNode(element, props, children);\n }\n \n if (typeof element === 'function') {\n // $FlowFixMe\n return new ComponentNode<*>(element, props, children);\n }\n\n throw new TypeError(`Expected jsx element to be a string or a function`);\n};\n\nexport const Fragment : ComponentFunctionType = (props, children) => {\n return children;\n};\n","/* @flow */\n\nexport const NODE_TYPE = {\n ELEMENT: ('element' : 'element'),\n TEXT: ('text' : 'text'),\n COMPONENT: ('component' : 'component'),\n FRAGMENT: ('fragment' : 'fragment')\n};\n","/* @flow */\n\nimport { ComponentNode, TextNode, type NodeRenderer, ElementNode } from '../node';\nimport { NODE_TYPE } from '../constants';\nimport { uniqueID } from '../util';\n\ntype DomNodeRenderer = NodeRenderer;\ntype DomTextRenderer = NodeRenderer;\ntype DomComponentRenderer = NodeRenderer, HTMLElement | TextNode | $ReadOnlyArray | void>;\ntype DomRenderer = DomComponentRenderer & DomNodeRenderer & DomTextRenderer;\n\nconst ELEMENT_TAG = {\n HTML: 'html',\n IFRAME: 'iframe',\n SCRIPT: 'script',\n DEFAULT: 'default'\n};\n\nconst ELEMENT_PROP = {\n ID: 'id',\n INNER_HTML: 'innerHTML',\n EL: 'el'\n};\n\nfunction fixScripts(el : HTMLElement, doc : Document = window.document) {\n for (const script of el.querySelectorAll('script')) {\n const parentNode = script.parentNode;\n\n if (!parentNode) {\n continue;\n }\n\n const newScript = doc.createElement('script');\n newScript.text = script.textContent;\n parentNode.replaceChild(newScript, script);\n }\n}\n\nfunction createElement(doc : Document, node : ElementNode) : HTMLElement {\n if (node.props[ELEMENT_PROP.EL]) {\n return node.props[ELEMENT_PROP.EL];\n }\n\n return doc.createElement(node.name);\n}\n\nfunction createTextElement(doc : Document, node : TextNode) : Text {\n return doc.createTextNode(node.text);\n}\n\nfunction addProps(el : HTMLElement, node) {\n const props = node.props;\n\n for (const prop of Object.keys(props)) {\n const val = props[prop];\n\n if (val === null || typeof val === 'undefined' || prop === ELEMENT_PROP.EL || prop === ELEMENT_PROP.INNER_HTML) {\n continue;\n }\n\n if (prop.match(/^on[A-Z][a-z]/) && typeof val === 'function') {\n el.addEventListener(prop.slice(2).toLowerCase(), val);\n } else if (typeof val === 'string' || typeof val === 'number') {\n el.setAttribute(prop, val.toString());\n\n } else if (typeof val === 'boolean') {\n if (val === true) {\n el.setAttribute(prop, '');\n }\n }\n }\n\n if (el.tagName.toLowerCase() === ELEMENT_TAG.IFRAME && !props.id) {\n el.setAttribute(ELEMENT_PROP.ID, `jsx-iframe-${ uniqueID() }`);\n }\n}\nconst ADD_CHILDREN : { [string] : (HTMLElement, ElementNode, DomNodeRenderer) => void } = {\n\n [ ELEMENT_TAG.IFRAME ]: (el, node) => {\n const firstChild = node.children[0];\n\n if (node.children.length !== 1 || !(firstChild && firstChild.type === NODE_TYPE.ELEMENT) || firstChild.name !== ELEMENT_TAG.HTML) {\n throw new Error(`Expected only single html element node as child of ${ ELEMENT_TAG.IFRAME } element`);\n }\n \n el.addEventListener('load', () => {\n\n // $FlowFixMe\n const win = el.contentWindow;\n \n if (!win) {\n throw new Error(`Expected frame to have contentWindow`);\n }\n\n const doc = win.document;\n const docElement = doc.documentElement;\n\n while (docElement.children && docElement.children.length) {\n docElement.removeChild(docElement.children[0]);\n }\n\n // eslint-disable-next-line no-use-before-define\n const child : HTMLElement = firstChild.render(dom({ doc }));\n \n while (child.children.length) {\n docElement.appendChild(child.children[0]);\n }\n });\n },\n\n [ ELEMENT_TAG.SCRIPT ]: (el, node) => {\n const firstChild = node.children[0];\n\n if (node.children.length !== 1 || !(firstChild && firstChild.type === NODE_TYPE.TEXT)) {\n throw new Error(`Expected only single text node as child of ${ ELEMENT_TAG.SCRIPT } element`);\n }\n \n // $FlowFixMe\n el.text = firstChild.text;\n },\n\n [ ELEMENT_TAG.DEFAULT ]: (el, node, renderer) => {\n for (const child of node.renderChildren(renderer)) {\n el.appendChild(child);\n }\n }\n};\n\nfunction addChildren(el : HTMLElement, node : ElementNode, doc : Document, renderer : DomNodeRenderer) {\n if (node.props.hasOwnProperty(ELEMENT_PROP.INNER_HTML)) {\n\n if (node.children.length) {\n throw new Error(`Expected no children to be passed when ${ ELEMENT_PROP.INNER_HTML } prop is set`);\n }\n\n const html = node.props[ELEMENT_PROP.INNER_HTML];\n\n if (typeof html !== 'string') {\n throw new TypeError(`${ ELEMENT_PROP.INNER_HTML } prop must be string`);\n }\n\n if (node.name === ELEMENT_TAG.SCRIPT) {\n // $FlowFixMe\n el.text = html;\n } else {\n el.innerHTML = html;\n fixScripts(el, doc);\n }\n\n } else {\n const addChildrenToElement = ADD_CHILDREN[node.name] || ADD_CHILDREN[ELEMENT_TAG.DEFAULT];\n addChildrenToElement(el, node, renderer);\n }\n}\n\ntype DomOptions = {|\n doc? : Document\n|};\n\nconst getDefaultDomOptions = () : DomOptions => {\n // $FlowFixMe\n return {};\n};\n\nexport function dom(opts? : DomOptions = getDefaultDomOptions()) : DomRenderer {\n const { doc = document } = opts;\n \n const domRenderer : DomRenderer = (node) => {\n if (node.type === NODE_TYPE.COMPONENT) {\n return node.renderComponent(domRenderer);\n }\n \n if (node.type === NODE_TYPE.TEXT) {\n // $FlowFixMe\n return createTextElement(doc, node);\n }\n \n if (node.type === NODE_TYPE.ELEMENT) {\n const el = createElement(doc, node);\n addProps(el, node);\n addChildren(el, node, doc, domRenderer);\n // $FlowFixMe\n return el;\n }\n\n throw new TypeError(`Unhandleable node`);\n };\n\n return domRenderer;\n}\n","/* @flow */\n\nconst ALPHA_CHARS = '0123456789abcdef';\n\nexport function uniqueID() : string {\n return 'xxxxxxxxxx'.replace(/./g, () => ALPHA_CHARS.charAt(Math.floor(Math.random() * ALPHA_CHARS.length)));\n}\n\n// eslint-disable-next-line flowtype/no-weak-types\nexport function isDefined(val : any) : boolean %checks {\n return (val !== null && typeof val !== 'undefined');\n}\n","/* @flow */\n\nimport { ComponentNode, TextNode, ElementNode, type NodePropsType, type NodeRenderer } from '../node';\nimport { NODE_TYPE } from '../constants';\n\ntype HTMLRenderer = NodeRenderer, string>;\n\nconst ELEMENT_PROP = {\n INNER_HTML: 'innerHTML'\n};\n\nconst SELF_CLOSING_TAGS = {\n br: true\n};\n\nfunction htmlEncode(text : string) : string {\n return text\n .replace(/&/g, '&')\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''')\n .replace(/\\//g, '/');\n}\n\nfunction propsToHTML(props : NodePropsType) : string {\n const keys = Object.keys(props).filter(key => {\n const val = props[key];\n\n if (key === ELEMENT_PROP.INNER_HTML) {\n return false;\n }\n\n if (typeof val === 'string' || typeof val === 'number' || val === true) {\n return true;\n }\n\n return false;\n });\n\n if (!keys.length) {\n return '';\n }\n\n const pairs = keys.map(key => {\n const val = props[key];\n\n if (val === true) {\n return `${ htmlEncode(key) }`;\n }\n\n if (typeof val !== 'string' && typeof val !== 'number') {\n throw new TypeError(`Unexpected prop type: ${ typeof val }`);\n }\n\n if (val === '') {\n return htmlEncode(key);\n }\n\n return `${ htmlEncode(key) }=\"${ htmlEncode(val.toString()) }\"`;\n });\n\n return ` ${ pairs.join(' ') }`;\n}\n\nexport function html() : HTMLRenderer {\n\n const htmlRenderer = (node) => {\n if (node.type === NODE_TYPE.COMPONENT) {\n return [].concat(node.renderComponent(htmlRenderer)).join('');\n }\n \n if (node.type === NODE_TYPE.ELEMENT) {\n const renderedProps = propsToHTML(node.props);\n\n if (SELF_CLOSING_TAGS[node.name]) {\n return `<${ node.name }${ renderedProps } />`;\n } else {\n const renderedChildren = (typeof node.props[ELEMENT_PROP.INNER_HTML] === 'string')\n ? node.props[ELEMENT_PROP.INNER_HTML]\n : node.renderChildren(htmlRenderer).join('');\n\n return `<${ node.name }${ renderedProps }>${ renderedChildren }`;\n }\n }\n \n if (node.type === NODE_TYPE.TEXT) {\n return htmlEncode(node.text);\n }\n\n throw new TypeError(`Unhandleable node: ${ node.type }`);\n };\n\n return htmlRenderer;\n}\n","var n,l,u,i,t,o,r={},f=[],e=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function c(n,l){for(var u in l)n[u]=l[u];return n}function s(n){var l=n.parentNode;l&&l.removeChild(n)}function a(n,l,u){var i,t,o,r=arguments,f={};for(o in l)\"key\"==o?i=l[o]:\"ref\"==o?t=l[o]:f[o]=l[o];if(arguments.length>3)for(u=[u],o=3;o0?v(k.type,k.props,k.key,null,k.__v):k)){if(k.__=u,k.__b=u.__b+1,null===(_=A[h])||_&&k.key==_.key&&k.type===_.type)A[h]=void 0;else for(p=0;p3)for(u=[u],o=3;o=i.__.length&&i.__.push({}),i.__[t]}function l(n){return o=1,p(w,n)}function p(n,r,o){var i=m(t++,2);return i.t=n,i.__c||(i.__=[o?o(r):w(void 0,r),function(n){var t=i.t(i.__[0],n);i.__[0]!==t&&(i.__=[t,i.__[1]],i.__c.setState({}))}],i.__c=u),i.__}function y(r,o){var i=m(t++,3);!n.__s&&k(i.__H,o)&&(i.__=r,i.__H=o,u.__H.__h.push(i))}function h(r,o){var i=m(t++,4);!n.__s&&k(i.__H,o)&&(i.__=r,i.__H=o,u.__h.push(i))}function s(n){return o=5,d(function(){return{current:n}},[])}function _(n,t,u){o=6,h(function(){\"function\"==typeof n?n(t()):n&&(n.current=t())},null==u?u:u.concat(n))}function d(n,u){var r=m(t++,7);return k(r.__H,u)&&(r.__=n(),r.__H=u,r.__h=n),r.__}function A(n,t){return o=8,d(function(){return n},t)}function F(n){var r=u.context[n.__c],o=m(t++,9);return o.__c=n,r?(null==o.__&&(o.__=!0,r.sub(u)),r.props.value):n.__}function T(t,u){n.useDebugValue&&n.useDebugValue(u?u(t):t)}function q(n){var r=m(t++,10),o=l();return r.__=n,u.componentDidCatch||(u.componentDidCatch=function(n){r.__&&r.__(n),o[1](n)}),[o[0],function(){o[1](void 0)}]}function x(){i.forEach(function(t){if(t.__P)try{t.__H.__h.forEach(g),t.__H.__h.forEach(j),t.__H.__h=[]}catch(u){t.__H.__h=[],n.__e(u,t.__v)}}),i=[]}n.__b=function(n){u=null,c&&c(n)},n.__r=function(n){f&&f(n),t=0;var r=(u=n.__c).__H;r&&(r.__h.forEach(g),r.__h.forEach(j),r.__h=[])},n.diffed=function(t){e&&e(t);var o=t.__c;o&&o.__H&&o.__H.__h.length&&(1!==i.push(o)&&r===n.requestAnimationFrame||((r=n.requestAnimationFrame)||function(n){var t,u=function(){clearTimeout(r),b&&cancelAnimationFrame(t),setTimeout(n)},r=setTimeout(u,100);b&&(t=requestAnimationFrame(u))})(x)),u=void 0},n.__c=function(t,u){u.some(function(t){try{t.__h.forEach(g),t.__h=t.__h.filter(function(n){return!n.__||j(n)})}catch(r){u.some(function(n){n.__h&&(n.__h=[])}),u=[],n.__e(r,t.__v)}}),a&&a(t,u)},n.unmount=function(t){v&&v(t);var u=t.__c;if(u&&u.__H)try{u.__H.__.forEach(g)}catch(t){n.__e(t,u.__v)}};var b=\"function\"==typeof requestAnimationFrame;function g(n){var t=u;\"function\"==typeof n.__c&&n.__c(),u=t}function j(n){var t=u;n.__c=n.__(),u=t}function k(n,t){return!n||n.length!==t.length||t.some(function(t,u){return t!==n[u]})}function w(n,t){return\"function\"==typeof t?t(n):t}export{l as useState,p as useReducer,y as useEffect,h as useLayoutEffect,s as useRef,_ as useImperativeHandle,d as useMemo,A as useCallback,F as useContext,T as useDebugValue,q as useErrorBoundary};\n//# sourceMappingURL=hooks.module.js.map\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}","/* @flow */\n\nexport function isPromise(item : mixed) : boolean {\n try {\n if (!item) {\n return false;\n }\n\n if (typeof Promise !== 'undefined' && item instanceof Promise) {\n return true;\n }\n\n if (typeof window !== 'undefined' && typeof window.Window === 'function' && item instanceof window.Window) {\n return false;\n }\n\n if (typeof window !== 'undefined' && typeof window.constructor === 'function' && item instanceof window.constructor) {\n return false;\n }\n\n const toString = ({}).toString;\n\n if (toString) {\n const name = toString.call(item);\n\n if (name === '[object Window]' || name === '[object global]' || name === '[object DOMWindow]') {\n return false;\n }\n }\n\n if (typeof item.then === 'function') {\n return true;\n }\n } catch (err) {\n return false;\n }\n\n return false;\n}\n","/* @flow */\n\nimport type { ZalgoPromise } from './promise';\n\nconst dispatchedErrors = [];\nconst possiblyUnhandledPromiseHandlers : Array<(mixed, promise? : ZalgoPromise) => void> = [];\n\nexport function dispatchPossiblyUnhandledError(err : mixed, promise : ZalgoPromise) {\n\n if (dispatchedErrors.indexOf(err) !== -1) {\n return;\n }\n\n dispatchedErrors.push(err);\n\n setTimeout(() => {\n if (__DEBUG__) {\n // $FlowFixMe\n throw new Error(`${ err.stack || err.toString() }\\n\\nFrom promise:\\n\\n${ promise.stack }`);\n }\n\n throw err;\n }, 1);\n\n for (let j = 0; j < possiblyUnhandledPromiseHandlers.length; j++) {\n // $FlowFixMe\n possiblyUnhandledPromiseHandlers[j](err, promise);\n }\n}\n\nexport function onPossiblyUnhandledException(handler : (mixed, promise? : ZalgoPromise) => void) : {| cancel : () => void |} {\n possiblyUnhandledPromiseHandlers.push(handler);\n\n return {\n cancel() {\n possiblyUnhandledPromiseHandlers.splice(possiblyUnhandledPromiseHandlers.indexOf(handler), 1);\n }\n };\n}\n","/* @flow */\n\nimport type { ZalgoPromise } from './promise';\n\nlet activeCount = 0;\nlet flushPromise;\n\nfunction flushActive() {\n if (!activeCount && flushPromise) {\n const promise = flushPromise;\n flushPromise = null;\n promise.resolve();\n }\n}\n\nexport function startActive() {\n activeCount += 1;\n}\n\nexport function endActive() {\n activeCount -= 1;\n flushActive();\n}\n\nexport function awaitActive(Zalgo : Class>) : ZalgoPromise { // eslint-disable-line no-undef\n const promise = flushPromise = flushPromise || new Zalgo();\n flushActive();\n return promise;\n}\n","/* @flow */\n\nimport { isPromise } from './utils';\nimport { onPossiblyUnhandledException, dispatchPossiblyUnhandledError } from './exceptions';\nimport { startActive, endActive, awaitActive } from './flush';\n\nexport class ZalgoPromise {\n\n resolved : boolean\n rejected : boolean\n errorHandled : boolean\n value : R\n error : mixed\n // eslint-disable-next-line flowtype/no-mutable-array\n handlers : Array<{|\n promise : ZalgoPromise<*>,\n onSuccess : void | (result : R) => mixed,\n onError : void | (error : mixed) => mixed\n |}>\n dispatching : boolean\n stack : string\n\n constructor(handler : ?(resolve : (result : R) => void, reject : (error : mixed) => void) => void) {\n\n this.resolved = false;\n this.rejected = false;\n this.errorHandled = false;\n\n this.handlers = [];\n\n if (handler) {\n\n let result;\n let error;\n let resolved = false;\n let rejected = false;\n let isAsync = false;\n\n startActive();\n\n try {\n handler(res => {\n if (isAsync) {\n this.resolve(res);\n } else {\n resolved = true;\n result = res;\n }\n\n }, err => {\n if (isAsync) {\n this.reject(err);\n } else {\n rejected = true;\n error = err;\n }\n });\n\n } catch (err) {\n endActive();\n this.reject(err);\n return;\n }\n\n endActive();\n\n isAsync = true;\n\n if (resolved) {\n // $FlowFixMe\n this.resolve(result);\n } else if (rejected) {\n this.reject(error);\n }\n }\n\n if (__DEBUG__) {\n try {\n throw new Error(`ZalgoPromise`);\n } catch (err) {\n this.stack = err.stack;\n }\n }\n }\n\n resolve(result : R) : ZalgoPromise {\n if (this.resolved || this.rejected) {\n return this;\n }\n\n if (isPromise(result)) {\n throw new Error('Can not resolve promise with another promise');\n }\n\n this.resolved = true;\n this.value = result;\n this.dispatch();\n\n return this;\n }\n\n reject(error : mixed) : ZalgoPromise {\n if (this.resolved || this.rejected) {\n return this;\n }\n\n if (isPromise(error)) {\n throw new Error('Can not reject promise with another promise');\n }\n\n if (!error) {\n // $FlowFixMe\n const err = (error && typeof error.toString === 'function' ? error.toString() : Object.prototype.toString.call(error));\n error = new Error(`Expected reject to be called with Error, got ${ err }`);\n }\n\n this.rejected = true;\n this.error = error;\n\n if (!this.errorHandled) {\n setTimeout(() => {\n if (!this.errorHandled) {\n dispatchPossiblyUnhandledError(error, this);\n }\n }, 1);\n }\n\n this.dispatch();\n\n return this;\n }\n\n asyncReject(error : mixed) : ZalgoPromise {\n this.errorHandled = true;\n this.reject(error);\n return this;\n }\n \n dispatch() {\n\n const { dispatching, resolved, rejected, handlers } = this;\n\n if (dispatching) {\n return;\n }\n\n if (!resolved && !rejected) {\n return;\n }\n\n this.dispatching = true;\n startActive();\n\n const chain = (firstPromise : ZalgoPromise, secondPromise : ZalgoPromise) => {\n return firstPromise.then(res => {\n secondPromise.resolve(res);\n }, err => {\n secondPromise.reject(err);\n });\n };\n\n for (let i = 0; i < handlers.length; i++) {\n\n const { onSuccess, onError, promise } = handlers[i];\n\n let result;\n\n if (resolved) {\n\n try {\n result = onSuccess ? onSuccess(this.value) : this.value;\n } catch (err) {\n promise.reject(err);\n continue;\n }\n\n } else if (rejected) {\n\n if (!onError) {\n promise.reject(this.error);\n continue;\n }\n\n try {\n result = onError(this.error);\n } catch (err) {\n promise.reject(err);\n continue;\n }\n }\n\n if (result instanceof ZalgoPromise && (result.resolved || result.rejected)) {\n\n if (result.resolved) {\n promise.resolve(result.value);\n } else {\n promise.reject(result.error);\n }\n\n result.errorHandled = true;\n\n } else if (isPromise(result)) {\n\n if (result instanceof ZalgoPromise && (result.resolved || result.rejected)) {\n if (result.resolved) {\n promise.resolve(result.value);\n } else {\n promise.reject(result.error);\n }\n\n } else {\n // $FlowFixMe\n chain(result, promise);\n }\n\n } else {\n\n promise.resolve(result);\n }\n }\n\n handlers.length = 0;\n this.dispatching = false;\n endActive();\n }\n\n then(onSuccess : void | (result : R) => (ZalgoPromise | Y), onError : void | (error : mixed) => (ZalgoPromise | Y)) : ZalgoPromise {\n\n if (onSuccess && typeof onSuccess !== 'function' && !onSuccess.call) {\n throw new Error('Promise.then expected a function for success handler');\n }\n\n if (onError && typeof onError !== 'function' && !onError.call) {\n throw new Error('Promise.then expected a function for error handler');\n }\n\n const promise : ZalgoPromise = new ZalgoPromise();\n\n this.handlers.push({\n promise,\n onSuccess,\n onError\n });\n\n this.errorHandled = true;\n\n this.dispatch();\n\n return promise;\n }\n\n catch(onError : (error : mixed) => ZalgoPromise | Y) : ZalgoPromise {\n return this.then(undefined, onError);\n }\n\n finally(onFinally : () => mixed) : ZalgoPromise {\n\n if (onFinally && typeof onFinally !== 'function' && !onFinally.call) {\n throw new Error('Promise.finally expected a function');\n }\n\n return this.then((result) => {\n return ZalgoPromise.try(onFinally)\n .then(() => {\n return result;\n });\n }, (err) => {\n return ZalgoPromise.try(onFinally)\n .then(() => {\n throw err;\n });\n });\n }\n\n timeout(time : number, err : ?Error) : ZalgoPromise {\n\n if (this.resolved || this.rejected) {\n return this;\n }\n\n const timeout = setTimeout(() => {\n\n if (this.resolved || this.rejected) {\n return;\n }\n\n this.reject(err || new Error(`Promise timed out after ${ time }ms`));\n\n }, time);\n\n return this.then(result => {\n clearTimeout(timeout);\n return result;\n });\n }\n\n // $FlowFixMe\n toPromise() : Promise {\n // $FlowFixMe\n if (typeof Promise === 'undefined') {\n throw new TypeError(`Could not find Promise`);\n }\n // $FlowFixMe\n return Promise.resolve(this); // eslint-disable-line compat/compat\n }\n\n static resolve(value : X | ZalgoPromise) : ZalgoPromise {\n\n if (value instanceof ZalgoPromise) {\n return value;\n }\n\n if (isPromise(value)) {\n // $FlowFixMe\n return new ZalgoPromise((resolve, reject) => value.then(resolve, reject));\n }\n\n return new ZalgoPromise().resolve(value);\n }\n\n static reject(error : mixed) : ZalgoPromise {\n return new ZalgoPromise().reject(error);\n }\n\n static asyncReject(error : mixed) : ZalgoPromise {\n return new ZalgoPromise().asyncReject(error);\n }\n\n static all>(promises : X) : ZalgoPromise<$TupleMap(ZalgoPromise | Y) => Y>> { // eslint-disable-line no-undef\n\n const promise = new ZalgoPromise();\n let count = promises.length;\n const results = [];\n\n if (!count) {\n promise.resolve(results);\n return promise;\n }\n\n const chain = (i : number, firstPromise : ZalgoPromise, secondPromise : ZalgoPromise) => {\n return firstPromise.then(res => {\n results[i] = res;\n count -= 1;\n if (count === 0) {\n promise.resolve(results);\n }\n }, err => {\n secondPromise.reject(err);\n });\n };\n\n for (let i = 0; i < promises.length; i++) {\n const prom = promises[i];\n\n if (prom instanceof ZalgoPromise) {\n if (prom.resolved) {\n results[i] = prom.value;\n count -= 1;\n continue;\n }\n } else if (!isPromise(prom)) {\n results[i] = prom;\n count -= 1;\n continue;\n }\n\n chain(i, ZalgoPromise.resolve(prom), promise);\n }\n\n if (count === 0) {\n promise.resolve(results);\n }\n\n return promise;\n }\n\n static hash(promises : O) : ZalgoPromise<$ObjMap(ZalgoPromise | Y) => Y>> { // eslint-disable-line no-undef\n const result = {};\n const awaitPromises = [];\n\n for (const key in promises) {\n if (promises.hasOwnProperty(key)) {\n const value = promises[key];\n\n if (isPromise(value)) {\n awaitPromises.push(value.then(res => {\n result[key] = res;\n }));\n } else {\n result[key] = value;\n }\n }\n }\n \n return ZalgoPromise.all(awaitPromises).then(() => result);\n }\n\n static map(items : $ReadOnlyArray, method : (T) => (ZalgoPromise | X)) : ZalgoPromise<$ReadOnlyArray> {\n // $FlowFixMe\n return ZalgoPromise.all(items.map(method));\n }\n\n static onPossiblyUnhandledException(handler : (err : mixed) => void) : {| cancel : () => void |} {\n return onPossiblyUnhandledException(handler);\n }\n\n static try>(method : (...args : A) => (ZalgoPromise | Y), context : ?C, args : ?A) : ZalgoPromise {\n\n if (method && typeof method !== 'function' && !method.call) {\n throw new Error('Promise.try expected a function');\n }\n\n let result;\n\n startActive();\n \n try {\n // $FlowFixMe\n result = method.apply(context, args || []);\n } catch (err) {\n endActive();\n return ZalgoPromise.reject(err);\n }\n\n endActive();\n\n return ZalgoPromise.resolve(result);\n }\n\n static delay(delay : number) : ZalgoPromise {\n return new ZalgoPromise(resolve => {\n setTimeout(resolve, delay);\n });\n }\n\n static isPromise(value : mixed) : boolean {\n\n if (value && value instanceof ZalgoPromise) {\n return true;\n }\n\n return isPromise(value);\n }\n\n static flush() : ZalgoPromise {\n return awaitActive(ZalgoPromise);\n }\n}\n","/* @flow */\n/** @jsx node */\n\nimport { svgToBase64, capitalizeFirstLetter } from 'belter/src';\nimport { node, html, type ElementNode, type ComponentNode } from 'jsx-pragmatic/src';\n\nimport { LOGO_CLASS, LOGO_COLOR } from '../constants';\n\ntype SVGProps = {|\n svg : ElementNode,\n [ string ] : string\n|};\n\nexport function SVG(props : SVGProps) : ElementNode {\n let { svg, ...otherProps } = props;\n\n if (!svg) {\n throw new TypeError(`Expected svg prop`);\n }\n \n svg = svg.render(html());\n\n if (typeof svg !== 'string') {\n throw new TypeError(`Expected svg prop to be a string or jsx node`);\n }\n\n // $FlowFixMe\n const svgProps = {\n src: svgToBase64(svg),\n ...otherProps\n };\n\n return (\n \n );\n}\n\n// eslint-disable-next-line flowtype/require-exact-type\nexport type SVGLogoProps = {\n render : () => ElementNode,\n name : string,\n logoColor? : $Values\n};\n\nexport function SVGLogo({ render, name, logoColor, ...props } : SVGLogoProps) : ComponentNode {\n return (\n \n );\n}\n\n// eslint-disable-next-line flowtype/require-exact-type\nexport type SVGCardLogoProps = {\n render : () => ElementNode,\n name : string\n};\n\nexport function SVGCardLogo({ render, name, ...props } : SVGCardLogoProps) : ComponentNode {\n return (\n \n );\n}\n","/* @flow */\n\nimport { LOGO_COLOR } from '../constants';\nimport type { LogoColorMap, LogoColors } from '../types';\n\nexport function getLogoColors(name : string, logoColorMap : LogoColorMap, logoColor? : ?$Values) : LogoColors {\n let colors;\n\n if (logoColor) {\n colors = logoColorMap[logoColor];\n }\n\n if (!colors) {\n colors = logoColorMap[LOGO_COLOR.DEFAULT];\n }\n\n if (!colors) {\n throw new Error(`No ${ logoColor || LOGO_COLOR.DEFAULT } logo available for ${ name }`);\n }\n \n return colors;\n}\n","/* @flow */\n\nexport const LOGO = {\n PP: ('pp' : 'pp'),\n PAYPAL: ('paypal' : 'paypal'),\n CARD: ('card' : 'card'),\n BANK: ('bank' : 'bank'),\n VENMO: ('venmo' : 'venmo'),\n APPLEPAY: ('applepay' : 'applepay'),\n ITAU: ('itau' : 'itau'),\n CREDIT: ('credit' : 'credit'),\n IDEAL: ('ideal' : 'ideal'),\n ELV: ('elv' : 'elv'),\n SEPA: ('sepa' : 'sepa'),\n BANCONTACT: ('bancontact' : 'bancontact'),\n GIROPAY: ('giropay' : 'giropay'),\n SOFORT: ('sofort' : 'sofort'),\n EPS: ('eps' : 'eps'),\n MYBANK: ('mybank' : 'mybank'),\n P24: ('p24' : 'p24'),\n ZIMPLER: ('zimpler' : 'zimpler'),\n WECHATPAY: ('wechatpay' : 'wechatpay'),\n PAYU: ('payu' : 'payu'),\n VERKKOPANKKI: ('verkkopankki' : 'verkkopankki'),\n BLIK: ('blik' : 'blik'),\n TRUSTLY: ('trustly' : 'trustly'),\n OXXO: ('oxxo' : 'oxxo'),\n BOLETO: ('boleto' : 'boleto'),\n MAXIMA: ('maxima' : 'maxima'),\n MERCADOPAGO: ('mercadopago' : 'mercadopago')\n};\n\nexport const LOGO_COLOR = {\n BLUE: ('blue' : 'blue'),\n BLACK: ('black' : 'black'),\n WHITE: ('white' : 'white'),\n MONOCHROME: ('monochrome' : 'monochrome'),\n DEFAULT: ('default' : 'default')\n};\n\nexport const LOGO_CLASS = {\n LOGO: ('paypal-logo' : 'paypal-logo'),\n CARD: ('paypal-logo-card' : 'paypal-logo-card'),\n LOGO_COLOR: ('paypal-logo-color' : 'paypal-logo-color')\n};\n","/* @flow */\n/** @jsx node */\n\nimport { node, type ComponentNode } from 'jsx-pragmatic/src';\n\nimport { SVGLogo, getLogoColors, type SVGLogoProps } from '../../lib';\nimport { LOGO_COLOR, LOGO } from '../../constants';\nimport { type LogoColorMap } from '../../types';\n\nconst LOGO_COLORS : LogoColorMap = {\n [ LOGO_COLOR.DEFAULT ]: {\n primary: '#ffffff',\n secondary: '#ffffff'\n },\n [ LOGO_COLOR.WHITE ]: {\n primary: '#ffffff',\n secondary: '#ffffff'\n },\n [ LOGO_COLOR.BLACK ]: {\n primary: '#000000',\n secondary: '#000000'\n }\n};\n\n// eslint-disable-next-line flowtype/require-exact-type\nexport function ApplePayLogo({ logoColor = LOGO_COLOR.DEFAULT, ...props } : { logoColor? : $Values }) : ComponentNode {\n\n const { primary } = getLogoColors(LOGO.APPLEPAY, LOGO_COLORS, logoColor);\n\n return (\n {\n return (\n \n \n \n );\n } }\n />\n );\n}\n","/* @flow */\n/** @jsx node */\n\nimport { node, type ComponentNode } from 'jsx-pragmatic/src';\n\nimport { SVGLogo, getLogoColors, type SVGLogoProps } from '../../lib';\nimport { LOGO_COLOR, LOGO } from '../../constants';\nimport { type LogoColorMap } from '../../types';\n\nconst LOGO_COLORS : LogoColorMap = {\n [ LOGO_COLOR.DEFAULT ]: {\n primary: '#005498',\n secondary: '#FFD800'\n },\n [ LOGO_COLOR.WHITE ]: {\n primary: '#ffffff',\n secondary: '#ffffff'\n },\n [ LOGO_COLOR.BLACK ]: {\n primary: '#005498',\n secondary: '#FFD800'\n }\n};\n\n// eslint-disable-next-line flowtype/require-exact-type\nexport function BancontactLogo({ logoColor = LOGO_COLOR.DEFAULT, ...props } : { logoColor? : $Values }) : ComponentNode {\n\n const { primary, secondary } = getLogoColors(LOGO.BANCONTACT, LOGO_COLORS, logoColor);\n\n return (\n {\n return (\n \n \n \n \n \n \n \n );\n } }\n />\n );\n}\n","/* @flow */\n/** @jsx node */\n\nimport { node, type ComponentNode } from 'jsx-pragmatic/src';\n\nimport { type LogoColorMap } from '../../../types';\nimport { SVGLogo, type SVGLogoProps, getLogoColors } from '../../../lib';\nimport { LOGO_COLOR, LOGO } from '../../../constants';\n\nconst LOGO_COLORS : LogoColorMap = {\n [LOGO_COLOR.DEFAULT]: {\n primary: '#333030'\n },\n [LOGO_COLOR.WHITE]: {\n primary: '#ffffff'\n },\n [LOGO_COLOR.BLACK]: {\n primary: '#333030'\n }\n};\n\nexport function GlyphBank({ logoColor, ...props } : { logoColor? : $Values, [string] : string } = {}) : ComponentNode {\n const { primary } = getLogoColors(LOGO.BANK, LOGO_COLORS, logoColor);\n\n return (\n {\n return (\n \n \n \n \n \n \n \n );\n } }\n />\n );\n}\n","/* @flow */\n/** @jsx node */\n\nimport { node, type ComponentNode } from 'jsx-pragmatic/src';\n\nimport { type LogoColorMap } from '../../../types';\nimport { SVGCardLogo, type SVGCardLogoProps, getLogoColors } from '../../../lib';\nimport { LOGO_COLOR, LOGO } from '../../../constants';\n\nconst LOGO_COLORS : LogoColorMap = {\n [LOGO_COLOR.DEFAULT]: {\n primary: '#333030'\n },\n [LOGO_COLOR.WHITE]: {\n primary: '#ffffff'\n },\n [LOGO_COLOR.BLACK]: {\n primary: '#333030'\n }\n};\n\nexport function GlyphCard({ logoColor, ...props } : { logoColor? : $Values, [string] : string } = {}) : ComponentNode {\n const { primary } = getLogoColors(LOGO.CARD, LOGO_COLORS, logoColor);\n \n return (\n {\n return (\n \n \n \n \n \n \n \n );\n } }\n />\n );\n}\n","\n/* @flow */\n/** @jsx node */\n\nimport { COUNTRY, type LocaleType } from '@paypal/sdk-constants/src';\nimport { node, type ComponentNode } from 'jsx-pragmatic/src';\n\nimport { SVGLogo, getLogoColors, type SVGLogoProps } from '../../lib';\nimport { LOGO_COLOR, LOGO } from '../../constants';\nimport { type LogoColorMap } from '../../types';\n\nconst LOGO_COLORS : LogoColorMap = {\n [ LOGO_COLOR.DEFAULT ]: {\n primary: '#003087'\n },\n [ LOGO_COLOR.BLUE ]: {\n primary: '#003087'\n },\n [ LOGO_COLOR.WHITE ]: {\n primary: '#ffffff'\n },\n [ LOGO_COLOR.BLACK ]: {\n primary: '#333030'\n }\n};\n\nexport function CreditLogo({ logoColor, locale, ...props } :\n {| logoColor? : $Values, locale : LocaleType |}) : ComponentNode {\n\n const { primary } = getLogoColors(LOGO.CREDIT, LOGO_COLORS, logoColor);\n const { country } = locale;\n\n return (\n {\n switch (country) {\n case COUNTRY.DE:\n return (\n \n \n \n \n \n \n \n );\n default:\n return (\n \n \n \n \n \n \n \n \n );\n\n }\n } }\n />\n );\n}\n","/* @flow */\n/** @jsx node */\n\nimport { node, type ComponentNode } from 'jsx-pragmatic/src';\n\nimport { SVGLogo, getLogoColors, type SVGLogoProps } from '../../lib';\nimport { LOGO_COLOR, LOGO } from '../../constants';\nimport { type LogoColorMap } from '../../types';\n\nconst LOGO_COLORS : LogoColorMap = {\n [ LOGO_COLOR.DEFAULT ]: {\n primary: '#c8036f',\n secondary: '#71706f'\n },\n [ LOGO_COLOR.WHITE ]: {\n primary: '#ffffff',\n secondary: '#ffffff'\n },\n [ LOGO_COLOR.BLACK ]: {\n primary: '#71706F',\n secondary: '#C8036F'\n }\n};\n\n// eslint-disable-next-line flowtype/require-exact-type\nexport function EpsLogo({ logoColor = LOGO_COLOR.DEFAULT, ...props } : { logoColor? : $Values }) : ComponentNode {\n \n const { primary, secondary } = getLogoColors(LOGO.EPS, LOGO_COLORS, logoColor);\n\n return (\n {\n return (\n \n Page 1\n Created with Sketch.\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n } }\n />\n );\n}\n","/* @flow */\n/** @jsx node */\n\nimport { node, type ComponentNode } from 'jsx-pragmatic/src';\n\nimport { SVGLogo, getLogoColors, type SVGLogoProps } from '../../lib';\nimport { LOGO_COLOR, LOGO } from '../../constants';\nimport { type LogoColorMap } from '../../types';\n\nconst LOGO_COLORS : LogoColorMap = {\n [ LOGO_COLOR.DEFAULT ]: {\n primary: '#ED1C24',\n secondary: '#ffffff',\n tertiary: '#003a7d',\n quaternary: '#FFFFFF'\n },\n [ LOGO_COLOR.WHITE ]: {\n primary: '#FFFFFF',\n secondary: '#000000',\n tertiary: '#FFFFFF',\n quaternary: '#FFFFFF'\n },\n [ LOGO_COLOR.BLACK ]: {\n primary: '#ED1C24',\n secondary: '#FFFFFF',\n tertiary: '#003a7d',\n quaternary: '#FFFFFF'\n\n }\n};\n\n// eslint-disable-next-line flowtype/require-exact-type\nexport function GiropayLogo({ logoColor = LOGO_COLOR.DEFAULT, ...props } : { logoColor? : $Values }) : ComponentNode {\n\n const { primary, secondary, tertiary, quaternary } = getLogoColors(LOGO.GIROPAY, LOGO_COLORS, logoColor);\n\n return (\n {\n return (\n \n logo giropay\n Created with Sketch.\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n } }\n />\n );\n}\n","\n/* @flow */\n/** @jsx node */\n\nimport { node, type ComponentNode } from 'jsx-pragmatic/src';\n\nimport { SVGLogo, getLogoColors, type SVGLogoProps } from '../../lib';\nimport { LOGO_COLOR, LOGO } from '../../constants';\nimport { type LogoColorMap } from '../../types';\n\nconst LOGO_COLORS : LogoColorMap = {\n [ LOGO_COLOR.DEFAULT ]: {\n primary: '#000000',\n secondary: '#cd0067',\n tertiary: '#ffffff'\n },\n [ LOGO_COLOR.WHITE ]: {\n primary: '#ffffff',\n secondary: '#ffffff',\n tertiary: '#ffffff'\n },\n [ LOGO_COLOR.BLACK ]: {\n primary: '#000000',\n secondary: '#FFFFFF',\n tertiary: '#CD0067'\n }\n};\n\n// eslint-disable-next-line flowtype/require-exact-type\nexport function IdealLogo({ logoColor = LOGO_COLOR.DEFAULT, ...props } : { logoColor? : $Values }) : ComponentNode {\n\n const { primary, secondary, tertiary } = getLogoColors(LOGO.IDEAL, LOGO_COLORS, logoColor);\n\n return (\n {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n } }\n />\n );\n}\n","/* @flow */\n/** @jsx node */\n\nimport { node, type ComponentNode } from 'jsx-pragmatic/src';\n\nimport { SVGLogo, getLogoColors, type SVGLogoProps } from '../../lib';\nimport { LOGO_COLOR, LOGO } from '../../constants';\nimport { type LogoColorMap } from '../../types';\n\nconst LOGO_COLORS : LogoColorMap = {\n [ LOGO_COLOR.DEFAULT ]: {\n primary: '#00C0EE',\n secondary: '#1a4b67'\n },\n [ LOGO_COLOR.WHITE ]: {\n primary: '#ffffff',\n secondary: '#ffffff'\n },\n [ LOGO_COLOR.BLACK ]: {\n primary: '#1A4B67',\n secondary: '#00C0EE'\n }\n};\n\n// eslint-disable-next-line flowtype/require-exact-type\nexport function MybankLogo({ logoColor = LOGO_COLOR.DEFAULT, ...props } : { logoColor? : $Values }) : ComponentNode {\n\n const { primary, secondary } = getLogoColors(LOGO.MYBANK, LOGO_COLORS, logoColor);\n\n return (\n {\n return (\n \n MyBank\n Created with Sketch.\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n } }\n />\n );\n}\n","/* @flow */\n/** @jsx node */\n\nimport { node, type ComponentNode } from 'jsx-pragmatic/src';\n\nimport { SVGLogo, getLogoColors, type SVGLogoProps } from '../../lib';\nimport { LOGO_COLOR, LOGO } from '../../constants';\nimport { type LogoColorMap } from '../../types';\n\nconst LOGO_COLORS : LogoColorMap = {\n [ LOGO_COLOR.DEFAULT ]: {\n primary: '#d03238',\n secondary: '#b3b1b1'\n },\n [ LOGO_COLOR.WHITE ]: {\n primary: '#ffffff',\n secondary: '#ffffff'\n },\n [ LOGO_COLOR.BLACK ]: {\n primary: '#d03238',\n secondary: '#b3b1b1'\n }\n};\n\n// eslint-disable-next-line flowtype/require-exact-type\nexport function P24Logo({ logoColor = LOGO_COLOR.DEFAULT, ...props } : { logoColor? : $Values }) : ComponentNode {\n\n const { primary, secondary } = getLogoColors(LOGO.P24, LOGO_COLORS, logoColor);\n\n return (\n {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n } }\n />\n );\n}\n","/* @flow */\n/** @jsx node */\n\nimport { node, type ComponentNode } from 'jsx-pragmatic/src';\n\nimport { type LogoColorMap } from '../../types';\nimport { LOGO, LOGO_COLOR } from '../../constants';\nimport { SVGLogo, getLogoColors, type SVGLogoProps } from '../../lib';\n\nconst PAYPAL_LOGO_COLORS : LogoColorMap = {\n [ LOGO_COLOR.DEFAULT ]: {\n primary: '#003087',\n secondary: '#009cde'\n },\n [ LOGO_COLOR.BLUE ]: {\n primary: '#003087',\n secondary: '#009cde'\n },\n [ LOGO_COLOR.WHITE ]: {\n primary: '#ffffff',\n secondary: '#ffffff'\n },\n [ LOGO_COLOR.BLACK ]: {\n primary: '#333030',\n secondary: '#636363'\n },\n [ LOGO_COLOR.MONOCHROME ]: {\n primary: '#000000',\n secondary: '#000000'\n }\n};\n\n// eslint-disable-next-line flowtype/require-exact-type\nexport function PayPalLogo({ logoColor = LOGO_COLOR.DEFAULT, ...props } : { logoColor? : $Values }) : ComponentNode {\n\n const { primary, secondary } = getLogoColors(LOGO.PAYPAL, PAYPAL_LOGO_COLORS, logoColor);\n\n return (\n (\n \n \n \n \n \n \n \n \n ) }\n />\n );\n}\n\nconst DEFAULT_OPACITY = '1';\n\nconst PP_LOGO_COLORS : LogoColorMap = {\n [ LOGO_COLOR.DEFAULT ]: {\n primary: '#009cde',\n secondary: '#012169',\n tertiary: '#003087'\n },\n [ LOGO_COLOR.BLUE ]: {\n primary: '#009cde',\n secondary: '#012169',\n tertiary: '#003087'\n },\n [ LOGO_COLOR.WHITE ]: {\n primary: '#ffffff',\n primaryOpacity: '0.7',\n secondary: '#ffffff',\n secondaryOpacity: '0.7',\n tertiary: '#ffffff'\n },\n [ LOGO_COLOR.BLACK ]: {\n primary: '#808080',\n secondary: '#000000',\n tertiary: '#1a1a1a'\n }\n};\n\n// eslint-disable-next-line flowtype/require-exact-type\nexport function PPLogo({ logoColor = LOGO_COLOR.DEFAULT, ...props } : { logoColor? : $Values }) : ComponentNode {\n\n const {\n primary, secondary, tertiary,\n primaryOpacity = DEFAULT_OPACITY,\n secondaryOpacity = DEFAULT_OPACITY,\n tertiaryOpacity = DEFAULT_OPACITY\n } = getLogoColors(LOGO.PP, PP_LOGO_COLORS, logoColor);\n\n return (\n {\n return (\n \n \n \n \n \n );\n\n } }\n />\n );\n}\n\nconst PPMONOCHROME_LOGO_COLORS : LogoColorMap = {\n [ LOGO_COLOR.MONOCHROME]: {\n primary: '#000000',\n secondary: '#000000',\n tertiary: '#000000'\n }\n};\n\n// eslint-disable-next-line flowtype/require-exact-type\nexport function PPMonochrome({ logoColor = LOGO_COLOR.MONOCHROME } : { logoColor? : $Values }) : ComponentNode {\n\n const { primary, secondary, tertiary } = getLogoColors(LOGO.PP, PPMONOCHROME_LOGO_COLORS, logoColor);\n\n return (\n {\n return (\n \n \n \n \n \n );\n } }\n />\n );\n}\n","import { PayPalLogo, PPLogo, LOGO_COLOR } from '@paypal/sdk-logos/src';\nimport { dom } from 'jsx-pragmatic/src';\n\nfunction getPPLogoBase64(logoColor) {\n return PayPalLogo({ logoColor })\n .render(dom({ doc: document }))\n .getAttribute('src');\n}\n\nfunction getPPMonogramBase64(logoColor) {\n return PPLogo({ logoColor })\n .render(dom({ doc: document }))\n .getAttribute('src');\n}\n\nexport const logos = {\n PRIMARY: {\n COLOR: [\n {\n src: getPPMonogramBase64(LOGO_COLOR.DEFAULT),\n dimensions: [24, 32]\n },\n {\n src: getPPLogoBase64(LOGO_COLOR.DEFAULT),\n dimensions: [100, 32]\n }\n ],\n WHITE: [\n {\n src: getPPMonogramBase64(LOGO_COLOR.WHITE),\n dimensions: [24, 32]\n },\n {\n src: getPPLogoBase64(LOGO_COLOR.WHITE),\n dimensions: [100, 32]\n }\n ]\n },\n ALT_NO_PP: {\n COLOR: {\n src: getPPLogoBase64(LOGO_COLOR.DEFAULT),\n dimensions: [100, 32]\n },\n WHITE: {\n src: getPPLogoBase64(LOGO_COLOR.WHITE),\n dimensions: [100, 32]\n }\n }\n};\n","/* @flow */\n/** @jsx node */\n\nimport { node, type ComponentNode } from 'jsx-pragmatic/src';\n\nimport { SVGLogo, getLogoColors, type SVGLogoProps } from '../../lib';\nimport { LOGO_COLOR, LOGO } from '../../constants';\nimport { type LogoColorMap } from '../../types';\n\nconst LOGO_COLORS : LogoColorMap = {\n [ LOGO_COLOR.DEFAULT ]: {\n main: '#005DA0',\n card: '#AEB1BC'\n },\n [ LOGO_COLOR.WHITE ]: {\n main: '#FFFFFF',\n card: '#FFFFFF'\n },\n [ LOGO_COLOR.BLACK ]: {\n main: '#333030',\n card: '#333030'\n }\n};\n\n// eslint-disable-next-line flowtype/require-exact-type\nexport function SepaLogo({ logoColor = LOGO_COLOR.DEFAULT, ...props } : { logoColor? : $Values }) : ComponentNode {\n\n const { main, card } = getLogoColors(LOGO.SEPA, LOGO_COLORS, logoColor);\n\n return (\n {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n } }\n />\n );\n}\n","/* @flow */\n/** @jsx node */\n\nimport { node, type ComponentNode } from 'jsx-pragmatic/src';\n\nimport { SVGLogo, getLogoColors, type SVGLogoProps } from '../../lib';\nimport { LOGO_COLOR, LOGO } from '../../constants';\nimport { type LogoColorMap } from '../../types';\n\nconst LOGO_COLORS : LogoColorMap = {\n [ LOGO_COLOR.DEFAULT ]: {\n primary: '#FFFFFF',\n secondary: '#EB6F93'\n },\n [ LOGO_COLOR.WHITE ]: {\n primary: '#FFFFFF',\n secondary: '#2C2E2F'\n },\n [ LOGO_COLOR.BLACK ]: {\n primary: '#FFFFFF',\n secondary: '#EB6F93'\n }\n};\n\n// eslint-disable-next-line flowtype/require-exact-type\nexport function SofortLogo({ logoColor = LOGO_COLOR.DEFAULT, ...props } : { logoColor? : $Values }) : ComponentNode {\n\n const { primary, secondary } = getLogoColors(LOGO.SOFORT, LOGO_COLORS, logoColor);\n\n return (\n {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n } }\n />\n );\n}\n","\n/* @flow */\n/** @jsx node */\n\nimport { node, type ComponentNode } from 'jsx-pragmatic/src';\n\nimport { SVGLogo, getLogoColors, type SVGLogoProps } from '../../lib';\nimport { LOGO_COLOR, LOGO } from '../../constants';\nimport { type LogoColorMap } from '../../types';\n\nconst LOGO_COLORS : LogoColorMap = {\n [ LOGO_COLOR.DEFAULT ]: {\n primary: '#3D93CE'\n },\n [ LOGO_COLOR.BLUE ]: {\n primary: '#3D93CE'\n },\n [ LOGO_COLOR.WHITE ]: {\n primary: '#ffffff'\n },\n [ LOGO_COLOR.BLACK ]: {\n primary: '#333030'\n }\n};\n\n// eslint-disable-next-line flowtype/require-exact-type\nexport function VenmoLogo({ logoColor = LOGO_COLOR.DEFAULT, ...props } : { logoColor? : $Values }) : ComponentNode {\n\n const { primary } = getLogoColors(LOGO.SOFORT, LOGO_COLORS, logoColor);\n\n return (\n {\n return (\n \n \n \n \n \n \n \n \n \n );\n } }\n />\n );\n}\n","\n/* @flow */\n/** @jsx node */\n\nimport { node, type ComponentNode } from 'jsx-pragmatic/src';\n\nimport { SVGLogo, getLogoColors, type SVGLogoProps } from '../../lib';\nimport { LOGO_COLOR, LOGO } from '../../constants';\nimport { type LogoColorMap } from '../../types';\n\nconst LOGO_COLORS : LogoColorMap = {\n [ LOGO_COLOR.DEFAULT ]: {\n primary: '#ffffff'\n },\n [ LOGO_COLOR.BLUE ]: {\n primary: '#003087'\n },\n [ LOGO_COLOR.WHITE ]: {\n primary: '#ffffff'\n },\n [ LOGO_COLOR.BLACK ]: {\n primary: '#333030'\n }\n};\n\n// eslint-disable-next-line flowtype/require-exact-type\nexport function ItauLogo({ logoColor = LOGO_COLOR.DEFAULT, ...props } : { logoColor? : $Values }) : ComponentNode {\n\n const { primary } = getLogoColors(LOGO.SOFORT, LOGO_COLORS, logoColor);\n\n return (\n {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n } }\n />\n );\n}\n","/* @flow */\n/** @jsx node */\n\nimport { node, type ComponentNode } from 'jsx-pragmatic/src';\n\nimport { SVGLogo, getLogoColors, type SVGLogoProps } from '../../lib';\nimport { LOGO_COLOR, LOGO } from '../../constants';\nimport { type LogoColorMap } from '../../types';\n\nconst LOGO_COLORS : LogoColorMap = {\n [ LOGO_COLOR.DEFAULT ]: {\n primary: '#1AAD19',\n secondary: '#4D4D4D'\n },\n [ LOGO_COLOR.WHITE ]: {\n primary: '#FFFFFF',\n secondary: '#FFFFFF'\n },\n [ LOGO_COLOR.BLACK ]: {\n primary: '#333030',\n secondary: '#333030'\n }\n};\n\n// eslint-disable-next-line flowtype/require-exact-type\nexport function WechatpayLogo({ logoColor = LOGO_COLOR.DEFAULT, ...props } : { logoColor? : $Values }) : ComponentNode {\n\n const { primary, secondary } = getLogoColors(LOGO.WECHATPAY, LOGO_COLORS, logoColor);\n\n return (\n {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n } }\n />\n );\n}\n","/* @flow */\n/** @jsx node */\n\nimport { node, type ComponentNode } from 'jsx-pragmatic/src';\n\nimport { SVGLogo, getLogoColors, type SVGLogoProps } from '../../lib';\nimport { LOGO_COLOR, LOGO } from '../../constants';\nimport { type LogoColorMap } from '../../types';\n\nconst LOGO_COLORS : LogoColorMap = {\n [ LOGO_COLOR.DEFAULT ]: {\n primary: '#00A599'\n },\n [ LOGO_COLOR.WHITE ]: {\n primary: '#FFFFFF'\n },\n [ LOGO_COLOR.BLACK ]: {\n primary: '#00A599'\n }\n};\n\n// eslint-disable-next-line flowtype/require-exact-type\nexport function ZimplerLogo({ logoColor = LOGO_COLOR.DEFAULT, ...props } : { logoColor? : $Values }) : ComponentNode {\n\n const { primary } = getLogoColors(LOGO.ZIMPLER, LOGO_COLORS, logoColor);\n\n return (\n {\n return (\n \n \n \n \n \n \n \n \n );\n } }\n />\n );\n}\n","/* @flow */\n/** @jsx node */\n\nimport { node, type ComponentNode } from 'jsx-pragmatic/src';\n\nimport { SVGLogo, getLogoColors, type SVGLogoProps } from '../../lib';\nimport { LOGO_COLOR, LOGO } from '../../constants';\nimport { type LogoColorMap } from '../../types';\n\nconst LOGO_COLORS : LogoColorMap = {\n [ LOGO_COLOR.DEFAULT ]: {\n primary: '#A6d71c',\n secondary: '#3C932A',\n tertiary: '#6CC62E',\n quaternary: '#278D30'\n },\n [ LOGO_COLOR.WHITE ]: {\n primary: '#FFFFFF',\n secondary: '#FFFFFF',\n tertiary: '#000000',\n quaternary: '#FFFFFF'\n },\n [ LOGO_COLOR.BLACK ]: {\n primary: '#333030',\n secondary: '#333030',\n tertiary: '#ffffff',\n quaternary: '#333030'\n }\n};\n\n// eslint-disable-next-line flowtype/require-exact-type\nexport function PayuLogo({ logoColor = LOGO_COLOR.DEFAULT, ...props } : { logoColor? : $Values }) : ComponentNode {\n\n const { primary, secondary, tertiary, quaternary } = getLogoColors(LOGO.P24, LOGO_COLORS, logoColor);\n\n return (\n {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n } }\n />\n );\n}\n","/* @flow */\n/** @jsx node */\n\nimport { node, type ComponentNode } from 'jsx-pragmatic/src';\n\nimport { SVGLogo, getLogoColors, type SVGLogoProps } from '../../lib';\nimport { LOGO_COLOR, LOGO } from '../../constants';\nimport { type LogoColorMap } from '../../types';\n\nconst LOGO_COLORS : LogoColorMap = {\n [ LOGO_COLOR.DEFAULT ]: {\n primary: '#FFFFFF',\n secondary: '#CACCC8',\n tertiary: '#2D59A1',\n quaternary: '#1F3364',\n quinary: '#4E4E4E',\n senary: '#1B4482'\n },\n [ LOGO_COLOR.WHITE ]: {\n\n primary: '#FFFFFF',\n secondary: '#CACCC8',\n tertiary: '#2D59A1',\n quaternary: '#1F3364',\n quinary: '#4E4E4E',\n senary: '#1B4482'\n },\n [ LOGO_COLOR.BLACK ]: {\n primary: '#000000',\n secondary: '#000000',\n tertiary: '#FFFFFF',\n quaternary: '#FFFFFF',\n quinary: '#000000',\n senary: '#000000'\n }\n};\n\n// eslint-disable-next-line flowtype/require-exact-type\nexport function VerkkopankkiLogo({ logoColor = LOGO_COLOR.DEFAULT, ...props } : { logoColor? : $Values }) : ComponentNode {\n\n const { primary, secondary, tertiary, quaternary, quinary, senary } = getLogoColors(LOGO.VERKKOPANKKI, LOGO_COLORS, logoColor);\n\n return (\n {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n } }\n />\n );\n}\n","\n/* @flow */\n/** @jsx node */\n\nimport { node, type ComponentNode } from 'jsx-pragmatic/src';\n\nimport { SVGLogo, getLogoColors, type SVGLogoProps } from '../../lib';\nimport { LOGO_COLOR, LOGO } from '../../constants';\nimport { type LogoColorMap } from '../../types';\n\nconst LOGO_COLORS : LogoColorMap = {\n [ LOGO_COLOR.DEFAULT ]: {\n primary: '#4D4D4F',\n secondary: '#000000',\n tertiary: '#FF0000',\n quaternary: '#E83E49',\n quinary: '#FF00FF',\n senary: '#FFFFFF'\n },\n [ LOGO_COLOR.WHITE ]: {\n primary: '#FFFFFF',\n secondary: '#FFFFFF',\n tertiary: '#000000',\n quaternary: '#000000',\n quinary: '#000000',\n senary: '#000000'\n },\n [ LOGO_COLOR.BLACK ]: {\n primary: '#4D4D4F',\n secondary: '#000000',\n tertiary: '#FF0000',\n quaternary: '#E83E49',\n quinary: '#FF00FF',\n senary: '#FFFFFF'\n }\n};\n\n// eslint-disable-next-line flowtype/require-exact-type\nexport function BlikLogo({ logoColor = LOGO_COLOR.DEFAULT, ...props } : { logoColor? : $Values }) : ComponentNode {\n\n const { primary, secondary, tertiary, quaternary, quinary, senary } = getLogoColors(LOGO.BLIK, LOGO_COLORS, logoColor);\n\n return (\n {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n } }\n />\n );\n}\n","\n/* @flow */\n/** @jsx node */\n\nimport { node, type ComponentNode } from 'jsx-pragmatic/src';\n\nimport { SVGLogo, getLogoColors, type SVGLogoProps } from '../../lib';\nimport { LOGO_COLOR, LOGO } from '../../constants';\nimport { type LogoColorMap } from '../../types';\n\nconst LOGO_COLORS : LogoColorMap = {\n [ LOGO_COLOR.DEFAULT ]: {\n primary: '#020202',\n secondary: '#64CC07'\n },\n [ LOGO_COLOR.WHITE ]: {\n primary: '#FFFFFF',\n secondary: '#FFFFFF'\n },\n [ LOGO_COLOR.BLACK ]: {\n primary: '#000000',\n secondary: '#000000'\n }\n};\n\n// eslint-disable-next-line flowtype/require-exact-type\nexport function TrustlyLogo({ logoColor = LOGO_COLOR.DEFAULT, ...props } : { logoColor? : $Values }) : ComponentNode {\n\n const { primary, secondary } = getLogoColors(LOGO.TRUSTLY, LOGO_COLORS, logoColor);\n\n return (\n {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n } }\n />\n );\n}\n","/* @flow */\n/** @jsx node */\n\nimport { node, type ComponentNode } from 'jsx-pragmatic/src';\n\nimport { SVGLogo, getLogoColors, type SVGLogoProps } from '../../lib';\nimport { LOGO_COLOR, LOGO } from '../../constants';\nimport { type LogoColorMap } from '../../types';\n\nconst LOGO_COLORS : LogoColorMap = {\n [ LOGO_COLOR.DEFAULT ]: {\n primary: '#EC1D24',\n secondary: '#EDA42D',\n tertiary: '#FEFEFE'\n },\n [ LOGO_COLOR.WHITE ]: {\n primary: '#EC1D24',\n secondary: '#EDA42D',\n tertiary: '#FEFEFE'\n },\n [ LOGO_COLOR.BLACK ]: {\n primary: '#EC1D24',\n secondary: '#EDA42D',\n tertiary: '#FEFEFE'\n }\n};\n\n// eslint-disable-next-line flowtype/require-exact-type\nexport function OxxoLogo({ logoColor = LOGO_COLOR.DEFAULT, ...props } : { logoColor? : $Values }) : ComponentNode {\n\n const { primary, secondary } = getLogoColors(LOGO.OXXO, LOGO_COLORS, logoColor);\n\n return (\n {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n } }\n />\n );\n}\n","/* @flow */\n/** @jsx node */\n\nimport { node, type ComponentNode } from 'jsx-pragmatic/src';\n\nimport { SVGLogo, getLogoColors, type SVGLogoProps } from '../../lib';\nimport { LOGO_COLOR, LOGO } from '../../constants';\nimport { type LogoColorMap } from '../../types';\n\nconst LOGO_COLORS : LogoColorMap = {\n [ LOGO_COLOR.DEFAULT ]: {\n primary: '#1A1919',\n secondary: '#FFFFFE'\n },\n [ LOGO_COLOR.WHITE ]: {\n primary: '#1A1919',\n secondary: '#FFFFFE'\n },\n [ LOGO_COLOR.BLACK ]: {\n primary: '#1A1919',\n secondary: '#FFFFFE'\n }\n};\n\n// eslint-disable-next-line flowtype/require-exact-type\nexport function BoletoLogo({ logoColor = LOGO_COLOR.DEFAULT, ...props } : { logoColor? : $Values }) : ComponentNode {\n\n const { primary, secondary } = getLogoColors(LOGO.BOLETO, LOGO_COLORS, logoColor);\n\n return (\n {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n } }\n />\n );\n}\n","/* @flow */\n/** @jsx node */\n\nimport { node, type ComponentNode } from 'jsx-pragmatic/src';\n\nimport { SVGLogo, getLogoColors, type SVGLogoProps } from '../../lib';\nimport { LOGO_COLOR, LOGO } from '../../constants';\nimport { type LogoColorMap } from '../../types';\n\nconst LOGO_COLORS : LogoColorMap = {\n [ LOGO_COLOR.DEFAULT ]: {\n primary: '#004A91',\n secondary: '#ED1921'\n },\n [ LOGO_COLOR.WHITE ]: {\n primary: '#004A91',\n secondary: '#ED1921'\n },\n [ LOGO_COLOR.BLACK ]: {\n primary: '#004A91',\n secondary: '#ED1921'\n }\n};\n\n// eslint-disable-next-line flowtype/require-exact-type\nexport function MaximaLogo({ logoColor = LOGO_COLOR.DEFAULT, ...props } : { logoColor? : $Values }) : ComponentNode {\n\n const { primary, secondary } = getLogoColors(LOGO.MAXIMA, LOGO_COLORS, logoColor);\n\n return (\n {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n } }\n />\n );\n}\n","/* @flow */\n/** @jsx node */\n\nimport { node, type ComponentNode } from 'jsx-pragmatic/src';\n\nimport { SVGLogo, getLogoColors, type SVGLogoProps } from '../../lib';\nimport { LOGO_COLOR, LOGO } from '../../constants';\nimport { type LogoColorMap } from '../../types';\n\nconst LOGO_COLORS : LogoColorMap = {\n [ LOGO_COLOR.DEFAULT ]: {\n primary: '#2D3277',\n secondary: '#FFFFFF',\n tertiary: '#009EE3',\n quaternary: '#009EE3'\n },\n [ LOGO_COLOR.WHITE ]: {\n primary: '#FFFFFF',\n secondary: '#000000',\n tertiary: '#FFFFFF',\n quaternary: '#000000'\n },\n [ LOGO_COLOR.BLACK ]: {\n primary: '#2D3277',\n secondary: '#FFFFFF',\n tertiary: '#009EE3',\n quaternary: '#009EE3'\n }\n};\n\n// eslint-disable-next-line flowtype/require-exact-type\nexport function MercadoPagoLogo({ logoColor = LOGO_COLOR.DEFAULT, ...props } : { logoColor? : $Values }) : ComponentNode {\n\n const { primary, secondary, tertiary, quaternary } = getLogoColors(LOGO.MERCADOPAGO, LOGO_COLORS, logoColor);\n\n return (\n {\n return (\n \n MercadoPago\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n } }\n />\n );\n}\n","/** @jsx h */\n/* eslint-disable react/no-unknown-property, eslint-comments/disable-enable-pair */\nimport { h, Fragment } from 'preact';\n\nimport { logos } from '../lib';\n\nconst Icon = ({ name, color }) => {\n const className = `icon icon--${name}`;\n switch (name) {\n case 'logo':\n return \"PayPal;\n case 'logo-ezp':\n return (\n \n \n \n \n \n \n \n \n \n \n );\n case 'logo-de':\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n case 'logo-gb':\n return (\n \n {logos.PRIMARY.WHITE.map(logo => (\n \"PayPal\n ))}\n \n );\n case 'caret':\n return (\n \n \n \n );\n case 'close':\n return (\n \n \n \n \n );\n case 'info':\n return (\n \n \n \n );\n case 'rocket':\n return (\n \n \n \n \n \n \n \n );\n case 'card':\n return (\n \n \n \n \n \n \n \n \n \n \n \n );\n case 'shield':\n return (\n \n \n \n \n \n \n );\n case 'monogram':\n return (\n \n \n \n );\n case 'cart':\n return (\n \n \n \n \n \n \n \n );\n case 'calendar':\n return (\n \n \n \n );\n case 'truck':\n return (\n \n \n \n );\n case 'tags':\n return (\n \n \n \n );\n case 'thumbs-up':\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n case 'shopping-bag':\n return (\n \n \n \n \n \n \n \n );\n case 'checkmark':\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n );\n case 'pp-button':\n return (\n \n \n \n \n \n \n );\n case 'icecream':\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n case 'phone-arm':\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n case 'secure':\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n default:\n return null;\n }\n};\n\nexport default Icon;\n","/* @flow */\n/* eslint max-lines: 0 */\n\nexport const COUNTRY = {\n AD: ('AD' : 'AD'),\n AE: ('AE' : 'AE'),\n AG: ('AG' : 'AG'),\n AI: ('AI' : 'AI'),\n AL: ('AL' : 'AL'),\n AM: ('AM' : 'AM'),\n AN: ('AN' : 'AN'),\n AO: ('AO' : 'AO'),\n AR: ('AR' : 'AR'),\n AT: ('AT' : 'AT'),\n AU: ('AU' : 'AU'),\n AW: ('AW' : 'AW'),\n AZ: ('AZ' : 'AZ'),\n BA: ('BA' : 'BA'),\n BB: ('BB' : 'BB'),\n BE: ('BE' : 'BE'),\n BF: ('BF' : 'BF'),\n BG: ('BG' : 'BG'),\n BH: ('BH' : 'BH'),\n BI: ('BI' : 'BI'),\n BJ: ('BJ' : 'BJ'),\n BM: ('BM' : 'BM'),\n BN: ('BN' : 'BN'),\n BO: ('BO' : 'BO'),\n BR: ('BR' : 'BR'),\n BS: ('BS' : 'BS'),\n BT: ('BT' : 'BT'),\n BW: ('BW' : 'BW'),\n BY: ('BY' : 'BY'),\n BZ: ('BZ' : 'BZ'),\n CA: ('CA' : 'CA'),\n CD: ('CD' : 'CD'),\n CG: ('CG' : 'CG'),\n CH: ('CH' : 'CH'),\n CI: ('CI' : 'CI'),\n CK: ('CK' : 'CK'),\n CL: ('CL' : 'CL'),\n CM: ('CM' : 'CM'),\n CN: ('CN' : 'CN'),\n CO: ('CO' : 'CO'),\n CR: ('CR' : 'CR'),\n CV: ('CV' : 'CV'),\n CY: ('CY' : 'CY'),\n CZ: ('CZ' : 'CZ'),\n DE: ('DE' : 'DE'),\n DJ: ('DJ' : 'DJ'),\n DK: ('DK' : 'DK'),\n DM: ('DM' : 'DM'),\n DO: ('DO' : 'DO'),\n DZ: ('DZ' : 'DZ'),\n EC: ('EC' : 'EC'),\n EE: ('EE' : 'EE'),\n EG: ('EG' : 'EG'),\n ER: ('ER' : 'ER'),\n ES: ('ES' : 'ES'),\n ET: ('ET' : 'ET'),\n FI: ('FI' : 'FI'),\n FJ: ('FJ' : 'FJ'),\n FK: ('FK' : 'FK'),\n FM: ('FM' : 'FM'),\n FO: ('FO' : 'FO'),\n FR: ('FR' : 'FR'),\n GA: ('GA' : 'GA'),\n GB: ('GB' : 'GB'),\n GD: ('GD' : 'GD'),\n GE: ('GE' : 'GE'),\n GF: ('GF' : 'GF'),\n GI: ('GI' : 'GI'),\n GL: ('GL' : 'GL'),\n GM: ('GM' : 'GM'),\n GN: ('GN' : 'GN'),\n GP: ('GP' : 'GP'),\n GR: ('GR' : 'GR'),\n GT: ('GT' : 'GT'),\n GW: ('GW' : 'GW'),\n GY: ('GY' : 'GY'),\n HK: ('HK' : 'HK'),\n HN: ('HN' : 'HN'),\n HR: ('HR' : 'HR'),\n HU: ('HU' : 'HU'),\n ID: ('ID' : 'ID'),\n IE: ('IE' : 'IE'),\n IL: ('IL' : 'IL'),\n IN: ('IN' : 'IN'),\n IS: ('IS' : 'IS'),\n IT: ('IT' : 'IT'),\n JM: ('JM' : 'JM'),\n JO: ('JO' : 'JO'),\n JP: ('JP' : 'JP'),\n KE: ('KE' : 'KE'),\n KG: ('KG' : 'KG'),\n KH: ('KH' : 'KH'),\n KI: ('KI' : 'KI'),\n KM: ('KM' : 'KM'),\n KN: ('KN' : 'KN'),\n KR: ('KR' : 'KR'),\n KW: ('KW' : 'KW'),\n KY: ('KY' : 'KY'),\n KZ: ('KZ' : 'KZ'),\n LA: ('LA' : 'LA'),\n LC: ('LC' : 'LC'),\n LI: ('LI' : 'LI'),\n LK: ('LK' : 'LK'),\n LS: ('LS' : 'LS'),\n LT: ('LT' : 'LT'),\n LU: ('LU' : 'LU'),\n LV: ('LV' : 'LV'),\n MA: ('MA' : 'MA'),\n MC: ('MC' : 'MC'),\n MD: ('MD' : 'MD'),\n ME: ('ME' : 'ME'),\n MG: ('MG' : 'MG'),\n MH: ('MH' : 'MH'),\n MK: ('MK' : 'MK'),\n ML: ('ML' : 'ML'),\n MN: ('MN' : 'MN'),\n MQ: ('MQ' : 'MQ'),\n MR: ('MR' : 'MR'),\n MS: ('MS' : 'MS'),\n MT: ('MT' : 'MT'),\n MU: ('MU' : 'MU'),\n MV: ('MV' : 'MV'),\n MW: ('MW' : 'MW'),\n MX: ('MX' : 'MX'),\n MY: ('MY' : 'MY'),\n MZ: ('MZ' : 'MZ'),\n NA: ('NA' : 'NA'),\n NC: ('NC' : 'NC'),\n NE: ('NE' : 'NE'),\n NF: ('NF' : 'NF'),\n NG: ('NG' : 'NG'),\n NI: ('NI' : 'NI'),\n NL: ('NL' : 'NL'),\n NO: ('NO' : 'NO'),\n NP: ('NP' : 'NP'),\n NR: ('NR' : 'NR'),\n NU: ('NU' : 'NU'),\n NZ: ('NZ' : 'NZ'),\n OM: ('OM' : 'OM'),\n PA: ('PA' : 'PA'),\n PE: ('PE' : 'PE'),\n PF: ('PF' : 'PF'),\n PG: ('PG' : 'PG'),\n PH: ('PH' : 'PH'),\n PL: ('PL' : 'PL'),\n PM: ('PM' : 'PM'),\n PN: ('PN' : 'PN'),\n PT: ('PT' : 'PT'),\n PW: ('PW' : 'PW'),\n PY: ('PY' : 'PY'),\n QA: ('QA' : 'QA'),\n RE: ('RE' : 'RE'),\n RO: ('RO' : 'RO'),\n RS: ('RS' : 'RS'),\n RU: ('RU' : 'RU'),\n RW: ('RW' : 'RW'),\n SA: ('SA' : 'SA'),\n SB: ('SB' : 'SB'),\n SC: ('SC' : 'SC'),\n SE: ('SE' : 'SE'),\n SG: ('SG' : 'SG'),\n SH: ('SH' : 'SH'),\n SI: ('SI' : 'SI'),\n SJ: ('SJ' : 'SJ'),\n SK: ('SK' : 'SK'),\n SL: ('SL' : 'SL'),\n SM: ('SM' : 'SM'),\n SN: ('SN' : 'SN'),\n SO: ('SO' : 'SO'),\n SR: ('SR' : 'SR'),\n ST: ('ST' : 'ST'),\n SV: ('SV' : 'SV'),\n SZ: ('SZ' : 'SZ'),\n TC: ('TC' : 'TC'),\n TD: ('TD' : 'TD'),\n TG: ('TG' : 'TG'),\n TH: ('TH' : 'TH'),\n TJ: ('TJ' : 'TJ'),\n TM: ('TM' : 'TM'),\n TN: ('TN' : 'TN'),\n TO: ('TO' : 'TO'),\n TR: ('TR' : 'TR'),\n TT: ('TT' : 'TT'),\n TV: ('TV' : 'TV'),\n TW: ('TW' : 'TW'),\n TZ: ('TZ' : 'TZ'),\n UA: ('UA' : 'UA'),\n UG: ('UG' : 'UG'),\n US: ('US' : 'US'),\n UY: ('UY' : 'UY'),\n VA: ('VA' : 'VA'),\n VC: ('VC' : 'VC'),\n VE: ('VE' : 'VE'),\n VG: ('VG' : 'VG'),\n VN: ('VN' : 'VN'),\n VU: ('VU' : 'VU'),\n WF: ('WF' : 'WF'),\n WS: ('WS' : 'WS'),\n YE: ('YE' : 'YE'),\n YT: ('YT' : 'YT'),\n ZA: ('ZA' : 'ZA'),\n ZM: ('ZM' : 'ZM'),\n ZW: ('ZW' : 'ZW')\n};\n\nexport const LANG = {\n AR: ('ar' : 'ar'),\n BG: ('bg' : 'bg'),\n CS: ('cs' : 'cs'),\n DA: ('da' : 'da'),\n DE: ('de' : 'de'),\n EL: ('el' : 'el'),\n EN: ('en' : 'en'),\n ES: ('es' : 'es'),\n ET: ('et' : 'et'),\n FI: ('fi' : 'fi'),\n FR: ('fr' : 'fr'),\n HE: ('he' : 'he'),\n HU: ('hu' : 'hu'),\n ID: ('id' : 'id'),\n IT: ('it' : 'it'),\n JA: ('ja' : 'ja'),\n KO: ('ko' : 'ko'),\n LT: ('lt' : 'lt'),\n LV: ('lv' : 'lv'),\n MS: ('ms' : 'ms'),\n NL: ('nl' : 'nl'),\n NO: ('no' : 'no'),\n PL: ('pl' : 'pl'),\n PT: ('pt' : 'pt'),\n RO: ('ro' : 'ro'),\n RU: ('ru' : 'ru'),\n SI: ('si' : 'si'),\n SK: ('sk' : 'sk'),\n SL: ('sl' : 'sl'),\n SQ: ('sq' : 'sq'),\n SV: ('sv' : 'sv'),\n TH: ('th' : 'th'),\n TL: ('tl' : 'tl'),\n TR: ('tr' : 'tr'),\n VI: ('vi' : 'vi'),\n ZH: ('zh' : 'zh')\n};\n\nexport type CountryLangs = {|\n AD : 'en' | 'fr' | 'es' | 'zh',\n AE : 'en' | 'fr' | 'es' | 'zh' | 'ar',\n AG : 'en' | 'fr' | 'es' | 'zh',\n AI : 'en' | 'fr' | 'es' | 'zh',\n AL : 'sq' | 'en',\n AM : 'en' | 'fr' | 'es' | 'zh',\n AN : 'en' | 'fr' | 'es' | 'zh',\n AO : 'en' | 'fr' | 'es' | 'zh',\n AR : 'es' | 'en',\n AT : 'de' | 'en',\n AU : 'en',\n AW : 'en' | 'fr' | 'es' | 'zh',\n AZ : 'en' | 'fr' | 'es' | 'zh',\n BA : 'en',\n BB : 'en' | 'fr' | 'es' | 'zh',\n BE : 'en' | 'nl' | 'fr',\n BF : 'fr' | 'en' | 'es' | 'zh',\n BG : 'bg' | 'en',\n BH : 'ar' | 'en' | 'fr' | 'es' | 'zh',\n BI : 'fr' | 'en' | 'es' | 'zh',\n BJ : 'fr' | 'en' | 'es' | 'zh',\n BM : 'en' | 'fr' | 'es' | 'zh',\n BN : 'ms' | 'en',\n BO : 'es' | 'en' | 'fr' | 'zh',\n BR : 'pt' | 'en',\n BS : 'en' | 'fr' | 'es' | 'zh',\n BT : 'en',\n BW : 'en' | 'fr' | 'es' | 'zh',\n BY : 'en',\n BZ : 'en' | 'es' | 'fr' | 'zh',\n CA : 'en' | 'fr',\n CD : 'fr' | 'en' | 'es' | 'zh',\n CG : 'en' | 'fr' | 'es' | 'zh',\n CH : 'de' | 'fr' | 'en',\n CI : 'fr' | 'en',\n CK : 'en' | 'fr' | 'es' | 'zh',\n CL : 'es' | 'en' | 'fr' | 'zh',\n CM : 'fr' | 'en',\n CN : 'zh',\n CO : 'es' | 'en' | 'fr' | 'zh',\n CR : 'es' | 'en' | 'fr' | 'zh',\n CV : 'en' | 'fr' | 'es' | 'zh',\n CY : 'en',\n CZ : 'cs' | 'en' | 'fr' | 'es' | 'zh',\n DE : 'de' | 'en',\n DJ : 'fr' | 'en' | 'es' | 'zh',\n DK : 'da' | 'en',\n DM : 'en' | 'fr' | 'es' | 'zh',\n DO : 'es' | 'en' | 'fr' | 'zh',\n DZ : 'ar' | 'en' | 'fr' | 'es' | 'zh',\n EC : 'es' | 'en' | 'fr' | 'zh',\n EE : 'et' | 'en' | 'ru' | 'fr' | 'es' | 'zh',\n EG : 'ar' | 'en' | 'fr' | 'es' | 'zh',\n ER : 'en' | 'fr' | 'es' | 'zh',\n ES : 'es' | 'en',\n ET : 'en' | 'fr' | 'es' | 'zh',\n FI : 'fi' | 'en' | 'fr' | 'es' | 'zh',\n FJ : 'en' | 'fr' | 'es' | 'zh',\n FK : 'en' | 'fr' | 'es' | 'zh',\n FM : 'en',\n FO : 'da' | 'en' | 'fr' | 'es' | 'zh',\n FR : 'fr' | 'en',\n GA : 'fr' | 'en' | 'es' | 'zh',\n GB : 'en',\n GD : 'en' | 'fr' | 'es' | 'zh',\n GE : 'en' | 'fr' | 'es' | 'zh',\n GF : 'en' | 'fr' | 'es' | 'zh',\n GI : 'en' | 'fr' | 'es' | 'zh',\n GL : 'da' | 'en' | 'fr' | 'es' | 'zh',\n GM : 'en' | 'fr' | 'es' | 'zh',\n GN : 'fr' | 'en' | 'es' | 'zh',\n GP : 'en' | 'fr' | 'es' | 'zh',\n GR : 'el' | 'en' | 'fr' | 'es' | 'zh',\n GT : 'es' | 'en' | 'fr' | 'zh',\n GW : 'en' | 'fr' | 'es' | 'zh',\n GY : 'en' | 'fr' | 'es' | 'zh',\n HK : 'en' | 'zh',\n HN : 'es' | 'en' | 'fr' | 'zh',\n HR : 'en',\n HU : 'hu' | 'en' | 'fr' | 'es' | 'zh',\n ID : 'id' | 'en',\n IE : 'en' | 'fr' | 'es' | 'zh',\n IL : 'he' | 'en',\n IN : 'en',\n IS : 'en',\n IT : 'it' | 'en',\n JM : 'en' | 'es' | 'fr' | 'zh',\n JO : 'ar' | 'en' | 'fr' | 'es' | 'zh',\n JP : 'ja' | 'en',\n KE : 'en' | 'fr' | 'es' | 'zh',\n KG : 'en' | 'fr' | 'es' | 'zh',\n KH : 'en',\n KI : 'en' | 'fr' | 'es' | 'zh',\n KM : 'fr' | 'en' | 'es' | 'zh',\n KN : 'en' | 'fr' | 'es' | 'zh',\n KR : 'ko' | 'en',\n KW : 'ar' | 'en' | 'fr' | 'es' | 'zh',\n KY : 'en' | 'fr' | 'es' | 'zh',\n KZ : 'en' | 'fr' | 'es' | 'zh',\n LA : 'en',\n LC : 'en' | 'fr' | 'es' | 'zh',\n LI : 'en' | 'fr' | 'es' | 'zh',\n LK : 'si' | 'en',\n LS : 'en' | 'fr' | 'es' | 'zh',\n LT : 'lt' | 'en' | 'ru' | 'fr' | 'es' | 'zh',\n LU : 'en' | 'de' | 'fr' | 'es' | 'zh',\n LV : 'lv' | 'en' | 'ru' | 'fr' | 'es' | 'zh',\n MA : 'ar' | 'en' | 'fr' | 'es' | 'zh',\n MC : 'fr' | 'en',\n MD : 'en',\n ME : 'en',\n MG : 'en' | 'fr' | 'es' | 'zh',\n MH : 'en' | 'fr' | 'es' | 'zh',\n MK : 'en',\n ML : 'fr' | 'en' | 'es' | 'zh',\n MN : 'en',\n MQ : 'en' | 'fr' | 'es' | 'zh',\n MR : 'en' | 'fr' | 'es' | 'zh',\n MS : 'en' | 'fr' | 'es' | 'zh',\n MT : 'en',\n MU : 'en' | 'fr' | 'es' | 'zh',\n MV : 'en',\n MW : 'en' | 'fr' | 'es' | 'zh',\n MX : 'es' | 'en',\n MY : 'ms' | 'en',\n MZ : 'en' | 'fr' | 'es' | 'zh',\n NA : 'en' | 'fr' | 'es' | 'zh',\n NC : 'en' | 'fr' | 'es' | 'zh',\n NE : 'fr' | 'en' | 'es' | 'zh',\n NF : 'en' | 'fr' | 'es' | 'zh',\n NG : 'en',\n NI : 'es' | 'en' | 'fr' | 'zh',\n NL : 'nl' | 'en',\n NO : 'no' | 'en',\n NP : 'en',\n NR : 'en' | 'fr' | 'es' | 'zh',\n NU : 'en' | 'fr' | 'es' | 'zh',\n NZ : 'en' | 'fr' | 'es' | 'zh',\n OM : 'ar' | 'en' | 'fr' | 'es' | 'zh',\n PA : 'es' | 'en' | 'fr' | 'zh',\n PE : 'es' | 'en' | 'fr' | 'zh',\n PF : 'en' | 'fr' | 'es' | 'zh',\n PG : 'en' | 'fr' | 'es' | 'zh',\n PH : 'tl' | 'en',\n PL : 'pl' | 'en',\n PM : 'en' | 'fr' | 'es' | 'zh',\n PN : 'en' | 'fr' | 'es' | 'zh',\n PT : 'pt' | 'en',\n PW : 'en' | 'fr' | 'es' | 'zh',\n PY : 'es' | 'en',\n QA : 'en' | 'fr' | 'es' | 'zh' | 'ar',\n RE : 'en' | 'fr' | 'es' | 'zh',\n RO : 'ro' | 'en' | 'fr' | 'es' | 'zh',\n RS : 'en' | 'fr' | 'es' | 'zh',\n RU : 'ru' | 'en',\n RW : 'fr' | 'en' | 'es' | 'zh',\n SA : 'ar' | 'en' | 'fr' | 'es' | 'zh',\n SB : 'en' | 'fr' | 'es' | 'zh',\n SC : 'fr' | 'en' | 'es' | 'zh',\n SE : 'sv' | 'en',\n SG : 'en',\n SH : 'en' | 'fr' | 'es' | 'zh',\n SI : 'sl' | 'en' | 'fr' | 'es' | 'zh',\n SJ : 'en' | 'fr' | 'es' | 'zh',\n SK : 'sk' | 'en' | 'fr' | 'es' | 'zh',\n SL : 'en' | 'fr' | 'es' | 'zh',\n SM : 'en' | 'fr' | 'es' | 'zh',\n SN : 'fr' | 'en' | 'es' | 'zh',\n SO : 'en' | 'fr' | 'es' | 'zh',\n SR : 'en' | 'fr' | 'es' | 'zh',\n ST : 'en' | 'fr' | 'es' | 'zh',\n SV : 'es' | 'en' | 'fr' | 'zh',\n SZ : 'en' | 'fr' | 'es' | 'zh',\n TC : 'en' | 'fr' | 'es' | 'zh',\n TD : 'fr' | 'en' | 'es' | 'zh',\n TG : 'fr' | 'en' | 'es' | 'zh',\n TH : 'th' | 'en',\n TJ : 'en' | 'fr' | 'es' | 'zh',\n TM : 'en' | 'fr' | 'es' | 'zh',\n TN : 'ar' | 'en' | 'fr' | 'es' | 'zh',\n TO : 'en',\n TR : 'tr' | 'en',\n TT : 'en' | 'fr' | 'es' | 'zh',\n TV : 'en' | 'fr' | 'es' | 'zh',\n TW : 'zh' | 'en',\n TZ : 'en' | 'fr' | 'es' | 'zh',\n UA : 'en' | 'ru' | 'fr' | 'es' | 'zh',\n UG : 'en' | 'fr' | 'es' | 'zh',\n US : 'en' | 'fr' | 'es' | 'zh',\n UY : 'es' | 'en' | 'fr' | 'zh',\n VA : 'en' | 'fr' | 'es' | 'zh',\n VC : 'en' | 'fr' | 'es' | 'zh',\n VE : 'es' | 'en' | 'fr' | 'zh',\n VG : 'en' | 'fr' | 'es' | 'zh',\n VN : 'vi' | 'en',\n VU : 'en' | 'fr' | 'es' | 'zh',\n WF : 'en' | 'fr' | 'es' | 'zh',\n WS : 'en',\n YE : 'ar' | 'en' | 'fr' | 'es' | 'zh',\n YT : 'en' | 'fr' | 'es' | 'zh',\n ZA : 'en' | 'fr' | 'es' | 'zh',\n ZM : 'en' | 'fr' | 'es' | 'zh',\n ZW : 'en'\n|};\n\ntype CountryMap = {\n [ $Values ] : $ReadOnlyArray<$Values>\n};\n\nexport const COUNTRY_LANGS : CountryMap = {\n AD: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n AE: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH, LANG.AR ],\n AG: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n AI: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n AL: [ LANG.SQ, LANG.EN ],\n AM: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n AN: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n AO: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n AR: [ LANG.ES, LANG.EN ],\n AT: [ LANG.DE, LANG.EN ],\n AU: [ LANG.EN ],\n AW: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n AZ: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n BA: [ LANG.EN ],\n BB: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n BE: [ LANG.EN, LANG.NL, LANG.FR ],\n BF: [ LANG.FR, LANG.EN, LANG.ES, LANG.ZH ],\n BG: [ LANG.BG, LANG.EN ],\n BH: [ LANG.AR, LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n BI: [ LANG.FR, LANG.EN, LANG.ES, LANG.ZH ],\n BJ: [ LANG.FR, LANG.EN, LANG.ES, LANG.ZH ],\n BM: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n BN: [ LANG.MS, LANG.EN ],\n BO: [ LANG.ES, LANG.EN, LANG.FR, LANG.ZH ],\n BR: [ LANG.PT, LANG.EN ],\n BS: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n BT: [ LANG.EN ],\n BW: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n BY: [ LANG.EN ],\n BZ: [ LANG.EN, LANG.ES, LANG.FR, LANG.ZH ],\n CA: [ LANG.EN, LANG.FR ],\n CD: [ LANG.FR, LANG.EN, LANG.ES, LANG.ZH ],\n CG: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n CH: [ LANG.DE, LANG.FR, LANG.EN ],\n CI: [ LANG.FR, LANG.EN ],\n CK: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n CL: [ LANG.ES, LANG.EN, LANG.FR, LANG.ZH ],\n CM: [ LANG.FR, LANG.EN ],\n CN: [ LANG.ZH ],\n CO: [ LANG.ES, LANG.EN, LANG.FR, LANG.ZH ],\n CR: [ LANG.ES, LANG.EN, LANG.FR, LANG.ZH ],\n CV: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n CY: [ LANG.EN ],\n CZ: [ LANG.CS, LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n DE: [ LANG.DE, LANG.EN ],\n DJ: [ LANG.FR, LANG.EN, LANG.ES, LANG.ZH ],\n DK: [ LANG.DA, LANG.EN ],\n DM: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n DO: [ LANG.ES, LANG.EN, LANG.FR, LANG.ZH ],\n DZ: [ LANG.AR, LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n EC: [ LANG.ES, LANG.EN, LANG.FR, LANG.ZH ],\n EE: [ LANG.ET, LANG.EN, LANG.RU, LANG.FR, LANG.ES, LANG.ZH ],\n EG: [ LANG.AR, LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n ER: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n ES: [ LANG.ES, LANG.EN ],\n ET: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n FI: [ LANG.FI, LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n FJ: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n FK: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n FM: [ LANG.EN ],\n FO: [ LANG.DA, LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n FR: [ LANG.FR, LANG.EN ],\n GA: [ LANG.FR, LANG.EN, LANG.ES, LANG.ZH ],\n GB: [ LANG.EN ],\n GD: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n GE: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n GF: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n GI: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n GL: [ LANG.DA, LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n GM: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n GN: [ LANG.FR, LANG.EN, LANG.ES, LANG.ZH ],\n GP: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n GR: [ LANG.EL, LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n GT: [ LANG.ES, LANG.EN, LANG.FR, LANG.ZH ],\n GW: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n GY: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n HK: [ LANG.EN, LANG.ZH ],\n HN: [ LANG.ES, LANG.EN, LANG.FR, LANG.ZH ],\n HR: [ LANG.EN ],\n HU: [ LANG.HU, LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n ID: [ LANG.ID, LANG.EN ],\n IE: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n IL: [ LANG.HE, LANG.EN ],\n IN: [ LANG.EN ],\n IS: [ LANG.EN ],\n IT: [ LANG.IT, LANG.EN ],\n JM: [ LANG.EN, LANG.ES, LANG.FR, LANG.ZH ],\n JO: [ LANG.AR, LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n JP: [ LANG.JA, LANG.EN ],\n KE: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n KG: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n KH: [ LANG.EN ],\n KI: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n KM: [ LANG.FR, LANG.EN, LANG.ES, LANG.ZH ],\n KN: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n KR: [ LANG.KO, LANG.EN ],\n KW: [ LANG.AR, LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n KY: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n KZ: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n LA: [ LANG.EN ],\n LC: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n LI: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n LK: [ LANG.SI, LANG.EN ],\n LS: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n LT: [ LANG.LT, LANG.EN, LANG.RU, LANG.FR, LANG.ES, LANG.ZH ],\n LU: [ LANG.EN, LANG.DE, LANG.FR, LANG.ES, LANG.ZH ],\n LV: [ LANG.LV, LANG.EN, LANG.RU, LANG.FR, LANG.ES, LANG.ZH ],\n MA: [ LANG.AR, LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n MC: [ LANG.FR, LANG.EN ],\n MD: [ LANG.EN ],\n ME: [ LANG.EN ],\n MG: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n MH: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n MK: [ LANG.EN ],\n ML: [ LANG.FR, LANG.EN, LANG.ES, LANG.ZH ],\n MN: [ LANG.EN ],\n MQ: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n MR: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n MS: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n MT: [ LANG.EN ],\n MU: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n MV: [ LANG.EN ],\n MW: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n MX: [ LANG.ES, LANG.EN ],\n MY: [ LANG.MS, LANG.EN ],\n MZ: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n NA: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n NC: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n NE: [ LANG.FR, LANG.EN, LANG.ES, LANG.ZH ],\n NF: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n NG: [ LANG.EN ],\n NI: [ LANG.ES, LANG.EN, LANG.FR, LANG.ZH ],\n NL: [ LANG.NL, LANG.EN ],\n NO: [ LANG.NO, LANG.EN ],\n NP: [ LANG.EN ],\n NR: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n NU: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n NZ: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n OM: [ LANG.AR, LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n PA: [ LANG.ES, LANG.EN, LANG.FR, LANG.ZH ],\n PE: [ LANG.ES, LANG.EN, LANG.FR, LANG.ZH ],\n PF: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n PG: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n PH: [ LANG.TL, LANG.EN ],\n PL: [ LANG.PL, LANG.EN ],\n PM: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n PN: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n PT: [ LANG.PT, LANG.EN ],\n PW: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n PY: [ LANG.ES, LANG.EN ],\n QA: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH, LANG.AR ],\n RE: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n RO: [ LANG.RO, LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n RS: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n RU: [ LANG.RU, LANG.EN ],\n RW: [ LANG.FR, LANG.EN, LANG.ES, LANG.ZH ],\n SA: [ LANG.AR, LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n SB: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n SC: [ LANG.FR, LANG.EN, LANG.ES, LANG.ZH ],\n SE: [ LANG.SV, LANG.EN ],\n SG: [ LANG.EN ],\n SH: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n SI: [ LANG.SL, LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n SJ: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n SK: [ LANG.SK, LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n SL: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n SM: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n SN: [ LANG.FR, LANG.EN, LANG.ES, LANG.ZH ],\n SO: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n SR: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n ST: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n SV: [ LANG.ES, LANG.EN, LANG.FR, LANG.ZH ],\n SZ: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n TC: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n TD: [ LANG.FR, LANG.EN, LANG.ES, LANG.ZH ],\n TG: [ LANG.FR, LANG.EN, LANG.ES, LANG.ZH ],\n TH: [ LANG.TH, LANG.EN ],\n TJ: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n TM: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n TN: [ LANG.AR, LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n TO: [ LANG.EN ],\n TR: [ LANG.TR, LANG.EN ],\n TT: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n TV: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n TW: [ LANG.ZH, LANG.EN ],\n TZ: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n UA: [ LANG.EN, LANG.RU, LANG.FR, LANG.ES, LANG.ZH ],\n UG: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n US: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n UY: [ LANG.ES, LANG.EN, LANG.FR, LANG.ZH ],\n VA: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n VC: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n VE: [ LANG.ES, LANG.EN, LANG.FR, LANG.ZH ],\n VG: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n VN: [ LANG.VI, LANG.EN ],\n VU: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n WF: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n WS: [ LANG.EN ],\n YE: [ LANG.AR, LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n YT: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n ZA: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n ZM: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n ZW: [ LANG.EN ]\n};\n\nexport type LocaleType = {|\n country : $Values,\n lang : $Values\n|};\n","/* @flow */\n\nexport const FUNDING = {\n PAYPAL: ('paypal' : 'paypal'),\n VENMO: ('venmo' : 'venmo'),\n APPLEPAY: ('applepay' : 'applepay'),\n ITAU: ('itau' : 'itau'),\n CREDIT: ('credit' : 'credit'),\n PAYLATER: ('paylater' : 'paylater'),\n CARD: ('card' : 'card'),\n IDEAL: ('ideal' : 'ideal'),\n SEPA: ('sepa' : 'sepa'),\n BANCONTACT: ('bancontact' : 'bancontact'),\n GIROPAY: ('giropay' : 'giropay'),\n SOFORT: ('sofort' : 'sofort'),\n EPS: ('eps' : 'eps'),\n MYBANK: ('mybank' : 'mybank'),\n P24: ('p24' : 'p24'),\n VERKKOPANKKI: ('verkkopankki' : 'verkkopankki'),\n PAYU: ('payu' : 'payu'),\n BLIK: ('blik' : 'blik'),\n TRUSTLY: ('trustly' : 'trustly'),\n ZIMPLER: ('zimpler' : 'zimpler'),\n MAXIMA: ('maxima' : 'maxima'),\n OXXO: ('oxxo' : 'oxxo'),\n BOLETO: ('boleto' : 'boleto'),\n WECHATPAY: ('wechatpay' : 'wechatpay'),\n MERCADOPAGO: ('mercadopago' : 'mercadopago')\n};\n\nexport const FUNDING_BRAND_LABEL = {\n PAYPAL: ('PayPal' : 'PayPal'),\n CREDIT: ('PayPal Credit' : 'PayPal Credit')\n};\n\nexport const CARD = {\n VISA: ('visa' : 'visa'),\n MASTERCARD: ('mastercard' : 'mastercard'),\n AMEX: ('amex' : 'amex'),\n DISCOVER: ('discover' : 'discover'),\n HIPER: ('hiper' : 'hiper'),\n ELO: ('elo' : 'elo'),\n JCB: ('jcb' : 'jcb'),\n CUP: ('cup' : 'cup')\n};\n\nexport const WALLET_INSTRUMENT = {\n BALANCE: ('balance' : 'balance'),\n CARD: ('card' : 'card'),\n BANK: ('bank' : 'bank'),\n CREDIT: ('credit' : 'credit')\n};\n\nexport const FUNDING_PRODUCTS = {\n PAY_IN_4: ('payIn4' : 'payIn4'),\n FLEX: ('flex' : 'flex'),\n CREDIT: ('credit' : 'credit')\n};\n","import{useState as n,useReducer as t,useEffect as e,useLayoutEffect as r,useRef as u,useImperativeHandle as o,useMemo as i,useCallback as l,useContext as f,useDebugValue as c}from\"preact/hooks\";export*from\"preact/hooks\";import{Component as a,createElement as s,options as h,toChildArray as p,Fragment as v,render as d,hydrate as m,cloneElement as y,createRef as b,createContext as _}from\"preact\";export{createElement,createContext,createRef,Fragment,Component}from\"preact\";function C(n,t){for(var e in t)n[e]=t[e];return n}function S(n,t){for(var e in n)if(\"__source\"!==e&&!(e in t))return!0;for(var r in t)if(\"__source\"!==r&&n[r]!==t[r])return!0;return!1}function E(n){this.props=n}function g(n,t){function e(n){var e=this.props.ref,r=e==n.ref;return!r&&e&&(e.call?e(null):e.current=null),t?!t(this.props,n)||!r:S(this.props,n)}function r(t){return this.shouldComponentUpdate=e,s(n,t)}return r.displayName=\"Memo(\"+(n.displayName||n.name)+\")\",r.prototype.isReactComponent=!0,r.__f=!0,r}(E.prototype=new a).isPureReactComponent=!0,E.prototype.shouldComponentUpdate=function(n,t){return S(this.props,n)||S(this.state,t)};var w=h.__b;h.__b=function(n){n.type&&n.type.__f&&n.ref&&(n.props.ref=n.ref,n.ref=null),w&&w(n)};var R=\"undefined\"!=typeof Symbol&&Symbol.for&&Symbol.for(\"react.forward_ref\")||3911;function x(n){function t(t,e){var r=C({},t);return delete r.ref,n(r,(e=t.ref||e)&&(\"object\"!=typeof e||\"current\"in e)?e:null)}return t.$$typeof=R,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName=\"ForwardRef(\"+(n.displayName||n.name)+\")\",t}var N=function(n,t){return null==n?null:p(p(n).map(t))},k={map:N,forEach:N,count:function(n){return n?p(n).length:0},only:function(n){var t=p(n);if(1!==t.length)throw\"Children.only\";return t[0]},toArray:p},A=h.__e;h.__e=function(n,t,e){if(n.then)for(var r,u=t;u=u.__;)if((r=u.__c)&&r.__c)return null==t.__e&&(t.__e=e.__e,t.__k=e.__k),r.__c(n,t);A(n,t,e)};var O=h.unmount;function L(){this.__u=0,this.t=null,this.__b=null}function U(n){var t=n.__.__c;return t&&t.__e&&t.__e(n)}function D(n){var t,e,r;function u(u){if(t||(t=n()).then(function(n){e=n.default||n},function(n){r=n}),r)throw r;if(!e)throw t;return s(e,u)}return u.displayName=\"Lazy\",u.__f=!0,u}function F(){this.u=null,this.o=null}h.unmount=function(n){var t=n.__c;t&&t.__R&&t.__R(),t&&!0===n.__h&&(n.type=null),O&&O(n)},(L.prototype=new a).__c=function(n,t){var e=t.__c,r=this;null==r.t&&(r.t=[]),r.t.push(e);var u=U(r.__v),o=!1,i=function(){o||(o=!0,e.__R=null,u?u(l):l())};e.__R=i;var l=function(){if(!--r.__u){if(r.state.__e){var n=r.state.__e;r.__v.__k[0]=function n(t,e,r){return t&&(t.__v=null,t.__k=t.__k&&t.__k.map(function(t){return n(t,e,r)}),t.__c&&t.__c.__P===e&&(t.__e&&r.insertBefore(t.__e,t.__d),t.__c.__e=!0,t.__c.__P=r)),t}(n,n.__c.__P,n.__c.__O)}var t;for(r.setState({__e:r.__b=null});t=r.t.pop();)t.forceUpdate()}},f=!0===t.__h;r.__u++||f||r.setState({__e:r.__b=r.__v.__k[0]}),n.then(i,i)},L.prototype.componentWillUnmount=function(){this.t=[]},L.prototype.render=function(n,t){if(this.__b){if(this.__v.__k){var e=document.createElement(\"div\"),r=this.__v.__k[0].__c;this.__v.__k[0]=function n(t,e,r){return t&&(t.__c&&t.__c.__H&&(t.__c.__H.__.forEach(function(n){\"function\"==typeof n.__c&&n.__c()}),t.__c.__H=null),null!=(t=C({},t)).__c&&(t.__c.__P===r&&(t.__c.__P=e),t.__c=null),t.__k=t.__k&&t.__k.map(function(t){return n(t,e,r)})),t}(this.__b,e,r.__O=r.__P)}this.__b=null}var u=t.__e&&s(v,null,n.fallback);return u&&(u.__h=null),[s(v,null,t.__e?null:n.children),u]};var M=function(n,t,e){if(++e[1]===e[0]&&n.o.delete(t),n.props.revealOrder&&(\"t\"!==n.props.revealOrder[0]||!n.o.size))for(e=n.u;e;){for(;e.length>3;)e.pop()();if(e[1]>>1,1),t.i.removeChild(n)}}),d(s(T,{context:t.context},n.__v),t.l)):t.l&&t.componentWillUnmount()}function I(n,t){return s(j,{__v:n,i:t})}(F.prototype=new a).__e=function(n){var t=this,e=U(t.__v),r=t.o.get(n);return r[0]++,function(u){var o=function(){t.props.revealOrder?(r.push(u),M(t,n,r)):u()};e?e(o):o()}},F.prototype.render=function(n){this.u=null,this.o=new Map;var t=p(n.children);n.revealOrder&&\"b\"===n.revealOrder[0]&&t.reverse();for(var e=t.length;e--;)this.o.set(t[e],this.u=[1,0,this.u]);return n.children},F.prototype.componentDidUpdate=F.prototype.componentDidMount=function(){var n=this;this.o.forEach(function(t,e){M(n,e,t)})};var W=\"undefined\"!=typeof Symbol&&Symbol.for&&Symbol.for(\"react.element\")||60103,P=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,V=function(n){return(\"undefined\"!=typeof Symbol&&\"symbol\"==typeof Symbol()?/fil|che|rad/i:/fil|che|ra/i).test(n)};function z(n,t,e){return null==t.__k&&(t.textContent=\"\"),d(n,t),\"function\"==typeof e&&e(),n?n.__c:null}function B(n,t,e){return m(n,t),\"function\"==typeof e&&e(),n?n.__c:null}a.prototype.isReactComponent={},[\"componentWillMount\",\"componentWillReceiveProps\",\"componentWillUpdate\"].forEach(function(n){Object.defineProperty(a.prototype,n,{configurable:!0,get:function(){return this[\"UNSAFE_\"+n]},set:function(t){Object.defineProperty(this,n,{configurable:!0,writable:!0,value:t})}})});var H=h.event;function Z(){}function Y(){return this.cancelBubble}function $(){return this.defaultPrevented}h.event=function(n){return H&&(n=H(n)),n.persist=Z,n.isPropagationStopped=Y,n.isDefaultPrevented=$,n.nativeEvent=n};var q,G={configurable:!0,get:function(){return this.class}},J=h.vnode;h.vnode=function(n){var t=n.type,e=n.props,r=e;if(\"string\"==typeof t){for(var u in r={},e){var o=e[u];\"value\"===u&&\"defaultValue\"in e&&null==o||(\"defaultValue\"===u&&\"value\"in e&&null==e.value?u=\"value\":\"download\"===u&&!0===o?o=\"\":/ondoubleclick/i.test(u)?u=\"ondblclick\":/^onchange(textarea|input)/i.test(u+t)&&!V(e.type)?u=\"oninput\":/^on(Ani|Tra|Tou|BeforeInp)/.test(u)?u=u.toLowerCase():P.test(u)?u=u.replace(/[A-Z0-9]/,\"-$&\").toLowerCase():null===o&&(o=void 0),r[u]=o)}\"select\"==t&&r.multiple&&Array.isArray(r.value)&&(r.value=p(e.children).forEach(function(n){n.props.selected=-1!=r.value.indexOf(n.props.value)})),\"select\"==t&&null!=r.defaultValue&&(r.value=p(e.children).forEach(function(n){n.props.selected=r.multiple?-1!=r.defaultValue.indexOf(n.props.value):r.defaultValue==n.props.value})),n.props=r}t&&e.class!=e.className&&(G.enumerable=\"className\"in e,null!=e.className&&(r.class=e.className),Object.defineProperty(r,\"className\",G)),n.$$typeof=W,J&&J(n)};var K=h.__r;h.__r=function(n){K&&K(n),q=n.__c};var Q={ReactCurrentDispatcher:{current:{readContext:function(n){return q.__n[n.__c].props.value}}}},X=1,nn=2,tn=3,en=4,rn=5;function un(n,t){return t()}var on=\"object\"==typeof performance&&\"function\"==typeof performance.now?performance.now.bind(performance):function(){return Date.now()},ln=\"16.8.0\";function fn(n){return s.bind(null,n)}function cn(n){return!!n&&n.$$typeof===W}function an(n){return cn(n)?y.apply(null,arguments):n}function sn(n){return!!n.__k&&(d(null,n),!0)}function hn(n){return n&&(n.base||1===n.nodeType&&n)||null}var pn=function(n,t){return n(t)},vn=v;export default{useState:n,useReducer:t,useEffect:e,useLayoutEffect:r,useRef:u,useImperativeHandle:o,useMemo:i,useCallback:l,useContext:f,useDebugValue:c,version:\"16.8.0\",Children:k,render:z,hydrate:B,unmountComponentAtNode:sn,createPortal:I,createElement:s,createContext:_,createFactory:fn,cloneElement:an,createRef:b,Fragment:v,isValidElement:cn,findDOMNode:hn,Component:a,PureComponent:E,memo:g,forwardRef:x,unstable_batchedUpdates:pn,StrictMode:v,Suspense:L,SuspenseList:F,lazy:D,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:Q};export{ln as version,k as Children,z as render,B as hydrate,sn as unmountComponentAtNode,I as createPortal,fn as createFactory,an as cloneElement,cn as isValidElement,hn as findDOMNode,E as PureComponent,g as memo,x as forwardRef,pn as unstable_batchedUpdates,vn as StrictMode,L as Suspense,F as SuspenseList,D as lazy,Q as __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,X as unstable_ImmediatePriority,nn as unstable_UserBlockingPriority,tn as unstable_NormalPriority,en as unstable_LowPriority,rn as unstable_IdlePriority,un as unstable_runWithPriority,on as unstable_now};\n//# sourceMappingURL=compat.module.js.map\n","/** @jsx h */\n/* eslint-disable eslint-comments/disable-enable-pair, react/button-has-type */\nimport { h } from 'preact';\nimport { forwardRef } from 'preact/compat';\n\nconst Button = forwardRef(\n ({ secondary, children, size, className, type = 'button', style = {}, onClick = () => {} }, ref) => {\n const classes = ['button'];\n if (secondary) classes.push('secondary');\n if (size) classes.push(`${size}`);\n if (className) classes.push(className);\n\n return (\n \n );\n }\n);\n\nexport default Button;\n","var parent = require('../../es/array/find');\n\nmodule.exports = parent;\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n if (NATIVE_SYMBOL && has(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n }\n } return WellKnownSymbolsStore[name];\n};\n","var parent = require('../../es/object/entries');\n\nmodule.exports = parent;\n","/**\n * Memoize a function based on all arguments\n * @param {Function} fn Function to memoize\n * @returns {Function} Memoized function\n */\nexport function memoize(fn) {\n const cache = new Map();\n\n return (...args) => {\n const cacheKey = JSON.stringify(args);\n\n if (!cache.has(cacheKey)) {\n cache.set(cacheKey, fn(...args));\n }\n\n return cache.get(cacheKey);\n };\n}\n\n/**\n * Memoize a unary function that takes has a single object parameter\n * @param {Function} fn Function to memoize\n * @param {Array} props Property names to cache against\n * @returns {Function} Memoized function\n */\nexport function memoizeOnProps(fn, props) {\n const cache = new Map();\n\n return (options, ignoreCache = false) => {\n const cacheKey = JSON.stringify(props.map(key => options[key]));\n\n if (!cache.has(cacheKey) || ignoreCache) {\n cache.set(cacheKey, fn(options));\n }\n\n return cache.get(cacheKey);\n };\n}\n\n/**\n * Partially apply a function with specified parameters\n * @param {Function} fn Function to partially apply\n * @param {...any} intialArgs Arguments to partially apply\n * @returns {Function} Partially applied function\n */\nexport function partial(fn, ...intialArgs) {\n return (...nextArgs) => fn(...intialArgs, ...nextArgs);\n}\n\n/**\n * Curry a function\n * @param {Function} fn Function to curry\n * @param {Number} arity Number of function parameters\n * @returns {Function} Curried function\n */\nexport function curry(fn, arity = fn.length) {\n return function curried(...args) {\n if (args.length < arity) {\n return (...nextArgs) => curried(...args, ...nextArgs);\n }\n\n return fn(...args);\n };\n}\n\n/**\n * Higher order function to run an effectful function\n * and still pass along the arguments for chaining\n * @param {Function} fn Effectful function\n * @returns {Function} Pass through function\n */\nexport function passThrough(fn) {\n return arg => {\n const result = fn(arg);\n return typeof result === 'object' && result.then ? result.then(() => arg) : arg;\n };\n}\n\n/**\n * Chain function calls together, starting with an initial value\n * @param {...Function} args Functions\n * @returns {Function} Function that runs initial value through all passed in functions\n */\nexport function pipe(...args) {\n return initialValue => args.reduce((accumulator, fn) => fn(accumulator), initialValue);\n}\n\n/**\n * Retrieve a single property from an object\n * @param {String} prop Property to retrieve\n * @param {Object} obj Object to get get property from\n * @returns {Any} Object property value\n */\nexport const pluck = curry((prop, obj) => obj[prop]);\n\n/**\n * Create an object and assign the value to the property\n * @param {String} prop Property name\n * @param {Any} value Property value\n * @returns {Object} New object with property and value\n */\nexport const assignToProp = curry((prop, value) => ({ [prop]: value }));\n","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar isForced = require('../internals/is-forced');\nvar path = require('../internals/path');\nvar bind = require('../internals/function-bind-context');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\n\nvar wrapConstructor = function (NativeConstructor) {\n var Wrapper = function (a, b, c) {\n if (this instanceof NativeConstructor) {\n switch (arguments.length) {\n case 0: return new NativeConstructor();\n case 1: return new NativeConstructor(a);\n case 2: return new NativeConstructor(a, b);\n } return new NativeConstructor(a, b, c);\n } return NativeConstructor.apply(this, arguments);\n };\n Wrapper.prototype = NativeConstructor.prototype;\n return Wrapper;\n};\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var PROTO = options.proto;\n\n var nativeSource = GLOBAL ? global : STATIC ? global[TARGET] : (global[TARGET] || {}).prototype;\n\n var target = GLOBAL ? path : path[TARGET] || (path[TARGET] = {});\n var targetPrototype = target.prototype;\n\n var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;\n var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor;\n\n for (key in source) {\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contains in native\n USE_NATIVE = !FORCED && nativeSource && has(nativeSource, key);\n\n targetProperty = target[key];\n\n if (USE_NATIVE) if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(nativeSource, key);\n nativeProperty = descriptor && descriptor.value;\n } else nativeProperty = nativeSource[key];\n\n // export native or implementation\n sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key];\n\n if (USE_NATIVE && typeof targetProperty === typeof sourceProperty) continue;\n\n // bind timers to global for call from export context\n if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, global);\n // wrap global constructors for prevent changs in this version\n else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty);\n // make static versions for prototype methods\n else if (PROTO && typeof sourceProperty == 'function') resultProperty = bind(Function.call, sourceProperty);\n // default case\n else resultProperty = sourceProperty;\n\n // add a flag to not completely full polyfills\n if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(resultProperty, 'sham', true);\n }\n\n target[key] = resultProperty;\n\n if (PROTO) {\n VIRTUAL_PROTOTYPE = TARGET + 'Prototype';\n if (!has(path, VIRTUAL_PROTOTYPE)) {\n createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});\n }\n // export virtual prototype methods\n path[VIRTUAL_PROTOTYPE][key] = sourceProperty;\n // export real prototype methods\n if (options.real && targetPrototype && !targetPrototype[key]) {\n createNonEnumerableProperty(targetPrototype, key, sourceProperty);\n }\n }\n }\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","/** @jsx h */\nimport { h } from 'preact';\n\nimport { XPropsProvider, ServerDataProvider } from '../../lib';\nimport { TransitionStateProvider } from '../lib';\nimport commonStyles from '../styles/index.scss';\n\nconst Modal = ({ styles, serverData, children }) => (\n \n \n \n \n {children}\n \n \n \n);\n\nexport default Modal;\n","/** @jsx h */\nimport { h } from 'preact';\n\nimport { useTransitionState, useServerData } from '../lib';\nimport Icon from './Icon';\n\nconst LOCALE = {\n LOGO: {\n DE: 'logo-de',\n GB: 'logo',\n FR: 'logo',\n US: 'logo',\n 'US-EZP': 'logo-ezp'\n }\n};\n\nconst Header = ({ children, className = '', logo, wrapperRef }) => {\n const { country } = useServerData();\n const [, handleClose] = useTransitionState();\n\n return (\n

\n
\n
\n
\n
\n \n
\n
\n {children}\n handleClose('Close Button')}\n >\n \n \n
\n
\n
\n );\n};\n\nexport default Header;\n","/** @jsx h */\nimport { h, Fragment } from 'preact';\nimport { useEffect } from 'preact/hooks';\n\nimport { useTransitionState } from '../lib';\n\nconst Overlay = ({ contentMaxWidth, contentMaxHeight }) => {\n const [, handleClose] = useTransitionState();\n\n useEffect(() => {\n const handleEscapeKeyPress = evt => {\n if (evt.key === 'Escape' || evt.key === 'Esc' || evt.charCode === 27) {\n handleClose('Escape Key');\n }\n };\n\n window.addEventListener('keyup', handleEscapeKeyPress);\n\n return () => window.removeEventListener('keyup', handleEscapeKeyPress);\n });\n\n // Overlay must be split because the content wrapper fills\n // the full screen and will capture the onClick event\n return (\n \n
\n {contentMaxWidth && (\n \n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */}\n handleClose('Modal Overlay')}\n style={{ left: 0, width: `calc((100% - ${contentMaxWidth}px) / 2)` }}\n />\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */}\n handleClose('Modal Overlay')}\n style={{ right: 0, width: `calc((100% - ${contentMaxWidth}px) / 2)` }}\n />\n \n )}\n {contentMaxHeight && (\n \n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */}\n handleClose('Modal Overlay')}\n style={{ left: 0, top: 0, width: `100%`, height: `calc((100% - ${contentMaxHeight}px) / 2)` }}\n />\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */}\n handleClose('Modal Overlay')}\n style={{\n left: 0,\n bottom: 0,\n top: 'auto',\n width: `100%`,\n height: `calc((100% - ${contentMaxHeight}px) / 2)`\n }}\n />\n \n )}\n \n );\n};\n\nexport default Overlay;\n","/** @jsx h */\nimport stringStartsWith from 'core-js-pure/stable/string/starts-with';\nimport { h } from 'preact';\nimport { useEffect, useState } from 'preact/hooks';\n\nimport { useTransitionState, ScrollProvider, useServerData, useXProps, useDidUpdateEffect, getContent } from '../lib';\nimport Overlay from './Overlay';\n\nconst Container = ({ children, contentWrapper, contentMaxWidth, contentMaxHeight }) => {\n const { type, products, meta, setServerData } = useServerData();\n const { onReady, currency, amount, payerId, clientId, merchantId, buyerCountry, version, env } = useXProps();\n const [transitionState] = useTransitionState();\n const [loading, setLoading] = useState(false);\n\n useEffect(() => {\n if (transitionState === 'OPENING') {\n window.focus();\n\n // eslint-disable-next-line no-param-reassign\n contentWrapper.current.scrollTop = 0;\n }\n }, [transitionState]);\n\n useEffect(() => {\n if (typeof onReady === 'function') {\n onReady({ type, products: products.map(({ meta: productMeta }) => productMeta.product), meta });\n }\n }, [meta.messageRequestId]);\n\n useDidUpdateEffect(() => {\n setLoading(true);\n getContent({\n currency,\n amount,\n payerId,\n clientId,\n merchantId,\n buyerCountry,\n version,\n env\n }).then(data => {\n setServerData(data);\n setLoading(false);\n });\n }, [currency, amount, payerId, clientId, merchantId, buyerCountry]);\n\n return (\n \n
\n \n
\n
{children}
\n \n \n
\n \n );\n};\n\nexport default Container;\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var parent = require('../../es/array/includes');\n\nmodule.exports = parent;\n","/* @flow */\n\nexport const PROTOCOL = {\n MOCK: ('mock:' : 'mock:'),\n FILE: ('file:' : 'file:'),\n ABOUT: ('about:' : 'about:')\n};\n\nexport const WILDCARD = '*';\n\nexport const WINDOW_TYPE = {\n IFRAME: ('iframe' : 'iframe'),\n POPUP: ('popup' : 'popup')\n};\n","/* @flow */\n/* eslint max-lines: 0 */\n\nimport { isRegex, noop } from './util';\nimport type { CrossDomainWindowType, SameDomainWindowType, DomainMatcher } from './types';\nimport { PROTOCOL, WILDCARD } from './constants';\n\nconst IE_WIN_ACCESS_ERROR = 'Call was rejected by callee.\\r\\n';\n\nexport function isFileProtocol(win : SameDomainWindowType = window) : boolean {\n return win.location.protocol === PROTOCOL.FILE;\n}\n\nexport function isAboutProtocol(win : SameDomainWindowType = window) : boolean {\n return win.location.protocol === PROTOCOL.ABOUT;\n}\n\nexport function getParent(win? : CrossDomainWindowType = window) : ?CrossDomainWindowType {\n\n if (!win) {\n return;\n }\n\n try {\n if (win.parent && win.parent !== win) {\n return win.parent;\n }\n } catch (err) {\n // pass\n }\n}\n\nexport function getOpener(win? : CrossDomainWindowType = window) : ?CrossDomainWindowType {\n\n if (!win) {\n return;\n }\n\n // Make sure we're not actually an iframe which has had window.open() called on us\n if (getParent(win)) {\n return;\n }\n\n try {\n return win.opener;\n } catch (err) {\n // pass\n }\n}\n\nexport function canReadFromWindow(win : CrossDomainWindowType | SameDomainWindowType) : boolean {\n try {\n // $FlowFixMe\n noop(win && win.location && win.location.href);\n return true;\n } catch (err) {\n // pass\n }\n\n return false;\n}\n\nexport function getActualDomain(win? : SameDomainWindowType = window) : string {\n\n const location = win.location;\n\n if (!location) {\n throw new Error(`Can not read window location`);\n }\n\n const protocol = location.protocol;\n\n if (!protocol) {\n throw new Error(`Can not read window protocol`);\n }\n\n if (protocol === PROTOCOL.FILE) {\n return `${ PROTOCOL.FILE }//`;\n }\n\n if (protocol === PROTOCOL.ABOUT) {\n\n const parent = getParent(win);\n if (parent && canReadFromWindow(parent)) {\n // $FlowFixMe\n return getActualDomain(parent);\n }\n\n return `${ PROTOCOL.ABOUT }//`;\n }\n\n const host = location.host;\n\n if (!host) {\n throw new Error(`Can not read window host`);\n }\n\n return `${ protocol }//${ host }`;\n}\n\nexport function getDomain(win? : SameDomainWindowType = window) : string {\n\n const domain = getActualDomain(win);\n\n if (domain && win.mockDomain && win.mockDomain.indexOf(PROTOCOL.MOCK) === 0) {\n return win.mockDomain;\n }\n\n return domain;\n}\n\nexport function isBlankDomain(win : CrossDomainWindowType) : boolean {\n try {\n // $FlowFixMe\n if (!win.location.href) {\n return true;\n }\n\n if (win.location.href === 'about:blank') {\n return true;\n }\n } catch (err) {\n // pass\n }\n\n return false;\n}\n\nexport function isActuallySameDomain(win : CrossDomainWindowType) : boolean {\n\n try {\n if (win === window) {\n return true;\n }\n\n } catch (err) {\n // pass\n }\n\n try {\n const desc = Object.getOwnPropertyDescriptor(win, 'location');\n\n if (desc && desc.enumerable === false) {\n return false;\n }\n\n } catch (err) {\n // pass\n }\n\n try {\n // $FlowFixMe\n if (isAboutProtocol(win) && canReadFromWindow(win)) {\n return true;\n }\n } catch (err) {\n // pass\n }\n\n try {\n // $FlowFixMe\n if (getActualDomain(win) === getActualDomain(window)) {\n return true;\n }\n\n } catch (err) {\n // pass\n }\n\n return false;\n}\n\nexport function isSameDomain(win : CrossDomainWindowType | SameDomainWindowType) : boolean {\n\n if (!isActuallySameDomain(win)) {\n return false;\n }\n\n try {\n\n if (win === window) {\n return true;\n }\n\n // $FlowFixMe\n if (isAboutProtocol(win) && canReadFromWindow(win)) {\n return true;\n }\n\n // $FlowFixMe\n if (getDomain(window) === getDomain(win)) {\n return true;\n }\n\n } catch (err) {\n // pass\n }\n\n return false;\n}\n\n\nexport function assertSameDomain(win : CrossDomainWindowType | SameDomainWindowType) : SameDomainWindowType {\n if (!isSameDomain(win)) {\n throw new Error(`Expected window to be same domain`);\n }\n\n // $FlowFixMe\n return win;\n}\n\nexport function getParents(win : CrossDomainWindowType) : $ReadOnlyArray {\n\n const result = [];\n\n try {\n\n while (win.parent !== win) {\n result.push(win.parent);\n win = win.parent;\n }\n\n } catch (err) {\n // pass\n }\n\n return result;\n}\n\nexport function isAncestorParent(parent : CrossDomainWindowType, child : CrossDomainWindowType) : boolean {\n\n if (!parent || !child) {\n return false;\n }\n\n const childParent = getParent(child);\n\n if (childParent) {\n return childParent === parent;\n }\n\n if (getParents(child).indexOf(parent) !== -1) {\n return true;\n }\n\n return false;\n}\n\nexport function getFrames(win : CrossDomainWindowType) : $ReadOnlyArray {\n\n const result = [];\n\n let frames;\n\n try {\n frames = win.frames;\n } catch (err) {\n frames = win;\n }\n\n let len;\n\n try {\n len = frames.length;\n } catch (err) {\n // pass\n }\n\n if (len === 0) {\n return result;\n }\n\n if (len) {\n for (let i = 0; i < len; i++) {\n\n let frame;\n\n try {\n frame = frames[i];\n } catch (err) {\n continue;\n }\n\n result.push(frame);\n }\n\n return result;\n }\n\n for (let i = 0; i < 100; i++) {\n let frame;\n\n try {\n frame = frames[i];\n } catch (err) {\n return result;\n }\n\n if (!frame) {\n return result;\n }\n\n result.push(frame);\n }\n\n return result;\n}\n\n\nexport function getAllChildFrames(win : CrossDomainWindowType) : $ReadOnlyArray {\n\n const result = [];\n\n for (const frame of getFrames(win)) {\n result.push(frame);\n\n for (const childFrame of getAllChildFrames(frame)) {\n result.push(childFrame);\n }\n }\n\n return result;\n}\n\nexport function getTop(win? : CrossDomainWindowType = window) : ?CrossDomainWindowType {\n\n try {\n if (win.top) {\n return win.top;\n }\n } catch (err) {\n // pass\n }\n\n if (getParent(win) === win) {\n return win;\n }\n\n try {\n if (isAncestorParent(window, win) && window.top) {\n return window.top;\n }\n } catch (err) {\n // pass\n }\n\n try {\n if (isAncestorParent(win, window) && window.top) {\n return window.top;\n }\n } catch (err) {\n // pass\n }\n\n for (const frame of getAllChildFrames(win)) {\n try {\n if (frame.top) {\n return frame.top;\n }\n } catch (err) {\n // pass\n }\n\n if (getParent(frame) === frame) {\n return frame;\n }\n }\n}\n\nexport function getNextOpener(win? : CrossDomainWindowType = window) : ?CrossDomainWindowType {\n return getOpener(getTop(win) || win);\n}\n\nexport function getUltimateTop(win? : CrossDomainWindowType = window) : CrossDomainWindowType {\n const opener = getNextOpener(win);\n\n if (opener) {\n return getUltimateTop(opener);\n }\n\n return top;\n}\n\nexport function getAllFramesInWindow(win : CrossDomainWindowType) : $ReadOnlyArray {\n const top = getTop(win);\n\n if (!top) {\n throw new Error(`Can not determine top window`);\n }\n\n let result = [ ...getAllChildFrames(top), top ];\n\n // Win may be in shadow dom\n if (result.indexOf(win) === -1) {\n result = [ ...result, win, ...getAllChildFrames(win) ];\n }\n\n return result;\n}\n\nexport function getAllWindows(win? : CrossDomainWindowType = window) : $ReadOnlyArray {\n const frames = getAllFramesInWindow(win);\n const opener = getNextOpener(win);\n\n if (opener) {\n return [ ...getAllWindows(opener), ...frames ];\n } else {\n return frames;\n }\n}\n\nexport function isTop(win : CrossDomainWindowType) : boolean {\n return win === getTop(win);\n}\n\nexport function isFrameWindowClosed(frame : HTMLIFrameElement) : boolean {\n\n if (!frame.contentWindow) {\n return true;\n }\n\n if (!frame.parentNode) {\n return true;\n }\n\n const doc = frame.ownerDocument;\n\n if (doc && doc.documentElement && !doc.documentElement.contains(frame)) {\n let parent = frame;\n\n while (parent.parentNode && parent.parentNode !== parent) {\n parent = parent.parentNode;\n }\n\n // $FlowFixMe\n if (!parent.host || !doc.documentElement.contains(parent.host)) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction safeIndexOf(collection : $ReadOnlyArray, item : T) : number {\n for (let i = 0; i < collection.length; i++) {\n\n try {\n if (collection[i] === item) {\n return i;\n }\n } catch (err) {\n // pass\n }\n }\n\n return -1;\n}\n\nconst iframeWindows = [];\nconst iframeFrames = [];\n\nexport function isWindowClosed(win : CrossDomainWindowType, allowMock : boolean = true) : boolean {\n\n try {\n if (win === window) {\n return false;\n }\n } catch (err) {\n return true;\n }\n\n try {\n if (!win) {\n return true;\n }\n\n } catch (err) {\n return true;\n }\n\n try {\n if (win.closed) {\n return true;\n }\n\n } catch (err) {\n\n // I love you so much IE\n\n if (err && err.message === IE_WIN_ACCESS_ERROR) {\n return false;\n }\n\n return true;\n }\n\n\n if (allowMock && isSameDomain(win)) {\n try {\n // $FlowFixMe\n if (win.mockclosed) {\n return true;\n }\n } catch (err) {\n // pass\n }\n }\n\n // Mobile safari\n\n try {\n if (!win.parent || !win.top) {\n return true;\n }\n } catch (err) {\n // pass\n }\n\n // Yes, this actually happens in IE. win === win errors out when the window\n // is from an iframe, and the iframe was removed from the page.\n\n try {\n noop(win === win); // eslint-disable-line no-self-compare\n } catch (err) {\n return true;\n }\n\n // IE orphaned frame\n\n const iframeIndex = safeIndexOf(iframeWindows, win);\n\n if (iframeIndex !== -1) {\n const frame = iframeFrames[iframeIndex];\n\n if (frame && isFrameWindowClosed(frame)) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction cleanIframes() {\n for (let i = 0; i < iframeWindows.length; i++) {\n let closed = false;\n\n try {\n closed = iframeWindows[i].closed;\n } catch (err) {\n // pass\n }\n\n if (closed) {\n iframeFrames.splice(i, 1);\n iframeWindows.splice(i, 1);\n }\n }\n}\n\nexport function linkFrameWindow(frame : HTMLIFrameElement) {\n\n cleanIframes();\n\n if (frame && frame.contentWindow) {\n try {\n iframeWindows.push(frame.contentWindow);\n iframeFrames.push(frame);\n } catch (err) {\n // pass\n }\n }\n}\n\nexport function getUserAgent(win : ?SameDomainWindowType) : string {\n win = win || window;\n return win.navigator.mockUserAgent || win.navigator.userAgent;\n}\n\n\nexport function getFrameByName(win : CrossDomainWindowType, name : string) : ?CrossDomainWindowType {\n\n const winFrames = getFrames(win);\n\n for (const childFrame of winFrames) {\n try {\n // $FlowFixMe\n if (isSameDomain(childFrame) && childFrame.name === name && winFrames.indexOf(childFrame) !== -1) {\n return childFrame;\n }\n } catch (err) {\n // pass\n }\n }\n\n try {\n // $FlowFixMe\n if (winFrames.indexOf(win.frames[name]) !== -1) {\n // $FlowFixMe\n return win.frames[name];\n }\n } catch (err) {\n // pass\n }\n\n try {\n if (winFrames.indexOf(win[name]) !== -1) {\n return win[name];\n }\n } catch (err) {\n // pass\n }\n}\n\nexport function findChildFrameByName(win : CrossDomainWindowType, name : string) : ?CrossDomainWindowType {\n\n const frame = getFrameByName(win, name);\n\n if (frame) {\n return frame;\n }\n\n for (const childFrame of getFrames(win)) {\n const namedFrame = findChildFrameByName(childFrame, name);\n\n if (namedFrame) {\n return namedFrame;\n }\n }\n}\n\nexport function findFrameByName(win : CrossDomainWindowType, name : string) : ?CrossDomainWindowType {\n const frame = getFrameByName(win, name);\n\n if (frame) {\n return frame;\n }\n\n const top = getTop(win) || win;\n\n return findChildFrameByName(top, name);\n}\n\nexport function isParent(win : CrossDomainWindowType, frame : CrossDomainWindowType) : boolean {\n\n const frameParent = getParent(frame);\n\n if (frameParent) {\n return frameParent === win;\n }\n\n for (const childFrame of getFrames(win)) {\n if (childFrame === frame) {\n return true;\n }\n }\n\n return false;\n}\n\nexport function isOpener(parent : CrossDomainWindowType, child : CrossDomainWindowType) : boolean {\n\n return parent === getOpener(child);\n}\n\nexport function getAncestor(win? : CrossDomainWindowType = window) : ?CrossDomainWindowType {\n win = win || window;\n\n const opener = getOpener(win);\n\n if (opener) {\n return opener;\n }\n\n const parent = getParent(win);\n\n if (parent) {\n return parent;\n }\n}\n\nexport function getAncestors(win : CrossDomainWindowType) : $ReadOnlyArray {\n\n const results = [];\n\n let ancestor = win;\n\n while (ancestor) {\n ancestor = getAncestor(ancestor);\n if (ancestor) {\n results.push(ancestor);\n }\n }\n\n return results;\n}\n\n\nexport function isAncestor(parent : CrossDomainWindowType, child : CrossDomainWindowType) : boolean {\n\n const actualParent = getAncestor(child);\n\n if (actualParent) {\n if (actualParent === parent) {\n return true;\n }\n\n return false;\n }\n\n if (child === parent) {\n return false;\n }\n\n if (getTop(child) === child) {\n return false;\n }\n\n for (const frame of getFrames(parent)) {\n if (frame === child) {\n return true;\n }\n }\n\n return false;\n}\n\nexport function isPopup(win? : CrossDomainWindowType = window) : boolean {\n return Boolean(getOpener(win));\n}\n\nexport function isIframe(win? : CrossDomainWindowType = window) : boolean {\n return Boolean(getParent(win));\n}\n\nexport function isFullpage(win? : CrossDomainWindowType = window) : boolean {\n return Boolean(!isIframe(win) && !isPopup(win));\n}\n\nfunction anyMatch(collection1, collection2) : boolean {\n\n for (const item1 of collection1) {\n for (const item2 of collection2) {\n if (item1 === item2) {\n return true;\n }\n }\n }\n\n return false;\n}\n\nexport function getDistanceFromTop(win : CrossDomainWindowType = window) : number {\n let distance = 0;\n let parent = win;\n\n while (parent) {\n parent = getParent(parent);\n if (parent) {\n distance += 1;\n }\n }\n\n return distance;\n}\n\nexport function getNthParent(win : CrossDomainWindowType, n : number = 1) : ?CrossDomainWindowType {\n let parent = win;\n\n for (let i = 0; i < n; i++) {\n if (!parent) {\n return;\n }\n\n parent = getParent(parent);\n }\n\n return parent;\n}\n\nexport function getNthParentFromTop(win : CrossDomainWindowType, n : number = 1) : ?CrossDomainWindowType {\n return getNthParent(win, getDistanceFromTop(win) - n);\n}\n\nexport function isSameTopWindow(win1 : CrossDomainWindowType, win2 : CrossDomainWindowType) : boolean {\n\n const top1 = getTop(win1) || win1;\n const top2 = getTop(win2) || win2;\n\n try {\n if (top1 && top2) {\n if (top1 === top2) {\n return true;\n }\n\n return false;\n }\n } catch (err) {\n // pass\n }\n\n const allFrames1 = getAllFramesInWindow(win1);\n const allFrames2 = getAllFramesInWindow(win2);\n\n if (anyMatch(allFrames1, allFrames2)) {\n return true;\n }\n\n const opener1 = getOpener(top1);\n const opener2 = getOpener(top2);\n\n if (opener1 && anyMatch(getAllFramesInWindow(opener1), allFrames2)) {\n return false;\n }\n\n if (opener2 && anyMatch(getAllFramesInWindow(opener2), allFrames1)) {\n return false;\n }\n\n return false;\n}\n\nexport function matchDomain(pattern : DomainMatcher, origin : DomainMatcher) : boolean {\n\n if (typeof pattern === 'string') {\n\n if (typeof origin === 'string') {\n return pattern === WILDCARD || origin === pattern;\n }\n\n if (isRegex(origin)) {\n return false;\n }\n\n if (Array.isArray(origin)) {\n return false;\n }\n }\n\n if (isRegex(pattern)) {\n\n if (isRegex(origin)) {\n return pattern.toString() === origin.toString();\n }\n\n if (Array.isArray(origin)) {\n return false;\n }\n\n // $FlowFixMe\n return Boolean(origin.match(pattern));\n }\n\n if (Array.isArray(pattern)) {\n\n if (Array.isArray(origin)) {\n return JSON.stringify(pattern) === JSON.stringify(origin);\n }\n\n if (isRegex(origin)) {\n return false;\n }\n\n return pattern.some(subpattern => matchDomain(subpattern, origin));\n }\n\n return false;\n}\n\nexport function stringifyDomainPattern(pattern : DomainMatcher) : string {\n if (Array.isArray(pattern)) {\n return `(${ pattern.join(' | ') })`;\n } else if (isRegex(pattern)) {\n return `RegExp(${ pattern.toString() }`;\n } else {\n return pattern.toString();\n }\n}\n\nexport function getDomainFromUrl(url : string) : string {\n\n let domain;\n\n if (url.match(/^(https?|mock|file):\\/\\//)) {\n domain = url;\n } else {\n return getDomain();\n }\n\n domain = domain.split('/').slice(0, 3).join('/');\n\n return domain;\n}\n\nexport function onCloseWindow(win : CrossDomainWindowType, callback : Function, delay : number = 1000, maxtime : number = Infinity) : {| cancel : () => void |} {\n\n let timeout;\n\n const check = () => {\n\n if (isWindowClosed(win)) {\n\n if (timeout) {\n clearTimeout(timeout);\n }\n\n return callback();\n }\n\n if (maxtime <= 0) {\n clearTimeout(timeout);\n } else {\n maxtime -= delay;\n timeout = setTimeout(check, delay);\n }\n };\n\n check();\n\n return {\n cancel() {\n if (timeout) {\n clearTimeout(timeout);\n }\n }\n };\n}\n\n// eslint-disable-next-line complexity\nexport function isWindow(obj : Object) : boolean {\n\n try {\n if (obj === window) {\n return true;\n }\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) {\n return true;\n }\n }\n\n try {\n if (Object.prototype.toString.call(obj) === '[object Window]') {\n return true;\n }\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) {\n return true;\n }\n }\n\n try {\n if (window.Window && obj instanceof window.Window) {\n return true;\n }\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) {\n return true;\n }\n }\n\n try {\n if (obj && obj.self === obj) {\n return true;\n }\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) {\n return true;\n }\n }\n\n try {\n if (obj && obj.parent === obj) {\n return true;\n }\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) {\n return true;\n }\n }\n\n try {\n if (obj && obj.top === obj) {\n return true;\n }\n } catch (err) {\n if (err && err.message === IE_WIN_ACCESS_ERROR) {\n return true;\n }\n }\n\n try {\n if (noop(obj === obj) === '__unlikely_value__') { // eslint-disable-line no-self-compare\n return false;\n }\n\n } catch (err) {\n return true;\n }\n\n try {\n if (obj && obj.__cross_domain_utils_window_check__ === '__unlikely_value__') {\n return false;\n }\n\n } catch (err) {\n return true;\n }\n\n try {\n if ('postMessage' in obj && 'self' in obj && 'location' in obj) {\n return true;\n }\n } catch (err) {\n // pass\n }\n\n return false;\n}\n\nexport function isBrowser() : boolean {\n return (typeof window !== 'undefined' && typeof window.location !== 'undefined');\n}\n\nexport function isCurrentDomain(domain : string) : boolean {\n if (!isBrowser()) {\n return false;\n }\n\n return (getDomain() === domain);\n}\n\nexport function isMockDomain(domain : string) : boolean {\n return domain.indexOf(PROTOCOL.MOCK) === 0;\n}\n\nexport function normalizeMockUrl(url : string) : string {\n if (!isMockDomain(getDomainFromUrl(url))) {\n return url;\n }\n\n if (!__TEST__) {\n throw new Error(`Mock urls not supported out of test mode`);\n }\n\n return url.replace(/^mock:\\/\\/[^/]+/, getActualDomain(window));\n}\n\nexport function closeWindow(win : CrossDomainWindowType) {\n try {\n win.close();\n } catch (err) {\n // pass\n }\n}\n\nexport function getFrameForWindow(win : CrossDomainWindowType) : ?HTMLElement {\n if (isSameDomain(win)) {\n return assertSameDomain(win).frameElement;\n }\n\n for (const frame of document.querySelectorAll('iframe')) {\n if (frame && frame.contentWindow && frame.contentWindow === win) {\n return frame;\n }\n }\n}\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (useSourceMap) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join('');\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || '').concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n\n return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n return \"/*# \".concat(data, \" */\");\n}","/*! Isomorphic Style Loader | MIT License | https://github.com/kriasoft/isomorphic-style-loader */\n\n'use strict';\n\nvar inserted = {};\n\nfunction b64EncodeUnicode(str) {\n return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function (match, p1) {\n return String.fromCharCode(\"0x\" + p1);\n }));\n}\n\nfunction removeCss(ids) {\n ids.forEach(function (id) {\n if (--inserted[id] <= 0) {\n var elem = document.getElementById(id);\n\n if (elem) {\n elem.parentNode.removeChild(elem);\n }\n }\n });\n}\n\nfunction insertCss(styles, _temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$replace = _ref.replace,\n replace = _ref$replace === void 0 ? false : _ref$replace,\n _ref$prepend = _ref.prepend,\n prepend = _ref$prepend === void 0 ? false : _ref$prepend,\n _ref$prefix = _ref.prefix,\n prefix = _ref$prefix === void 0 ? 's' : _ref$prefix;\n\n var ids = [];\n\n for (var i = 0; i < styles.length; i++) {\n var _styles$i = styles[i],\n moduleId = _styles$i[0],\n css = _styles$i[1],\n media = _styles$i[2],\n sourceMap = _styles$i[3];\n var id = \"\" + prefix + moduleId + \"-\" + i;\n ids.push(id);\n\n if (inserted[id]) {\n if (!replace) {\n inserted[id]++;\n continue;\n }\n }\n\n inserted[id] = 1;\n var elem = document.getElementById(id);\n var create = false;\n\n if (!elem) {\n create = true;\n elem = document.createElement('style');\n elem.setAttribute('type', 'text/css');\n elem.id = id;\n\n if (media) {\n elem.setAttribute('media', media);\n }\n }\n\n var cssText = css;\n\n if (sourceMap && typeof btoa === 'function') {\n cssText += \"\\n/*# sourceMappingURL=data:application/json;base64,\" + b64EncodeUnicode(JSON.stringify(sourceMap)) + \"*/\";\n cssText += \"\\n/*# sourceURL=\" + sourceMap.file + \"?\" + id + \"*/\";\n }\n\n if ('textContent' in elem) {\n elem.textContent = cssText;\n } else {\n elem.styleSheet.cssText = cssText;\n }\n\n if (create) {\n if (prepend) {\n document.head.insertBefore(elem, document.head.childNodes[0]);\n } else {\n document.head.appendChild(elem);\n }\n }\n }\n\n return removeCss.bind(null, ids);\n}\n\nmodule.exports = insertCss;\n//# sourceMappingURL=insertCss.js.map\n","/** @jsx h */\nimport { h, createContext } from 'preact';\nimport { useState, useEffect, useContext } from 'preact/hooks';\n\nconst XPropsContext = createContext({});\n\nexport const XPropsProvider = ({ children }) => {\n const [xProps, setXProps] = useState(window.xprops);\n\n useEffect(\n () =>\n xProps.onProps(newProps => {\n setXProps({ ...newProps });\n }),\n []\n );\n\n return {children};\n};\n\n// Taken from paypal-smart-payment-buttons/src/menu/hooks.js\nexport function useXProps() {\n return useContext(XPropsContext);\n}\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","module.exports = {};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var parent = require('../../es/array/from');\n\nmodule.exports = parent;\n","var parent = require('../../es/string/starts-with');\n\nmodule.exports = parent;\n","/** @jsx h */\nimport { h, createContext } from 'preact';\nimport { useState, useContext } from 'preact/hooks';\n\nconst ServerData = createContext({});\n\nexport const ServerDataProvider = ({ children, data }) => {\n const [serverData, _setServerData] = useState(data);\n\n const setServerData = updates => _setServerData({ ...serverData, ...updates });\n\n return {children};\n};\n\n// Taken from paypal-smart-payment-buttons/src/menu/hooks.js\nexport function useServerData() {\n return useContext(ServerData);\n}\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","module.exports = true;\n","module.exports = function () { /* empty */ };\n","module.exports = {};\n","/** @jsx h */\nimport arrayFindIndex from 'core-js-pure/stable/array/find-index';\nimport { h, Fragment } from 'preact';\nimport { useState, useEffect } from 'preact/hooks';\n\nimport { useTransitionState, useXProps, useScroll } from '../lib';\nimport { getProductForOffer } from '../../../utils';\n\n// Determine pre-selected tab based on the offer type of the banner.\nconst getInitialTabIndex = (offer, tabs) =>\n Math.max(\n arrayFindIndex(tabs, ({ product }) => product === getProductForOffer(offer)),\n 0\n );\n\nconst Tabs = ({ tabs, onSelect }) => {\n // offer type of banner used to determine which tab to pre-select\n const { offer, onClick } = useXProps();\n const initialTab = getInitialTabIndex(offer, tabs);\n const [transitionState] = useTransitionState();\n\n const [currentTab, setCurrentTab] = useState(initialTab);\n\n const { scrollTo } = useScroll();\n\n const selectTab = index => {\n setCurrentTab(index);\n scrollTo(0);\n\n if (onSelect) {\n onSelect(index);\n }\n };\n\n useEffect(() => {\n if (transitionState === 'CLOSED') {\n selectTab(initialTab);\n }\n }, [transitionState, initialTab]);\n\n const hasHeader = tabs.some(tab => Boolean(tab.header));\n\n const tabClick = index => {\n onClick({ linkName: tabs[index].product });\n selectTab(index);\n };\n\n // TODO: Accessibility\n return (\n \n {hasHeader && (\n
\n {tabs.map((tab, index) => (\n
\n {tab.header}\n
\n ))}\n
\n )}\n
\n {tabs.map((tab, index) => (\n tabClick(index)}\n role=\"tab\"\n ariaSelected={currentTab === index}\n id={index}\n ariaControls={`${index}-2`}\n >\n {tab.title}\n \n ))}\n
\n
\n {tabs.map((tab, index) => (\n \n {tab.body}\n
\n ))}\n
\n \n );\n};\n\nexport default Tabs;\n","/** @jsx h */\nimport { h, createContext } from 'preact';\nimport { useState, useEffect, useContext } from 'preact/hooks';\n\nimport { useXProps } from '../../../lib';\n\nconst TRANSITION_TIME = 350;\n\nexport const STATUS = {\n OPEN: 'OPENED',\n OPENING: 'OPENING',\n CLOSED: 'CLOSED',\n CLOSING: 'CLOSING'\n};\n\nconst TransitionContext = createContext({\n status: STATUS.CLOSED,\n setStatus: () => {}\n});\n\nexport const TransitionStateProvider = ({ children }) => {\n const [state, setState] = useState(STATUS.CLOSED);\n const { show, onProps, onShow } = useXProps();\n\n useEffect(\n () =>\n onProps(newProps => {\n if (newProps.visible && state === STATUS.CLOSED) {\n show().then(() => {\n onShow();\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n setState(STATUS.OPENING);\n setTimeout(() => {\n setState(STATUS.OPEN);\n }, TRANSITION_TIME);\n });\n });\n });\n }\n }),\n []\n );\n\n return (\n \n {children}\n \n );\n};\n\nexport const useTransitionState = () => {\n const { status, setStatus } = useContext(TransitionContext);\n const { hide, onClose } = useXProps();\n\n return [\n status,\n linkName => {\n if (status === STATUS.OPEN || status === STATUS.OPENING) {\n setStatus(STATUS.CLOSING);\n setTimeout(() => {\n if (onClose) {\n onClose({ linkName });\n }\n hide().then(() => setStatus(STATUS.CLOSED));\n }, TRANSITION_TIME);\n }\n }\n ];\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.es/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","module.exports = {};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var parent = require('../../es/string/includes');\n\nmodule.exports = parent;\n","/* @flow */\n\nexport function safeIndexOf(collection : $ReadOnlyArray, item : T) : number {\n for (let i = 0; i < collection.length; i++) {\n\n try {\n if (collection[i] === item) {\n return i;\n }\n } catch (err) {\n // pass\n }\n }\n\n return -1;\n}\n\n// eslint-disable-next-line no-unused-vars\nexport function noop(...args : $ReadOnlyArray) {\n // pass\n}\n","/* @flow */\n\nimport { isWindow, isWindowClosed } from 'cross-domain-utils/src';\n\nimport { hasNativeWeakMap } from './native';\nimport { noop, safeIndexOf } from './util';\n\nexport class CrossDomainSafeWeakMap {\n\n name : string\n weakmap : ?WeakMap\n // eslint-disable-next-line flowtype/no-mutable-array\n keys : Array\n // eslint-disable-next-line flowtype/no-mutable-array\n values : Array\n\n constructor() {\n // eslint-disable-next-line no-bitwise\n this.name = `__weakmap_${ Math.random() * 1e9 >>> 0 }__`;\n\n if (hasNativeWeakMap()) {\n try {\n this.weakmap = new WeakMap();\n } catch (err) {\n // pass\n }\n }\n\n this.keys = [];\n this.values = [];\n }\n\n _cleanupClosedWindows() {\n\n const weakmap = this.weakmap;\n const keys = this.keys;\n\n for (let i = 0; i < keys.length; i++) {\n const value = keys[i];\n\n if (isWindow(value) && isWindowClosed(value)) {\n\n if (weakmap) {\n try {\n weakmap.delete(value);\n } catch (err) {\n // pass\n }\n }\n\n keys.splice(i, 1);\n this.values.splice(i, 1);\n\n i -= 1;\n }\n }\n }\n\n isSafeToReadWrite(key : K) : boolean {\n\n if (isWindow(key)) {\n return false;\n }\n\n try {\n noop(key && key.self);\n noop(key && key[this.name]);\n } catch (err) {\n return false;\n }\n\n return true;\n }\n\n set(key : K, value : V) {\n\n if (!key) {\n throw new Error(`WeakMap expected key`);\n }\n\n const weakmap = this.weakmap;\n\n if (weakmap) {\n try {\n weakmap.set(key, value);\n } catch (err) {\n delete this.weakmap;\n }\n }\n\n if (this.isSafeToReadWrite(key)) {\n try {\n const name = this.name;\n const entry = key[name];\n\n if (entry && entry[0] === key) {\n entry[1] = value;\n } else {\n Object.defineProperty(key, name, {\n value: [ key, value ],\n writable: true\n });\n }\n\n return;\n\n } catch (err) {\n // pass\n }\n }\n\n this._cleanupClosedWindows();\n\n const keys = this.keys;\n const values = this.values;\n const index = safeIndexOf(keys, key);\n\n if (index === -1) {\n keys.push(key);\n values.push(value);\n } else {\n values[index] = value;\n }\n }\n\n get(key : K) : V | void {\n\n if (!key) {\n throw new Error(`WeakMap expected key`);\n }\n\n const weakmap = this.weakmap;\n\n if (weakmap) {\n try {\n if (weakmap.has(key)) {\n return weakmap.get(key);\n }\n \n } catch (err) {\n delete this.weakmap;\n }\n }\n\n if (this.isSafeToReadWrite(key)) {\n try {\n const entry = key[this.name];\n\n if (entry && entry[0] === key) {\n return entry[1];\n }\n\n return;\n } catch (err) {\n // pass\n }\n }\n\n this._cleanupClosedWindows();\n\n const keys = this.keys;\n const index = safeIndexOf(keys, key);\n\n if (index === -1) {\n return;\n }\n\n return this.values[index];\n }\n\n delete(key : K) {\n\n if (!key) {\n throw new Error(`WeakMap expected key`);\n }\n\n const weakmap = this.weakmap;\n\n if (weakmap) {\n try {\n weakmap.delete(key);\n } catch (err) {\n delete this.weakmap;\n }\n }\n\n if (this.isSafeToReadWrite(key)) {\n try {\n const entry = key[this.name];\n\n if (entry && entry[0] === key) {\n entry[0] = entry[1] = undefined;\n }\n } catch (err) {\n // pass\n }\n }\n\n this._cleanupClosedWindows();\n\n const keys = this.keys;\n const index = safeIndexOf(keys, key);\n\n if (index !== -1) {\n keys.splice(index, 1);\n this.values.splice(index, 1);\n }\n }\n\n has(key : K) : boolean {\n\n if (!key) {\n throw new Error(`WeakMap expected key`);\n }\n\n const weakmap = this.weakmap;\n\n if (weakmap) {\n try {\n if (weakmap.has(key)) {\n return true;\n }\n } catch (err) {\n delete this.weakmap;\n }\n }\n\n if (this.isSafeToReadWrite(key)) {\n try {\n const entry = key[this.name];\n\n if (entry && entry[0] === key) {\n return true;\n }\n\n return false;\n } catch (err) {\n // pass\n }\n }\n\n this._cleanupClosedWindows();\n\n const index = safeIndexOf(this.keys, key);\n return index !== -1;\n }\n\n getOrSet(key : K, getter : () => V) : V {\n if (this.has(key)) {\n // $FlowFixMe\n return this.get(key);\n }\n\n const value = getter();\n this.set(key, value);\n return value;\n }\n}\n","\n/* @flow */\n/* eslint max-lines: 0 */\n\nimport { ZalgoPromise } from 'zalgo-promise/src';\nimport { WeakMap } from 'cross-domain-safe-weakmap/src';\n\nimport type { CancelableType } from './types';\n\nexport function getFunctionName (fn : T) : string {\n return fn.name || fn.__name__ || fn.displayName || 'anonymous';\n}\n\nexport function setFunctionName (fn : T, name : string) : T {\n try {\n delete fn.name;\n fn.name = name;\n } catch (err) {\n // pass\n }\n\n fn.__name__ = fn.displayName = name;\n return fn;\n}\n\nexport function base64encode(str : string) : string {\n if (typeof btoa === 'function') {\n return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (m, p1) => {\n return String.fromCharCode(parseInt(p1, 16));\n }));\n }\n\n if (typeof Buffer !== 'undefined') {\n return Buffer.from(str, 'utf8').toString('base64');\n }\n\n throw new Error(`Can not find window.btoa or Buffer`);\n}\n\nexport function base64decode(str : string) : string {\n if (typeof atob === 'function') {\n return decodeURIComponent(Array.prototype.map.call(atob(str), c => {\n // eslint-disable-next-line prefer-template\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''));\n }\n\n if (typeof Buffer !== 'undefined') {\n return Buffer.from(str, 'base64').toString('utf8');\n }\n\n throw new Error(`Can not find window.atob or Buffer`);\n}\n\nexport function uniqueID() : string {\n\n const chars = '0123456789abcdef';\n\n const randomID = 'xxxxxxxxxx'.replace(/./g, () => {\n return chars.charAt(Math.floor(Math.random() * chars.length));\n });\n\n const timeID = base64encode(\n new Date().toISOString().slice(11, 19).replace('T', '.')\n ).replace(/[^a-zA-Z0-9]/g, '').toLowerCase();\n\n return `${ randomID }_${ timeID }`;\n}\n\nexport function getGlobal() : Object {\n if (typeof window !== 'undefined') {\n return window;\n }\n if (typeof global !== 'undefined') {\n return global;\n }\n if (typeof __GLOBAL__ !== 'undefined') {\n return __GLOBAL__;\n }\n throw new Error(`No global found`);\n}\n\nlet objectIDs;\n\nexport function getObjectID(obj : Object) : string {\n\n objectIDs = objectIDs || new WeakMap();\n\n if (obj === null || obj === undefined || (typeof obj !== 'object' && typeof obj !== 'function')) {\n throw new Error(`Invalid object`);\n }\n\n let uid = objectIDs.get(obj);\n\n if (!uid) {\n uid = `${ typeof obj }:${ uniqueID() }`;\n objectIDs.set(obj, uid);\n }\n\n return uid;\n}\n\nfunction serializeArgs(args : $ReadOnlyArray) : string {\n try {\n return JSON.stringify(Array.prototype.slice.call(args), (subkey, val) => {\n if (typeof val === 'function') {\n return `memoize[${ getObjectID(val) }]`;\n }\n return val;\n });\n } catch (err) {\n throw new Error(`Arguments not serializable -- can not be used to memoize`);\n }\n}\n\nexport function getEmptyObject() : {||} {\n // $FlowFixMe\n return {};\n}\n\ntype MemoizeOptions = {|\n name? : string,\n time? : number,\n thisNamespace? : boolean\n|};\n\nconst getDefaultMemoizeOptions = () : MemoizeOptions => {\n // $FlowFixMe\n return {};\n};\n\nexport type Memoized = F & {| reset : () => void |};\n\nlet memoizeGlobalIndex = 0;\nlet memoizeGlobalIndexValidFrom = 0;\n\nexport function memoize(method : F, options? : MemoizeOptions = getDefaultMemoizeOptions()) : Memoized {\n const { thisNamespace = false, time: cacheTime } = options;\n\n let simpleCache;\n let thisCache;\n\n let memoizeIndex = memoizeGlobalIndex;\n memoizeGlobalIndex += 1;\n\n const memoizedFunction = function memoizedFunction(...args) : mixed {\n if (memoizeIndex < memoizeGlobalIndexValidFrom) {\n simpleCache = null;\n thisCache = null;\n memoizeIndex = memoizeGlobalIndex;\n memoizeGlobalIndex += 1;\n }\n\n let cache;\n\n if (thisNamespace) {\n thisCache = thisCache || new WeakMap();\n cache = thisCache.getOrSet(this, getEmptyObject);\n } else {\n cache = simpleCache = simpleCache || {};\n }\n\n const cacheKey = serializeArgs(args);\n let cacheResult = cache[cacheKey];\n\n if (cacheResult && cacheTime && (Date.now() - cacheResult.time) < cacheTime) {\n delete cache[cacheKey];\n cacheResult = null;\n }\n\n if (cacheResult) {\n return cacheResult.value;\n }\n\n const time = Date.now();\n const value = method.apply(this, arguments);\n\n cache[cacheKey] = { time, value };\n\n return value;\n };\n\n memoizedFunction.reset = () => {\n simpleCache = null;\n thisCache = null;\n };\n\n // $FlowFixMe\n const result : F = memoizedFunction;\n\n return setFunctionName(result, `${ options.name || getFunctionName(method) }::memoized`);\n}\n\nmemoize.clear = () => {\n memoizeGlobalIndexValidFrom = memoizeGlobalIndex;\n};\n\nexport function promiseIdentity(item : ZalgoPromise | T) : ZalgoPromise {\n // $FlowFixMe\n return ZalgoPromise.resolve(item);\n}\n\n// eslint-disable-next-line flowtype/no-weak-types\nexport function memoizePromise(method : (...args : $ReadOnlyArray) => ZalgoPromise) : ((...args : $ReadOnlyArray) => ZalgoPromise) {\n let cache = {};\n\n // eslint-disable-next-line flowtype/no-weak-types\n function memoizedPromiseFunction(...args : $ReadOnlyArray) : ZalgoPromise {\n const key : string = serializeArgs(args);\n\n if (cache.hasOwnProperty(key)) {\n return cache[key];\n }\n\n cache[key] = ZalgoPromise.try(() => method.apply(this, arguments))\n .finally(() => {\n delete cache[key];\n });\n\n return cache[key];\n }\n\n memoizedPromiseFunction.reset = () => {\n cache = {};\n };\n\n return setFunctionName(memoizedPromiseFunction, `${ getFunctionName(method) }::promiseMemoized`);\n}\n\ntype PromisifyOptions = {|\n name ? : string\n|};\n\nconst getDefaultPromisifyOptions = () : PromisifyOptions => {\n // $FlowFixMe\n return {};\n};\n\n// eslint-disable-next-line flowtype/no-weak-types\nexport function promisify(method : (...args : $ReadOnlyArray) => R, options : PromisifyOptions = getDefaultPromisifyOptions()) : ((...args : $ReadOnlyArray) => ZalgoPromise) {\n function promisifiedFunction() : ZalgoPromise {\n return ZalgoPromise.try(method, this, arguments);\n }\n\n if (options.name) {\n promisifiedFunction.displayName = `${ options.name }:promisified`;\n }\n\n return setFunctionName(promisifiedFunction, `${ getFunctionName(method) }::promisified`);\n}\n\n// eslint-disable-next-line flowtype/no-weak-types\nexport function inlineMemoize(method : (...args : $ReadOnlyArray) => R, logic : (...args : $ReadOnlyArray) => R, args : $ReadOnlyArray = []) : R {\n // $FlowFixMe\n const cache : {| [string] : R |} = method.__inline_memoize_cache__ = method.__inline_memoize_cache__ || {};\n const key = serializeArgs(args);\n\n if (cache.hasOwnProperty(key)) {\n return cache[key];\n }\n \n const result = cache[key] = logic(...args);\n\n return result;\n}\n\n// eslint-disable-next-line no-unused-vars\nexport function noop(...args : $ReadOnlyArray) {\n // pass\n}\n\nexport function once(method : Function) : Function {\n let called = false;\n\n const onceFunction = function() : mixed {\n if (!called) {\n called = true;\n return method.apply(this, arguments);\n }\n };\n\n return setFunctionName(onceFunction, `${ getFunctionName(method) }::once`);\n}\n\nexport function hashStr(str : string) : number {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n hash += str[i].charCodeAt(0) * Math.pow((i % 10) + 1, 5);\n }\n return Math.floor(Math.pow(Math.sqrt(hash), 5));\n}\n\nexport function strHashStr(str : string) : string {\n let hash = '';\n\n for (let i = 0; i < str.length; i++) {\n let total = (str[i].charCodeAt(0) * i);\n\n if (str[i + 1]) {\n total += (str[i + 1].charCodeAt(0) * (i - 1));\n }\n\n hash += String.fromCharCode(97 + (Math.abs(total) % 26));\n }\n\n return hash;\n}\n\nexport function match(str : string, pattern : RegExp) : ?string {\n const regmatch = str.match(pattern);\n if (regmatch) {\n return regmatch[1];\n }\n}\n\nexport function awaitKey(obj : Object, key : string) : ZalgoPromise {\n return new ZalgoPromise(resolve => {\n\n let value = obj[key];\n\n if (value) {\n return resolve(value);\n }\n\n delete obj[key];\n\n Object.defineProperty(obj, key, {\n\n configurable: true,\n\n set(item) {\n value = item;\n\n if (value) {\n resolve(value);\n }\n },\n\n get() : T {\n return value;\n }\n });\n });\n}\n\nexport function stringifyError(err : mixed, level : number = 1) : string {\n\n if (level >= 3) {\n return 'stringifyError stack overflow';\n }\n\n try {\n if (!err) {\n return ``;\n }\n\n if (typeof err === 'string') {\n return err;\n }\n\n if (err instanceof Error) {\n const stack = err && err.stack;\n const message = err && err.message;\n\n if (stack && message) {\n if (stack.indexOf(message) !== -1) {\n return stack;\n } else {\n return `${ message }\\n${ stack }`;\n }\n } else if (stack) {\n return stack;\n } else if (message) {\n return message;\n }\n }\n\n if (err && err.toString && typeof err.toString === 'function') {\n // $FlowFixMe\n return err.toString();\n }\n\n return Object.prototype.toString.call(err);\n\n } catch (newErr) {\n return `Error while stringifying error: ${ stringifyError(newErr, level + 1) }`;\n }\n}\n\nexport function stringifyErrorMessage(err : mixed) : string {\n\n const defaultMessage = ``;\n\n if (!err) {\n return defaultMessage;\n }\n\n if (err instanceof Error) {\n return err.message || defaultMessage;\n }\n\n if (typeof err.message === 'string') {\n return err.message || defaultMessage;\n }\n\n return defaultMessage;\n}\n\nexport function stringify(item : mixed) : string {\n if (typeof item === 'string') {\n return item;\n }\n\n if (item && item.toString && typeof item.toString === 'function') {\n // $FlowFixMe\n return item.toString();\n }\n\n return Object.prototype.toString.call(item);\n}\n\nexport function domainMatches(hostname : string, domain : string) : boolean {\n hostname = hostname.split('://')[1];\n const index = hostname.indexOf(domain);\n return (index !== -1 && hostname.slice(index) === domain);\n}\n\nexport function patchMethod(obj : Object, name : string, handler : Function) {\n const original = obj[name];\n\n obj[name] = function patchedMethod() : mixed {\n return handler({\n context: this,\n args: Array.prototype.slice.call(arguments),\n original,\n callOriginal: () => original.apply(this, arguments)\n });\n };\n}\n\nexport function extend(obj : T, source : Object) : T {\n if (!source) {\n return obj;\n }\n\n if (Object.assign) {\n return Object.assign(obj, source);\n }\n\n for (const key in source) {\n if (source.hasOwnProperty(key)) {\n obj[key] = source[key];\n }\n }\n\n return obj;\n}\n\n// eslint-disable-next-line no-undef\ntype Values = ({ [string] : T }) => $ReadOnlyArray;\n\nexport const values : Values = (obj) => {\n if (Object.values) {\n // $FlowFixMe\n return Object.values(obj);\n }\n\n const result = [];\n for (const key in obj) {\n if (obj.hasOwnProperty(key)) {\n result.push(obj[key]);\n }\n }\n\n // $FlowFixMe\n return result;\n};\n\nexport const memoizedValues : Values = memoize(values);\n\nexport function perc(pixels : number, percentage : number) : number {\n return Math.round((pixels * percentage) / 100);\n}\n\nexport function min(...args : $ReadOnlyArray) : number {\n return Math.min(...args);\n}\n\nexport function max(...args : $ReadOnlyArray) : number {\n return Math.max(...args);\n}\n\nexport function roundUp(num : number, nearest : number) : number {\n const remainder = num % nearest;\n return remainder\n ? (num - remainder) + nearest\n : num;\n}\n\nexport function regexMap(str : string, regexp : RegExp, handler : () => T) : $ReadOnlyArray {\n const results = [];\n\n // $FlowFixMe\n str.replace(regexp, function regexMapMatcher(item) {\n results.push(handler ? handler.apply(null, arguments) : item);\n });\n\n // $FlowFixMe\n return results;\n}\n\nexport function svgToBase64(svg : string) : string {\n return `data:image/svg+xml;base64,${ base64encode(svg) }`;\n}\n\nexport function objFilter(obj : { [string] : T }, filter? : (T, ?string) => mixed = Boolean) : { [string] : R } {\n const result = {};\n\n for (const key in obj) {\n if (!obj.hasOwnProperty(key) || !filter(obj[key], key)) {\n continue;\n }\n\n result[key] = obj[key];\n }\n\n return result;\n}\n\nexport function identity (item : T) : T {\n return item;\n}\n\nexport function regexTokenize(text : string, regexp : RegExp) : $ReadOnlyArray {\n const result = [];\n text.replace(regexp, token => {\n result.push(token);\n return '';\n });\n return result;\n}\n\nexport function promiseDebounce(method : () => ZalgoPromise | T, delay : number = 50) : () => ZalgoPromise {\n\n let promise;\n let timeout;\n\n const promiseDebounced = function() : ZalgoPromise {\n if (timeout) {\n clearTimeout(timeout);\n }\n\n const localPromise = promise = promise || new ZalgoPromise();\n\n timeout = setTimeout(() => {\n promise = null;\n timeout = null;\n\n ZalgoPromise.try(method).then(\n result => { localPromise.resolve(result); },\n err => { localPromise.reject(err); }\n );\n }, delay);\n\n return localPromise;\n };\n\n return setFunctionName(promiseDebounced, `${ getFunctionName(method) }::promiseDebounced`);\n}\n\nexport function safeInterval(method : Function, time : number) : {| cancel : () => void |} {\n\n let timeout;\n\n function loop() {\n timeout = setTimeout(() => {\n method();\n loop();\n }, time);\n }\n\n loop();\n\n return {\n cancel() {\n clearTimeout(timeout);\n }\n };\n}\n\nexport function isInteger(str : string) : boolean {\n return Boolean(str.match(/^[0-9]+$/));\n}\n\nexport function isFloat(str : string) : boolean {\n return Boolean(str.match(/^[0-9]+\\.[0-9]+$/));\n}\n\nexport function serializePrimitive(value : string | number | boolean) : string {\n return value.toString();\n}\n\nexport function deserializePrimitive(value : string) : string | number | boolean {\n if (value === 'true') {\n return true;\n } else if (value === 'false') {\n return false;\n } else if (isInteger(value)) {\n return parseInt(value, 10);\n } else if (isFloat(value)) {\n return parseFloat(value);\n } else {\n return value;\n }\n}\n\nexport function dotify(obj : Object, prefix : string = '', newobj : Object = {}) : { [string] : string } {\n prefix = prefix ? `${ prefix }.` : prefix;\n for (const key in obj) {\n if (!obj.hasOwnProperty(key) || obj[key] === undefined || obj[key] === null || typeof obj[key] === 'function') {\n continue;\n } else if (obj[key] && Array.isArray(obj[key]) && obj[key].length && obj[key].every(val => typeof val !== 'object')) {\n newobj[`${ prefix }${ key }[]`] = obj[key].join(',');\n } else if (obj[key] && typeof obj[key] === 'object') {\n newobj = dotify(obj[key], `${ prefix }${ key }`, newobj);\n } else {\n newobj[`${ prefix }${ key }`] = serializePrimitive(obj[key]);\n }\n }\n return newobj;\n}\n\nexport function undotify(obj : { [string] : string }) : Object {\n \n const result = {};\n\n for (let key in obj) {\n if (!obj.hasOwnProperty(key) || typeof obj[key] !== 'string') {\n continue;\n }\n\n let value = obj[key];\n\n if (key.match(/^.+\\[\\]$/)) {\n key = key.slice(0, -2);\n value = value.split(',').map(deserializePrimitive);\n } else {\n value = deserializePrimitive(value);\n }\n\n let keyResult = result;\n const parts = key.split('.');\n for (let i = 0; i < parts.length; i++) {\n const part = parts[i];\n const isLast = (i + 1 === parts.length);\n const isIndex = !isLast && isInteger(parts[i + 1]);\n\n if (part === 'constructor' || part === 'prototype' || part === '__proto__') {\n throw new Error(`Disallowed key: ${ part }`);\n }\n\n if (isLast) {\n // $FlowFixMe\n keyResult[part] = value;\n } else {\n // $FlowFixMe\n keyResult = keyResult[part] = keyResult[part] || (isIndex ? [] : {});\n }\n }\n }\n\n return result;\n}\n\nexport type EventEmitterType = {|\n on : (eventName : string, handler : Function) => CancelableType,\n once : (eventName : string, handler : Function) => CancelableType,\n trigger : (eventName : string, ...args : $ReadOnlyArray) => ZalgoPromise,\n triggerOnce : (eventName : string, ...args : $ReadOnlyArray) => ZalgoPromise,\n reset : () => void\n|};\n\nexport function eventEmitter() : EventEmitterType {\n const triggered = {};\n let handlers = {};\n\n return {\n\n on(eventName : string, handler : Function) : CancelableType {\n const handlerList = handlers[eventName] = handlers[eventName] || [];\n\n handlerList.push(handler);\n\n let cancelled = false;\n\n return {\n cancel() {\n if (!cancelled) {\n cancelled = true;\n handlerList.splice(handlerList.indexOf(handler), 1);\n }\n\n }\n };\n },\n\n once(eventName : string, handler : Function) : CancelableType {\n\n const listener = this.on(eventName, () => {\n listener.cancel();\n handler();\n });\n\n return listener;\n },\n\n trigger(eventName : string, ...args : $ReadOnlyArray) : ZalgoPromise {\n\n const handlerList = handlers[eventName];\n const promises = [];\n\n if (handlerList) {\n for (const handler of handlerList) {\n promises.push(ZalgoPromise.try(() => handler(...args)));\n }\n }\n\n return ZalgoPromise.all(promises).then(noop);\n },\n\n triggerOnce(eventName : string, ...args : $ReadOnlyArray) : ZalgoPromise {\n\n if (triggered[eventName]) {\n return ZalgoPromise.resolve();\n }\n\n triggered[eventName] = true;\n return this.trigger(eventName, ...args);\n },\n\n reset() {\n handlers = {};\n }\n };\n}\n\nexport function camelToDasherize(string : string) : string {\n return string.replace(/([A-Z])/g, (g) => {\n return `-${ g.toLowerCase() }`;\n });\n}\n\nexport function dasherizeToCamel(string : string) : string {\n return string.replace(/-([a-z])/g, (g) => {\n return g[1].toUpperCase();\n });\n}\n\nexport function capitalizeFirstLetter(string : string) : string {\n return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();\n}\n\nexport function get(item : Object, path : string, def : mixed) : mixed {\n\n if (!path) {\n return def;\n }\n\n const pathParts = path.split('.');\n\n // Loop through each section of our key path\n\n for (let i = 0; i < pathParts.length; i++) {\n\n // If we have an object, we can get the key\n if (typeof item === 'object' && item !== null) {\n item = item[pathParts[i]];\n\n // Otherwise, we should return the default (undefined if not provided)\n } else {\n return def;\n }\n }\n\n // If our final result is undefined, we should return the default\n\n return item === undefined ? def : item;\n}\n\nexport function safeTimeout(method : Function, time : number) {\n\n const interval = safeInterval(() => {\n time -= 100;\n if (time <= 0) {\n interval.cancel();\n method();\n }\n }, 100);\n}\n\nexport function defineLazyProp(obj : Object | $ReadOnlyArray, key : string | number, getter : () => T) {\n if (Array.isArray(obj)) {\n if (typeof key !== 'number') {\n throw new TypeError(`Array key must be number`);\n }\n } else if (typeof obj === 'object' && obj !== null) {\n if (typeof key !== 'string') {\n throw new TypeError(`Object key must be string`);\n }\n }\n \n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: true,\n get: () => {\n // $FlowFixMe\n delete obj[key];\n const value = getter();\n // $FlowFixMe\n obj[key] = value;\n return value;\n },\n set: (value : T) => {\n // $FlowFixMe\n delete obj[key];\n // $FlowFixMe\n obj[key] = value;\n }\n });\n}\n\nexport function arrayFrom(item : Iterable) : $ReadOnlyArray { // eslint-disable-line no-undef\n return Array.prototype.slice.call(item);\n}\n\nexport function isObject(item : mixed) : boolean {\n return (typeof item === 'object' && item !== null);\n}\n\nexport function isObjectObject(obj : mixed) : boolean {\n return isObject(obj) && Object.prototype.toString.call(obj) === '[object Object]';\n}\n\nexport function isPlainObject(obj : mixed) : boolean {\n if (!isObjectObject(obj)) {\n return false;\n }\n\n // $FlowFixMe\n const constructor = obj.constructor;\n\n if (typeof constructor !== 'function') {\n return false;\n }\n\n const prototype = constructor.prototype;\n\n if (!isObjectObject(prototype)) {\n return false;\n }\n\n if (!prototype.hasOwnProperty('isPrototypeOf')) {\n return false;\n }\n\n return true;\n}\n\nexport function replaceObject | Object> (item : T, replacer : (mixed, string | number, string) => mixed, fullKey : string = '') : T {\n\n if (Array.isArray(item)) {\n const length = item.length;\n const result : Array = [];\n\n for (let i = 0; i < length; i++) {\n\n \n defineLazyProp(result, i, () => {\n const itemKey = fullKey ? `${ fullKey }.${ i }` : `${ i }`;\n const el = item[i];\n\n let child = replacer(el, i, itemKey);\n\n if (isPlainObject(child) || Array.isArray(child)) {\n // $FlowFixMe\n child = replaceObject(child, replacer, itemKey);\n }\n\n return child;\n });\n }\n\n // $FlowFixMe\n return result;\n } else if (isPlainObject(item)) {\n const result = {};\n\n for (const key in item) {\n if (!item.hasOwnProperty(key)) {\n continue;\n }\n\n defineLazyProp(result, key, () => {\n const itemKey = fullKey ? `${ fullKey }.${ key }` : `${ key }`;\n // $FlowFixMe\n const el = item[key];\n\n let child = replacer(el, key, itemKey);\n\n if (isPlainObject(child) || Array.isArray(child)) {\n // $FlowFixMe\n child = replaceObject(child, replacer, itemKey);\n }\n\n return child;\n });\n }\n\n // $FlowFixMe\n return result;\n } else {\n throw new Error(`Pass an object or array`);\n }\n}\n\n\nexport function copyProp(source : Object, target : Object, name : string, def : mixed) {\n if (source.hasOwnProperty(name)) {\n const descriptor = Object.getOwnPropertyDescriptor(source, name);\n // $FlowFixMe\n Object.defineProperty(target, name, descriptor);\n\n } else {\n target[name] = def;\n }\n}\n\ntype RegexResultType = {|\n text : string,\n groups : $ReadOnlyArray,\n start : number,\n end : number,\n length : number,\n replace : (text : string) => string\n|};\n\nexport function regex(pattern : string | RegExp, string : string, start : number = 0) : ?RegexResultType {\n\n if (typeof pattern === 'string') {\n // eslint-disable-next-line security/detect-non-literal-regexp\n pattern = new RegExp(pattern);\n }\n\n const result = string.slice(start).match(pattern);\n\n if (!result) {\n return;\n }\n\n // $FlowFixMe\n const index : number = result.index;\n const regmatch = result[0];\n\n return {\n text: regmatch,\n groups: result.slice(1),\n start: start + index,\n end: start + index + regmatch.length,\n length: regmatch.length,\n\n replace(text : string) : string {\n\n if (!regmatch) {\n return '';\n }\n\n return `${ regmatch.slice(0, start + index) }${ text }${ regmatch.slice(index + regmatch.length) }`;\n }\n };\n}\n\nexport function regexAll(pattern : string | RegExp, string : string) : $ReadOnlyArray {\n\n const matches = [];\n let start = 0;\n\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const regmatch = regex(pattern, string, start);\n\n if (!regmatch) {\n break;\n }\n\n matches.push(regmatch);\n start = match.end;\n }\n\n return matches;\n}\n\nexport function isDefined(value : ?mixed) : boolean {\n return value !== null && value !== undefined;\n}\n\nexport function cycle(method : Function) : ZalgoPromise {\n return ZalgoPromise.try(method).then(() => cycle(method));\n}\n\nexport function debounce(method : (...args : $ReadOnlyArray) => T, time : number = 100) : (...args : $ReadOnlyArray) => void {\n\n let timeout;\n\n const debounceWrapper = function() {\n clearTimeout(timeout);\n\n timeout = setTimeout(() => {\n return method.apply(this, arguments);\n }, time);\n };\n\n return setFunctionName(debounceWrapper, `${ getFunctionName(method) }::debounced`);\n}\n\nexport function isRegex(item : mixed) : boolean {\n return Object.prototype.toString.call(item) === '[object RegExp]';\n}\n\ntype FunctionProxy = (method : T) => T;\n\n// eslint-disable-next-line flowtype/no-weak-types\nexport const weakMapMemoize : FunctionProxy<*> = (method : (arg : any) => R) : ((...args : $ReadOnlyArray) => R) => {\n\n const weakmap = new WeakMap();\n\n // eslint-disable-next-line flowtype/no-weak-types\n return function weakmapMemoized(arg : any) : R {\n return weakmap.getOrSet(arg, () => method.call(this, arg));\n };\n};\n\ntype FunctionPromiseProxy) => ZalgoPromise> = (T) => T;\n\n// eslint-disable-next-line flowtype/no-weak-types\nexport const weakMapMemoizePromise : FunctionPromiseProxy<*, *> = (method : (arg : any) => ZalgoPromise) : ((...args : $ReadOnlyArray) => ZalgoPromise) => {\n\n const weakmap = new WeakMap();\n\n // eslint-disable-next-line flowtype/no-weak-types\n return function weakmapMemoizedPromise(arg : any) : ZalgoPromise {\n return weakmap.getOrSet(arg, () =>\n method.call(this, arg).finally(() => {\n weakmap.delete(arg);\n }));\n };\n};\n\nexport function getOrSet(obj : O, key : string, getter : () => T) : T {\n if (obj.hasOwnProperty(key)) {\n return obj[key];\n }\n\n const val = getter();\n obj[key] = val;\n return val;\n}\n\nexport type CleanupType = {|\n set : (string, T) => T, // eslint-disable-line no-undef\n register : (Function) => void,\n all : (err? : mixed) => ZalgoPromise\n|};\n\nexport function cleanup(obj : Object) : CleanupType {\n\n const tasks = [];\n let cleaned = false;\n let cleanErr;\n\n return {\n set(name : string, item : T) : T {\n if (!cleaned) {\n obj[name] = item;\n this.register(() => {\n delete obj[name];\n });\n }\n return item;\n },\n\n register(method : Function) {\n if (cleaned) {\n method(cleanErr);\n } else {\n tasks.push(once(() => method(cleanErr)));\n }\n },\n\n all(err? : mixed) : ZalgoPromise {\n cleanErr = err;\n\n const results = [];\n cleaned = true;\n\n while (tasks.length) {\n const task = tasks.shift();\n results.push(task());\n }\n\n return ZalgoPromise.all(results).then(noop);\n }\n };\n}\n\nexport function tryCatch(fn : () => T) : {| result : T, error : void |} | {| result : void, error : mixed |} {\n let result;\n let error;\n\n try {\n result = fn();\n } catch (err) {\n error = err;\n }\n \n // $FlowFixMe\n return { result, error };\n}\n\n// eslint-disable-next-line flowtype/no-mutable-array\nexport function removeFromArray>(arr : T, item : X) {\n const index = arr.indexOf(item);\n if (index !== -1) {\n arr.splice(index, 1);\n }\n}\n\nexport function assertExists(name : string, thing : void | null | T) : T {\n if (thing === null || typeof thing === 'undefined') {\n throw new Error(`Expected ${ name } to be present`);\n }\n \n return thing;\n}\n\nexport function unique(arr : $ReadOnlyArray) : $ReadOnlyArray {\n const result = {};\n for (const item of arr) {\n result[item] = true;\n }\n return Object.keys(result);\n}\n\nexport const constHas = (constant : T, value : X) : boolean => {\n return memoizedValues(constant).indexOf(value) !== -1;\n};\n\nexport function dedupeErrors(handler : (mixed) => T) : (mixed) => (T | void) {\n const seenErrors = [];\n const seenStringifiedErrors = {};\n\n return (err) => {\n if (seenErrors.indexOf(err) !== -1) {\n return;\n }\n\n seenErrors.push(err);\n\n const stringifiedError = stringifyError(err);\n if (seenStringifiedErrors[stringifiedError]) {\n return;\n }\n\n seenStringifiedErrors[stringifiedError] = true;\n return handler(err);\n };\n}\n\nexport class ExtendableError extends Error {\n constructor(message : string) {\n super(message);\n // eslint-disable-next-line unicorn/custom-error-definition\n this.name = this.constructor.name;\n if (typeof Error.captureStackTrace === 'function') {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error(message)).stack;\n }\n }\n}\n \n","/* @flow */\n\nexport function hasNativeWeakMap() : boolean {\n\n if (typeof WeakMap === 'undefined') {\n return false;\n }\n\n if (typeof Object.freeze === 'undefined') {\n return false;\n }\n\n try {\n\n const testWeakMap = new WeakMap();\n const testKey = {};\n const testValue = '__testvalue__';\n\n Object.freeze(testKey);\n\n testWeakMap.set(testKey, testValue);\n\n if (testWeakMap.get(testKey) === testValue) {\n return true;\n }\n\n return false;\n\n } catch (err) {\n\n return false;\n }\n}\n","/* @flow */\n/* eslint max-lines: off */\n\nimport { ZalgoPromise } from 'zalgo-promise/src';\nimport { linkFrameWindow, isWindowClosed, assertSameDomain,\n type SameDomainWindowType, type CrossDomainWindowType } from 'cross-domain-utils/src';\nimport { WeakMap } from 'cross-domain-safe-weakmap/src';\n\nimport { inlineMemoize, memoize, noop, stringify, capitalizeFirstLetter,\n once, extend, safeInterval, uniqueID, arrayFrom, ExtendableError } from './util';\nimport { isDevice } from './device';\nimport { KEY_CODES, ATTRIBUTES } from './constants';\nimport type { CancelableType } from './types';\n\ntype ElementRefType = string | HTMLElement;\n\nexport function isDocumentReady() : boolean {\n return Boolean(document.body) && (document.readyState === 'complete');\n}\n\nexport function isDocumentInteractive() : boolean {\n return Boolean(document.body) && (document.readyState === 'interactive');\n}\n\nexport function urlEncode(str : string) : string {\n return encodeURIComponent(str);\n}\n\nexport function waitForWindowReady() : ZalgoPromise {\n return inlineMemoize(waitForWindowReady, () : ZalgoPromise => {\n return new ZalgoPromise(resolve => {\n if (isDocumentReady()) {\n resolve();\n }\n\n window.addEventListener('load', () => resolve());\n });\n });\n}\n\ntype WaitForDocumentReady = () => ZalgoPromise;\n\nexport const waitForDocumentReady : WaitForDocumentReady = memoize(() => {\n return new ZalgoPromise(resolve => {\n\n if (isDocumentReady() || isDocumentInteractive()) {\n return resolve();\n }\n\n const interval = setInterval(() => {\n if (isDocumentReady() || isDocumentInteractive()) {\n clearInterval(interval);\n return resolve();\n }\n }, 10);\n });\n});\n\nexport function waitForDocumentBody() : ZalgoPromise {\n return ZalgoPromise.try(() => {\n if (document.body) {\n return document.body;\n }\n\n return waitForDocumentReady().then(() => {\n if (document.body) {\n return document.body;\n }\n\n throw new Error('Document ready but document.body not present');\n });\n });\n}\n\nexport function parseQuery(queryString : string) : Object {\n return inlineMemoize(parseQuery, () : Object => {\n const params = {};\n\n if (!queryString) {\n return params;\n }\n\n if (queryString.indexOf('=') === -1) {\n return params;\n }\n\n for (let pair of queryString.split('&')) {\n pair = pair.split('=');\n\n if (pair[0] && pair[1]) {\n params[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\n }\n }\n\n return params;\n }, [ queryString ]);\n}\n\n\nexport function getQueryParam(name : string) : string {\n return parseQuery(window.location.search.slice(1))[name];\n}\n\nexport function urlWillRedirectPage(url : string) : boolean {\n\n if (url.indexOf('#') === -1) {\n return true;\n }\n\n if (url.indexOf('#') === 0) {\n return false;\n }\n\n if (url.split('#')[0] === window.location.href.split('#')[0]) {\n return false;\n }\n\n return true;\n}\n\ntype Query = {\n [ string ] : boolean | string\n};\n\nexport function formatQuery(obj : Query = {}) : string {\n\n return Object.keys(obj).filter(key => {\n return typeof obj[key] === 'string' || typeof obj[key] === 'boolean';\n }).map(key => {\n const val = obj[key];\n\n if (typeof val !== 'string' && typeof val !== 'boolean') {\n throw new TypeError(`Invalid type for query`);\n }\n\n return `${ urlEncode(key) }=${ urlEncode(val.toString()) }`;\n }).join('&');\n}\n\nexport function extendQuery(originalQuery : string, props : Query = {}) : string {\n\n if (!props || !Object.keys(props).length) {\n return originalQuery;\n }\n\n return formatQuery({\n ...parseQuery(originalQuery),\n ...props\n });\n}\n\nexport function extendUrl(url : string, options : {| query? : Query, hash? : Query |}) : string {\n\n const query = options.query || {};\n const hash = options.hash || {};\n\n let originalUrl;\n let originalQuery;\n let originalHash;\n\n [ originalUrl, originalHash ] = url.split('#');\n [ originalUrl, originalQuery ] = originalUrl.split('?');\n\n const queryString = extendQuery(originalQuery, query);\n const hashString = extendQuery(originalHash, hash);\n\n if (queryString) {\n originalUrl = `${ originalUrl }?${ queryString }`;\n }\n\n if (hashString) {\n originalUrl = `${ originalUrl }#${ hashString }`;\n }\n\n return originalUrl;\n}\n\nexport function redirect(url : string, win : CrossDomainWindowType = window) : ZalgoPromise {\n return new ZalgoPromise(resolve => {\n win.location = url;\n if (!urlWillRedirectPage(url)) {\n resolve();\n }\n });\n}\n\nexport function hasMetaViewPort() : boolean {\n const meta = document.querySelector('meta[name=viewport]');\n\n if (isDevice() && window.screen.width < 660 && !meta) {\n return false;\n }\n\n return true;\n}\n\nexport function isElementVisible(el : HTMLElement) : boolean {\n return Boolean(el.offsetWidth || el.offsetHeight || el.getClientRects().length);\n}\n\nexport function getPerformance() : ?Performance {\n return inlineMemoize(getPerformance, () : ?Performance => {\n const performance = window.performance;\n\n if (\n performance &&\n performance.now &&\n performance.timing &&\n performance.timing.connectEnd &&\n performance.timing.navigationStart &&\n (Math.abs(performance.now() - Date.now()) > 1000) &&\n (performance.now() - (performance.timing.connectEnd - performance.timing.navigationStart)) > 0\n ) {\n return performance;\n }\n });\n}\n\nexport function enablePerformance() : boolean {\n return Boolean(getPerformance());\n}\n\nexport function getPageRenderTime() : ZalgoPromise {\n return waitForDocumentReady().then(() => {\n const performance = getPerformance();\n\n if (!performance) {\n return;\n }\n \n const timing = performance.timing;\n\n if (timing.connectEnd && timing.domInteractive) {\n return timing.domInteractive - timing.connectEnd;\n }\n });\n}\n\nexport function htmlEncode(html : string = '') : string {\n return html.toString()\n .replace(/&/g, '&')\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''')\n .replace(/\\//g, '/');\n}\n\nexport function isBrowser() : boolean {\n return (typeof window !== 'undefined') && window.location !== undefined;\n}\n\nexport function querySelectorAll(selector : string, doc : HTMLElement = window.document) : $ReadOnlyArray {\n return Array.prototype.slice.call(doc.querySelectorAll(selector));\n}\n\nexport function onClick(element : HTMLElement, handler : (Event) => void) {\n element.addEventListener('touchstart', noop);\n element.addEventListener('click', handler);\n element.addEventListener('keypress', (event : Event) => {\n // $FlowFixMe\n if (event.keyCode === KEY_CODES.ENTER || event.keyCode === KEY_CODES.SPACE) { // eslint-disable-line unicorn/prefer-event-key\n return handler(event);\n }\n });\n}\n\nexport function getScript({ host = window.location.host, path, reverse = false } : {| host? : string, path : string, reverse? : boolean |}) : ?HTMLScriptElement {\n return inlineMemoize(getScript, () : ?HTMLScriptElement => {\n\n const url = `${ host }${ path }`;\n const scripts = Array.prototype.slice.call(document.getElementsByTagName('script'));\n\n if (reverse) {\n scripts.reverse();\n }\n\n for (const script of scripts) {\n if (!script.src) {\n continue;\n }\n\n const src = script.src.replace(/^https?:\\/\\//, '').split('?')[0];\n\n if (src === url) {\n return script;\n }\n }\n }, [ path ]);\n}\n\nexport function isLocalStorageEnabled() : boolean {\n return inlineMemoize(isLocalStorageEnabled, () => {\n try {\n if (typeof window === 'undefined') {\n return false;\n }\n\n if (window.localStorage) {\n const value = Math.random().toString();\n window.localStorage.setItem('__test__localStorage__', value);\n const result = window.localStorage.getItem('__test__localStorage__');\n window.localStorage.removeItem('__test__localStorage__');\n if (value === result) {\n return true;\n }\n }\n } catch (err) {\n // pass\n }\n return false;\n });\n}\n\nexport function getBrowserLocales() : $ReadOnlyArray<{| country? : string, lang : string |}> {\n const nav = window.navigator; // eslint-disable-line compat/compat\n\n const locales = nav.languages\n ? [ ...nav.languages ]\n : [];\n\n if (nav.language) {\n locales.push(nav.language);\n }\n\n if (nav.userLanguage) {\n locales.push(nav.userLanguage);\n }\n\n return locales.map(locale => {\n\n if (locale && locale.match(/^[a-z]{2}[-_][A-Z]{2}$/)) {\n const [ lang, country ] = locale.split(/[-_]/);\n return { country, lang };\n }\n\n if (locale && locale.match(/^[a-z]{2}$/)) {\n return { lang: locale };\n }\n\n return null;\n\n }).filter(Boolean);\n}\n\n\nexport function appendChild(container : HTMLElement, child : HTMLElement | Text) {\n container.appendChild(child);\n}\n\nexport function isElement(element : mixed) : boolean {\n\n if (element instanceof window.Element) {\n return true;\n }\n\n if (element !== null && typeof element === 'object' && element.nodeType === 1 && typeof element.style === 'object' && typeof element.ownerDocument === 'object') {\n return true;\n }\n\n return false;\n}\n\nexport function getElementSafe(id : ElementRefType, doc : Document | HTMLElement = document) : ?HTMLElement {\n\n if (isElement(id)) {\n // $FlowFixMe\n return id;\n }\n\n if (typeof id === 'string') {\n return doc.querySelector(id);\n }\n}\n\nexport function getElement(id : ElementRefType, doc : Document | HTMLElement = document) : HTMLElement {\n\n const element = getElementSafe(id, doc);\n\n if (element) {\n return element;\n }\n\n throw new Error(`Can not find element: ${ stringify(id) }`);\n}\n\nexport function elementReady(id : ElementRefType) : ZalgoPromise {\n return new ZalgoPromise((resolve, reject) => {\n\n const name = stringify(id);\n let el = getElementSafe(id);\n\n if (el) {\n return resolve(el);\n }\n\n if (isDocumentReady()) {\n return reject(new Error(`Document is ready and element ${ name } does not exist`));\n }\n\n const interval = setInterval(() => {\n\n el = getElementSafe(id);\n\n if (el) {\n clearInterval(interval);\n return resolve(el);\n }\n\n if (isDocumentReady()) {\n clearInterval(interval);\n return reject(new Error(`Document is ready and element ${ name } does not exist`));\n }\n }, 10);\n });\n}\n\n// eslint-disable-next-line unicorn/custom-error-definition\nexport class PopupOpenError extends ExtendableError {}\n\ntype PopupOptions = {|\n name? : string,\n width? : number,\n height? : number,\n top? : number,\n left? : number,\n status? : 0 | 1,\n resizable? : 0 | 1,\n toolbar? : 0 | 1,\n menubar? : 0 | 1,\n scrollbars? : 0 | 1\n|};\n\nexport function popup(url : string, options? : PopupOptions) : CrossDomainWindowType {\n\n // $FlowFixMe\n options = options || {};\n\n const { width, height } = options;\n\n let top = 0;\n let left = 0;\n\n if (width) {\n if (window.outerWidth) {\n left = Math.round((window.outerWidth - width) / 2) + window.screenX;\n } else if (window.screen.width) {\n left = Math.round((window.screen.width - width) / 2);\n }\n }\n\n if (height) {\n if (window.outerHeight) {\n top = Math.round((window.outerHeight - height) / 2) + window.screenY;\n } else if (window.screen.height) {\n top = Math.round((window.screen.height - height) / 2);\n }\n }\n\n if (width && height) {\n // $FlowFixMe\n options = {\n top,\n left,\n width,\n height,\n status: 1,\n toolbar: 0,\n menubar: 0,\n resizable: 1,\n scrollbars: 1,\n ...options\n };\n }\n\n const name = options.name || '';\n delete options.name;\n\n // eslint-disable-next-line array-callback-return\n const params = Object.keys(options).map(key => {\n // $FlowFixMe\n if (options[key] !== null && options[key] !== undefined) {\n return `${ key }=${ stringify(options[key]) }`;\n }\n }).filter(Boolean).join(',');\n\n let win;\n\n try {\n win = window.open(url, name, params);\n } catch (err) {\n throw new PopupOpenError(`Can not open popup window - ${ err.stack || err.message }`);\n }\n\n if (isWindowClosed(win)) {\n const err = new PopupOpenError(`Can not open popup window - blocked`);\n throw err;\n }\n\n window.addEventListener('unload', () => win.close());\n\n return win;\n}\n\n\nexport function writeToWindow(win : SameDomainWindowType, html : string) {\n try {\n win.document.open();\n win.document.write(html);\n win.document.close();\n } catch (err) {\n try {\n win.location = `javascript: document.open(); document.write(${ JSON.stringify(html) }); document.close();`;\n } catch (err2) {\n // pass\n }\n }\n}\n\nexport function writeElementToWindow(win : SameDomainWindowType, el : HTMLElement) {\n\n const tag = el.tagName.toLowerCase();\n\n if (tag !== 'html') {\n throw new Error(`Expected element to be html, got ${ tag }`);\n }\n\n const documentElement = win.document.documentElement;\n\n for (const child of arrayFrom(documentElement.children)) {\n documentElement.removeChild(child);\n }\n\n for (const child of arrayFrom(el.children)) {\n documentElement.appendChild(child);\n }\n}\n\nexport function setStyle(el : HTMLElement, styleText : string, doc : Document = window.document) {\n // $FlowFixMe\n if (el.styleSheet) {\n // $FlowFixMe\n el.styleSheet.cssText = styleText;\n } else {\n el.appendChild(doc.createTextNode(styleText));\n }\n}\n\nexport type ElementOptionsType = {|\n style? : { [ string ] : string },\n id? : string,\n class? : ?$ReadOnlyArray,\n attributes? : { [ string ] : string },\n styleSheet? : ?string,\n html? : ?string\n|};\n\nlet awaitFrameLoadPromises : WeakMap>;\n\nexport function awaitFrameLoad(frame : HTMLIFrameElement) : ZalgoPromise {\n awaitFrameLoadPromises = awaitFrameLoadPromises || new WeakMap();\n\n if (awaitFrameLoadPromises.has(frame)) {\n const promise = awaitFrameLoadPromises.get(frame);\n if (promise) {\n return promise;\n }\n }\n\n const promise = new ZalgoPromise((resolve, reject) => {\n frame.addEventListener('load', () => {\n linkFrameWindow(frame);\n resolve(frame);\n });\n\n frame.addEventListener('error', (err : Event) => {\n if (frame.contentWindow) {\n resolve(frame);\n } else {\n reject(err);\n }\n });\n });\n\n awaitFrameLoadPromises.set(frame, promise);\n\n return promise;\n}\n\nexport function awaitFrameWindow(frame : HTMLIFrameElement) : ZalgoPromise {\n return awaitFrameLoad(frame).then(loadedFrame => {\n\n if (!loadedFrame.contentWindow) {\n throw new Error(`Could not find window in iframe`);\n }\n\n return loadedFrame.contentWindow;\n });\n}\n\nconst getDefaultCreateElementOptions = () : ElementOptionsType => {\n // $FlowFixMe\n return {};\n};\n\nexport function createElement(tag : string = 'div', options : ElementOptionsType = getDefaultCreateElementOptions(), container : ?HTMLElement) : HTMLElement {\n\n tag = tag.toLowerCase();\n const element = document.createElement(tag);\n\n if (options.style) {\n extend(element.style, options.style);\n }\n\n if (options.class) {\n element.className = options.class.join(' ');\n }\n\n if (options.id) {\n element.setAttribute('id', options.id);\n }\n\n if (options.attributes) {\n for (const key of Object.keys(options.attributes)) {\n element.setAttribute(key, options.attributes[key]);\n }\n }\n\n if (options.styleSheet) {\n setStyle(element, options.styleSheet);\n }\n\n if (container) {\n appendChild(container, element);\n }\n\n if (options.html) {\n if (tag === 'iframe') {\n // $FlowFixMe\n if (!container || !element.contentWindow) {\n throw new Error(`Iframe html can not be written unless container provided and iframe in DOM`);\n }\n\n // $FlowFixMe\n writeToWindow(element.contentWindow, options.html);\n\n } else {\n element.innerHTML = options.html;\n }\n }\n\n return element;\n}\n\ntype StringMap = {|\n [ string ] : string\n|};\n\nexport type IframeElementOptionsType = {|\n style? : StringMap,\n class? : ?$ReadOnlyArray,\n attributes? : StringMap,\n styleSheet? : ?string,\n html? : ?string,\n url? : ?string\n|};\n\nconst getDefaultIframeOptions = () : IframeElementOptionsType => {\n // $FlowFixMe\n return {};\n};\n\nconst getDefaultStringMap = () : StringMap => {\n // $FlowFixMe\n return {};\n};\n\nexport function iframe(options : IframeElementOptionsType = getDefaultIframeOptions(), container : ?HTMLElement) : HTMLIFrameElement {\n\n const attributes = options.attributes || getDefaultStringMap();\n const style = options.style || getDefaultStringMap();\n\n // $FlowFixMe\n const newAttributes = {\n allowTransparency: 'true',\n ...attributes\n };\n\n // $FlowFixMe\n const newStyle = {\n backgroundColor: 'transparent',\n border: 'none',\n ...style\n };\n\n const frame = createElement('iframe', {\n attributes: newAttributes,\n style: newStyle,\n html: options.html,\n class: options.class\n });\n\n const isIE = window.navigator.userAgent.match(/MSIE|Edge/i); // eslint-disable-line compat/compat\n\n if (!frame.hasAttribute('id')) {\n frame.setAttribute('id', uniqueID());\n }\n\n // $FlowFixMe\n awaitFrameLoad(frame);\n\n if (container) {\n const el = getElement(container);\n el.appendChild(frame);\n }\n\n if (options.url || isIE) {\n frame.setAttribute('src', options.url || 'about:blank');\n }\n\n // $FlowFixMe\n return frame;\n}\n\nexport function addEventListener(obj : HTMLElement, event : string, handler : (event : Event) => void) : CancelableType {\n obj.addEventListener(event, handler);\n return {\n cancel() {\n obj.removeEventListener(event, handler);\n }\n };\n}\n\nexport function bindEvents(element : HTMLElement, eventNames : $ReadOnlyArray, handler : (event : Event) => void) : CancelableType {\n\n handler = once(handler);\n\n for (const eventName of eventNames) {\n element.addEventListener(eventName, handler);\n }\n\n return {\n cancel: once(() => {\n for (const eventName of eventNames) {\n element.removeEventListener(eventName, handler);\n }\n })\n };\n}\n\nconst VENDOR_PREFIXES = [ 'webkit', 'moz', 'ms', 'o' ];\n\nexport function setVendorCSS(element : HTMLElement, name : string, value : string) {\n\n // $FlowFixMe\n element.style[name] = value;\n\n const capitalizedName = capitalizeFirstLetter(name);\n\n for (const prefix of VENDOR_PREFIXES) {\n // $FlowFixMe\n element.style[`${ prefix }${ capitalizedName }`] = value;\n }\n}\n\nconst ANIMATION_START_EVENTS = [ 'animationstart', 'webkitAnimationStart', 'oAnimationStart', 'MSAnimationStart' ];\nconst ANIMATION_END_EVENTS = [ 'animationend', 'webkitAnimationEnd', 'oAnimationEnd', 'MSAnimationEnd' ];\n\nexport function animate(element : ElementRefType, name : string, clean : (Function) => void, timeout : number = 1000) : ZalgoPromise {\n return new ZalgoPromise((resolve, reject) => {\n\n const el = getElement(element);\n\n if (!el) {\n return resolve();\n }\n\n let hasStarted = false;\n\n // eslint-disable-next-line prefer-const\n let startTimeout;\n let endTimeout;\n // eslint-disable-next-line prefer-const\n let startEvent;\n // eslint-disable-next-line prefer-const\n let endEvent;\n\n function cleanUp() {\n clearTimeout(startTimeout);\n clearTimeout(endTimeout);\n startEvent.cancel();\n endEvent.cancel();\n }\n\n startEvent = bindEvents(el, ANIMATION_START_EVENTS, event => {\n\n // $FlowFixMe\n if (event.target !== el || event.animationName !== name) {\n return;\n }\n\n clearTimeout(startTimeout);\n\n event.stopPropagation();\n\n startEvent.cancel();\n hasStarted = true;\n\n endTimeout = setTimeout(() => {\n cleanUp();\n resolve();\n }, timeout);\n });\n\n endEvent = bindEvents(el, ANIMATION_END_EVENTS, event => {\n\n // $FlowFixMe\n if (event.target !== el || event.animationName !== name) {\n return;\n }\n\n cleanUp();\n\n // $FlowFixMe\n if (typeof event.animationName === 'string' && event.animationName !== name) {\n return reject(`Expected animation name to be ${ name }, found ${ event.animationName }`);\n }\n\n return resolve();\n });\n\n setVendorCSS(el, 'animationName', name);\n\n startTimeout = setTimeout(() => {\n if (!hasStarted) {\n cleanUp();\n return resolve();\n }\n }, 200);\n\n if (clean) {\n clean(cleanUp);\n }\n });\n}\n\nexport function makeElementVisible(element : HTMLElement) {\n element.style.setProperty('visibility', '');\n}\n\nexport function makeElementInvisible(element : HTMLElement) {\n element.style.setProperty('visibility', 'hidden', 'important');\n}\n\n\nexport function showElement(element : HTMLElement) {\n element.style.setProperty('display', '');\n}\n\nexport function hideElement(element : HTMLElement) {\n element.style.setProperty('display', 'none', 'important');\n}\n\nexport function destroyElement(element : HTMLElement) {\n if (element && element.parentNode) {\n element.parentNode.removeChild(element);\n }\n}\n\nexport function showAndAnimate(element : HTMLElement, name : string, clean : (Function) => void) : ZalgoPromise {\n const animation = animate(element, name, clean);\n showElement(element);\n return animation;\n}\n\nexport function animateAndHide(element : HTMLElement, name : string, clean : (Function) => void) : ZalgoPromise {\n return animate(element, name, clean).then(() => {\n hideElement(element);\n });\n}\n\nexport function addClass(element : HTMLElement, name : string) {\n element.classList.add(name);\n}\n\nexport function removeClass(element : HTMLElement, name : string) {\n element.classList.remove(name);\n}\n\nexport function isElementClosed(el : HTMLElement) : boolean {\n if (!el || !el.parentNode || !el.ownerDocument || !el.ownerDocument.documentElement || !el.ownerDocument.documentElement.contains(el)) {\n return true;\n }\n return false;\n}\n\nexport function watchElementForClose(element : HTMLElement, handler : () => mixed) : CancelableType {\n handler = once(handler);\n\n let cancelled = false;\n const mutationObservers = [];\n // eslint-disable-next-line prefer-const\n let interval;\n // eslint-disable-next-line prefer-const\n let sacrificialFrame;\n let sacrificialFrameWin;\n\n const cancel = () => {\n cancelled = true;\n for (const observer of mutationObservers) {\n observer.disconnect();\n }\n if (interval) {\n interval.cancel();\n }\n if (sacrificialFrameWin) {\n // eslint-disable-next-line no-use-before-define\n sacrificialFrameWin.removeEventListener('unload', elementClosed);\n }\n if (sacrificialFrame) {\n destroyElement(sacrificialFrame);\n }\n };\n\n const elementClosed = () => {\n if (!cancelled) {\n handler();\n cancel();\n }\n };\n\n if (isElementClosed(element)) {\n elementClosed();\n return { cancel };\n }\n\n // Strategy 1: Mutation observer\n\n if (window.MutationObserver) {\n let mutationElement = element.parentElement;\n while (mutationElement) {\n const mutationObserver = new window.MutationObserver(() => {\n if (isElementClosed(element)) {\n elementClosed();\n }\n });\n\n mutationObserver.observe(mutationElement, { childList: true });\n mutationObservers.push(mutationObserver);\n mutationElement = mutationElement.parentElement;\n }\n }\n\n // Strategy 2: Sacrificial iframe\n\n sacrificialFrame = document.createElement('iframe');\n sacrificialFrame.setAttribute('name', `__detect_close_${ uniqueID() }__`);\n sacrificialFrame.style.display = 'none';\n awaitFrameWindow(sacrificialFrame).then(frameWin => {\n sacrificialFrameWin = assertSameDomain(frameWin);\n sacrificialFrameWin.addEventListener('unload', elementClosed);\n });\n element.appendChild(sacrificialFrame);\n\n // Strategy 3: Poller\n\n const check = () => {\n if (isElementClosed(element)) {\n elementClosed();\n }\n };\n interval = safeInterval(check, 1000);\n\n return { cancel };\n}\n\nexport function fixScripts(el : HTMLElement, doc : Document = window.document) {\n for (const script of querySelectorAll('script', el)) {\n const parentNode = script.parentNode;\n\n if (!parentNode) {\n continue;\n }\n\n const newScript = doc.createElement('script');\n newScript.text = script.textContent;\n parentNode.replaceChild(newScript, script);\n }\n}\n\ntype OnResizeOptions = {|\n width? : boolean,\n height? : boolean,\n interval? : number,\n win? : SameDomainWindowType\n|};\n\nexport function onResize(el : HTMLElement, handler : ({| width : number, height : number |}) => void, { width = true, height = true, interval = 100, win = window } : OnResizeOptions = {}) : {| cancel : () => void |} {\n let currentWidth = el.offsetWidth;\n let currentHeight = el.offsetHeight;\n let canceled = false;\n\n handler({ width: currentWidth, height: currentHeight });\n\n const check = () => {\n if (canceled || !isElementVisible(el)) {\n return;\n }\n\n const newWidth = el.offsetWidth;\n const newHeight = el.offsetHeight;\n\n if ((width && newWidth !== currentWidth) || (height && newHeight !== currentHeight)) {\n handler({ width: newWidth, height: newHeight });\n }\n\n currentWidth = newWidth;\n currentHeight = newHeight;\n };\n\n let observer;\n let timeout;\n\n win.addEventListener('resize', check);\n \n if (typeof win.ResizeObserver !== 'undefined') {\n observer = new win.ResizeObserver(check);\n observer.observe(el);\n timeout = safeInterval(check, interval * 10);\n\n } else if (typeof win.MutationObserver !== 'undefined') {\n observer = new win.MutationObserver(check);\n observer.observe(el, {\n attributes: true,\n childList: true,\n subtree: true,\n characterData: false\n });\n timeout = safeInterval(check, interval * 10);\n } else {\n timeout = safeInterval(check, interval);\n }\n\n return {\n cancel: () => {\n canceled = true;\n observer.disconnect();\n window.removeEventListener('resize', check);\n timeout.cancel();\n }\n };\n}\n\nexport function getResourceLoadTime(url : string) : ?number {\n const performance = getPerformance();\n\n if (!performance) {\n return;\n }\n\n if (typeof performance.getEntries !== 'function') {\n return;\n }\n\n const entries = performance.getEntries();\n\n for (let i = 0; i < entries.length; i++) {\n const entry = entries[i];\n\n if (entry && entry.name && entry.name.indexOf(url) === 0 && typeof entry.duration === 'number') {\n return Math.floor(entry.duration);\n }\n }\n}\n\nexport function isShadowElement(element : Node) : boolean {\n while (element.parentNode) {\n element = element.parentNode;\n }\n\n return element.toString() === '[object ShadowRoot]';\n}\n\nexport function getShadowRoot(element : Node) : ?Node {\n while (element.parentNode) {\n element = element.parentNode;\n }\n\n if (isShadowElement(element)) {\n return element;\n }\n}\n\nexport function getShadowHost(element : Node) : ?HTMLElement {\n const shadowRoot = getShadowRoot(element);\n\n // $FlowFixMe\n if (shadowRoot.host) {\n // $FlowFixMe\n return shadowRoot.host;\n }\n}\n\nexport function insertShadowSlot(element : HTMLElement) : HTMLElement {\n const shadowHost = getShadowHost(element);\n\n if (!shadowHost) {\n throw new Error(`Element is not in shadow dom`);\n }\n\n if (isShadowElement(shadowHost)) {\n throw new Error(`Host element is also in shadow dom`);\n }\n\n const slotName = `shadow-slot-${ uniqueID() }`;\n\n const slot = document.createElement('slot');\n slot.setAttribute('name', slotName);\n element.appendChild(slot);\n \n const slotProvider = document.createElement('div');\n slotProvider.setAttribute('slot', slotName);\n shadowHost.appendChild(slotProvider);\n\n return slotProvider;\n}\n\nexport function preventClickFocus(el : HTMLElement) {\n const onFocus = (event : Event) => {\n el.removeEventListener('focus', onFocus);\n event.preventDefault();\n el.blur();\n return false;\n };\n\n el.addEventListener('mousedown', () => {\n el.addEventListener('focus', onFocus);\n setTimeout(() => {\n el.removeEventListener('focus', onFocus);\n }, 1);\n });\n}\n\nexport function getStackTrace() : string {\n try {\n throw new Error('_');\n }\n catch (err) {\n return err.stack || '';\n }\n}\n\nfunction inferCurrentScript() : ?HTMLScriptElement {\n try {\n const stack = getStackTrace();\n const stackDetails = (/.*at [^(]*\\((.*):(.+):(.+)\\)$/ig).exec(stack);\n const scriptLocation = stackDetails && stackDetails[1];\n\n if (!scriptLocation) {\n return;\n }\n\n for (const script of Array.prototype.slice.call(document.getElementsByTagName('script')).reverse()) {\n if (script.src && script.src === scriptLocation) {\n return script;\n }\n }\n\n } catch (err) {\n // pass\n }\n}\n\n// eslint-disable-next-line compat/compat\nlet currentScript = typeof document !== 'undefined' ? document.currentScript : null;\n\ntype GetCurrentScript = () => HTMLScriptElement;\n\nexport const getCurrentScript : GetCurrentScript = memoize(() => {\n if (currentScript) {\n return currentScript;\n }\n\n currentScript = inferCurrentScript();\n\n if (currentScript) {\n return currentScript;\n }\n\n throw new Error('Can not determine current script');\n});\n\nconst currentUID = uniqueID();\n\ntype GetCurrentScriptUID = () => string;\n\nexport const getCurrentScriptUID : GetCurrentScriptUID = memoize(() => {\n let script;\n\n try {\n script = getCurrentScript();\n } catch (err) {\n return currentUID;\n }\n\n let uid = script.getAttribute(ATTRIBUTES.UID);\n\n if (uid && typeof uid === 'string') {\n return uid;\n }\n\n uid = script.getAttribute(`${ ATTRIBUTES.UID }-auto`);\n\n if (uid && typeof uid === 'string') {\n return uid;\n }\n\n uid = uniqueID();\n script.setAttribute(`${ ATTRIBUTES.UID }-auto`, uid);\n\n return uid;\n});\n","/* @flow */\n\nexport const KEY_CODES = {\n ENTER: 13,\n SPACE: 32\n};\n\nexport const ATTRIBUTES = {\n UID: 'data-uid'\n};\n","/** @jsx node */\nimport arrayFind from 'core-js-pure/stable/array/find';\nimport arrayIncludes from 'core-js-pure/stable/array/includes';\nimport stringIncludes from 'core-js-pure/stable/string/includes';\nimport objectAssign from 'core-js-pure/stable/object/assign';\nimport objectEntries from 'core-js-pure/stable/object/entries';\nimport { node, dom } from 'jsx-pragmatic/src';\nimport { ZalgoPromise } from 'zalgo-promise/src';\n\nimport { partial, memoize } from './functional';\n\n/**\n * Create a state object and pass back a reference and update function\n * @param {Object} initialState Initial object to store in state\n * @returns {[Object, Function]} State object reference and update function\n */\nexport function createState(initialState = {}) {\n const state = { ...initialState };\n return [state, partial(objectAssign, state)];\n}\n\nexport function getDataByTag(data, tag) {\n let selected = arrayFind(data, ([, tags]) => arrayIncludes(tags, tag));\n if (selected) {\n return selected[0];\n }\n\n if (stringIncludes(tag, '.')) {\n const [fallbackTag] = tag.split('.', 1);\n selected = arrayFind(data, ([, tags]) => arrayIncludes(tags, fallbackTag));\n if (selected) {\n return selected[0];\n }\n }\n\n selected = arrayFind(data, ([, tags]) => arrayIncludes(tags, 'default'));\n if (selected) {\n return selected[0];\n }\n\n return '';\n}\n\nexport function request(method, url, { data, headers, withCredentials } = {}) {\n return new ZalgoPromise((resolve, reject) => {\n const xhttp = new XMLHttpRequest();\n\n if (withCredentials) {\n // Necessary to send cookies with cross-origin requests\n xhttp.withCredentials = true;\n }\n\n xhttp.onreadystatechange = () => {\n if (xhttp.readyState === 4) {\n const responseHeaders = xhttp\n .getAllResponseHeaders()\n .trim() // Remove trailing newline characters\n .split('\\n')\n .reduce((accumulator, header) => {\n const [key, val] = header.trim().split(': ');\n return {\n ...accumulator,\n // IE11 uses capitalized header names\n [key.toLowerCase()]: val\n };\n }, {});\n\n switch (xhttp.status) {\n case 200:\n resolve({\n headers: responseHeaders,\n data:\n responseHeaders['content-type'] &&\n stringIncludes(responseHeaders['content-type'], 'application/json')\n ? JSON.parse(xhttp.responseText)\n : xhttp.responseText\n });\n break;\n case 204:\n resolve({ headers: responseHeaders });\n break;\n default:\n reject(new Error('Request failed'));\n }\n }\n };\n\n xhttp.open(method, url, true);\n\n if (headers) {\n objectEntries(headers).forEach(([header, value]) => {\n xhttp.setRequestHeader(header, value);\n });\n }\n\n xhttp.send(typeof data === 'object' ? JSON.stringify(data) : data);\n });\n}\n\nexport function createEvent(name) {\n if (typeof Event === 'function') {\n return new Event(name);\n }\n\n // IE11 support\n const event = document.createEvent('Event');\n event.initEvent(name, true, true);\n\n return event;\n}\n\nexport const dynamicImport = memoize(url => {\n return new ZalgoPromise(resolve => {\n const script = document.createElement('script');\n script.src = url;\n script.addEventListener('load', () => {\n document.body.removeChild(script);\n resolve();\n });\n\n if (document.readyState === 'loading') {\n window.addEventListener('DOMContentLoaded', () => document.body.appendChild(script));\n } else {\n document.body.appendChild(script);\n }\n });\n});\n\n// // Date.now() altered on some sites: https://www.hydropool.com\nexport const getCurrentTime = () => new Date().getTime();\n\n// Memoized so that the 2 return functions can be called from different modules\nexport const viewportHijack = memoize(() => {\n const viewport =\n document.head.querySelector('meta[name=\"viewport\"]') ||\n ().render(dom({ doc: document }));\n\n // Ensure a viewport exists in the DOM\n if (!viewport.parentNode) {\n document.head.appendChild(viewport);\n }\n\n return [\n // We store state on the DOM elements themselves because we do not want multiple SDK scripts\n // with their own states causing an error preventing elements from being updated as needed\n () => {\n if (viewport.__pp_prev_content__) {\n // Viewport has already been hijacked - do nothing for now\n // This can happen when multiple messages are clicked before the modal loads\n return;\n }\n\n viewport.__pp_prev_content__ = viewport.getAttribute('content') ?? '';\n viewport.setAttribute(\n 'content',\n 'width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, minimal-ui, shrink-to-fit=no'\n );\n\n document.body.__pp_prev_overflow__ = document.body.style.overflow ?? '';\n document.body.__pp_prev_msOverflowStyle__ = document.body.style.msOverflowStyle ?? '';\n document.body.style.setProperty('overflow', 'hidden');\n document.body.style.setProperty('-ms-overflow-style', 'scrollbar');\n },\n () => {\n viewport.setAttribute('content', viewport.__pp_prev_content__);\n delete viewport.__pp_prev_content__;\n\n document.body.style.setProperty('overflow', document.body.__pp_prev_overflow__);\n document.body.style.setProperty('-ms-overflow-style', document.body.__pp_prev_msOverflowStyle__);\n delete document.body.__pp_prev_overflow__;\n delete document.body.__pp_prev_msOverflowStyle__;\n }\n ];\n});\n\n// https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#improving_scrolling_performance_with_passive_listeners\nexport const getEventListenerPassiveOptionIfSupported = () => {\n let passiveIfSupported = false;\n\n try {\n // Create dummy event listener so that if supported, the object will be crawled\n // for the passive flag telling us that the option is supported in this browser\n window.addEventListener(\n '__test__',\n null,\n Object.defineProperty({}, 'passive', {\n // eslint-disable-next-line getter-return\n get() {\n passiveIfSupported = { passive: true };\n }\n })\n );\n } catch (err) {} // eslint-disable-line no-empty\n\n return passiveIfSupported;\n};\n\nexport function getProductForOffer(offer) {\n if (typeof offer === 'undefined') {\n return 'NONE';\n }\n\n switch (offer.toUpperCase()) {\n case 'GPL':\n case 'GPLQ':\n case 'GPLNQ':\n case 'GPLNQ_RANGE':\n case 'PL':\n case 'PLQ':\n return 'GPL';\n case 'EZP':\n case 'EZP:ANY:EQZ':\n case 'EZP:ANY:GTZ':\n case 'PALA:MULTI:EQZ':\n case 'PALA:MULTI:GTZ':\n case 'PALA:SINGLE:EQZ':\n case 'PALA:SINGLE:GTZ':\n return 'EZP';\n case 'INST':\n case 'INST:ANY:EQZ':\n case 'INST:ANY:GTZ':\n case 'PALAQ:ANY:EQZ':\n case 'PALAQ:ANY:GTZ':\n return 'INST';\n default:\n return 'NI';\n }\n}\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var IS_FILTER_OUT = TYPE == 7;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push.call(target, value); // filterOut\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterOut` method\n // https://github.com/tc39/proposal-array-filtering\n filterOut: createMethod(7)\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.10.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var IS_NODE = require('../internals/engine-is-node');\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // eslint-disable-next-line es/no-symbol -- required for testing\n return !Symbol.sham &&\n // Chrome 38 Symbol has incorrect toString conversion\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n (IS_NODE ? V8_VERSION === 38 : V8_VERSION > 37 && V8_VERSION < 41);\n});\n","'use strict';\nvar fails = require('../internals/fails');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif ((!IS_PURE || NEW_ITERATOR_PROTOTYPE) && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineProperty = require('../internals/object-define-property').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar toString = require('../internals/object-to-string');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC, SET_METHOD) {\n if (it) {\n var target = STATIC ? it : it.prototype;\n if (!has(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n if (SET_METHOD && !TO_STRING_TAG_SUPPORT) {\n createNonEnumerableProperty(target, 'toString', toString);\n }\n }\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (error1) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (error2) { /* empty */ }\n } return false;\n};\n","var parent = require('../../es/array/flat-map');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/assign');\n\nmodule.exports = parent;\n","\n var refs = 0;\n var css = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--4-1!../../../../node_modules/scoped-css-loader/index.js!../../../../node_modules/sass-loader/dist/cjs.js!./index.scss\");\n var insertCss = require(\"!../../../../node_modules/isomorphic-style-loader/insertCss.js\");\n var content = typeof css === 'string' ? [[module.id, css, '']] : css;\n\n exports = module.exports = css.locals || {};\n exports._getContent = function() { return content; };\n exports._getCss = function() { return '' + css; };\n exports._insertCss = function(options) { return insertCss(content, options) };\n\n // Hot Module Replacement\n // https://webpack.github.io/docs/hot-module-replacement\n // Only activated in browser context\n if (module.hot && typeof window !== 'undefined' && window.document) {\n var removeCss = function() {};\n module.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--4-1!../../../../node_modules/scoped-css-loader/index.js!../../../../node_modules/sass-loader/dist/cjs.js!./index.scss\", function() {\n css = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--4-1!../../../../node_modules/scoped-css-loader/index.js!../../../../node_modules/sass-loader/dist/cjs.js!./index.scss\");\n content = typeof css === 'string' ? [[module.id, css, '']] : css;\n removeCss = insertCss(content, { replace: true });\n });\n module.hot.dispose(function() { removeCss(); });\n }\n ","import objectEntries from 'core-js-pure/stable/object/entries';\nimport { request, memoize } from '../../../utils';\n\nexport const getContent = memoize(({ currency, amount, payerId, clientId, merchantId, buyerCountry, version, env }) => {\n const query = objectEntries({\n currency,\n amount,\n payer_id: payerId,\n client_id: clientId,\n merchant_id: merchantId,\n buyer_country: buyerCountry,\n version,\n env\n })\n .filter(([, val]) => Boolean(val))\n .reduce(\n (acc, [key, val]) =>\n `${acc}&${key}=${encodeURIComponent(typeof val === 'object' ? JSON.stringify(val) : val)}`,\n ''\n )\n .slice(1);\n\n return request('GET', `${window.location.origin}/credit-presentment/modalContent?${query}`).then(\n ({ data }) => data\n );\n});\n","var parent = require('../../es/array/find-index');\n\nmodule.exports = parent;\n","require('../../modules/es.object.entries');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.entries;\n","var $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.es/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var DESCRIPTORS = require('../internals/descriptors');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {\n result.push(TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","require('../../modules/es.array.find');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('Array', 'find');\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","require('../../modules/es.string.iterator');\nrequire('../../modules/es.array.from');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Array.from;\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject -- old IE */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","/* eslint-disable no-proto -- safe */\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (target, key, value, options) {\n if (options && options.enumerable) target[key] = value;\n else createNonEnumerableProperty(target, key, value);\n};\n","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n // eslint-disable-next-line es/no-array-from -- required for testing\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.es/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","var anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n};\n","var anObject = require('../internals/an-object');\n\nmodule.exports = function (iterator) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) {\n return anObject(returnMethod.call(iterator)).value;\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","require('../../modules/es.array.flat-map');\nrequire('../../modules/es.array.unscopables.flat-map');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('Array', 'flatMap');\n","'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar aFunction = require('../internals/a-function');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flatMap` method\n// https://tc39.es/ecma262/#sec-array.prototype.flatmap\n$({ target: 'Array', proto: true }, {\n flatMap: function flatMap(callbackfn /* , thisArg */) {\n var O = toObject(this);\n var sourceLen = toLength(O.length);\n var A;\n aFunction(callbackfn);\n A = arraySpeciesCreate(O, 0);\n A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n return A;\n }\n});\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\n\n// `FlattenIntoArray` abstract operation\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {\n var targetIndex = start;\n var sourceIndex = 0;\n var mapFn = mapper ? bind(mapper, thisArg, 3) : false;\n var element;\n\n while (sourceIndex < sourceLen) {\n if (sourceIndex in source) {\n element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n if (depth > 0 && isArray(element)) {\n targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1;\n } else {\n if (targetIndex >= 0x1FFFFFFFFFFFFF) throw TypeError('Exceed the acceptable array length');\n target[targetIndex] = element;\n }\n\n targetIndex++;\n }\n sourceIndex++;\n }\n return targetIndex;\n};\n\nmodule.exports = flattenIntoArray;\n","// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('flatMap');\n","require('../../modules/es.array.includes');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('Array', 'includes');\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","require('../../modules/es.string.starts-with');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'startsWith');\n","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\n// eslint-disable-next-line es/no-string-prototype-startswith -- safe\nvar $startsWith = ''.startsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","require('../../modules/es.string.includes');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'includes');\n","'use strict';\nvar $ = require('../internals/export');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~String(requireObjectCoercible(this))\n .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","require('../../modules/es.object.assign');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.assign;\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"@font-face{font-family:'PayPalSansBig';font-weight:600;src:url(https://www.paypalobjects.com/webstatic/mktg/2014design/font/PP-Sans/PayPalSansBig-Medium.eot);src:url(https://www.paypalobjects.com/webstatic/mktg/2014design/font/PP-Sans/PayPalSansBig-Medium.eot?#iefix) format(\\\"embedded-opentype\\\"),url(https://www.paypalobjects.com/webstatic/mktg/2014design/font/PP-Sans/PayPalSansBig-Medium.woff) format(\\\"woff\\\"),url(https://www.paypalobjects.com/webstatic/mktg/2014design/font/headlinedark/festivo1.ttf) format(\\\"truetype\\\"),url(https://www.paypalobjects.com/webstatic/mktg/2014design/font/PP-Sans/PayPalSansBig-Medium.svg) format(\\\"svg\\\")}@font-face{font-family:'PayPalSansBig';font-weight:200;src:url(https://www.paypalobjects.com/webstatic/mktg/2014design/font/PP-Sans/PayPalSansBig-Light.eot);src:url(https://www.paypalobjects.com/webstatic/mktg/2014design/font/PP-Sans/PayPalSansBig-Light.eot?#iefix) format(\\\"embedded-opentype\\\"),url(https://www.paypalobjects.com/webstatic/mktg/2014design/font/PP-Sans/PayPalSansBig-Light.woff) format(\\\"woff\\\"),url(https://www.paypalobjects.com/webstatic/mktg/2014design/font/headlinedark/festivo1.ttf) format(\\\"truetype\\\"),url(https://www.paypalobjects.com/webstatic/mktg/2014design/font/PP-Sans/PayPalSansBig-Light.svg) format(\\\"svg\\\")}@font-face{font-family:'PayPalSansSmall';font-weight:400;src:url(https://www.paypalobjects.com/webstatic/mktg/2014design/font/PP-Sans/PayPalSansSmall-Regular.eot);src:url(https://www.paypalobjects.com/webstatic/mktg/2014design/font/PP-Sans/PayPalSansSmall-Regular.eot?#iefix) format(\\\"embedded-opentype\\\"),url(https://www.paypalobjects.com/webstatic/mktg/2014design/font/PP-Sans/PayPalSansSmall-Regular.woff) format(\\\"woff\\\"),url(https://www.paypalobjects.com/webstatic/mktg/2014design/font/headlinedark/festivo1.ttf) format(\\\"truetype\\\"),url(https://www.paypalobjects.com/webstatic/mktg/2014design/font/PP-Sans/PayPalSansSmall-Regular.svg) format(\\\"svg\\\")}@font-face{font-family:'PayPalSansSmall';font-weight:600;src:url(https://www.paypalobjects.com/webstatic/mktg/2014design/font/PP-Sans/PayPalSansSmall-Medium.eot);src:url(https://www.paypalobjects.com/webstatic/mktg/2014design/font/PP-Sans/PayPalSansSmall-Medium.eot?#iefix) format(\\\"embedded-opentype\\\"),url(https://www.paypalobjects.com/webstatic/mktg/2014design/font/PP-Sans/PayPalSansSmall-Medium.woff) format(\\\"woff\\\"),url(https://www.paypalobjects.com/webstatic/mktg/2014design/font/headlinedark/festivo1.ttf) format(\\\"truetype\\\"),url(https://www.paypalobjects.com/webstatic/mktg/2014design/font/PP-Sans/PayPalSansSmall-Medium.svg) format(\\\"svg\\\")}html,body{height:100% !important;overflow:auto;-webkit-overflow-scrolling:touch}html{min-width:inherit !important}body{margin:0;font-family:PayPalSansSmall, Helvetica, Arial, Sans-Serif;font-weight:400;font-size:16px}h1,h2,h3,h4,p,li{color:#2c2e2f;font-family:PayPalSansSmall, Helvetica, Arial, Sans-Serif;font-weight:400}h1{font-size:30px;margin-bottom:16px;line-height:42px;font-family:PayPalSansBig, Helvetica, Arial, Sans-Serif;font-weight:200}h2{font-size:20px;line-height:24px;text-align:center;margin-bottom:20px}h3{font-size:15px;font-weight:600;margin-bottom:6px;font-family:PayPalSansSmall, Helvetica, Arial, Sans-Serif}svg{margin:auto;display:block}h4{font-size:15px;line-height:18px;font-weight:bold}p{font-size:13px;line-height:18px}a{text-decoration:none;color:#0070ba;font-family:PayPalSansSmall, Helvetica, Arial, Sans-Serif;font-weight:600}ul{padding-left:0}li{list-style-type:disc;margin-left:18px;font-size:13px;line-height:18px;letter-spacing:0}.button{display:inline-block;background:#0070ba;border:none;color:white;border-radius:3rem;padding:0.7em 1.5em;font-size:1rem;text-align:center;transition:all 0.2s;font-weight:500;border:1px solid #0070ba;cursor:pointer}.button:hover,.button:focus{background:#003087;border:1px solid #003087}.button:focus{text-decoration:underline;outline:none}.button.secondary{background:white;color:#0070ba;border:1px solid #0070ba}.button.secondary:hover,.button.secondary:focus{border-color:#003087;box-shadow:0 0 0 0.0625em #003087 inset;color:#003087;background:white}.button.md{font-size:0.9rem}.spinner{position:absolute;left:50%;top:50%;border-radius:50%;border-top:4px solid #00ff7f;width:80px;height:80px;opacity:0;-webkit-animation:spin 2s linear infinite;animation:spin 2s linear infinite;transition:opacity 0.2s;pointer-events:none;transform-origin:0 0;z-index:5}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg) translate(-50%, -50%)}100%{-webkit-transform:rotate(360deg) translate(-50%, -50%)}}@keyframes spin{0%{transform:rotate(0deg) translate(-50%, -50%)}100%{transform:rotate(360deg) translate(-50%, -50%)}}.modal-wrapper{display:flex;position:absolute;top:0;left:0;width:100%;height:100%}.modal-wrapper::after{content:'';display:block;visibility:hidden;overflow-y:scroll}.modal-container{flex:1 1 auto;position:relative}.modal-container.show .wrapper{transform:translateY(0)}.modal-container.show .overlay{opacity:1}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(108,115,120,0.85);transition:opacity 350ms;opacity:0;z-index:-1}.overlay-side{position:absolute;top:0;height:100%;z-index:2}.wrapper{position:absolute;top:0;left:0;width:100%;height:100%;transition:transform 350ms;transform:translateY(100%)}.main{-webkit-overflow-scrolling:touch;-moz-overflow-scrolling:touch;position:relative;box-shadow:0 1px 0 0 rgba(0,0,0,0),0 5px 15px 0 rgba(0,0,0,0);transition:box-shadow 350ms}.header-wrapper .close{display:block;padding:0;border:none;background:transparent;cursor:pointer;position:absolute;top:12px;right:8px}.header-wrapper .close svg{height:48px;width:48px}.header-wrapper .close path{stroke-width:1px;transition:all 0.3s}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","require('../../modules/es.array.find-index');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('Array', 'findIndex');\n","'use strict';\nvar $ = require('../internals/export');\nvar $findIndex = require('../internals/array-iteration').findIndex;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND_INDEX = 'findIndex';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.findIndex` method\n// https://tc39.es/ecma262/#sec-array.prototype.findindex\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND_INDEX);\n","/** @jsx h */\nimport { h, createContext } from 'preact';\nimport { useEffect, useState, useContext, useCallback } from 'preact/hooks';\nimport { getEventListenerPassiveOptionIfSupported } from '../../../../utils';\n\nconst ScrollContext = createContext({\n addScrollCallback: () => {},\n removeScrollCallback: () => {},\n scrollTo: () => {}\n});\n\nexport const ScrollProvider = ({ children, containerRef }) => {\n const [callbacks, setCallbacks] = useState([]);\n\n const addScrollCallback = callback => {\n setCallbacks(currentCallbacks => [...currentCallbacks, callback]);\n };\n\n const removeScrollCallback = callback => {\n setCallbacks(currentCallbacks => {\n const index = currentCallbacks.indexOf(callback);\n if (index >= 0) {\n return [...currentCallbacks.slice(0, index), ...currentCallbacks.slice(index + 1)];\n }\n return currentCallbacks;\n });\n };\n\n const scrollTo = scrollTop => {\n if (containerRef.current) {\n // eslint-disable-next-line no-param-reassign\n containerRef.current.scrollTop = scrollTop;\n }\n };\n\n useEffect(() => {\n const handleScroll = event => callbacks.forEach(callback => callback(event));\n\n const passiveOption = getEventListenerPassiveOptionIfSupported();\n\n containerRef.current.addEventListener('scroll', handleScroll, passiveOption);\n containerRef.current.addEventListener('touchmove', handleScroll, passiveOption);\n\n return () => {\n containerRef.current.removeEventListener('scroll', handleScroll, passiveOption);\n containerRef.current.removeEventListener('touchmove', handleScroll, passiveOption);\n };\n }, [callbacks]);\n\n return (\n \n {children}\n \n );\n};\n\nexport const useScroll = (cb, dependencies) => {\n const { addScrollCallback, removeScrollCallback, scrollTo } = useContext(ScrollContext);\n const callback = cb ? useCallback(cb, dependencies) : null;\n\n useEffect(() => {\n if (callback) {\n addScrollCallback(callback);\n\n return () => removeScrollCallback(callback);\n }\n\n return () => {};\n }, [callback]);\n\n return { scrollTo };\n};\n","import { useEffect, useLayoutEffect, useRef } from 'preact/hooks';\n\nexport function useAutoFocus() {\n const ref = useRef();\n\n useEffect(() => {\n if (ref.current) {\n ref.current.focus();\n }\n });\n\n return ref;\n}\n\nexport function useDidUpdateEffect(fn, deps) {\n const mounted = useRef(false);\n\n useEffect(() => {\n if (mounted.current) {\n fn();\n }\n mounted.current = true;\n }, deps);\n}\n\nexport function useDidUpdateLayoutEffect(fn, deps) {\n const mounted = useRef(false);\n\n useLayoutEffect(() => {\n if (mounted.current) {\n fn();\n }\n mounted.current = true;\n }, deps);\n}\n","import { useXProps, useServerData } from '../../../lib';\nimport { useTransitionState } from '../providers';\n\nexport default clickTitle => {\n const { payerId } = useServerData();\n const { onClick, refId, env = 'production' } = useXProps();\n\n const [, handleClose] = useTransitionState();\n\n const urlBase = {\n local: 'msmaster.qa.paypal',\n stage: 'msmaster.qa.paypal',\n sandbox: 'sandbox.paypal',\n production: 'paypal'\n }[env];\n\n return () => {\n onClick({ linkName: clickTitle });\n // TODO: Get finalized query param keys\n const win = window.open(\n `https://www.${urlBase}.com/ppcreditapply/da/us?cats_id=DA_AD_UPSTREAM&actor=merchant&mktgrefid=${refId}&payer_id=${payerId}`\n );\n const intervalId = setInterval(() => {\n if (win.closed) {\n clearInterval(intervalId);\n handleClose('Apply Now Application Close');\n }\n }, 500);\n };\n};\n","import arrayFind from 'core-js-pure/stable/array/find';\nimport { useServerData } from '../../../lib';\n\nexport function useProduct(product) {\n const { products } = useServerData();\n\n return arrayFind(products, ({ meta }) => meta.product === product) ?? { content: {} };\n}\n\nexport function useContent(product) {\n const { content } = useProduct(product);\n return content;\n}\n\nexport function useProductMeta(product) {\n const { meta } = useProduct(product);\n return meta;\n}\n","import { useReducer, useEffect } from 'preact/hooks';\n\nimport { useXProps, useServerData } from '../../../lib';\nimport { getContent } from '../utils';\n\nconst reducer = (state, action) => {\n switch (action.type) {\n case 'input':\n return {\n ...state,\n inputValue: action.data\n };\n case 'fetch':\n return {\n ...state,\n isLoading: true,\n prevValue: state.inputValue\n };\n case 'terms':\n return {\n isLoading: false,\n terms: action.data,\n inputValue: action.data.formattedAmount,\n prevValue: action.data.formattedAmount\n };\n default:\n throw new Error('Invalid action type');\n }\n};\n\nconst delocalize = (country, amount) =>\n Number(country === 'DE' ? amount.replace(/\\./, '').replace(/,/, '.') : amount.replace(/,/g, '')).toFixed(2);\nconst localize = (country, amount) => {\n const number = Number(amount) || Number(0);\n if (country === 'DE') {\n return number.toLocaleString('de-DE', {\n currency: 'EUR',\n minimumFractionDigits: 2\n });\n }\n\n return number.toLocaleString('en-US', {\n currency: 'USD',\n minimumFractionDigits: 2\n });\n};\n\nexport default function useCalculator() {\n const { terms: initialTerms, country, setServerData } = useServerData();\n const { currency, payerId, clientId, merchantId, onCalculate, amount, buyerCountry } = useXProps();\n const [state, dispatch] = useReducer(reducer, {\n inputValue: localize(country, initialTerms.amount),\n prevValue: localize(country, initialTerms.amount),\n terms: initialTerms,\n isLoading: false\n });\n\n const fetchTerms = inputAmount => {\n dispatch({ type: 'fetch' });\n\n getContent({\n currency,\n amount: inputAmount,\n payerId,\n clientId,\n merchantId,\n buyerCountry\n }).then(data => {\n setServerData(data);\n\n // TODO: do not store terms in reducer since serverData will be kept up-to-date\n dispatch({ type: 'terms', data: data.terms });\n });\n };\n\n // Automatically fetch terms when props change\n useEffect(() => {\n if (localize(country, amount) !== state.inputValue) {\n fetchTerms(amount);\n }\n }, [payerId, clientId, merchantId, country, amount]);\n\n // TODO: Stronger input validation\n const changeInput = evt => {\n dispatch({ type: 'input', data: evt.target.value.replace(/[^\\d.,]/g, '') });\n };\n\n const submit = event => {\n event.preventDefault();\n const delocalizedValue = delocalize(country, state.inputValue);\n\n if (state.prevValue !== state.inputValue && delocalizedValue !== 'NaN') {\n onCalculate({ value: delocalizedValue });\n fetchTerms(delocalizedValue);\n }\n };\n\n return {\n terms: state.terms,\n value: state.inputValue,\n isLoading: state.isLoading,\n changeInput,\n submit\n };\n}\n"],"sourceRoot":""}