diff --git a/Jenkinsfile b/Jenkinsfile index ceaaf30c73..53e2fd333b 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -4,18 +4,16 @@ pipeline { } tools { - nodejs 'Node14' + nodejs 'Node18' } - // STAGE_TAG will be {branch_name}_{timestamp} environment { BRANCH_NAME = sh(returnStdout: true, script: 'echo $GIT_BRANCH | sed "s#origin/##g"').trim() GIT_COMMIT_MESSAGE = sh(returnStdout: true, script: 'git log -1 --pretty=%B').trim() - // sed commands in order: - // remove origin/ from the branch name - // replace any hyphens (-) with underscores (_) - // shorten to 18 characters to allow space for the timestamp at the end - STAGE_TAG = sh(returnStdout: true, script: 'echo $(echo $GIT_BRANCH | sed "s#origin/##g" | sed "s/-/_/g" | sed -e "s/(.{18}).*/$1/g")_$(date +%s)').trim() + GIT_COMMIT_HASH = GIT_COMMIT.take(7) + + // Assumes commit messages follow this format: chore(release): 1.49.1 [skip ci] + VERSION = sh(returnStdout: true, script: "echo $GIT_COMMIT_MESSAGE | cut -d ':' -f2 | cut -d '[' -f1").trim() } stages { @@ -26,39 +24,65 @@ pipeline { echo $GIT_COMMIT_MESSAGE node -v npm -v - npm i --reg https://npm.paypal.com -g @paypalcorp/web + npm i --reg $REGISTRY -g @paypalcorp/web ''' } } - // For non-release, auto-generate a stage build - stage('Stage Tag') { - when { - not { - branch 'release' + // For release, deploy existing build assets + stage('Bundle Stage') { + steps { + script { + if (GIT_COMMIT_MESSAGE.contains('chore(release)')) { + // Stage tags can only contain alphnumeric characters and underscores + VERSION=VERSION.replace('.', '_') + env.stageBundleId='up_stage_v' + VERSION + '_' + GIT_COMMIT_HASH + withCredentials([usernamePassword(credentialsId: 'web-cli-creds', passwordVariable: 'SVC_ACC_PASSWORD', usernameVariable: 'SVC_ACC_USERNAME')]) { + sh ''' + rm -rf ./dist/bizcomponents/sandbox + rm -rf ./dist/bizcomponents/js + output=$(web stage --tag $stageBundleId) + web notify "$stageBundleId" + git checkout -- dist + ''' + } + } } } + } + stage('Bundle Sandbox') { steps { - withCredentials([usernamePassword(credentialsId: 'web-cli-creds', passwordVariable: 'SVC_ACC_PASSWORD', usernameVariable: 'SVC_ACC_USERNAME')]) { - sh ''' - npm i --reg https://npm.paypal.com - npm run build -- -t $STAGE_TAG -s $TEST_ENV - ''' + script { + if (GIT_COMMIT_MESSAGE.contains('chore(release)')) { + env.sandboxBundleId='up_sb_v' + VERSION + '_' + GIT_COMMIT_HASH + withCredentials([usernamePassword(credentialsId: 'web-cli-creds', passwordVariable: 'SVC_ACC_PASSWORD', usernameVariable: 'SVC_ACC_USERNAME')]) { + sh ''' + rm -rf ./dist/bizcomponents/stage + rm -rf ./dist/bizcomponents/js + output=$(web stage --tag $sandboxBundleId) + web notify "$sandboxBundleId" + git checkout -- dist + ''' + } + } } } } - - // For release, stage existing build assets and send notification - stage('Deploy') { - when { - branch 'release' - } + stage('Build Production') { steps { - withCredentials([usernamePassword(credentialsId: 'web-cli-creds', passwordVariable: 'SVC_ACC_PASSWORD', usernameVariable: 'SVC_ACC_USERNAME')]) { - sh ''' - OUTPUT=$(web stage --json --tag $STAGE_TAG) - web notify $STAGE_TAG - ''' + script { + if (GIT_COMMIT_MESSAGE.contains('chore(release)')) { + env.productionBundleId='up_prod_v' + VERSION + '_' + GIT_COMMIT_HASH + withCredentials([usernamePassword(credentialsId: 'web-cli-creds', passwordVariable: 'SVC_ACC_PASSWORD', usernameVariable: 'SVC_ACC_USERNAME')]) { + sh ''' + rm -rf ./dist/bizcomponents/stage + rm -rf ./dist/bizcomponents/sandbox + output=$(web stage --tag $productionBundleId) + web notify "$productionBundleId" + git checkout -- dist + ''' + } + } } } } @@ -72,15 +96,17 @@ pipeline { // Single quotes on this so the variable makes it to the email plugin instead of Jenkins trying to replace to: '$DEFAULT_RECIPIENTS', subject: "paypal-messaging-components - ${BRANCH_NAME} - Build #${env.BUILD_NUMBER} - SUCCESS!", - // The ${FILE} similarly needs to be sent to the plugin to be replaced, so the $ is escaped body: """ Build Succeeded!

${GIT_COMMIT_MESSAGE}
- Build URL: ${env.BUILD_URL}
- Stage Tag: ${STAGE_TAG}
- CDN Bundle: https://UIDeploy--StaticContent--${STAGE_TAG}--ghe.preview.dev.paypalinc.com/upstream/bizcomponents/stage?cdn:list
- Test Page: ${TEST_URL}${STAGE_TAG}
+ Build URL: ${BUILD_URL}
+
+ Version ${env.VERSION} assets have been bundled and are ready for review.
+ Please approve and deploy:
+ 1. Stage: ${BUNDLE_URL}${stageBundleId}
+ 2. Sandbox: ${BUNDLE_URL}${sandboxBundleId}
+ 3. Production: ${BUNDLE_URL}${productionBundleId}

Regards,
Your friendly neighborhood digital butler diff --git a/content/modals/AU/gpl.json b/content/modals/AU/gpl.json deleted file mode 100644 index 6d17d9e89c..0000000000 --- a/content/modals/AU/gpl.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "meta": { - "offerCountry": "AU", - "product": "GPL", - "periodicPayment": "{formattedPeriodicPayment}", - "minAmount": "{minAmount}", - "maxAmount": "{maxAmount}", - "qualifying": "{qualifying_offer}", - "amount": "{transaction_amount}", - "variables": { - "transaction_amount": "${eval(transaction_amount ? transaction_amount : '-')}", - "qualifying_offer": "${eval(CREDIT_OFFERS_DS.qualifying_offer ? CREDIT_OFFERS_DS.qualifying_offer : 'false')}", - "financing_code": "${CREDIT_OFFERS_DS.financing_code}", - "formattedPeriodicPayment": "${CREDIT_OFFERS_DS.formattedPeriodicPayment}", - "total_payments": "${CREDIT_OFFERS_DS.total_payments}", - "formattedMinAmount": "${CREDIT_OFFERS_DS.formattedMinAmount}", - "formattedMaxAmount": "${CREDIT_OFFERS_DS.formattedMaxAmount}", - "formattedTotalCost": "${CREDIT_OFFERS_DS.formattedTotalCost}", - "formattedTransactionAmount": "${CREDIT_OFFERS_DS.formattedTransactionAmount}", - "minAmount": "${CREDIT_OFFERS_DS.minAmount}", - "maxAmount": "${CREDIT_OFFERS_DS.maxAmount}", - "apr": "${CREDIT_OFFERS_DS.apr}", - "nominal_rate": "${CREDIT_OFFERS_DS.nominal_rate}" - } - }, - "content": { - "headline": { - "singleProduct": "Pay in 4" - }, - "subHeadline": { - "unqualified": "Split your purchase into 4 interest-free payments. First one due at checkout, then pay every 2 weeks. Available for eligible purchases of {formattedMinAmount}-{formattedMaxAmount}.", - "qualified": "Split your {formattedTransactionAmount} purchase into 4 interest-free payments of {formattedPeriodicPayment}. First one due at checkout, then pay every 2 weeks." - }, - "instructions": { - "title": ["Check out with", "PayPal", "and choose", "Pay in 4"] - }, - "terms": [ - "PayPal Pay in 4 is available for eligible purchases of {formattedMinAmount}-{formattedMaxAmount}.", - "Offer availability may depend on the merchant.", - "When you apply, we may run a credit check to determine your eligibility.", - "We don’t charge late fees, but late or missed payments could affect your PayPal account and credit score.", - "You must live in Australia, have an Australian PayPal account, and be of legal age in Australia to use Pay in 4." - ] - } -} diff --git a/content/modals/DE/gpl.json b/content/modals/DE/gpl.json deleted file mode 100644 index 2aceed143b..0000000000 --- a/content/modals/DE/gpl.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "meta": { - "product": "GPL", - "periodicPayment": "{formattedPeriodicPayment}", - "minAmount": "{minAmount}", - "maxAmount": "{maxAmount}", - "qualifying": "{qualifying_offer}", - "amount": "{transaction_amount}", - "apr": "{apr}", - "variables": { - "transaction_amount": "${eval(transaction_amount ? transaction_amount : '-')}", - "qualifying_offer": "${eval(CREDIT_OFFERS_DS.qualifying_offer ? CREDIT_OFFERS_DS.qualifying_offer : 'false')}", - "financing_code": "${CREDIT_OFFERS_DS.financing_code}", - "formattedPeriodicPayment": "${CREDIT_OFFERS_DS.formattedPeriodicPayment}", - "total_payments": "${CREDIT_OFFERS_DS.total_payments}", - "formattedMinAmount": "${CREDIT_OFFERS_DS.formattedMinAmount}", - "formattedMaxAmount": "${CREDIT_OFFERS_DS.formattedMaxAmount}", - "formattedTotalCost": "${CREDIT_OFFERS_DS.formattedTotalCost}", - "minAmount": "${CREDIT_OFFERS_DS.minAmount}", - "maxAmount": "${CREDIT_OFFERS_DS.maxAmount}", - "apr": "${CREDIT_OFFERS_DS.apr}", - "nominal_rate": "${CREDIT_OFFERS_DS.nominal_rate}" - } - }, - "content": { - "productButton": { - "title": "PayPal Ratenzahlung", - "subtitle": "Zahlen Sie Ihren Einkauf in monatlichen Raten.", - "icon": "ratenzahlung-calendar" - }, - - "headline": "Später bezahlen in 3, 6, 12 oder 24 monatlichen Raten", - - "calculator": { - "title": "Was kostet Ihr Einkauf?", - "inputLabel": "Warenwert", - "genericError": "Etwas ist schief gelaufen. Bitte versuchen Sie es später noch einmal.", - "amountRange": "Verfügbar ab {formattedMinAmount} - {formattedMaxAmount}" - }, - - "terms": { - "disclaimer": "Dies ist eine Beispielrechnung und kann vom tatsächlichen endgültigen Betrag abweichen." - }, - - "instructions": ["Wählen Sie", "PayPal", "als Bezahlmethode aus und zahlen Sie mit der PayPal Ratenzahlung."], - - "switchingText": ["Für andere Später Bezahlen Optionen ", "wählen Sie Bezahlung nach 30 Tagen."], - - "disclosure": { - "nonZeroAPR": "Vorbehaltlich Kreditwürdigkeitsprüfung. Laufzeiten von 3, 6, 12 oder 24 Monaten. Ab 99 € und bis zu 5.000 € Bestellwert mit einem effektiven Jahreszins von 9,99% p.a. und einem festen Sollzinssatz von 9,48% p.a. bei 3 Monaten, von 9,48% p.a. bei 6 Monaten, von 9,50% p.a. bei 12 Monaten und von 9,51% p.a. bei 24 Monaten Laufzeit. Repräsentatives Beispiel gem. § 17 (4) PAngV: Nettodarlehensbetrag 1.000 €, Gesamtbetrag 1.101,98 €, 12 monatliche Raten à 87,67 €, fester Sollzinssatz 9.50% p.a., eff. Jahreszins 9.99% p.a. Der Kreditgeber ist PayPal (Europe) S.à r.l. et Cie, S.C.A., 22-24 Boulevard Royal, L-2449 Luxembourg", - "zeroAPR": "Vorbehaltlich Kreditwürdigkeitsprüfung und nur für Transaktionen in Euro. Ab einem Bestellwert von {formattedMinAmount} bis {formattedMaxAmount} mit einem eff. Jahreszins von {apr}% p.a. und einem festen Sollzinssatz von {nominal_rate}% p.a. für Darlehensverträge, die im Angebotszeitraum abgeschlossen werden. Laufzeit 3, 6, 12 oder 24 Monate. Der Kreditgeber ist PayPal (Europe) S.à r.l. et Cie, S.C.A., 22-24 Boulevard Royal, L-2449 Luxembourg. Als Verbraucher steht Ihnen gemäß § 514 BGB bei unentgeltlichen Darlehensverträgen ab einem Finanzierungsbetrag von 200 € ein Widerrufsrecht zu. Anspruchsberechtigte Kunden müssen PayPal ein SEPA Lastschriftmandat erteilen sowie über ein deutsches PayPal Privat-Konto mit bestätigtem Bankkonto als Zahlungsquelle verfügen." - } - } -} diff --git a/content/modals/DE/pi30.json b/content/modals/DE/pi30.json deleted file mode 100644 index 6529879c19..0000000000 --- a/content/modals/DE/pi30.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "meta": { - "product": "PI30", - "periodicPayment": "{formattedPeriodicPayment}", - "minAmount": "{minAmount}", - "maxAmount": "{maxAmount}", - "qualifying": "{qualifying_offer}", - "amount": "{transaction_amount}", - "apr": "{apr}", - "variables": { - "transaction_amount": "${eval(transaction_amount ? transaction_amount : '-')}", - "qualifying_offer": "${eval(CREDIT_OFFERS_DS.qualifying_offer ? CREDIT_OFFERS_DS.qualifying_offer : 'false')}", - "financing_code": "${CREDIT_OFFERS_DS.financing_code}", - "formattedPeriodicPayment": "${CREDIT_OFFERS_DS.formattedPeriodicPayment}", - "total_payments": "${CREDIT_OFFERS_DS.total_payments}", - "formattedMinAmount": "${CREDIT_OFFERS_DS.formattedMinAmount}", - "formattedMaxAmount": "${CREDIT_OFFERS_DS.formattedMaxAmount}", - "formattedTotalCost": "${CREDIT_OFFERS_DS.formattedTotalCost}", - "minAmount": "${CREDIT_OFFERS_DS.minAmount}", - "maxAmount": "${CREDIT_OFFERS_DS.maxAmount}", - "apr": "${CREDIT_OFFERS_DS.apr}", - "nominal_rate": "${CREDIT_OFFERS_DS.nominal_rate}" - } - }, - "content": { - "productButton": { - "title": "Bezahlen Sie nach 30 Tagen", - "subtitle": "Erhalten Sie mehr Zeit, um Ihren Einkauf zu bezahlen.", - "icon": "pi30-hourglass" - }, - - "headline": "Kaufen Sie jetzt was Sie möchten, bezahlen Sie erst in 30 Tagen", - - "subHeadline": "Erhältlich für Einkäufe i.H.v. {formattedMinAmount} - {formattedMaxAmount}.", - - "stepsList": [ - "Wählen Sie PayPal als Bezahlmethode aus und nutzen Sie die Option, 30 Tage später zu bezahlen.", - "Schließen Sie Ihren Einkauf in wenigen Schritten ab.", - "Wir buchen die Zahlung automatisch nach 30 Tagen von Ihrem Bankkonto ab." - ], - - "switchingText": ["Um Ihren Einkauf in monatlichen Raten zu zahlen, ", "wählen Sie die PayPal Ratenzahlung."], - - "legalTerms": "Erhältlich für Einkäufe i.Hv. {formattedMinAmount} - {formattedMaxAmount}. Vorbehaltlich Kreditwürdigkeitsprüfung. Anspruchsberechtigte Kunden müssen PayPal ein SEPA-Lastschriftmandat erteilen sowie über ein deutsches PayPal-Privatkonto mit einem Bankkonto als Zahlungsquelle verfügen." - } -} diff --git a/content/modals/ES/short_term_en.json b/content/modals/ES/short_term_en.json index 30a08b376b..73f2a4cd7c 100644 --- a/content/modals/ES/short_term_en.json +++ b/content/modals/ES/short_term_en.json @@ -35,7 +35,7 @@ ] }, "instructions": [ - "Choose PayPal at checkout to pay later with Pay in 3. ", + "Choose PayPal at checkout to pay later with Pay in 3 installments. ", "Complete your purchase with your first payment today. ", "Any remaining payments are made automatically. It's easy!" ], diff --git a/content/modals/FR/gpl.json b/content/modals/FR/gpl.json deleted file mode 100644 index af2ee43249..0000000000 --- a/content/modals/FR/gpl.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "meta": { - "product": "GPL", - "periodicPayment": "{formattedPeriodicPayment}", - "minAmount": "{minAmount}", - "maxAmount": "{maxAmount}", - "qualifying": "{qualifying_offer}", - "amount": "{transaction_amount}", - "variables": { - "transaction_amount": "${eval(transaction_amount ? transaction_amount : '-')}", - "qualifying_offer": "${eval(CREDIT_OFFERS_DS.qualifying_offer ? CREDIT_OFFERS_DS.qualifying_offer : 'false')}", - "financing_code": "${CREDIT_OFFERS_DS.financing_code}", - "formattedPeriodicPayment": "${CREDIT_OFFERS_DS.formattedPeriodicPayment}", - "total_payments": "${CREDIT_OFFERS_DS.total_payments}", - "formattedMinAmount": "${CREDIT_OFFERS_DS.formattedMinAmount}", - "formattedMaxAmount": "${CREDIT_OFFERS_DS.formattedMaxAmount}", - "formattedTotalCost": "${CREDIT_OFFERS_DS.formattedTotalCost}", - "formattedTransactionAmount": "${CREDIT_OFFERS_DS.formattedTransactionAmount}", - "minAmount": "${CREDIT_OFFERS_DS.minAmount}", - "maxAmount": "${CREDIT_OFFERS_DS.maxAmount}", - "apr": "${CREDIT_OFFERS_DS.apr}", - "nominal_rate": "${CREDIT_OFFERS_DS.nominal_rate}" - } - }, - "content": { - "headline": { - "singleProduct": "Payez en 4X" - }, - "subHeadline": { - "unqualified": "4 échéances sans frais, pour les achats de {formattedMinAmount} à {formattedMaxAmount}. ", - "qualified": "{formattedTransactionAmount} divisé en 4 échéances sans frais de {formattedPeriodicPayment}. " - }, - - "instructions": { - "title": ["Payez avec", "PayPal", "et choisissez le", "Paiement en 4X."], - "items": [ - "Uniquement pour les particuliers résidant en France", - "Compte PayPal français obligatoire", - "Le Paiement en 4X est disponible sous réserve d'acceptation, pour les achats de {formattedMinAmount} à {formattedMaxAmount}" - ] - }, - "terms": [ - "Un crédit est un engagement contraignant et doit être remboursé, vérifiez votre capacité de remboursement.", - ["Voir les", "Conditions générales", "du Paiement en 4X."], - "Crédit proposé par PayPal (Europe) S.à r.l. et Cie, S.C.A., 22-24 Boulevard Royal, L-2449, Luxembourg, R.C.S. Luxembourg B 118 349, qui est dûment licencié en tant qu'établissement de crédit du Luxembourg et est sous le contrôle prudentiel de l'autorité de surveillance du Luxembourg, la Commission de Surveillance du Secteur Financier. Cette information est fournie par PayPal." - ] - } -} diff --git a/content/modals/GB/gpl.json b/content/modals/GB/gpl.json deleted file mode 100644 index 5bc0e75cc3..0000000000 --- a/content/modals/GB/gpl.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "meta": { - "offerCountry": "GB", - "product": "GPL", - "periodicPayment": "{formattedPeriodicPayment}", - "minAmount": "{minAmount}", - "maxAmount": "{maxAmount}", - "qualifying": "{qualifying_offer}", - "amount": "{transaction_amount}", - "variables": { - "transaction_amount": "${eval(transaction_amount ? transaction_amount : '-')}", - "qualifying_offer": "${eval(CREDIT_OFFERS_DS.qualifying_offer ? CREDIT_OFFERS_DS.qualifying_offer : 'false')}", - "financing_code": "${CREDIT_OFFERS_DS.financing_code}", - "formattedPeriodicPayment": "${CREDIT_OFFERS_DS.formattedPeriodicPayment}", - "total_payments": "${CREDIT_OFFERS_DS.total_payments}", - "formattedMinAmount": "${CREDIT_OFFERS_DS.formattedMinAmount}", - "formattedMaxAmount": "${CREDIT_OFFERS_DS.formattedMaxAmount}", - "formattedTotalCost": "${CREDIT_OFFERS_DS.formattedTotalCost}", - "minAmount": "${CREDIT_OFFERS_DS.minAmount}", - "maxAmount": "${CREDIT_OFFERS_DS.maxAmount}", - "apr": "${CREDIT_OFFERS_DS.apr}", - "nominal_rate": "${CREDIT_OFFERS_DS.nominal_rate}" - } - }, - "content": { - "headline": { - "singleProduct": "Pay in 3" - }, - "subHeadline": { - "pay": { - "start": "Make one payment", - "amount": "of {formattedPeriodicPayment}", - "end": "today, then pay the rest in two interest-free monthly payments." - }, - "available": "Available on purchases from {formattedMinAmount} to {formattedMaxAmount}.", - "apply": "Apply easily and get an instant decision." - }, - "terms": [ - "Subject to status. Terms and Conditions apply. UK residents only.", - "PayPal is a responsible lender. Pay in 3 performance may influence your credit score.", - "PayPal Pay in 3 is a trading name of PayPal (Europe) S.à.r.l. et Cie, S.C.A.,", - "22-24 Boulevard Royal, L-2449, Luxembourg." - ], - "instructions": { - "title": ["Check out securely with", "PayPal", "and choose", "Pay in 3"] - } - } -} diff --git a/content/modals/IT/short_term_en.json b/content/modals/IT/short_term_en.json index 7ecf1dc57f..276bc5dc17 100644 --- a/content/modals/IT/short_term_en.json +++ b/content/modals/IT/short_term_en.json @@ -39,13 +39,13 @@ ] }, "instructions": [ - "Choose PayPal at checkout to pay later with Pay in 3. ", + "Choose PayPal at checkout to pay later with Pay in 3 installments. ", "Complete your purchase by making your first payment today. ", "The remaining payments will be taken automatically. It's easy! " ], "disclosure": [ [ - "Only available on eligible purchases from {formattedMinAmount} to {formattedMaxAmount}. You must be a resident of Italy and have a PayPal account. 0% APR. Eligibility for Pay in 3 is subject to approval. See the " + "Only available on eligible purchases from {formattedMinAmount} to {formattedMaxAmount}. You must be a resident of Italy and have a PayPal account. 0% APR. Eligibility for Pay in 3 installments is subject to approval. See the " ], ["information sheet", "https://www.paypal.com/it/webapps/mpp/ua/pay-in-3-infosheet-full?locale.x=it_IT"], [" and "], diff --git a/content/modals/US/PL2GO/pl2go_long_term.json b/content/modals/US/PL2GO/pl2go_long_term.json index 6ad6d67d55..ce154fde84 100644 --- a/content/modals/US/PL2GO/pl2go_long_term.json +++ b/content/modals/US/PL2GO/pl2go_long_term.json @@ -33,7 +33,7 @@ "Pay back what you spend in monthly installments. $0 due today." ], "disclosure": [ - "Pay Monthly is subject to consumer credit approval. Payments may change based on shipping, taxes, updates to your purchase, or missed payments. Offer availability depends on the merchant and may not be available for subscriptions or recurring payments. Pay Monthly is currently not available to residents of AK, CO, HI, MA, NE, NV, NY, or TX. You must be of legal age in your U.S. state of residence. Missed payments may have an impact on your credit score. The lender for Pay Monthly is WebBank. PayPal, Inc. (NMLS #910457): CT Small Loan Licensee. RI Loan Broker Licensee. VT Loan Solicitation Licensee. VT residents:", + "Pay Monthly is subject to consumer credit approval. Payments may change based on shipping, taxes, updates to your purchase, or missed payments. Offer availability depends on the merchant and may not be available for subscriptions or recurring payments. Pay Monthly is currently not available to residents of Alaska, Colorado, Hawaii, Massachusetts, Nevada, New York, or Texas. You must be of legal age in your U.S. state of residence. Missed payments may have an impact on your credit score. The lender for Pay Monthly is WebBank. PayPal, Inc. (NMLS #910457): Connecticut Small Loan Licensee. Rhode Island Loan Broker Licensee. Vermont Loan Solicitation Licensee. Vermont residents:", ["Find more disclosures ", "https://www.paypal.com/us/digital-wallet/ways-to-pay/buy-now-pay-later"], "by going to PayPal's page on Pay Later." ] diff --git a/content/modals/US/PL2GO/pl2go_short_term.json b/content/modals/US/PL2GO/pl2go_short_term.json index 26e75b30b1..f911b8f764 100644 --- a/content/modals/US/PL2GO/pl2go_short_term.json +++ b/content/modals/US/PL2GO/pl2go_short_term.json @@ -33,7 +33,7 @@ "Pay back what you spend in 4 payments, every 2 weeks, starting today." ], "disclosure": [ - "Pay in 4 is available to consumers upon approval for purchases of {formattedMinAmount} to {formattedMaxAmount}. Pay in 4 is not currently available to residents of Missouri, Nevada, New Mexico, or North Dakota. Offer availability depends on the merchant and also may not be available for certain recurring, subscription services. When applying, a soft credit check may be needed, but will not affect your credit score. You must be of legal age in your U.S. state of residence to use Pay in 4. Loans to California residents are made or arranged pursuant to a California Financing Law License. PayPal, Inc. is a Georgia Installment Lender Licensee, NMLS #910457. Rhode Island Small Loan Lender Licensee." + "Pay in 4 is available to consumers upon approval for purchases of {formattedMinAmount} to {formattedMaxAmount}. Pay in 4 is not currently available to residents of Missouri, Nevada, or New Mexico. Offer availability depends on the merchant and also may not be available for certain recurring, subscription services. When applying, a soft credit check may be needed, but will not affect your credit score. You must be of legal age in your U.S. state of residence to use Pay in 4. Loans to California residents are made or arranged pursuant to a California Financing Law License. PayPal, Inc. is a Georgia Installment Lender Licensee, NMLS #910457. Rhode Island Small Loan Lender Licensee." ] } } diff --git a/content/modals/US/PLHub/plhub_long_term.json b/content/modals/US/PLHub/plhub_long_term.json index 4cb077cc03..8dd5632aa4 100644 --- a/content/modals/US/PLHub/plhub_long_term.json +++ b/content/modals/US/PLHub/plhub_long_term.json @@ -33,7 +33,7 @@ "Use autopay for your payments. It's easy!" ], "disclosure": [ - "Pay Monthly is subject to consumer credit approval. Payments may change based on shipping, taxes, updates to your purchase, or missed payments. Offer availability depends on the merchant and may not be available for subscriptions or recurring payments. Pay Monthly is currently not available to residents of AK, CO, HI, MA, NE, NV, NY, or TX. You must be of legal age in your U.S. state of residence. Missed payments may have an impact on your credit score. The lender for Pay Monthly is WebBank. PayPal, Inc. (NMLS #910457): CT Small Loan Licensee. RI Loan Broker Licensee. VT Loan Solicitation Licensee. VT residents:", + "Pay Monthly is subject to consumer credit approval. Payments may change based on shipping, taxes, updates to your purchase, or missed payments. Offer availability depends on the merchant and may not be available for subscriptions or recurring payments. Pay Monthly is currently not available to residents of Alaska, Colorado, Hawaii, Massachusetts, Nevada, New York, or Texas. You must be of legal age in your U.S. state of residence. Missed payments may have an impact on your credit score. The lender for Pay Monthly is WebBank. PayPal, Inc. (NMLS #910457): Connecticut Small Loan Licensee. Rhode Island Loan Broker Licensee. Vermont Loan Solicitation Licensee. Vermont residents:", ["Find more disclosures ", "https://www.paypal.com/us/digital-wallet/ways-to-pay/buy-now-pay-later"], "by going to PayPal's page on Pay Later." ], diff --git a/content/modals/US/PLHub/plhub_short_term.json b/content/modals/US/PLHub/plhub_short_term.json index a87998fba8..734f131508 100644 --- a/content/modals/US/PLHub/plhub_short_term.json +++ b/content/modals/US/PLHub/plhub_short_term.json @@ -33,7 +33,7 @@ "Use autopay for the rest of your payments. It's easy!" ], "disclosure": [ - "Pay in 4 is available to consumers upon approval for purchases of {formattedMinAmount} to {formattedMaxAmount}. Pay in 4 is not currently available to residents of Missouri, Nevada, New Mexico, or North Dakota. Offer availability depends on the merchant and also may not be available for certain recurring, subscription services. When applying, a soft credit check may be needed, but will not affect your credit score. You must be of legal age in your U.S. state of residence to use Pay in 4. Loans to California residents are made or arranged pursuant to a California Financing Law License. PayPal, Inc. is a Georgia Installment Lender Licensee, NMLS #910457. Rhode Island Small Loan Lender Licensee." + "Pay in 4 is available to consumers upon approval for purchases of {formattedMinAmount} to {formattedMaxAmount}. Pay in 4 is not currently available to residents of Missouri, Nevada, or New Mexico. Offer availability depends on the merchant and also may not be available for certain recurring, subscription services. When applying, a soft credit check may be needed, but will not affect your credit score. You must be of legal age in your U.S. state of residence to use Pay in 4. Loans to California residents are made or arranged pursuant to a California Financing Law License. PayPal, Inc. is a Georgia Installment Lender Licensee, NMLS #910457. Rhode Island Small Loan Lender Licensee." ], "linkToProductList": "See other ways to pay later" } diff --git a/content/modals/US/ppc_ni.json b/content/modals/US/ppc_ni.json deleted file mode 100644 index c2231fa881..0000000000 --- a/content/modals/US/ppc_ni.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "meta": { - "offerCountry": "US", - "product": "NI", - "periodicPayment": "{formattedPeriodicPayment}", - "minAmount": "{minAmount}", - "maxAmount": "{maxAmount}", - "qualifying": "{qualifying_offer}", - "amount": "{transaction_amount}", - "variables": { - "transaction_amount": "${eval(transaction_amount ? transaction_amount : '-')}", - "qualifying_offer": "${eval(CREDIT_OFFERS_DS.qualifying_offer ? CREDIT_OFFERS_DS.qualifying_offer : 'false')}", - "financing_code": "${CREDIT_OFFERS_DS.financing_code}", - "formattedPeriodicPayment": "${CREDIT_OFFERS_DS.formattedPeriodicPayment}", - "total_payments": "${CREDIT_OFFERS_DS.total_payments}", - "formattedMinAmount": "${CREDIT_OFFERS_DS.formattedMinAmount}", - "formattedMaxAmount": "${CREDIT_OFFERS_DS.formattedMaxAmount}", - "formattedTotalCost": "${CREDIT_OFFERS_DS.formattedTotalCost}", - "minAmount": "${CREDIT_OFFERS_DS.minAmount}", - "maxAmount": "${CREDIT_OFFERS_DS.maxAmount}" - } - }, - "content": { - "headline": { - "multiProduct": "6 months special financing", - "singleProduct": "PayPal Credit" - }, - "subHeadline": "Pay over time and get 6 months special financing on purchases of $99+ with no money due today.", - "applyNow": { - "headline": "Get a decision in seconds.", - "subHeadline": "Subject to credit approval" - }, - "terms": { - "title": "No Interest if paid in full in 6 months on purchases of $99+", - "items": [ - "Interest will be charged to your account from the purchase date if the balance is not paid in full within 6 months.", - "A minimum monthly payment is required and may or may not pay off the promotional purchase by the end of the 6 month period.", - "No interest will be charged on the purchase if you pay it off in full within 6 months. If you do not, interest will be charged on the purchase from the purchase date at the Purchase APR applicable to your account.", - "For New Accounts: Variable Purchase APR is {aprEntry.apr}%. The APR is accurate as of {aprEntry.formattedDate} and will vary with the market based on the Prime Rate (as defined in your credit card agreement). Minimum interest charge is $2.00.", - "Individual items that are less than $99 qualify for special financing when combined for a total of $99 or more in a single transaction.", - "Multiple separate transactions of less than $99 per transaction cannot be combined to meet the minimum purchase amount." - ] - }, - "disclaimer": "PayPal Credit is subject to credit approval as determined by the lender, Synchrony Bank, and is available to US customers who are of legal age in their state of residence. You must pay with PayPal Credit to get the offers. Offers not valid on previous purchases, returns or exchanges. Minimum purchase required is before shipping and tax. For New Accounts: Variable Purchase APR is {aprEntry.apr}%. The APR is accurate as of {aprEntry.formattedDate} and will vary with the market based on the Prime Rate (as defined in your credit card agreement). Minimum interest charge is $2.00.", - "copyright": "Copyright {fullYear} Bill Me Later, Inc. All rights reserved." - } -} diff --git a/content/modals/US/short_term.json b/content/modals/US/short_term.json deleted file mode 100644 index 8dd2c72068..0000000000 --- a/content/modals/US/short_term.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "meta": { - "offerCountry": "US", - "product": "GPL", - "periodicPayment": "{formattedPeriodicPayment}", - "minAmount": "{minAmount}", - "maxAmount": "{maxAmount}", - "qualifying": "{qualifying_offer}", - "amount": "{transaction_amount}", - "variables": { - "transaction_amount": "${eval(transaction_amount ? transaction_amount : '-')}", - "qualifying_offer": "${eval(CREDIT_OFFERS_DS.qualifying_offer ? CREDIT_OFFERS_DS.qualifying_offer : 'false')}", - "financing_code": "${CREDIT_OFFERS_DS.financing_code}", - "formattedPeriodicPayment": "${CREDIT_OFFERS_DS.formattedPeriodicPayment}", - "total_payments": "${CREDIT_OFFERS_DS.total_payments}", - "formattedMinAmount": "${CREDIT_OFFERS_DS.formattedMinAmount}", - "formattedMaxAmount": "${CREDIT_OFFERS_DS.formattedMaxAmount}", - "formattedTotalCost": "${CREDIT_OFFERS_DS.formattedTotalCost}", - "formattedTransactionAmount": "${CREDIT_OFFERS_DS.formattedTransactionAmount}", - "minAmount": "${CREDIT_OFFERS_DS.minAmount}", - "maxAmount": "${CREDIT_OFFERS_DS.maxAmount}", - "apr": "${CREDIT_OFFERS_DS.apr}", - "nominal_rate": "${CREDIT_OFFERS_DS.nominal_rate}", - "estimated_installments | pick(path=total_payment::payment_date) | formatCurrency(locale=en-US, path=total_payment) | formatDate(type=DURATION_IN_WEEKS, offset=0, locale=en-US, path=payment_date) | escape(count=2)": "${CREDIT_OFFERS_DS.estimated_installments}" - } - }, - "content": { - "headline": { - "singleProduct": "Pay in 4", - "multiProduct": "Simple, short-term installments" - }, - "subHeadline": { - "unqualified": "4 interest-free payments every 2 weeks, starting today, with no late fees and no impact to your credit score. Available on purchases from {formattedMinAmount}-{formattedMaxAmount}.", - "qualified": "{formattedTransactionAmount} divided into 4 interest-free payments of {formattedPeriodicPayment} every 2 weeks, with no late fees and no impact to your credit score. Down payment due today." - }, - - "instructions": { - "title": ["Check out securely with", "PayPal", "and choose", "Pay Later"], - "purchaseAmount": "Pay in 4 is available to consumers upon approval for purchases of {formattedMinAmount}-{formattedMaxAmount}.", - "items": [ - "Pay in 4 is not currently available to residents of Missouri, Nevada, New Mexico, North Dakota, Wisconsin, or any U.S. Territories. Offer availability depends on the merchant and also may not be available for certain recurring, subscription services.​", - "When applying, a soft credit check may be needed, but will not affect your credit score.​", - "You must be of legal age in your U.S. state of residence to use Pay in 4.​", - "Loans to California residents are made or arranged pursuant to a California Financing Law License.​", - "PayPal, Inc. is a Georgia Installment Lender Licensee, NMLS #910457​.", - "Rhode Island Small Loan Lender Licensee." - ] - } - } -} diff --git a/content/modals/US/v2_long_term.json b/content/modals/US/v2_long_term.json index 85b06b6b3e..8dd5632aa4 100644 --- a/content/modals/US/v2_long_term.json +++ b/content/modals/US/v2_long_term.json @@ -33,7 +33,7 @@ "Use autopay for your payments. It's easy!" ], "disclosure": [ - "Pay Monthly is subject to consumer credit approval. Payments may change based on shipping, taxes, updates to your purchase, or missed payments. Offer availability depends on the merchant and may not be available for subscriptions or recurring payments. Pay Monthly is currently not available to residents of AK, CO, HI, MA, NV, NY, or TX. You must be of legal age in your U.S. state of residence. Missed payments may have an impact on your credit score. The lender for Pay Monthly is WebBank. PayPal, Inc. (NMLS #910457): CT Small Loan Licensee. RI Loan Broker Licensee. VT Loan Solicitation Licensee. VT residents:", + "Pay Monthly is subject to consumer credit approval. Payments may change based on shipping, taxes, updates to your purchase, or missed payments. Offer availability depends on the merchant and may not be available for subscriptions or recurring payments. Pay Monthly is currently not available to residents of Alaska, Colorado, Hawaii, Massachusetts, Nevada, New York, or Texas. You must be of legal age in your U.S. state of residence. Missed payments may have an impact on your credit score. The lender for Pay Monthly is WebBank. PayPal, Inc. (NMLS #910457): Connecticut Small Loan Licensee. Rhode Island Loan Broker Licensee. Vermont Loan Solicitation Licensee. Vermont residents:", ["Find more disclosures ", "https://www.paypal.com/us/digital-wallet/ways-to-pay/buy-now-pay-later"], "by going to PayPal's page on Pay Later." ], diff --git a/content/modals/US/v2_long_term_xo.json b/content/modals/US/v2_long_term_xo.json index af0001c7d0..fb49b87512 100644 --- a/content/modals/US/v2_long_term_xo.json +++ b/content/modals/US/v2_long_term_xo.json @@ -38,7 +38,7 @@ "link": "https://www.paypal.com/link/to/long-term-application" }, "disclosure": [ - "Pay Monthly is subject to consumer credit approval. Payments may change based on shipping, taxes, updates to your purchase, or missed payments. Offer availability depends on the merchant and may not be available for subscriptions or recurring payments. Pay Monthly is currently not available to residents of AK, CO, HI, MA, NV, NY, or TX. You must be of legal age in your U.S. state of residence. Missed payments may have an impact on your credit score. The lender for Pay Monthly is WebBank. PayPal, Inc. (NMLS #910457): CT Small Loan Licensee. RI Loan Broker Licensee. VT Loan Solicitation Licensee. VT residents:", + "Pay Monthly is subject to consumer credit approval. Payments may change based on shipping, taxes, updates to your purchase, or missed payments. Offer availability depends on the merchant and may not be available for subscriptions or recurring payments. Pay Monthly is currently not available to residents of Alaska, Colorado, Hawaii, Massachusetts, Nevada, New York, or Texas. You must be of legal age in your U.S. state of residence. Missed payments may have an impact on your credit score. The lender for Pay Monthly is WebBank. PayPal, Inc. (NMLS #910457): Connecticut Small Loan Licensee. Rhode Island Loan Broker Licensee. Vermont Loan Solicitation Licensee. Vermont residents:", ["Find more disclosures ", "https://www.paypal.com/us/digital-wallet/ways-to-pay/buy-now-pay-later"], "by going to PayPal's page on Pay Later." ], diff --git a/content/modals/US/v2_short_term.json b/content/modals/US/v2_short_term.json index a87998fba8..33c4cd6e77 100644 --- a/content/modals/US/v2_short_term.json +++ b/content/modals/US/v2_short_term.json @@ -33,7 +33,7 @@ "Use autopay for the rest of your payments. It's easy!" ], "disclosure": [ - "Pay in 4 is available to consumers upon approval for purchases of {formattedMinAmount} to {formattedMaxAmount}. Pay in 4 is not currently available to residents of Missouri, Nevada, New Mexico, or North Dakota. Offer availability depends on the merchant and also may not be available for certain recurring, subscription services. When applying, a soft credit check may be needed, but will not affect your credit score. You must be of legal age in your U.S. state of residence to use Pay in 4. Loans to California residents are made or arranged pursuant to a California Financing Law License. PayPal, Inc. is a Georgia Installment Lender Licensee, NMLS #910457. Rhode Island Small Loan Lender Licensee." + "Pay in 4 is available to consumers upon approval for purchases of {formattedMinAmount} to {formattedMaxAmount}. Pay in 4 is currently not available to residents of Missouri, Nevada, or New Mexico. Offer availability depends on the merchant and also may not be available for certain recurring, subscription services.​ When applying, a soft credit check may be needed, but will not affect your credit score.​ You must be of legal age in your U.S. state of residence to use Pay in 4.​ PayPal, Inc.: Loans to California residents are made or arranged pursuant to California Financing Law License.​ Georgia Installment Lender Licensee, NMLS #910457.​ Rhode Island Small Loan Lender Licensee." ], "linkToProductList": "See other ways to pay later" } diff --git a/demo/blank.html b/demo/blank.html index 138362f819..0011c0a5fd 100644 --- a/demo/blank.html +++ b/demo/blank.html @@ -4,7 +4,7 @@ Messages Dev Sandbox - + diff --git a/demo/index.html b/demo/index.html index 747e407cec..98302d6958 100644 --- a/demo/index.html +++ b/demo/index.html @@ -4,7 +4,7 @@ Messages Dev Sandbox - +
diff --git a/demo/standalone.html b/demo/standalone.html index a6c5c87d60..b3ed552236 100644 --- a/demo/standalone.html +++ b/demo/standalone.html @@ -4,7 +4,7 @@ Messaging.js Dev Sandbox - + diff --git a/dist/bizcomponents/stage/smart-credit-modal-AU.js b/dist/bizcomponents/stage/smart-credit-modal-AU.js deleted file mode 100644 index 82ac1fd89f..0000000000 --- a/dist/bizcomponents/stage/smart-credit-modal-AU.js +++ /dev/null @@ -1,3 +0,0 @@ -/* version: 1.49.2 */ -window.crc=function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return{}.hasOwnProperty.call(t,e)},n.p="",n(n.s=241)}([function(t,e,n){"use strict";function r(t,e){for(var n=[],r=0;r1?new i(e):void 0}(this.component(this.props,this.children));if(e)return e.render(t)},e.render=function(t){return t(this)},e.renderChildren=function(t){return r(this.children,t)},t}();function u(t){for(var e=[],n=0;n2?n-2:0),i=2;i/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")}function E(){return function t(e){if("component"===e.type)return[].concat(e.renderComponent(t)).join("");if("element"===e.type){var n=(o=e.props,(i=Object.keys(o).filter((function(t){var e=o[t];return"innerHTML"!==t&&("string"==typeof e||"number"==typeof e||!0===e)}))).length?" "+i.map((function(t){var e=o[t];if(!0===e)return""+w(t);if("string"!=typeof e&&"number"!=typeof e)throw new TypeError("Unexpected prop type: "+typeof e);return""===e?w(t):w(t)+'="'+w(e.toString())+'"'})).join(" "):"");if(b[e.name])return"<"+e.name+n+" />";var r="string"==typeof e.props.innerHTML?e.props.innerHTML:e.renderChildren(t).join("");return"<"+e.name+n+">"+r+""}var o,i;if("text"===e.type)return w(e.text);throw new TypeError("Unhandleable node: "+e.type)}}},function(t,e,n){"use strict";n.d(e,"a",(function(){return w})),n.d(e,"b",(function(){return b})),n.d(e,"c",(function(){return G})),n.d(e,"d",(function(){return U})),n.d(e,"e",(function(){return m})),n.d(e,"f",(function(){return y})),n.d(e,"g",(function(){return m})),n.d(e,"h",(function(){return z})),n.d(e,"i",(function(){return o})),n.d(e,"j",(function(){return B})),n.d(e,"k",(function(){return j}));var r,o,i,a,c,u,s,l,f={},d=[],p=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,h=Array.isArray;function v(t,e){for(var n in e)t[n]=e[n];return t}function g(t){var e=t.parentNode;e&&e.removeChild(t)}function m(t,e,n){var o,i,a,c={};for(a in e)"key"==a?o=e[a]:"ref"==a?i=e[a]:c[a]=e[a];if(arguments.length>2&&(c.children=arguments.length>3?r.call(arguments,2):n),"function"==typeof t&&null!=t.defaultProps)for(a in t.defaultProps)void 0===c[a]&&(c[a]=t.defaultProps[a]);return _(t,c,o,i,null)}function _(t,e,n,r,a){var c={type:t,props:e,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==a?++i:a};return null==a&&null!=o.vnode&&o.vnode(c),c}function y(){return{current:null}}function b(t){return t.children}function w(t,e){this.props=t,this.context=e}function E(t,e){if(null==e)return t.__?E(t.__,t.__.__k.indexOf(t)+1):null;for(var n;ee&&a.sort(s));F.__r=0}function S(t,e,n,r,o,i,a,c,u,s,l){var p,v,g,m,y,w,O,C,F,S=0,j=r&&r.__k||d,T=j.length,R=T,M=e.length;for(n.__k=[],p=0;p0?_(m.type,m.props,m.key,m.ref?m.ref:null,m.__v):m)?(m.__=n,m.__b=n.__b+1,-1===(C=A(m,j,O=p+S,R))?g=f:(g=j[C]||f,j[C]=void 0,R--),P(t,m,g,o,i,a,c,u,s,l),y=m.__e,(v=m.ref)&&g.ref!=v&&(g.ref&&I(g.ref,null,m),l.push(v,m.__c||y,m)),null!=y&&(null==w&&(w=y),(F=g===f||null===g.__v)?-1==C&&S--:C!==O&&(C===O+1?S++:C>O?R>M-O?S+=C-O:S--:S=C(null!=u?1:0))for(;a>=0||c=0){if((u=e[a])&&o==u.key&&i===u.type)return a;a--}if(c2&&(u.children=arguments.length>3?r.call(arguments,2):n),_(t.type,u,o||t.key,i||t.ref,null)}function U(t,e){var n={__c:e="__cC"+l++,__:t,Consumer:function(t,e){return t.children(e)},Provider:function(t){var n,r;return this.getChildContext||(n=[],(r={})[e]=this,this.getChildContext=function(){return r},this.shouldComponentUpdate=function(t){this.props.value!==t.value&&n.some((function(t){t.__e=!0,C(t)}))},this.sub=function(t){n.push(t);var e=t.componentWillUnmount;t.componentWillUnmount=function(){n.splice(n.indexOf(t),1),e&&e.call(t)}}),t.children}};return n.Provider.__=n.Consumer.contextType=n}r=d.slice,o={__e:function(t,e,n,r){for(var o,i,a;e=e.__;)if((o=e.__c)&&!o.__)try{if((i=o.constructor)&&null!=i.getDerivedStateFromError&&(o.setState(i.getDerivedStateFromError(t)),a=o.__d),null!=o.componentDidCatch&&(o.componentDidCatch(t,r||{}),a=o.__d),a)return o.__E=o}catch(e){t=e}throw t}},i=0,w.prototype.setState=function(t,e){var n;n=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=v({},this.state),"function"==typeof t&&(t=t(v({},n),this.props)),t&&v(n,t),null!=t&&this.__v&&(e&&this._sb.push(e),C(this))},w.prototype.forceUpdate=function(t){this.__v&&(this.__e=!0,t&&this.__h.push(t),C(this))},w.prototype.render=b,a=[],u="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,s=function(t,e){return t.__v.__b-e.__v.__b},F.__r=0,l=0},function(t,e,n){"use strict";function r(){return(r=Object.assign||function(t){for(var e=1;e=3)return"stringifyError stack overflow";try{if(!t)return"";if("string"==typeof t)return t;if(t instanceof Error){var n=t&&t.stack,r=t&&t.message;if(n&&r)return-1!==n.indexOf(r)?n:r+"\n"+n;if(n)return n;if(r)return r}return t&&t.toString&&"function"==typeof t.toString?t.toString():{}.toString.call(t)}catch(t){return"Error while stringifying error: "+R(t,e+1)}}function M(t){var e="";return t?t instanceof Error?t.message||e:"string"==typeof t.message&&t.message||e:e}function L(t){if(Object.values)return Object.values(t);var e=[];for(var n in t)t.hasOwnProperty(n)&&e.push(t[n]);return e}function P(t){return"data:image/svg+xml;base64,"+w(t)}function k(t,e){void 0===e&&(e=Boolean);var n={};for(var r in t)t.hasOwnProperty(r)&&e(t[r],r)&&(n[r]=t[r]);return n}function H(t,e){var n,r;return void 0===e&&(e=50),b((function(){r&&clearTimeout(r);var o=n=n||new f.a;return r=setTimeout((function(){n=null,r=null,f.a.try(t).then((function(t){o.resolve(t)}),(function(t){o.reject(t)}))}),e),o}),y(t)+"::promiseDebounced")}function I(t,e){var n;return function r(){n=setTimeout((function(){t(),r()}),e)}(),{cancel:function(){clearTimeout(n)}}}function D(){var t={},e={},n={on:function(t,n){var r=e[t]=e[t]||[];r.push(n);var o=!1;return{cancel:function(){o||(o=!0,r.splice(r.indexOf(n),1))}}},once:function(t,e){var r=n.on(t,(function(){r.cancel(),e()}));return r},trigger:function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o1?r-1:0),i=1;i1e3&&t.now()-(t.timing.connectEnd-t.timing.navigationStart)>0)return t}))}function $(){return"undefined"!=typeof window&&void 0!==window.location}function tt(t){var e=t.host,n=void 0===e?window.location.host:e,r=t.path,o=t.reverse,i=void 0!==o&&o;return A(tt,(function(){var t=""+n+r,e=[].slice.call(document.getElementsByTagName("script"));i&&e.reverse();for(var o=0;or&&(n=null),n||(n={guid:O(),created:o}),e.__session__=n,t(n)}))}return{getState:i,getID:a,isStateFresh:function(){return a()===o},getSessionState:function(t){return c((function(e){return e.state=e.state||{},t(e.state)}))},getSessionID:function(){return c((function(t){return t.guid}))}}}),[{name:e,lifetime:r}])}function lt(){return st({name:"belter_experiment"})}function ft(t){return lt().getSessionState((function(e){return e.loggedBeacons=e.loggedBeacons||[],-1===e.loggedBeacons.indexOf(t)&&(e.loggedBeacons.push(t),!0)}))}function dt(t){return Math.floor(Math.random()*t)}function pt(t){var e,n=t.name,r=t.sample,o=void 0===r?50:r,i=t.logTreatment,a=void 0===i?T:i,c=t.logCheckpoint,u=void 0===c?T:c,s=t.sticky,l=void 0===s||s?function(t){return lt().getState((function(e){return e.throttlePercentiles=e.throttlePercentiles||{},e.throttlePercentiles[t]=e.throttlePercentiles[t]||dt(100),e.throttlePercentiles[t]}))}(n):dt(100),f=n+"_"+(e=l=50||o<=l&&l<2*o?"control":"throttle"),d=!1,p=!1;try{window.localStorage&&window.localStorage.getItem(n)&&(p=!0)}catch(t){}var h={isEnabled:function(){return"test"===e||p},isDisabled:function(){return"test"!==e&&!p},getTreatment:function(){return f},log:function(t,e){return void 0===e&&(e={}),d?(ft(f+"_"+JSON.stringify(e))&&a({name:n,treatment:f,payload:e,throttle:l}),ft(f+"_"+t+"_"+JSON.stringify(e))&&u({name:n,treatment:f,checkpoint:t,payload:e,throttle:l}),h):h},logStart:function(t){return void 0===t&&(t={}),d=!0,h.log("start",t)},logComplete:function(t){return void 0===t&&(t={}),h.log("complete",t)}};return h}var ht=[];function vt(t){var e=t.url,n=t.method,r=void 0===n?"get":n,o=t.headers,i=void 0===o?{}:o,a=t.json,c=t.data,u=t.body,s=t.win,l=void 0===s?window:s,d=t.timeout,p=void 0===d?0:d;return new f.a((function(t,n){if(a&&c||a&&u||c&&a)throw new Error("Only options.json or options.data or options.body should be passed");for(var o={},s=0,f=Object.keys(i);s=0||(o[n]=t[n]);return o}n.d(e,"a",(function(){return r}))},function(t,e,n){"use strict";function r(t){try{if(!t)return!1;if("undefined"!=typeof Promise&&t instanceof Promise)return!0;if("undefined"!=typeof window&&"function"==typeof window.Window&&t instanceof window.Window)return!1;if("undefined"!=typeof window&&"function"==typeof window.constructor&&t instanceof window.constructor)return!1;var e={}.toString;if(e){var n=e.call(t);if("[object Window]"===n||"[object global]"===n||"[object DOMWindow]"===n)return!1}if("function"==typeof t.then)return!0}catch(t){return!1}return!1}n.d(e,"a",(function(){return f}));var o,i=[],a=[],c=0;function u(){if(!c&&o){var t=o;o=null,t.resolve()}}function s(){c+=1}function l(){c-=1,u()}var f=function(){function t(t){var e=this;if(this.resolved=void 0,this.rejected=void 0,this.errorHandled=void 0,this.value=void 0,this.error=void 0,this.handlers=void 0,this.dispatching=void 0,this.stack=void 0,this.resolved=!1,this.rejected=!1,this.errorHandled=!1,this.handlers=[],t){var n,r,o=!1,i=!1,a=!1;s();try{t((function(t){a?e.resolve(t):(o=!0,n=t)}),(function(t){a?e.reject(t):(i=!0,r=t)}))}catch(t){return l(),void this.reject(t)}l(),a=!0,o?this.resolve(n):i&&this.reject(r)}}var e=t.prototype;return e.resolve=function(t){if(this.resolved||this.rejected)return this;if(r(t))throw new Error("Can not resolve promise with another promise");return this.resolved=!0,this.value=t,this.dispatch(),this},e.reject=function(t){var e=this;if(this.resolved||this.rejected)return this;if(r(t))throw new Error("Can not reject promise with another promise");if(!t){var n=t&&"function"==typeof t.toString?t.toString():{}.toString.call(t);t=new Error("Expected reject to be called with Error, got "+n)}return this.rejected=!0,this.error=t,this.errorHandled||setTimeout((function(){e.errorHandled||function(t,e){if(-1===i.indexOf(t)){i.push(t),setTimeout((function(){throw t}),1);for(var n=0;n=n.__.length&&n.__.push({__V:l}),n.__[t]}function m(t){return u=1,_(L,t)}function _(t,e,n){var i=g(r++,2);if(i.t=t,!i.__c&&(i.__=[n?n(e):L(void 0,e),function(t){var e=i.__N?i.__N[0]:i.__[0],n=i.t(e,t);e!==n&&(i.__N=[n,i.__[1]],i.__c.setState({}))}],i.__c=o,!o.u)){var a=function(t,e,n){if(!i.__c.__H)return!0;var r=i.__c.__H.__.filter((function(t){return t.__c}));if(r.every((function(t){return!t.__N})))return!c||c.call(this,t,e,n);var o=!1;return r.forEach((function(t){if(t.__N){var e=t.__[0];t.__=t.__N,t.__N=void 0,e!==t.__[0]&&(o=!0)}})),!(!o&&i.__c.props===t)&&(!c||c.call(this,t,e,n))};o.u=!0;var c=o.shouldComponentUpdate,u=o.componentWillUpdate;o.componentWillUpdate=function(t,e,n){if(this.__e){var r=c;c=void 0,a(t,e,n),c=r}u&&u.call(this,t,e,n)},o.shouldComponentUpdate=a}return i.__N||i.__}function y(t,e){var n=g(r++,3);!c.i.__s&&M(n.__H,e)&&(n.__=t,n.i=e,o.__H.__h.push(n))}function b(t,e){var n=g(r++,4);!c.i.__s&&M(n.__H,e)&&(n.__=t,n.i=e,o.__h.push(n))}function w(t){return u=5,O((function(){return{current:t}}),[])}function E(t,e,n){u=6,b((function(){return"function"==typeof t?(t(e()),function(){return t(null)}):t?(t.current=e(),function(){return t.current=null}):void 0}),null==n?n:n.concat(t))}function O(t,e){var n=g(r++,7);return M(n.__H,e)?(n.__V=t(),n.i=e,n.__h=t,n.__V):n.__}function C(t,e){return u=8,O((function(){return t}),e)}function F(t){var e=o.context[t.__c],n=g(r++,9);return n.c=t,e?(null==n.__&&(n.__=!0,e.sub(o)),e.props.value):t.__}function S(t,e){c.i.useDebugValue&&c.i.useDebugValue(e?e(t):t)}function x(){var t=g(r++,11);if(!t.__){for(var e=o.__v;null!==e&&!e.__m&&null!==e.__;)e=e.__;var n=e.__m||(e.__m=[0,0]);t.__="P"+n[0]+"-"+n[1]++}return t.__}function j(){for(var t;t=s.shift();)if(t.__P&&t.__H)try{t.__H.__h.forEach(T),t.__H.__h.forEach(R),t.__H.__h=[]}catch(e){t.__H.__h=[],c.i.__e(e,t.__v)}}c.i.__b=function(t){o=null,f&&f(t)},c.i.__r=function(t){d&&d(t),r=0;var e=(o=t.__c).__H;e&&(i===o?(e.__h=[],o.__h=[],e.__.forEach((function(t){t.__N&&(t.__=t.__N),t.__V=l,t.__N=t.i=void 0}))):(e.__h.forEach(T),e.__h.forEach(R),e.__h=[],r=0)),i=o},c.i.diffed=function(t){p&&p(t);var e=t.__c;e&&e.__H&&(e.__H.__h.length&&(1!==s.push(e)&&a===c.i.requestAnimationFrame||((a=c.i.requestAnimationFrame)||A)(j)),e.__H.__.forEach((function(t){t.i&&(t.__H=t.i),t.__V!==l&&(t.__=t.__V),t.i=void 0,t.__V=l}))),i=o=null},c.i.__c=function(t,e){e.some((function(t){try{t.__h.forEach(T),t.__h=t.__h.filter((function(t){return!t.__||R(t)}))}catch(n){e.some((function(t){t.__h&&(t.__h=[])})),e=[],c.i.__e(n,t.__v)}})),h&&h(t,e)},c.i.unmount=function(t){v&&v(t);var e,n=t.__c;n&&n.__H&&(n.__H.__.forEach((function(t){try{T(t)}catch(t){e=t}})),n.__H=void 0,e&&c.i.__e(e,n.__v))};var N="function"==typeof requestAnimationFrame;function A(t){var e,n=function(){clearTimeout(r),N&&cancelAnimationFrame(e),setTimeout(t)},r=setTimeout(n,100);N&&(e=requestAnimationFrame(n))}function T(t){var e=o,n=t.__c;"function"==typeof n&&(t.__c=void 0,n()),o=e}function R(t){var e=o;t.__c=t.__(),o=e}function M(t,e){return!t||t.length!==e.length||e.some((function(e,n){return e!==t[n]}))}function L(t,e){return"function"==typeof e?e(t):e}},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,n){"use strict";n.d(e,"b",(function(){return s})),n.d(e,"d",(function(){return l})),n.d(e,"a",(function(){return f})),n.d(e,"f",(function(){return h})),n.d(e,"g",(function(){return v})),n.d(e,"e",(function(){return g})),n.d(e,"c",(function(){return m}));var r="Call was rejected by callee.\r\n";function o(t){return void 0===t&&(t=window),t.location.protocol}function i(t){if(void 0===t&&(t=window),t.mockDomain){var e=t.mockDomain.split("//")[0];if(e)return e}return o(t)}function a(t){return void 0===t&&(t=window),"about:"===i(t)}function c(t){try{return!0}catch(t){}return!1}function u(t){void 0===t&&(t=window);var e=t.location;if(!e)throw new Error("Can not read window location");var n=o(t);if(!n)throw new Error("Can not read window protocol");if("file:"===n)return"file://";if("about:"===n){var r=function(t){if(void 0===t&&(t=window),t)try{if(t.parent&&t.parent!==t)return t.parent}catch(t){}}(t);return r&&c()?u(r):"about://"}var i=e.host;if(!i)throw new Error("Can not read window host");return n+"//"+i}function s(t){void 0===t&&(t=window);var e=u(t);return e&&t.mockDomain&&0===t.mockDomain.indexOf("mock:")?t.mockDomain:e}function l(t){if(!function(t){try{if(t===window)return!0}catch(t){}try{var e=Object.getOwnPropertyDescriptor(t,"location");if(e&&!1===e.enumerable)return!1}catch(t){}try{if(a(t)&&c())return!0}catch(t){}try{if(function(t){return void 0===t&&(t=window),"mock:"===i(t)}(t)&&c())return!0}catch(t){}try{if(u(t)===u(window))return!0}catch(t){}return!1}(t))return!1;try{if(t===window)return!0;if(a(t)&&c())return!0;if(s(window)===s(t))return!0}catch(t){}return!1}function f(t){if(!l(t))throw new Error("Expected window to be same domain");return t}var d=[],p=[];function h(t,e){void 0===e&&(e=!0);try{if(t===window)return!1}catch(t){return!0}try{if(!t)return!0}catch(t){return!0}try{if(t.closed)return!0}catch(t){return!t||t.message!==r}if(e&&l(t))try{if(t.mockclosed)return!0}catch(t){}try{if(!t.parent||!t.top)return!0}catch(t){}var n=function(t,e){for(var n=0;n\n\n'+o)}(__SDK_HOST__,__PATH__,t)}}));Object(r.w)((function(){for(var t={},e=0,n=o().attributes;e1?e-1:0),r=1;r>>0)+"__",function(){if("undefined"==typeof WeakMap)return!1;if(void 0===Object.freeze)return!1;try{var t=new WeakMap,e={};return Object.freeze(e),t.set(e,"__testvalue__"),"__testvalue__"===t.get(e)}catch(t){return!1}}())try{this.weakmap=new WeakMap}catch(t){}this.keys=[],this.values=[]}var e=t.prototype;return e._cleanupClosedWindows=function(){for(var t=this.weakmap,e=this.keys,n=0;nu.indexOf(p))){var r=[e];r.push(n),(n.error||n.warning)&&r.push("\n\n",n.error||n.warning);try{window.console[t]&&window.console[t].apply?window.console[t].apply(window.console,r):window.console.log&&window.console.log.apply&&window.console.log.apply(window.console,r)}catch(t){}}}function j(){return o.a.try((function(){if(Object(i.r)()&&"file:"!==window.location.protocol&&(b.length||w.length||E.length)){for(var t={},n=0;n=r.bottom&&n.left<=r.left&&n.right>=r.right},f=function(t,e){if((null==t?void 0:t.nodeType)!==Node.ELEMENT_NODE&&!(t instanceof Window)||(null==e?void 0:e.nodeType)!==Node.ELEMENT_NODE)return!1;var n=t instanceof Window?{top:0,left:0,bottom:t.innerHeight,right:t.innerWidth}:t.getBoundingClientRect(),r=e.getBoundingClientRect();return r.left>=n.right||r.right<=n.left||r.bottom<=n.top||r.top>=n.bottom},d=function(t){for(var e=c(t),n=[],r=t;(null==(i=r)?void 0:i.parentNode.nodeType)===Node.ELEMENT_NODE;){var i;0!==r.parentNode.offsetHeight&&n.push(r.parentNode),r=r.parentNode}n.reverse();var u=n[0],s=o()(n,(function(t,n,r){var o,i=t.offsetHeight,a=r[n+1];if(a&&i<=a.offsetHeight)return u=a,!1;if(i>e.innerHeight&&i>=u.offsetHeight)return!0;var c=null!=(o=r[n-1])?o:t.parentNode;return!!(a&&a.offsetHeight"+t+"<\/script>"},p=function(t){t.write(d("")),t.close();var e=t.parentWindow.Object;return t=null,e},h=function(){try{r=new ActiveXObject("htmlfile")}catch(t){}var t,e;h="undefined"!=typeof document?document.domain&&r?p(r):((e=s("iframe")).style.display="none",u.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write(d("document.F=Object")),t.close(),t.F):p(r);for(var n=a.length;n--;)delete h.prototype[a[n]];return h()};c[l]=!0,t.exports=Object.create||function(t,e){var n;return null!==t?(f.prototype=o(t),n=new f,f.prototype=null,n[l]=t):n=h(),void 0===e?n:i.f(n,e)}},function(t,e,n){var r=n(35);t.exports=function(t,e,n,o){return o&&o.enumerable?t[e]=n:r(t,e,n),t}},function(t,e,n){var r=n(74),o=n(29).f,i=n(35),a=n(24),c=n(161),u=n(12)("toStringTag");t.exports=function(t,e,n,s){if(t){var l=n?t:t.prototype;a(l,u)||o(l,u,{configurable:!0,value:e}),s&&!r&&i(l,"toString",c)}}},function(t,e,n){var r=n(48),o=n(71),i=n(60),a=n(40),c=n(12)("iterator");t.exports=function(t){if(!i(t))return o(t,c)||o(t,"@@iterator")||a[r(t)]}},function(t,e,n){var r=n(10);t.exports=r({}.isPrototypeOf)},function(t,e,n){"use strict";var r=n(17),o=n(23),i=n(47),a=n(157),c=n(11),u=n(158),s=n(75),l=n(162),f=n(83),d=n(35),p=n(82),h=n(12),v=n(40),g=n(108),m=a.PROPER,_=a.CONFIGURABLE,y=g.IteratorPrototype,b=g.BUGGY_SAFARI_ITERATORS,w=h("iterator"),E=function(){return this};t.exports=function(t,e,n,a,h,g,O){u(n,e,a);var C,F,S,x=function(t){if(t===h&&R)return R;if(!b&&t in A)return A[t];switch(t){case"keys":case"values":case"entries":return function(){return new n(this,t)}}return function(){return new n(this)}},j=e+" Iterator",N=!1,A=t.prototype,T=A[w]||A["@@iterator"]||h&&A[h],R=!b&&T||x(h),M="Array"==e&&A.entries||T;if(M&&(C=s(M.call(new t)))!==Object.prototype&&C.next&&(i||s(C)===y||(l?l(C,y):c(C[w])||p(C,w,E)),f(C,j,!0,!0),i&&(v[j]=E)),m&&"values"==h&&T&&"values"!==T.name&&(!i&&_?d(A,"name","values"):(N=!0,R=function(){return o(T,this)})),h)if(F={values:x("values"),keys:g?R:x("keys"),entries:x("entries")},O)for(S in F)(b||N||!(S in A))&&p(A,S,F[S]);else r({target:e,proto:!0,forced:b||N},F);return i&&!O||A[w]===R||p(A,w,R,{name:h}),v[e]=R,F}},function(t,e){t.exports=function(t,e){return{value:t,done:e}}},function(t,e,n){"use strict";n.d(e,"a",(function(){return c})),n.d(e,"b",(function(){return u}));var r=n(2),o=n(1),i=n(7),a=Object(o.d)({}),c=function(t){var e=t.children,n=t.data,c=Object(i.k)(n),u=c[0],s=c[1];return Object(o.g)(a.Provider,{value:Object(r.a)({},u,{setServerData:function(t){return s(Object(r.a)({},u,t))}})},e)};function u(){return Object(i.b)(a)}},function(t,e,n){var r=n(39),o=n(10),i=n(69),a=n(31),c=n(36),u=n(103),s=o([].push),l=function(t){var e=1==t,n=2==t,o=3==t,l=4==t,f=6==t,d=7==t,p=5==t||f;return function(h,v,g,m){for(var _,y,b=a(h),w=i(b),E=r(v,g),O=c(w),C=0,F=m||u,S=e?F(h,O):n||d?F(h,0):void 0;O>C;C++)if((p||C in w)&&(y=E(_=w[C],C,b),t))if(e)S[C]=y;else if(y)switch(t){case 3:return!0;case 5:return _;case 6:return C;case 2:s(S,_)}else switch(t){case 4:return!1;case 7:s(S,_)}return f?-1:o||l?l:S}};t.exports={forEach:l(0),map:l(1),filter:l(2),some:l(3),every:l(4),find:l(5),findIndex:l(6),filterReject:l(7)}},function(t,e,n){"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=function(t,e){var n,r,o=t[1]||"",i=t[3];if(!i)return o;if(e&&"function"==typeof btoa){var a=(n=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),r="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(n),"/*# ".concat(r," */")),c=i.sources.map((function(t){return"/*# sourceURL=".concat(i.sourceRoot||"").concat(t," */")}));return[o].concat(c).concat([a]).join("\n")}return[o].join("\n")}(e,t);return e[2]?"@media ".concat(e[2]," {").concat(n,"}"):n})).join("")},e.i=function(t,n,r){"string"==typeof t&&(t=[[null,t,""]]);var o={};if(r)for(var i=0;il;)if((c=u[l++])!=c)return!0}else for(;s>l;l++)if((t||l in u)&&u[l]===n)return t||l||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},function(t,e,n){var r=n(73),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,e,n){var r=n(143);t.exports=function(t,e){return new(r(t))(0===e?0:e)}},function(t,e,n){var r=n(32);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e,n){var r=n(10),o=n(8),i=n(11),a=n(48),c=n(46),u=n(144),s=function(){},l=[],f=c("Reflect","construct"),d=/^\s*(?:class|function)\b/,p=r(d.exec),h=!d.exec(s),v=function(t){if(!i(t))return!1;try{return f(s,l,t),!0}catch(t){return!1}},g=function(t){if(!i(t))return!1;switch(a(t)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return h||!!p(d,u(t))}catch(t){return!0}};g.sham=!0,t.exports=!f||o((function(){var t;return v(v.call)||!v(Object)||!v((function(){t=!0}))||t}))?g:v},function(t,e,n){var r=n(149),o=TypeError;t.exports=function(t){if(r(t))throw o("The method doesn't accept regular expressions");return t}},function(t,e,n){var r=n(12)("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[r]=!1,"/./"[t](e)}catch(t){}}return!1}},function(t,e,n){"use strict";var r,o,i,a=n(8),c=n(11),u=n(20),s=n(81),l=n(75),f=n(82),d=n(12),p=n(47),h=d("iterator"),v=!1;[].keys&&("next"in(i=[].keys())?(o=l(l(i)))!==Object.prototype&&(r=o):v=!0),!u(r)||a((function(){var t={};return r[h].call(t)!==t}))?r={}:p&&(r=s(r)),c(r[h])||f(r,h,(function(){return this})),t.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:v}},function(t,e,n){var r=n(171);t.exports=r},function(t,e,n){var r=n(10),o=n(24),i=n(33),a=n(101).indexOf,c=n(62),u=r([].push);t.exports=function(t,e){var n,r=i(t),s=0,l=[];for(n in r)!o(c,n)&&o(r,n)&&u(l,n);for(;e.length>s;)o(r,n=e[s++])&&(~a(l,n)||u(l,n));return l}},function(t,e,n){var r=n(73),o=Math.max,i=Math.min;t.exports=function(t,e){var n=r(t);return n<0?o(n+e,0):i(n,e)}},function(t,e,n){"use strict";var r=n(155).charAt,o=n(57),i=n(64),a=n(86),c=n(87),u=i.set,s=i.getterFor("String Iterator");a(String,"String",(function(t){u(this,{type:"String Iterator",string:o(t),index:0})}),(function(){var t,e=s(this),n=e.string,o=e.index;return o>=n.length?c(void 0,!0):(t=r(n,o),e.index+=t.length,c(t,!1))}))},function(t,e,n){var r=n(23),o=n(27),i=n(71);t.exports=function(t,e,n){var a,c;o(t);try{if(!(a=i(t,"return"))){if("throw"===e)throw n;return n}a=r(a,t)}catch(t){c=!0,a=t}if("throw"===e)throw n;if(c)throw a;return o(a),n}},function(t,e,n){var r=n(12),o=n(40),i=r("iterator"),a=Array.prototype;t.exports=function(t){return void 0!==t&&(o.Array===t||a[i]===t)}},function(t,e,n){"use strict";var r=n(70),o=n(29),i=n(56);t.exports=function(t,e,n){var a=r(e);a in t?o.f(t,a,i(0,n)):t[a]=n}},function(t,e,n){var r=n(23),o=n(45),i=n(27),a=n(78),c=n(84),u=TypeError;t.exports=function(t,e){var n=arguments.length<2?c(t):e;if(o(n))return i(r(n,t));throw u(a(t)+" is not iterable")}},function(t,e,n){"use strict";var r=n(1),o=n(88),i=n(118),a=n(42),c={LOGO:{AU:"logo",DE:"logo-de",GB:"logo",FR:"logo",US:"logo","US-EZP":"logo-ezp","DE-GPL":"logo"}};e.a=function(t){var e=t.children,n=t.className,u=void 0===n?"":n,s=t.logo,l=t.wrapperRef,f=Object(o.b)().country,d=Object(i.b)()[1];return Object(r.g)("div",{className:"header-wrapper "+u,ref:l},Object(r.g)("div",{className:"header-container"},Object(r.g)("header",{className:"header"},Object(r.g)("button",{className:"close","aria-label":"Close",type:"button",id:"close-btn",onClick:function(){return d("Close Button")}},Object(r.g)(a.a,{name:"close"})),Object(r.g)("div",{className:"logo-wrapper"},Object(r.g)("div",{className:"logo",alt:"PayPal Credit"},Object(r.g)(a.a,{name:c.LOGO[s||f]}))),e)))}},function(t,e,n){"use strict";n.d(e,"a",(function(){return u})),n.d(e,"b",(function(){return s}));var r=n(1),o=n(7),i=n(65),a=n(195),c=Object(r.d)({status:"OPEN",setStatus:function(){}}),u=function(t){var e=t.children,n=Object(i.b)().onShow,u=Object(o.k)("OPEN"),s=u[0],l=u[1];return Object(o.d)((function(){Object(a.a)().then((function(){new IntersectionObserver((function(t){t[0].isIntersecting?(l("OPEN"),n()):setTimeout((function(){l("CLOSED")}),300)}),{threshold:1}).observe(document.body)}))}),[]),Object(r.g)(c.Provider,{value:{status:s,setStatus:l}},e)},s=function(){var t=Object(o.b)(c).status,e=Object(i.b)(),n=e.onClose,r=e.close;return[t,function(t){n({linkName:t}),window===window.top&&"function"==typeof r&&r()}]}},function(t,e,n){"use strict";var r=n(33),o=n(53),i=n(40),a=n(64),c=n(29).f,u=n(86),s=n(87),l=n(47),f=n(15),d=a.set,p=a.getterFor("Array Iterator");t.exports=u(Array,"Array",(function(t,e){d(this,{type:"Array Iterator",target:r(t),index:0,kind:e})}),(function(){var t=p(this),e=t.target,n=t.kind,r=t.index++;return!e||r>=e.length?(t.target=void 0,s(void 0,!0)):s("keys"==n?r:"values"==n?e[r]:[r,e[r]],!1)}),"values");var h=i.Arguments=i.Array;if(o("keys"),o("values"),o("entries"),!l&&f&&"values"!==h.name)try{c(h,"name",{value:"values"})}catch(t){}},function(t,e,n){var r=n(17),o=n(10),i=n(62),a=n(20),c=n(24),u=n(29).f,s=n(121),l=n(180),f=n(182),d=n(79),p=n(184),h=!1,v=d("meta"),g=0,m=function(t){u(t,v,{value:{objectID:"O"+g++,weakData:{}}})},_=t.exports={enable:function(){_.enable=function(){},h=!0;var t=s.f,e=o([].splice),n={};n[v]=1,t(n).length&&(s.f=function(n){for(var r=t(n),o=0,i=r.length;o_;_++)if((b=N(t[_]))&&s(v,b))return b;return new h(!1)}g=l(t,m)}for(w=C?t.next:g.next;!(E=o(w,g)).done;){try{b=N(E.value)}catch(t){d(g,"throw",t)}if("object"==typeof b&&b&&s(v,b))return b}return new h(!1)}},function(t,e,n){var r=n(85),o=TypeError;t.exports=function(t,e){if(r(e,t))return t;throw o("Incorrect invocation")}},function(t,e,n){var r=n(29);t.exports=function(t,e,n){return r.f(t,e,n)}},function(t,e,n){var r=n(176);n(189),t.exports=r},function(t,e,n){"use strict";var r=n(1),o=n(65),i=n(88),a=n(118),c=n(127),u=n.n(c);e.a=function(t){var e=t.styles,n=t.serverData,c=t.children;return Object(r.g)(o.a,null,Object(r.g)(i.a,{data:n},Object(r.g)(a.a,null,Object(r.g)("style",null,u.a._getCss(),e),c)))}},function(t,e,n){var r=n(196),o=n(91),i="string"==typeof r?[[t.i,r,""]]:r;(e=t.exports=r.locals||{})._getContent=function(){return i},e._getCss=function(){return""+r},e._insertCss=function(t){return o(i,t)}},function(t,e,n){"use strict";var r=n(1),o=n(7),i=n(28),a=n(88),c=n(65),u=n(118),s=n(199),l=n(200),f=n(201),d=function(t){var e=t.contentMaxWidth,n=t.contentMaxHeight,i=Object(u.b)()[1];return Object(o.d)((function(){var t=function(t){"Escape"!==t.key&&"Esc"!==t.key&&27!==t.charCode||i("Escape Key")};return window.addEventListener("keyup",t),function(){return window.removeEventListener("keyup",t)}})),Object(r.g)(r.b,null,Object(r.g)("div",{className:"overlay"}),e&&Object(r.g)(r.b,null,Object(r.g)("div",{className:"overlay-side left",onClick:function(){return i("Modal Overlay")},style:{left:0,width:"calc((100% - "+e+"px) / 2)"}}),Object(r.g)("div",{className:"overlay-side right",onClick:function(){return i("Modal Overlay")},style:{right:0,width:"calc((100% - "+e+"px) / 2)"}})),n&&Object(r.g)(r.b,null,Object(r.g)("div",{className:"overlay-side top",onClick:function(){return i("Modal Overlay")},style:{left:0,top:0,width:"100%",height:"calc((100% - "+n+"px) / 2)"}}),Object(r.g)("div",{className:"overlay-side bottom",onClick:function(){return i("Modal Overlay")},style:{left:0,bottom:0,top:"auto",width:"100%",height:"calc((100% - "+n+"px) / 2)"}})))};e.a=function(t){var e=t.children,n=t.contentWrapper,p=t.contentMaxWidth,h=t.contentMaxHeight,v=Object(a.b)(),g=v.type,m=v.products,_=v.meta,y=v.setServerData,b=Object(c.b)(),w=b.onReady,E=b.currency,O=b.amount,C=b.payerId,F=b.clientId,S=b.merchantId,x=b.buyerCountry,j=b.env,N=b.messageRequestId,A=b.ignoreCache,T=b.version,R=b.stageTag,M=Object(u.b)()[0],L=Object(o.k)(!1),P=L[0],k=L[1];return Object(o.d)((function(){"CLOSED"===M?n.current.scrollTop=0:"OPEN"===M&&window.requestAnimationFrame((function(){window.document.querySelector("#close-btn").focus()}))}),[M]),Object(o.d)((function(){if("function"==typeof w){var t=m.map((function(t){return t.meta.product}));m.find((function(t){return"DE"===t.meta.offerCountry}))&&t.push("PI30"),w({type:g,products:t,messageRequestId:N,meta:_,ts:Object(i.g)()})}}),[E,O,C,F,S,x]),Object(o.d)((function(){Object(s.b)()}),[]),Object(l.a)((function(){k(!0),Object(s.a)({currency:E,amount:""===O?void 0:O,payerId:C,clientId:F,merchantId:S,buyerCountry:x,ignoreCache:A,version:T,env:j,stageTag:R}).then((function(t){y(t),k(!1)}))}),[E,O,C,F,S,x]),Object(r.g)(f.a,{containerRef:n},Object(r.g)("div",{className:"modal-wrapper",role:"dialog","aria-label":"PayPal Credit","aria-modal":"true"},Object(r.g)("section",{className:"modal-container show "+(P?"loading":"")},Object(r.g)("div",{className:"spinner",style:{opacity:P?"1":"0"}}),Object(r.g)("div",{className:"wrapper"},e),Object(r.g)(d,{contentMaxWidth:p,contentMaxHeight:h}))))}},function(t,e,n){n(130);var r=n(34);t.exports=r.Object.assign},function(t,e,n){var r=n(17),o=n(138);r({target:"Object",stat:!0,arity:2,forced:Object.assign!==o},{assign:o})},function(t,e,n){var r=n(55),o=Function.prototype,i=o.apply,a=o.call;t.exports="object"==typeof Reflect&&Reflect.apply||(r?a.bind(i):function(){return a.apply(i,arguments)})},function(t,e,n){var r=n(23),o=n(20),i=n(94),a=n(71),c=n(135),u=n(12),s=TypeError,l=u("toPrimitive");t.exports=function(t,e){if(!o(t)||i(t))return t;var n,u=a(t,l);if(u){if(void 0===e&&(e="default"),n=r(u,t,e),!o(n)||i(n))return n;throw s("Can't convert object to primitive value")}return void 0===e&&(e="number"),c(t,e)}},function(t,e,n){var r,o,i=n(18),a=n(134),c=i.process,u=i.Deno,s=c&&c.versions||u&&u.version,l=s&&s.v8;l&&(o=(r=l.split("."))[0]>0&&r[0]<4?1:+(r[0]+r[1])),!o&&a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(o=+r[1]),t.exports=o},function(t,e){t.exports="undefined"!=typeof navigator&&String(navigator.userAgent)||""},function(t,e,n){var r=n(23),o=n(11),i=n(20),a=TypeError;t.exports=function(t,e){var n,c;if("string"===e&&o(n=t.toString)&&!i(c=r(n,t)))return c;if(o(n=t.valueOf)&&!i(c=r(n,t)))return c;if("string"!==e&&o(n=t.toString)&&!i(c=r(n,t)))return c;throw a("Can't convert object to primitive value")}},function(t,e,n){var r=n(18),o=Object.defineProperty;t.exports=function(t,e){try{o(r,t,{value:e,configurable:!0,writable:!0})}catch(n){r[t]=e}return e}},function(t,e,n){var r=n(8),o=n(11),i=/#|\.prototype\./,a=function(t,e){var n=u[c(t)];return n==l||n!=s&&(o(e)?r(e):!!e)},c=a.normalize=function(t){return String(t).replace(i,".").toLowerCase()},u=a.data={},s=a.NATIVE="N",l=a.POLYFILL="P";t.exports=a},function(t,e,n){"use strict";var r=n(15),o=n(10),i=n(23),a=n(8),c=n(61),u=n(140),s=n(68),l=n(31),f=n(69),d=Object.assign,p=Object.defineProperty,h=o([].concat);t.exports=!d||a((function(){if(r&&1!==d({b:1},d(p({},"a",{enumerable:!0,get:function(){p(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},n=Symbol();return t[n]=7,"abcdefghijklmnopqrst".split("").forEach((function(t){e[t]=t})),7!=d({},t)[n]||"abcdefghijklmnopqrst"!=c(d({},e)).join("")}))?function(t,e){for(var n=l(t),o=arguments.length,a=1,d=u.f,p=s.f;o>a;)for(var v,g=f(arguments[a++]),m=d?h(c(g),d(g)):c(g),_=m.length,y=0;_>y;)v=m[y++],r&&!i(p,g,v)||(n[v]=g[v]);return n}:d},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=Math.trunc||function(t){var e=+t;return(e>0?r:n)(e)}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){n(142);var r=n(43);t.exports=r("Array","find")},function(t,e,n){"use strict";var r=n(17),o=n(89).find,i=n(53),a=!0;"find"in[]&&Array(1).find((function(){a=!1})),r({target:"Array",proto:!0,forced:a},{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),i("find")},function(t,e,n){var r=n(104),o=n(105),i=n(20),a=n(12)("species"),c=Array;t.exports=function(t){var e;return r(t)&&(o(e=t.constructor)&&(e===c||r(e.prototype))||i(e)&&null===(e=e[a]))&&(e=void 0),void 0===e?c:e}},function(t,e,n){var r=n(10),o=n(11),i=n(72),a=r(Function.toString);o(i.inspectSource)||(i.inspectSource=function(t){return a(t)}),t.exports=i.inspectSource},function(t,e,n){n(146);var r=n(43);t.exports=r("Array","includes")},function(t,e,n){"use strict";var r=n(17),o=n(101).includes,i=n(8),a=n(53);r({target:"Array",proto:!0,forced:i((function(){return!Array(1).includes()}))},{includes:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),a("includes")},function(t,e,n){n(148);var r=n(43);t.exports=r("String","includes")},function(t,e,n){"use strict";var r=n(17),o=n(10),i=n(106),a=n(44),c=n(57),u=n(107),s=o("".indexOf);r({target:"String",proto:!0,forced:!u("includes")},{includes:function(t){return!!~s(c(a(this)),c(i(t)),arguments.length>1?arguments[1]:void 0)}})},function(t,e,n){var r=n(20),o=n(32),i=n(12)("match");t.exports=function(t){var e;return r(t)&&(void 0!==(e=t[i])?!!e:"RegExp"==o(t))}},function(t,e,n){n(151);var r=n(34);t.exports=r.Object.entries},function(t,e,n){var r=n(17),o=n(152).entries;r({target:"Object",stat:!0},{entries:function(t){return o(t)}})},function(t,e,n){var r=n(15),o=n(8),i=n(10),a=n(75),c=n(61),u=n(33),s=i(n(68).f),l=i([].push),f=r&&o((function(){var t=Object.create(null);return t[2]=2,!s(t,2)})),d=function(t){return function(e){for(var n,o=u(e),i=c(o),d=f&&null===a(o),p=i.length,h=0,v=[];p>h;)n=i[h++],r&&!(d?n in o:s(o,n))||l(v,t?[n,o[n]]:o[n]);return v}};t.exports={entries:d(!0),values:d(!1)}},function(t,e,n){var r=n(8);t.exports=!r((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}))},function(t,e,n){n(112),n(165);var r=n(34);t.exports=r.Array.from},function(t,e,n){var r=n(10),o=n(73),i=n(57),a=n(44),c=r("".charAt),u=r("".charCodeAt),s=r("".slice),l=function(t){return function(e,n){var r,l,f=i(a(e)),d=o(n),p=f.length;return d<0||d>=p?t?"":void 0:(r=u(f,d))<55296||r>56319||d+1===p||(l=u(f,d+1))<56320||l>57343?t?c(f,d):r:t?s(f,d,d+2):l-56320+(r-55296<<10)+65536}};t.exports={codeAt:l(!1),charAt:l(!0)}},function(t,e,n){var r=n(18),o=n(11),i=r.WeakMap;t.exports=o(i)&&/native code/.test(String(i))},function(t,e,n){var r=n(15),o=n(24),i=Function.prototype,a=r&&Object.getOwnPropertyDescriptor,c=o(i,"name"),u=c&&"something"===function(){}.name,s=c&&(!r||r&&a(i,"name").configurable);t.exports={EXISTS:c,PROPER:u,CONFIGURABLE:s}},function(t,e,n){"use strict";var r=n(108).IteratorPrototype,o=n(81),i=n(56),a=n(83),c=n(40),u=function(){return this};t.exports=function(t,e,n,s){var l=e+" Iterator";return t.prototype=o(r,{next:i(+!s,n)}),a(t,l,!1,!0),c[l]=u,t}},function(t,e,n){var r=n(15),o=n(100),i=n(29),a=n(27),c=n(33),u=n(61);e.f=r&&!o?Object.defineProperties:function(t,e){a(t);for(var n,r=c(e),o=u(e),s=o.length,l=0;s>l;)i.f(t,n=o[l++],r[n]);return t}},function(t,e,n){var r=n(46);t.exports=r("document","documentElement")},function(t,e,n){"use strict";var r=n(74),o=n(48);t.exports=r?{}.toString:function(){return"[object "+o(this)+"]"}},function(t,e,n){var r=n(163),o=n(27),i=n(164);t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,n={};try{(t=r(Object.prototype,"__proto__","set"))(n,[]),e=n instanceof Array}catch(t){}return function(n,r){return o(n),i(r),e?t(n,r):n.__proto__=r,n}}():void 0)},function(t,e,n){var r=n(10),o=n(45);t.exports=function(t,e,n){try{return r(o(Object.getOwnPropertyDescriptor(t,e)[n]))}catch(t){}}},function(t,e,n){var r=n(11),o=String,i=TypeError;t.exports=function(t){if("object"==typeof t||r(t))return t;throw i("Can't set "+o(t)+" as a prototype")}},function(t,e,n){var r=n(17),o=n(166);r({target:"Array",stat:!0,forced:!n(168)((function(t){Array.from(t)}))},{from:o})},function(t,e,n){"use strict";var r=n(39),o=n(23),i=n(31),a=n(167),c=n(114),u=n(105),s=n(36),l=n(115),f=n(116),d=n(84),p=Array;t.exports=function(t){var e=i(t),n=u(this),h=arguments.length,v=h>1?arguments[1]:void 0,g=void 0!==v;g&&(v=r(v,h>2?arguments[2]:void 0));var m,_,y,b,w,E,O=d(e),C=0;if(!O||this===p&&c(O))for(m=s(e),_=n?new this(m):p(m);m>C;C++)E=g?v(e[C],C):e[C],l(_,C,E);else for(w=(b=f(e,O)).next,_=n?new this:[];!(y=o(w,b)).done;C++)E=g?a(b,v,[y.value,C],!0):y.value,l(_,C,E);return _.length=C,_}},function(t,e,n){var r=n(27),o=n(113);t.exports=function(t,e,n,i){try{return i?e(r(n)[0],n[1]):e(n)}catch(e){o(t,"throw",e)}}},function(t,e,n){var r=n(12)("iterator"),o=!1;try{var i=0,a={next:function(){return{done:!!i++}},return:function(){o=!0}};a[r]=function(){return this},Array.from(a,(function(){throw 2}))}catch(t){}t.exports=function(t,e){if(!e&&!o)return!1;var n=!1;try{var i={};i[r]=function(){return{next:function(){return{done:n=!0}}}},t(i)}catch(t){}return n}},function(t,e,n){n(170);var r=n(43);t.exports=r("String","startsWith")},function(t,e,n){"use strict";var r,o=n(17),i=n(67),a=n(93).f,c=n(102),u=n(57),s=n(106),l=n(44),f=n(107),d=n(47),p=i("".startsWith),h=i("".slice),v=Math.min,g=f("startsWith");o({target:"String",proto:!0,forced:!(!d&&!g&&(r=a(String.prototype,"startsWith"),r&&!r.writable)||g)},{startsWith:function(t){var e=u(l(this));s(t);var n=c(v(arguments.length>1?arguments[1]:void 0,e.length)),r=u(t);return p?p(e,r,n):h(e,n,n+r.length)===r}})},function(t,e,n){n(172),n(175);var r=n(43);t.exports=r("Array","flatMap")},function(t,e,n){"use strict";var r=n(17),o=n(173),i=n(45),a=n(31),c=n(36),u=n(103);r({target:"Array",proto:!0},{flatMap:function(t){var e,n=a(this),r=c(n);return i(t),(e=u(n,0)).length=o(e,n,n,r,0,1,t,arguments.length>1?arguments[1]:void 0),e}})},function(t,e,n){"use strict";var r=n(104),o=n(36),i=n(174),a=n(39);t.exports=function t(e,n,c,u,s,l,f,d){for(var p,h=s,v=0,g=!!f&&a(f,d);v0&&r(p)?h=t(e,n,p,o(p),h,l-1)-1:(i(h+1),e[h]=p),h++),v++;return h}},function(t,e){var n=TypeError;t.exports=function(t){if(t>9007199254740991)throw n("Maximum allowed index exceeded");return t}},function(t,e,n){n(53)("flatMap")},function(t,e,n){n(119),n(177),n(188),n(112);var r=n(34);t.exports=r.Map},function(t,e,n){n(178)},function(t,e,n){"use strict";n(179)("Map",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),n(185))},function(t,e,n){"use strict";var r=n(17),o=n(18),i=n(120),a=n(8),c=n(35),u=n(122),s=n(123),l=n(11),f=n(20),d=n(83),p=n(29).f,h=n(89).forEach,v=n(15),g=n(64),m=g.set,_=g.getterFor;t.exports=function(t,e,n){var g,y=-1!==t.indexOf("Map"),b=-1!==t.indexOf("Weak"),w=y?"set":"add",E=o[t],O=E&&E.prototype,C={};if(v&&l(E)&&(b||O.forEach&&!a((function(){(new E).entries().next()})))){var F=(g=e((function(e,n){m(s(e,F),{type:t,collection:new E}),null!=n&&u(n,e[w],{that:e,AS_ENTRIES:y})}))).prototype,S=_(t);h(["add","clear","delete","forEach","get","has","set","keys","values","entries"],(function(t){var e="add"==t||"set"==t;!(t in O)||b&&"clear"==t||c(F,t,(function(n,r){var o=S(this).collection;if(!e&&b&&!f(n))return"get"==t&&void 0;var i=o[t](0===n?0:n,r);return e?this:i}))})),b||p(F,"size",{configurable:!0,get:function(){return S(this).collection.size}})}else g=n.getConstructor(e,t,y,w),i.enable();return d(g,t,!1,!0),C[t]=g,r({global:!0,forced:!0},C),b||n.setStrong(g,t,y),g}},function(t,e,n){var r=n(32),o=n(33),i=n(121).f,a=n(181),c="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return c&&"Window"==r(t)?function(t){try{return i(t)}catch(t){return a(c)}}(t):i(o(t))}},function(t,e,n){var r=n(111),o=n(36),i=n(115),a=Array,c=Math.max;t.exports=function(t,e,n){for(var u=o(t),s=r(e,u),l=r(void 0===n?u:n,u),f=a(c(l-s,0)),d=0;s1?arguments[1]:void 0);e=e?e.next:n.first;)for(r(e.value,e.key,this);e&&e.removed;)e=e.previous},has:function(t){return!!y(this,t)}}),i(d,n?{get:function(t){var e=y(this,t);return e&&e.value},set:function(t,e){return _(this,0===t?0:t,e)}}:{add:function(t){return _(this,t=0===t?0:t,t)}}),p&&o(d,"size",{configurable:!0,get:function(){return v(this).size}}),f},setStrong:function(t,e,n){var r=e+" Iterator",o=m(e),i=m(r);l(t,e,(function(t,e){g(this,{type:r,target:t,state:o(t),kind:e,last:void 0})}),(function(){for(var t=i(this),e=t.kind,n=t.last;n&&n.removed;)n=n.previous;return t.target&&(t.last=n=n?n.next:t.state.first)?f("keys"==e?n.key:"values"==e?n.value:[n.key,n.value],!1):(t.target=void 0,f(void 0,!0))}),n?"entries":"values",!n,!0),d(e)}}},function(t,e,n){var r=n(82);t.exports=function(t,e,n){for(var o in e)n&&n.unsafe&&t[o]?t[o]=e[o]:r(t,o,e[o],n);return t}},function(t,e,n){"use strict";var r=n(46),o=n(124),i=n(12),a=n(15),c=i("species");t.exports=function(t){var e=r(t);a&&e&&!e[c]&&o(e,c,{configurable:!0,get:function(){return this}})}},function(t,e){},function(t,e,n){n(119);var r=n(190),o=n(18),i=n(48),a=n(35),c=n(40),u=n(12)("toStringTag");for(var s in r){var l=o[s],f=l&&l.prototype;f&&i(f)!==u&&a(f,u,s),c[s]=c.Array}},function(t,e){t.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},function(t,e,n){n(192);var r=n(34);t.exports=r.Object.keys},function(t,e,n){var r=n(17),o=n(31),i=n(61);r({target:"Object",stat:!0,forced:n(8)((function(){i(1)}))},{keys:function(t){return i(o(t))}})},,,function(t,e,n){"use strict";n.d(e,"a",(function(){return g}));var r=n(49),o=n.n(r),i=n(6),a=n(25),c=n.n(a),u=n(16),s=n(28),l=(new i.a((function(t){return u.d.once("treatments",t)})),new i.a((function(t){return u.d.once("render",t)}))),f=(new i.a((function(t){return u.d.once("modal-render",t)})),new i.a((function(t){return"undefined"!=typeof document&&"complete"!==document.readyState?window.addEventListener("load",t):t()}))),d=(new i.a((function(t){return"undefined"!=typeof document&&"loading"===document.readyState?window.addEventListener("DOMContentLoaded",t):t()})),n(52)),p=n(13),h=n(51),v=n(37),g=(Object(u.a)("__insertion_observer__",(function(){return new MutationObserver((function(t){var e=[];t.forEach((function(t){"attributes"===t.type&&"data-pp-message"===t.attributeName?e.push(t.target):c()(t.addedNodes).forEach((function(t){Object(h.e)(t)&&(t.hasAttribute("data-pp-message")?e.push(t):c()(t.querySelectorAll("[data-pp-message]")).forEach((function(t){return e.push(t)})))}))})),e.length>0&&!Object(p.g)()&&e.forEach((function(t){var e;return null==(e=window[Object(p.c)()])?void 0:e.Messages({_auto:!0}).render(t)}))}))})),Object(u.a)("__attribute_observer__",(function(){return new MutationObserver((function(t){var e=Object(u.b)().messagesMap,n=t.reduce((function(t,n){return e.has(n.target)&&o()(n.attributeName,"data-pp-")?(t.push(n.target),t):t}),[]);n.length>0&&!Object(p.g)()&&n.forEach((function(t){var e;return null==(e=window[Object(p.c)()])?void 0:e.Messages().render(t)}))}))})),function(){return i.a.resolve(void 0===window.IntersectionObserver?Object(s.c)("https://polyfill.io/v3/polyfill.js?features=IntersectionObserver"):void 0)});Object(u.a)("__viewport_intersection_observer__",(function(){return g().then((function(){return new IntersectionObserver((function(t,e){t.forEach((function(t){var n=t.target.getAttribute("data-pp-id");t.isIntersecting&&(d.a.track({index:n,et:"CLIENT_IMPRESSION",event_type:"scroll",visible:"true"}),e.unobserve(t.target))}))}),{threshold:.5})}))})),Object(u.a)("__intersection_observer__",(function(){return g().then((function(){return i.a.all([f,l])})).then((function(){var t=Object(u.b)().messagesMap.keys().next().value,e=Object(h.c)(t);return new IntersectionObserver((function(t,n){var r=Object(u.b)().messagesMap;t.forEach((function(t){var o,i=t.target,a=i.parentNode.parentNode;Object(v.a)("Message Container:",{debugObj:a}),Object(v.a)("Messages Container Parent:",{debugObj:a.parentNode});var c=(r.get(a)||{}).state;if(null!=c&&c.renderStart){var u,l=a.getAttribute("data-pp-id"),f=Number(i.getAttribute("data-width")),p=Number(i.getAttribute("data-height")),g=Object(s.d)()-c.renderStart;0===(null==(o=t.rootBounds)?void 0:o.width)&&0===t.rootBounds.height&&(u=Object(h.a)(e,i)),(t.intersectionRatio<.9&&t.intersectionRatio>0&&!Object(h.b)(null!=e?e:window,i)||Math.ceil(i.getBoundingClientRect().width+1)=0?[].concat(e.slice(0,n),e.slice(n+1)):e}))},scrollTo:function(t){n.current&&(n.current.scrollTop=t)}}},e)},u=function(t,e){var n=Object(o.b)(a),r=n.addScrollCallback,i=n.removeScrollCallback,c=n.scrollTo,u=t?Object(o.a)(t,e):null;return Object(o.d)((function(){return u?(r(u),function(){return i(u)}):function(){}}),[u]),{scrollTo:c}}},function(t,e,n){"use strict";n.d(e,"a",(function(){return c})),n.d(e,"b",(function(){return u}));var r=n(26),o=n.n(r),i=n(88);function a(t){var e,n=Object(i.b)().products;return null!=(e=o()(n,(function(e){return e.meta.product===t})))?e:{content:{}}}function c(t){return a(t).content}function u(t){return a(t).meta}},,,,,,,,,,,,,,,function(t,e,n){var r=n(230),o=n(91),i="string"==typeof r?[[t.i,r,""]]:r;(e=t.exports=r.locals||{})._getContent=function(){return i},e._getCss=function(){return""+r},e._insertCss=function(t){return o(i,t)}},,,,,,,,,,,,,function(t,e,n){(e=n(90)(!1)).push([t.i,'.content-wrapper{overflow-y:scroll;-webkit-overflow-scrolling:touch;margin:auto;border-radius:10px;height:100%;width:100vw}.content{padding-top:0;position:relative;z-index:50;background:#fff}.content-background{min-height:100%;position:relative;width:100%;margin:auto;border-radius:10px;max-width:640px}main{margin:0 auto;height:100%;padding-top:1.5rem;box-sizing:border-box;display:flex;flex-direction:column}.modal-container.loading .content-wrapper{overflow:hidden}.modal-container.loading main>*{filter:blur(3px);opacity:.6}.top-overlay{position:fixed;height:84px;left:0;right:0}@media(min-width: 640px)and (min-height: 540px){.content-background{min-height:auto;margin:auto;width:100%;height:100%;box-shadow:0px 10px 14px 1px rgba(0,0,0,.6);display:flex;flex-direction:column}.content{flex:1 1 100%}.content-wrapper{display:flex;justify-content:center;align-items:center}.wrapper{opacity:0;transform:translateY(5%);transition:transform 350ms ease,opacity 250ms ease}.show .wrapper{opacity:1;transform:translateY(0%);transition:transform 350ms ease,opacity 250ms ease}}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){.content-wrapper{justify-content:flex-start}}@media(max-width: 639px),(max-height: 539px){.content-wrapper{margin-top:84px;height:calc(100% - 84px);scrollbar-width:none}.content-wrapper::-webkit-scrollbar{display:none}.content{min-height:calc(100vh - 84px)}.content-background{box-shadow:1px 21px 34px 2px rgba(0,0,0,.56);background:#fff}.overlay-side.left,.overlay-side.right{width:calc((100% - 612px)/2) !important}.overlay-side.bottom{display:none}}.header-wrapper{background:#fff;pointer-events:none;overflow:hidden;border-top-right-radius:10px;border-top-left-radius:10px;position:fixed;width:100%;max-width:640px;z-index:51;transform:translate3d(0, 0, 0)}.header-container{background-color:#0070ba;position:relative;overflow:hidden}.header-container h1{font-size:1.75rem;font-weight:bold;line-height:40px;color:#fff}.header-container .header{max-width:500px;margin:auto;z-index:999;display:block;height:auto;padding-top:40px}.header-container .logo{display:inline-block}.header-container .logo img{height:45px;margin-right:9px}.header-container .close{top:5px;right:5px;pointer-events:all}.header-container .close:focus{border:1px solid #fff;border-radius:5px;transform:translate(1px, -1px)}.header-container .close svg{height:44px;width:44px}.header-container .close svg path{stroke:#fff !important}@media(max-width: 639px),(max-height: 539px){.header-container{text-align:center}.header-container h1{margin:0 auto;font-size:26px;line-height:56px;padding-bottom:20px}.header-container .logo img{height:45px;margin-right:9px}.header-container .close svg{height:44px;width:44px}}.hero-image{background-color:#0070ba;position:fixed;transform:translate3d(0, 0, 0);width:100%;padding:60px 0;top:11.6rem;max-width:640px}@media(min-width: 640px)and (min-height: 540px){.hero-image{background-color:rgba(0,0,0,0);height:12rem;top:0;overflow:hidden;padding:0;z-index:51;pointer-events:none}.hero-image .icon{position:absolute;right:3rem;bottom:-1rem}}.content{position:relative;background:rgba(0,0,0,0);box-sizing:border-box;padding-top:20rem}.content .corner{position:absolute;top:13rem;left:0;width:100px;height:2rem;overflow:hidden;background-color:#fff;z-index:51;top:18rem;max-width:640px}.content .corner:after{content:"";position:absolute;background-color:#0070ba;border-bottom-left-radius:100px 30px;bottom:0;left:0;width:100%;height:100%}.content .content-body{padding:0 1rem 1rem;margin:3rem auto 0;max-width:500px}.content h2{text-align:left;font-weight:bold;font-size:19px}.content .divider{border:none;border-bottom:1px dashed #aaa}.content p,.content li{color:#687173}.content .call-to-action{display:flex;width:100%;align-items:center;justify-content:space-between;margin-top:3rem}.content .call-to-action svg{margin:0}.content .call-to-action p{margin-top:0;margin-bottom:.2rem}.content .call-to-action button{margin-left:1rem;flex:0 1 35%}.content .call-to-action .dark-text{color:#2c2e2f}.content .d-inline-block{display:inline-block}.content main{background:#fff;padding-top:0}.content .terms li{margin-bottom:.5rem}@media(min-width: 640px)and (min-height: 540px){.content{padding-top:10rem}.content .corner{top:10rem;position:fixed;transform:translate3d(0, 0, 0);left:auto;width:100%}.content.sticky .call-to-action .button.apply-now{visibility:hidden}}@media(max-width: 639px),(max-height: 539px){.content.sticky .corner{width:100%;position:fixed;transform:translate3d(0, 0, 0);top:calc(10rem + 89px);left:auto}.content .content-body{max-width:400px}}@media(max-width: 350px){.content.sticky .corner{width:100%;position:fixed;transform:translate3d(0, 0, 0);top:calc(10rem + 80px);left:auto}}',""]),t.exports=e},,,,,,,,,,,function(t,e,n){"use strict";n.r(e),n.d(e,"setupModal",(function(){return g}));var r=n(1),o=n(126),i=n(217),a=n.n(i),c=n(7),u=n(202),s=function(t){return t.replace(/\.00/g,"")},l=function(){var t=Object(u.a)("GPL"),e=t.headline,n=t.subHeadline,o=t.terms,i=t.instructions,a=Object(u.b)("GPL").qualifying,c="true"===(null==a?void 0:a.toLowerCase());return Object(r.g)("section",{className:"content-body"},Object(r.g)("div",{className:"description"},Object(r.g)("h2",null,e.singleProduct),Object(r.g)("h3",null,c?n.qualified:s(n.unqualified)),Object(r.g)("div",{className:"call-to-action"},Object(r.g)("div",null,Object(r.g)("p",null,Object(r.g)("span",{className:"d-inline-block"},i.title[0]," ",Object(r.g)("b",{className:"dark-text"},i.title[1]))," ",Object(r.g)("span",{className:"d-inline-block"},i.title[2]," ",Object(r.g)("b",{className:"dark-text"},i.title[3])))))),Object(r.g)("hr",{className:"divider"}),Object(r.g)("div",{className:"terms"},Object(r.g)("h3",null,"About Pay in 4"),Object(r.g)("ul",null,(c?o:o.slice(1)).map((function(t){return Object(r.g)("li",null,s(t))})))))},f=n(118),d=n(117),p=n(128),h=n(42),v=function(){var t=Object(c.j)(),e=Object(c.j)(),n=Object(c.j)(),o=Object(c.k)(!1),i=o[0],a=o[1],u=Object(f.b)(),s=u[0],v=u[1];Object(c.d)((function(){"CLOSED"===s&&a(!1)}),[s]);var g=["content",i?"sticky":""];return Object(r.g)(p.a,{contentWrapper:e,contentMaxWidth:640},Object(r.g)("div",{className:"top-overlay",onClick:function(){return v("Modal Overlay")}}),Object(r.g)("div",{className:"content-wrapper",ref:e,onScroll:function(){var r=e.current.scrollTop,o=n.current.clientHeight;0!==r&&(r>=(t.current.getBoundingClientRect().bottom+o)/2?i||a(!0):i&&a(!1))}},Object(r.g)("div",{className:"content-background"},Object(r.g)(d.a,{wrapperRef:t},Object(r.g)("h1",null,"Buy now, pay later")),Object(r.g)("div",{className:"hero-image"},Object(r.g)(h.a,{name:"phone-arm"})),Object(r.g)("div",{className:g.join(" ")},Object(r.g)("span",{className:"corner",ref:n}),Object(r.g)("main",{className:"main"},Object(r.g)(l,null))))))};function g(t){Object(r.j)(Object(r.g)(o.a,{serverData:t,styles:a.a._getCss()},Object(r.g)(v,{contentMaxWidth:750,contentMaxHeight:537})),document.body)}}]); -//# sourceMappingURL=smart-credit-modal-AU.js.map \ No newline at end of file diff --git a/dist/bizcomponents/stage/smart-credit-modal-AU.js.map b/dist/bizcomponents/stage/smart-credit-modal-AU.js.map deleted file mode 100644 index 62eaffe970..0000000000 --- a/dist/bizcomponents/stage/smart-credit-modal-AU.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack://crc/webpack/bootstrap","webpack://crc/./node_modules/@krakenjs/jsx-pragmatic/src/node.js","webpack://crc/./node_modules/@krakenjs/jsx-pragmatic/src/constants.js","webpack://crc/./node_modules/@krakenjs/jsx-pragmatic/src/renderers/dom.js","webpack://crc/./node_modules/@krakenjs/jsx-pragmatic/src/util.js","webpack://crc/./node_modules/@krakenjs/jsx-pragmatic/src/renderers/html.js","webpack://crc/./node_modules/preact/dist/preact.module.js","webpack://crc/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://crc/./node_modules/@paypal/sdk-constants/src/locale.js","webpack://crc/./node_modules/@paypal/sdk-constants/src/order.js","webpack://crc/./node_modules/@paypal/sdk-constants/src/params.js","webpack://crc/./node_modules/@paypal/sdk-constants/src/defaults.js","webpack://crc/./node_modules/@paypal/sdk-constants/src/env.js","webpack://crc/./node_modules/@paypal/sdk-constants/src/fpti.js","webpack://crc/./node_modules/@paypal/sdk-constants/src/funding.js","webpack://crc/./node_modules/@paypal/sdk-constants/src/platform.js","webpack://crc/./node_modules/@krakenjs/belter/src/device.js","webpack://crc/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://crc/./node_modules/@krakenjs/belter/src/util.js","webpack://crc/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://crc/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://crc/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://crc/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://crc/./node_modules/@krakenjs/belter/src/dom.js","webpack://crc/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://crc/./node_modules/@krakenjs/belter/src/constants.js","webpack://crc/./node_modules/@krakenjs/belter/src/storage.js","webpack://crc/./node_modules/@krakenjs/belter/src/experiment.js","webpack://crc/./node_modules/@krakenjs/belter/src/http.js","webpack://crc/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://crc/./node_modules/@krakenjs/zalgo-promise/src/utils.js","webpack://crc/./node_modules/@krakenjs/zalgo-promise/src/exceptions.js","webpack://crc/./node_modules/@krakenjs/zalgo-promise/src/flush.js","webpack://crc/./node_modules/@krakenjs/zalgo-promise/src/promise.js","webpack://crc/./node_modules/preact/hooks/dist/hooks.module.js","webpack://crc/./node_modules/core-js-pure/internals/fails.js","webpack://crc/./node_modules/@krakenjs/cross-domain-utils/src/constants.js","webpack://crc/./node_modules/@krakenjs/cross-domain-utils/src/utils.js","webpack://crc/./node_modules/core-js-pure/internals/function-uncurry-this.js","webpack://crc/./node_modules/core-js-pure/internals/is-callable.js","webpack://crc/./node_modules/core-js-pure/internals/well-known-symbol.js","webpack://crc/./node_modules/@paypal/sdk-client/src/config.js","webpack://crc/./node_modules/@paypal/sdk-client/src/script.js","webpack://crc/./node_modules/@paypal/sdk-client/src/global.js","webpack://crc/./node_modules/@paypal/sdk-client/src/logger.js","webpack://crc/./node_modules/@paypal/sdk-client/src/domains.js","webpack://crc/./node_modules/@paypal/sdk-client/src/api.js","webpack://crc/./node_modules/@paypal/sdk-client/src/events.js","webpack://crc/./src/utils/sdk.js","webpack://crc/./src/utils/constants.js","webpack://crc/./node_modules/core-js-pure/internals/descriptors.js","webpack://crc/./src/utils/global.js","webpack://crc/./node_modules/core-js-pure/internals/export.js","webpack://crc/./node_modules/core-js-pure/internals/global.js","webpack://crc/./src/utils/functional.js","webpack://crc/./node_modules/core-js-pure/internals/is-object.js","webpack://crc/./node_modules/core-js-pure/stable/array/includes.js","webpack://crc/./node_modules/core-js-pure/stable/object/entries.js","webpack://crc/./node_modules/core-js-pure/internals/function-call.js","webpack://crc/./node_modules/core-js-pure/internals/has-own-property.js","webpack://crc/./node_modules/core-js-pure/stable/array/from.js","webpack://crc/./node_modules/core-js-pure/stable/array/find.js","webpack://crc/./node_modules/core-js-pure/internals/an-object.js","webpack://crc/./src/utils/miscellaneous.js","webpack://crc/./node_modules/core-js-pure/internals/object-define-property.js","webpack://crc/./node_modules/@krakenjs/cross-domain-safe-weakmap/src/util.js","webpack://crc/./node_modules/@krakenjs/cross-domain-safe-weakmap/src/weakmap.js","webpack://crc/./node_modules/@krakenjs/cross-domain-safe-weakmap/src/native.js","webpack://crc/./node_modules/core-js-pure/internals/to-object.js","webpack://crc/./node_modules/core-js-pure/internals/classof-raw.js","webpack://crc/./node_modules/core-js-pure/internals/to-indexed-object.js","webpack://crc/./node_modules/core-js-pure/internals/path.js","webpack://crc/./node_modules/core-js-pure/internals/create-non-enumerable-property.js","webpack://crc/./node_modules/core-js-pure/internals/length-of-array-like.js","webpack://crc/./src/utils/debug.js","webpack://crc/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://crc/./node_modules/core-js-pure/internals/function-bind-context.js","webpack://crc/./node_modules/core-js-pure/internals/iterators.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/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/payu/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/mercadopago/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/multibanco/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/satispay/logo.jsx","webpack://crc/./node_modules/@paypal/sdk-logos/src/logos/paidy/logo.jsx","webpack://crc/./src/components/modal/parts/Icon.jsx","webpack://crc/./node_modules/core-js-pure/internals/entry-unbind.js","webpack://crc/./node_modules/core-js-pure/internals/require-object-coercible.js","webpack://crc/./node_modules/core-js-pure/internals/a-callable.js","webpack://crc/./node_modules/core-js-pure/internals/get-built-in.js","webpack://crc/./node_modules/core-js-pure/internals/is-pure.js","webpack://crc/./node_modules/core-js-pure/internals/classof.js","webpack://crc/./node_modules/core-js-pure/stable/string/starts-with.js","webpack://crc/./node_modules/@krakenjs/beaver-logger/src/constants.js","webpack://crc/./node_modules/@krakenjs/beaver-logger/src/config.js","webpack://crc/./node_modules/@krakenjs/beaver-logger/src/util.js","webpack://crc/./node_modules/@krakenjs/beaver-logger/src/logger.js","webpack://crc/./node_modules/@krakenjs/beaver-logger/src/http.js","webpack://crc/./src/utils/elements.js","webpack://crc/./src/utils/logger.js","webpack://crc/./node_modules/core-js-pure/internals/add-to-unscopables.js","webpack://crc/./node_modules/core-js-pure/internals/function-bind-native.js","webpack://crc/./node_modules/core-js-pure/internals/create-property-descriptor.js","webpack://crc/./node_modules/core-js-pure/internals/to-string.js","webpack://crc/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://crc/./node_modules/core-js-pure/internals/is-null-or-undefined.js","webpack://crc/./node_modules/core-js-pure/internals/object-keys.js","webpack://crc/./node_modules/core-js-pure/internals/hidden-keys.js","webpack://crc/./node_modules/core-js-pure/stable/object/assign.js","webpack://crc/./node_modules/core-js-pure/internals/internal-state.js","webpack://crc/./src/components/modal/lib/providers/xprops.js","webpack://crc/./node_modules/core-js-pure/stable/object/keys.js","webpack://crc/./node_modules/core-js-pure/internals/function-uncurry-this-clause.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-property-key.js","webpack://crc/./node_modules/core-js-pure/internals/get-method.js","webpack://crc/./node_modules/core-js-pure/internals/shared-store.js","webpack://crc/./node_modules/core-js-pure/internals/to-integer-or-infinity.js","webpack://crc/./node_modules/core-js-pure/internals/to-string-tag-support.js","webpack://crc/./node_modules/core-js-pure/internals/object-get-prototype-of.js","webpack://crc/./node_modules/core-js-pure/internals/shared-key.js","webpack://crc/./node_modules/core-js-pure/stable/string/includes.js","webpack://crc/./node_modules/core-js-pure/internals/try-to-string.js","webpack://crc/./node_modules/core-js-pure/internals/uid.js","webpack://crc/./node_modules/core-js-pure/internals/enum-bug-keys.js","webpack://crc/./node_modules/core-js-pure/internals/object-create.js","webpack://crc/./node_modules/core-js-pure/internals/define-built-in.js","webpack://crc/./node_modules/core-js-pure/internals/set-to-string-tag.js","webpack://crc/./node_modules/core-js-pure/internals/get-iterator-method.js","webpack://crc/./node_modules/core-js-pure/internals/object-is-prototype-of.js","webpack://crc/./node_modules/core-js-pure/internals/iterator-define.js","webpack://crc/./node_modules/core-js-pure/internals/create-iter-result-object.js","webpack://crc/./src/components/modal/lib/providers/serverData.js","webpack://crc/./node_modules/core-js-pure/internals/array-iteration.js","webpack://crc/./node_modules/css-loader/dist/runtime/api.js","webpack://crc/./node_modules/isomorphic-style-loader/insertCss.js","webpack://crc/./node_modules/core-js-pure/internals/document-all.js","webpack://crc/./node_modules/core-js-pure/internals/object-get-own-property-descriptor.js","webpack://crc/./node_modules/core-js-pure/internals/is-symbol.js","webpack://crc/./node_modules/core-js-pure/internals/use-symbol-as-uid.js","webpack://crc/./node_modules/core-js-pure/internals/symbol-constructor-detection.js","webpack://crc/./node_modules/core-js-pure/internals/shared.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/v8-prototype-define-bug.js","webpack://crc/./node_modules/core-js-pure/internals/array-includes.js","webpack://crc/./node_modules/core-js-pure/internals/to-length.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/is-constructor.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/internals/iterators-core.js","webpack://crc/./node_modules/core-js-pure/stable/array/flat-map.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/modules/es.string.iterator.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.js","webpack://crc/./src/components/modal/parts/Header.jsx","webpack://crc/./src/components/modal/lib/providers/transition.js","webpack://crc/./node_modules/core-js-pure/modules/es.array.iterator.js","webpack://crc/./node_modules/core-js-pure/internals/internal-metadata.js","webpack://crc/./node_modules/core-js-pure/internals/object-get-own-property-names.js","webpack://crc/./node_modules/core-js-pure/internals/iterate.js","webpack://crc/./node_modules/core-js-pure/internals/an-instance.js","webpack://crc/./node_modules/core-js-pure/internals/define-built-in-accessor.js","webpack://crc/./node_modules/core-js-pure/stable/map/index.js","webpack://crc/./src/components/modal/parts/Modal.jsx","webpack://crc/./src/components/modal/styles/index.scss?2863","webpack://crc/./src/components/modal/parts/Overlay.jsx","webpack://crc/./src/components/modal/parts/Container.jsx","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/function-apply.js","webpack://crc/./node_modules/core-js-pure/internals/to-primitive.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/ordinary-to-primitive.js","webpack://crc/./node_modules/core-js-pure/internals/define-global-property.js","webpack://crc/./node_modules/core-js-pure/internals/is-forced.js","webpack://crc/./node_modules/core-js-pure/internals/object-assign.js","webpack://crc/./node_modules/core-js-pure/internals/math-trunc.js","webpack://crc/./node_modules/core-js-pure/internals/object-get-own-property-symbols.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/array-species-constructor.js","webpack://crc/./node_modules/core-js-pure/internals/inspect-source.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/includes.js","webpack://crc/./node_modules/core-js-pure/modules/es.string.includes.js","webpack://crc/./node_modules/core-js-pure/internals/is-regexp.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/object-to-array.js","webpack://crc/./node_modules/core-js-pure/internals/correct-prototype-getter.js","webpack://crc/./node_modules/core-js-pure/es/array/from.js","webpack://crc/./node_modules/core-js-pure/internals/string-multibyte.js","webpack://crc/./node_modules/core-js-pure/internals/weak-map-basic-detection.js","webpack://crc/./node_modules/core-js-pure/internals/function-name.js","webpack://crc/./node_modules/core-js-pure/internals/iterator-create-constructor.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/function-uncurry-this-accessor.js","webpack://crc/./node_modules/core-js-pure/internals/a-possible-prototype.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/check-correctness-of-iteration.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/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/internals/does-not-exceed-safe-integer.js","webpack://crc/./node_modules/core-js-pure/modules/es.array.unscopables.flat-map.js","webpack://crc/./node_modules/core-js-pure/es/map/index.js","webpack://crc/./node_modules/core-js-pure/modules/es.map.js","webpack://crc/./node_modules/core-js-pure/modules/es.map.constructor.js","webpack://crc/./node_modules/core-js-pure/internals/collection.js","webpack://crc/./node_modules/core-js-pure/internals/object-get-own-property-names-external.js","webpack://crc/./node_modules/core-js-pure/internals/array-slice-simple.js","webpack://crc/./node_modules/core-js-pure/internals/object-is-extensible.js","webpack://crc/./node_modules/core-js-pure/internals/array-buffer-non-extensible.js","webpack://crc/./node_modules/core-js-pure/internals/freezing.js","webpack://crc/./node_modules/core-js-pure/internals/collection-strong.js","webpack://crc/./node_modules/core-js-pure/internals/define-built-ins.js","webpack://crc/./node_modules/core-js-pure/internals/set-species.js","webpack://crc/./node_modules/core-js-pure/modules/web.dom-collections.iterator.js","webpack://crc/./node_modules/core-js-pure/internals/dom-iterables.js","webpack://crc/./node_modules/core-js-pure/es/object/keys.js","webpack://crc/./node_modules/core-js-pure/modules/es.object.keys.js","webpack://crc/./src/utils/events.js","webpack://crc/./src/utils/observers.js","webpack://crc/./src/components/modal/styles/index.scss","webpack://crc/./src/components/modal/lib/utils.js","webpack://crc/./src/components/modal/lib/hooks/helpers.js","webpack://crc/./src/components/modal/lib/providers/scroll.js","webpack://crc/./src/components/modal/lib/hooks/content.js","webpack://crc/./src/components/modal/content/AU/styles/index.scss?3d0b","webpack://crc/./src/components/modal/content/AU/styles/index.scss","webpack://crc/./src/components/modal/content/AU/parts/GPL.jsx","webpack://crc/./src/components/modal/content/AU/parts/ContentWrapper.jsx","webpack://crc/./src/components/modal/content/AU/index.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","hasOwnProperty","p","s","renderChildren","children","renderer","result","_i2","length","renderedChild","render","Array","isArray","_i4","subchild","push","ElementNode","props","type","onRender","this","_proto","prototype","el","FragmentNode","TextNode","text","ComponentNode","component","_proto4","renderComponent","child","normalizeChildren","normalizeChild","_i6","toString","_i8","_normalizeChildren2","TypeError","node","element","_len","arguments","_key","ELEMENT_DEFAULT_XML_NAMESPACE","_ELEMENT_DEFAULT_XML_","ATTRIBUTE_DEFAULT_XML_NAMESPACE","_ATTRIBUTE_DEFAULT_XM","createTextElement","doc","createTextNode","addProps","_Object$keys2","keys","prop","val","match","addEventListener","slice","toLowerCase","xmlNamespace","setAttributeNS","setAttribute","tagName","id","replace","charAt","Math","floor","random","ADD_CHILDREN","_ADD_CHILDREN","firstChild","Error","win","contentWindow","document","docElement","documentElement","removeChild","dom","appendChild","_node$renderChildren2","addChildren","html","ELEMENT_PROP","innerHTML","window","_el$querySelectorAll2","querySelectorAll","script","parentNode","newScript","createElement","textContent","replaceChild","fixScripts","opts","_opts$doc","domRenderer","xmlNamespaceDomRenderer","childNode","createElementNS","createElementWithXMLNamespace","SELF_CLOSING_TAGS","br","htmlEncode","htmlRenderer","concat","join","renderedProps","filter","map","renderedChildren","u","f","e","a","v","h","y","defaultProps","ref","__k","__","__b","__e","__d","__c","__h","constructor","__v","vnode","_","current","k","b","context","g","indexOf","base","w","x","__r","debounceRendering","sort","shift","__P","z","__n","ownerSVGElement","L","P","C","D","H","I","T","j","A","N","nextSibling","S","$","O","some","insertBefore","setProperty","test","style","cssText","Date","now","removeEventListener","removeAttribute","event","contextType","__E","q","sub","state","_sb","__s","getDerivedStateFromProps","componentWillMount","componentDidMount","componentWillReceiveProps","shouldComponentUpdate","forEach","componentWillUpdate","componentDidUpdate","getChildContext","getSnapshotBeforeUpdate","M","diffed","localName","nodeType","is","data","childNodes","dangerouslySetInnerHTML","attributes","__html","checked","unmount","componentWillUnmount","B","E","F","G","Consumer","Provider","splice","getDerivedStateFromError","setState","componentDidCatch","forceUpdate","Promise","then","resolve","setTimeout","_extends","assign","target","source","apply","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","LANG","CS","DA","EL","EN","HE","JA","KO","SQ","TL","VI","ZH","ZH_HANT","COUNTRY_LANGS","INTENT","CAPTURE","AUTHORIZE","ORDER","TOKENIZE","SUBSCRIPTION","SDK_SETTINGS","NAMESPACE","CLIENT_TOKEN","MERCHANT_ID","PARTNER_ATTRIBUTION_ID","STAGE_HOST","API_STAGE_HOST","CSP_NONCE","ENABLE_3DS","SDK_INTEGRATION_SOURCE","USER_ID_TOKEN","AMOUNT","CLIENT_METADATA_ID","PAGE_TYPE","USER_EXPERIENCE_FLOW","POPUPS_DISABLED","SDK_QUERY_KEYS","COMPONENTS","ENV","DEBUG","CACHEBUST","CLIENT_ID","LOCALE","CURRENCY","COMMIT","VAULT","BUYER_COUNTRY","ENABLE_FUNDING","DISABLE_FUNDING","DISABLE_CARD","INTEGRATION_DATE","STAGE_ALIAS","CDN_REGISTRY","VERSION","QUERY_BOOL","TRUE","FALSE","UNKNOWN","PROTOCOL","HTTP","HTTPS","PAGE_TYPES","HOME","PRODUCT","CART","CHECKOUT","PRODUCT_LISTING","SEARCH_RESULTS","PRODUCT_DETAILS","MINI_CART","DEFAULT_CURRENCY","DEFAULT_INTENT","DEFAULT_SALE_COMMIT","DEFAULT_NONSALE_COMMIT","DEFAULT_VAULT","LOCAL","STAGE","SANDBOX","PRODUCTION","TEST","FPTI_KEY","FEED","STATE","EVENT_NAME","TRANSITION","PAGE","BUTTON_TYPE","SESSION_UID","BUTTON_SESSION_UID","TOKEN","CONTEXT_ID","CONTEXT_TYPE","REFERER","MERCHANT_DOMAIN","PAY_ID","SELLER_ID","DATA_SOURCE","BUTTON_SOURCE","ERROR_CODE","ERROR_DESC","PAGE_LOAD_TIME","EXPERIMENT_EXPERIENCE","EXPERIMENT_TREATMENT","EXPERIMENT_NAME","TREATMENT_NAME","TRANSITION_TIME","FUNDING_LIST","FUNDING_COUNT","CHOSEN_FUNDING","BUTTON_LAYOUT","INTEGRATION_IDENTIFIER","SDK_NAME","SDK_VERSION","SDK_ENVIRONMENT","MOBILE_APP_VERSION","MOBILE_BUNDLE_IDENTIFIER","USER_AGENT","USER_ACTION","CONTEXT_CORRID","SDK_CACHE","SDK_LOAD_TIME","IS_VAULT","RESPONSE_DURATION","PAYMENT_FLOW","BUTTON_VERSION","FI_LIST","FI_ID","CHOSEN_FI_TYPE","SELECTED_FI","POTENTIAL_PAYMENT_METHODS","PAY_NOW","STICKINESS_ID","TIMESTAMP","OPTION_SELECTED","USER_IDENTITY_METHOD","FIELDS_COMPONENT_SESSION_ID","CPL_COMP_METRICS","CPL_CHUNK_METRICS","CPL_QUERY_METRICS","FPTI_USER_ACTION","CONTINUE","FPTI_DATA_SOURCE","PAYMENTS_SDK","FPTI_FEED","FPTI_SDK_NAME","CARD","VISA","MASTERCARD","AMEX","DISCOVER","HIPER","ELO","JCB","CUP","PLATFORM","DESKTOP","MOBILE","getUserAgent","navigator","mockUserAgent","userAgent","isDevice","isIosWebview","ua","isIos","isGoogleSearchApp","isAndroidWebview","isAndroid","isOperaMini","isIE","documentMode","Boolean","isIEIntranet","status","err","_getPrototypeOf","setPrototypeOf","getPrototypeOf","__proto__","objectIDs","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","_construct","Parent","args","Class","isNativeReflectConstruct","instance","Function","_wrapNativeSuper","_cache","Map","undefined","has","set","Wrapper","writable","configurable","getFunctionName","fn","__name__","displayName","setFunctionName","base64encode","str","btoa","encodeURIComponent","p1","String","fromCharCode","parseInt","Buffer","from","base64decode","atob","decodeURIComponent","charCodeAt","uniqueID","chars","toISOString","getGlobal","global","__GLOBAL__","serializeArgs","JSON","stringify","subkey","obj","WeakMap","uid","getObjectID","passed","Element","ownerDocument","isElement","getEmptyObject","memoizeGlobalIndex","memoizeGlobalIndexValidFrom","memoize","method","options","simpleCache","thisCache","_options$thisNamespac","thisNamespace","cacheTime","time","memoizeIndex","memoizedFunction","cache","cacheKey","getOrSet","_unused","cacheResult","reset","inlineMemoize","logic","__inline_memoize_cache__","noop","stringifyError","level","stack","message","newErr","stringifyErrorMessage","defaultMessage","values","svgToBase64","svg","objFilter","promiseDebounce","delay","promise","timeout","clearTimeout","localPromise","ZalgoPromise","try","reject","safeInterval","loop","cancel","eventEmitter","triggered","handlers","emitter","on","eventName","handler","handlerList","cancelled","once","listener","trigger","_len3","_key3","promises","_loop","all","triggerOnce","_len4","_key4","capitalizeFirstLetter","string","toUpperCase","debounce","_arguments3","_this3","clear","_ExtendableError","ExtendableError","_Error","_this6","captureStackTrace","self","ReferenceError","_assertThisInitialized","_inheritsLoose","ATTRIBUTES","UID","isDocumentReady","body","readyState","isDocumentInteractive","urlEncode","waitForWindowReady","parseQuery","queryString","params","_queryString$split2","split","pair","extendQuery","originalQuery","extendUrl","url","originalUrl","originalHash","query","hash","_url$split","_originalUrl$split","hashString","getPerformance","performance","timing","connectEnd","navigationStart","abs","isBrowser","location","getScript","_ref","_ref$host","host","path","_ref$reverse","reverse","scripts","getElementsByTagName","src","isLocalStorageEnabled","localStorage","setItem","getItem","removeItem","getBrowserLocales","nav","locales","languages","language","userLanguage","locale","_locale$split","country","lang","destroyElement","getResourceLoadTime","getEntries","entries","entry","duration","interval","setInterval","clearInterval","currentScript","getCurrentScript","getStackTrace","stackDetails","exec","scriptLocation","_i22","_Array$prototype$slic2","inferCurrentScript","currentUID","getCurrentScriptUID","getAttribute","hashedString","total","strHashStr","dataset","getStorage","_ref$lifetime","lifetime","accessedStorage","STORAGE_KEY","newStateID","getState","storage","localStorageEnabled","rawStorage","parse","getID","getSession","session","__session__","created","guid","isStateFresh","getSessionState","getSessionID","getBelterExperimentStorage","isEventUnique","loggedBeacons","getRandomInteger","range","experiment","group","_ref$sample","sample","_ref$logTreatment","logTreatment","_ref$logCheckpoint","logCheckpoint","_ref$sticky","sticky","throttle","throttlePercentiles","getThrottlePercentile","treatment","started","forced","exp","isEnabled","isDisabled","getTreatment","log","checkpoint","payload","logStart","logComplete","headerBuilders","request","_ref$method","_ref$headers","headers","json","_ref$win","_ref$timeout","normalizedHeaders","builtHeaders","headerBuilder","_Object$keys4","xhr","XMLHttpRequest","responseHeaders","rawHeaders","_rawHeaders$trim$spli2","trim","_line$split","parseHeaders","getAllResponseHeaders","contentType","isJSON","responseBody","responseText","evt","open","setRequestHeader","ontimeout","send","_objectWithoutPropertiesLoose","excluded","sourceKeys","isPromise","item","Window","flushPromise","dispatchedErrors","possiblyUnhandledPromiseHandlers","activeCount","flushActive","startActive","endActive","_this","resolved","rejected","errorHandled","error","dispatching","isAsync","res","dispatch","_this2","dispatchPossiblyUnhandledError","asyncReject","chain","firstPromise","secondPromise","_handlers$i","onSuccess","onError","promiseResult","catch","finally","onFinally","toPromise","lazy","count","results","prom","awaitPromises","items","onPossiblyUnhandledException","flush","__H","__V","__N","every","useDebugValue","V","__m","requestAnimationFrame","cancelAnimationFrame","IE_WIN_ACCESS_ERROR","getActualProtocol","protocol","getProtocol","mockDomain","isAboutProtocol","canReadFromWindow","getActualDomain","parent","getParent","getDomain","domain","isSameDomain","desc","getOwnPropertyDescriptor","isMockProtocol","isActuallySameDomain","assertSameDomain","iframeWindows","iframeFrames","isWindowClosed","allowMock","closed","mockclosed","top","iframeIndex","collection","safeIndexOf","frame","contains","isFrameWindowClosed","linkFrameWindow","cleanIframes","isWindow","__cross_domain_utils_window_check__","isCurrentDomain","NATIVE_BIND","require","FunctionPrototype","uncurryThisWithBind","$documentAll","documentAll","IS_HTMLDDA","argument","shared","hasOwn","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","getSDKScript","errorString","buildScriptNotFoundError","__SDK_HOST__","__PATH__","_sdkScript$attributes2","attr","getLogger","loggerUrl","__PAYPAL_DOMAIN__","Logger","clientID","info","basicAuth","__PAYPAL_API_DOMAIN__","Authorization","grant_type","access_token","getDisableSetCookie","getNamespace","_getScript","querySelector","getLibraryVersion","__MESSAGES__","isZoidComponent","TAG","tag","startsWith","getBelterStorage","getOrCreateDeviceID","isScriptBeingDestroyed","getPayPalDomain","_window$__TEST_ENV__","testEnviroment","__TEST_ENV__","origin","__ENV__","OFFER","PAY_LATER_LONG_TERM","PAY_LATER_SHORT_TERM","PAY_LATER_PAY_IN_1","PAYPAL_CREDIT_INSTALLMENTS","PAYPAL_CREDIT_NO_INTEREST","MESSAGE","MODAL","TREATEMENTS","fails","getGlobalState","_window$NAMESPACE","_createState","globalState","createState","index","config","messagesMap","setGlobalState","getGlobalUrl","createGlobalVariableGetter","variable","_setGlobalState","newState","globalEvent","uncurryThis","isCallable","isForced","createNonEnumerableProperty","wrapConstructor","NativeConstructor","FORCED","USE_NATIVE","VIRTUAL_PROTOTYPE","sourceProperty","targetProperty","nativeProperty","resultProperty","descriptor","TARGET","GLOBAL","STATIC","stat","PROTO","proto","nativeSource","targetPrototype","dontCallGetSet","wrap","real","check","it","globalThis","partial","_len2","intialArgs","_key2","nextArgs","curry","arity","curried","_len5","_key5","toObject","isObject","$String","$TypeError","initialState","objectAssign","_temp","_ref4","withCredentials","xhttp","onreadystatechange","reduce","accumulator","header","_extends2","_header$trim$split","stringIncludes","objectEntries","_ref5","parseObjFromEncoding","encodedStr","binary","bytes","Uint8Array","decodedStr","Uint16Array","buffer","createEvent","Event","initEvent","dynamicImport","getCurrentTime","getTime","getEventListenerPassiveOptionIfSupported","viewport","content","head","_viewport$getAttribut","_document$body$style$","_document$body$style$2","__pp_prev_content__","__pp_prev_overflow__","overflow","__pp_prev_msOverflowStyle__","msOverflowStyle","passiveIfSupported","passive","getStandardProductOffer","offer","getTsCookieFromStorage","_getStorage$getState","_document$cookie$spli","_document$cookie$spli2","cookieVal","ts","cookie","find","cookieStr","fromEntries","URLSearchParams","DESCRIPTORS","IE8_DOM_DEFINE","V8_PROTOTYPE_DEFINE_BUG","anObject","toPropertyKey","$defineProperty","$getOwnPropertyDescriptor","Attributes","CrossDomainSafeWeakMap","weakmap","freeze","testWeakMap","testKey","hasNativeWeakMap","_cleanupClosedWindows","delete","isSafeToReadWrite","requireObjectCoercible","$Object","stringSlice","IndexedObject","definePropertyModule","createPropertyDescriptor","toLength","ppDebug","inZoid","debugObj","search","console","warn","_setPrototypeOf","aCallable","that","SVG","cdnUrl","otherProps","_excluded","svgProps","SVGLogo","logoColor","_excluded2","alt","class","LOGO_CLASS","getLogoColors","logoColorMap","colors","_APPLEPAY_LOGO_COLORS","primary","secondary","_BANCONTACT_LOGO_COLO","tertiary","quaternary","_GLYPH_CARD_LOGO_COLO","_CREDIT_LOGO_COLORS","_EPS_LOGO_COLORS","_GIROPAY_LOGO_COLORS","quinary","_IDEAL_LOGO_COLORS","_MYBANK_LOGO_COLORS","_P24_LOGO_COLORS","PAYPAL_LOGO_COLORS","_PAYPAL_LOGO_COLORS","PP_LOGO_COLORS","_PP_LOGO_COLORS","primaryOpacity","secondaryOpacity","getPPLogoBase64","_ref3","_ref3$logoColor","width","height","viewBox","preserveAspectRatio","xmlns","fill","role","PayPalLogo","getPPMonogramBase64","_ref6","_ref4$primaryOpacity","_ref4$secondaryOpacit","_ref4$tertiaryOpacity","tertiaryOpacity","_ref6$logoColor","_excluded4","opacity","PPLogo","_SEPA_LOGO_COLORS","main","card","_SOFORT_LOGO_COLORS","_VENMO_LOGO_COLORS","_ITAU_LOGO_COLORS","_WECHATPAY_LOGO_COLOR","_PAYU_LOGO_COLORS","_BLIK_LOGO_COLORS","senary","_TRUSTLY_LOGO_COLORS","_OXXO_LOGO_COLORS","_BOLETO_LOGO_COLORS","_MERCADOPAGO_LOGO_COL","_MULTIBANCO_LOGO_COLO","_SATISPAY_LOGO_COLORS","_PAIDY_LOGO_COLORS","logos","PRIMARY","COLOR","dimensions","WHITE","ALT_NO_PP","Icon","color","className","fill-opacity","fill-rule","transform","href","mask","Fragment","logo","stroke","stroke-linecap","aria-hidden","stroke-width","stroke-linejoin","cx","cy","version","xmlSpace","clip-rule","rx","xmlnsXlink","ry","xlinkHref","in","x1","y1","x2","y2","getBuiltIn","isNullOrUndefined","tryToString","aFunction","namespace","TO_STRING_TAG_SUPPORT","classofRaw","TO_STRING_TAG","wellKnownSymbol","CORRECT_ARGUMENTS","tryGet","callee","LOG_LEVEL","INFO","WARN","ERROR","AUTO_FLUSH_LEVEL","LOG_LEVEL_PRIORITY","DEFAULT_LOG_LEVEL","extendIfDefined","prefix","_ref$logLevel","logLevel","_ref$transport","transport","_ref$enableSendBeacon","enableSendBeacon","httpWindow","beaconResult","hasHeaders","sendBeacon","Blob","canUseSendBeacon","_ref2","_ref2$win","_ref2$useBlob","useBlob","blob","_ref$flushInterval","flushInterval","events","tracking","metrics","payloadBuilders","metaBuilders","trackingBuilders","print","warning","immediateFlush","meta","builder","logger","logPayload","timestamp","enqueue","addBuilder","builders","debug","track","trackingPayload","metric","metricPayload","metricNamespace","addPayloadBuilder","addMetaBuilder","addTrackingBuilder","addHeaderBuilder","setTransport","newTransport","configure","__buffer__","getWindowFromElement","_node$ownerDocument","defaultView","HTMLElement","nodeName","container","getElementsByClassName","elem","span","appendImage","srcset","Image","_url$dimensions","svgWrapper","canvas","elementContains","parentEl","childEl","Node","ELEMENT_NODE","parentBounds","left","bottom","innerHeight","right","innerWidth","getBoundingClientRect","childBounds","elementOutside","getRoot","baseElement","elementWindow","domPath","_el","offsetHeight","biggestEl","computedRoot","arrayFind","elements","_elements","root","eventsIndexes","_ref2$payload","refIndex","trackingIndexes","activeIndexes","trimmedMeta","objectKeys","arrayIncludes","urlWithCookieParams","integration_type","messaging_version","selector","bitmap","classof","subClass","superClass","internalObjectKeys","enumBugKeys","NATIVE_WEAK_MAP","sharedKey","hiddenKeys","store","metadata","facade","enforce","getterFor","TYPE","XPropsContext","createContext","XPropsProvider","_useState","useState","xprops","xProps","setXProps","useEffect","onProps","newProps","useXProps","useContext","$propertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","1","toPrimitive","isSymbol","func","defineGlobalProperty","trunc","number","CORRECT_PROTOTYPE_GETTER","IE_PROTO","ObjectPrototype","postfix","activeXDocument","definePropertiesModule","documentCreateElement","EmptyConstructor","scriptTag","NullProtoObjectViaActiveX","write","close","temp","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","display","Properties","SET_METHOD","getMethod","Iterators","ITERATOR","isPrototypeOf","IS_PURE","FunctionName","createIteratorConstructor","setToStringTag","defineBuiltIn","IteratorsCore","PROPER_FUNCTION_NAME","PROPER","CONFIGURABLE_FUNCTION_NAME","CONFIGURABLE","IteratorPrototype","BUGGY_SAFARI_ITERATORS","returnThis","Iterable","NAME","IteratorConstructor","next","DEFAULT","IS_SET","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","done","ServerData","ServerDataProvider","serverData","_setServerData","setServerData","updates","useServerData","lengthOfArrayLike","arraySpeciesCreate","createMethod","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","$this","callbackfn","specificCreate","boundFunction","findIndex","filterReject","useSourceMap","list","base64","cssMapping","sourceMapping","unescape","sourceURLs","sources","sourceRoot","cssWithMappingToString","mediaQuery","dedupe","alreadyImportedModules","_i","inserted","removeCss","ids","getElementById","styles","_ref$replace","_ref$prepend","prepend","_ref$prefix","_styles$i","css","media","sourceMap","file","styleSheet","propertyIsEnumerableModule","toIndexedObject","$Symbol","iterator","V8_VERSION","getOwnPropertySymbols","symbol","copyright","license","EXISTS","toAbsoluteIndex","IS_INCLUDES","fromIndex","includes","toIntegerOrInfinity","min","arraySpeciesConstructor","originalArray","inspectSource","empty","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","called","isRegExp","MATCH","METHOD_NAME","regexp","error1","error2","PrototypeOfArrayIteratorPrototype","arrayIterator","names","max","integer","InternalStateModule","defineIterator","createIterResultObject","setInternalState","getInternalState","iterated","point","kind","innerResult","innerError","ArrayPrototype","propertyKey","getIteratorMethod","usingIterator","iteratorMethod","LOGO","Header","_ref$className","wrapperRef","handleClose","useTransitionState","aria-label","onClick","TransitionContext","setStatus","TransitionStateProvider","onShow","getIntersectionObserverPolyfill","IntersectionObserver","isIntersecting","threshold","observe","_useXProps2","onClose","linkName","addToUnscopables","Arguments","getOwnPropertyNamesModule","getOwnPropertyNamesExternalModule","isExtensible","FREEZING","REQUIRED","METADATA","setMetadata","objectID","weakData","enable","getOwnPropertyNames","fastKey","getWeakData","onFreeze","isArrayIteratorMethod","getIterator","iteratorClose","Result","stopped","ResultPrototype","iterable","unboundFunction","iterFn","step","AS_ENTRIES","IS_RECORD","IS_ITERATOR","INTERRUPTED","stop","condition","callFn","Prototype","Modal","commonStyles","_getCss","insertCss","locals","_getContent","_insertCss","Overlay","contentMaxWidth","contentMaxHeight","handleEscapeKeyPress","charCode","Container","contentWrapper","_useServerData","products","_useXProps","onReady","currency","amount","payerId","clientId","merchantId","buyerCountry","env","messageRequestId","ignoreCache","stageTag","transitionState","loading","setLoading","scrollTop","focus","productNames","product","offerCountry","setupTabTrap","useDidUpdateEffect","getContent","ScrollProvider","containerRef","aria-modal","ordinaryToPrimitive","TO_PRIMITIVE","input","pref","exoticToPrim","process","Deno","versions","v8","valueOf","replacement","feature","detection","normalize","POLYFILL","NATIVE","getOwnPropertySymbolsModule","$assign","chr","argumentsLength","ceil","entryUnbind","$find","SKIPS_HOLES","isConstructor","SPECIES","$Array","functionToString","$includes","notARegExp","correctIsRegExpLogic","stringIndexOf","searchString","$entries","objectGetPrototypeOf","IE_BUG","TO_ENTRIES","IE_WORKAROUND","CONVERT_TO_STRING","pos","first","second","position","size","codeAt","getDescriptor","ENUMERABLE_NEXT","defineProperties","uncurryThisAccessor","aPossiblePrototype","setter","CORRECT_SETTER","checkCorrectnessOfIteration","callWithSafeIterationClosing","createProperty","arrayLike","IS_CONSTRUCTOR","mapfn","mapping","ENTRIES","SAFE_CLOSING","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","nativeStartsWith","CORRECT_IS_REGEXP_LOGIC","flattenIntoArray","flatMap","sourceLen","doesNotExceedSafeInteger","original","start","depth","mapper","thisArg","targetIndex","sourceIndex","mapFn","init","InternalMetadataModule","iterate","anInstance","internalStateGetterFor","CONSTRUCTOR_NAME","wrapper","common","Constructor","IS_WEAK","ADDER","NativePrototype","exported","IS_ADDER","getConstructor","setStrong","$getOwnPropertyNames","arraySlice","windowNames","getWindowNames","end","fin","ARRAY_BUFFER_NON_EXTENSIBLE","$isExtensible","FAILS_ON_PRIMITIVES","ArrayBuffer","preventExtensions","defineBuiltInAccessor","defineBuiltIns","setSpecies","last","define","previous","getEntry","removed","prev","add","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","unsafe","DOMIterables","COLLECTION_NAME","Collection","CollectionPrototype","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","nativeKeys","awaitFirstRender","awaitWindowLoad","MutationObserver","mutationList","newMessageContainers","mutation","attributeName","arrayFrom","addedNodes","hasAttribute","targetedChildNode","_window$getNamespace","Messages","_auto","containersToUpdate","stringStartsWith","_window$getNamespace2","observer","et","event_type","visible","unobserve","firstContainer","_entry$rootBounds","renderStart","isIntersectingFallback","minWidth","Number","minHeight","rootBounds","intersectionRatio","renderComplete","description","intersectionRect","___CSS_LOADER_API_IMPORT___","devTouchpoint","payer_id","client_id","merchant_id","buyer_country","ignore_cache","acc","keyCode","tabArray","getComputedStyle","visibility","shiftKey","activeElement","preventDefault","deps","mounted","useRef","ScrollContext","addScrollCallback","removeScrollCallback","scrollTo","callbacks","setCallbacks","handleScroll","callback","passiveOption","currentCallbacks","useScroll","cb","dependencies","_useContext","useCallback","useProduct","_arrayFind","useContent","useProductMeta","auCurrencyFormat","GPL","_useContent","headline","subHeadline","terms","instructions","qualifyingString","qualifying","singleProduct","qualified","unqualified","title","term","ContentWrapper","headerRef","cornerRef","setSticky","_useTransitionState","classNames","onScroll","cornerHeight","clientHeight","setupModal"],"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-modal-AU.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 241);\n","/* @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 // eslint-disable-next-line no-use-before-define\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 SVG: 'svg',\n DEFAULT: 'default'\n};\n\nconst ELEMENT_PROP = {\n ID: 'id',\n INNER_HTML: 'innerHTML',\n EL: 'el',\n XLINK_HREF: 'xlink:href'\n};\n\nconst ELEMENT_DEFAULT_XML_NAMESPACE : {| [$Values] : string |} = {\n [ ELEMENT_TAG.SVG ]: 'http://www.w3.org/2000/svg'\n};\n\nconst ATTRIBUTE_DEFAULT_XML_NAMESPACE : {| [$Values] : string |} = {\n [ ELEMENT_PROP.XLINK_HREF ]: 'http://www.w3.org/1999/xlink'\n};\n\nfunction fixScripts(el : HTMLElement | Element, 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 | Element {\n if (node.props[ELEMENT_PROP.EL]) {\n return node.props[ELEMENT_PROP.EL];\n } else {\n return doc.createElement(node.name);\n }\n}\n\nfunction createElementWithXMLNamespace(doc : Document, node : ElementNode, xmlNamespace : string) : HTMLElement | Element {\n return doc.createElementNS(xmlNamespace, node.name);\n}\n\nfunction createTextElement(doc : Document, node : TextNode) : Text {\n return doc.createTextNode(node.text);\n}\n\nfunction addProps(el : HTMLElement | Element, 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 const xmlNamespace = ATTRIBUTE_DEFAULT_XML_NAMESPACE[prop];\n if (xmlNamespace) {\n el.setAttributeNS(xmlNamespace, prop, val.toString());\n } else {\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 | Element, 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 | Element, 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 xmlNamespaceDomRenderer = (node : ElementNode, xmlNamespace : string) : HTMLElement => {\n if (node.type === NODE_TYPE.COMPONENT) {\n return node.renderComponent(childNode => xmlNamespaceDomRenderer(childNode, xmlNamespace));\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 = createElementWithXMLNamespace(doc, node, xmlNamespace);\n addProps(el, node);\n addChildren(el, node, doc, childNode => xmlNamespaceDomRenderer(childNode, xmlNamespace));\n // $FlowFixMe\n return el;\n }\n\n throw new TypeError(`Unhandleable node`);\n };\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 xmlNamespace = ELEMENT_DEFAULT_XML_NAMESPACE[node.name.toLowerCase()];\n\n if (xmlNamespace) {\n // $FlowFixMe\n return xmlNamespaceDomRenderer(node, xmlNamespace);\n }\n\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/* eslint unicorn/prefer-spread: off */\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,t,i,o,r,f,e,c={},s=[],a=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,v=Array.isArray;function h(n,l){for(var u in l)n[u]=l[u];return n}function p(n){var l=n.parentNode;l&&l.removeChild(n)}function y(l,u,t){var i,o,r,f={};for(r in u)\"key\"==r?i=u[r]:\"ref\"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),\"function\"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return d(l,f,i,o,null)}function d(n,t,i,o,r){var f={type:n,props:t,key:i,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==r?++u:r};return null==r&&null!=l.vnode&&l.vnode(f),f}function _(){return{current:null}}function k(n){return n.children}function b(n,l){this.props=n,this.context=l}function g(n,l){if(null==l)return n.__?g(n.__,n.__.__k.indexOf(n)+1):null;for(var u;ll&&i.sort(f));x.__r=0}function P(n,l,u,t,i,o,r,f,e,a,h){var p,y,_,b,m,w,x,P,C,D=0,H=t&&t.__k||s,I=H.length,T=I,j=l.length;for(u.__k=[],p=0;p0?d(b.type,b.props,b.key,b.ref?b.ref:null,b.__v):b)?(b.__=u,b.__b=u.__b+1,-1===(P=A(b,H,x=p+D,T))?_=c:(_=H[P]||c,H[P]=void 0,T--),z(n,b,_,i,o,r,f,e,a,h),m=b.__e,(y=b.ref)&&_.ref!=y&&(_.ref&&N(_.ref,null,b),h.push(y,b.__c||m,b)),null!=m&&(null==w&&(w=m),(C=_===c||null===_.__v)?-1==P&&D--:P!==x&&(P===x+1?D++:P>x?T>j-x?D+=P-x:D--:D=P(null!=e?1:0))for(;r>=0||f=0){if((e=l[r])&&i==e.key&&o===e.type)return r;r--}if(f2&&(e.children=arguments.length>3?n.call(arguments,2):t),d(l.type,e,i||l.key,o||l.ref,null)}function G(n,l){var u={__c:l=\"__cC\"+e++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,t;return this.getChildContext||(u=[],(t={})[l]=this,this.getChildContext=function(){return t},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(function(n){n.__e=!0,w(n)})},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=s.slice,l={__e:function(n,l,u,t){for(var i,o,r;l=l.__;)if((i=l.__c)&&!i.__)try{if((o=i.constructor)&&null!=o.getDerivedStateFromError&&(i.setState(o.getDerivedStateFromError(n)),r=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),r=i.__d),r)return i.__E=i}catch(l){n=l}throw n}},u=0,t=function(n){return null!=n&&void 0===n.constructor},b.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=h({},this.state),\"function\"==typeof n&&(n=n(h({},u),this.props)),n&&h(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),w(this))},b.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),w(this))},b.prototype.render=k,i=[],r=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,f=function(n,l){return n.__v.__b-l.__v.__b},x.__r=0,e=0;export{b as Component,k as Fragment,F as cloneElement,G as createContext,y as createElement,_ as createRef,y as h,E as hydrate,t as isValidElement,l as options,B as render,C as toChildArray};\n//# sourceMappingURL=preact.module.js.map\n","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","/* @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 ZH_HANT: (\"zh_Hant\": \"zh_Hant\"),\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\",\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\",\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\",\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\",\n GT: \"es\" | \"en\" | \"fr\" | \"zh\",\n GW: \"en\" | \"fr\" | \"es\" | \"zh\",\n GY: \"en\" | \"fr\" | \"es\" | \"zh\",\n HK: \"en\" | \"zh_Hant\",\n HN: \"es\" | \"en\" | \"fr\" | \"zh\",\n HR: \"en\",\n HU: \"hu\" | \"en\",\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\" | \"zh\",\n LU: \"en\" | \"de\" | \"fr\" | \"es\" | \"zh\",\n LV: \"lv\" | \"en\" | \"ru\",\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\",\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\",\n SJ: \"en\" | \"fr\" | \"es\" | \"zh\",\n SK: \"sk\" | \"en\",\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_Hant\" | \"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],\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],\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],\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],\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_HANT, LANG.ZH],\n HN: [LANG.ES, LANG.EN, LANG.FR, LANG.ZH],\n HR: [LANG.EN],\n HU: [LANG.HU, LANG.EN],\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.ZH],\n LU: [LANG.EN, LANG.DE, LANG.FR, LANG.ES, LANG.ZH],\n LV: [LANG.LV, LANG.EN, LANG.RU],\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],\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],\n SJ: [LANG.EN, LANG.FR, LANG.ES, LANG.ZH],\n SK: [LANG.SK, LANG.EN],\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_HANT, 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 INTENT = {\n CAPTURE: (\"capture\": \"capture\"),\n AUTHORIZE: (\"authorize\": \"authorize\"),\n ORDER: (\"order\": \"order\"),\n TOKENIZE: (\"tokenize\": \"tokenize\"),\n SUBSCRIPTION: (\"subscription\": \"subscription\"),\n};\n\nexport const COMMIT = {\n TRUE: (true: true),\n FALSE: (false: false),\n};\n\nexport const VAULT = {\n TRUE: (true: true),\n FALSE: (false: false),\n};\n\nexport const CURRENCY = {\n AED: (\"AED\": \"AED\"),\n ALL: (\"ALL\": \"ALL\"),\n ANG: (\"ANG\": \"ANG\"),\n AOA: (\"AOA\": \"AOA\"),\n AUD: (\"AUD\": \"AUD\"),\n AWG: (\"AWG\": \"AWG\"),\n BAM: (\"BAM\": \"BAM\"),\n BBD: (\"BBD\": \"BBD\"),\n BGN: (\"BGN\": \"BGN\"),\n BIF: (\"BIF\": \"BIF\"),\n BMD: (\"BMD\": \"BMD\"),\n BND: (\"BND\": \"BND\"),\n BOB: (\"BOB\": \"BOB\"),\n BRL: (\"BRL\": \"BRL\"),\n BSD: (\"BSD\": \"BSD\"),\n BTN: (\"BTN\": \"BTN\"),\n CAD: (\"CAD\": \"CAD\"),\n CDF: (\"CDF\": \"CDF\"),\n CHF: (\"CHF\": \"CHF\"),\n CLP: (\"CLP\": \"CLP\"),\n COP: (\"COP\": \"COP\"),\n CRC: (\"CRC\": \"CRC\"),\n CVE: (\"CVE\": \"CVE\"),\n CZK: (\"CZK\": \"CZK\"),\n DJF: (\"DJF\": \"DJF\"),\n DKK: (\"DKK\": \"DKK\"),\n DOP: (\"DOP\": \"DOP\"),\n DZD: (\"DZD\": \"DZD\"),\n EGP: (\"EGP\": \"EGP\"),\n ETB: (\"ETB\": \"ETB\"),\n EUR: (\"EUR\": \"EUR\"),\n FJD: (\"FJD\": \"FJD\"),\n FKP: (\"FKP\": \"FKP\"),\n GBP: (\"GBP\": \"GBP\"),\n GIP: (\"GIP\": \"GIP\"),\n GMD: (\"GMD\": \"GMD\"),\n GNF: (\"GNF\": \"GNF\"),\n GTQ: (\"GTQ\": \"GTQ\"),\n GYD: (\"GYD\": \"GYD\"),\n HKD: (\"HKD\": \"HKD\"),\n HNL: (\"HNL\": \"HNL\"),\n HRK: (\"HRK\": \"HRK\"),\n HUF: (\"HUF\": \"HUF\"),\n IDR: (\"IDR\": \"IDR\"),\n ILS: (\"ILS\": \"ILS\"),\n INR: (\"INR\": \"INR\"),\n ISK: (\"ISK\": \"ISK\"),\n JMD: (\"JMD\": \"JMD\"),\n JPY: (\"JPY\": \"JPY\"),\n KES: (\"KES\": \"KES\"),\n KMF: (\"KMF\": \"KMF\"),\n KRW: (\"KRW\": \"KRW\"),\n KYD: (\"KYD\": \"KYD\"),\n LAK: (\"LAK\": \"LAK\"),\n LKR: (\"LKR\": \"LKR\"),\n MDL: (\"MDL\": \"MDL\"),\n MGA: (\"MGA\": \"MGA\"),\n MKD: (\"MKD\": \"MKD\"),\n MNT: (\"MNT\": \"MNT\"),\n MRO: (\"MRO\": \"MRO\"),\n MUR: (\"MUR\": \"MUR\"),\n MVR: (\"MVR\": \"MVR\"),\n MXN: (\"MXN\": \"MXN\"),\n MYR: (\"MYR\": \"MYR\"),\n NAD: (\"NAD\": \"NAD\"),\n NIO: (\"NIO\": \"NIO\"),\n NOK: (\"NOK\": \"NOK\"),\n NPR: (\"NPR\": \"NPR\"),\n NZD: (\"NZD\": \"NZD\"),\n PEN: (\"PEN\": \"PEN\"),\n PGK: (\"PGK\": \"PGK\"),\n PHP: (\"PHP\": \"PHP\"),\n PLN: (\"PLN\": \"PLN\"),\n PYG: (\"PYG\": \"PYG\"),\n QAR: (\"QAR\": \"QAR\"),\n RON: (\"RON\": \"RON\"),\n RSD: (\"RSD\": \"RSD\"),\n RUB: (\"RUB\": \"RUB\"),\n SAR: (\"SAR\": \"SAR\"),\n SBD: (\"SBD\": \"SBD\"),\n SCR: (\"SCR\": \"SCR\"),\n SEK: (\"SEK\": \"SEK\"),\n SGD: (\"SGD\": \"SGD\"),\n SHP: (\"SHP\": \"SHP\"),\n SLL: (\"SLL\": \"SLL\"),\n SOS: (\"SOS\": \"SOS\"),\n SRD: (\"SRD\": \"SRD\"),\n SZL: (\"SZL\": \"SZL\"),\n THB: (\"THB\": \"THB\"),\n TJS: (\"TJS\": \"TJS\"),\n TOP: (\"TOP\": \"TOP\"),\n TTD: (\"TTD\": \"TTD\"),\n TWD: (\"TWD\": \"TWD\"),\n TZS: (\"TZS\": \"TZS\"),\n USD: (\"USD\": \"USD\"),\n UYU: (\"UYU\": \"UYU\"),\n VND: (\"VND\": \"VND\"),\n VUV: (\"VUV\": \"VUV\"),\n WST: (\"WST\": \"WST\"),\n XAF: (\"XAF\": \"XAF\"),\n XCD: (\"XCD\": \"XCD\"),\n YER: (\"YER\": \"YER\"),\n};\n","/* @flow */\n\nexport const SDK_PATH = \"/sdk/js\";\n\nexport const SDK_SETTINGS = {\n NAMESPACE: (\"data-namespace\": \"data-namespace\"),\n CLIENT_TOKEN: (\"data-client-token\": \"data-client-token\"),\n MERCHANT_ID: (\"data-merchant-id\": \"data-merchant-id\"),\n PARTNER_ATTRIBUTION_ID:\n (\"data-partner-attribution-id\": \"data-partner-attribution-id\"),\n STAGE_HOST: (\"data-stage-host\": \"data-stage-host\"),\n API_STAGE_HOST: (\"data-api-stage-host\": \"data-api-stage-host\"),\n CSP_NONCE: (\"data-csp-nonce\": \"data-csp-nonce\"),\n ENABLE_3DS: (\"data-enable-3ds\": \"data-enable-3ds\"),\n SDK_INTEGRATION_SOURCE:\n (\"data-sdk-integration-source\": \"data-sdk-integration-source\"),\n USER_ID_TOKEN: (\"data-user-id-token\": \"data-user-id-token\"),\n AMOUNT: (\"data-amount\": \"data-amount\"),\n CLIENT_METADATA_ID: (\"data-client-metadata-id\": \"data-client-metadata-id\"),\n PAGE_TYPE: (\"data-page-type\": \"data-page-type\"),\n USER_EXPERIENCE_FLOW:\n (\"data-user-experience-flow\": \"data-user-experience-flow\"),\n POPUPS_DISABLED: (\"data-popups-disabled\": \"data-popups-disabled\"),\n};\n\nexport const SDK_QUERY_KEYS = {\n COMPONENTS: (\"components\": \"components\"),\n\n ENV: (\"env\": \"env\"),\n DEBUG: (\"debug\": \"debug\"),\n CACHEBUST: (\"cachebust\": \"cachebust\"),\n\n CLIENT_ID: (\"client-id\": \"client-id\"),\n MERCHANT_ID: (\"merchant-id\": \"merchant-id\"),\n\n LOCALE: (\"locale\": \"locale\"),\n\n CURRENCY: (\"currency\": \"currency\"),\n INTENT: (\"intent\": \"intent\"),\n COMMIT: (\"commit\": \"commit\"),\n VAULT: (\"vault\": \"vault\"),\n\n BUYER_COUNTRY: (\"buyer-country\": \"buyer-country\"),\n\n ENABLE_FUNDING: (\"enable-funding\": \"enable-funding\"),\n DISABLE_FUNDING: (\"disable-funding\": \"disable-funding\"),\n DISABLE_CARD: (\"disable-card\": \"disable-card\"),\n\n INTEGRATION_DATE: (\"integration-date\": \"integration-date\"),\n STAGE_HOST: (\"stage-host\": \"stage-host\"),\n STAGE_ALIAS: (\"stage-alias\": \"stage-alias\"),\n CDN_REGISTRY: (\"cdn-registry\": \"cdn-registry\"),\n VERSION: (\"version\": \"version\"),\n};\n\nexport const COMPONENTS = {\n BUTTONS: (\"buttons\": \"buttons\"),\n HOSTED_FIELDS: (\"hosted-fields\": \"hosted-fields\"),\n CARD_FIELDS: (\"card-fields\": \"card-fields\"),\n};\n\nexport const DEBUG = {\n TRUE: (true: true),\n FALSE: (false: false),\n};\n\nexport const QUERY_BOOL = {\n TRUE: (\"true\": \"true\"),\n FALSE: (\"false\": \"false\"),\n};\n\nexport const UNKNOWN = (\"unknown\": \"unknown\");\n\nexport const PROTOCOL = {\n HTTP: (\"http\": \"http\"),\n HTTPS: (\"https\": \"https\"),\n};\n\nexport const PAGE_TYPES = {\n HOME: (\"home\": \"home\"),\n PRODUCT: (\"product\": \"product\"),\n CART: (\"cart\": \"cart\"),\n CHECKOUT: (\"checkout\": \"checkout\"),\n PRODUCT_LISTING: (\"product-listing\": \"product-listing\"),\n SEARCH_RESULTS: (\"search-results\": \"search-results\"),\n PRODUCT_DETAILS: (\"product-details\": \"product-details\"),\n MINI_CART: (\"mini-cart\": \"mini-cart\"),\n};\n\nexport const MERCHANT_ID_MAX = 10;\n\nexport const DISPLAY_ONLY_VALUES = {\n VAULTABLE: (\"vaultable\": \"vaultable\"),\n};\n","/* @flow */\n\nimport { COUNTRY } from \"./locale\";\nimport { CURRENCY, INTENT, COMMIT, VAULT } from \"./order\";\nimport { COMPONENTS, DEBUG } from \"./params\";\n\nexport const DEFAULT_COUNTRY = COUNTRY.US;\nexport const DEFAULT_CURRENCY = CURRENCY.USD;\nexport const DEFAULT_INTENT = INTENT.CAPTURE;\nexport const DEFAULT_COMMIT = COMMIT.TRUE;\nexport const DEFAULT_SALE_COMMIT = COMMIT.TRUE;\nexport const DEFAULT_NONSALE_COMMIT = COMMIT.TRUE;\nexport const DEFAULT_VAULT = VAULT.FALSE;\nexport const DEFAULT_COMPONENTS = COMPONENTS.BUTTONS;\nexport const DEFAULT_DEBUG = DEBUG.FALSE;\n","/* @flow */\n\nexport const ENV = {\n LOCAL: (\"local\": \"local\"),\n STAGE: (\"stage\": \"stage\"),\n SANDBOX: (\"sandbox\": \"sandbox\"),\n PRODUCTION: (\"production\": \"production\"),\n TEST: (\"test\": \"test\"),\n};\n\nexport const MOBILE_ENV = {\n ANDROID: (\"android\": \"android\"),\n IOS: (\"iOS\": \"iOS\"),\n};\n","/* @flow */\n\nexport const FPTI_KEY = {\n FEED: (\"feed_name\": \"feed_name\"),\n STATE: (\"state_name\": \"state_name\"),\n EVENT_NAME: (\"event_name\": \"event_name\"),\n TRANSITION: (\"transition_name\": \"transition_name\"),\n PAGE: (\"page_name\": \"page_name\"),\n BUTTON_TYPE: (\"button_type\": \"button_type\"),\n SESSION_UID: (\"page_session_id\": \"page_session_id\"),\n BUTTON_SESSION_UID: (\"button_session_id\": \"button_session_id\"),\n TOKEN: (\"token\": \"token\"),\n CONTEXT_ID: (\"context_id\": \"context_id\"),\n CONTEXT_TYPE: (\"context_type\": \"context_type\"),\n REFERER: (\"referer_url\": \"referer_url\"),\n MERCHANT_DOMAIN: (\"merchant_domain\": \"merchant_domain\"),\n PAY_ID: (\"pay_id\": \"pay_id\"),\n SELLER_ID: (\"seller_id\": \"seller_id\"),\n CLIENT_ID: (\"client_id\": \"client_id\"),\n DATA_SOURCE: (\"serverside_data_source\": \"serverside_data_source\"),\n BUTTON_SOURCE: (\"button_source\": \"button_source\"),\n ERROR_CODE: (\"ext_error_code\": \"ext_error_code\"),\n ERROR_DESC: (\"ext_error_desc\": \"ext_error_desc\"),\n PAGE_LOAD_TIME: (\"page_load_time\": \"page_load_time\"),\n EXPERIMENT_EXPERIENCE:\n (\"experimentation_experience\": \"experimentation_experience\"),\n EXPERIMENT_TREATMENT:\n (\"experimentation_treatment\": \"experimentation_treatment\"),\n EXPERIMENT_NAME: (\"pxp_exp_id\": \"pxp_exp_id\"),\n TREATMENT_NAME: (\"pxp_trtmnt_id\": \"pxp_trtmnt_id\"),\n TRANSITION_TIME: (\"transition_time\": \"transition_time\"),\n FUNDING_LIST: (\"eligible_payment_methods\": \"eligible_payment_methods\"),\n FUNDING_COUNT: (\"eligible_payment_count\": \"eligible_payment_count\"),\n CHOSEN_FUNDING: (\"selected_payment_method\": \"selected_payment_method\"),\n BUTTON_LAYOUT: (\"button_layout\": \"button_layout\"),\n VERSION: (\"checkoutjs_version\": \"checkoutjs_version\"),\n LOCALE: (\"locale\": \"locale\"),\n BUYER_COUNTRY: (\"buyer_cntry\": \"buyer_cntry\"),\n INTEGRATION_IDENTIFIER: (\"integration_identifier\": \"integration_identifier\"),\n PARTNER_ATTRIBUTION_ID: (\"bn_code\": \"bn_code\"),\n PAGE_TYPE: (\"pp_placement\": \"pp_placement\"),\n SDK_NAME: (\"sdk_name\": \"sdk_name\"),\n SDK_VERSION: (\"sdk_version\": \"sdk_version\"),\n SDK_ENVIRONMENT: (\"sdk_environment\": \"sdk_environment\"),\n MOBILE_APP_VERSION: (\"mobile_app_version\": \"mobile_app_version\"),\n MOBILE_BUNDLE_IDENTIFIER: (\"mapv\": \"mapv\"),\n USER_AGENT: (\"user_agent\": \"user_agent\"),\n USER_ACTION: (\"user_action\": \"user_action\"),\n CONTEXT_CORRID: (\"context_correlation_id\": \"context_correlation_id\"),\n SDK_CACHE: (\"sdk_cache\": \"sdk_cache\"),\n SDK_LOAD_TIME: (\"sdk_load_time\": \"sdk_load_time\"),\n IS_VAULT: (\"is_vault\": \"is_vault\"),\n DISABLE_FUNDING: (\"disable_funding\": \"disable_funding\"),\n DISABLE_CARD: (\"disable_card\": \"disable_card\"),\n RESPONSE_DURATION: (\"response_duration\": \"response_duration\"),\n SDK_INTEGRATION_SOURCE: (\"sdk_integration_source\": \"sdk_integration_source\"),\n PAYMENT_FLOW: (\"payment_flow\": \"payment_flow\"),\n BUTTON_VERSION: (\"button_version\": \"button_version\"),\n FI_LIST: (\"fi_list\": \"fi_list\"),\n FI_ID: (\"fi_id\": \"fi_id\"),\n PRODUCT: (\"product\": \"product\"),\n CHOSEN_FI_TYPE: (\"chosen_fi_type\": \"chosen_fi_type\"),\n SELECTED_FI:\n (\"merchant_selected_funding_source\": \"merchant_selected_funding_source\"),\n POTENTIAL_PAYMENT_METHODS:\n (\"potential_payment_methods\": \"potential_payment_methods\"),\n PAY_NOW: (\"pay_now\": \"pay_now\"),\n STICKINESS_ID: (\"stickiness_id\": \"stickiness_id\"),\n TIMESTAMP: (\"t\": \"t\"),\n OPTION_SELECTED: (\"optsel\": \"optsel\"),\n USER_IDENTITY_METHOD: (\"user_identity_method\": \"user_identity_method\"),\n FIELDS_COMPONENT_SESSION_ID:\n (\"fields_component_session_id\": \"fields_component_session_id\"),\n CPL_COMP_METRICS: (\"cpl_comp_metrics\": \"cpl_comp_metrics\"),\n CPL_CHUNK_METRICS: (\"cpl_chunk_metrics\": \"cpl_chunk_metrics\"),\n CPL_QUERY_METRICS: (\"cpl_query_metrics\": \"cpl_query_metrics\"),\n};\n\nexport const FPTI_USER_ACTION = {\n COMMIT: (\"commit\": \"commit\"),\n CONTINUE: (\"continue\": \"continue\"),\n};\n\nexport const FPTI_DATA_SOURCE = {\n PAYMENTS_SDK: (\"checkout\": \"checkout\"),\n};\n\nexport const FPTI_FEED = {\n PAYMENTS_SDK: (\"payments_sdk\": \"payments_sdk\"),\n};\n\nexport const FPTI_SDK_NAME = {\n PAYMENTS_SDK: (\"payments_sdk\": \"payments_sdk\"),\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 PAYU: (\"payu\": \"payu\"),\n BLIK: (\"blik\": \"blik\"),\n TRUSTLY: (\"trustly\": \"trustly\"),\n OXXO: (\"oxxo\": \"oxxo\"),\n BOLETO: (\"boleto\": \"boleto\"),\n BOLETOBANCARIO: (\"boletobancario\": \"boletobancario\"),\n WECHATPAY: (\"wechatpay\": \"wechatpay\"),\n MERCADOPAGO: (\"mercadopago\": \"mercadopago\"),\n MULTIBANCO: (\"multibanco\": \"multibanco\"),\n SATISPAY: (\"satispay\": \"satispay\"),\n PAIDY: (\"paidy\": \"paidy\"),\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_3: (\"payIn3\": \"payIn3\"),\n PAY_IN_4: (\"payIn4\": \"payIn4\"),\n PAYLATER: (\"paylater\": \"paylater\"),\n CREDIT: (\"credit\": \"credit\"),\n};\n","/* @flow */\n\nexport const PLATFORM = {\n DESKTOP: (\"desktop\": \"desktop\"),\n MOBILE: (\"mobile\": \"mobile\"),\n};\n","/* @flow */\nimport { sfvcScreens } from \"./screenHeights\";\n\nexport function getUserAgent(): string {\n return window.navigator.mockUserAgent || window.navigator.userAgent;\n}\n\nconst TABLET_PATTERN =\n /ip(a|ro)d|silk|xoom|playbook|tablet|kindle|Nexus 7|GT-P10|SC-01C|SHW-M180S|SM-T320|SGH-T849|SCH-I800|SHW-M180L|SPH-P100|SGH-I987|zt180|HTC( Flyer|_Flyer)|Sprint ATP51|ViewPad7|pandigital(sprnova|nova)|Ideos S7|Dell Streak 7|Advent Vega|A101IT|A70BHT|MID7015|Next2|nook|FOLIO|MB511.*RUTEM|Mac OS.*Silk/i;\n\nexport function isDevice(userAgent?: string = getUserAgent()): boolean {\n if (\n userAgent.match(\n /Android|webOS|iPhone|iPad|iPod|bada|Symbian|Palm|CriOS|BlackBerry|IEMobile|WindowsMobile|Opera Mini/i\n )\n ) {\n return true;\n }\n\n return false;\n}\n\nexport function isTablet(userAgent?: string = getUserAgent()): boolean {\n return TABLET_PATTERN.test(userAgent);\n}\n\nexport function isWebView(): boolean {\n const userAgent = getUserAgent();\n return (\n /(iPhone|iPod|iPad|Macintosh).*AppleWebKit(?!.*Safari)|.*WKWebView/i.test(\n userAgent\n ) ||\n /\\bwv\\b/.test(userAgent) ||\n /Android.*Version\\/(\\d)\\.(\\d)/i.test(userAgent)\n );\n}\n\nexport function isStandAlone(): boolean {\n return (\n window.navigator.standalone === true ||\n window.matchMedia(\"(display-mode: standalone)\").matches\n );\n}\n\nexport function isFacebookWebView(ua?: string = getUserAgent()): boolean {\n return /FBAN/.test(ua) || /FBAV/.test(ua);\n}\n\nexport function isFirefox(ua?: string = getUserAgent()): boolean {\n return /Firefox/i.test(ua);\n}\n\nexport function isFirefoxIOS(ua?: string = getUserAgent()): boolean {\n return /FxiOS/i.test(ua);\n}\n\nexport function isEdgeIOS(ua?: string = getUserAgent()): boolean {\n return /EdgiOS/i.test(ua);\n}\n\nexport function isOperaMini(ua?: string = getUserAgent()): boolean {\n return /Opera Mini/i.test(ua);\n}\n\nexport function isAndroid(ua?: string = getUserAgent()): boolean {\n return /Android/.test(ua);\n}\n\nexport function isIos(ua?: string = getUserAgent()): boolean {\n return /iPhone|iPod|iPad/.test(ua);\n}\n\nexport function isIOS14(ua?: string = getUserAgent()): boolean {\n return /iPhone.*OS.*(1)?(?:(1)[0-4]| [0-9])_/.test(ua);\n}\n\nexport function isGoogleSearchApp(ua?: string = getUserAgent()): boolean {\n return /\\bGSA\\b/.test(ua);\n}\n\nexport function isQQBrowser(ua?: string = getUserAgent()): boolean {\n return /QQBrowser/.test(ua);\n}\n\nexport function isIosWebview(ua?: string = getUserAgent()): boolean {\n if (isIos(ua)) {\n if (isGoogleSearchApp(ua)) {\n return true;\n }\n return /.+AppleWebKit(?!.*Safari)|.*WKWebView/.test(ua);\n }\n return false;\n}\n\nexport function isSFVC(ua?: string = getUserAgent()): boolean {\n if (isIos(ua)) {\n const height = window.innerHeight;\n const scale =\n Math.round((window.screen.width / window.innerWidth) * 100) / 100;\n const computedHeight = Math.round(height * scale);\n\n let device = null;\n if (isIOS14(ua)) {\n device = sfvcScreens[window.outerHeight];\n } else {\n if (scale !== 1) {\n return true;\n }\n\n device = sfvcScreens[window.outerHeight];\n }\n\n if (!device) {\n return true;\n }\n\n if (scale > 1 && device.zoomHeight && device.zoomHeight[scale]) {\n return device.zoomHeight[scale].indexOf(computedHeight) !== -1;\n } else {\n return (\n device.textSizeHeights.indexOf(computedHeight) !== -1 ||\n device.textSizeHeightsNoTabs.indexOf(computedHeight) !== -1\n );\n }\n }\n return false;\n}\n\nexport function isSFVCorSafari(ua?: string = getUserAgent()): boolean {\n if (isIos(ua)) {\n const sfvc = isSFVC(ua);\n\n const device = isIOS14(ua) ? sfvcScreens[window.outerHeight] : null;\n\n if (!device) {\n return false;\n }\n\n const height = window.innerHeight;\n const scale =\n Math.round((window.screen.width / window.innerWidth) * 100) / 100;\n\n const computedHeight = Math.round(height * scale);\n const possibleSafariSizes = device.maybeSafari;\n\n let maybeSafari = false;\n if (\n scale > 1 &&\n possibleSafariSizes[scale] &&\n possibleSafariSizes[scale].indexOf(computedHeight) !== -1\n ) {\n maybeSafari = true;\n }\n\n return sfvc || maybeSafari;\n }\n return false;\n}\n\nexport function isAndroidWebview(ua?: string = getUserAgent()): boolean {\n if (isAndroid(ua)) {\n return /Version\\/[\\d.]+/.test(ua) && !isOperaMini(ua);\n }\n return false;\n}\n\nexport function isIE(): boolean {\n if (window.document.documentMode) {\n return true;\n }\n\n return Boolean(\n window.navigator &&\n window.navigator.userAgent &&\n /Edge|MSIE|rv:11/i.test(window.navigator.userAgent)\n );\n}\n\nexport function isIECompHeader(): boolean {\n const mHttp = window.document.querySelector(\n 'meta[http-equiv=\"X-UA-Compatible\"]'\n );\n const mContent = window.document.querySelector('meta[content=\"IE=edge\"]');\n if (mHttp && mContent) {\n return true;\n }\n return false;\n}\n\nexport function isElectron(): boolean {\n if (\n typeof process !== \"undefined\" &&\n process.versions &&\n process.versions.electron\n ) {\n return true;\n }\n return false;\n}\n\nexport function isIEIntranet(): boolean {\n // This status check only works for older versions of IE with document.documentMode set\n\n if (window.document.documentMode) {\n try {\n const status = window.status;\n\n window.status = \"testIntranetMode\";\n\n if (window.status === \"testIntranetMode\") {\n window.status = status;\n\n return true;\n }\n\n return false;\n } catch (err) {\n return false;\n }\n }\n\n return false;\n}\n\nexport function isMacOsCna(): boolean {\n const userAgent = getUserAgent();\n return /Macintosh.*AppleWebKit(?!.*Safari)/i.test(userAgent);\n}\n\nexport function supportsPopups(ua?: string = getUserAgent()): boolean {\n return !(\n isIosWebview(ua) ||\n isAndroidWebview(ua) ||\n isOperaMini(ua) ||\n isFirefoxIOS(ua) ||\n isEdgeIOS(ua) ||\n isFacebookWebView(ua) ||\n isQQBrowser(ua) ||\n isElectron() ||\n isMacOsCna() ||\n isStandAlone()\n );\n}\n\nexport function isChrome(ua?: string = getUserAgent()): boolean {\n return (\n /Chrome|Chromium|CriOS/.test(ua) && !/SamsungBrowser|Silk|EdgA/.test(ua)\n );\n}\n\nexport function isSafari(ua?: string = getUserAgent()): boolean {\n return /Safari/.test(ua) && !isChrome(ua) && !/Silk|FxiOS|EdgiOS/.test(ua);\n}\n\nexport function isApplePaySupported(): boolean {\n try {\n if (\n window.ApplePaySession &&\n window.ApplePaySession.supportsVersion(3) &&\n window.ApplePaySession.canMakePayments()\n ) {\n return true;\n }\n } catch (e) {\n return false;\n }\n\n return false;\n}\n\nexport function isCrossSiteTrackingEnabled(expectedCookieKey: string): boolean {\n return window.document.cookie.indexOf(expectedCookieKey) === -1;\n}\n","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","/* @flow */\n/* eslint max-lines: 0 */\n\nimport { ZalgoPromise } from \"@krakenjs/zalgo-promise/src\";\nimport { WeakMap } from \"@krakenjs/cross-domain-safe-weakmap/src\";\n\nimport type { CancelableType } from \"./types\";\n\nexport function isElement(element: mixed): boolean {\n let passed = false;\n\n try {\n if (element instanceof window.Element) {\n passed = true;\n } else if (\n element !== null &&\n typeof element === \"object\" &&\n element.nodeType === 1 &&\n typeof element.style === \"object\" &&\n typeof element.ownerDocument === \"object\"\n ) {\n passed = true;\n }\n } catch (_) {\n // we don't have an element\n }\n\n return passed;\n}\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(\n encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (m, p1) => {\n return String.fromCharCode(parseInt(p1, 16));\n })\n ).replace(/[=]/g, \"\");\n }\n\n if (typeof Buffer !== \"undefined\") {\n return Buffer.from(str, \"utf8\").toString(\"base64\").replace(/[=]/g, \"\");\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(\n // $FlowFixMe[method-unbinding]\n Array.prototype.map\n .call(atob(str), (c) => {\n // eslint-disable-next-line prefer-template\n return \"%\" + (\"00\" + c.charCodeAt(0).toString(16)).slice(-2);\n })\n .join(\"\")\n );\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 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 )\n .replace(/[^a-zA-Z0-9]/g, \"\")\n .toLowerCase();\n\n return `uid_${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 objectIDs = objectIDs || new WeakMap();\n\n if (\n obj === null ||\n obj === undefined ||\n (typeof obj !== \"object\" && typeof obj !== \"function\")\n ) {\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 // $FlowFixMe[method-unbinding]\n return JSON.stringify(Array.prototype.slice.call(args), (subkey, val) => {\n // Treat each distinct function as unique for purposes of memoization\n // e.g. even if someFunction.stringify() is the same, we may use a different memoize cache\n // if the actual function is different.\n if (typeof val === \"function\") {\n return `memoize[${getObjectID(val)}]`;\n }\n\n // By default JSON.stringify(domElement) returns '{}'. This ensures that stays true even for non-standard\n // elements (e.g. React-rendered dom elements) with custom properties\n if (isElement(val)) {\n return {};\n }\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(\n method: F,\n options?: MemoizeOptions = getDefaultMemoizeOptions()\n): 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 let cacheKey;\n\n try {\n cacheKey = serializeArgs(args);\n } catch {\n return method.apply(this, arguments);\n }\n\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(\n result,\n `${options.name || getFunctionName(method)}::memoized`\n );\n}\n\nmemoize.clear = () => {\n memoizeGlobalIndexValidFrom = memoizeGlobalIndex;\n};\n\nexport function promiseIdentity(\n item: ZalgoPromise | T\n): ZalgoPromise {\n // $FlowFixMe\n return ZalgoPromise.resolve(item);\n}\n\nexport function memoizePromise(\n // eslint-disable-next-line flowtype/no-weak-types\n method: (...args: $ReadOnlyArray) => ZalgoPromise\n // eslint-disable-next-line flowtype/no-weak-types\n): (...args: $ReadOnlyArray) => ZalgoPromise {\n let cache = {};\n\n function memoizedPromiseFunction(\n // eslint-disable-next-line flowtype/no-weak-types\n ...args: $ReadOnlyArray\n ): 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)).finally(\n () => {\n delete cache[key];\n }\n );\n\n return cache[key];\n }\n\n memoizedPromiseFunction.reset = () => {\n cache = {};\n };\n\n return setFunctionName(\n memoizedPromiseFunction,\n `${getFunctionName(method)}::promiseMemoized`\n );\n}\n\ntype PromisifyOptions = {|\n name?: string,\n|};\n\nconst getDefaultPromisifyOptions = (): PromisifyOptions => {\n // $FlowFixMe\n return {};\n};\n\nexport function promisify(\n // eslint-disable-next-line flowtype/no-weak-types\n method: (...args: $ReadOnlyArray) => R,\n options: PromisifyOptions = getDefaultPromisifyOptions()\n // eslint-disable-next-line flowtype/no-weak-types\n): (...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(\n promisifiedFunction,\n `${getFunctionName(method)}::promisified`\n );\n}\n\nexport function inlineMemoize(\n // eslint-disable-next-line flowtype/no-weak-types\n method: (...args: $ReadOnlyArray) => R,\n // eslint-disable-next-line flowtype/no-weak-types\n logic: (...args: $ReadOnlyArray) => R,\n // eslint-disable-next-line flowtype/no-weak-types\n args: $ReadOnlyArray = []\n): R {\n // $FlowFixMe\n const cache: {| [string]: R |} = (method.__inline_memoize_cache__ =\n // $FlowFixMe\n 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 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 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 if (level >= 3) {\n return \"stringifyError stack overflow\";\n }\n\n try {\n if (!err) {\n // $FlowFixMe[method-unbinding]\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 // $FlowFixMe[method-unbinding]\n return Object.prototype.toString.call(err);\n } catch (newErr) {\n return `Error while stringifying error: ${stringifyError(\n newErr,\n level + 1\n )}`;\n }\n}\n\nexport function stringifyErrorMessage(err: mixed): string {\n // $FlowFixMe[method-unbinding]\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 // $FlowFixMe[method-unbinding]\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 // $FlowFixMe[method-unbinding]\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\nexport function values(obj: { [string]: T }): $ReadOnlyArray {\n if (Object.values) {\n // $FlowFixMe\n return Object.values(obj);\n }\n\n const result: Array = [];\n for (const key in obj) {\n if (obj.hasOwnProperty(key)) {\n // $FlowFixMe[escaped-generic]\n result.push(obj[key]);\n }\n }\n\n // $FlowFixMe\n return result;\n}\n\n// eslint-disable-next-line no-undef\nexport const memoizedValues: ({ [string]: T }) => $ReadOnlyArray =\n 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 ? num - remainder + nearest : num;\n}\n\nexport function regexMap(\n str: string,\n regexp: RegExp,\n handler: () => T\n): $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(\n obj: { [string]: T },\n filter?: (T, ?string) => mixed = Boolean\n): { [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(\n text: string,\n regexp: RegExp\n): $ReadOnlyArray {\n const result = [];\n text.replace(regexp, (token) => {\n result.push(token);\n return \"\";\n });\n return result;\n}\n\nexport function promiseDebounce(\n method: () => ZalgoPromise | T,\n delay: number = 50\n): () => ZalgoPromise {\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) => {\n localPromise.resolve(result);\n },\n (err) => {\n localPromise.reject(err);\n }\n );\n }, delay);\n\n return localPromise;\n };\n\n return setFunctionName(\n promiseDebounced,\n `${getFunctionName(method)}::promiseDebounced`\n );\n}\n\nexport function safeInterval(\n method: Function,\n time: number\n): {| cancel: () => void |} {\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(\n obj: Object,\n prefix: string = \"\",\n newobj: Object = {}\n): { [string]: string } {\n prefix = prefix ? `${prefix}.` : prefix;\n for (const key in obj) {\n if (\n !obj.hasOwnProperty(key) ||\n obj[key] === undefined ||\n obj[key] === null ||\n typeof obj[key] === \"function\"\n ) {\n continue;\n } else if (\n obj[key] &&\n Array.isArray(obj[key]) &&\n obj[key].length &&\n obj[key].every((val) => typeof val !== \"object\")\n ) {\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 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 (\n part === \"constructor\" ||\n part === \"prototype\" ||\n part === \"__proto__\"\n ) {\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: (\n eventName: string,\n ...args: $ReadOnlyArray\n ) => ZalgoPromise,\n triggerOnce: (\n eventName: string,\n ...args: $ReadOnlyArray\n ) => ZalgoPromise,\n reset: () => void,\n|};\n\nexport function eventEmitter(): EventEmitterType {\n const triggered = {};\n let handlers = {};\n\n const emitter = {\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 once(eventName: string, handler: Function): CancelableType {\n const listener = emitter.on(eventName, () => {\n listener.cancel();\n handler();\n });\n\n return listener;\n },\n\n trigger(\n eventName: string,\n ...args: $ReadOnlyArray\n ): ZalgoPromise {\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(\n eventName: string,\n ...args: $ReadOnlyArray\n ): ZalgoPromise {\n if (triggered[eventName]) {\n return ZalgoPromise.resolve();\n }\n\n triggered[eventName] = true;\n return emitter.trigger(eventName, ...args);\n },\n\n reset() {\n handlers = {};\n },\n };\n\n return emitter;\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 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 // 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 const interval = safeInterval(() => {\n time -= 100;\n if (time <= 0) {\n interval.cancel();\n method();\n }\n }, 100);\n}\n\nexport function defineLazyProp(\n obj: Object | $ReadOnlyArray,\n key: string | number,\n getter: () => T\n) {\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\n// eslint-disable-next-line no-undef\nexport function arrayFrom(item: Iterable): $ReadOnlyArray {\n // $FlowFixMe[method-unbinding]\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 (\n // $FlowFixMe[method-unbinding]\n isObject(obj) && Object.prototype.toString.call(obj) === \"[object Object]\"\n );\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>(\n item: T,\n replacer: (mixed, string | number, string) => mixed,\n fullKey: string = \"\"\n): T {\n if (Array.isArray(item)) {\n const length = item.length;\n const result: Array = [];\n\n for (let i = 0; i < length; i++) {\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\nexport function copyProp(\n source: Object,\n target: Object,\n name: string,\n def: mixed\n) {\n if (source.hasOwnProperty(name)) {\n const descriptor = Object.getOwnPropertyDescriptor(source, name);\n // $FlowFixMe\n Object.defineProperty(target, name, descriptor);\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(\n pattern: string | RegExp,\n string: string,\n start: number = 0\n): ?RegexResultType {\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 if (!regmatch) {\n return \"\";\n }\n\n return `${regmatch.slice(0, start + index)}${text}${regmatch.slice(\n index + regmatch.length\n )}`;\n },\n };\n}\n\nexport function regexAll(\n pattern: string | RegExp,\n string: string\n): $ReadOnlyArray {\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(\n method: (...args: $ReadOnlyArray) => T,\n time: number = 100\n): (...args: $ReadOnlyArray) => void {\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(\n debounceWrapper,\n `${getFunctionName(method)}::debounced`\n );\n}\n\nexport function isRegex(item: mixed): boolean {\n // $FlowFixMe[method-unbinding]\n return Object.prototype.toString.call(item) === \"[object RegExp]\";\n}\n\ntype FunctionProxy = (method: T) => T;\n\nexport const weakMapMemoize: FunctionProxy<*> = (\n // eslint-disable-next-line flowtype/no-weak-types\n method: (arg: any) => R\n // eslint-disable-next-line flowtype/no-weak-types\n): ((...args: $ReadOnlyArray) => R) => {\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<\n R: mixed,\n T: (...args: $ReadOnlyArray) => ZalgoPromise\n> = (T) => T;\n\nexport const weakMapMemoizePromise: FunctionPromiseProxy<*, *> = (\n // eslint-disable-next-line flowtype/no-weak-types\n method: (arg: any) => ZalgoPromise\n // eslint-disable-next-line flowtype/no-weak-types\n): ((...args: $ReadOnlyArray) => ZalgoPromise) => {\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};\n\nexport function getOrSet(\n obj: O,\n key: string,\n getter: () => T\n): 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) => {| cancel: () => void |},\n all: (err?: mixed) => ZalgoPromise,\n|};\n\nexport function cleanup(obj: Object): CleanupType {\n const tasks = [];\n let cleaned = false;\n let cleanErr;\n\n const cleaner = {\n set(name: string, item: T): T {\n if (!cleaned) {\n obj[name] = item;\n cleaner.register(() => {\n delete obj[name];\n });\n }\n return item;\n },\n\n register(method: Function): {| cancel: () => void |} {\n const task = once(() => method(cleanErr));\n\n if (cleaned) {\n method(cleanErr);\n } else {\n tasks.push(task);\n }\n\n return {\n cancel: () => {\n const index = tasks.indexOf(task);\n if (index !== -1) {\n tasks.splice(index, 1);\n }\n },\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 return cleaner;\n}\n\nexport function tryCatch(\n fn: () => T\n): {| 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 = (\n constant: T,\n value: X\n): 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","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import setPrototypeOf from \"@babel/runtime/helpers/esm/setPrototypeOf\";\nimport isNativeReflectConstruct from \"@babel/runtime/helpers/esm/isNativeReflectConstruct\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}","import getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport setPrototypeOf from \"@babel/runtime/helpers/esm/setPrototypeOf\";\nimport isNativeFunction from \"@babel/runtime/helpers/esm/isNativeFunction\";\nimport construct from \"@babel/runtime/helpers/esm/construct\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","/* @flow */\n/* eslint max-lines: off */\nimport { ZalgoPromise } from \"@krakenjs/zalgo-promise/src\";\nimport {\n linkFrameWindow,\n isWindowClosed,\n assertSameDomain,\n type SameDomainWindowType,\n type CrossDomainWindowType,\n} from \"@krakenjs/cross-domain-utils/src\";\nimport { WeakMap } from \"@krakenjs/cross-domain-safe-weakmap/src\";\n\nimport {\n isElement,\n inlineMemoize,\n memoize,\n noop,\n stringify,\n capitalizeFirstLetter,\n once,\n extend,\n safeInterval,\n uniqueID,\n arrayFrom,\n ExtendableError,\n strHashStr,\n} from \"./util\";\nimport { isDevice } from \"./device\";\nimport { KEY_CODES, ATTRIBUTES, UID_HASH_LENGTH } from \"./constants\";\nimport type { CancelableType } from \"./types\";\n\ntype ElementRefType = string | HTMLElement;\n\nexport function getBody(): HTMLBodyElement {\n // eslint-disable-next-line compat/compat\n const body = document.body;\n\n if (!body) {\n throw new Error(`Body element not found`);\n }\n\n return body;\n}\n\nexport function isDocumentReady(): boolean {\n // eslint-disable-next-line compat/compat\n return Boolean(document.body) && document.readyState === \"complete\";\n}\n\nexport function isDocumentInteractive(): boolean {\n // eslint-disable-next-line compat/compat\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 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(\n parseQuery,\n (): 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 },\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 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\nexport type Query = {\n [string]: boolean | string,\n};\n\nexport function formatQuery(obj: Query = {}): string {\n return Object.keys(obj)\n .filter((key) => {\n return typeof obj[key] === \"string\" || typeof obj[key] === \"boolean\";\n })\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 })\n .join(\"&\");\n}\n\nexport function extendQuery(originalQuery: string, props: Query = {}): string {\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(\n url: string,\n options: {| query?: Query, hash?: Query |}\n): string {\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(\n url: string,\n win: CrossDomainWindowType = window\n): 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(\n el.offsetWidth || el.offsetHeight || el.getClientRects().length\n );\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() -\n (performance.timing.connectEnd - performance.timing.navigationStart) >\n 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\n .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(\n selector: string,\n doc: HTMLElement = window.document\n): $ReadOnlyArray {\n // $FlowFixMe[method-unbinding]\n return Array.prototype.slice.call(doc.querySelectorAll(selector));\n}\n\n/**\n * Sets up event handlers for click events and\n * enter/space keypresses.\n * @callback handler\n * @param {HTMLElement} element\n * @param {handler} handler\n */\nexport function onClick(element: HTMLElement, handler: (Event) => void) {\n element.addEventListener(\"touchstart\", noop, { passive: true });\n element.addEventListener(\"click\", handler);\n element.addEventListener(\"keypress\", (event: Event) => {\n if (\n // $FlowFixMe\n event.keyCode === KEY_CODES.ENTER ||\n // $FlowFixMe\n event.keyCode === KEY_CODES.SPACE\n ) {\n return handler(event);\n }\n });\n}\n\nexport function getScript({\n host = window.location.host,\n path,\n reverse = false,\n}: {|\n host?: string,\n path: string,\n reverse?: boolean,\n|}): ?HTMLScriptElement {\n return inlineMemoize(\n getScript,\n (): ?HTMLScriptElement => {\n const url = `${host}${path}`;\n // $FlowFixMe[method-unbinding]\n const scripts = Array.prototype.slice.call(\n document.getElementsByTagName(\"script\")\n );\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 },\n [path]\n );\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<{|\n country?: string,\n lang: string,\n|}> {\n const nav = window.navigator;\n\n const locales = nav.languages ? [...nav.languages] : [];\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\n .map((locale) => {\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\nexport function appendChild(container: HTMLElement, child: HTMLElement | Text) {\n container.appendChild(child);\n}\n\nexport function getElementSafe(\n id: ElementRefType,\n doc: Document | HTMLElement = document\n): ?HTMLElement {\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(\n id: ElementRefType,\n doc: Document | HTMLElement = document\n): HTMLElement {\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 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(\n new Error(`Document is ready and element ${name} does not exist`)\n );\n }\n\n const interval = setInterval(() => {\n el = getElementSafe(id);\n\n if (el) {\n resolve(el);\n clearInterval(interval);\n return;\n }\n\n if (isDocumentReady()) {\n clearInterval(interval);\n return reject(\n new Error(`Document is ready and element ${name} does not exist`)\n );\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 closeOnUnload?: 0 | 1,\n|};\n\nexport function popup(\n url: string,\n options?: PopupOptions\n): CrossDomainWindowType {\n // $FlowFixMe\n options = options || {};\n\n const { closeOnUnload = 1, name = \"\", 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 delete options.closeOnUnload;\n delete options.name;\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 params = Object.keys(options)\n // eslint-disable-next-line array-callback-return\n .map((key) => {\n // $FlowFixMe\n if (options[key] !== null && options[key] !== undefined) {\n return `${key}=${stringify(options[key])}`;\n }\n })\n .filter(Boolean)\n .join(\",\");\n\n let win;\n\n try {\n win = window.open(url, name, params);\n } catch (err) {\n throw new PopupOpenError(\n `Can not open popup window - ${err.stack || err.message}`\n );\n }\n\n if (isWindowClosed(win)) {\n const err = new PopupOpenError(`Can not open popup window - blocked`);\n throw err;\n }\n\n if (closeOnUnload) {\n window.addEventListener(\"unload\", () => win.close());\n }\n\n return win;\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(\n html\n )}); document.close();`;\n } catch (err2) {\n // pass\n }\n }\n}\n\nexport function writeElementToWindow(\n win: SameDomainWindowType,\n 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(\n el: HTMLElement,\n styleText: string,\n doc: Document = window.document\n) {\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 HTMLIFrameElement,\n ZalgoPromise\n>;\n\nexport function awaitFrameLoad(\n frame: HTMLIFrameElement\n): 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(\n frame: HTMLIFrameElement\n): ZalgoPromise {\n return awaitFrameLoad(frame).then((loadedFrame) => {\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(\n tag: string = \"div\",\n options: ElementOptionsType = getDefaultCreateElementOptions(),\n container: ?HTMLElement\n): HTMLElement {\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(\n `Iframe html can not be written unless container provided and iframe in DOM`\n );\n }\n\n // $FlowFixMe\n writeToWindow(element.contentWindow, options.html);\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(\n options: IframeElementOptionsType = getDefaultIframeOptions(),\n container: ?HTMLElement\n): HTMLIFrameElement {\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);\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(\n obj: HTMLElement,\n event: string,\n handler: (event: Event) => void\n): CancelableType {\n obj.addEventListener(event, handler);\n return {\n cancel() {\n obj.removeEventListener(event, handler);\n },\n };\n}\n\nexport function bindEvents(\n element: HTMLElement,\n eventNames: $ReadOnlyArray,\n handler: (event: Event) => void\n): CancelableType {\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(\n element: HTMLElement,\n name: string,\n 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 = [\n \"animationstart\",\n \"webkitAnimationStart\",\n \"oAnimationStart\",\n \"MSAnimationStart\",\n];\nconst ANIMATION_END_EVENTS = [\n \"animationend\",\n \"webkitAnimationEnd\",\n \"oAnimationEnd\",\n \"MSAnimationEnd\",\n];\n\nexport function animate(\n element: ElementRefType,\n name: string,\n clean: (Function) => void,\n timeout: number = 1000\n): ZalgoPromise {\n return new ZalgoPromise((resolve, reject) => {\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 // $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 // $FlowFixMe\n if (event.target !== el || event.animationName !== name) {\n return;\n }\n\n cleanUp();\n\n if (\n // $FlowFixMe\n typeof event.animationName === \"string\" &&\n event.animationName !== name\n ) {\n return reject(\n `Expected animation name to be ${name}, found ${event.animationName}`\n );\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\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(\n element: HTMLElement,\n name: string,\n clean: (Function) => void\n): ZalgoPromise {\n const animation = animate(element, name, clean);\n showElement(element);\n return animation;\n}\n\nexport function animateAndHide(\n element: HTMLElement,\n name: string,\n clean: (Function) => void\n): 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 (\n !el ||\n !el.parentNode ||\n !el.ownerDocument ||\n !el.ownerDocument.documentElement ||\n !el.ownerDocument.documentElement.contains(el)\n ) {\n return true;\n }\n return false;\n}\n\nexport function watchElementForClose(\n element: HTMLElement,\n handler: () => mixed\n): 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(\n el: HTMLElement,\n handler: ({| width: number, height: number |}) => void,\n {\n width = true,\n height = true,\n interval = 100,\n win = window,\n }: OnResizeOptions = {}\n): {| 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 (\n (width && newWidth !== currentWidth) ||\n (height && newHeight !== currentHeight)\n ) {\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 } 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 // $FlowFixMe[method-unbinding]\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 (\n entry &&\n entry.name &&\n entry.name.indexOf(url) === 0 &&\n typeof entry.duration === \"number\"\n ) {\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 && 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 const slotName = `shadow-slot-${uniqueID()}`;\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 if (isShadowElement(shadowHost)) {\n return insertShadowSlot(slotProvider);\n }\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 } catch (err) {\n return err.stack || \"\";\n }\n}\n\nfunction inferCurrentScript(): ?HTMLScriptElement {\n try {\n const stack = getStackTrace();\n const stackDetails = /.*at [^(]*\\((.*):(.+):(.+)\\)$/gi.exec(stack);\n const scriptLocation = stackDetails && stackDetails[1];\n\n if (!scriptLocation) {\n return;\n }\n\n // $FlowFixMe[method-unbinding]\n for (const script of Array.prototype.slice\n .call(document.getElementsByTagName(\"script\"))\n .reverse()) {\n if (script.src && script.src === scriptLocation) {\n return script;\n }\n }\n } catch (err) {\n // pass\n }\n}\n\nlet currentScript =\n // eslint-disable-next-line compat/compat\n 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 if (script.src) {\n const { src, dataset } = script;\n const stringToHash = JSON.stringify({ src, dataset });\n const hashedString = strHashStr(stringToHash);\n const hashResult = hashedString.slice(\n hashedString.length - UID_HASH_LENGTH\n );\n\n uid = `uid_${hashResult}`;\n } else {\n uid = uniqueID();\n }\n\n script.setAttribute(`${ATTRIBUTES.UID}-auto`, uid);\n\n return uid;\n});\n\ntype SubmitFormOptions = {|\n url: string,\n target: string,\n body?: {| [string]: string | boolean |},\n method?: string,\n|};\n\nexport function submitForm({\n url,\n target,\n body,\n method = \"post\",\n}: SubmitFormOptions) {\n const form = document.createElement(\"form\");\n form.setAttribute(\"target\", target);\n form.setAttribute(\"method\", method);\n form.setAttribute(\"action\", url);\n form.style.display = \"none\";\n\n if (body) {\n for (const key of Object.keys(body)) {\n const input = document.createElement(\"input\");\n input.setAttribute(\"name\", key);\n input.setAttribute(\"value\", body[key]?.toString());\n form.appendChild(input);\n }\n }\n\n getBody().appendChild(form);\n form.submit();\n getBody().removeChild(form);\n}\n","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","/* @flow */\n\nexport const KEY_CODES = {\n ENTER: 13,\n SPACE: 32,\n};\n\nexport const ATTRIBUTES = {\n UID: \"data-uid\",\n};\n\nexport const UID_HASH_LENGTH = 30;\n","/* @flow */\n\nimport { uniqueID, getGlobal, inlineMemoize } from \"./util\";\nimport { isLocalStorageEnabled } from \"./dom\";\n\ntype Getter = (handler: (Object) => T) => T;\n\nexport type Storage = {|\n getState: Getter<*>,\n getID: () => string,\n isStateFresh: () => boolean,\n getSessionState: Getter<*>,\n getSessionID: () => string,\n|};\n\nconst DEFAULT_SESSION_STORAGE = 20 * 60 * 1000;\n\nexport function getStorage({\n name,\n lifetime = DEFAULT_SESSION_STORAGE,\n}: {|\n name: string,\n lifetime?: number,\n|}): Storage {\n return inlineMemoize(\n getStorage,\n () => {\n const STORAGE_KEY = `__${name}_storage__`;\n const newStateID = uniqueID();\n\n let accessedStorage;\n\n function getState(handler: (storage: Object) => T): T {\n const localStorageEnabled = isLocalStorageEnabled();\n let storage;\n\n if (accessedStorage) {\n storage = accessedStorage;\n }\n\n if (!storage && localStorageEnabled) {\n const rawStorage = window.localStorage.getItem(STORAGE_KEY);\n\n if (rawStorage) {\n storage = JSON.parse(rawStorage);\n }\n }\n\n if (!storage) {\n storage = getGlobal()[STORAGE_KEY];\n }\n\n if (!storage) {\n storage = {\n id: newStateID,\n };\n }\n\n if (!storage.id) {\n storage.id = newStateID;\n }\n\n accessedStorage = storage;\n\n const result = handler(storage);\n\n if (localStorageEnabled) {\n window.localStorage.setItem(STORAGE_KEY, JSON.stringify(storage));\n } else {\n getGlobal()[STORAGE_KEY] = storage;\n }\n\n accessedStorage = null;\n\n return result;\n }\n\n function getID(): string {\n return getState((storage) => storage.id);\n }\n\n function isStateFresh(): boolean {\n return getID() === newStateID;\n }\n\n function getSession(handler: (state: Object) => T): T {\n return getState((storage) => {\n let session = storage.__session__;\n const now = Date.now();\n\n if (session && now - session.created > lifetime) {\n session = null;\n }\n\n if (!session) {\n session = {\n guid: uniqueID(),\n created: now,\n };\n }\n\n storage.__session__ = session;\n\n return handler(session);\n });\n }\n\n function getSessionState(handler: (state: Object) => T): T {\n return getSession((session) => {\n session.state = session.state || {};\n return handler(session.state);\n });\n }\n\n function getSessionID(): string {\n return getSession((session) => session.guid);\n }\n\n return {\n getState,\n getID,\n isStateFresh,\n getSessionState,\n getSessionID,\n };\n },\n [{ name, lifetime }]\n );\n}\n","/* @flow */\n\nimport { noop } from \"./util\";\nimport { getStorage } from \"./storage\";\n\nfunction getBelterExperimentStorage(): Object {\n return getStorage({ name: \"belter_experiment\" });\n}\n\nfunction isEventUnique(name: string): boolean {\n return getBelterExperimentStorage().getSessionState((state) => {\n state.loggedBeacons = state.loggedBeacons || [];\n\n if (state.loggedBeacons.indexOf(name) === -1) {\n state.loggedBeacons.push(name);\n return true;\n }\n\n return false;\n });\n}\n\ntype Payload = {\n [string]: ?(string | boolean),\n};\n\nexport type Experiment = {|\n isEnabled: () => boolean,\n isDisabled: () => boolean,\n getTreatment: () => string,\n log: (string, payload?: Payload) => Experiment,\n logStart: (payload?: Payload) => Experiment,\n logComplete: (payload?: Payload) => Experiment,\n|};\n\nfunction getRandomInteger(range: number): number {\n return Math.floor(Math.random() * range);\n}\n\nfunction getThrottlePercentile(name: string): number {\n return getBelterExperimentStorage().getState((state) => {\n state.throttlePercentiles = state.throttlePercentiles || {};\n state.throttlePercentiles[name] =\n state.throttlePercentiles[name] || getRandomInteger(100);\n return state.throttlePercentiles[name];\n });\n}\n\nconst THROTTLE_GROUP = {\n TEST: \"test\",\n CONTROL: \"control\",\n THROTTLE: \"throttle\",\n};\n\ntype ExperimentOptions = {|\n name: string,\n sample?: number,\n logTreatment?: ({|\n name: string,\n treatment: string,\n payload: Payload,\n throttle: number,\n |}) => void,\n logCheckpoint?: ({|\n name: string,\n treatment: string,\n checkpoint: string,\n payload: Payload,\n throttle: number,\n |}) => void,\n sticky?: boolean,\n|};\n\nexport function experiment({\n name,\n sample = 50,\n logTreatment = noop,\n logCheckpoint = noop,\n sticky = true,\n}: ExperimentOptions): Experiment {\n const throttle = sticky ? getThrottlePercentile(name) : getRandomInteger(100);\n\n let group;\n\n if (throttle < sample && !__TEST__) {\n group = THROTTLE_GROUP.TEST;\n } else if (sample >= 50 || (sample <= throttle && throttle < sample * 2)) {\n group = THROTTLE_GROUP.CONTROL;\n } else {\n group = THROTTLE_GROUP.THROTTLE;\n }\n\n const treatment = `${name}_${group}`;\n\n let started = false;\n let forced = false;\n\n try {\n if (window.localStorage && window.localStorage.getItem(name)) {\n forced = true;\n }\n } catch (err) {\n // pass\n }\n\n const exp = {\n isEnabled(): boolean {\n return group === THROTTLE_GROUP.TEST || forced;\n },\n\n isDisabled(): boolean {\n return group !== THROTTLE_GROUP.TEST && !forced;\n },\n\n getTreatment(): string {\n return treatment;\n },\n\n log(checkpoint: string, payload?: Payload = {}): Experiment {\n if (!started) {\n return exp;\n }\n\n if (isEventUnique(`${treatment}_${JSON.stringify(payload)}`)) {\n logTreatment({ name, treatment, payload, throttle });\n }\n\n if (\n isEventUnique(`${treatment}_${checkpoint}_${JSON.stringify(payload)}`)\n ) {\n logCheckpoint({ name, treatment, checkpoint, payload, throttle });\n }\n\n return exp;\n },\n\n logStart(payload?: Payload = {}): Experiment {\n started = true;\n return exp.log(`start`, payload);\n },\n\n logComplete(payload?: Payload = {}): Experiment {\n return exp.log(`complete`, payload);\n },\n };\n\n return exp;\n}\n","/* @flow */\n\nimport { ZalgoPromise } from \"@krakenjs/zalgo-promise/src\";\nimport { type SameDomainWindowType } from \"@krakenjs/cross-domain-utils/src\";\n\ntype RequestOptionsType = {|\n url: string,\n method?: string,\n headers?: { [key: string]: string },\n json?: $ReadOnlyArray | Object,\n data?: { [key: string]: string },\n body?: string,\n win?: SameDomainWindowType,\n timeout?: number,\n|};\n\ntype ResponseType = {|\n status: number,\n headers: { [string]: string },\n body: Object,\n|};\n\nconst HEADERS = {\n CONTENT_TYPE: \"content-type\",\n ACCEPT: \"accept\",\n};\n\nconst headerBuilders = [];\n\nfunction parseHeaders(rawHeaders: string = \"\"): { [string]: string } {\n const result = {};\n for (const line of rawHeaders.trim().split(\"\\n\")) {\n const [key, ...values] = line.split(\":\");\n result[key.toLowerCase()] = values.join(\":\").trim();\n }\n return result;\n}\n\nexport function request({\n url,\n method = \"get\",\n headers = {},\n json,\n data,\n body,\n win = window,\n timeout = 0,\n}: RequestOptionsType): ZalgoPromise {\n return new ZalgoPromise((resolve, reject) => {\n if ((json && data) || (json && body) || (data && json)) {\n throw new Error(\n `Only options.json or options.data or options.body should be passed`\n );\n }\n\n const normalizedHeaders = {};\n\n for (const key of Object.keys(headers)) {\n normalizedHeaders[key.toLowerCase()] = headers[key];\n }\n\n if (json) {\n normalizedHeaders[HEADERS.CONTENT_TYPE] =\n normalizedHeaders[HEADERS.CONTENT_TYPE] || \"application/json\";\n } else if (data || body) {\n normalizedHeaders[HEADERS.CONTENT_TYPE] =\n normalizedHeaders[HEADERS.CONTENT_TYPE] ||\n \"application/x-www-form-urlencoded; charset=utf-8\";\n }\n\n normalizedHeaders[HEADERS.ACCEPT] =\n normalizedHeaders[HEADERS.ACCEPT] || \"application/json\";\n\n for (const headerBuilder of headerBuilders) {\n const builtHeaders = headerBuilder();\n\n for (const key of Object.keys(builtHeaders)) {\n normalizedHeaders[key.toLowerCase()] = builtHeaders[key];\n }\n }\n\n const xhr = new win.XMLHttpRequest();\n\n xhr.addEventListener(\n \"load\",\n function xhrLoad(): void {\n const responseHeaders = parseHeaders(this.getAllResponseHeaders());\n\n if (!this.status) {\n return reject(\n new Error(\n `Request to ${method.toLowerCase()} ${url} failed: no response status code.`\n )\n );\n }\n\n const contentType = responseHeaders[\"content-type\"];\n const isJSON =\n contentType &&\n (contentType.indexOf(\"application/json\") === 0 ||\n contentType.indexOf(\"text/json\") === 0);\n let responseBody = this.responseText;\n\n try {\n responseBody = JSON.parse(responseBody);\n } catch (err) {\n if (isJSON) {\n return reject(new Error(`Invalid json: ${this.responseText}.`));\n }\n }\n\n const res = {\n status: this.status,\n headers: responseHeaders,\n body: responseBody,\n };\n\n return resolve(res);\n },\n false\n );\n\n xhr.addEventListener(\n \"error\",\n (evt) => {\n reject(\n new Error(\n `Request to ${method.toLowerCase()} ${url} failed: ${evt.toString()}.`\n )\n );\n },\n false\n );\n\n xhr.open(method, url, true);\n\n for (const key in normalizedHeaders) {\n if (normalizedHeaders.hasOwnProperty(key)) {\n xhr.setRequestHeader(key, normalizedHeaders[key]);\n }\n }\n\n if (json) {\n body = JSON.stringify(json);\n } else if (data) {\n body = Object.keys(data)\n .map((key) => {\n return `${encodeURIComponent(key)}=${\n data ? encodeURIComponent(data[key]) : \"\"\n }`;\n })\n .join(\"&\");\n }\n\n xhr.timeout = timeout;\n xhr.ontimeout = function xhrTimeout() {\n reject(\n new Error(`Request to ${method.toLowerCase()} ${url} has timed out`)\n );\n };\n\n xhr.send(body);\n });\n}\n\nexport function addHeaderBuilder(method: () => { [string]: string }) {\n headerBuilders.push(method);\n}\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/* eslint no-use-before-define: off */\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 const promiseResult : ZalgoPromise<*> = result;\n\n if (promiseResult.resolved) {\n promise.resolve(promiseResult.value);\n } else {\n promise.reject(promiseResult.error);\n }\n\n promiseResult.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 = 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 // $FlowFixMe incompatible-call\n const resultPromise : ZalgoPromise = this.then(undefined, onError);\n return resultPromise;\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 lazy() : ZalgoPromise {\n this.errorHandled = true;\n return this;\n }\n\n static resolve(value : ZalgoPromise | Y) : ZalgoPromise {\n\n if (value instanceof ZalgoPromise) {\n // $FlowFixMe incompatible-type-arg\n const result : ZalgoPromise = value;\n return result;\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 // eslint-disable-next-line no-undef, unicorn/prefer-spread\n const results = ([] : $TupleMap(ZalgoPromise | Y) => Y>).slice();\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 : $ReadOnlyArray) => (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 : ZalgoPromise | Y;\n\n startActive();\n\n try {\n result = method.apply(context, args || []);\n } catch (err) {\n endActive();\n return ZalgoPromise.reject(err);\n }\n\n endActive();\n\n // $FlowFixMe incompatible-call\n const resultPromise = ZalgoPromise.resolve(result);\n\n return resultPromise;\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","import{options as n}from\"preact\";var t,r,u,i,o=0,f=[],c=[],e=n.__b,a=n.__r,v=n.diffed,l=n.__c,m=n.unmount;function d(t,u){n.__h&&n.__h(r,t,o||u),o=0;var i=r.__H||(r.__H={__:[],__h:[]});return t>=i.__.length&&i.__.push({__V:c}),i.__[t]}function h(n){return o=1,s(B,n)}function s(n,u,i){var o=d(t++,2);if(o.t=n,!o.__c&&(o.__=[i?i(u):B(void 0,u),function(n){var t=o.__N?o.__N[0]:o.__[0],r=o.t(t,n);t!==r&&(o.__N=[r,o.__[1]],o.__c.setState({}))}],o.__c=r,!r.u)){var f=function(n,t,r){if(!o.__c.__H)return!0;var u=o.__c.__H.__.filter(function(n){return n.__c});if(u.every(function(n){return!n.__N}))return!c||c.call(this,n,t,r);var i=!1;return u.forEach(function(n){if(n.__N){var t=n.__[0];n.__=n.__N,n.__N=void 0,t!==n.__[0]&&(i=!0)}}),!(!i&&o.__c.props===n)&&(!c||c.call(this,n,t,r))};r.u=!0;var c=r.shouldComponentUpdate,e=r.componentWillUpdate;r.componentWillUpdate=function(n,t,r){if(this.__e){var u=c;c=void 0,f(n,t,r),c=u}e&&e.call(this,n,t,r)},r.shouldComponentUpdate=f}return o.__N||o.__}function p(u,i){var o=d(t++,3);!n.__s&&z(o.__H,i)&&(o.__=u,o.i=i,r.__H.__h.push(o))}function y(u,i){var o=d(t++,4);!n.__s&&z(o.__H,i)&&(o.__=u,o.i=i,r.__h.push(o))}function _(n){return o=5,F(function(){return{current:n}},[])}function A(n,t,r){o=6,y(function(){return\"function\"==typeof n?(n(t()),function(){return n(null)}):n?(n.current=t(),function(){return n.current=null}):void 0},null==r?r:r.concat(n))}function F(n,r){var u=d(t++,7);return z(u.__H,r)?(u.__V=n(),u.i=r,u.__h=n,u.__V):u.__}function T(n,t){return o=8,F(function(){return n},t)}function q(n){var u=r.context[n.__c],i=d(t++,9);return i.c=n,u?(null==i.__&&(i.__=!0,u.sub(r)),u.props.value):n.__}function x(t,r){n.useDebugValue&&n.useDebugValue(r?r(t):t)}function P(n){var u=d(t++,10),i=h();return u.__=n,r.componentDidCatch||(r.componentDidCatch=function(n,t){u.__&&u.__(n,t),i[1](n)}),[i[0],function(){i[1](void 0)}]}function V(){var n=d(t++,11);if(!n.__){for(var u=r.__v;null!==u&&!u.__m&&null!==u.__;)u=u.__;var i=u.__m||(u.__m=[0,0]);n.__=\"P\"+i[0]+\"-\"+i[1]++}return n.__}function b(){for(var t;t=f.shift();)if(t.__P&&t.__H)try{t.__H.__h.forEach(k),t.__H.__h.forEach(w),t.__H.__h=[]}catch(r){t.__H.__h=[],n.__e(r,t.__v)}}n.__b=function(n){r=null,e&&e(n)},n.__r=function(n){a&&a(n),t=0;var i=(r=n.__c).__H;i&&(u===r?(i.__h=[],r.__h=[],i.__.forEach(function(n){n.__N&&(n.__=n.__N),n.__V=c,n.__N=n.i=void 0})):(i.__h.forEach(k),i.__h.forEach(w),i.__h=[],t=0)),u=r},n.diffed=function(t){v&&v(t);var o=t.__c;o&&o.__H&&(o.__H.__h.length&&(1!==f.push(o)&&i===n.requestAnimationFrame||((i=n.requestAnimationFrame)||j)(b)),o.__H.__.forEach(function(n){n.i&&(n.__H=n.i),n.__V!==c&&(n.__=n.__V),n.i=void 0,n.__V=c})),u=r=null},n.__c=function(t,r){r.some(function(t){try{t.__h.forEach(k),t.__h=t.__h.filter(function(n){return!n.__||w(n)})}catch(u){r.some(function(n){n.__h&&(n.__h=[])}),r=[],n.__e(u,t.__v)}}),l&&l(t,r)},n.unmount=function(t){m&&m(t);var r,u=t.__c;u&&u.__H&&(u.__H.__.forEach(function(n){try{k(n)}catch(n){r=n}}),u.__H=void 0,r&&n.__e(r,u.__v))};var g=\"function\"==typeof requestAnimationFrame;function j(n){var t,r=function(){clearTimeout(u),g&&cancelAnimationFrame(t),setTimeout(n)},u=setTimeout(r,100);g&&(t=requestAnimationFrame(r))}function k(n){var t=r,u=n.__c;\"function\"==typeof u&&(n.__c=void 0,u()),r=t}function w(n){var t=r;n.__c=n.__(),r=t}function z(n,t){return!n||n.length!==t.length||t.some(function(t,r){return t!==n[r]})}function B(n,t){return\"function\"==typeof t?t(n):t}export{T as useCallback,q as useContext,x as useDebugValue,p as useEffect,P as useErrorBoundary,V as useId,A as useImperativeHandle,y as useLayoutEffect,F as useMemo,s as useReducer,_ as useRef,h as useState};\n//# sourceMappingURL=hooks.module.js.map\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\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 {\n CrossDomainWindowType,\n SameDomainWindowType,\n DomainMatcher,\n} from \"./types\";\nimport { PROTOCOL, WILDCARD } from \"./constants\";\n\nconst IE_WIN_ACCESS_ERROR = \"Call was rejected by callee.\\r\\n\";\n\nexport function getActualProtocol(win: SameDomainWindowType = window): ?string {\n return win.location.protocol;\n}\n\nexport function getProtocol(win: SameDomainWindowType = window): ?string {\n if (win.mockDomain) {\n const protocol = win.mockDomain.split(\"//\")[0];\n\n if (protocol) {\n return protocol;\n }\n }\n\n return getActualProtocol(win);\n}\n\nexport function isFileProtocol(win: SameDomainWindowType = window): boolean {\n return getProtocol(win) === PROTOCOL.FILE;\n}\n\nexport function isAboutProtocol(win: SameDomainWindowType = window): boolean {\n return getProtocol(win) === PROTOCOL.ABOUT;\n}\n\nexport function isMockProtocol(win: SameDomainWindowType = window): boolean {\n return getProtocol(win) === PROTOCOL.MOCK;\n}\n\nexport function getParent(\n win?: CrossDomainWindowType = window\n): ?CrossDomainWindowType {\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(\n win?: CrossDomainWindowType = window\n): ?CrossDomainWindowType {\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(\n win: CrossDomainWindowType | SameDomainWindowType\n): 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 const location = win.location;\n\n if (!location) {\n throw new Error(`Can not read window location`);\n }\n\n const protocol = getActualProtocol(win);\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 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 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 try {\n if (win === window) {\n return true;\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 } 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 (isMockProtocol(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 } catch (err) {\n // pass\n }\n\n return false;\n}\n\nexport function isSameDomain(\n win: CrossDomainWindowType | SameDomainWindowType\n): boolean {\n if (!isActuallySameDomain(win)) {\n return false;\n }\n\n try {\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 } catch (err) {\n // pass\n }\n\n return false;\n}\n\nexport function assertSameDomain(\n win: CrossDomainWindowType | SameDomainWindowType\n): 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(\n win: CrossDomainWindowType\n): $ReadOnlyArray {\n const result = [];\n\n try {\n while (win.parent !== win) {\n result.push(win.parent);\n win = win.parent;\n }\n } catch (err) {\n // pass\n }\n\n return result;\n}\n\nexport function isAncestorParent(\n parent: CrossDomainWindowType,\n child: CrossDomainWindowType\n): boolean {\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(\n win: CrossDomainWindowType\n): $ReadOnlyArray {\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 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\nexport function getAllChildFrames(\n win: CrossDomainWindowType\n): $ReadOnlyArray {\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(\n win?: CrossDomainWindowType = window\n): ?CrossDomainWindowType {\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(\n win?: CrossDomainWindowType = window\n): ?CrossDomainWindowType {\n return getOpener(getTop(win) || win);\n}\n\nexport function getUltimateTop(\n win?: CrossDomainWindowType = window\n): CrossDomainWindowType {\n const opener = getNextOpener(win);\n\n if (opener) {\n return getUltimateTop(opener);\n }\n\n return top;\n}\n\nexport function getAllFramesInWindow(\n win: CrossDomainWindowType\n): $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(\n win?: CrossDomainWindowType = window\n): $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 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 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(\n win: CrossDomainWindowType,\n allowMock: boolean = true\n): boolean {\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 } catch (err) {\n return true;\n }\n\n try {\n if (win.closed) {\n return true;\n }\n } catch (err) {\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 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 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\nexport function getFrameByName(\n win: CrossDomainWindowType,\n name: string\n): ?CrossDomainWindowType {\n const winFrames = getFrames(win);\n\n for (const childFrame of winFrames) {\n try {\n if (\n isSameDomain(childFrame) &&\n // $FlowFixMe\n childFrame.name === name &&\n winFrames.indexOf(childFrame) !== -1\n ) {\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(\n win: CrossDomainWindowType,\n name: string\n): ?CrossDomainWindowType {\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(\n win: CrossDomainWindowType,\n name: string\n): ?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(\n win: CrossDomainWindowType,\n frame: CrossDomainWindowType\n): boolean {\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(\n parent: CrossDomainWindowType,\n child: CrossDomainWindowType\n): boolean {\n return parent === getOpener(child);\n}\n\nexport function getAncestor(\n win?: CrossDomainWindowType = window\n): ?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(\n win: CrossDomainWindowType\n): $ReadOnlyArray {\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\nexport function isAncestor(\n parent: CrossDomainWindowType,\n child: CrossDomainWindowType\n): boolean {\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 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(\n win: CrossDomainWindowType = window\n): 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(\n win: CrossDomainWindowType,\n n: number = 1\n): ?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(\n win: CrossDomainWindowType,\n n: number = 1\n): ?CrossDomainWindowType {\n return getNthParent(win, getDistanceFromTop(win) - n);\n}\n\nexport function isSameTopWindow(\n win1: CrossDomainWindowType,\n win2: CrossDomainWindowType\n): boolean {\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(\n pattern: DomainMatcher,\n origin: DomainMatcher\n): boolean {\n if (typeof pattern === \"string\") {\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 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 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 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(\n win: CrossDomainWindowType,\n callback: Function,\n delay: number = 1000,\n maxtime: number = Infinity\n): {| cancel: () => void |} {\n let timeout;\n\n const check = () => {\n if (isWindowClosed(win)) {\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 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 // $FlowFixMe method-unbinding\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 // eslint-disable-next-line no-self-compare\n if (noop(obj === obj) === \"__unlikely_value__\") {\n return false;\n }\n } catch (err) {\n return true;\n }\n\n try {\n if (\n obj &&\n obj.__cross_domain_utils_window_check__ === \"__unlikely_value__\"\n ) {\n return false;\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 (\n typeof window !== \"undefined\" && typeof window.location !== \"undefined\"\n );\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 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\nexport function closeWindow(win: CrossDomainWindowType) {\n if (isIframe(win)) {\n const frame = getFrameForWindow(win);\n if (frame && frame.parentElement) {\n frame.parentElement.removeChild(frame);\n return;\n }\n }\n\n try {\n win.close();\n } catch (err) {\n // pass\n }\n}\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","var $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","/* @flow */\n\nexport const SUPPORTED_BROWSERS = {\n msie: \"11\",\n firefox: \"30\",\n chrome: \"27\",\n safari: \"7\",\n opera: \"16\",\n msedge: \"12\",\n samsungBrowser: \"2.1\",\n silk: \"59.3\",\n ucbrowser: \"10.0.0.488\",\n vivaldi: \"1.91\",\n};\n\nconst SANDBOX_ALIAS =\n \"AZDxjDScFpQtjWTOUtWKbyN_bDt4OgqaF4eYXlewfBP4-8aqX3PiV8e1GWU6liB2CUXlkA59kJXE7M6R\";\n\nexport const CLIENT_ID_ALIAS = {\n sandbox: SANDBOX_ALIAS,\n sb: SANDBOX_ALIAS,\n test: SANDBOX_ALIAS,\n};\n\nexport const URI = {\n LOGGER: `/xoplatform/logger/api/logger`,\n AUTH: `/v1/oauth2/token`,\n ORDER: `/v2/checkout/orders`,\n};\n","/* @flow */\n\nimport {\n getCurrentScriptUID,\n ATTRIBUTES,\n parseQuery,\n getBrowserLocales,\n base64decode,\n values,\n getCurrentScript,\n memoize,\n stringifyError,\n getScript,\n} from \"@krakenjs/belter/src\";\nimport {\n COUNTRY,\n SDK_SETTINGS,\n SDK_QUERY_KEYS,\n INTENT,\n COMMIT,\n VAULT,\n CURRENCY,\n FUNDING,\n CARD,\n COUNTRY_LANGS,\n DEFAULT_INTENT,\n DEFAULT_CURRENCY,\n DEFAULT_VAULT,\n QUERY_BOOL,\n LANG,\n type LocaleType,\n DEFAULT_SALE_COMMIT,\n DEFAULT_NONSALE_COMMIT,\n PAGE_TYPES,\n} from \"@paypal/sdk-constants/src\";\n\nimport { getPath, getDefaultNamespace, getSDKHost } from \"./global\";\nimport { CLIENT_ID_ALIAS } from \"./config\";\nimport { getComputedLocales } from \"./utils\";\n\ntype GetSDKScript = () => HTMLScriptElement;\n\nconst buildScriptNotFoundError = (host, path, error) => {\n const errorString = error ? stringifyError(error) : \"\";\n\n return new Error(\n `PayPal Payments SDK script not found on page! Expected to find