1!function(){try{var e="u">typeof window?window:"u">typeof global?global:"u">typeof globalThis?globalThis:"u">typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b03368e2-dcdb-4939-a504-8dd556d26686",e._sentryDebugIdIdentifier="sentry-dbid-b03368e2-dcdb-4939-a504-8dd556d26686")}catch(e){}}();"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6631,7615],{14:(e,t,r)=>{r.d(t,{Y0:()=>o,rH:()=>i,vO:()=>n});var a=r(51974);let o={ONB_1_0:"ONB 1.0 - Personalised Onboarding Before Checkout",CRO_1_0:"CRO 1.0 â Drive visitors into the Book Preview experience as part of the conversion funnel [NORDICS]",CRO_1_1:"CRO 1.1 - Exit Intent for Book Preview",CRO_7_0:"CRO 7.0 - Reinforcing JSTOR partnership",LLM_1_1:"LLM 1.1 - LLM Banner",CRO_6_7:"CRO 6.7 - Defaulting to the Complete Plan with Price Change Pt. 2",CRO_13_0:"CRO 13.0 - Book preview redesign",CRO_15_0:"CRO 15.0 - Back to school discount banner",CRO_14_1:"CRO 14.1 - Reading list matcher on the book page"},n={[o.ONB_1_0]:{id:"4676463396388864",variations:{control:{id:"5689311253757952",name:"Control"},variation_1:{id:"6284721093607424",name:"Variation #1"}}},[o.CRO_1_0]:{id:"6332388419043328",variations:{control:{id:"5689311253757952",name:"Control"},variation_1:{id:"5206488512200704",name:"Variation #1"}}},[o.CRO_1_1]:{id:"6130811779416064",variations:{control:{id:"5507535654879232",name:"Control"},variation_1:{id:"5672435958153216",name:"Variation #1"}}},[o.CRO_7_0]:{id:"5766706639929344",variations:{control:{id:"4936059964882944",name:"Control"},variation_1:{id:"6061959871725568",name:"Variation #1"}}},[o.LLM_1_1]:{id:"4518593489010688",variations:{control:{id:"5336237553221632",name:"Control"},variation_1:{id:"5898043938045952",name:"Variation #1"}}},[o.CRO_6_7]:{id:"5141098505437184",variations:{control:{id:"5159381845671936",name:"Control"},variation_1:{id:"4877574797524992",name:"Variation #1"}}},[o.CRO_13_0]:{id:"5867858477973504",variations:{control:{id:"4741958571130880",name:"Control"},variation_1:{id:"5240316612050944",name:"Variation #1"}}},[o.CRO_15_0]:{id:"5158619790966784",variations:{control:{id:"5102658615246848",name:"Control"},variation_1:{id:"5704187072217088",name:"Variation #1"},variation_2:{id:"5238894977875968",name:"Variation #2"}}},[o.CRO_14_1]:{id:"6358763945328640",variations:{control:{id:"6641514929979392",name:"Control"},variation_1:{id:"4956267607752704",name:"Variation #1"}}}},i=e=>{let t=n[e];return!!(0,a.Hk)(t.id,t.variations.variation_1.id)}},5745:(e,t,r)=>{r.d(t,{U:()=>s});var a=r(14232),o=r(58377),n=r(89570),i=r(89789);let s=()=>{let[e,t]=(0,a.useState)(1),r=()=>{t((0,i.Y)()?(0,o.Qo)():1)};return(0,a.useLayoutEffect)(()=>{r()},[]),(0,n.A)(r),e}},25313:(e,t,r)=>{r.d(t,{IU:()=>l,V0:()=>s,_R:()=>d});var a=r(51974),o=r(21037),n=r(14),i=r(59625);let s=(e=!1)=>e?{[o.Xu.EMAIL]:i.Gs,[o.Xu.FULL_NAME]:i.lM,[o.Xu.PASSWORD]:i.D7,[o.Xu.PERSONA]:null,[o.Xu.LEVEL_OF_STUDY]:null,[o.Xu.BOOKSHELF]:null,[o.Xu.CHECKOUT_PLAN_SELECTION]:null,[o.Xu.CHECKOUT_PAYMENT]:null}:{[o.Co.EMAIL]:i.Gs,[o.Co.FULL_NAME]:i.lM,[o.Co.PASSWORD]:i.D7,[o.Co.FEATURES]:i.fO,[o.Co.CHECKOUT]:null},l=()=>{let e=n.vO[n.Y0.ONB_1_0];return!!(0,a.Hk)(e.id,e.variations.variation_1.id)},d=(e,t)=>{switch(e){case o.Xu.EMAIL:return t("stepDescriptions.email",{defaultValue:"\uD83D\uDC49 Letâs get started",ns:"signup"});case o.Xu.FULL_NAME:return t("stepDescriptions.fullName",{defaultValue:"\uD83C\uDF31 Youâre making progress",ns:"signup"});case o.Xu.PASSWORD:return t("stepDescriptions.password",{defaultValue:"\uD83D\uDE80 Great momentum",ns:"signup"});default:return""}}},48120:(e,t,r)=>{r.d(t,{i:()=>i});var a=r(78028),o=r(13569),n=r(35429);let i=async(e,t)=>{let r=`${e}/login`,i=(0,n.A)();try{let{data:e}=await (0,a.A)({method:"post",url:r,headers:{Accept:"application/json","Content-Type":"application/json"},data:{email:t.email,password:t.password,persistent_login:t.persistentLogin,device_id:i}});if(e.success)return e.data;throw Error("Request failed")}catch(e){throw(0,o.NE)(e),console.error("Auth service error: ",e),e}}},48668:(e,t,r)=>{r.d(t,{A:()=>a});let a=e=>{let{features:t,ip:r,countryCode:a,...o}=e;window.globals={features:t,app_data:o,user_data:{requestIpAddress:r,requestIpCountryCode:a}}}},54209:(e,t,r)=>{r.d(t,{Tk:()=>i,mR:()=>s});let a="lastVisitedBookMetadata",o=e=>{if("object"!=typeof e||null===e)return!1;for(let[t,r]of Object.entries({id:1,title:"Title",author:"Author",date:"20231106",bookCover:"https://example.com/image.png",availableToPlanTypes:["legacy","essential","complete"]}))if(!(t in e)||typeof r!=typeof e[t])return!1;return!0},n=()=>{let e=localStorage.getItem(a);if(!e)return[];try{let t=JSON.parse(e);if(Array.isArray(t)&&t.some(o))return t.filter(o);if(o(t))return[t];return[]}catch(e){return console.error("Error parsing lastVisitedBookMetadata from localStorage:",e),[]}},i=()=>{let[e]=n();return e??null},s=e=>{try{let t=n().filter(t=>t.id!==e.id),r=[{...e,visitedAt:new Date().toISOString()},...t].slice(0,10);localStorage.setItem(a,JSON.stringify(r))}catch(e){console.error("Failed to save book metadata to localStorage:",e)}}},55070:(e,t,r)=>{r.d(t,{K:()=>a});let a={APPLE:"apple",GOOGLE:"google"}},59625:(e,t,r)=>{r.d(t,{Gs:()=>L,fO:()=>V,lM:()=>I,D7:()=>x,Ay:()=>B});var a,o=r(37876),n=r(18847),i=r.n(n),s=r(72377),l=r(14232),d=r(53897),c=r(89099),u=r(76148),p=r(86631),g=r(49164),f=r(16638),m=r(71273),h=r(60937),v=r(48120),_=r(78028),y=r(13569),w=((a={}).RegexFailed="Regex.Failed",a.CommonPassword="DenyList.CommonPassword",a.PerlegoContext="DenyList.PerlegoContext",a.UserContext="DenyList.UserContext",a);let C=async(e,t,r)=>{let a=`${e}/validate-password`;try{let{data:e,status:o}=await (0,_.A)({method:"POST",url:a,headers:{Accept:"application/json","Content-Type":"application/json"},data:{password:t.password,userData:{firstName:t.firstName,lastName:t.lastName,email:t.email}},signal:r?.signal,validateStatus:e=>e<500}),n=e?.errorCode??e?.data?.errorCode;return{success:!!(e?.success??(o>=200&&o<300)),errorCode:n}}catch(e){throw(0,y.NE)(e),console.error("Auth service error: ",e),e}};var b=r(75171),E=r(65748),S=r(21037),O=r(25313),A=r(49784),k=r(83490),P=r(32723),R=r(54209),N=r(21249),T=r(83329);let L=i()(()=>Promise.all([r.e(1946),r.e(475),r.e(9759),r.e(2807)]).then(r.bind(r,33627)),{loadableGenerated:{webpack:()=>[33627]}}),I=i()(()=>Promise.all([r.e(1946),r.e(475),r.e(9759),r.e(7468)]).then(r.bind(r,91144)),{loadableGenerated:{webpack:()=>[91144]}}),x=i()(()=>Promise.all([r.e(1946),r.e(475),r.e(9759),r.e(5117),r.e(4922)]).then(r.bind(r,4922)),{loadableGenerated:{webpack:()=>[4922]}}),V=i()(()=>Promise.all([r.e(1946),r.e(475),r.e(5094),r.e(5539)]).then(r.bind(r,15539)),{loadableGenerated:{webpack:()=>[15539]}}),B=({current:e,next:t,submitForm:r,loading:a,navigateToOnboardingPage:n,navigateToWebToAppFlow:i})=>{let{push:_,locale:y,query:L}=(0,c.useRouter)(),[I]=(0,g.A)(),[x,V]=(0,l.useState)(!1),{t:B}=(0,s.Bd)(),[j,D]=(0,d.O1)(),[F,U]=(0,l.useState)(!1),[M,$]=(0,l.useState)(!1),[G,X]=(0,l.useState)(null),K=a||x&&r,H=(0,p.z)(),{addBanner:Y,removeBanner:q,isBannerPersisted:J}=(0,A.V)(),{USER_SERVICE_LOCATION:W,AUTH_SERVICE_LOCATION:z,features:Q}=H,{sendValidationEmailPostSignUp:Z,newPasswordValidation:ee}=Q,et=Array.isArray(L.state)?L.state[0]:L.state??"",er=Q.webToApp&&("true"===L.webToApp||(0,u.Wm)(et)),ea=(0,O.V0)(),eo=ea[e],en="sign-up-error-banner",ei="welcome-banner",es=async(e,t)=>{try{return await (0,m.jg)(W,{userId:e,languageCode:t})}catch(e){console.error("Error sending email validation code:",e)}},el=async()=>{let e=!1;q(ei),q(en),X(null);try{let{firstName:t,lastName:r,email:a,password:o,marketingEmailsChecked:n,recaptcha:i}=j;if(V(!0),ee){let e=await C(z,{password:o,firstName:t,lastName:r,email:a});if(!e.success){I({eventName:"password validation failed",eventLabel:"",eventProperties:{errorCode:e.errorCode,triggerLocation:"d2c account creation"},location:window.location});let t=((e,t)=>{switch(e){case w.RegexFailed:return t("passwordValidation.regex.failed",{defaultValue:"Make sure your password is at least 8 characters and includes a letter, a number, and a special character.",ns:"signup"});case w.CommonPassword:return t("passwordValidation.denyList.commonPassword",{defaultValue:"This password is too common. Choose one that's more unique to keep your account safe.",ns:"signup"});case w.PerlegoContext:return t("passwordValidation.denyList.perlegoContext",{defaultValue:"For your security, avoid using terms related to Perlego, our content, or library services.",ns:"signup"});case w.UserContext:return t("passwordValidation.denyList.userContext",{defaultValue:"Keep your account secure: please don't include your name or email in your password.",ns:"signup"});default:return t("errorMessages.invalidPassword",{defaultValue:"Include letters, numbers, and special characters",ns:"signup"})}})(e.errorCode,B);return X(t),V(!1),!1}}let{platform_id:s}=await (0,m._m)(W,{firstName:t,lastName:r,email:a,password:o,marketingConsent:n,recaptchaResponse:i});(0,T.K)();let l=(0,R.Tk)();I({eventName:"account creation",eventLabel:"Subscription creation",eventProperties:{marketingConsent:n,referrerBookId:l?.id??void 0,referrerBookPlanTypes:l?.availableToPlanTypes??void 0},location:window.location,overrides:{userName:`${t} ${r}`,email:a,platformId:s}}
1),(0,f.LG)({eventName:"account creation",eventParams:{user_id:s}}),(0,h.TV)("unsubscribed_from_emails",(!n).toString(),2);let d=await (0,v.i)(z,{email:a,password:o,persistentLogin:"true",loginOnSignUp:!0,b2bLoginOnSignup:!1});if(!d)throw Error("There was an error while logging in.");if(U(!0),(0,h.TV)("auth-cookie",d.jwt_token,90),e=!0,Z){let e=(0,k.D4)(y)?y:k.e0.EN;await es(s,e)}}catch(e){$(!0),V(!1)}finally{return e}};(0,l.useEffect)(()=>{(F||J(ei))&&(q(ei),Y({message:B("banners.welcome",{defaultValue:"Welcome to Perlego!",ns:"signup"}),shouldPersist:!0,bannerType:"success",status:b.l.SUCCESS,toastId:ei})),(M||J(en))&&(q(en),Y({message:B("banners.unknown",{defaultValue:"There was an unknown error while creating your account.",ns:"signup"}),shouldPersist:!0,bannerType:"error",status:b.l.ERROR,toastId:en}))},[F,M,q,Y]),(0,l.useEffect)(()=>{e===S.Co.FEATURES&&q(en)},[e,q]);let ed=async()=>{let e=!0;if(r){if(await el()?await (0,E.u)(P.F0):e=!1,e&&er&&(0,N.Hu)()&&i)return void i();if(e&&n)return void n()}e&&(D({type:"next_step"}),_(er?`${t}?webToApp=true`:t))},ec=Object.keys(ea).indexOf(e,-1);return(0,o.jsx)(eo,{stepNumber:ec,onContinue:ed,loading:K,passwordValidationError:G,onResetPasswordValidationError:()=>X(null)})}},65748:(e,t,r)=>{r.d(t,{u:()=>a});let a=async e=>new Promise(t=>setTimeout(t,e))},70816:(e,t,r)=>{r.d(t,{Q:()=>a});let a="signUpErrorBanner"},71273:(e,t,r)=>{r.d(t,{TK:()=>l,_m:()=>s,jg:()=>u,t$:()=>d});var a=r(78028),o=r(13569),n=r(60937),i=r(35429);let s=async(e,t)=>{let r=`${e}/user`,n=(0,i.A)();try{let{data:e}=await (0,a.A)({method:"post",url:r,headers:{Accept:"application/json","Content-Type":"application/json",...t?.sessionId&&{"Perlego-Tracking-Session-Id":`${t?.sessionId}`}},data:{first_name:t?.firstName,last_name:t?.lastName,email:t?.email,device_id:n,password:t?.password,marketing_consent:t?.marketingConsent,g_recaptcha_response:t?.recaptchaResponse}});if(e.success)return e.data;throw Error("Request failed")}catch(e){throw(0,o.NE)(e),console.error("User service error: ",e),e}},l=async(e,{name:t,surname:r,email:i,marketingConsent:s,orgId:l})=>{let d=`${e}/user`,c={};i&&(c.email_address=i),t&&(c.first_name=t),r&&(c.last_name=r),"boolean"==typeof s&&(c.marketing_consent=s),l&&(c.org_id=l);let u=(0,n.Ri)("auth-cookie");if(null===u)throw Error("No auth-cookie found");try{let e=await (0,a.A)({method:"patch",url:d,headers:{Accept:"application/json","Content-Type":"application/json",Authorization:`Bearer ${u}`},data:c});if(e.status>=400&&e.status<500)throw Error(e.data.message);if(e.status>=500)throw Error("An unexpected error occurred");return e.data.success}catch(e){throw(0,o.NE)(e),console.error(e),e}},d=async(e,t)=>{let r=`${e}/user/login-hint?email=${encodeURIComponent(t)}`;try{let{data:e}=await (0,a.A)({method:"GET",url:r,headers:{Accept:"application/json","Content-Type":"application/json"},data:{email:t}});return c(e)}catch(e){return c(e.response.data)}},c=e=>({success:e.success,authenticationMethod:e.data.authentication_method,organisationProviderId:e.data.organisation_provider_id,organisationDefaultAccessCode:e.data.default_code,organisationToken:e.data.org_token,potentialOrganisationId:e.data.potential_organisation_id,autoAccountCreation:e.data.auto_account_creation,inviteSent:e.data.invite_sent}),u=async(e,t,r)=>{try{let o=`${e}/validate_code`,i=(0,n.Ri)("auth-cookie");if(!i)throw Error("No auth-cookie found");return await (0,a.A)({method:"POST",url:o,headers:{Accept:"application/json","Content-Type":"application/json","Accept-Language":t.languageCode,Authorization:`Bearer ${i}`},data:t,signal:r?.signal}),!0}catch(r){r instanceof Error&&"AbortError"===r.name?console.warn("Request aborted"):(0,o.NE)(r);let e=r.message||r,t="string"==typeof e?e:JSON.stringify(e,null,2);throw Error(`User service error: ${t}`)}}},71831:(e,t,r)=>{r.d(t,{A:()=>b});var a=r(55070),o=r(82005),n=r(30038),i=r(40097),s=r(78028),l=r(13569);let d=async(e,t,r)=>{let a=`${e}/sso-token-validation`;try{let{data:e}=await (0,s.A)({method:"POST",url:a,headers:{Accept:"application/json","Content-Type":"application/json"},data:t,signal:r?.signal,validateStatus:e=>e>=200&&e<=400||409===e});return e}catch(r){r instanceof Error&&"AbortError"===r.name?console.warn("Request aborted"):(0,l.NE)(r);let e=r.message||r,t="string"==typeof e?e:JSON.stringify(e,null,2);throw Error(`Auth service error: ${t}`)}};var c=r(14e3),u=r(14232),p=r(75171),g=r(72377),f=r(32723),m=r(60937),h=r(16638),v=r(23846),_=r(49784),y=r(73208),w=r(54209),C=r(83329);let b=({ssoData:e,locale:t,onAuthSuccess:r,onAuthError:s,authServiceUrl:l,trackEventASYNC:b,enabled:E=!0})=>{let{t:S}=(0,g.Bd)(),O=(0,c.useSearchParams)().get("error"),[A,k]=(0,u.useState)(!1),{addBanner:P}=(0,_.V)();(0,u.useEffect)(()=>(k(e&&E),()=>{k(!1)}),[e,E]);let R=(e=>{if(!e)return!1;let{provider:t,state:r,code:a,redirectUri:i}=e;return!!(0,o.rH)(t)&&!!r&&!!a&&!!i&&(n.R.getItem("code_verifier")||"")===r})(e),{validateToken:N,isPending:T,isSettled:L,isError:I}=(({authServiceUrl:e})=>{let t=["validate-sso-token",e],{mutateAsync:r,isError:a,isPending:o,isSuccess:n}=(0,i.n)({mutationKey:t,mutationFn:async t=>d(e,t)});return{mutationKey:t,validateToken:r,isError:a,isPending:o,isSettled:n||a}})({authServiceUrl:l}),x=(0,u.useCallback)(async(e,t,r)=>{if(!r)return;let{user_id:a}=r;try{if(t)return void await b({eventName:"log in",eventLabel:"Log in",eventProperties:{provider:e,user_id:a},location:window.location,overrides:{platformId:a}});(0,C.K)();let r=(0,w.Tk)();await b({eventName:"account creation",eventLabel:"Subscription creation",eventProperties:{marketingConsent:!1,provider:e,user_id:a,referrerBookId:r?.id??void 0,referrerBookPlanTypes:r?.availableToPlanTypes??void 0},location:window.location,overrides:{platformId:a}}
1),(0,h.LG)({eventName:"account creation",eventParams:{user_id:a}})}catch(e){console.error("Error tracking SSO auth success events:",e)}},[b]),V=(0,u.useCallback)(async(e,a,n,i)=>{try{if(!(0,o.rH)(e))return void console.error("Invalid or unsupported provider:",e);let s=!n,l=n&&a;if((s||l)&&y.A.setItem(f.ef,e),await x(e,n,i),n)return void window.location.assign((0,v.I)({path:"/home",locale:t}));r()}catch(e){throw console.error("Error in handleSsoAuthSuccess:",e),Error("Error handling SSO auth success")}},[t,r,x]);return{shouldValidateSsoToken:A,ssoDataValid:R,isSsoError:!!O||I,isValidatingSsoToken:T,shouldAuthenticateSsoUser:A&&R&&!T&&!L,authenticateSsoUser:(0,u.useCallback)(async()=>{try{let r;if(!e)return void console.error("SSO data is missing");let o=(r={provider_name:e.provider,code:e.code,code_verifier:e.state,redirect_uri:e.redirectUri,persistent_login:!0},e.provider===a.K.APPLE&&(r.code_nonce=(n.R.getItem("code_challenge")??"")||""),r),i=await N(o),s="Failed to validate SSO token";if(!i)throw Error(s);let{success:l,data:d}=i;if(!1===l){if("object"==typeof d&&null!==d&&"potential_organisation_id"in d&&"invite_sent"in d&&1)return void P({message:S("banners.sso.errors.aac",{defaultValue:"Your email is part of an organisational account. Check your email for an invite link (check spam as well)",ns:"signup"}),shouldPersist:!0,status:p.l.INFO});if("object"==typeof d&&null!==d&&"organisation_provider_id"in d&&"organisation_id"in d&&"default_code"in d&&"authentication_method"in d&&"auto_account_creation"in d&&"org_token"in d&&1)return void window.location.assign((0,v.I)({path:`/group-register?orgt1=${d.org_token}®code=${d.default_code}`,locale:t}));if("object"==typeof d&&null!==d&&"providerType"in d&&"errorType"in d&&"b2b_sso"===d.errorType&&1)return void P({message:S("banners.sso.errors.b2b",{defaultValue:"Sign up with your organisation email. Social signup is not supported on your account type.",ns:"signup"}),shouldPersist:!0,status:p.l.ERROR});throw Error(s)}let{jwt_token:c,existing_account_linked:u,account_exists:g,user_data:h}=d;(0,m.TV)(f.aq,c,90),V(e.provider,u,g,h)}catch(e){console.error("Error in authenticateSsoUser:",e),s()}},[e,N,s,S,V,P,t])}}},82005:(e,t,r)=>{r.d(t,{rH:()=>n,y:()=>s});var a=r(55070),o=r(83490);let n=e=>"string"==typeof e&&Object.values(a.K).includes(e),i={[o.yF.EN_GB]:o.yF.EN,[o.yF.FR_CA]:o.yF.FR},s=e=>(0,o.tC)(e)?i[e]??e:o.yF.EN},83329:(e,t,r)=>{r.d(t,{I:()=>o,K:()=>i});var a=r(73208);let o=e=>{let t=a.A.getItem("siteState");if(!t)return a.A.setItem("siteState",JSON.stringify(e)),e;{let r={...JSON.parse(t),...e};return a.A.setItem("siteState",JSON.stringify(r)),r}},n=["onboardingBookshelfId","onboardingBookshelfSavedBooks"],i=()=>n.forEach(e=>a.A.removeItem(e))},83490:(e,t,r)=>{r.d(t,{D4:()=>n,e0:()=>a,tC:()=>i,yF:()=>o});let a={ES:"es",EN:"en",IT:"it",DE:"de",FR:"fr",XX:"xx"},o={ES:"es",EN:"en",EN_GB:"en-GB",IT:"it",DE:"de",FR:"fr",FR_CA:"fr-CA",XX:"xx"},n=e=>Object.values(a).includes(e),i=e=>Object.values(o).includes(e)},86631:(e,t,r)=>{r.d(t,{S:()=>s,z:()=>i});var a=r(37876),o=r(14232);let n=(0,o.createContext)({}),i=()=>{let e=(0,o.useContext)(n);if(!e)throw Error("context is undefined within GlobalsProvider");return e},s=({children:e,value:t})=>t&&(0,a.jsx)(n.Provider,{value:t,children:e})},87608:(e,t,r)=>{r.d(t,{C:()=>n,w:()=>o});var a=r(44086);let o=(e,t,r)=>e===a.q.STEP_NUMBERS?t+1:Math.round(t/r*100),n=(e,t,r,o)=>{switch(e){case a.q.STEP_NUMBERS:return o("progressBar.ariaLabel.stepNumbers",{ns:"translation",defaultValue:"Step {{value}} of {{total}}",value:t,total:r});case a.q.PERCENTAGE:return o("progressBar.ariaLabel.percentage",{ns:"translation",defaultValue:"{{value}}% completed",value:t});default:return""}}},89570:(e,t,r)=>{r.d(t,{A:()=>s});var a=r(77170),o=r.n(a),n=r(14232),i=r(89789);let s=(e,t)=>{let r=(0,i.Y)();(0,n.useEffect)(()=>{let a,n=(a=t?.throttleDelay??200)>0?o()(e,a,{trailing:!0}):e;return t?.executeOnMount&&n(),r&&window.addEventListener("resize",n),()=>{r&&window.removeEventListener("resize",n)}},[r,e,t?.throttleDelay,t?.executeOnMount])}},89789:(e,t,r)=>{r.d(t,{Y:()=>a});let a=()=>!0},92098:(e,t,r)=>{r.d(t,{E3:()=>i,Q3:()=>n,Yi:()=>o});var a=r(87856);let o=a.Ay.div.attrs({"data-testid":"ProgressBarWrapper"}).withConfig({displayName:"ProgressBar.styles__ProgressBarWrapper",componentId:"sc-6bf9c660-0"})(["display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:",";width:100%;margin-block-end:",";"],({theme:e})=>e.spacing(1),({theme:e})=>e.spacing(8)),n=a.Ay.div.withConfig({displayName:"ProgressBar.styles__DescriptionContainer",componentId:"sc-6bf9c660-1"})(["width:100%;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:",";"],({theme:e})=>e.spacing(2)),i=a.Ay.div.withConfig({displayName:"ProgressBar.styles__ProgressDescription",componentId:"sc-6bf9c660-2"})(["width:100%;display:flex;flex-direction:row;justify-content:flex-end;align-items:center;gap:",";align-self:flex-end;"," color:",""],({theme:e})=>e.spacing(2),({theme:e})=>e.text.BodySRegular,({theme:e})=>e.colours.text.tertiary)}}]);
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.