1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._posthogChunkIds=e._posthogChunkIds||{},e._posthogChunkIds[n]="01a0f32f-126f-7c42-a335-49b094b967e1")}catch(e){}}();"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9589],{34047:(e,t,n)=>{n.d(t,{analyticsService:()=>y,H:()=>u});var a=n(98878),o=n(33712);let r=null,i=null,c=!1,s=!1,_=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"function"!=typeof window.gtag?(a.vF.warn('[Analytics] gtag not found. Event "'.concat(e,'" was not tracked.')),!1):(window.gtag("event",e,t),a.vF.debug("[Analytics] Event tracked: ".concat(e),t),!0)},d="AW-17969120023",l="Pna9CMT3__wbEJeGrPhC",m="N1DeCJXo8_wbEJeGrPhC",u=e=>{if("function"!=typeof window.gtag)return void a.vF.warn("[Consent Mode] gtag not found. Cannot update consent.");let t=e?"granted":"denied";window.gtag("consent","update",{ad_storage:t,ad_user_data:t,ad_personalization:t,analytics_storage:t}),a.vF.info("[Consent Mode] Updated consent to: ".concat(t))},p=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return"function"==typeof window.gtag&&d?(n&&(window.gtag("set","user_data",{email:n}),a.vF.debug("[Google Ads] Enhanced conversions: user_data set")),window.gtag("event","conversion",{send_to:"".concat(d,"/").concat(e),...t}),a.vF.debug("[Google Ads] Conversion tracked: ".concat(d,"/").concat(e),t),!0):(a.vF.warn("[Google Ads] gtag not found or GOOGLE_ADS_ID missing. Conversion not tracked."),!1)},g=e=>{"function"==typeof window.fbq&&(window.fbq("init","1697515360911288",e),a.vF.debug("[Meta Pixel] User data set for Advanced Matching",{hasEmail:!!e.em,hasExternalId:!!e.external_id}))},v=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return"function"==typeof window.fbq?((null==n?void 0:n.eventID)?window.fbq("track",e,t,{eventID:n.eventID}):window.fbq("track",e,t),a.vF.debug("[Meta Pixel] Event tracked: ".concat(e),t,n),!0):(a.vF.warn('[Meta Pixel] fbq not found. Event "'.concat(e,'" was not tracked.')),!1)},w=new Set,f=e=>{let t="G-MRW6SF68ZR";"function"==typeof window.gtag&&t?(window.gtag("config",t,{user_id:e}),a.vF.debug("[Analytics] User ID set:",e)):a.vF.warn("[Analytics] gtag not found or measurement ID missing. User ID not set.")},k=e=>{if("function"==typeof window.gtag){let t=e||window.location.pathname;window.gtag("event","page_view",{page_path:t,page_location:window.location.href,page_title:document.title}),a.vF.debug("[Analytics] Page view tracked:",t)}else a.vF.warn("[Analytics] gtag not found. Page view not tracked.")},b=e=>{let t="free";return"paid"===e.activeAccessType?t="premium":"trial"===e.activeAccessType?t="trial":"bonus"===e.activeAccessType&&(t="bonus"),{plan_type:t,referral_status:e.referralCode?"has_code":"none",primary_device:(()=>{let e=window.navigator.userAgent.toLowerCase();return/tablet|ipad|playbook|silk/.test(e)?"tablet":/mobile|iphone|ipod|android|blackberry|opera|mini|windows\sce|palm|smartphone|iemobile/.test(e)?"mobile":"desktop"})(),preferred_language:window.navigator.language.startsWith("en")?"en":"fr",app_access_mode:(()=>{try{if(window.matchMedia&&window.matchMedia("(display-mode: standalone)").matches)return"pwa_standalone";if(!0===window.navigator.standalone)return"pwa_ios_standalone";if(window.matchMedia&&window.matchMedia("(display-mode: fullscreen)").matches)return"pwa_fullscreen";if(window.matchMedia&&window.matchMedia("(display-mode: minimal-ui)").matches)return"pwa_minimal_ui";if(window.location.search.includes("utm_source=homescreen")||window.location.search.includes("source=pwa")||""===document.referrer&&1===window.history.length)return"pwa_likely";return"browser"}catch(e){return a.vF.warn("[Analytics] Error detecting PWA mode:",e),"browser"}})()}},y={identifyUser:e=>{if(e){if(r===e.uid){let t=JSON.stringify(b(e));if(i===t)return void a.vF.debug("[Analytics] Skipping duplicate user identification for:",e.uid);i=t}else r=e.uid,c=!1,s=!1,i=JSON.stringify(b(e));f(e.uid),(0,o.Ib)(e.uid);let t=b(e);(e=>{"function"==typeof window.gtag?(window.gtag("set","user_properties",e),a.vF.debug("[Analytics] User properties set:",e)):a.vF.warn("[Analytics] gtag not found. User properties not set.")})(t),s||setTimeout(()=>{k(),s=!0},100),a.vF.debug("[Analytics] User identified:",{uid:e.uid,props:t})}else r=null,i=null,c=!1,s=!1,f(null),(0,o.nC)(),a.vF.debug("[Analytics] User logged out, clearing user ID.")},trackPageView:e=>{k(e)},trackLogin:e=>{if(c)return void a.vF.debug("[Analytics] Login already tracked this session, skipping duplicate");c=!0,_("login",{method:e})},resetLoginTracking:()=>{c=!1},trackViewUpgradePage:()=>{_("view_upgrade_page")},trackPracticeSessionStart:e=>{_("practice_session_start",e)},trackFlashcardViewFirst:e=>{_("flashcard_view_first",e)},trackExamSessionStart:e=>{_("exam_session_start",e)},trackPracticeQuestionAnswered:e=>{_("practice_question_answered",e)},trackFlashcardStarToggled:e=>{_("flashcard_star_toggled",e)},trackExamItemAnswered:e=>{_("exam_item_answered",e)},trackContentFlagSubmitted:e=>{_("content_flag_submitted",e)},trackPracticeSessionComplete:e=>{_("practice_session_complete",e)},trackShareReferral:e=>{_("share_referral",{method:e})},trackBeginCheckout:e=>{let{value:t,userEmail:n,userId:a,...o}=e,r=t/100;_("begin_checkout",{currency:"EUR",value:r,items:[{item_id:e.pack_id}],...o,value_cents:t}),(n||a)&&g({em:n,external_id:a}),v("InitiateCheckout",{value:r,currency:"EUR",content_type:"product",content_ids:[e.pack_id],num_items:1})},trackOfflineQueueFlush:e=>{_("offline_queue_flush",e)},trackApiError:e=>{_("api_error",e)},trackAppException:e=>{_("exception",{description:e.error_message,fatal:e.fatal})},trackPWAInstall:e=>{_("pwa_install",{method:e})},trackPWAPromptShown:()=>{_("pwa_prompt_shown")},trackPWAPromptAccepted:()=>{_("pwa_prompt_accepted")},trackPWAPromptDismissed:()=>
1{_("pwa_prompt_dismissed")},trackExamOutcomeCardShown:e=>_("exam_outcome_card_shown",e),trackExamOutcomeCardDismissed:e=>{_("exam_outcome_card_dismissed",e)},trackAppStoreClick:e=>{_("app_store_click",e)},trackSmartAppBannerShown:e=>{_("smart_app_banner_shown",e)},trackSmartAppBannerDismissed:e=>{_("smart_app_banner_dismissed",e)},trackScrollEngagement:e=>{e>=50&&_("scroll",{percent_scrolled:e})},trackTimeOnPage:(e,t)=>{e>=10&&_("user_engagement",{engagement_time_msec:1e3*e,page_path:t})},trackLearningEngagement:e=>{_("learning_engagement",e)},trackFirstSession:e=>{_("first_session_start",e)},trackHomepageEngagement:e=>{_("homepage_engagement",e)},trackUserConversionFunnel:e=>{_("conversion_funnel",e)},trackSessionQuality:e=>{_("session_quality",e)},trackTourStarted:e=>{_("tour_started",{event_category:"onboarding",event_label:"tour_engagement",tour_name:e})},trackTourCompleted:e=>{_("tour_completed",{event_category:"onboarding",event_label:"tour_completion",tour_name:e})},trackTourSkipped:e=>{_("tour_skipped",{event_category:"onboarding",event_label:"tour_abandonment",tour_name:e})},trackTourStepViewed:(e,t)=>{_("tour_step_viewed",{event_category:"onboarding",event_label:"step_viewed",tour_name:e,step_id:t})},trackOnboardingTourInitialized:()=>{_("onboarding_tour_initialized",{event_category:"onboarding",event_label:"tour_system"})},trackOnboardingTourStarted:()=>{_("onboarding_tour_started",{event_category:"onboarding",event_label:"tour_engagement"})},trackOnboardingTourCompleted:()=>{_("onboarding_tour_completed",{event_category:"onboarding",event_label:"tour_completion"})},trackOnboardingTourSkipped:()=>{_("onboarding_tour_skipped",{event_category:"onboarding",event_label:"tour_abandonment"})},trackOnboardingTourStepCompleted:e=>{_("onboarding_tour_step_completed",{event_category:"onboarding",event_label:"step_progress",step_id:e})},trackOnboardingTourStepViewed:(e,t)=>{_("onboarding_tour_step_viewed",{event_category:"onboarding",event_label:"step_viewed",step_id:e,onboarding_tour_page:t})},trackOnboardingTourNavigation:e=>{_("onboarding_tour_navigation",{event_category:"onboarding",event_label:"tour_navigation",navigation_direction:e.direction,from_step:e.fromStepId,to_step:e.toStepId,navigation_reason:e.reason})},trackOnboardingChecklistCompleted:()=>{_("onboarding_checklist_completed",{event_category:"onboarding",event_label:"checklist_completion"})},trackOnboardingChecklistDismissed:()=>{_("onboarding_checklist_dismissed",{event_category:"onboarding",event_label:"checklist_abandonment"})},trackOnboardingChecklistItemCompleted:e=>{_("onboarding_checklist_item_completed",{event_category:"onboarding",event_label:"checklist_progress",checklist_item:e})},trackOnboardingRewardClaimed:e=>{_("onboarding_reward_claimed",{event_category:"onboarding",event_label:"reward_system",discount_code:e,value:15})},trackCouponGenerationAttempt:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;_("coupon_generation_attempt",{event_category:"reward_system",event_label:"dynamic_generation",attempt_number:e,generation_type:"dynamic"})},trackCouponGenerationSuccess:function(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];_("coupon_generation_success",{event_category:"reward_system",event_label:"dynamic_generation",discount_code:e,generation_time_ms:Math.round(t),was_existing:n,generation_type:"dynamic"})},trackCouponGenerationError:function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;_("coupon_generation_error",{event_category:"reward_system",event_label:"dynamic_generation",error_type:e,error_message:t.substring(0,100),attempt_number:n,generation_type:"dynamic"})},trackCouponSystemHealthCheck:(e,t,n)=>{_("coupon_system_health_check",{event_category:"system_monitoring",event_label:"stripe_configuration",health_status:e,environment:t,issues_count:n})},trackOnboardingWelcomeModalShown:()=>{_("onboarding_welcome_modal_shown",{event_category:"onboarding",event_label:"welcome_modal"})},trackOnboardingWelcomeModalAction:e=>{_("onboarding_welcome_modal_action",{event_category:"onboarding",event_label:"welcome_modal",modal_action:e})}
1,trackSessionCompletionModalShown:e=>{_("session_completion_modal_shown",{event_category:"session_completion",event_label:"modal_display",...e})},trackSessionCompletionModalAction:e=>{_("session_completion_modal_action",{event_category:"session_completion",event_label:"modal_interaction",...e})},trackPremiumPromptShown:e=>{_("premium_prompt_shown",{event_category:"conversion",event_label:"premium_prompt_display",...e})},trackPremiumPromptAction:e=>{_("premium_prompt_action",{event_category:"conversion",event_label:"premium_prompt_interaction",...e})},trackSignUp:e=>{let t,n=(t=e.userId,"signup_".concat(t)),a=window.location.href,o=_("sign_up",{event_category:"auth",event_label:"user_registration",method:e.method,event_id:n,utm_source:e.utmSource||void 0,utm_medium:e.utmMedium||void 0,utm_campaign:e.utmCampaign||void 0,utm_content:e.utmContent||void 0,utm_term:e.utmTerm||void 0}),r=e.userId;return!w.has("meta:".concat(r))&&((e.userEmail||e.userId)&&g({em:e.userEmail,external_id:e.userId}),v("CompleteRegistration",{content_name:"user_signup",status:"completed",method:e.method,currency:"EUR",value:0,event_source_url:a,utm_source:e.utmSource||void 0,utm_campaign:e.utmCampaign||void 0},{eventID:n})&&w.add("meta:".concat(r))),m&&!w.has("gads:".concat(r))&&p(m,{},e.userEmail)&&w.add("gads:".concat(r)),o},trackGuideLead:e=>{let t=e.eventId,n=window.location.href,a=_("generate_lead",{event_category:"conversion",event_label:"guide_email_capture",event_id:t,utm_source:e.utmSource||void 0,utm_medium:e.utmMedium||void 0,utm_campaign:e.utmCampaign||void 0,utm_content:e.utmContent||void 0,utm_term:e.utmTerm||void 0});return e.userEmail&&g({em:e.userEmail}),v("Lead",{content_name:"guide_pdf_download",content_category:"lead_magnet",currency:"EUR",value:0,event_source_url:n,utm_source:e.utmSource||void 0,utm_campaign:e.utmCampaign||void 0},{eventID:t}),a},trackPurchase:e=>{let t,n="purchase_tracked_".concat(e.sessionId);if(sessionStorage.getItem(n))return void a.vF.debug("[Analytics] Purchase already tracked for this session, skipping");_("purchase",{currency:e.currency,value:e.value,transaction_id:e.sessionId,items:[{item_name:"premium_subscription"}]}),(e.userEmail||e.userId)&&g({em:e.userEmail,external_id:e.userId}),v("Purchase",{value:e.value,currency:e.currency,content_type:"product",content_name:"premium_subscription"},{eventID:(t=e.sessionId,"purchase_".concat(t))}),l&&p(l,{value:e.value,currency:e.currency,transaction_id:e.sessionId},e.userEmail),sessionStorage.setItem(n,"true")},trackPremiumPreviewBannerShown:e=>{_("premium_preview_banner_shown",{event_category:"conversion",event_label:"premium_preview_display",...e})},trackPremiumPreviewSelected:e=>{_("premium_preview_selected",{event_category:"conversion",event_label:"premium_preview_selection",...e})},trackPremiumPreviewCompleted:e=>{_("premium_preview_completed",{event_category:"conversion",event_label:"premium_preview_completion",...e})},trackPremiumPreviewUpgradeClicked:e=>{_("premium_preview_upgrade_clicked",{event_category:"conversion",event_label:"premium_preview_upgrade",...e})},trackPremiumPreviewConversion:e=>{_("premium_preview_conversion",{event_category:"conversion",event_label:"premium_preview_attribution",...e})},trackReviewErrorsStarted:e=>{_("review_errors_started",e)},trackReviewErrorsCompleted:e=>{_("review_errors_completed",e)},trackWeaknessDrillStarted:e=>{_("weakness_drill_started",e)},trackWeaknessDrillCompleted:e=>{_("weakness_drill_completed",e)},trackAssessmentStarted:e=>{_("assessment_started",e)},trackAssessmentCompleted:e=>{_("assessment_completed",e)},trackFlashcardSessionStarted:e=>{_("flashcard_session_started",e)},trackFlashcardSessionCompleted:e=>{_("flashcard_session_completed",e)},trackInterviewModuleCompleted:e=>{_("interview_module_completed",e)},trackInterviewItemViewed:e=>{_("interview_item_viewed",e)},trackWelcomeGiftAnimationShown:e=>{_("welcome_gift_animation_shown",{event_category:"welcome_offer",event_label:"gift_animation",context:e.context,timestamp:Date.now()})},trackWelcomeOfferViewed:e=>{_("welcome_offer_viewed",{event_category:"welcome_offer",event_label:"offer_display",context:e.context,time_remaining_ms:e.timeRemainingMs,time_remaining_hours:Math.round(e.timeRemainingMs/36e5*10)/10})},trackWelcomeOfferPackageClicked:e=>{_("welcome_offer_package_clicked",{event_category:"welcome_offer",event_label:"package_selection",product_id:e.productId,price_cents:e.priceCents,discount_percent:e.discountPercent,context:e.context})},trackWelcomeOfferSkipped:e=>{_("welcome_offer_skipped",{event_category:"welcome_offer",event_label:"offer_skipped",skip_destination:e.skipDestination,context:e.context})},trackWelcomeOfferExpired:e=>{_("welcome_offer_expired",{event_category:"welcome_offer",event_label:"offer_expiry",was_offer_viewed:e.wasOfferViewed,was_package_clicked:e.wasPackage
1Clicked})},trackWelcomeOfferPurchase:e=>{let t=e.priceCents/100;_("purchase",{event_category:"welcome_offer",event_label:"conversion",product_id:e.productId,currency:"EUR",value:t,value_cents:e.priceCents,from_welcome_offer:!0,discount_amount_cents:e.discountAmountCents,purchase_context:e.purchaseContext}),(e.userEmail||e.userId)&&g({em:e.userEmail,external_id:e.userId}),v("Purchase",{value:t,currency:"EUR",content_type:"product",content_name:"welcome_offer_purchase",content_ids:[e.productId]})},trackWelcomeOfferActivated:e=>{_("welcome_offer_activated",{event_category:"welcome_offer",event_label:"offer_activation",user_type:e.userType,expires_at:e.expiresAtMs,duration_hours:24})},trackWelcomeOfferBannerAction:e=>{_("welcome_offer_banner_action",{event_category:"welcome_offer",event_label:"banner_interaction",action:e.action,location:e.location,time_remaining_ms:e.timeRemainingMs})}}},58491:(e,t,n)=>{n.d(t,{z:()=>a});let a={PWA_DISMISS_DURATION:1728e5,PROMO_PROGRESSIVE_DELAYS:{FIRST_DISMISS:864e5,SECOND_DISMISS:1728e5,THIRD_DISMISS:2592e5},PWA_MILESTONES:[20,60,100],PROMPT_COOLDOWN_MS:6e5,CROSS_PROMPT_COOLDOWN_MS:108e5,PROMPT_STABILITY_MS:1500,SAFE_PAGES:["/","/dashboard-"],SESSION_ROUTES:["/examen","/apprentissage","/apercu","/evaluation-initiale","/entrainement-cible","/revision-erreurs"],STORAGE_KEYS:{DISMISSAL_STATE:"franova_prompt_dismissal_state",LEGACY_PWA_DISMISSED:"pwaInstallDismissed",LEGACY_PROMO_DISMISSED:"franova_dismissed_promos",PWA_CARD_DISMISSED:"franova_pwa_card_dismissed"},DELAYS:{AFTER_TOUR_COMPLETION:3e3,HOMEPAGE_RETURN:2e3}}},68466:(e,t,n)=>{n.d(t,{GE:()=>a,_g:()=>o,fy:()=>s,ou:()=>c});let a=["/login","/signup","/verify-email","/forgot-password","/reset-password"];function o(e){return r(a,e)}function r(e,t){return e.some(e=>t===e||t.startsWith(e+"/"))}let i=a.filter(e=>"/verify-email"!==e),c=e=>r(i,e);function s(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/";if(!e)return t;let n=e.replace(/[\u0000-\u001F\u007F]/g,"");return!n.startsWith("/")||"/"===n[1]||"\\"===n[1]||o(n.split("?")[0].split("#")[0])?t:n}}}]); 2//# chunkId=01a0f32f-126f-7c42-a335-49b094b967e1
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.