(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[548],{7177:(e,t,n)=>{"use strict";n.d(t,{Ay:()=>a});var r=n(12115);n(15012);let o=["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE"],a=function(){let[e,t]=(0,r.useState)({country:"",state:"",stateName:""}),[n,a]=(0,r.useState)(!0);(0,r.useEffect)(()=>{let e,n=0,r=()=>{var r;if(null==(r=window.OneTrust)?void 0:r.getGeolocationData){let n=window.OneTrust.getGeolocationData();if(n&&n.country)return t({country:n.country||"",state:n.state||"",stateName:n.stateName||""}),a(!1),e&&clearInterval(e),!0}return++n>=20&&(console.warn("OneTrust geolocation data not available after maximum attempts"),a(!1),e&&clearInterval(e)),!1};r()||(e=setInterval(r,500));let o=()=>{setTimeout(r,100)};return window.addEventListener("OneTrustLoaded",o),window.addEventListener("OneTrustGroupsUpdated",o),window.addEventListener("consent.onetrust",o),()=>{e&&clearInterval(e),window.removeEventListener("OneTrustLoaded",o),window.removeEventListener("OneTrustGroupsUpdated",o),window.removeEventListener("consent.onetrust",o)}},[]);let i="US"===e.country.toUpperCase(),l=o.includes(e.country.toUpperCase());return{geoData:e,isEU:l,isUS:i,loading:n}}},35676:(e,t,n)=>{"use strict";n.d(t,{default:()=>c});var r=n(95155),o=n(66945),a=n(75915),i=n.n(a),l=n(7177);let s=e=>{var t;let n=i().sanitize(e);null==(t=window.Nitrous)||t.logReportIssue(n)},c=e=>{let{optOutLink:t,...n}=e,{isUS:a}=(0,l.Ay)();return(0,r.jsx)(o.Tn,{...n,cookieOptions:a?void 0:()=>{window.OneTrust?window.OneTrust.ToggleInfoDisplay():console.warn("OneTrust is not defined")},optOutLink:a?t:void 0,reportIssue:s})}},49545:(e,t,n)=>{Promise.resolve().then(n.bind(n,37404)),Promise.resolve().then(n.bind(n,17657)),Promise.resolve().then(n.bind(n,21671)),Promise.resolve().then(n.bind(n,92094)),Promise.resolve().then(n.bind(n,73893)),Promise.resolve().then(n.bind(n,1321)),Promise.resolve().then(n.bind(n,1410)),Promise.resolve().then(n.bind(n,52161)),Promise.resolve().then(n.bind(n,63082)),Promise.resolve().then(n.bind(n,830)),Promise.resolve().then(n.bind(n,87382)),Promise.resolve().then(n.bind(n,87999)),Promise.resolve().then(n.bind(n,58625)),Promise.resolve().then(n.bind(n,77508)),Promise.resolve().then(n.bind(n,35676)),Promise.resolve().then(n.bind(n,62829)),Promise.resolve().then(n.bind(n,71269)),Promise.resolve().then(n.t.bind(n,63315,23)),Promise.resolve().then(n.t.bind(n,15615,23)),Promise.resolve().then(n.t.bind(n,69243,23)),Promise.resolve().then(n.bind(n,19067)),Promise.resolve().then(n.bind(n,3461))},52732:(e,t,n)=>{"use strict";n.d(t,{B:()=>o});var r=n(95155);function o(e){let{fill:t="white"}=e;return(0,r.jsxs)("svg",{fill:"none",height:"20",viewBox:"0 0 20 20",width:"20",xmlns:"http://www.w3.org/2000/svg",children:[(0,r.jsx)("path",{d:"M3.21585 0.017613L3.21602 0L3.21557 0.0210135L3.21568 0.0485375C3.21568 1.88055 1.77601 3.36568 0 3.36568C1.77601 3.36568 3.21568 4.84358 3.21568 6.66667C3.21568 4.86523 4.61459 3.40079 6.35296 3.36632V3.36507C4.61459 3.33043 3.21568 1.85884 3.21568 0.0485375L3.21585 0.017613Z",fill:t}),(0,r.jsx)("path",{d:"M10.1266 1.09108C10.1266 1.04478 10.1269 0.998535 10.1276 0.952381H10.1257C10.1263 0.998535 10.1266 1.04478 10.1266 1.09108Z",fill:t}),(0,r.jsx)("path",{d:"M10.1266 1.09108C10.1266 6.26331 14.1235 10.4678 19.0902 10.5669V10.5704C14.1235 10.669 10.1266 14.853 10.1266 20C10.1266 14.7912 6.01317 10.5686 0.938956 10.5686C6.01317 10.5686 10.1266 6.32539 10.1266 1.09108Z",fill:t}),(0,r.jsx)("path",{d:"M16.8627 13.3819C16.8627 15.1922 18.2616 16.6638 20 16.6984V16.6996C18.2616 16.7342 16.8627 18.1985 16.8627 20C16.8627 18.1769 15.4231 16.699 13.647 16.699C15.4231 16.699 16.8627 15.2139 16.8627 13.3819Z",fill:t})]})}},58625:(e,t,n)=>{"use strict";n.r(t),n.d(t,{BrandSetup:()=>i});var r=n(12115),o=n(16696),a=n(15012);function i(e){let{brand:t=o.mz.Motortrend}=e,{setBrand:n}=(0,a.A)();return(0,r.useEffect)(()=>{n(t)},[t,n]),null}},62829:(e,t,n)=>{"use strict";n.d(t,{default:()=>E});var r=n(95155),o=n(35695),a=n(66945),i=n(93158),l=n(97071),s=n(28885),c=n(16696),d=n(33374),u=n(12115);let m=function(){let e;function t(e){document.documentElement.classList.remove(window.__theme),window.__theme=e,window.__onThemeChange(e),document.documentElement.dataset.theme=e,document.documentElement.classList.add(e)}window.__onThemeChange=function(){};try{e=localStorage.getItem("theme")}catch(e){}window.__setPreferredTheme=function(e){t(e);try{localStorage.setItem("theme",e)}catch(e){}};let n=window.matchMedia("(prefers-color-scheme: dark)");n.addEventListener("change",e=>{window.__setPreferredTheme(e.matches?"dark":"light")}),t(e||(n.matches?"dark":"light"))};var h=n(33289),f=n(5036),p=n(1773),g=n.n(p),v=n(6425),w=n(97893),_=n(34477);let b=(0,_.createServerReference)("60eaf8577af873cc2aeee038c78bb789b76b665423",_.callServer,void 0,_.findSourceMapURL,"initiateSignIn");var k=n(71269),x=n(69588),y=n(15012);let I=e=>e[v.rc];function T(){let{isAuthenticated:e}=(0,y.A)(I),[t,n]=(0,u.useState)(!1),[o,i]=(0,u.useState)(!1),[l,s]=(0,u.useState)(!1),c=(0,a.dv)(),d=(0,u.useRef)(null),m=(0,u.useRef)(null),h="sm"===c||"xs"===c||"md"===c;(0,u.useEffect)(()=>{let e=setTimeout(()=>{s(!0)},100);return()=>clearTimeout(e)},[]),(0,u.useEffect)(()=>{function e(e){d.current&&m.current&&!d.current.contains(e.target)&&!m.current.contains(e.target)&&n(!1)}if(t)return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[t]);let p=async()=>{if(!v.LK.ApiUrl){let e=Error("Mylo API URL is not configured correctly");w.Y.log({error:e,level:"error",msg:"Sign-in attempted but Mylo API URL not configured correctly",path:window.location.pathname});return}try{i(!0);let e=await b(window.location.pathname,window.location.origin);window.location.href=e}catch(e){w.Y.log({error:e,level:"error",msg:"Failed to initiate sign-in",path:window.location.pathname}),i(!1)}};if(!l)return(0,r.jsx)("div",{"aria-hidden":"true",className:"h-8 w-[62px] lg:h-auto lg:w-[78px]"});if(!e)return(0,r.jsx)(a.$n,{className:"h-8 !px-2 max-lg:!rounded-sm lg:h-auto lg:!px-4",colorScheme:"transparent","data-id":"auth-sign-in-button","data-parent":"global-header",disabled:o,onClick:p,typographyProps:{variant:"button2"},children:o?x.HG.login.completingSignIn:x.HG.button.signIn});let _="".concat(window.location.origin,"/cleanup-user-details");return(0,r.jsxs)("div",{className:"relative",onMouseEnter:()=>{!h&&e&&n(!0)},onMouseLeave:()=>{!h&&e&&n(!1)},children:[(0,r.jsx)(a.K0,{"aria-label":x.HG.button.myAccount,className:"!bg-neutral-3 flex-none",colorScheme:"transparent","data-id":"auth-user-button","data-parent":"global-header",onClick:()=>{e?h&&n(!t):p()},ref:m,size:"small",children:(0,r.jsx)(g(),{path:f.gXw,size:.75})}),t&&(0,r.jsx)("div",{className:"absolute top-full right-0 z-50 w-48 pt-1",ref:d,children:(0,r.jsx)("div",{className:"bg-neutral-1 rounded-lg shadow-lg",children:(0,r.jsxs)("ul",{className:"list-none py-1",children:[(0,r.jsx)(a.o5,{as:"li",variant:"caption1",children:(0,r.jsx)(k.NextLink,{className:"text-neutral-5 focus:bg-neutral-2 hover:bg-neutral-2 hover:text-neutral-8 block rounded-lg p-2 focus:outline-0","data-id":"auth-settings-button","data-parent":"auth-dropdown",href:"/my-account/profile",children:x.HG.button.myAccount})}),(0,r.jsx)(a.o5,{as:"li",variant:"caption1",children:(0,r.jsx)("button",{className:"text-neutral-5 focus:bg-neutral-2 hover:bg-neutral-2 hover:text-neutral-8 block w-full rounded-lg p-2 text-left focus:outline-0","data-id":"auth-logout-button","data-parent":"auth-dropdown",onClick:()=>{let e="".concat(v.LK.LogoutUrl,"?client_id=").concat(v.LK.ClientId,"&logout_uri=").concat(encodeURIComponent(_));window.location.href=e},type:"button",children:x.HG.button.logOut})})]})})})]})}var A=n(52732);let E=e=>{let{brand:t=c.mz.Motortrend,menuConfig:n,sponsoredLogo:f}=e,p=(0,o.useRouter)(),g=(0,o.usePathname)(),{theme:v,toggleTheme:w}=(()=>{let[e,t]=(0,u.useState)(h.fL?"light":window.__theme||"light"),n=(0,u.useCallback)(()=>{var t;null==(t=window)||t.__setPreferredTheme("light"===e?"dark":"light")},[e]);return(0,u.useEffect)(()=>{window.__setPreferredTheme||(m(),t(window.__theme)),window.__onThemeChange=t},[]),{theme:e,toggleTheme:n}})(),_={},b=t===c.mz.Motortrend;_=b?{activeTheme:v,joinNewsletterLink:s.BV.Newsletters,toggleTheme:w}:{activeTheme:v,toggleTheme:w};let y=i.h.NEXT_PUBLIC_AI_CHATBOT_ENABLED&&b?(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(a.$n,{"aria-label":"".concat(x.cu.AIChatbotButtonText," - ").concat(x.cu.AIChatbotBetaText),colorScheme:"neutral-3","data-id":d.Co.AIChatbotGlobalHeaderButton,"data-parent":d.Co.GlobalHeader,ignoreTheme:!0,onClick:()=>{let e=new URL(window.location.href);e.searchParams.set("chatbot","true"),p.push(e.toString(),{scroll:!1})},ripple:!1,size:"small",children:(0,r.jsxs)("span",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{children:(0,r.jsx)(A.B,{})}),(0,r.jsx)("span",{className:"hidden @md/header:inline",children:x.cu.AIChatbotButtonText}),(0,r.jsx)(a.o5,{as:"span",className:"bg-neutral-4 hidden scale-75 rounded-sm px-2 py-1 text-xs uppercase @md/header:inline",disableColorScheme:!0,variant:"caption2",children:x.cu.AIChatbotBetaText})]})}),l.X.NEXT_PUBLIC_FEATURE_AUTH_ENABLED?(0,r.jsx)(T,{}):null]}):l.X.NEXT_PUBLIC_FEATURE_AUTH_ENABLED?(0,r.jsx)(T,{}):null;return(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(a.qN,{activePath:g,brand:t,className:"z-top @container/header sticky top-0 [&_[data-ids='GlobalHeaderHamburgerMenu']]:min-[1280px]:hidden [&_[data-ids='GlobalHeaderHamburgerMenu']]:lg:block [&_[data-ids='GlobalHeaderNavigationMenu']]:hidden [&_[data-ids='GlobalHeaderNavigationMenu']]:min-[1280px]:block",hamburgerMenuConfig:_,headerActionConfig:{actionElement:y},linkElement:b?k.NextLink:"a",menuConfig:n,sponsoredLogo:f})})}},71269:(e,t,n)=>{"use strict";n.r(t),n.d(t,{NextLink:()=>s});var r=n(95155),o=n(12115),a=n(6874),i=n.n(a),l=n(9204);let s=(0,o.forwardRef)((e,t)=>{let{href:n,passHref:o,...a}=e,s="string"!=typeof n||o?n:(0,l.l2)({paths:[n]});return(0,r.jsx)(i(),{href:s,passHref:o,prefetch:!1,ref:t,...a})});s.displayName="NextLink"},77508:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>l});var r=n(95155),o=n(12115),a=n(28700),i=n(92568);let l=()=>((0,o.useEffect)(()=>{(0,i.A)("https://sb.scorecardresearch.com/cs/6035748/beacon.js",[a.Ok.ADVERTISEMENT],{async:!0}).catch(e=>{console.error("Failed to load ComScore script:",e)})},[]),(0,r.jsx)(r.Fragment,{children:(0,r.jsx)("noscript",{children:(0,r.jsx)("img",{alt:"comScore",src:"https://sb.scorecardresearch.com/p?c1=2&c2=6035748&cv=3.9.1&cj=1",style:{display:"none"}})})}))},87999:(e,t,n)=>{"use strict";n.d(t,{AuthInitializer:()=>c});var r=n(12115),o=n(6425),a=n(97893),i=n(34477);let l=(0,i.createServerReference)("401703b78390b982500f7721f408a40e8a5cbea900",i.callServer,void 0,i.findSourceMapURL,"getUserProfile");var s=n(15012);function c(){let{initializeAuth:e}=(0,s.A)(),{clearAuthUser:t,setAuthUser:n}=(0,s.A)();return(0,r.useEffect)(()=>{async function e(){try{let e=localStorage.getItem("mylo_access_token"),o=localStorage.getItem("mylo_id_token"),s=localStorage.getItem("mylo_refresh_token"),c=localStorage.getItem("mylo_user_profile"),u=!1;if(e&&o&&c)try{let t=JSON.parse(c);n({accessToken:e,idToken:o,refreshToken:null!=s?s:void 0,...t}),u=!0}catch(e){a.Y.log({context:{userProfileString:c},error:e,level:"warn",msg:"Failed to parse stored user profile from localStorage",path:"components/AuthInitializer/AuthInitializer"}),d()}let m=null;try{m=await l(!1)}catch(e){a.Y.log({context:{hasLocalAuth:u},error:e,level:"warn",msg:"Failed to get server auth state from getUserProfile",path:"components/AuthInitializer/AuthInitializer"})}(null==m?void 0:m.isAuthenticated)&&u&&e?await r(e,m.idToken):(null==m?void 0:m.isAuthenticated)&&!u?await i():!(null==m?void 0:m.isAuthenticated)&&u&&e?await r(e,o):(t(),d())}catch(e){a.Y.log({context:{step:"auth_initialization"},error:e,level:"error",msg:"Auth initialization error in useAuthInit",path:"components/AuthInitializer/AuthInitializer"}),t(),d()}finally{}}async function r(e,r){try{let t=await fetch("".concat(o.LK.ApiUrl,"/userinfo"),{headers:{Authorization:"Bearer ".concat(e)},method:"GET"});if(401===t.status||403===t.status){if(localStorage.getItem("mylo_refresh_token")&&(a.Y.log({level:"info",msg:"Access token expired, attempting refresh",path:"components/AuthInitializer/AuthInitializer"}),await s()))return;throw Error("Token validation failed - unauthorized")}if(!t.ok)throw Error("HTTP ".concat(t.status,": Failed to validate token"));let i=await t.json(),l={accessToken:e,email:i.email,idToken:r||"",isAuthenticated:!0,name:i.name,preferredUsername:i.preferred_username,username:i.username};c(l),n(l)}catch(e){a.Y.log({context:{apiUrl:o.LK.ApiUrl,hasIdToken:!!r,step:"token_validation"},error:e,level:"warn",msg:"Token validation failed with Mylo userinfo API",path:"components/AuthInitializer/AuthInitializer"}),t(),d()}}async function i(){try{let e=await l(!0);e.isAuthenticated?(c(e),n(e)):(t(),d())}catch(e){a.Y.log({context:{step:"server_sync"},error:e,level:"warn",msg:"Failed to sync authentication state from server to client",path:"components/AuthInitializer/AuthInitializer"}),t(),d()}}async function s(){try{let e=await fetch("/nwapi/auth/refresh",{method:"POST"});if(!e.ok)return a.Y.log({context:{responseStatus:e.status},level:"warn",msg:"Token refresh failed",path:"components/AuthInitializer/AuthInitializer"}),!1;let t=await e.json();return localStorage.setItem("mylo_access_token",t.access_token),localStorage.setItem("mylo_id_token",t.id_token),t.refresh_token&&localStorage.setItem("mylo_refresh_token",t.refresh_token),localStorage.setItem("mylo_user_profile",JSON.stringify({email:t.email,name:t.name,preferredUsername:t.preferred_username,username:t.username})),n({accessToken:t.access_token,email:t.email,idToken:t.id_token,isAuthenticated:!0,name:t.name,preferredUsername:t.preferred_username,refreshToken:t.refresh_token,username:t.username}),a.Y.log({level:"info",msg:"Token refresh successful",path:"components/AuthInitializer/AuthInitializer"}),!0}catch(e){return a.Y.log({error:e,level:"warn",msg:"Token refresh attempt failed",path:"components/AuthInitializer/AuthInitializer"}),!1}}function c(e){if(!e.isAuthenticated)return;e.accessToken&&localStorage.setItem("mylo_access_token",e.accessToken),e.idToken&&localStorage.setItem("mylo_id_token",e.idToken),e.refreshToken&&localStorage.setItem("mylo_refresh_token",e.refreshToken);let t={email:e.email||"",name:e.name||"",preferredUsername:e.preferredUsername||"",username:e.username||""};localStorage.setItem("mylo_user_profile",JSON.stringify(t))}function d(){localStorage.removeItem("mylo_access_token"),localStorage.removeItem("mylo_id_token"),localStorage.removeItem("mylo_refresh_token"),localStorage.removeItem("mylo_user_profile")}window.location.pathname.startsWith("/auth/")||e()},[n,t]),(0,r.useEffect)(()=>{let t=t=>{("mylo_access_token"===t.key||"mylo_id_token"===t.key||"mylo_user_profile"===t.key)&&e()};return window.addEventListener("storage",t),()=>{window.removeEventListener("storage",t)}},[e]),null}}},e=>{e.O(0,[653,5779,9910,4747,6945,6874,5915,708,4301,9588,3374,6696,5012,8885,8441,4573,5853,7358],()=>e(e.s=49545)),_N_E=e.O()}]);
//# sourceMappingURL=layout-768635432510e239.js.map