1/* AUTO-GENERATED by tools/build-js-bundles.mjs â do not edit by hand. */ 2/* Entry: JS/bundle-entries/account-page.ts */ 3globalThis.Beamo = globalThis.Beamo || {}; 4"use strict";(()=>{var Ee={endpoints:{search:"/PHP/api_request.php",searchStatus:"/PHP/search_status.php",publicStatus:"/PHP/status.php",instant:"/PHP/instant.php",location:"/PHP/location.php",searchAnalyticsInsights:"/PHP/search_analytics_insights.php",suggest:"/PHP/suggest.php",chat:"/PHP/chat.php",chatSync:"/PHP/chatsync.php",chatImport:"/PHP/chatimport.php",chatSeed:"/PHP/chatseed.php",chatRestore:"/PHP/chatrestore.php",summary:"/PHP/summary.php",urlAsk:"/PHP/url_ask.php",research:"/PHP/research.php",translate:"/PHP/translate.php",tts:"/PHP/tts.php",languageTools:"/PHP/language_tools.php",calcAssist:"/PHP/calc_assist.php",elementAsk:"/PHP/element_ask.php",anagram:"/PHP/anagram.php",holidays:"/PHP/holidays.php",earthquakes:"/PHP/earthquakes.php",countryStats:"/PHP/country_stats.php",tides:"/PHP/tides.php",hurricanes:"/PHP/hurricanes.php",packageLookup:"/PHP/package.php",recipe:"/PHP/recipe.php",entity:"/PHP/entity.php",xkcd:"/PHP/xkcd.php",apod:"/PHP/apod.php",onthisday:"/PHP/onthisday.php",sports:"/PHP/sports.php",stocks:"/PHP/stocks.php",topCompanies:"/PHP/topcompanies.php",watches:"/PHP/watches.php",emailMfa:"/PHP/email_mfa.php",overviewGate:"/PHP/overview_gate.php",layoutGate:"/PHP/layout_gate.php",overviewMedia:"/PHP/overview_media.php",deleteChat:"/PHP/deletechat.php",cancelChat:"/PHP/chatcancel.php",feedbackReport:"/PHP/feedback_report.php",feedbackIntent:"/PHP/feedback_intent.php",overviewFeedback:"/PHP/overview_feedback.php",audienceBeacon:"/PHP/audience_beacon.php",instantAnalytics:"/PHP/instant_analytics.php"},pages:{home:"/",results:"/results",account:"/account",settings:"/settings",accountVerify:"/account-verify",accountReset:"/account-reset",yourData:"/your-data",calculator:"/calculator"},storageKeys:{lastSearchType:"lastSearchType",searchHistory:"beamo-search-history",searchFilters:"beamo-search-filters",apiData:"apiData",assistantResponsePrefix:"response-",layoutGatePrefix:"layout-gate-v4-",overviewMediaPrefix:"overview-media-",overviewFeedback:"beamo-overview-feedback",homeChatLayout:"beamoHomeChatLayout",chatAutoSendSearch:"beamoChatAutoSendSearch",chatIncludeSearchPrefix:"beamoChatIncludeSearch:",chatCiteOnly:"beamo-chat-cite-only",savedSearches:"beamo-saved-searches",sitePreferences:"beamo-site-preferences",weatherUnits:"beamo-weather-units",uiLocale:"beamo-ui-locale",aiPreset:"beamo-ai-preset",aiPresetAuto:"beamo-ai-preset-auto",usageSearchCount:"beamo-usage-search-count",upsellAccountLastShown:"beamo-upsell-account-last-shown",upsellProLastShown:"beamo-upsell-pro-last-shown",deepReasoningProvider:"beamo-deep-reasoning-provider",deepOverview:"beamo-deep-overview",customInstructions:"beamo-custom-instructions",searchOnlyMode:"beamo-search-only-mode",aiFeatures:"beamo-ai-features",alwaysShowResults:"beamo-always-show-results",searchUpstreamDismissUntil:"beamo-search-upstream-dismiss-until",aiUpstreamDismissUntil:"beamo-ai-upstream-dismiss-until",syncRecentHistory:"beamo-accounts-sync-recent-history",syncLocalDirty:"beamo-sync-local-dirty",syncLocalErase:"beamo-sync-local-erase",syncLocalOwner:"beamo-sync-local-owner",supabaseSession:"beamo-supabase-session",accountPlan:"beamo-account-plan",legalConsent:"beamo-legal-consent"},messages:{chatConnectionError:"Sorry, there was an error connecting to the server. Please try again.",chatPartialSaved:"This reply may be incomplete. It was saved to your chat history \u2014 you can retry for a full answer."},timeouts:{chatDeleteMs:5e3,chatMs:6e4,chatAutoRetryBaseMs:1500,fetchDefaultMs:8e3,suggestMs:5e3,suggestDebounceMs:200,speculativeSearchDebounceMs:450,summaryMs:3e4,summaryAuthMs:1500,urlAskMs:45e3,researchMs:18e4,researchIdleMs:45e3,researchStatusMs:8e3,layoutGateMs:2500,overviewMediaMs:2e3,accountAuthMs:12e3,accountSyncMs:12e3,definitionMs:5e3,weatherMs:8e3,weatherAlertsMs:3500,instantMs:8e3,sportsMs:8e3,stocksMs:8e3,topCompaniesMs:8e3,watchesMs:8e3,conversionMs:6e3,geocodeMs:6e3,thesaurusMs:6e3,sunMs:8e3,airQualityMs:8e3,translateMs:12e3,languageToolsMs:14e3,calcAssistMs:25e3,elementAskMs:25e3,anagramMs:8e3,holidaysMs:8e3,onthisdayMs:8e3},limits:{searchHistoryMax:12,searchHistorySuggestMax:6,suggestMinCh
4ars:2,suggestMax:8,suggestPanelMax:10,savedSearchesMax:50,savedSearchesProMax:500,searchHistoryProMax:100,accountPasswordMin:8},extension:{productionOrigin:"https://beamosearch.com",chromeExtensionId:"ghfpmfejffpjebfokeikjimnommbpaon",chromeWebStoreUrl:"https://chromewebstore.google.com/detail/beamo-search/ghfpmfejffpjebfokeikjimnommbpaon"},external:{dictionaryApi:"https://api.dictionaryapi.dev/api/v2/entries/en/",openMeteoGeocoding:"https://geocoding-api.open-meteo.com/v1/search",nominatimSearch:"https://nominatim.openstreetmap.org/search",mapboxGeocoding:"https://api.mapbox.com/geocoding/v5/mapbox.places",mapboxSearchBox:"https://api.mapbox.com/search/searchbox/v1/forward",openMeteoForecast:"https://api.open-meteo.com/v1/forecast",openMeteoAirQuality:"https://air-quality-api.open-meteo.com/v1/air-quality",weatherGovApi:"https://api.weather.gov",frankfurterApi:"https://api.frankfurter.dev/v1/latest",exchangeRateApi:"https://open.er-api.com/v6/latest",datamuseApi:"https://api.datamuse.com/words",wiktionaryApi:"https://en.wiktionary.org/w/api.php",osrmRoute:"https://router.project-osrm.org/route/v1"}};function ft(e){e.config=Ee}function ne(e=globalThis.Beamo){let n=e?.config&&typeof e.config=="object"?e.config:{};return{...Ee,...n,endpoints:{...Ee.endpoints,...n.endpoints},pages:{...Ee.pages,...n.pages},storageKeys:{...Ee.storageKeys,...n.storageKeys},messages:{...Ee.messages,...n.messages},timeouts:{...Ee.timeouts,...n.timeouts},limits:{...Ee.limits,...n.limits},external:{...Ee.external,...n.external},extension:{...Ee.extension,...n.extension}}}var mt={settings:{button:"Settings",groupAppearance:"Appearance",groupAiAssistant:"AI assistant",groupSearch:"Search",groupChat:"Chat",groupPrivacyHistory:"Privacy & history",groupApp:"App",groupHelpLegal:"Help & legal",theme:"Theme",themeLight:"Light",themeDark:"Dark",themeSystem:"System",uiLanguage:"Interface language",uiLangEn:"English",uiLangDe:"Deutsch",uiLangEs:"Espa\xF1ol",uiLangFr:"Fran\xE7ais",uiLangPt:"Portugu\xEAs",uiLangZh:"\u4E2D\u6587",uiLangHi:"\u0939\u093F\u0928\u094D\u0926\u0940",uiLangJa:"\u65E5\u672C\u8A9E",uiLangBn:"\u09AC\u09BE\u0982\u09B2\u09BE",uiLangRu:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439",temperature:"Temperature",tempAuto:"Auto (Local)",tempFahrenheit:"Fahrenheit (\xB0F)",tempCelsius:"Celsius (\xB0C)",installApp:"Install app",addToHomeScreen:"Add to Home Screen",addToHomeScreenHelp:"Add to Home Screen instructions",appEmpty:"Beamo is ready to install from your browser\u2019s menu when available.",chatAutoSend:"Send search when opening Chat",chatAutoSendHint:"Uses your toolbar query once per search (optional).",searchOnly:"Disable AI",searchOnlyHint:"Turn off every AI feature in Beamo Search. Expand below to choose individual features.",aiFeaturesChoose:"Choose which AI features are on",aiFeaturesGroupAria:"Individual AI features",alwaysShowResults:"Always show search results",alwaysShowResultsHint:"Show web results even for instant answers that normally hide them.",aiFeatureOverviewLabel:"AI Overviews",aiFeatureOverviewHint:"The AI summary at the top of search results.",aiFeatureChatLabel:"AI Chat",aiFeatureChatHint:"Ask follow-up questions about a search in the Chat tab.",aiFeaturePeriodicAskLabel:"Periodic table AI",aiFeaturePeriodicAskHint:"\u201CAsk Beamo\u201D about an element in the periodic table.",aiFeatureCalcAssistLabel:"Calculator assistant",aiFeatureCalcAssistHint:"Solve word problems with the calculator\u2019s AI helper.",aiFeatureTranslateLabel:"AI translation",aiFeatureTranslateHint:"The interactive translation answer and widget.",aiFeatureLanguageToolsLabel:"Language tools",aiFeatureLanguageToolsHint:"Grammar, rewriting, and bilingual language helpers.",aiFeatureUrlAskLabel:"Ask about a URL",aiFeatureUrlAskHint:"Summarize or ask questions about a web page (Beamo Search Pro).",terms:"Terms of Service",privacy:"Privacy Policy",feedback:"Send feedback",travel:"Travel",blog:"Blog",support:"Support",setDefault:"Set as default search engine",faq:"FAQ",products:"Our Products",filtersGroup:"Search filters",clearHistory:"Clear search history",clearHistoryHour:"Last hour",clearHistoryWeek:"Last week",clearHistoryMonth:"Last month",clearHistoryYear:"Last year",clearHistoryAll:"All time",aiAnswers:"AI answers",aiPresetFaster:"Fast",aiPresetMedium:"Medium",aiPresetDeeper:"Deep",aiDeepProviderLabel:"Deep reasoning model",aiDeepProviderHint:"Beamo Search Pro \xB7 powers your Deep answers.",aiDeepOverviewTitle:"Deep answers in search",aiDeepOverviewHint:"Beamo Search Pro \xB7 also use your Deep model for the search AI Overview, not just Chat. On by default for Pro \u2014 turn it off here if you prefer faster overviews.",customInstru
4ctionsLabel:"Custom AI instructions",customInstructionsPlaceholder:"e.g. Always be concise, show your sources, and explain at an expert level.",customInstructionsHint:"Beamo Search Pro \xB7 saved and applied to every AI overview and chat answer.",watchesTitle:"Search watches",watchesHint:"Beamo Search Pro \xB7 we re-run these for you and email you when the results meaningfully change (a new top result or breaking news), judged by AI.",watchesAdd:"Add watch",watchesAddPlaceholder:"Search to monitor (e.g. \u201COpenAI news\u201D)",watchesAddAria:"Search to monitor",watchesEmpty:"You aren\u2019t watching any searches yet.",watchesRemove:"Remove",watchesActive:"Active",watchesPaused:"Paused",watchesNoChangeYet:"No changes yet",watchesAdded:"Now watching \u201C{query}\u201D.",watchesDuplicate:"You\u2019re already watching that search.",watchesLimit:"You can watch up to {limit} searches.",watchesError:"Something went wrong. Please try again.",watchesProRequired:"Search watches are a Beamo Search Pro feature."},feedbackForm:{title:"Report an issue",hint:"Describe what went wrong. Do not paste passwords, API keys, or full chat transcripts.",messageLabel:"Your message",messagePlaceholder:"What happened? What did you expect instead?",submit:"Send report",cancel:"Cancel"},consent:{title:"Before you start",message:"By using Beamo Search you agree to our Terms and Privacy Policy.",noteGdpr:"You're in a region with strong privacy laws (GDPR). We use only first-party storage for the site and privacy-safe analytics \u2014 no ads or cross-site tracking \u2014 and you can review, export, or delete your data anytime.",noteCcpa:"California: we don't sell or share your personal information, and you can review or delete your data anytime.",noteGeneral:"We keep it simple \u2014 search, AI features, and first-party product analytics only, no ad tracking \u2014 and you stay in control of your data.",privacy:"Privacy Policy",terms:"Terms",agree:"Agree & continue",dismiss:"Dismiss"},home:{searchPlaceholder:"Type a question or search term\u2026",title:"What do you want to know?"},discovery:{accountUpsell:{title:"Get more from Beamo Search \u2014 free",ariaLabel:"Create a free Beamo account",itemAnswers:"Smarter Medium-tier AI answers on every search.",itemResearch:"Research mode: cited deep-dive reports, 10 runs a month.",itemSync:"Your settings, chats, and preferences synced across devices.",cta:"Create a free account",dismiss:"Not now"},proUpsell:{title:"Do more with Beamo Search Pro",ariaLabel:"Upgrade to Beamo Search Pro",itemDeep:"Deep-tier answers on our most capable model, never downgraded.",itemResearch:"20 research runs a month with more advanced reports.",itemPerks:"Custom AI instructions, search watches, and Ask-about-a-URL.",cta:"Upgrade to Pro",dismiss:"Not now"}},toolbar:{search:"Search",searchPlaceholder:"Search",share:"Share",copyLink:"Copy link",shareSearchAria:"Share link to this search",copySearchAria:"Copy link to this search",watch:"Watch",watching:"Watching",watchSearchAria:"Watch this search for changes",research:"Research",researchAria:"Run deep research on this search",saveSearch:"Save",saveSearchAria:"Save this search to your account",goSearch:"Search",resultsFor:"Results for {query}"},tabs:{all:"All",chat:"Chat",images:"Images",news:"News",videos:"Videos",maps:"Maps",travel:"Travel",travelAria:"Search flights on Kiwi.com (opens in new tab)"},filters:{group:"Search filters",region:"Region",language:"Language",time:"Time",safeSearch:"Safe search",activePrefix:"Region",activeLanguage:"Language",activeTime:"Time",activeSafeSearch:"Safe search"},empty:{activeFilters:"Active filters: {list}",tryNext:"Try next:",noResultsTitle:"No {type} results for this search",noResultsLead:"We could not find any {type} results. Adjust your query or try a different view.",noResultsLeadRestrictive:"No web results matched your current filters. Broadening region, language, or time range often helps.",noResultsLeadStrict:"No web results with strict spelling. You can search the original wording or try another tab.",thinTitle:"Only {count} on Web",thinLead:"This search returned few web matches. Related topics or another tab may surface more.",thinLeadRelated:"These related searches may help.",typeWeb:"web",typeImages:"images",typeNews:"news",typeVideos:"videos",typeChat:"chat",countOne:"1 result",countMany:"{count} results",actionDisableStrict:"Search without spelling correction",actionResetFilters:"Reset filters to defaults",actionRetryWithoutFilters:"Retry without filters",actionTryImages:"Try Images",actionTryNews:"Try News",actionTryVideos:"Try Videos",actionTryWeb:"Try Web results",actionEditSearch:"Edit search query",actionsLabel:"Suggested next steps",relatedSearches:"Related searches",spellcheckTitle:"Try the suggested spelling",spellcheckLead:"Brave found results for \u201C{altered}\u201D. You searched for \u201C{original}\u201D with exact spelling.",spellcheckActionsLabel:"Spelling options",actionUseSpellcheck:"Search for \u201C{query}\u201D",actionSearchOriginalStrict:"Keep \u201C{query}\u201D (exact spelling)",noResultsLeadLooseWeb:"Turning off exact spelling finds about {count} web results. Use the buttons above or try another tab."},mapsPanel:{emptyQuery:"Enter a place or address to see it on the map.",loading:"Loading map\u2026",notFound:"We could not find a map location for \u201C{term}\u201D. Try a city, address, or landmark.",tilesFailed:"Map tiles could not be loaded. Try again or use Open in OpenStreetMap below.",loaded:"Map loaded for {label}.",loadedGeneric:"Map loaded.",directions:"Directions",details:"Details",website:"Website",call:"Call",openNow:"Open",closedNow:"Closed",placesFor:"Places for \u201C{term}\u201D",mapAriaLabel:"Interactive map of places for {term}. Use arrow keys to pan, plus and minus to zoom.",loadedPlaces:"{count} places found for {term}. Map loaded."},aiService:{unavailableTitle:"AI summaries aren't available right now",quotaTitle:"AI is maxed out for today",busyTitle:"AI is a bit busy right now",degradedTitle:"AI may be slower than usual",defaultMessage:"Your web results loaded fine. You can keep searching or give the AI overview another try.",quotaMessage:"We've hit today's limit for AI summaries. You can still search normally \u2014 AI will be back tomorrow.",busyMessage:"AI hit a few errors and needs a moment to recover. Search still works \u2014 try again shortly.",degradedMessage:"AI summaries might take a bit longer than usual or need a retry. Search still works.",tryLaterMessage:"AI is a bit overloaded right now. Try again in a moment.",unavailableMessage:"AI summaries and chat are down for now, but you can still search the web.",timeoutMessage:"The AI summary took too long. Try again and it should be faster.",retryOverview:"Retry AI overview",retryOverviewAria:"Retry AI overview",searchOnlyOn:"Search-only mode on",searchOnlyOff:"Continue without AI",statusLink:"Service status",dismiss:"Dismiss"},aiErrors:{dailyLimit:"We've hit today's limit for AI. You can still search \u2014 AI will be back tomorrow.",busy:"AI is a bit busy right now. Search still works \u2014 try again in a moment.",rateLimited:"You've sent a lot of AI requests. Wait a moment and try again."},searchUpstream:{degradedTitle:"Search may be a little slow",circuitTitle:"Search is catching up",staleTitle:"Showing saved results",majorTitle:"Search isn't loading right now",degradedMessage:"Results might be a bit slower than usual. Try refreshing if something looks off.",majorMessage:"Search isn't loading right now. Results saved on this device may still appear.",staleMessage:"The
4se results were saved from an earlier search while we catch up.",deviceCacheMessage:"Showing results saved on this device \u2014 live search isn't available at the moment.",statusLink:"Service status",dismiss:"Dismiss",retryAria:"Retry search"},errors:{requestFailed:"Something went wrong. Please try again.",loadResults:"We couldn't load results. Please try again.",retry:"Retry",tryAgainOneSecond:"Try again in 1 second",tryAgainSeconds:"Try again in {seconds} seconds",rateLimited:"You've made a lot of requests. Wait a moment and try again.",upstreamQuota:"Search isn't available at the moment. Give it a minute and try again.",circuitOpen:"Search is recovering and will be back shortly. Please try again in a moment.",originForbidden:"This request was blocked for security reasons.",invalidRequest:"This request couldn't be processed. Please try again."},chat:{connectionError:"Sorry, there was an error connecting to the server. Please try again.",stopped:"Previous response stopped.",partialSaved:"This reply may be incomplete. It was saved to your chat history \u2014 you can retry for a full answer.",scope:{contextLabel:"Search context",clearChat:"Clear chat",clearChatAria:"Clear chat history for this session",useThisSearch:"This search (default)",generalChat:"General chat",citeOnlyLabel:"Only cite numbered search results",citeOnlyHint:"Cite-only mode is on \u2014 answers stay within your result snippets and overview.",searchContextOn:"Search context on",searchContextOff:"Search context off"}},share:{copied:"Copied!",copyFailed:"Copy failed",linkCopied:"Link copied",shared:"Shared",searchLinkCopiedAria:"Search link copied to clipboard",searchLinkSharedAria:"Search link shared"},mobile:{appShellAria:"Beamo Search mobile app",brandAlt:"Beamo Search",themeToggleAria:"Switch to dark theme",themeToggleTitle:"Dark mode",searchLabel:"Search or enter address",searchPlaceholder:"Search or enter address",searchSubmit:"Search",shortcutGridAria:"Search categories",shortcutAll:"All",shortcutImages:"Images",shortcutNews:"News",shortcutVideos:"Videos",shortcutChat:"Chat",browserSurfaceAria:"Browser view",frameTitle:"Beamo browser view",offline:{banner:"You're offline. Cached Beamo pages in the viewer below may still work. Reconnect for new searches or external sites.",bannerCached:"You're offline. Showing cached Beamo results below. Reconnect to refresh or run a new search.",bannerCachedOnline:"You're online. The viewer below is showing cached search results saved on this device.",status:"Offline \u2014 reconnect for new searches and external sites.",statusCached:"Offline \u2014 showing cached Beamo results below.",statusCachedOnline:"Showing cached search results saved on this device.",statusBackOnline:"Back online.",blockExternal:"You're offline. External sites need a connection.",blockNavigation:"You're offline. Reconnect to open this page.",reload:"Reloading cached page\u2026",prefetchToggleOff:"Save searches for offline: Off",prefetchToggleOn:"Save searches for offline: On",prefetchUnavailable:"Saving searches for offline requires the production Beamo site (not a local dev server).",prefetchDialogTitle:"Save recent searches for offline?",prefetchDialogLead:"When enabled, Beamo may load your recent searches in the background while you are online so they stay available if you lose connection.",prefetchConfirm:"Enable",prefetchCancel:"Not now",prefetchDisable:"Turn off",prefetchProgress:"Updating offline copies\u2026",prefetchDone:"Offline copies updated."},nav:{back:"Back",backAria:"Back",forward:"Forward",forwardAria:"Forward",home:"Home",homeAria:"Home",reload:"Reload",reloadAria:"Reload",go:"Go",goAria:"Go"},status:{ready:"Ready",loading:"Loading\u2026",reloading:"Reloading\u2026",loaded:"Loaded. Use full screen if a site blocks embedded viewing.",addQuery:"Add a search query to open results.",lockBlocked:"Unlock the app to continue."},openFullscreen:"Open full screen",biometric:{lockToggleOn:"App lock: On",lockToggleOff:"App lock: Off",settingsAria:"App lock options",idleLabel:"Auto-lock after inactivity",idleOff:"Off",idle1m:"1 minute",idle5m:"5 minutes",idle15m:"15 minutes",idle30m:"30 minutes",lockOnLeaveLabel:"Lock when leaving the app",lockOnLeaveHint:"Shows the lock screen when you switch away (recommended for privacy).",promptO
4nResumeLabel:"Require unlock when returning",promptOnResumeHint:"Prompts Face ID, fingerprint, or device PIN when you open the app again.",title:"Unlock Beamo Search",lead:"Use Face ID or fingerprint to continue. App lock does not sign you out or clear site cookies in search.",leadDeviceCredential:"Use your device PIN, pattern, or password to continue. App lock does not sign you out or clear site cookies in search.",hintSignedIn:"Your Beamo account stays signed in inside search after unlock (session cookies are not cleared).",hintSignedOut:"Sign in from search settings after unlock if you use a Beamo account.",unlock:"Unlock with biometrics",unlockDevice:"Unlock with device PIN",authReason:"Unlock Beamo Search",authCancel:"Cancel",iosFallbackTitle:"Use passcode",androidTitle:"Unlock Beamo Search",androidSubtitle:"Use biometrics or your device PIN",unavailableAlert:"App lock needs Face ID, fingerprint, or a device PIN, pattern, or password. Set one in system settings, then try again."}},nav:{home:"Home",chat:"Chat"},mapsPack:{title:"Places",openMaps:"Open Maps",mapAriaLabel:"Map of places for {term}",nearYou:"near you"},sportsPack:{title:"Sports",live:"Live",today:"Today",yesterday:"Yesterday",tomorrow:"Tomorrow",attribution:"Scores via ESPN",matches:"Matches",schedule:"Schedule",standings:"Standings",leaders:"Leaders",vs:"vs",win:"W",loss:"L",draw:"D",home:"Home",away:"Away",streak:"Streak",last10:"Last 10",gameOf:"Game {game} of {of}",updatedAt:"Updated {time}",outsOne:"{count} out",outsOther:"{count} outs",allScores:"All scores",age:"Age {age}",injured:"Injured",nextGame:"Next",noStats:"Season stats aren't available right now.",playerProfile:"Full profile on ESPN"},richAnswer:{actionsGroup:"Answer actions",copy:"Copy",copied:"Copied",copyAria:"Copy this answer to the clipboard",copyTitle:"Copy this answer",share:"Share",shareAria:"Share this answer",shareTitle:"Share this answer",save:"Save",saved:"Saved",saveAria:"Save this answer to your saved instant answers",saveTitle:"Save this answer",prefs:"Prefs",prefsAria:"Card preferences",watch:"Watch",watching:"Watching",watchAria:"Watch this search for updates",watchSaved:"This instant-answer search is saved in Search watches.",watchLimit:"You have reached your watch limit.",watchError:"Could not save this watch. Please try again.",working:"\u2026",watchUpdates:"Watch updates",watchTrackingSaved:"This tracking search is saved in Search watches.",watchTrackingError:"Could not save this tracking watch. Please try again.",alertControls:"Alert controls",alertNote:"Saved watches use these domain-specific signals when the provider can supply them.",prefsHeading:"Card preferences",savePrefs:"Save preferences",prefDefaultWeatherLocation:"Default weather location",prefPreferredUnits:"Preferred units",prefUnitAuto:"Auto",prefUnitFahrenheit:"Fahrenheit",prefUnitCelsius:"Celsius",prefPreferredLanguage:"Preferred language",prefPreferredLanguagePlaceholder:"e.g. Spanish",prefHomeLanguage:"Home language",prefHomeLanguagePlaceholder:"e.g. English",prefHomeCity:"Home city",prefHomeCityPlaceholder:"e.g. Austin, TX",prefFinanceSymbols:"Favorite symbols",prefFinanceSymbolsPlaceholder:"e.g. AAPL, MSFT",prefHomeAirport:"Home airport",prefHomeAirportPlaceholder:"e.g. JFK",prefAlertThreshold:"Alert threshold",prefAlertThresholdPlaceholder:"e.g. 15",prefFavoriteTeams:"Favorite teams",prefFavoriteTeamsPlaceholder:"e.g. Lakers, Yankees",unavailableTitle:"Data temporarily unavailable",notFoundTitle:"Couldn't find that place",sourceQuality:"Source quality",sourceLabel:"Source",statusLabel:"Status",stateLabel:"State",whyLabel:"Why this showed",statusNotFound:"Not found",statusUnavailable:"Temporarily unavailable",stateNoMatch:"no match",stateDegraded:"degraded",dataProvider:"the data provider",retryAnswerAria:"Retry {kind} answer",whyNotFound:"Matched the {kind} instant-answer intent for \u201C{query}\u201D, but that place could not be located.",whyUnavailable:"Matched the {kind} instant-answer intent for \u201C{query}\u201D, but the provider could not be reached."},accounts:{signedOutIntro:"Optional Beamo account \u2014 sync saved searches, recent history, chat, and preferences across your devices.",comingSoonTitle:"Beamo accounts are coming soon",comingSoonBody:"Sign-in isn't available just yet. Soon you'll be able to create a free Beamo account to sync your saved searches, recent history, chat threads, and preferences across every device.",comingSoonNote:"Check back soon \u2014 your Beamo experience will follow you everywhere you search.",syncBenefitsHeading:"What syncs with your account",syncBenefitSaved:"Saved searches you pin from results",syncBenefitRecent:"Recent search history (when enabled in settings)",syncBenefitChat:"Chat conversation on this device",syncBenefitPrefs:"Theme, search f
4ilters, and other preferences",syncBenefitsSignedIn:"Sync is on for saved searches, recent history, chat, and preferences on this device.",signInGoogle:"Continue with Google",signInApple:"Continue with Apple",orDivider:"or",signInTitle:"Welcome back",signInSubtitle:"Sign in to sync your searches, history, and settings across devices.",createAccountTitle:"Create your account",createAccountSubtitle:"One free account keeps everything in sync across your devices.",signInSubmit:"Sign in",createAccountSubmit:"Create account",signInSwitchPrompt:"New to Beamo?",signInSwitchAction:"Create account",createSwitchPrompt:"Already have an account?",createSwitchAction:"Sign in",forgotPassword:"Forgot password?",otpToggle:"Email me a sign-in code instead",otpToggleBack:"Use a password instead",otpSendButton:"Email me a code",otpSentPrefix:"Enter the code we sent to ",otpCodeLabel:"Sign-in code",otpCodeHint:"Check your inbox \u2014 the code expires shortly. You can also tap the link in the email.",otpVerifyButton:"Sign in",otpResend:"Send a new code",manageHeading:"Email & password",changeEmailLabel:"Email address",changeEmailButton:"Update email",changeEmailNewLabel:"New email address",currentEmailPrefix:"Current: {email}. ",changeEmailHint:"We'll email both your current and new address to confirm the change.",changePasswordHeading:"Change password",changePasswordCurrentLabel:"Current password",changePasswordNewLabel:"New password",changePasswordConfirmLabel:"Confirm new password",changePasswordButton:"Update password",setPasswordHeading:"Add a password",setPasswordIntro:"You sign in with a connected account. Add a password so you can also sign in with your email.",setPasswordButton:"Email me a link to set a password",setPasswordSent:"Check your inbox for a link to set your password.",verifyBannerTitle:"Verify your email",verifyBannerBody:"We sent a link to your inbox. Open it on this device (or copy the link into this browser) to finish securing your account.",verifyBannerMobileHint:"Tip: if mail opened outside the Beamo app, return here after tapping the link.",resendVerification:"Resend verification email",conflictTitle:"Sync needs your attention",busyTitle:"Sync is busy",refreshPage:"Refresh page",trySyncAgain:"Try sync again",dismissSyncBanner:"Dismiss",verifyChecking:"Checking your verification link\u2026",verifyMissingToken:"Missing verification token. Open the link from your email.",verifySuccess:"Email verified successfully.",emailChangeSuccess:"Your email address change is confirmed on this side. If we asked you to confirm from your other inbox too, open that link to finish.",verifyContinueApp:"Continue in Beamo",verifyContinueWeb:"Back to Beamo Search",verifyOpenSettings:"Open settings",securityHeading:"Sign-in & security",passkeysHeading:"Passkeys",passkeysIntro:"Sign in with Face ID, Touch ID, or your device PIN \u2014 no password typing.",passkeysEmpty:"No passkeys yet. Add one on this device to sign in faster.",passkeysIosHint:"On iPhone, stay on this screen and approve the Face ID or Touch ID prompt when it appears.",passkeysEmbeddedHint:"Passkeys work best in Safari. If setup fail
4s in the app browser, open beamosearch.com in Safari, sign in, and add a passkey from Settings.",passkeyRegisterSuccess:"Passkey added. You can sign in with Face ID, Touch ID, or your device PIN on this device.",passkeySuccessDismiss:"Dismiss",passkeyRegistering:"Waiting for your device\u2026",sessionsHeading:"Active sessions",sessionsIntro:"These browsers and devices can access your signed-in account.",sessionsLoading:"Loading sessions\u2026",signOutEverywhere:"Sign out everywhere else",signOutEverywhereConfirm:"Sign out all other browsers and devices? They will need to sign in again. This device stays signed in.",signOutEverywhereSuccess:"Other sessions were signed out.",signOutEverywhereNone:"No other active sessions to sign out.",signOutHere:"Sign out on this device",revokeSession:"Revoke session",sessionCurrent:"This device",accountSettings:"Account settings",manageAccount:"Manage your account",yourDataPrivacy:"Your data & privacy",accountPageTitle:"Settings",settingsPageSubtitle:"Preferences, profile, security, billing, and your synced data.",searchSettingsPlaceholder:"Search settings",searchSettingsAria:"Search settings",searchSettingsClear:"Clear search",searchSettingsNoMatch:"No settings match your search.",sectionNavHeading:"On this page",sectionNavAria:"Jump to a settings section",proActiveBadge:"Beamo Search Pro active",proThanks:"Thanks for supporting Beamo \u2014 ads are off, the Deep AI tier is unlocked (and never downgraded), and you can ask Beamo about any link.",proRenews:"Renews {date}",proManage:"Manage subscription",proTagline:"Ad-free, the smartest AI Beamo offers, and 10\xD7 the memory \u2014 for less than a coffee a month.",proAnnual:"Annual",proMonthly:"Monthly",proSave:"Save {pct}%",proBillingCycleAria:"Billing cycle",proPerMonth:"/mo",proBilledYearly:"Billed yearly",proBilledMonthlySwitch:"Billed monthly \xB7 switch to annual anytime",proBilledMonthly:"Billed monthly",proBilledAnnualSave:"Billed {price} \u2014 save {amount} ({pct}%) vs monthly",proBilledAnnual:"Billed {price}",proUpgrade:"Upgrade to Pro",proOpeningCheckout:"Opening secure checkout\u2026",proCheckoutUnavailable:"Secure checkout is temporarily unavailable. Please try again.",proTrust:"Cancel anytime \xB7 Secure checkout by Stripe \xB7 Instant access",proBenefit1Title:"Deep AI answers",proBenefit1Body:"unlock Beamo\u2019s most thorough AI t
4ier \u2014 free tops out at Medium \u2014 and it powers your search AI Overview by default, not just Chat.",proBenefit2Title:"Priority AI, never downgraded",proBenefit2Body:"your Deep model keeps running even after the daily free pool is spent \u2014 Pro always gets the good model.",proBenefit3Title:"Ask about any link",proBenefit3Body:"paste a URL and Beamo reads the page, then summarizes it or answers your questions about it.",proBenefit4Title:"Pick your AI model",proBenefit4Body:"power your Deep answers with GPT or Claude, your choice.",proBenefit5Title:"Zero ads, ever",proBenefit5Body:"the affiliate Shop module never appears for Pro members.",proBenefit6Title:"10\xD7 more memory",proBenefit6Body:"keep up to 500 saved searches and 100 recent \u2014 synced everywhere.",msgCouldNotUpdateName:"Could not update your name.",msgVerificationSent:"Verification email sent.",msgCouldNotSendEmail:"Could not send email.",msgCouldNotExport:"Could not export your data.",msgChatHistoryDeleted:"Chat history deleted.",msgCouldNotDeleteChat:"Could not delete chat history.",msgCouldNotDeleteData:"Could not delete your data. Try again.",msgDownloadBlocked:"Your browser blocked the download. Try again.",passkeysRefresh:"Refresh passkeys",passkeysAdd:"Add passkey",passkeysCancelRequest:"Cancel passkey request",passkeysOpenInBrowser:"Open account security in browser",passkeyNameLabel:"Passkey name",mfaMethodLabel:"Verification method",mfaVerifyContinue:"Verify and continue",mfaFreshChallenge:"Start a fresh challenge",mfaSignOut:"Sign out",totpTitle:"Authenticator app (two-factor authentication)",totpEmpty:"No authenticator apps are set up.",totpActive:"Active",totpSetupIncomplete:"Setup incomplete",totpRemove:"Remove",totpCancelSetup:"Cancel setup",totpAdd:"Add an authenticator app",totpShowCode:"Show setup code",tabGeneral:"General",generalHeading:"Preferences",accountTabSignedOutBody:"Sign in to manage your profile, security, billing, and synced data. Your preferences on the General tab work without an account.",accountsUnavailableTitle:"Accounts aren't available",accountsUnavailableBody:"Optional Beamo accounts aren't enabled on this deployment yet. Your preferences on the General tab still work.",tabProfile:"Profile",tabSecurity:"Security",tabBilling:"Billing",tabData:"Data & privacy",billingProPlan:"You\u2019re on Beamo Search Pro.",billingFreePlan:"You\u2019re on the free plan.",billingUnavailableHint:"Beamo Search Pro upgrades aren\u2019t available on this deployment yet. Core search and AI answers are free.",profileHeading:"Profile",profileDisplayNameLabel:"Display name",profileDisplayNameHint:"The name shown across Beamo Search.",profileSaveName:"Save",profileEmailLabel:"Email address",profileSignInMethodsLabel:"Sign-in methods",profileMemberSince:"Member since",profileEmailUnverified:"Your email isn't verified yet.",profileSaved:"Profile updated.",signInToManage:"Sign in to manage your account",signInToManageBody:"Create a free Beamo account or sign in to access your profile, security, billing, and synced data.",dataHeading:"Your data",dataSyncedSummary:"These are synced to your account on this device.",dataSavedSearches:"Saved searches",dataRecentSearches:"Recent searches",dataChatMessages:"Chat messages",dataExport:"Export my data (JSON)",dataDeleteChat:"Delete chat history",dataEraseHeading:"Erase your data",dataEraseBody:"Permanently delete the searches, history, and chat Beamo has stored for you. Your account and sign-in stay \u2014 only your data is removed. This cannot be undone.",dataDeleteAll:"Delete all my data",dataDeleteAllConfirm:"Delete all of your saved searches, recent history, and chat from Beamo? Your account stays active. This cannot be undone.",dataDeleteAllDone:"All your data was deleted. Your account is still active.",dataDangerHeading:"Danger zone",dataDeleteAccount:"Delete account",dataDeleteAccountBody:"Permanently delete your Beamo account and all synced data. This cannot be undone.",dataDeleteAccountConfirm:"Delete your account and all synced data? This cannot be undone.",signIn:"Sign in",signOut:"Sign out",noSavedSearches:'No s
4aved searches yet. Use "Save" next to the search box on the results page.',removeSavedSearch:"Remove",buttonSignInAria:"Sign in or create an account",popoverAria:"Your Beamo account",syncErrorRetry:"Could not sync your account. Refresh the page, then try again.",createAccountError:"Could not create account.",confirmEmailFirst:"Check your inbox to confirm your email, then sign in.",deleteAccountError:"Could not delete your account.",verifyLinkExpired:"This verification link is invalid or has expired."},sitePrefs:{settingsTitle:"Site preferences",menuLabel:"Site options for {domain}",pin:"Pin to top",unpin:"Unpin from top",boost:"Boost this site",unboost:"Remove boost",block:"Block {domain}",unblock:"Unblock {domain}",signedOutPrompt:"Sign in to pin, boost, or block sites in your results \u2014 free with a Beamo account.",signInCta:"Sign in",badgePinned:"Pinned",badgeBoosted:"Boosted",badgeBlocked:"Blocked",hiddenOne:"1 result hidden by your site preferences",hiddenMany:"{count} results hidden by your site preferences",showHidden:"Show",hideHidden:"Hide",settingsHint:"Pin favorite sites to the top of your results, boost sites you trust, or block sites you never want to see. Preferences sync with your account.",settingsEmpty:"No site preferences yet. Add one above, or use the \u22EE control on any search result.",settingsSignedOut:"Sign in to your Beamo account (free) to pin, boost, or block sites in your search results.",settingsUnavailable:"Site preferences are unavailable on this server.",addPlaceholder:"example.com",addLabel:"Add a site",addActionLabel:"Preference for the new site",addButton:"Add",actionPin:"Pin to top",actionBoost:"Boost",actionBlock:"Block",rowActionLabel:"Preference for {domain}",removeButton:"Remove",removeLabel:"Remove preference for {domain}"},stocksPack:{title:"Stocks",marketOpen:"Market open",marketClosed:"Market closed",atClose:"At close",regularClose:"Last regular close",preMarket:"Pre-market",afterHours:"After hours",today:"today",open:"Open",high:"High",low:"Low",dayRange:"Day range",marketCap:"Mkt cap",peRatio:"P/E ratio",forwardPeRatio:"Forward P/E",epsTtm:"EPS (TTM)",epsForward:"Forward EPS",beta:"Beta",divYield:"Div yield",week52High:"52-wk high",week52Low:"52-wk low",week52Range:"52-wk range",volume:"Volume",averageVolume:"Avg volume",averageVolume10Day:"10-day avg vol",fiftyDayAverage:"50-day avg",twoHundredDayAverage:"200-day avg",sharesOutstanding:"Shares out",shortPercentOfFloat:"Short % float",shortRatio:"Days to cover",marketCapRank:"Cap rank",circulatingSupply:"Circ. supply",allTimeHigh:"All-time high",prevClose:"Prev close",compare:"Compare",attribution:"Data via Yahoo Finance \xB7 may be delayed",updatedAt:"Updated {time}",earnings:"Earnings",quarterlyFinancials:"Quarterly financials",news:"News",analysts:"Analysts",consensusStrongBuy:"Strong Buy",consensusBuy:"Buy",consensusHold:"Hold",consensusSell:"Sell",consensusStrongSell:"Strong Sell",analystCount:"{count} analysts",avgPriceTarget:"Avg target {target}",medianPriceTarget:"Median target {target}",priceTargetRange:"Target range {range}",priceTargetUpdated:"Target updated {date}",nextDividend:"Next dividend",latestDividend:"Latest dividend",dividendAmount:"Amount {amount}",exDividendDate:"Ex-date {date}",paymentDate:"Payment {date}",recordDate:"Record date {date}",declarationDate:"Declared {date}",epsBeat:"EPS beat",epsMiss:"EPS miss",epsActual:"EPS {actual}",epsActualVsEstimate:"EPS {actual} vs est. {estimate}",nextEarnings:"Next earnings \xB7 {date}",revenue:"Revenue",netIncome:"Net income",yoyChange:"{percent} YoY",options:"Options",maxPain:"Max pain",iv30:"IV (30d)",avgImpliedVolatility:"Avg IV",putCallOpenInterestRatio:"Put/call OI",putCallVolumeRatio:"Put/call vol",atmGreeks:"At-the-money Greeks",greekDelta:"\u0394",greekGamma:"\u0393",greekTheta:"\u0398",greekVega:"V",optionsVolumeLine:"Calls {calls} \xB7 Puts {puts}",activeOptions:"Active volume",optionCall:"Call",optionPut:"Put",optionContractSummary:"{side} {strike} \xB7 Vol {volume} \xB7 OI {openInterest}",optionActivityRatio:"{ratio}x OI",optionsAttribution:"Cboe delayed option quotes"}};function Mn(e){let n=e.process;
4return e===globalThis&&typeof n?.versions?.node=="string"}function gt(e=globalThis){if(Mn(e))return null;try{return e?.localStorage||null}catch{return null}}function ke(e,n,t=null){try{return gt(e)?.getItem(n)??t}catch{return t}}function Ae(e,n,t){try{let o=gt(e);return o?(o.setItem(n,t),!0):!1}catch{return!1}}function ht(e,n,t=null){let o=ke(e,n,"");if(!o)return t;try{return JSON.parse(o)}catch{return t}}function yt(e,n,t){try{return Ae(e,n,JSON.stringify(t))}catch{return!1}}var Rn=Object.freeze(["q","type","offset","country","lang","hl","safesearch","freshness","strictQuery"]),bt=Object.freeze(["token"]),Da=Object.freeze({q:["query","search"],type:["tab","result_type"],offset:["page_offset"],country:["region"],lang:["search_lang","language"],hl:["ui_lang","uiLang","locale"],strictQuery:["strict_query"],token:["verify_token","reset_token"]}),Oa=Object.freeze({home:{path:"/",keys:[],notes:"Omnibox submit navigates to results with q."},results:{path:"/results",keys:Rn,notes:"Primary search surface; use buildResultsPath() for parity."},"account-verify":{path:"/account-verify",keys:bt,notes:"Email verification link; canonical param token."},"account-reset":{path:"/account-reset",keys:bt,notes:"Password reset link; canonical param token."}});var ze="en",De="beamo:ui-locale-changed",vt={en:mt};var Fn=[{locale:"de",prefixes:["de"]},{locale:"en",prefixes:["en"]},{locale:"es",prefixes:["es"]},{locale:"fr",prefixes:["fr"]},{locale:"pt",prefixes:["pt"]},{locale:"zh",prefixes:["zh"]},{locale:"hi",prefixes:["hi"]},{locale:"ja",prefixes:["ja"]},{locale:"bn",prefixes:["bn"]},{locale:"ru",prefixes:["ru"]}];function Dn(e){let n=String(e??"").trim().toLowerCase().replace(/_/g,"-");if(!n)return ze;for(let{locale:t,prefixes:o}of Fn)if(o.some(a=>n===a||n.startsWith("".concat(a,"-"))))return t;return ze}function St(e,n){let t=String(n??"").split("."),o=e;for(let a of t){if(!o||typeof o!="object"||!(a in o))return null;o=o[a]}return typeof o=="string"?o:null}function On(e,n={}){return String(e).replace(/\{(\w+)\}/g,(t,o)=>{let a=n[o];return a==null?"":String(a)})}function Un(e,n={},t=ze){let o=Dn(t),a=St(vt[o],e)??St(vt[ze],e)??String(e);return On(a,n)}function me(e=globalThis){let n=e?.Beamo?.i18n?.t;return typeof n=="function"?n:(t,o)=>Un(t,o,ze)}function s(e){return me(globalThis)("accounts."+e)}var d={get signedOutIntro(){return s("signedOutIntro")},get comingSoonTitle(){return s("comingSoonTitle")},get comingSoonBody(){return s("comingSoonBody")},get comingSoonNote(){return s("comingSoonNote")},get syncBenefitsHeading(){return s("syncBenefitsHeading")},get syncBenefitSaved(){return s("syncBenefitSaved")},get syncBenefitRecent(){return s("syncBenefitRecent")},get syncBenefitChat(){return s("syncBenefitChat")},get syncBenefitPrefs(){return s("syncBenefitPrefs")},get syncBenefitsSignedIn(){return s("syncBenefitsSignedIn")},get signInGoogle(){return s("signInGoogle")},get signInApple(){return s("signInApple")},get orDivider(){return s("orDivider")},get signInTitle(){return s("signInTitle")},get signInSubtitle(){return s("signInSubtitle")},get createAccountTitle(){return s("createAccountTitle")},get createAccountSubtitle(){return s("createAccountSubtitle")},get signInSubmit(){return s("signInSubmit")},get createAccountSubmit(){return s("createAccountSubmit")},get signInSwitchPrompt(){return s("signInSwitchPrompt")},get signInSwitchAction(){return s("signInSwitchAction")},get createSwitchPrompt(){return s("createSwitchPrompt")},get createSwitchAction(){return s("createSwitchAction")},get forgotPassword(){return s("forgotPassword")},get otpToggle(){return s("otpToggle")},get otpToggleBack(){return s("otpToggleBack")},get otpSendButton(){return s("otpSendButton")},get otpSentPrefix(){return s("otpSentPrefix")},get otpCodeLabel(){return s("otpCodeLabel")},get otpCodeHint(){return s("otpCodeHint")},get otpVerifyButton(){return s("otpVerifyButton")},get otpResend(){return s("otpResend")},get manageHeading(){return s("manageHeading")},get changeEmailLabel(){return s("changeEmailLabel")},get changeEmailButton(){return s("changeEmailButton")},get changeEmailNewLabel(){return s("changeEmailNewLabel")},get changeEmailHint(){return s("changeEmailHint")},get changePasswordHeading(){return s("changePasswordHeading")},get changePasswordCurrentLabel(){return s("changePasswordCurrentLabel")},get changePasswordNewLabel(){return s("changePasswordNewLabel")},get changePasswordConfirmLabel(){return s("changePasswordConfirmLabel")},get changePasswordButton(){return s("changePasswordButton")},get setPasswordHeading(){return s("setPasswordHeading")},get setPasswordIntro(){return s("setPasswordIntro")},get setPasswordButton(){return s("setPasswordButton")},get setPasswordSent(){return s("setPasswordSent")},get verifyBannerTitle(){return s("verifyBannerTitle")},get verifyBannerBody(){return s("verifyBannerBody")},get verifyBannerMobileHint(){return s("verifyBannerMobileHint")},get resendVerification(){return s("resendVerification")},get conflictTitle(){return s("conflictTitle")},get busyTitle(){return s("busyTitle")},get refreshPage(){return s("refreshPage")}
4,get trySyncAgain(){return s("trySyncAgain")},get dismissSyncBanner(){return s("dismissSyncBanner")},get verifyChecking(){return s("verifyChecking")},get verifyMissingToken(){return s("verifyMissingToken")},get verifySuccess(){return s("verifySuccess")},get emailChangeSuccess(){return s("emailChangeSuccess")},get verifyContinueApp(){return s("verifyContinueApp")},get verifyContinueWeb(){return s("verifyContinueWeb")},get verifyOpenSettings(){return s("verifyOpenSettings")},get securityHeading(){return s("securityHeading")},get passkeysHeading(){return s("passkeysHeading")},get passkeysIntro(){return s("passkeysIntro")},get passkeysEmpty(){return s("passkeysEmpty")},get passkeysIosHint(){return s("passkeysIosHint")},get passkeysEmbeddedHint(){return s("passkeysEmbeddedHint")},get passkeyRegisterSuccess(){return s("passkeyRegisterSuccess")},get passkeySuccessDismiss(){return s("passkeySuccessDismiss")},get passkeyRegistering(){return s("passkeyRegistering")},get sessionsHeading(){return s("sessionsHeading")},get sessionsIntro(){return s("sessionsIntro")},get sessionsLoading(){return s("sessionsLoading")},get signOutEverywhere(){return s("signOutEverywhere")},get signOutEverywhereConfirm(){return s("signOutEverywhereConfirm")},get signOutEverywhereSuccess(){return s("signOutEverywhereSuccess")},get signOutEverywhereNone(){return s("signOutEverywhereNone")},get signOutHere(){return s("signOutHere")},get revokeSession(){return s("revokeSession")},get sessionCurrent(){return s("sessionCurrent")},get accountSettings(){return s("accountSettings")},get manageAccount(){return s("manageAccount")},get yourDataPrivacy(){return s("yourDataPrivacy")},get accountPageTitle(){return s("accountPageTitle")},get settingsPageSubtitle(){return s("settingsPageSubtitle")},get searchSettingsPlaceholder(){return s("searchSettingsPlaceholder")},get searchSettingsAria(){return s("searchSettingsAria")},get searchSettingsClear(){return s("searchSettingsClear")},get searchSettingsNoMatch(){return s("searchSettingsNoMatch")},get sectionNavAria(){return s("sectionNavAria")},get sectionNavHeading(){return s("sectionNavHeading")},get msgCouldNotUpdateName(){return s("msgCouldNotUpdateName")},get msgVerificationSent(){return s("msgVerificationSent")},get msgCouldNotSendEmail(){return s("msgCouldNotSendEmail")},get msgCouldNotExport(){return s("msgCouldNotExport")},get msgChatHistoryDeleted(){return s("msgChatHistoryDeleted")},get msgCouldNotDeleteChat(){return s("msgCouldNotDeleteChat")},get msgCouldNotDeleteData(){return s("msgCouldNotDeleteData")},get msgDownloadBlocked(){return s("msgDownloadBlocked")},get passkeysRefresh(){return s("passkeysRefresh")},get passkeysAdd(){return s("passkeysAdd")},get passkeysCancelRequest(){return s("passkeysCancelRequest")},get passkeysOpenInBrowser(){return s("passkeysOpenInBrowser")},get passkeyNameLabel(){return s("passkeyNameLabel")},get mfaMethodLabel(){return s("mfaMethodLabel")},get mfaVerifyContinue(){return s("mfaVerifyContinue")},get mfaFreshChallenge(){return s("mfaFreshChallenge")},get mfaSignOut(){return s("mfaSignOut")},get totpTitle(){return s("totpTitle")},get totpEmpty(){return s("totpEmpty")},get totpActive(){return s("totpActive")},get totpSetupIncomplete(){return s("totpSetupIncomplete")},get totpRemove(){return s("totpRemove")},get totpCancelSetup(){return s("totpCancelSetup")},get totpAdd(){return s("totpAdd")},get totpShowCode(){return s("totpShowCode")},get tabGeneral(){return s("tabGeneral")},get generalHeading(){return s("generalHeading")},get accountTabSignedOutBody(){return s("accountTabSignedOutBody")},get accountsUnavailableTitle(){return s("accountsUnavailableTitle")},get accountsUnavailableBody(){return s("accountsUnavailableBody")},get tabProfile(){return s("tabProfile")},get tabSecurity(){return s("tabSecurity")},get tabBilling(){return s("tabBilling")},get tabData(){return s("tabData")},get profileHeading(){return s("profileHeading")},get profileDisplayNameLabel(){return s("profileDisplayNameLabel")},get profileDisplayNameHint(){return s("profileDisplayNameHint")},get profileSaveName(){return s("profileSaveName")},get profileEmailLabel(){return s("profileEmailLabel")},get profileSignInMethodsLabel(){return s("profileSignInMethodsLabel")},get profileMemberSince(){return s("profileMemberSince")},get profileEmailUnverified(){return s("profileEmailUnverified")},get profileSaved(){return s("profileSaved")},get signInToManage(){return s("signInToManage")},get signInToManageBody(){return s("signInToManageBody")},get dataHeading(){return s("dataHeading")},get dataSyncedSummary(){return s("dataSyncedSummary")}
4,get dataSavedSearches(){return s("dataSavedSearches")},get dataRecentSearches(){return s("dataRecentSearches")},get dataChatMessages(){return s("dataChatMessages")},get billingProPlan(){return s("billingProPlan")},get billingFreePlan(){return s("billingFreePlan")},get billingUnavailableHint(){return s("billingUnavailableHint")},get dataExport(){return s("dataExport")},get dataDeleteChat(){return s("dataDeleteChat")},get dataEraseHeading(){return s("dataEraseHeading")},get dataEraseBody(){return s("dataEraseBody")},get dataDeleteAll(){return s("dataDeleteAll")},get dataDeleteAllConfirm(){return s("dataDeleteAllConfirm")},get dataDeleteAllDone(){return s("dataDeleteAllDone")},get dataDangerHeading(){return s("dataDangerHeading")},get dataDeleteAccount(){return s("dataDeleteAccount")},get dataDeleteAccountBody(){return s("dataDeleteAccountBody")},get dataDeleteAccountConfirm(){return s("dataDeleteAccountConfirm")}};var qn=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;function wt(e){let n=String(e??"").trim();return n===""?"Enter your email address.":n.length>254?"Email address must be 254 characters or fewer.":qn.test(n)?null:"Enter a valid email address."}var Et=/\p{L}/u,kt=/\d/;function at(e,n=8){let t=String(e??"");return[{id:"length",label:"At least ".concat(n," characters"),met:t.length>=n},{id:"letter",label:"At least one letter",met:Et.test(t)},{id:"digit",label:"At least one number",met:kt.test(t)}]}function $n(e,n=8,t=128){let o=String(e??"");return o===""?"Enter a password.":o.length>t?"Password must be ".concat(t," characters or fewer."):o.length<n?"Password must be at least ".concat(n," characters."):Et.test(o)?kt.test(o)?null:"Password must include at least one number.":"Password must include at least one letter."}function At({currentPassword:e,newPassword:n,confirmPassword:t},{minPassword:o=8,maxPassword:a=128}={}){let r={};String(e??"")===""&&(r.currentPassword="Enter your current password.");let c=$n(n,o,a);return c?r.newPassword=c:String(n??"")===String(e??"")&&(r.newPassword="Choose a password different from your current one."),String(t??"")!==String(n??"")&&(r.confirmPassword="Passwords do not match."),r}function Se({id:e,label:n,input:t,hint:o="",optional:a=!1}){let r=document.createElement("div");r.className="settings-account__field";let c=document.createElement("label");c.className="settings-account__label",c.htmlFor=e,c.textContent=a?"".concat(n," (optional)"):n;let p=document.createElement("div");p.className="settings-account__control",t.id=e,t.classList.add("settings-account__input");let u=document.createElement("span");u.id="".concat(e,"-hint"),u.className="settings-account__hint",u.textContent=o,o||(u.hidden=!0);let i=document.createElement("span");return i.id="".concat(e,"-error"),i.className="settings-account__field-error",i.hidden=!0,i.setAttribute("role","alert"),t.setAttribute("aria-describedby",o?"".concat(e,"-hint ").concat(e,"-error"):"".concat(e,"-error")),p.append(t),r.append(c,p,u,i),{field:r,input:t,errorEl:i,hintEl:u}}function _t(e,{minLength:n=8,id:t="password-requirements"}={}){let o=e.createElement("ul");o.className="settings-account__password-reqs",o.id=t,o.setAttribute("aria-label","Password requirements");let a=new Map;for(let c of at("",n)){let p=e.createElement("li");p.className="settings-account__password-req",p.dataset.met="false";let u=e.createElement("span");u.className="settings-account__password-req-mark",u.setAttribute("aria-hidden","true");let i=e.createElement("span");i.className="settings-account__password-req-text",i.textContent=c.label,p.append(u,i),o.appendChild(p),a.set(c.id,{li:p,text:i})}function r(c){for(let p of at(c,n)){let u=a.get(p.id);u&&(u.li.dataset.met=p.met?"true":"false",u.li.setAttribute("aria-label","".concat(p.label,": ").concat(p.met?"met":"not met")))}}return r(""),{el:o,update:r}}function re(e,n,t){if(!(!e||!n)){if(t){e.textContent=t,e.hidden=!1,n.setAttribute("aria-invalid","true");return}e.textContent="",e.hidden=!0,n.removeAttribute("aria-invalid")}}function zn(e){return(Array.isArray(e?.factors)?e.factors:[]).filter(n=>["totp","email"].includes(String(n?.factor_type))&&n?.status==="verified"&&n.id)}function ge(e,n){return e?.data?.error?.message||n}function rt(e){return/^\d{6}$/.test(e.replace(/\s+/g,""))}function Ct(e,n){let{coordinator:t,global:o}=n,a=e.ownerDocument||o.document,r=t.getState().mfa;e.replaceChildren();let c=a.createElement("section");c.className="settings-account__mfa-challenge",c.setAttribute("aria-labelledby","mfa-challenge-title");let p=a.createElement("h2");p.id="mfa-challenge-title",p.className="settings-account__title",p.textContent="Two-factor verification required";let u=a.createElement("p");u.className="settings-account__subtitle",u.textContent="Enter a code from a verified second factor before accessing your account data.";let i=a.createElement("p");if(i.className="settings-account__mfa-status",i.setAttribute("role","status"),i.setAttribute("aria-live","polite"),c.append(p,u,i),!r?.checked){i.textContent=r?.error?.message||"We could not verify your two-factor security status. Retry before continuing.";let _=a.createElement("button");return _.type="button",_.className="settings-account__secondary",_.textContent="Retry security check",_.addEventListener("click",async()=>{_.disabled=!0,await t.refreshStatus?.(),_.disabled=!1}),c.append(_,T()),e.append(c),_.focus(),{refresh(){}}}let f=zn(r);if(f.length===0)return i.textContent="Your two-factor setup changed. Refresh the security check before continuing.",c.append(T()),e.append(c),{refresh(){}};let m=a.createElement("form");m.className="settings-account__form settings-account__mfa-form",m.noValidate=!0;let L=f[0];if(f.length>1){let _=a.createElement("label");_.className="settings-account__label",_.htmlFor="mfa-factor-select",_.textContent=d.mfaMethodLabel;let N=a.createElement("select");N.id="mfa-factor-select",N.className="settings-account__input";for(let S of f){let k=a.createElement("option");k.value=String(S.id),k.textContent=S.factor_type==="email"?"Email code":String(S.friendly_name||"Authenticator app"),N.append(k)}N.addEventListener("change",()=>{L=f.find(S=>String(S.id)===N.value)||f[0],P()}),m.append(_,N)}let w=a.createElement("input");w.type="text",w.inputMode="numeric",w.autocomplete="one-time-code",w.maxLength=6,w.setAttribute("pattern","[0-9]{6}");let A=Se({id:"mfa-challenge-code",label:"Six-digit verification code",input:w,hint:"Use the newest code. If it expires, request a fresh challenge."}),y=a.createElement("button");y.type="submit",y.className="settings-account__primary",y.textContent=d.mfaVerifyContinue;let v=a.createElement("button");v.type="button",v.className="settings-account__link-button",v.textContent=d.mfaFreshChallenge,m.append(A.field,y,v),c.append(m,F()),e.append(c);let E="";async function P(){v.disabled=!0,y.disabled=!0;let _=L.factor_type==="email";if(_&&!r?.email?.primaryEligible){E="",v.disabled=!1,y.disabled=!0,i.textContent="An email sign-in code cannot also be your second factor. Sign out and use your password, Google, Apple, a Passkey, or an authenticator app.";return}i.textContent=_?"Sending a fresh email code\u2026":"Starting a fresh challenge\u2026";
4let N=_?await t.client.beginEmailMfaChallenge():await t.client.beginTotpChallenge({factorId:L.id});v.disabled=!1,y.disabled=!1;let S=String(N.data?.challengeId||N.data?.id||"");if(!N.ok||!S){E="",i.textContent=ge(N,"Could not start a challenge. Try again."),v.focus();return}E=S,i.textContent=_?"Enter the code sent to ".concat(String(N.data?.maskedEmail||"your verified email"),"."):"Enter the current code from your authenticator app.",w.focus()}v.addEventListener("click",()=>{P()}),m.addEventListener("submit",async _=>{_.preventDefault();let N=w.value.replace(/\s+/g,"");if(!rt(N)){re(A.errorEl,w,"Enter a six-digit code."),w.focus();return}if(!E){re(A.errorEl,w,"Start a fresh challenge first."),v.focus();return}re(A.errorEl,w,null),y.disabled=!0,i.textContent="Verifying\u2026";let S=L.factor_type==="email"?await t.client.verifyEmailMfaChallenge({challengeId:E,code:N}):await t.client.verifyTotpChallenge({factorId:L.id,challengeId:E,code:N});if(y.disabled=!1,!S.ok){E="";let k=S.data?.error?.code==="challenge_expired";i.textContent=k?"That challenge expired. Start a fresh challenge and try again.":ge(S,"That code was not accepted. Try a fresh challenge."),w.select?.(),w.focus();return}i.textContent="Two-factor verification complete.",await t.refreshStatus?.(),await t.mergePullAndPush?.({source:"mfa-verified"})});function F(){let _=a.createElement("div");_.className="settings-account__mfa-recovery";let N=a.createElement("p");return N.className="settings-account__hint",N.textContent=f.length>1?"Choose another verified method above if this one is unavailable.":L.factor_type==="email"?"Cannot access your email? Sign out and use another verified factor, or contact support for account recovery guidance.":"Lost your authenticator app? Do not bypass verification. Sign out and use another verified factor, or contact support for account recovery guidance.",_.append(N,T()),_}function T(){let _=a.createElement("button");return _.type="button",_.className="settings-account__link-button",_.textContent=d.mfaSignOut,_.addEventListener("click",()=>{t.logout?.()}),_}return P(),{refresh(){}}}function Pt(e,n){let{coordinator:t,global:o,onMessage:a}=n,r=e.ownerDocument||o.document,c=t.getState().mfa,p=r.createElement("section");p.className="settings-account__mfa-security",p.setAttribute("aria-labelledby","mfa-security-title");let u=r.createElement("h4");u.id="mfa-security-title",u.className="settings-account__manage-heading",u.textContent=d.totpTitle;let i=r.createElement("p");if(i.className="settings-account__subtitle",i.textContent="Optional. Once a verified authenticator app is added, account data requires a second-factor code after sign-in.",p.append(u,i),!c?.checked){let y=r.createElement("p");return y.className="settings-account__field-error",y.setAttribute("role","alert"),y.textContent=c?.error?.message||"Could not load two-factor settings. Refresh and try again.",p.append(y),e.append(p),{refresh(){}}}let f=Array.isArray(c.factors)?c.factors.filter(y=>y?.factor_type==="totp"):[],m=r.createElement("ul");if(m.className="settings-account__mfa-factors",f.length===0){let y=r.createElement("li");y.className="settings-account__empty",y.textContent=d.totpEmpty,m.append(y)}for(let y of f){let v=r.createElement("li");v.className="settings-account__credential-row settings-account__credential-row--authenticator";let E=r.createElement("div");E.className="settings-account__credential-main";let P=r.createElement("span");P.className="settings-account__credential-icon settings-account__credential-icon--authenticator",P.setAttribute("aria-hidden","true");let F=r.createElement("div");F.className="settings-account__credential-copy";let T=r.createElement("span");T.className="settings-account__credential-name",T.textContent=String(y.friendly_name||"Authenticator app");let _=y.status==="verified",N=r.createElement("span");N.className="settings-account__credential-state settings-account__credential-state--".concat(_?"active":"pending"),N.textContent=_?d.totpActive:d.totpSetupIncomplete,F.append(T,N),E.append(P,F);let S=r.createElement("div");S.className="settings-account__credential-actions";let k=r.createElement("button");k.type="button",k.className=_?"settings-account__credential-remove":"settings-account__secondary settings-account__credential-action",k.textContent=y.status==="verified"?d.totpRemove:d.totpCancelSetup,k.addEventListener("click",async()=>
4{let $=y.status==="verified"&&Number(c.verifiedFactorCount||0)<=1,B=$?"Disable two-factor authentication? This removes your final verified authenticator and immediately lowers account protection.":"Remove ".concat(y.friendly_name||"this authenticator","?");if(!o.confirm?.(B))return;k.disabled=!0;let D=await t.client.removeTotpFactor({factorId:y.id,confirmDisable:$});if(k.disabled=!1,!D.ok){a?.(ge(D,"Could not change your authenticator setup."),{isError:!0});return}await t.refreshStatus?.(),a?.($?"Two-factor authentication disabled.":"Authenticator removed.")}),S.append(k),v.append(E,S),m.append(v)}p.append(m);let L=r.createElement("button");L.type="button",L.className="settings-account__secondary",L.textContent=d.totpAdd,p.append(L),e.append(p);let w="",A=null;return L.addEventListener("click",()=>{if(A)return;A=r.createElement("form"),A.className="settings-account__form settings-account__mfa-enroll",A.noValidate=!0;let y=r.createElement("input");y.type="text",y.maxLength=120,y.value="Authenticator app";let v=Se({id:"mfa-enroll-label",label:"Authenticator label",input:y}),E=r.createElement("button");E.type="button",E.className="settings-account__primary",E.textContent=d.totpShowCode;let P=r.createElement("button");P.type="button",P.className="settings-account__link-button",P.textContent="Cancel",A.append(v.field,E,P),p.append(A);let F=async()=>{if(!w)return!0;let T=await t.client.cancelTotpEnrollment({factorId:w});return T.ok?(w="",!0):(a?.(ge(T,"Could not cancel the unfinished authenticator setup. Retry cancellation before leaving this screen."),{isError:!0}),!1)};P.addEventListener("click",()=>{(async()=>{P.disabled=!0;let T=await F();if(P.disabled=!1,!T){P.textContent="Retry cancellation",P.focus();return}A?.remove(),A=null})()}),E.addEventListener("click",async()=>{E.disabled=!0;let T=await t.client.beginTotpEnrollment({friendlyName:y.value});if(E.disabled=!1,!T.ok||!T.data?.factor?.id||!T.data.secret){a?.(ge(T,"Could not start authenticator setup."),{isError:!0});return}w=String(T.data.factor.id);let _=await t.client.beginTotpChallenge({factorId:w});if(!_.ok||!_.data?.id){let V=await F();if(a?.(ge(_,"Could not start authenticator setup."),{isError:!0}
4),V)A?.remove(),A=null;else{E.disabled=!0;let Y=r.createElement("button");Y.type="button",Y.className="settings-account__secondary",Y.textContent="Retry cancellation",Y.addEventListener("click",async()=>{Y.disabled=!0;let oe=await F();Y.disabled=!1,oe&&(A?.remove(),A=null)}),A?.append(Y)}return}let N=String(_.data.id);v.field.hidden=!0,E.hidden=!0;let S=String(T.data.qrCode||"").trim(),k=r.createElement("input");k.type="text",k.readOnly=!0,k.value=String(T.data.secret),k.autocomplete="off";let $=Se({id:"mfa-enroll-secret",label:"Or enter this setup key manually",input:k,hint:"This key is shown only during setup. Do not share it."}),B=r.createElement("input");B.type="text",B.inputMode="numeric",B.autocomplete="one-time-code",B.maxLength=6;let D=Se({id:"mfa-enroll-code",label:"Six-digit code from your app",input:B}),G=r.createElement("button");G.type="submit",G.className="settings-account__primary",G.textContent="Finish two-factor setup";let W=r.createElement("button");if(W.type="button",W.className="settings-account__link-button",W.textContent="Start a fresh challenge",S){let V=r.createElement("img");V.className="settings-account__mfa-qr",V.src=S,V.alt="Scan this QR code with your authenticator app",A.append(V)}A.append($.field,D.field,G,W),B.focus();let ue=async()=>{W.disabled=!0,G.disabled=!0;let V=await t.client.beginTotpChallenge({factorId:w});return W.disabled=!1,G.disabled=!1,!V.ok||!V.data?.id?(re(D.errorEl,B,ge(V,"Could not start a fresh challenge. Try again.")),W.focus(),!1):(N=String(V.data.id),B.value="",re(D.errorEl,B,null),B.focus(),!0)};W.addEventListener("click",()=>{ue()}),A.addEventListener("submit",async V=>{V.preventDefault();let Y=B.value.replace(/\s+/g,"");if(!rt(Y)){re(D.errorEl,B,"Enter a six-digit code."),B.focus();return}G.disabled=!0;let oe=await t.client.verifyTotpChallenge({factorId:w,challengeId:N,code:Y});if(G.disabled=!1,!oe.ok){let _e=oe.data?.error?.code==="challenge_expired";re(D.errorEl,B,_e?"That challenge expired. Start a fresh challenge and enter a new code.":ge(oe,"That code was not accepted. Try again or start a fresh challenge.")),B.focus();return}w="",k.value="",A?.remove(),A=null,await t.refreshStatus?.(),a?.("Two-factor authentication is active.")})})}),{refresh(){}}}function Tt(e,n){let{coordinator:t,global:o,onMessage:a}=n,r=e.ownerDocument||o.document,c=t.getState().mfa,p=c?.email||{enabled:!1,verified:!1,primaryEligible:!1},u=r.createElement("section");u.className="settings-account__mfa-security settings-account__email-mfa-security",u.setAttribute("aria-labelledby","email-mfa-security-title");let i=r.createElement("h4");i.id="email-mfa-security-title",i.className="settings-account__manage-heading",i.textContent="Email code (two-factor authentication)";let f=r.createElement("p");f.className="settings-account__subtitle",f.textContent="Optional. Beamo sends a short-lived, single-use code to your verified account email after an independent sign-in.";let m=r.createElement("p");if(m.className="settings-account__mfa-status",m.setAttribute("role","status"),m.setAttribute("aria-live","polite"),u.append(i,f,m),!c?.checked)return m.setAttribute("role","alert"),m.textContent=c?.error?.message||"Could not load email two-factor settings. Refresh and try again.",e.append(u),{refresh(){}};if(p.enabled){let y=r.createElement("p");y.className="settings-account__hint",y.textContent=p.verified?"Active and verified for this session.":"Active. You will be asked for an email code before protected account data is available.";let v=r.createElement("button");return v.type="button",v.className="settings-account__secondary",v.textContent="Disable email two-factor",v.addEventListener("click",async()=>{if(!p.verified){m.setAttribute("role","alert"),m.textContent="Complete email two-factor verification before disabling it.";return}if(o.confirm?.("Disable email two-factor authentication? This immediately lowers account protection.")===!1)return;v.disabled=!0,m.setAttribute("role","status"),m.textContent="Disabling email two-factor\u2026";let E=await t.client.disableEmailMfa();if(v.disabled=!1,!E.ok){m.setAttribute("role","alert"),m.textContent=ge(E,"Could not disable email two-factor authentication.");return}await t.refreshStatus?.(),a?.("Email two-factor authentication disabled.")}),u.append(y,v),e.append(u),{refresh(){}}}if(!p.primaryEligible){let y=r.createElement("p");return y.className="settings-account__hint",y.textContent="To add email as a second factor, sign in with your password, Google, Apple, or a Passkey. An email sign-in code cannot count as both factors.",u.append(y),e.append(u),{refresh(){}}}let L=r.createElement("button");L.type="button",L.className="settings-account__secondary",L.textContent="Add email verification",u.append(L),e.append(u);let w=null,A="";return L.addEventListener("click",async()=>
4{if(w)return;L.disabled=!0,m.setAttribute("role","status"),m.textContent="Sending a verification code\u2026";let y=await t.client.beginEmailMfaEnrollment();if(L.disabled=!1,A=String(y.data?.challengeId||y.data?.id||""),!y.ok||!A){m.setAttribute("role","alert"),m.textContent=ge(y,"Could not send the enrollment code.");return}m.textContent="Enter the code sent to ".concat(String(y.data?.maskedEmail||"your verified email"),"."),w=r.createElement("form"),w.className="settings-account__form settings-account__mfa-enroll settings-account__email-mfa-enroll",w.noValidate=!0;let v=r.createElement("input");v.type="text",v.inputMode="numeric",v.autocomplete="one-time-code",v.maxLength=6,v.setAttribute("pattern","[0-9]{6}");let E=Se({id:"email-mfa-enroll-code",label:"Six-digit email code",input:v,hint:"The code expires in 10 minutes and can be used only once."}),P=r.createElement("button");P.type="submit",P.className="settings-account__primary",P.textContent="Finish email two-factor setup";let F=r.createElement("button");F.type="button",F.className="settings-account__link-button",F.textContent="Send a new code";let T=r.createElement("button");T.type="button",T.className="settings-account__link-button",T.textContent="Cancel",w.append(E.field,P,F,T),u.append(w),v.focus();let _=async()=>{F.disabled=!0,P.disabled=!0,m.textContent="Sending a new code\u2026";let N=await t.client.beginEmailMfaEnrollment();F.disabled=!1,P.disabled=!1;let S=String(N.data?.challengeId||N.data?.id||"");if(!N.ok||!S){m.setAttribute("role","alert"),m.textContent=ge(N,"Could not send a new code.");return}A=S,v.value="",re(E.errorEl,v,null),m.setAttribute("role","status"),m.textContent="Enter the newest code sent to ".concat(String(N.data?.maskedEmail||"your verified email"),"."),v.focus()};F.addEventListener("click",()=>{_()}),T.addEventListener("click",()=>{A="",w?.remove(),w=null,m.textContent="",L.focus()}),w.addEventListener("submit",async N=>{N.preventDefault();let S=v.value.replace(/\s+/g,"");if(!rt(S)){re(E.errorEl,v,"Enter a six-digit code."),v.focus();return}P.disabled=!0,m.setAttribute("role","status"),m.textContent="Verifying\u2026";let k=await t.client.verifyEmailMfaChallenge({challengeId:A,code:S});if(P.disabled=!1,!k.ok){m.setAttribute("role","alert"),m.textContent=ge(k,"That code was not accepted. Request a new code and try again."),v.select?.(),v.focus();return}A="",w?.remove(),w=null,await t.refreshStatus?.(),a?.("Email two-factor authentication is active.")})}),{refresh(){}}}var Ie=Object.freeze({PWA_IFRAME_STATE:"pwa-iframe-state",PWA_IFRAME_ACCOUNT:"pwa-iframe-account",PWA_IFRAME_ACCOUNT_VERIFIED:"pwa-iframe-account-verified",PWA_IFRAME_HOME:"pwa-iframe-home",PWA_IFRAME_NAVIGATE:"pwa-iframe-navigate"}),nr=Object.freeze(Object.values(Ie)),ar=Object.freeze({[Ie.PWA_IFRAME_STATE]:{required:["offline"],optional:["cachedResults"],booleans:["offline","cachedResults"]},[Ie.PWA_IFRAME_ACCOUNT]:{required:["enabled","signedIn"],booleans:["enabled","signedIn"]},[Ie.PWA_IFRAME_ACCOUNT_VERIFIED]:{required:[]},[Ie.PWA_IFRAME_HOME]:{required:[]},[Ie.PWA_IFRAME_NAVIGATE]:{required:["url"],strings:["url"],httpUrls:["url"]}});function xt(e){let n=e.parent;return!!(n&&n!==e)}var Nt=120;function Lt(e){return String(e||"").trim().replace(/\s+/g," ").slice(0,Nt)}function Bt(e,n="en"){let t=new Date(String(e||""));if(!Number.isFinite(t.getTime()))return"";try{return new Intl.DateTimeFormat(n||"en",{day:"numeric",month:"short",year:"numeric"}).format(t)}catch{return t.toISOString().slice(0,10)}}function Gn(e,n){let t=Bt(e.created_at,n),o=Bt(e.last_used_at,n);return t&&o?"Added ".concat(t," \xB7 Last used ").concat(o):o?"Last used ".concat(o):t?"Added ".concat(t):"Ready to use"}function It(e,n){let t=e.ownerDocument||n.global.document,o=e.querySelector(".settings-account__security");o&&o.remove();let{coordinator:a,global:r,onMessage:c}=n,p=a.getState();if(!p.signedIn)return null;let i=ne(n.beamo||void 0).limits?.accountPasswordMin||8,f=128,m=String(p.account?.email||""),L=!!p.hasPassword,w=t.createElement("section");w.className="settings-account__security",w.setAttribute("aria-labelledby","settings-account-security-title");let A=t.createElement("h3");A.id="settings-account-security-title",A.className="settings-account__security-title",A.textContent=d.securityHeading,w.appendChild(A);let y=t.createElement("div");y.className="settings-account__manage";let v=t.createElement("h4");v.className="settings-account__manage-heading",v.textContent=d.manageHeading,y.appendChild(v),y.appendChild(_e()),y.appendChild(L?Q():ye()),w.appendChild(y);let E=t.createElement("div");E.className="settings-account__mfa-host",Pt(E,{coordinator:a,global:r,onMessage:c}),w.appendChild(E);let P=t.createElement("div");P.className="settings-account__mfa-host settings-account__email-mfa-host",Tt(P,{coordinator:a,global:r,onMessage:c}),w.appendChild(P);let F=t.createElement("div");F.className="settings-account__passkeys";let T=t.createElement("div");T.className="settings-account__passkeys-header";let _=t.createElement("div");_.className="settings-account__passkeys-title";let N=t.createElement("h4");N.className="settings-account__manage-heading",N.textContent=d.passkeysHeading,_.append(N);let S=t.createElement("p");S.className="settings-account__subtitle",S.textContent=d.passkeysIntro,T.append(_,S),F.append(T);let k=xt(r),$=!!p.passkeyManagementSupported&&typeof a.client.listPasskeys=="function"&&typeof a.client.renamePasskey=="function"&&typeof a.client.deletePasskey=="function",B=!k&&!!p.passkeysSupported&&typeof a.client.registerPasskey=="function",D=()=>{},G=()=>{};if($){let U=t.createElement("p");U.className="settings-account__mfa-status",U.setAttribute("role","status"),U.setAttribute("aria-live","polite");let b=t.createElement("ul");b.className="settings-account__passkey-list";let M=t.createElement("div");M.className="settings-account__passkey-controls";let R=t.createElement("button");R.type="button",R.className="settings-account__secondary settings-account__passkey-refresh",R.textContent=d.passkeysRefresh;let I=t.createElement("button");
4I.type="button",I.className="settings-account__secondary settings-account__passkey-add",I.textContent=d.passkeysAdd,I.hidden=!B,I.disabled=B;let O=t.createElement("button");if(O.type="button",O.className="settings-account__link-button settings-account__passkey-cancel-request",O.textContent=d.passkeysCancelRequest,O.hidden=!0,M.append(R,I,O),F.append(U,b,M),!B){let J=t.createElement("p");J.className="settings-account__hint",J.textContent=k?"You can rename or remove existing passkeys here. Open account security in your browser to add a new passkey.":"You can manage existing passkeys here, but this browser cannot add or use one. Open account security in a supported browser to add a passkey.";let z=t.createElement("a");z.className="settings-account__secondary",z.target="_blank",z.rel="noopener noreferrer",z.textContent=d.passkeysOpenInBrowser,z.href="".concat(String(r.location?.origin||"https://beamosearch.com").replace(/\/$/,""),"/settings#security"),F.append(J,z)}let l=0,h=!1,g=null,x=!1,H=(J,z=!1)=>{U.setAttribute("role",z?"alert":"status"),U.textContent=J},Z=J=>{h=J;for(let z of F.querySelectorAll("button"))z!==O&&(z.disabled=J);J||(R.disabled=!1,I.disabled=!B)},te=async()=>{let J=++l;H("Loading passkeys\u2026"),b.setAttribute("aria-busy","true"),I.disabled=!0,R.disabled=!0;let z;try{z=await a.client.listPasskeys()}catch{z={ok:!1,data:{error:{message:"Could not load passkeys. Try again."}}}}if(x||J!==l)return!1;if(b.setAttribute("aria-busy","false"),R.disabled=h,I.disabled=h||!B,!z.ok)return H(z.data?.error?.message||"Could not load passkeys. Try again.",!0),!1;H(""),b.replaceChildren();let j=z.data?.passkeys||[];if(j.length===0){let X=t.createElement("li");X.className="settings-account__empty settings-account__passkey-empty",X.textContent=d.passkeysEmpty,b.append(X)}let se=String(t.documentElement?.lang||"en");for(let[X,ie]of j.entries()){let fe=String(ie.id||""),ee=Lt(ie.friendly_name)||"Passkey",ce=t.createElement("li");ce.className="settings-account__credential-row settings-account__passkey-row",ce.dataset.passkeyId=fe;let ve=t.createElement("div");ve.className="settings-account__credential-summary";let K=t.createElement("div");K.className="settings-account__credential-main";let q=t.createElement("span");q.className="settings-account__credential-icon settings-account__credential-icon--passkey",q.setAttribute("aria-hidden","true");let le=t.createElement("div");le.className="settings-account__credential-copy";let We=t.createElement("strong");We.className="settings-account__credential-name",We.textContent=ee;let et=t.createElement("span");et.className="settings-account__credential-meta",et.textContent=Gn(ie,se),le.append(We,et),K.append(q,le);let Ue=t.createElement("div");Ue.className="settings-account__credential-actions";let de=t.createElement("button");de.type="button",de.className="settings-account__secondary settings-account__credential-action",de.textContent="Rename",de.setAttribute("aria-label","Rename ".concat(ee));let Re="settings-passkey-name-".concat(X);de.setAttribute("aria-controls",Re),de.setAttribute("aria-expanded","false");let Te=t.createElement("button");Te.type="button",Te.className="settings-account__credential-remove",Te.textContent="Remove",Te.setAttribute("aria-label","Remove ".concat(ee)),Te.addEventListener("click",async()=>{if(h||!r.confirm?.("Remove \u201C".concat(ee,"\u201D? An independent recovery sign-in method is required before any passkey can be removed.")))return;let we=String(j[X+1]?.id||j[X-1]?.id||"");Z(!0),H("Removing \u201C".concat(ee,"\u201D\u2026"));let Ce;try{Ce=await a.client.deletePasskey?.({passkeyId:fe})}catch{Ce={ok:!1,data:{error:{message:"Could not remove that passkey."}}}}if(!Ce?.ok){Z(!1),H(Ce?.data?.error?.message||"Could not remove that passkey.",!0),Te.focus();return}let Fe=await te();if(Z(!1),!Fe)return;H("Passkey removed."),(Array.from(b.querySelectorAll(".settings-account__passkey-row")).find(Nn=>Nn.dataset.passkeyId===we)?.querySelector("button")||(I.hidden?R:I)).focus()}),Ue.append(de,Te),ve.append(K,Ue);let xe=t.createElement("form");xe.id=Re,xe.className="settings-account__passkey-edit",xe.hidden=!0;let Ve=t.createElement("label");Ve.className="settings-account__label",Ve.htmlFor="".concat(Re,"-input"),Ve.textContent=d.passkeyNameLabel;let tt=t.createElement("div");
4tt.className="settings-account__passkey-edit-controls";let ae=t.createElement("input");ae.id="".concat(Re,"-input"),ae.className="settings-account__input settings-account__passkey-name-input",ae.type="text",ae.autocomplete="off",ae.maxLength=Nt,ae.value=ee,ae.setAttribute("aria-describedby","".concat(Re,"-error"));let qe=t.createElement("button");qe.type="submit",qe.className="settings-account__primary settings-account__passkey-save",qe.textContent="Save";let He=t.createElement("button");He.type="button",He.className="settings-account__secondary settings-account__passkey-cancel",He.textContent="Cancel";let Ne=t.createElement("p");Ne.id="".concat(Re,"-error"),Ne.className="settings-account__field-error settings-account__passkey-edit-error",Ne.setAttribute("role","alert"),Ne.hidden=!0,tt.append(ae,qe,He),xe.append(Ve,tt,Ne);let $e=(we="")=>{Ne.textContent=we,Ne.hidden=!we,ae.setAttribute("aria-invalid",we?"true":"false")},je=()=>{xe.hidden=!0,Ue.hidden=!1,ce.classList.remove("settings-account__passkey-row--editing"),de.setAttribute("aria-expanded","false"),qe.disabled=!1,He.disabled=!1,$e()},Bn=()=>{ae.value=ee,Ue.hidden=!0,xe.hidden=!1,ce.classList.add("settings-account__passkey-row--editing"),de.setAttribute("aria-expanded","true"),$e(),ae.focus(),ae.select?.()};de.addEventListener("click",Bn),He.addEventListener("click",()=>{je(),de.focus()}),ae.addEventListener("keydown",we=>{we.key==="Escape"&&(we.preventDefault(),je(),de.focus())}),xe.addEventListener("submit",async we=>{we.preventDefault();let Ce=Lt(ae.value);if(!Ce){$e("Enter a name for this passkey."),ae.focus();return}if(!fe){$e("This passkey could not be identified. Refresh the page and try again."),ae.focus();return}if(Ce===ee){je(),de.focus();return}if(h)return;Z(!0),H("Renaming \u201C".concat(ee,"\u201D\u2026"));let Fe;try{Fe=await a.client.renamePasskey?.({passkeyId:fe,friendlyName:Ce})}catch{Fe={ok:!1,data:{error:{message:"Could not rename that passkey. Try again."}}}}if(!Fe?.ok){Z(!1);let nt=Fe?.data?.error?.message||"Could not rename that passkey. Try again.";$e(nt),H(nt,!0),ae.focus();return}ee=Ce,We.textContent=ee,ae.value=ee,de.setAttribute("aria-label","Rename ".concat(ee)),Te.setAttribute("aria-label","Remove ".concat(ee)),Z(!1),je(),H("\u201C".concat(ee,"\u201D was renamed.")),de.focus()}),ce.append(ve,xe),b.append(ce)}return!0};R.addEventListener("click",()=>{te()}),O.addEventListener("click",()=>{g?.abort(),O.disabled=!0}),I.addEventListener("click",async()=>{if(h||!B)return;let J=r.AbortController||AbortController,z=new J;g=z,Z(!0),O.hidden=!1,O.disabled=!1,H(d.passkeyRegistering);let j;try{j=await a.client.registerPasskey({signal:z.signal})}catch{j={ok:!1,data:{error:{message:"Could not add a passkey. Try again."}}}}if(x||g!==z)return;if(g=null,O.hidden=!0,O.disabled=!1,!j.ok){Z(!1),H(j.data?.error?.message||"Could not add a passkey. Use another sign-in method if needed.",!0),I.focus();return}let se=await te();if(Z(!1),!se)return;H(d.passkeyRegisterSuccess);let X=String(j.data?.passkey?.id||"");(Array.from(b.querySelectorAll(".settings-account__passkey-row")).find(fe=>fe.dataset.passkeyId===X)?.querySelector("button")||I).focus()}),D=()=>{te()},G=()=>{x=!0,l+=1,g?.abort(),g=null},te()}else{let U=t.createElement("p");if(U.className="settings-account__hint",U.textContent=k?"Passkey management is unavailable inside this app session. Open account security in your browser to review or revoke passkeys.":"Passkey management is temporarily unavailable. Password, email code, and connected-account sign-in remain available.",F.appendChild(U),k){let b=t.createElement("a");b.className="settings-account__secondary",b.target="_blank",b.rel="noopener noreferrer",b.textContent=d.passkeysOpenInBrowser,b.href="".concat(String(r.location?.origin||"https://beamosearch.com").replace(/\/$/,""),"/settings#security"),F.appendChild(b)}}w.appendChild(F);let W=t.createElement("div");W.className="settings-account__sessions";let ue=t.createElement("h4");ue.className="settings-account__manage-heading",ue.textContent=d.sessionsHeading;let V=t.createElement("p");V.className="settings-account__subtitle",V.textContent=d.sessionsIntro;let Y=t.createElement("button");Y.type="button",Y.className="settings-account__secondary settings-account__sign-out-everywhere",Y.textContent=d.signOutEverywhere,Y.addEventListener("click",async()=>
4{if(r.confirm?.(d.signOutEverywhereConfirm)===!1)return;Y.disabled=!0;let b=await a.client.revokeSession({allOthers:!0});if(Y.disabled=!1,!b.ok){c?.(b.data?.error?.message||"Could not sign out other sessions.",{isError:!0});return}c?.(d.signOutEverywhereSuccess)}),W.append(ue,V,Y),w.appendChild(W);let oe=e.querySelector(".settings-account__signed-in");return oe?.nextSibling?e.insertBefore(w,oe.nextSibling):e.appendChild(w),{refresh:D,destroy:G};function _e(){let U=t.createElement("form");U.className="settings-account__form settings-account__change-email",U.noValidate=!0;let b=t.createElement("input");b.type="email",b.name="new-email",b.autocomplete="email",b.inputMode="email",b.placeholder="[email protected]";let M=Se({id:"settings-account-new-email",label:d.changeEmailNewLabel,input:b,hint:"".concat(m?me(globalThis)("accounts.currentEmailPrefix",{email:m}):"").concat(d.changeEmailHint)}),R=t.createElement("button");return R.type="submit",R.className="settings-account__secondary settings-account__change-email-submit",R.textContent=d.changeEmailButton,U.append(M.field,R),U.addEventListener("submit",async I=>{I.preventDefault();let O=b.value.trim(),l=wt(O);if(l){re(M.errorEl,b,l),b.focus();return}if(m&&O.toLowerCase()===m.toLowerCase()){re(M.errorEl,b,"That is already your email address."),b.focus();return}re(M.errorEl,b,null),R.disabled=!0,c?.("");let h=await a.client.changeEmail({email:O});if(R.disabled=!1,!h.ok){re(M.errorEl,b,h.data?.error?.message||"Could not update your email.");return}b.value="",c?.(h.data?.message||d.changeEmailHint)}),U}function Q(){let U=t.createElement("form");U.className="settings-account__form settings-account__change-password",U.noValidate=!0;let b=t.createElement("p");b.className="settings-account__heading",b.textContent=d.changePasswordHeading;let M=be("current-password","current-password"),R=Se({id:"settings-account-current-password",label:d.changePasswordCurrentLabel,input:M}),I=be("new-password","new-password"),O=Se({id:"settings-account-new-password",label:d.changePasswordNewLabel,input:I}),l=_t(t,{minLength:i,id:"settings-account-new-password-reqs"});I.addEventListener("input",()=>l.update(I.value));let h=be("confirm-password","new-password"),g=Se({id:"settings-account-confirm-password",label:d.changePasswordConfirmLabel,input:h}),x=t.createElement("button");x.type="submit",x.className="settings-account__secondary settings-account__change-password-submit",x.textContent=d.changePasswordButton,U.append(b,R.field,O.field,l.el,g.field,x);let H={currentPassword:R,newPassword:O,confirmPassword:g};return U.addEventListener("submit",async Z=>{Z.preventDefault();let te={currentPassword:M.value,newPassword:I.value,confirmPassword:h.value},J=At(te,{minPassword:i,maxPassword:f}),z=null;for(let[se,X]of Object.entries(H)){let ie=J[se]||null;re(X.errorEl,X.input,ie),ie&&!z&&(z=X.input)}if(z){z.focus();return}x.disabled=!0,c?.("");let j=await a.client.changePassword({currentPassword:te.currentPassword,newPassword:te.newPassword});if(x.disabled=!1,!j.ok){let se=j.data?.error?.message||"Could not update your password.";/current password/i.test(se)?(re(R.errorEl,M,se),M.focus()):(re(O.errorEl,I,se),I.focus());return}U.reset(),l.update(""),c?.(j.data?.message||d.changePasswordButton)}),U}function ye(){let U=t.createElement("div");U.className="settings-account__set-password";let b=t.createElement("p");b.className="settings-account__heading",b.textContent=d.setPasswordHeading;let M=t.createElement("p");M.className="settings-account__subtitle",M.textContent=d.setPasswordIntro;let R=t.createElement("button");return R.type="button",R.className="settings-account__secondary settings-account__set-password-button",R.textContent=d.setPasswordButton,R.addEventListener("click",async()=>{R.disabled=!0,c?.("");let I=await a.client.requestPasswordReset({email:m});if(R.disabled=!1,!I.ok){c?.(I.data?.error?.message||"Could not send the email. Try again.",{isError:!0});return}c?.(d.setPasswordSent)}),U.append(b,M,R),U}function be(U,b){let M=t.createElement("input");return M.type="password",M.name=U,M.autocomplete=b,M.minLength=i,M.maxLength=f,M}}var Wn=["stripe"];function Oe(e,n){let t=typeof e?.querySelector=="function"?e.querySelector('meta[name="'.concat(n,'"]')):null;return!t||typeof t.getAttribute!="function"?"":String(t.getAttribute("content")||"").trim()}function Pe(e){let n=String(e||"").trim();if(!n)return"";try{let t=new URL(n),o=["127.0.0.1","localhost","::1","[::1]"].includes(t.hostname);if(t.protocol==="https:"||t.protocol==="http:"&&o)return n}catch{return""}return""}function Mt(e){let n=String(e||"").trim().toLowerCase();return Wn.includes(n)?n:"stripe"}function Vn(e){if(!e||typeof e!="object")return null;let n=Pe(e.checkoutUrl),t=Pe(e.checkoutUrlAnnual)||"";return!n&&!t?null:{provider:Mt(e.provider),checkoutUrl:n,checkoutUrlAnnual:t,portalUrl:Pe(e.portalUrl)||"",price:String(e.price||"").trim(),priceAnnual:String(e.priceAnnual||"").trim()}}function Rt(e=globalThis){let n=Vn(e?.Beamo?.billing);if(n)return n;let t=e?.document,o=Pe(Oe(t,"beamo-billing-checkout-url")),a=Pe(Oe(t,"beamo-billing-checkout-url-annual"))||"";return!o&&!a?null:{provider:Mt(Oe(t,"beamo-billing-provider")),checkoutUrl:o,checkoutUrlAnnual:a,portalUrl:Pe(Oe(t,"beamo-billing-portal-url"))||"",price:Oe(t,"beamo-billing-price"),priceAnnual:Oe(t,"beamo-billing-price-annual")}}function jn(e,{clientReferenceId:n="",email:t=""}={}){let o=Pe(e?.checkoutUrl);if(!o)return"";let a;try{a=new URL(o)}catch{return""}let r=String(n||"").trim(),c=String(t||"").trim();return r&&a.searchParams.set("client_reference_id",r),c&&a.searchParams.set("prefilled_email",c),a.toString()}
4function Yn(e,n){return e?n==="annual"?{provider:e.provider,checkoutUrl:Pe(e.checkoutUrlAnnual)||""}:{provider:e.provider,checkoutUrl:Pe(e.checkoutUrl)||""}:null}async function Ht(e,{plan:n="monthly",email:t="",global:o=globalThis}={}){let a=Yn(e,n);if(!a?.checkoutUrl)return{ok:!1,status:0,url:"",error:"checkout_not_configured"};let r=o?.Beamo?.__supabaseClient;if(!r||typeof r.invokeFunction!="function")return{ok:!1,status:0,url:"",error:"checkout_signer_unavailable"};let c=await r.invokeFunction("billing-checkout",{body:{plan:n}}),p=c?.data&&typeof c.data=="object"?c.data:{},u=String(p.clientReferenceId??p.client_reference_id??"").trim();if(!c?.ok||!u)return{ok:!1,status:Number(c?.status)||0,url:"",error:String(p.error??"checkout_signing_failed")};let i=jn(a,{clientReferenceId:u,email:String(p.email??t??"").trim()});return i?{ok:!0,status:Number(c.status)||200,url:i,error:""}:{ok:!1,status:0,url:"",error:"checkout_url_invalid"}}var Kn=[["proBenefit1Title","proBenefit1Body"],["proBenefit2Title","proBenefit2Body"],["proBenefit3Title","proBenefit3Body"],["proBenefit4Title","proBenefit4Body"],["proBenefit5Title","proBenefit5Body"],["proBenefit6Title","proBenefit6Body"]];function Ft(e){let n=String(e||"").match(/([^\d\s.]*)\s*(\d+(?:\.\d+)?)/);if(!n)return null;let t=Number.parseFloat(n[2]);return Number.isFinite(t)?{symbol:n[1]||"$",amount:t}:null}function ot(e,n){let t=Math.round(n*100)/100;return"".concat(e).concat(Number.isInteger(t)?String(t):t.toFixed(2))}function Jn(e){if(!e)return"";let n=typeof e=="number"?e:Date.parse(String(e));if(!Number.isFinite(n))return"";try{return new Date(n).toLocaleDateString(void 0,{year:"numeric",month:"long",day:"numeric"})}catch{return""}}function Dt(e,n,t,{userId:o=""}={}){if(!t?.signedIn)return null;let a=Rt(n);if(!a)return null;let r=me(n),c=e.createElement("section");if(c.className="settings-account__pro",c.setAttribute("aria-label","Beamo Search Pro"),t.isPro){let b=e.createElement("p");b.className="settings-account__heading settings-account__pro-heading",b.textContent="Beamo Search Pro",c.appendChild(b);let M=e.createElement("p");M.className="settings-account__pro-badge",M.textContent=r("accounts.proActiveBadge"),c.appendChild(M);let R=e.createElement("p");R.className="settings-account__subtitle settings-account__pro-thanks",R.textContent=r("accounts.proThanks"),c.appendChild(R);let I=Jn(t.subscription?.current_period_end);if(I){let O=e.createElement("p");O.className="settings-account__subtitle settings-account__pro-renewal",O.textContent=r("accounts.proRenews",{date:I}),c.appendChild(O)}if(a.portalUrl){let O=e.createElement("a");O.className="settings-account__secondary settings-account__pro-manage",O.href=a.portalUrl,O.target="_blank",O.rel="noopener noreferrer",O.textContent=r("accounts.proManage"),c.appendChild(O)}return c}c.classList.add("settings-account__pro--upsell");let p=t.account?.email||"",u=!!a.checkoutUrlAnnual,i=!!a.checkoutUrl,f=a.price||"$8/month",m=a.priceAnnual||(u?"$79/year":""),L=Ft(f),w=Ft(m),A=w?.symbol||L?.symbol||"$",y=0,v="",E="";if(L&&w&&L.amount>0&&w.amount>0){let b=L.amount*12,M=b-w.amount;M>0&&(y=Math.round(M/b*100),v=ot(A,M)),E=ot(A,w.amount/12)}let P=e.createElement("div");P.className="settings-account__pro-header";let F=e.createElement("span");F.className="settings-account__pro-chip",F.textContent="PRO";let T=e.createElement("p");T.className="settings-account__heading settings-account__pro-heading",T.textContent="Beamo Search Pro",P.append(F,T),c.appendChild(P);let _=e.createElement("p");_.className="settings-account__pro-tagline",_.textContent=r("accounts.proTagline"),c.appendChild(_);let N=u?"annual":"monthly",S=u&&i,k=(b,M,R)=>{let I=e.createElement("button");I.type="button",I.className="settings-account__pro-toggle-btn",I.setAttribute("data-plan",b);let O=e.createElement("span");O.className="settings-account__pro-toggle-name",O.textContent=M,I.appendChild(O);let l=e.createElement("span");if(l.className="settings-account__pro-toggle-price",l.textContent=R,I.appendChild(l),b==="annual"&&y>0){let h=e.createElement("span");h.className="settings-account__pro-toggle-save",h.textContent=r("accounts.proSave",{pct:y}),I.appendChild(h)}return I},$=r("accounts.proAnnual"),B=r("accounts.proMonthly"),D=S?k("annual",$,m):null,G=i?k("monthly",B,f):null;if(S){let b=e.createElement("div");b.className="settings-account__pro-toggle",b.setAttribute("role","group"),b.setAttribute("aria-label",r("accounts.proBillingCycleAria")),D&&b.appendChild(D),G&&b.appendChild(G),c.appendChild(b)}let W=e.createElement("div");
4W.className="settings-account__pro-price";let ue=e.createElement("p");ue.className="settings-account__pro-price-line";let V=e.createElement("span");V.className="settings-account__pro-price-amount";let Y=e.createElement("span");Y.className="settings-account__pro-price-unit",ue.append(V,Y);let oe=e.createElement("p");oe.className="settings-account__pro-price-sub",W.append(ue,oe),c.appendChild(W);let _e=e.createElement("ul");_e.className="settings-account__pro-benefits";for(let[b,M]of Kn){let R=e.createElement("li"),I=e.createElement("strong");I.className="settings-account__pro-benefit-title",I.textContent=r("accounts."+b),R.append(I,e.createTextNode(" \u2014 ".concat(r("accounts."+M)))),_e.appendChild(R)}c.appendChild(_e);let Q=e.createElement("button");Q.type="button",Q.className="settings-account__pro-upgrade settings-account__pro-cta settings-account__primary",c.appendChild(Q);let ye=e.createElement("p");ye.className="settings-account__pro-checkout-status",ye.setAttribute("aria-live","polite"),c.appendChild(ye);let be=e.createElement("p");be.className="settings-account__pro-trust",be.textContent=r("accounts.proTrust"),c.appendChild(be);let U=()=>{let b=N==="annual";D&&(D.setAttribute("aria-pressed",b?"true":"false"),D.classList.toggle("settings-account__pro-toggle-btn--active",b)),G&&(G.setAttribute("aria-pressed",b?"false":"true"),G.classList.toggle("settings-account__pro-toggle-btn--active",!b)),b&&E?(V.textContent=E,Y.textContent=r("accounts.proPerMonth"),oe.textContent=v?r("accounts.proBilledAnnualSave",{price:m,amount:v,pct:y}):r("accounts.proBilledAnnual",{price:m})):b?(V.textContent=m,Y.textContent="",oe.textContent=r("accounts.proBilledYearly")):L?(V.textContent=ot(A,L.amount),Y.textContent=r("accounts.proPerMonth"),oe.textContent=r("accounts.proBilledMonthlySwitch")):(V.textContent=f,Y.textContent="",oe.textContent=r("accounts.proBilledMonthly")),Q.disabled=!1,Q.removeAttribute("aria-disabled"),Q.setAttribute("data-plan",N);let M=b?m:f;Q.textContent="";let R=b?$:B,I=e.createElement("span");if(I.className="settings-account__pro-cta-main",I.textContent=r("accounts.proUpgrade"),Q.appendChild(I),M){let O=e.createElement("span");O.className="settings-account__pro-cta-sub",O.textContent="".concat(R," \xB7 ").concat(M),Q.appendChild(O)}Q.setAttribute("aria-label","".concat(r("accounts.proUpgrade")," \u2014 ").concat(R).concat(M?", ".concat(M):""))};return D&&D.addEventListener("click",()=>{N="annual",U()}),G?.addEventListener("click",()=>{N="monthly",U()}),Q.addEventListener("click",async b=>{if(b.preventDefault(),Q.disabled)return;ye.textContent="",Q.disabled=!0,Q.setAttribute("aria-busy","true");let M=Q.textContent||r("accounts.proUpgrade");Q.textContent=r("accounts.proOpeningCheckout");try{let R=await Ht(a,{plan:N,email:p,global:n});(R.ok&&R.url&&typeof n.open=="function"?n.open(R.url,"_blank","noopener,noreferrer"):null)?ye.textContent="":ye.textContent=r("accounts.proCheckoutUnavailable")}catch{ye.textContent=r("accounts.proCheckoutUnavailable")}finally{Q.disabled=!1,Q.removeAttribute("aria-busy"),M&&(Q.textContent=M),U()}}),U(),c}var Qn=140;function Ot({global:e,container:n,content:t}){let o=e.document,a={destroy:()=>{}};if(!o||!n||!t)return a;let r=Array.from(t.querySelectorAll(".settings-group")).filter(v=>!v.hasAttribute("hidden")&&v.querySelector(".settings-group__title"));if(r.length<2)return n.replaceChildren(),a;n.replaceChildren();let c=o.createElement("p");c.className="account-page__section-nav-heading",c.textContent=d.sectionNavHeading;let p=o.createElement("ul");p.className="account-page__section-nav-list";let u=o.createElement("nav");u.className="account-page__section-nav-inner",u.setAttribute("aria-label",d.sectionNavAria),u.append(c,p),n.append(u);let i=[];for(let v of r){let E=v.querySelector(".settings-group__title");if(!E)continue;let P=o.createElement("li");P.className="account-page__section-nav-item";let F=o.createElement("button");F.type="button",F.className="account-page__section-nav-link";let T=o.createElement("span");T.className="account-page__section-nav-label",T.textContent=E.textContent||"",F.append(T),F.addEventListener("click",()=>{try{v.scrollIntoView({behavior:"smooth",block:"start"})}catch{v.scrollIntoView()}m(v),E.setAttribute("tabindex","-1");try{E.focus({preventScroll:!0})}catch{}}),P.append(F),p.append(P),i.push({section:v,title:E,button:F,label:T})}let f=null;function m(v){if(v!==f){f=v;for(let E of i){let P=E.section===v;E.button.classList.toggle("account-page__section-nav-link--active",P),P?E.button.setAttribute("aria-current","true"):E.button.removeAttribute("aria-current")}}}let L=0;function w(){if(L=0,n.offsetParent===null&&n.getClientRects().length===0)return;let v=i[0]?.section||null;for(let E of i)if(E.section.getBoundingClientRect().top-Qn<=0)v=E.section;else break;m(v)}function A(){L||(L=e.requestAnimationFrame?e.requestAnimationFrame(w):(w(),0))}function y(){for(let v of i)v.label.textContent=v.title.textContent||""}return e.addEventListener("scroll",A,{passive:!0}),e.addEventListener("resize",A,{passive:!0}
4),e.addEventListener(De,y),w(),{destroy:()=>{e.removeEventListener("scroll",A),e.removeEventListener("resize",A),e.removeEventListener(De,y),L&&e.cancelAnimationFrame&&e.cancelAnimationFrame(L),n.replaceChildren()}}}var he=["general","profile","security","billing","data"];function Xn(e){switch(e){case"general":return d.tabGeneral;case"profile":return d.tabProfile;case"security":return d.tabSecurity;case"billing":return d.tabBilling;case"data":return d.tabData}}var Ut=new Set(["profile","security","billing","data"]),Zn={email:"Email & password",google:"Google",apple:"Apple"},ea={general:'<svg viewBox="0 0 24 24" width="17" height="17" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><line x1="4" y1="8" x2="20" y2="8"/><line x1="4" y1="16" x2="20" y2="16"/><circle cx="9" cy="8" r="2.3"/><circle cx="15" cy="16" r="2.3"/></svg>',profile:'<svg viewBox="0 0 24 24" width="17" height="17" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><circle cx="12" cy="8" r="3.5"/><path d="M5.5 19.5a6.5 6.5 0 0 1 13 0"/></svg>',security:'<svg viewBox="0 0 24 24" width="17" height="17" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M12 3l7 3v5c0 4.6-3 7.7-7 9-4-1.3-7-4.4-7-9V6z"/><path d="M9 12l2 2 4-4"/></svg>',billing:'<svg viewBox="0 0 24 24" width="17" height="17" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><rect x="3" y="6" width="18" height="12" rx="2.2"/><line x1="3" y1="10.5" x2="21" y2="10.5"/><line x1="7" y1="15" x2="11" y2="15"/></svg>',data:'<svg viewBox="0 0 24 24" width="17" height="17" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><ellipse cx="12" cy="6" rx="7" ry="3"/><path d="M5 6v12c0 1.66 3.13 3 7 3s7-1.34 7-3V6"/><path d="M5 12c0 1.66 3.13 3 7 3s7-1.34 7-3"/></svg>'},ta='<svg viewBox="0 0 24 24" width="17" height="17" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><circle cx="11" cy="11" r="7"/><line x1="21" y1="21" x2="16.5" y2="16.5"/></svg>',na='<svg viewBox="0 0 24 24" width="15" height="15" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true" focusable="false"><line x1="6" y1="6" x2="18" y2="18"/><line x1="18" y1="6" x2="6" y2="18"/></svg>';function C(e,n,t="",o=""){let a=e.createElement(n);return t&&(a.className=t),o&&(a.textContent=o),a}function qt(e){let n=String(e.location?.hash||"").replace(/^#/,"").toLowerCase();return he.includes(n)?n:"general"}function $t({global:e,beamo:n}){let t=e.document,o=t?.getElementById("account-page-host");if(!o||!t)return()=>{};let a=n?.accounts||null,r=ne(n),c=r.pages?.home||"/",p=r.pages?.yourData||"/your-data",u=t.getElementById("settings-general-holder")||o.parentElement||t.body,i=qt(e),f=null,m=null,L=null,w="",A=!1,y=e.matchMedia?.("(min-width: 52rem)")??null;function v(){return y?.matches===!0}function E(){o.querySelector(".account-page__tabs")?.setAttribute("aria-orientation",v()?"vertical":"horizontal")}function P(){return t.getElementById("settings-general-content")}function F(){let l=P();l&&l.parentElement&&l.parentElement.id==="account-panel"&&(l.hidden=!0,u.appendChild(l))}function T(l,h=!1){let g=o.querySelector(".account-page__message");if(g&&g.remove(),!l)return;let x=C(t,"p","account-page__message".concat(h?" account-page__message--error":""),l);x.setAttribute("role",h?"alert":"status");let H=o.querySelector(".account-page__header");H&&H.nextSibling?o.insertBefore(x,H.nextSibling):o.prepend(x)}function _(l){if(!(!he.includes(l)||l===i)){i=l;try{let h=new URL(e.location.href);h.hash=l,e.history?.replaceState?.(null,"",h.toString())}catch{}A=!0,b()}}function N(){let l=C(t,"section","account-page__header"),h=C(t,"div","account-page__identity");return h.append(C(t,"h1","account-page__name",d.accountPageTitle),C(t,"p","account-page__email",d.settingsPageSubtitle)),l.append(h,S()),l}function S(){let l=C(t,"div","account-page__search"),h=C(t,"span","account-page__search-icon");h.setAttribute("aria-hidden","true"),h.innerHTML=ta;let g=C(t,"input","account-page__search-input");g.id="settings-filter-input",g.setAttribute("type","search"),g.setAttribute("autocomplete","off"),g.setAttribute("role","searchbox"),g.placeholder=d.searchSettingsPlaceholder,g.setAttribute("aria-label",d.searchSettingsAria);let x=C(t,"button","account-page__search-clear");return x.type="button",x.id="settings-filter-clear",x.hidden=!0,x.setAttribute("aria-label",d.searchSettingsClear),x.innerHTML=na,l.append(h,g,x),l}function k(l,h){l.addEventListener("click",()=>_(h)),l.addEventListener("keydown",g=>{let x=he.indexOf(h),H=v(),Z=H?g.key==="ArrowDown":g.key==="ArrowRight",te=H?g.key==="ArrowUp":g.key==="ArrowLeft",J=g.key==="Home",z=g.key==="End";if(Z||te||J||z){g.preventDefault();let j=J?he[0]:z?he[he.length-1]:he[(x+(Z?1:-1)+he.length)%he.length];_(j),t.getElementById("account-tab-".concat(j))?.focus()}})}function $(){let l=C(t,"nav","account-page__tabs");l.setAttribute("role","tablist"),l.setAttribute("aria-label",d.manageAccount),l.setAttribute("aria-orientation",v()?"vertical":"horizontal");for(let h of he){let g=C(t,"button","account-page__tab");g.type="button",g.id="account-tab-".concat(h),g.setAttribute("role","tab"),g.setAttribute("aria-controls","account-panel"),g.setAttribute("aria-selected",h===i?"true":"false"),g.tabIndex=h===i?0:-1,h===i&&g.classList.add("account-page__tab--active");let x=C(t,"span","account-page__tab-icon");x.setAttribute("aria-hidden","true"),x.innerHTML=ea[h],g.append(x,C(t,"
4span","account-page__tab-label",Xn(h))),k(g,h),l.append(g)}return l}function B(){let l=C(t,"div","account-page__sidebar");l.append($());let h=C(t,"div","account-page__section-nav");return h.id="account-section-nav",l.append(h),l}function D(){if(i!=="general"||!o.querySelector(".account-page__tabs")||!t.getElementById("account-panel")||!P())return!1;let l=[];for(let g of he){let x=t.getElementById("account-tab-".concat(g));if(!x||!o.contains(x))return!1;l.push(x)}he.forEach((g,x)=>k(l[x],g)),E(),U();let h=a?.getState?.()||{enabled:!1,signedIn:!1};return w=be(h),!0}function G(l){let h=C(t,"section","account-page__card");return l&&h.append(C(t,"h2","account-page__card-title",l)),h}function W(l,h){let g=C(t,"section","account-page__card account-page__tab-notice");if(!a||!h.enabled){g.append(C(t,"h2","account-page__card-title",d.accountsUnavailableTitle),C(t,"p","account-page__hint",d.accountsUnavailableBody));let H=C(t,"a","account-page__secondary",d.verifyContinueWeb);H.href=c,g.append(H),l.append(g);return}g.append(C(t,"h2","account-page__card-title",d.signInToManage),C(t,"p","account-page__hint",d.accountTabSignedOutBody));let x=C(t,"button","account-page__primary",me(globalThis)("accounts.signIn"));x.type="button",x.addEventListener("click",()=>{let H=t.getElementById("account-button");if(H){H.click();try{H.scrollIntoView({block:"start"})}catch{}}}),g.append(x),l.append(g)}function ue(l){let h=P();if(h){h.hidden=!1,l.append(h);return}let g=G(d.generalHeading);g.append(C(t,"p","account-page__hint",d.settingsPageSubtitle)),l.append(g)}function V(l,h){let g=h.account||{},x=String(g.email||""),H=String(g.displayName||""),Z=G(d.profileHeading),te=C(t,"form","account-page__form");te.noValidate=!0;let J=C(t,"div","account-page__field"),z=C(t,"label","account-page__label",d.profileDisplayNameLabel);z.htmlFor="account-display-name";let j=C(t,"input","account-page__input");j.id="account-display-name",j.type="text",j.value=H,j.maxLength=80,j.autocomplete="name",j.placeholder="Your name",J.append(z,j,C(t,"span","account-page__hint",d.profileDisplayNameHint));let se=C(t,"button","account-page__primary account-page__primary--inline",d.profileSaveName);se.type="submit",te.append(J,se),te.addEventListener("submit",async K=>{K.preventDefault();let q=j.value.trim();if(!q||!a)return;se.disabled=!0;let le=await a.client.updateDisplayName({displayName:q});if(se.disabled=!1,!le.ok){T(le.data?.error?.message||d.msgCouldNotUpdateName,!0);return}await a.refreshStatus?.(),T(d.profileSaved)}),Z.append(te);let X=C(t,"dl","account-page__facts"),ie=(K,q)=>{X.append(C(t,"dt","account-page__fact-term",K));let le=C(t,"dd","account-page__fact-value");le.append(q),X.append(le)},fe=C(t,"span","",x||"\u2014");if(x&&!h.emailVerified){let K=C(t,"span","account-page__chip account-page__chip--warn","Unverified");fe.append(t.createTextNode(" "),K)}ie(d.profileEmailLabel,fe);let ce=(Array.isArray(h.providers)?h.providers:[]).map(K=>Zn[K]||K).join(", ")||"\u2014";ie(d.profileSignInMethodsLabel,t.createTextNode(ce));let ve=C(t,"span","","\u2026");if(ie(d.profileMemberSince,ve),Z.append(X),x&&!h.emailVerified){let K=C(t,"button","account-page__secondary",d.resendVerification);K.type="button",K.addEventListener("click",async()=>{if(!a)return;K.disabled=!0;let q=await a.client.requestVerificationEmail();K.disabled=!1,T(q.ok?q.data?.message||d.msgVerificationSent:q.data?.error?.message||d.msgCouldNotSendEmail,!q.ok)}),Z.append(K)}l.append(Z),a?.client.supabase?.getUser().then(K=>{let q=K&&typeof K.created_at=="string"?K.created_at:"";ve.textContent=q?ye(q):"\u2014"}).catch(()=>{ve.textContent="\u2014"})}function Y(l,h){if(!a)return;let g=G("");m=It(g,{beamo:n,coordinator:a,global:e,onMessage:(x,H)=>T(x,H?.isError),onSignedOut:()=>{e.location.href=c}}),l.append(g)}function oe(l,h){let g=Dt(t,e,h,{userId:String(h.account?.userId||"")});if(g){let H=G("");H.append(g),l.append(H);return}let x=G(d.tabBilling);x.append(C(t,"p","account-page__plan",h.isPro?d.billingProPlan:d.billingFreePlan),C(t,"p","account-page__hint",d.billingUnavailableHint)),l.append(x)}function _e(l,h){let g=G(d.dataHeading);g.append(C(t,"p","account-page__hint",d.dataSyncedSummary));let x=(q,le)=>"".concat(q,": ").concat(le===void 0?"\u2026":le),H=C(t,"ul","account-page__data-counts"),Z=C(t,"li","",x(d.dataSavedSearches,f?.savedSearches)),te=C(t,"li","",x(d.dataRecentSearches,f?.re
4centSearches)),J=C(t,"li","",x(d.dataChatMessages,f?.chatMessages));H.append(Z,te,J),g.append(H);function z(){Z.textContent=x(d.dataSavedSearches,f?.savedSearches),te.textContent=x(d.dataRecentSearches,f?.recentSearches),J.textContent=x(d.dataChatMessages,f?.chatMessages)}function j(){return a?.client.fetchPrivacySummary().then(q=>{let le=q.data?.stored||{};f={savedSearches:le.savedSearches??0,recentSearches:le.recentSearches??0,chatMessages:le.chatMessages??0},z()}).catch(()=>{})}let se=C(t,"div","account-page__actions"),X=C(t,"button","account-page__secondary",d.dataExport);X.type="button",X.addEventListener("click",async()=>{if(!a)return;X.disabled=!0;let q=await a.client.exportAccountData();if(X.disabled=!1,!q.ok||!q.data?.export){T(q.data?.error?.message||d.msgCouldNotExport,!0);return}Q(q.data.export,"beamo-account-data.json")});let ie=C(t,"button","account-page__secondary",d.dataDeleteChat);ie.type="button",ie.addEventListener("click",async()=>{if(!a)return;ie.disabled=!0;let q=typeof a.deleteAccountChatEverywhere=="function"?await a.deleteAccountChatEverywhere():await a.client.deleteAccountChat();ie.disabled=!1,T(q.ok?d.msgChatHistoryDeleted:q.data?.error?.message||d.msgCouldNotDeleteChat,!q.ok),q.ok&&j()});let fe=C(t,"a","account-page__secondary",d.yourDataPrivacy);fe.href=p,se.append(X,ie,fe),g.append(se),l.append(g);let ee=C(t,"section","account-page__card account-page__card--warn");ee.append(C(t,"h2","account-page__card-title",d.dataEraseHeading),C(t,"p","account-page__hint",d.dataEraseBody));let ce=C(t,"button","account-page__warn",d.dataDeleteAll);ce.type="button",ce.addEventListener("click",async()=>{if(!a||!e.confirm?.(d.dataDeleteAllConfirm))return;ce.disabled=!0;let q;try{q=typeof a.eraseAccountDataEverywhere=="function"?await a.eraseAccountDataEverywhere():await a.client.deleteAccountData()}catch{ce.disabled=!1,T(d.msgCouldNotDeleteData,!0);return}if(!q.ok){ce.disabled=!1,T(q.data?.error?.message||q.message||d.msgCouldNotDeleteData,!0);return}ce.disabled=!1,T(d.dataDeleteAllDone),j()}),ee.append(ce),l.append(ee);let ve=C(t,"section","account-page__card account-page__card--danger");ve.append(C(t,"h2","account-page__card-title",d.dataDangerHeading),C(t,"p","account-page__hint",d.dataDeleteAccountBody));let K=C(t,"button","account-page__danger",d.dataDeleteAccount);K.type="button",K.addEventListener("click",async()=>{if(!a||!e.confirm?.(d.dataDeleteAccountConfirm))return;K.disabled=!0;let q=typeof a.deleteAccountEverywhere=="function"?await a.deleteAccountEverywhere({confirm:"DELETE"}):await a.client.deleteAccount({confirm:"DELETE"});if(!q.ok){K.disabled=!1,T(q.data?.error?.message||me(globalThis)("accounts.deleteAccountError"),!0);return}e.location.href=c}),ve.append(K),l.append(ve),j()}function Q(l,h){try{let g=new e.Blob([JSON.stringify(l,null,2)],{type:"application/json"}),x=e.URL.createObjectURL(g),H=t.createElement("a");H.href=x,H.download=h,t.body.appendChild(H),H.click(),H.remove(),e.setTimeout(()=>e.URL.revokeObjectURL(x),1e3)}catch{T(d.msgDownloadBlocked,!0)}}function ye(l){try{return new Date(l).toLocaleDateString(void 0,{year:"numeric",month:"long",day:"numeric"})}catch{return l}}function be(l){return JSON.stringify([i,!!l.enabled,!!l.signedIn,l.account?.userId||"",l.account?.email||"",l.account?.displayName||"",!!l.emailVerified,!!l.mfa?.checked,!!l.mfa?.required,!!l.mfa?.email?.enabled,!!l.mfa?.email?.verified,!!l.mfa?.email?.primaryEligible,Array.isArray(l.mfa?.factors)?l.mfa.factors.map(h=>"".concat(String(h.id||""),":").concat(String(h.factor_type||""),":").concat(String(h.status||""))).join(","):"",Array.isArray(l.providers)?l.providers.join(","):"",!!l.passkeysSupported,!!l.passkeyManagementSupported,!!l.isPro,l.plan||"",l.subscription?.current_period_end??""])}function U(){if(L?.destroy?.(),L=null,i!=="general")return;let l=t.getElementById("account-section-nav"),h=P();!l||!h||(L=Ot({global:e,container:l,content:h}))}function b(){m?.destroy?.(),m=null,L?.destroy?.(),L=null,F(),o.classList.toggle("account-page--static",!A),A=!1,o.replaceChildren();let l=a?.getState?.()||{enabled:!1,signedIn:!1};w=be(l),o.append(N());let h=C(t,"div","account-page__layout");h.append(B());let g=C(t,"div","account-page__panel");
4if(g.id="account-panel",g.setAttribute("role","tabpanel"),g.setAttribute("aria-labelledby","account-tab-".concat(i)),g.tabIndex=0,h.append(g),o.append(h),i==="general"){ue(g),U();return}if(Ut.has(i)&&(!a||!l.enabled||!l.signedIn)){W(g,l);return}if(Ut.has(i)&&(l.mfa?.required||!l.mfa?.checked)){Ct(g,{coordinator:a,global:e,onMessage:(x,H)=>T(x,H?.isError)});return}i==="profile"?V(g,l):i==="security"?Y(g,l):i==="billing"?oe(g,l):_e(g,l)}try{n&&(n.settingsPage={openTab:l=>_(l)})}catch{}let M=a?.subscribe(()=>{let l=a?.getState?.()||{enabled:!1,signedIn:!1};be(l)!==w&&b()}),R=()=>{let l=qt(e);l!==i&&(i=l,A=!0,b())};e.addEventListener?.("hashchange",R);let I=()=>E();y?.addEventListener?.("change",I);let O=()=>{i!=="general"&&b()};return e.addEventListener?.(De,O),D()||(A=i!=="general",b()),a?.refreshStatus?.(),()=>{m?.destroy?.(),m=null,L?.destroy?.(),L=null,M?.(),e.removeEventListener?.("hashchange",R),e.removeEventListener?.(De,O),y?.removeEventListener?.("change",I)}}var zt=["overview","chat","periodicAsk","calcAssist","translate","languageTools","urlAsk"],aa="beamo:ai-features-change",ra="beamo:search-only-mode-change";function Gt(e){let n=ne(e).storageKeys?.aiFeatures;return typeof n=="string"&&n?n:"beamo-ai-features"}function Wt(){let e={};for(let n of zt)e[n]=!0;return e}function Vt(e=globalThis,n=e?.Beamo){let t=ke(e,Gt(n),""),o={};if(t)try{let r=JSON.parse(t);r&&typeof r=="object"&&(o=r)}catch{}let a=Wt();if(o.features&&typeof o.features=="object")for(let r of zt)o.features[r]===!1&&(a[r]=!1);return{enabled:o.enabled!==!1,features:a}}function oa(e,n,t=e?.Beamo){let o={enabled:n.enabled!==!1,features:{...Wt(),...n.features}};Ae(e,Gt(t),JSON.stringify(o));try{t?.accounts?.schedulePushWithChat?.()}catch{}for(let a of[aa,ra])try{e.dispatchEvent?.(new CustomEvent(a,{detail:{enabled:o.enabled,features:o.features}}))}catch{}}function jt(e=globalThis,n=e?.Beamo){return Vt(e,n).enabled}function Yt(e,n,t=e?.Beamo){let o=Vt(e,t);o.enabled=!!n,oa(e,o,t)}function Kt(e=globalThis,n=e?.Beamo){return!jt(e,n)}function Jt(e,n,t=e?.Beamo){Yt(e,!n,t)}function Qt(e=globalThis,n=e.Beamo){let t=e.document?.getElementById("settings-search-only");if(!t)return;function o(){t.setAttribute("aria-checked",t.checked?"true":"false")}function a(r){Jt(e,r,n),e.document?.body?.classList?.toggle("beamo-search-only-mode",r)}t.checked=Kt(e,n),o(),t.addEventListener("change",()=>{a(t.checked),o()}),e.addEventListener("beamo:search-only-mode-change",r=>{let c=!!r?.detail?.enabled;t.checked!==c&&(t.checked=c,o())})}var sa="beamoChatAutoSendSearch";function Xt(e=globalThis.Beamo){let n=ne(e).storageKeys?.chatAutoSendSearch;return typeof n=="string"&&n?n:sa}function Zt(e=globalThis,n=e?.Beamo){let t=ke(e,Xt(n),"");return t==="1"||t==="true"}function en(e,n,t=e?.Beamo){return Ae(e,Xt(t),n?"1":"0")}function tn(e=globalThis){let n=e.document?.getElementById("settings-chat-auto-send");if(!n)return;function t(){n.setAttribute("aria-checked",n.checked?"true":"false")}n.checked=Zt(e),t(),n.addEventListener("change",()=>{en(e,n.checked),t()})}function ia(e=globalThis.Beamo){return!!e?.accounts?.getState?.()?.isPro}function st(e,n){let t=e?.Beamo,o=ia(t),a=Number(n?.limits?.searchHistoryMax)||12;if(!o)return a;let r=Number(n?.limits?.searchHistoryProMax)||Number(t?.config?.limits?.searchHistoryProMax)||100;return Math.max(a,r)}var nn=12,ca=100,la=2160*60*60*1e3;function sn(e){return e?.storageKeys?.searchHistory||"beamo-search-history"}function an(e){return String(e??"").trim().replace(/\s+/g," ")}function cn(e,n){let t=ke(e,sn(n),"");if(!t)return[];try{let o=JSON.parse(t);return Array.isArray(o)?o.map(a=>{if(typeof a=="string"){let c=an(a);return c?{q:c,ts:0}:null}if(!a||typeof a!="object")return null;let r=an(a.q);return r?{q:r,ts:Number(a.ts)||0,...a.deleted===!0?{deleted:!0}:{}}:null}).filter(Boolean):[]}catch{return[]}}function ua(e,n){return cn(e,n).filter(t=>t.deleted!==!0)}function rn(e,n,t=Date.now()){let o=e.filter(r=>r.deleted!==!0).slice(0,n),a=e.filter(r=>r.deleted===!0&&t-r.ts<la).slice(0,ca);return[...o,...a]}function on(e,n,t){Ae(e,sn(n),JSON.stringify(t))}function ln(e,n,t){if(t){let o=Date.now(),a=cn(e,n).map(r=>r.deleted!==!0&&r.ts>=t?{q:r.q,ts:o,deleted:!0}
4:r);on(e,n,rn(a,st(e,n)||nn,o))}else{let o=Date.now(),a=ua(e,n).map(r=>({q:r.q,ts:o,deleted:!0}));on(e,n,rn(a,st(e,n)||nn,o))}e.Beamo?.accounts?.schedulePushWithChat?.()}var da=null;function un(){da?.()}var dn={hour:3600*1e3,week:10080*60*1e3,month:720*60*60*1e3,year:365*24*60*60*1e3,all:0};function pn(e,n){let t=e?.document,o=t?.getElementById("settings-clear-history-btn"),a=t?.getElementById("settings-history-options");if(!o||!a)return;let r=ne(n||e.Beamo||{});o.addEventListener("click",c=>{c.stopPropagation();let u=!(o.getAttribute("aria-expanded")==="true");o.setAttribute("aria-expanded",String(u)),a.hidden=!u}),a.addEventListener("click",c=>{let p=c.target.closest("[data-clear-range]");if(!p)return;let u=p.dataset.clearRange;if(!(u in dn))return;let i=dn[u],f=i===0?0:Date.now()-i;ln(e,r,f),o.setAttribute("aria-expanded","false"),a.hidden=!0,un()})}function fn(e,n=globalThis){if(!e||typeof e.querySelectorAll!="function")return;let t=Array.from(e.querySelectorAll('[role="radiogroup"]'));for(let o of t){if(o.dataset.beamoRadioGroupBound==="true")continue;o.dataset.beamoRadioGroupBound="true";let a=()=>Array.from(o.querySelectorAll('[role="radio"]')),r=()=>{let p=a();if(p.length===0)return;let u=p.findIndex(i=>i.getAttribute("aria-checked")==="true");u<0&&(u=0),p.forEach((i,f)=>{i.setAttribute("tabindex",f===u?"0":"-1")})},c=p=>{let u=a();if(u.length===0)return;let i=(p%u.length+u.length)%u.length,f=u[i];f.focus(),typeof f.click=="function"&&f.click(),r()};o.addEventListener("keydown",p=>{let u=p,i=a(),f=i.indexOf(u.target);if(!(f<0))switch(u.key){case"ArrowRight":case"ArrowDown":u.preventDefault(),c(f+1);break;case"ArrowLeft":case"ArrowUp":u.preventDefault(),c(f-1);break;case"Home":u.preventDefault(),c(0);break;case"End":u.preventDefault(),c(i.length-1);break;default:break}}),o.addEventListener("click",()=>{typeof n.setTimeout=="function"?n.setTimeout(r,0):r()},!0),r()}}function mn(e,n={},t=ne(e.Beamo)){let o=e.fetch;if(typeof o!="function")return;let a=String(n.source??"").trim().slice(0,80);if(!a)return;let r=t?.endpoints?.feedbackIntent||"/PHP/feedback_intent.php",c={source:a,search_term:String(n.searchTerm??n.search_term??"").slice(0,200),api_type:String(n.apiType??n.api_type??"").slice(0,20),zero_results:n.zeroResults===!0};try{o(r,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:JSON.stringify(c),keepalive:!0}).catch(()=>{})}catch{}}function gn(e){let n=new URLSearchParams(String(e?.location?.search??""));return(n.get("searchTerm")||n.get("q")||"").trim()}var pa=null;function fa(e){return!!(e&&typeof e.showModal=="function"&&typeof e.close=="function")}function ma(e){let n=e.document?.getElementById("beamo-feedback-dialog")??null;return fa(n)?n:null}function ga(e){return e.document?.getElementById("beamo-feedback-form")??null}function ha(e,n=""){return e==="wrong_summary"?n==="down"?"overview_thumbs_down":"overview_report":e==="chat_report"?"chat_report":"settings"}function ya(e,n,{isError:t=!1}={}){let o=e?.querySelector("#beamo-feedback-status");if(o){if(!n){o.hidden=!0,o.textContent="",o.classList.remove("is-error","is-success");return}o.hidden=!1,o.textContent=n,o.classList.toggle("is-error",t),o.classList.toggle("is-success",!t)}}function ba(e){if(!e)return;e.reset(),ya(e,"");let n=e.querySelector(".beamo-feedback-dialog__submit");n instanceof HTMLButtonElement&&(n.disabled=!1)}function hn(e=globalThis,n={}){let t=ma(e),o=ga(e);if(!t||!o)return!1;let a=String(n.kind??"general"),r=String(n.overviewRating??n.rating??"").trim(),c=String(n.source??"").trim()||ha(a,r),p=String(n.searchTerm??gn(e)).trim(),u=String(n.apiType??new URLSearchParams(e.location?.search||"").get("type")??"web").trim(),i=String(n.chatTurnId??n.turnId??"").trim();pa={source:c,searchTerm:p,apiType:u,overviewRating:r==="up"||r==="down"?r:"",chatTurnId:i,zeroResults:n.zeroResults===!0},mn(e,{source:c,searchTerm:p,apiType:u,zeroResults:n.zeroResults===!0}),ba(o),typeof t.showModal=="function"&&t.showModal();let f=o.querySelector("#beamo-feedback-message");return f instanceof HTMLTextAreaElement&&f.focus(),!0}function va(e){return e.getAttribute("data-beamo-feedback")||"general"}function Sa(e){return e.getAttribute("data-beamo-feedback-rating")||""}function yn(e=globalThis,n=ne(e.Beamo)){let t=e.document;t&&t.querySelectorAll("[data-beamo-feedback]").forEach(o=>{if(o.dataset.beamoFeedbackBound==="true")return;o.dataset.beamoFeedbackBound="true";let a=r=>{o instanceof HTMLAnchorElement&&r.preventDefault(),!hn(e,{kind:va(o),overviewRating:Sa(o),apiType:new URLSearchParams(e.location?.search||"").get("type")||"web"})&&o instanceof HTMLAnchorElement&&o.href&&e.open(o.href,"_blank","noopener,noreferrer")};if(o instanceof HTMLAnchorElement){o.addEventListener("click",a);return}o.addEventListener("click",a)})}var it="is-filtered-out",bn="is-filtered-out",Ye="settings-filter-empty";function ct(e){return String(e||"").toLowerCase().replace(/\s+/g," ").trim()}function vn(e=globalThis){let n=e.document;if(!n?.getElementById)return;let t=e.Beamo;function o(){return n.getElementById("settings-general-content")}function a(u){let i=n.getElementById(Ye);
4return i||(i=n.createElement("p"),i.id=Ye,i.className="account-page__search-empty",i.setAttribute("role","status"),u.appendChild(i)),i.textContent=d.searchSettingsNoMatch,i}function r(u){let i=o();if(!i)return;let f=ct(u),m=n.getElementById("settings-filter-clear");m&&(m.hidden=f.length===0);let L=n.getElementById("account-section-nav");L&&L.classList.toggle("is-hidden-by-filter",f.length>0);let w=Array.from(i.querySelectorAll(".settings-group")).filter(y=>!y.hasAttribute("hidden"));if(!f){for(let y of w)y.classList.remove(bn),y.querySelectorAll("."+it).forEach(v=>{v.classList.remove(it)});n.getElementById(Ye)?.remove();return}let A=!1;for(let y of w){let E=ct(y.querySelector(".settings-group__title")?.textContent).includes(f),P=Array.from(y.querySelectorAll(".settings-field, .settings-link-row")).filter(_=>!_.hasAttribute("hidden")),F=!1;for(let _ of P){let N=E||ct(_.textContent).includes(f);_.classList.toggle(it,!N),F=F||N}let T=E||F||P.length===0&&E;y.classList.toggle(bn,!T),A=A||T}A?n.getElementById(Ye)?.remove():a(i)}function c(){n.getElementById("account-tab-general")?.getAttribute("aria-selected")==="true"||t?.settingsPage?.openTab?.("general")}function p(){return n.getElementById("settings-filter-input")}n.addEventListener("input",u=>{let i=u.target;!i||i.id!=="settings-filter-input"||(c(),r(i.value))}),n.addEventListener("click",u=>{if(!u.target?.closest("#settings-filter-clear"))return;let f=p();f&&(f.value="",f.focus()),r("")}),n.addEventListener("keydown",u=>{let i=u.target;if(!i||i.id!=="settings-filter-input"||u.key!=="Escape")return;let f=i;f.value&&(u.preventDefault(),f.value="",r(""))})}var Ge=Object.freeze({country:"us",lang:"en",safesearch:"moderate",freshness:""}),Le=Object.freeze({countries:[{value:"us",label:"United States"},{value:"gb",label:"United Kingdom"},{value:"ca",label:"Canada"},{value:"au",label:"Australia"},{value:"de",label:"Germany"},{value:"fr",label:"France"},{value:"es",label:"Spain"},{value:"it",label:"Italy"},{value:"nl",label:"Netherlands"},{value:"be",label:"Belgium"},{value:"at",label:"Austria"},{value:"ch",label:"Switzerland"},{value:"se",label:"Sweden"},{value:"no",label:"Norway"},{value:"dk",label:"Denmark"},{value:"fi",label:"Finland"},{value:"ie",label:"Ireland"},{value:"pt",label:"Portugal"},{value:"pl",label:"Poland"},{value:"cz",label:"Czechia"},{value:"gr",label:"Greece"},{value:"hu",label:"Hungary"},{value:"ro",label:"Romania"},{value:"jp",label:"Japan"},{value:"kr",label:"South Korea"},{value:"in",label:"India"},{value:"id",label:"Indonesia"},{value:"my",label:"Malaysia"},{value:"th",label:"Thailand"},{value:"sg",label:"Singapore"},{value:"nz",label:"New Zealand"},{value:"za",label:"South Africa"},{value:"ae",label:"United Arab Emirates"},{value:"sa",label:"Saudi Arabia"},{value:"il",label:"Israel"},{value:"tr",label:"Turkey"},{value:"mx",label:"Mexico"},{value:"br",label:"Brazil"},{value:"ar",label:"Argentina"},{value:"cl",label:"Chile"},{value:"co",label:"Colombia"},{value:"all",label:"All regions"}],languages:[{value:"en",label:"English"},{value:"es",label:"Spanish"},{value:"fr",label:"French"},{value:"de",label:"German"},{value:"it",label:"Italian"},{value:"pt",label:"Portuguese"},{value:"nl",label:"Dutch"},{value:"pl",label:"Polish"},{value:"sv",label:"Swedish"},{value:"da",label:"Danish"},{value:"no",label:"Norwegian"},{value:"fi",label:"Finnish"},{value:"cs",label:"Czech"},{value:"hu",label:"Hungarian"},{value:"ro",label:"Romanian"},{value:"ja",label:"Japanese"},{value:"ko",label:"Korean"},{value:"zh",label:"Chinese"},{value:"ar",label:"Arabic"},{value:"he",label:"Hebrew"},{value:"tr",label:"Turkish"},{value:"ru",label:"Russian"},{value:"hi",label:"Hindi"},{value:"id",label:"Indonesian"},{value:"ms",label:"Malay"},{value:"vi",label:"Vietnamese"},{value:"th",label:"Thai"},{value:"uk",label:"Ukrainian"},{value:"el",label:"Greek"}],freshness:[{value:"",label:"Any time"},{value:"pd",label:"Past day"},{value:"pw",label:"Past week"},{value:"pm",label:"Past month"},{value:"py",label:"Past year"}],safesearch:[{value:"moderate",label:"Moderate"}
4,{value:"strict",label:"Strict"},{value:"off",label:"Off"}]}),Ke={countries:new Set(Le.countries.map(e=>e.value)),languages:new Set(Le.languages.map(e=>e.value)),freshness:new Set(Le.freshness.map(e=>e.value)),safesearch:new Set(Le.safesearch.map(e=>e.value))};function wa(e){let n=String(e??"").trim().toLowerCase();return Ke.countries.has(n)?n:Ge.country}function Ea(e){let n=String(e??"").trim().toLowerCase();return Ke.languages.has(n)?n:Ge.lang}function ka(e){let n=String(e??"").trim().toLowerCase();return n==="any"?"":Ke.freshness.has(n)?n:Ge.freshness}function Aa(e){let n=String(e??"").trim().toLowerCase();return Ke.safesearch.has(n)?n:Ge.safesearch}function Me(e={}){let n=e&&typeof e=="object"&&!Array.isArray(e)?e:{};return{country:wa(n.country),lang:Ea(n.lang??n.search_lang),freshness:ka(n.freshness),safesearch:Aa(n.safesearch)}}function Sn(e){return e?.storageKeys?.searchFilters||"beamo-search-filters"}function wn(e,n){let t=ht(e,Sn(n),null);return!t||typeof t!="object"?{...Ge}:Me(t)}function Je(e,n,t){yt(e,Sn(n),Me(t))}function lt(e){let n=Me(e);return"".concat(n.country,"|").concat(n.lang,"|").concat(n.freshness,"|").concat(n.safesearch)}function ut({id:e,label:n,labelKey:t,options:o,value:a,compact:r=!1,menuItem:c=!1}){let p=document.createElement("div");p.className=r?"search-filter search-filter--compact":"search-filter";let u=document.createElement("label");u.className="search-filter__label",u.htmlFor=e,u.textContent=n,u.setAttribute("data-beamo-i18n",t);let i=document.createElement("select");i.id=e,i.className="search-filter__control",i.setAttribute("aria-label",n),i.setAttribute("data-beamo-i18n-aria",t),c&&(i.setAttribute("role","menuitem"),i.tabIndex=-1);for(let f of o){let m=document.createElement("option");m.value=f.value,m.textContent=f.label,f.value===a&&(m.selected=!0),i.appendChild(m)}return p.appendChild(u),p.appendChild(i),{field:p,select:i}}function _a({document:e,host:n,filters:t,variant:o="chips",onChange:a,t:r=me()}){if(!n)return null;let c=Me(t),p=o==="settings"||o==="page",u=o==="settings",i=p?"settings-filter":"search-filter",f=p;n.innerHTML="",n.classList.add("search-filters"),n.classList.toggle("search-filters--settings",o==="settings"),n.classList.toggle("search-filters--page",o==="page"),n.classList.toggle("search-filters--chips",o==="chips"),p?(n.removeAttribute("role"),n.removeAttribute("aria-label")):(n.setAttribute("role","group"),n.setAttribute("aria-label",r("filters.group")));let m=ut({id:"".concat(i,"-country"),label:r("filters.region"),labelKey:"filters.region",options:Le.countries,value:c.country,compact:f,menuItem:u}),L=ut({id:"".concat(i,"-lang"),label:r("filters.language"),labelKey:"filters.language",options:Le.languages,value:c.lang,compact:f,menuItem:u}),w=c.freshness,A=ut({id:"".concat(i,"-safesearch"),label:r("filters.safeSearch"),labelKey:"filters.safeSearch",options:Le.safesearch,value:c.safesearch,compact:f,menuItem:u});n.appendChild(m.field),n.appendChild(L.field),n.appendChild(A.field);function y(){return Me({country:m.select.value,lang:L.select.value,freshness:w,safesearch:A.select.value})}function v(){a(y())}for(let E of[m.select,L.select,A.select])E.addEventListener("change",v);return{update(E){let P=Me(E);m.select.value=P.country,L.select.value=P.lang,w=P.freshness,A.select.value=P.safesearch},read:y}}function En({global:e,config:n,hosts:t=[],filters:o,onChange:a}){let r=e.document,c=[];for(let p of t){if(!p?.host)continue;let u=_a({document:r,host:p.host,filters:o,variant:p.variant||"chips",t:me(e),onChange:i=>{Je(e,n,i);for(let f of c)f!==u&&f.update(i);a(i),e.Beamo?.accounts?.schedulePushWithChat?.()}});u&&c.push(u)}return c}var Ca="beamo:site-preferences-change",Pa=200,Ta=100,xa=2160*60*60*1e3,La=new Set(["pin","boost","block","none"]);function kn(e){return e?.storageKeys?.sitePreferences||"beamo-site-preferences"}function An(e){let n=String(e??"").trim().toLowerCase();return La.has(n)?n:""}function Qe(e){let n=String(e??"").trim().toLowerCase();if(!n||n.length>500)return"";n.startsWith("//")&&(n="https:".concat(n)),n.includes("://")||(n="https://".concat(n));let t="";try{t=new URL(n).hostname}catch{return""}return t=t.replace(/\.+$/,"").replace(/^www\./,""),!t||t.length>253||!t.includes(".")||!/^[a-z0-9_]([a-z0-9_-]*[a-z0-9_])?(\.[a-z0-9_]([a-z0-9_-]*[a-z0-9_])?)+$/.test(t)?"":t}function _n(e){let n=Qe(e?.domain);if(!n)return null;let t=An(e?.action);return t?{domain:n,action:t,ts:Number(e?.ts)||0}:null}function Cn(e,n){let t=ke(e,kn(n),"");if(!t)return[];try{let o=JSON.parse(t);if(!Array.isArray(o))return[];let a=new Set,r=[];for(let c of o){let p=_n(c);p&&!a.has(p.domain)&&(a.add(p.domain),r.push(p))}return r}catch{return[]}}function Ba(e,n,t){Ae(e,kn(n),JSON.stringify(t))}function Pn(e,n){return Cn(e,n).filter(t=>t.action!=="none")}function Xe(e,n,t,o){let a=Qe(t),r=An(o);if(!a||!r)return null;
4let c=Cn(e,n).filter(u=>u.domain!==a),p=Na([{domain:a,action:r,ts:Date.now()}],c);return Ba(e,n,p),Ia(e),p}function Na(e,n,{maxActive:t=Pa,maxTombstones:o=Ta,now:a=Date.now()}={}){let r=new Map;for(let i of[...n||[],...e||[]]){let f=_n(i);if(!f)continue;let m=r.get(f.domain);(!m||f.ts>=m.ts)&&r.set(f.domain,f)}let c=[...r.values()].sort((i,f)=>f.ts-i.ts||i.domain.localeCompare(f.domain)),p=c.filter(i=>i.action!=="none").slice(0,t),u=c.filter(i=>i.action==="none"&&a-i.ts<xa).slice(0,o);return[...p,...u].sort((i,f)=>f.ts-i.ts||i.domain.localeCompare(f.domain))}function Tn(e){let n=e.Beamo||(e.Beamo={});return n.__sitePreferenceListeners||(n.__sitePreferenceListeners=new Set),n.__sitePreferenceListeners}function Ia(e){let n=e;for(let t of Tn(n))try{t()}catch{}try{n.dispatchEvent?.(new CustomEvent(Ca))}catch{}}function xn(e,n){if(typeof n!="function")return()=>{};let t=Tn(e);return t.add(n),()=>{t.delete(n)}}var dt=["pin","boost","block"];function Ln({global:e,beamo:n,host:t}){if(!t)return()=>{};let o=ne(n),a=e.document,r=(S,k={},$="")=>{let B=n?.i18n?.t?.(S,k);return B&&B!==S?B:$||S},c=S=>S==="pin"?r("sitePrefs.actionPin",{},"Pin to top"):S==="boost"?r("sitePrefs.actionBoost",{},"Boost"):r("sitePrefs.actionBlock",{},"Block"),p=!1,u=null,i=null,f=a.createElement("p");f.className="settings-site-prefs__hint",f.setAttribute("data-beamo-i18n","sitePrefs.settingsHint"),f.textContent=r("sitePrefs.settingsHint",{},"Pin favorite sites to the top of your results, boost sites you trust, or block sites you never want to see. Preferences sync with your account.");let m=a.createElement("div");m.className="settings-site-prefs__body",t.appendChild(f),t.appendChild(m);function L(){n?.accounts?.schedulePushWithChat?.({source:"site-preferences"})}function w(){for(;m.firstChild;)m.firstChild.remove();i=null}function A(S,k,$){w();let B=a.createElement("p");B.className=S,B.setAttribute("data-beamo-i18n",$),B.textContent=k,m.appendChild(B)}function y(S,k){let $=a.createElement("select");$.className="settings-field__select settings-site-prefs__action",$.setAttribute("aria-label",k);for(let B of dt){let D=a.createElement("option");D.value=B,D.setAttribute("data-beamo-i18n","sitePrefs.action".concat(B.charAt(0).toUpperCase()).concat(B.slice(1))),D.textContent=c(B),B===S&&(D.selected=!0),$.appendChild(D)}return S&&($.value=S),$}function v(){w();let S=a.createElement("form");S.className="settings-site-prefs__add";let k=a.createElement("input");k.type="text",k.className="settings-site-prefs__input",k.placeholder=r("sitePrefs.addPlaceholder",{},"example.com"),k.setAttribute("data-beamo-i18n-placeholder","sitePrefs.addPlaceholder"),k.setAttribute("aria-label",r("sitePrefs.addLabel",{},"Add a site")),k.setAttribute("data-beamo-i18n-aria","sitePrefs.addLabel"),k.autocomplete="off",k.spellcheck=!1,S.appendChild(k);let $=y("block",r("sitePrefs.addActionLabel",{},"Preference for the new site"));$.setAttribute("data-beamo-i18n-aria","sitePrefs.addActionLabel"),S.appendChild($);let B=a.createElement("button");B.type="submit",B.className="settings-action-button settings-site-prefs__submit",B.textContent=r("sitePrefs.addButton",{},"Add"),B.setAttribute("data-beamo-i18n","sitePrefs.addButton"),S.appendChild(B),m.appendChild(S);let D=a.createElement("p");D.className="settings-site-prefs__error",D.hidden=!0,m.appendChild(D),i=a.createElement("div"),i.className="settings-site-prefs__entries",m.appendChild(i),S.addEventListener("submit",G=>{G.preventDefault();let W=Qe(k.value);if(!W){D.textContent=r("sitePrefs.invalidDomain",{},"Enter a valid domain like example.com"),D.hidden=!1;return}D.hidden=!0,k.value="",Xe(e,o,W,$.value),L()}),P()}function E(S){let k=a.createElement("li");k.className="settings-site-prefs__row settings-site-prefs__row--".concat(S.action),k.setAttribute("data-site-pref-domain",S.domain);let $=a.createElement("span");$.className="settings-site-prefs__domain",$.textContent=S.domain,k.appendChild($);let B=y(S.action,r("sitePrefs.rowActionLabel",{domain:S.domain},"Preference for ".concat(S.domain)));B.addEventListener("change",()=>{Xe(e,o,S.domain,B.value),L()}),k.appendChild(B);let D=a.createElement("button");return D.type="button",D.className="settings-site-prefs__remove",D.textContent=r("sitePrefs.removeButton",{},"Remove"),D.setAttribute("data-beamo-i18n","sitePrefs.removeButton"),D.setAttribute("aria-label",r("sitePrefs.removeLabel",{domain:S.domain},"Remove preference for ".concat(S.domain))),D.addEventListener("click",()=>{Xe(e,o,S.domain,"none"),L()}),k.appendChild(D),k}function P(){if(!i)return;
4let S=a.activeElement,$=(S&&typeof S.closest=="function"?S.closest(".settings-site-prefs__row"):null)?.getAttribute("data-site-pref-domain")||"",B=$&&S?(S.className||"").includes("settings-site-prefs__remove")?"remove":"select":"";for(;i.firstChild;)i.firstChild.remove();let D=[...Pn(e,o)].sort((W,ue)=>{let V=dt.indexOf(W.action),Y=dt.indexOf(ue.action);return V-Y||W.domain.localeCompare(ue.domain)});if(D.length===0){let W=a.createElement("p");W.className="settings-site-prefs__empty",W.setAttribute("data-beamo-i18n","sitePrefs.settingsEmpty"),W.textContent=r("sitePrefs.settingsEmpty",{},"No site preferences yet. Add one above, or use the \u22EE control on any search result."),i.appendChild(W);return}let G=a.createElement("ul");G.className="settings-site-prefs__list";for(let W of D)G.appendChild(E(W));i.appendChild(G),$&&[...G.querySelectorAll(".settings-site-prefs__row")].find(V=>V.getAttribute("data-site-pref-domain")===$)?.querySelector(B==="remove"?".settings-site-prefs__remove":".settings-site-prefs__action")?.focus?.()}function F(S){return p?S?.enabled?S?.signedIn?"editor":"signed-out":"unavailable":"pending"}function T(S){let k=F(S);k!==u&&(u=k,u==="pending"?w():u==="unavailable"?A("settings-site-prefs__signed-out",r("sitePrefs.settingsUnavailable",{},"Site preferences are unavailable on this server."),"sitePrefs.settingsUnavailable"):u==="signed-out"?A("settings-site-prefs__signed-out",r("sitePrefs.settingsSignedOut",{},"Sign in to your Beamo account (free) to pin, boost, or block sites in your search results."),"sitePrefs.settingsSignedOut"):v())}let _=xn(e,()=>{u==="editor"&&P()}),N=n?.accounts?.subscribe?.(S=>{p=!0,T(S)});return N||(p=!0),T(n?.accounts?.getState?.()||null),()=>{_(),N?.()}}var Be=globalThis.Beamo||{};ft(Be);globalThis.Beamo=Be;var pe=globalThis,Ze=ne(Be);Qt(pe,Be);tn(pe);pn(pe,Be);yn(pe,Ze);var pt=wn(pe,Ze);En({global:pe,config:Ze,filters:pt,hosts:[{host:pe.document?.getElementById("settings-search-filters")||null,variant:"page"}],onChange:e=>{lt(e)!==lt(pt)&&(pt=e,Je(pe,Ze,e),Be?.accounts?.schedulePushWithChat?.({source:"search-filters"}))}});Ln({global:pe,beamo:Be,host:pe.document?.getElementById("settings-site-prefs")||null});$t({global:pe,beamo:Be});fn(pe.document?.getElementById("settings-general-content")||pe.document,pe);vn(pe);})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.