PageSourceSearch

https://www.porroscustominteriors.com/_next/static/immutable/chunks/169_wapspyqie.js

js porroscustominteriors.com collected 2026-10-04 05:21:41 UTC 83,360 bytes, 1 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,83844,e=>{"use strict";var t,r=e.i(43476),i=e.i(70711),n=e.i(5028),s=((t={}).DEALER_TEST_FLAG="hd-dealer-test-flag",t);function a(){var e;return(e=s.DEALER_TEST_FLAG,(0,n.useFeatureIsOn)(e))?(0,r.jsxs)("div",{role:"status",className:"absolute left-0 right-0 top-0 z-[1000] border-b border-amber-200 bg-amber-50 px-4 py-2 text-center text-sm text-amber-950",children:["Dealer test flag is ",(0,r.jsx)("strong",{children:"ON"})," (",s.DEALER_TEST_FLAG,")"]}):null}Object.values(s),e.s(["DealerTestFlagBanner",0,function(){return(0,i.useHydrated)()?(0,r.jsx)(a,{}):null}],83844)},98887,23099,80737,e=>{"use strict";var t=e.i(43476),r=e.i(71645),i=e.i(35106);function n(e){if(!e)return"#";let t=e.startsWith("/")||e.startsWith("http")||e.startsWith("#")?e:`/${e}`;return(0,i.preserveDealerViewParam)(t)}e.s(["default",0,n],23099);var s=e.i(6020),a=e.i(22016);e.s(["default",0,e=>{if(!e)return null;let{socialMedia1:i,socialMediaUrl1:l,socialMedia2:o,socialMediaUrl2:u,socialMedia3:c,socialMediaUrl3:d,socialMedia4:h,socialMediaUrl4:p,socialProfiles:f,classes:g,color:m="black",desktopSize:b=32,mobileSize:y=32}=e,x=(f??[]).map(e=>{let t=function(e){switch(e.trim().toLowerCase()){case"facebook":return"Facebook";case"instagram":return"Instagram";case"twitter":return"Twitter";case"pinterest":return"Pinterest";case"houzz":return"Houzz";case"youtube":return"YouTube";case"yelp":return"Yelp";case"angies_list":return"AngiesList";case"linkedin":return"LinkedIn";default:return null}}(e.platform),r=e.url?.trim();return{prop:r,shouldShow:!!t&&!!r,iconName:t}}).filter(e=>e.shouldShow),v=x.length>0?x:[{prop:l,shouldShow:!!i&&!!l,iconName:i},{prop:u,shouldShow:!!o&&!!u,iconName:o},{prop:d,shouldShow:!!c&&!!d,iconName:c},{prop:p,shouldShow:!!h&&!!p,iconName:h}],k={white:"fill-white",black:"fill-black"};return(0,t.jsx)("div",{className:g||"flex items-center justify-center",children:v.map((e,i)=>(0,t.jsx)(r.default.Fragment,{children:e.shouldShow&&(0,t.jsxs)(a.default,{href:n(e.prop),target:"_blank",rel:"noopener noreferrer",className:"mr-1 p-0.5 lg:mr-2 lg:p-0.5","aria-label":e.iconName??"social",id:`social_media_icon_${e.iconName?e?.iconName.toLowerCase():"social"}`,children:[(0,t.jsx)(s.IconPack,{className:`block lg:hidden ${k[m]}`,icon:e.iconName??"",width:y,height:y,fill:m}),(0,t.jsx)(s.IconPack,{className:`hidden lg:block ${k[m]}`,icon:e.iconName??"",width:b,height:b,fill:m})]},e.iconName)},`${e.iconName}_${i}`))})}],98887);var l=e.i(17595),o=e.i(70711);e.i(89771);var u=e.i(13135),c=e.i(73899);function d({currentLanguage:e,handleClick:i}){let n=c.LANGUAGE_LIST.filter(e=>e.id!==c.DEFAULT_LANGUAGE);return(0,t.jsx)("div",{className:"flex items-center justify-between gap-2",children:n.map((a,l)=>{let o=a.id===e;return(0,t.jsxs)(r.default.Fragment,{children:[(0,t.jsx)("button",{title:`Change language to ${a.title}`,"aria-label":`Change language to ${a.title}`,lang:a.id,id:`footer_change_language_to_${a.title.toLowerCase()}`,"data-testid":`footer-language-toggle-${a.id}`,className:"font-sans leading-none",onClick:()=>i(a.id),children:(0,t.jsx)(s.Typography,{variant:"h3",as:"span",style:o?{fontWeight:700}:{fontWeight:300},children:a.title})},a.id),l<n.length-1&&(0,t.jsx)(s.Typography,{variant:"h3",as:"span",style:{fontWeight:300},children:"|"})]},a.id)})})}function h({currentLanguage:e,handleClick:r}){let[i]=c.LANGUAGE_LIST.filter(t=>t.id!==e&&t.id!==c.DEFAULT_LANGUAGE);return(0,t.jsx)("div",{className:"flex flex-col items-start justify-start gap-2",children:(0,t.jsxs)("div",{className:"flex items-center justify-start gap-2",children:[(0,t.jsx)("span",{children:(0,t.jsxs)("svg",{width:"32",height:"24",viewBox:"0 0 32 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,t.jsx)("path",{d:"M3.55556 0C2.61256 0 1.70819 0.38901 1.0414 1.08145C0.374602 1.77389 0 2.71305 0 3.69231V20.3077C0 21.287 0.374602 22.2261 1.0414 22.9185C1.70819 23.611 2.61256 24 3.55556 24H8.88889V0H3.55556ZM28.4444 0H23.1111V24H28.4444C29.3874 24 30.2918 23.611 30.9586 22.9185C31.6254 22.2261 32 21.287 32 20.3077V3.69231C32 2.71305 31.6254 1.77389 30.9586 1.08145C30.2918 0.38901 29.3874 0 28.4444 0Z",fill:"#D52B1E"}),(0,t.jsx)("path",{d:"M8.88889 0H23.1111V24H8.88889V0Z",fill:"white"}),(0,t.jsx)("path",{d:"M16.5467 15.7966C17.6116 15.9249 18.5662 16.0403 19.6302 16.1668L19.3591 15.2418C19.3392 15.1623 19.3419 15.0784 
119.367 15.0004C19.3921 14.9224 19.4384 14.8536 19.5004 14.8025L22.5929 12.1865L21.9529 11.8735C21.6711 11.7692 21.7484 11.604 21.8507 11.2071L22.3227 9.42L20.5262 9.81415C20.3511 9.84185 20.2347 9.72646 20.208 9.61569L19.976 8.77477L18.5556 10.4308C18.3538 10.6966 17.9449 10.6966 18.072 10.0837L18.6791 6.72923L17.864 7.16769C17.6356 7.30062 17.4071 7.32277 17.28 7.08554L16.1556 4.90154L15.0311 7.08554C14.9031 7.32277 14.6747 7.30062 14.4462 7.16769L13.632 6.72923L14.2391 10.0837C14.3671 10.6966 13.9573 10.6966 13.7556 10.4308L12.3351 8.77569L12.104 9.61662C12.0773 9.72739 11.96 9.84277 11.7849 9.81508L9.98844 9.42092L10.4604 11.208C10.5609 11.6049 10.6391 11.7702 10.3573 11.8745L9.71733 12.1874L12.8098 14.8034C12.9324 14.9022 12.9947 15.0803 12.9502 15.2428L12.6791 16.1677L15.7636 15.7975C15.8578 15.7975 15.92 15.852 15.9191 15.9646L15.7289 19.3837H16.5787L16.3893 15.9646C16.3911 15.8511 16.4524 15.7966 16.5467 15.7966Z",fill:"#D52B1E"})]})}),(0,t.jsxs)("button",{id:`header_change_language_${i.title.toLowerCase()}`,"data-testid":`header-language-toggle-${i.id}`,title:`Change language to ${i?.title}`,"aria-label":`Change language to ${i?.title}`,className:"cursor-pointer font-open-sans text-[20px] font-bold uppercase leading-[24px] lg:text-[28px] lg:leading-[38px]",onClick:()=>r(i?.id),children:[(0,t.jsx)(s.Typography,{variant:"h5",as:"span",className:"hidden normal-case lg:block",children:i?.title}),(0,t.jsx)(s.Typography,{variant:"h1",as:"span",className:"inline-block lg:hidden",children:i?.title})]})]})})}e.s(["LanguageToggle",0,function({country:e,isFooter:r=!1}){let i=(0,o.useLanguageCookie)()||c.CANADIAN_LANGUAGE;function n(e){let t=Date.now()+86400,r=(0,u.languageCookieName)(window.location.host);l.default.set(r,e,{expires:t}),l.default.set(c.LANGUAGE_HAS_BEEN_CHANGED,"true",{expires:t});let i=new URL(window.location.href);i.searchParams.set("lang",e),window.history.replaceState({},"",i.toString()),window.location.reload()}return!e||["US","USA","EN","ENG"].includes(e.toUpperCase())?null:(0,t.jsx)("div",{className:`mr-4 flex justify-start gap-2 ${r?"item-center":"item-start"}`,children:r?(0,t.jsx)(d,{currentLanguage:i,handleClick:n}):(0,t.jsx)(h,{currentLanguage:i,handleClick:n})})}],80737)},45115,e=>{"use strict";var t=e.i(43476),r=e.i(70711);e.i(97610);var i=e.i(15818),i=i,n=e.i(98887);e.i(54638);var s=e.i(34414),a=e.i(26411),l=e.i(73899),o=e.i(97692),u=e.i(48531),c=e.i(6020),d=e.i(57688),h=e.i(80737),p=e.i(27669),f=e.i(37903);let g=new Set(["address_1_key","address_2_key","location_key"]);e.s(["default",0,({footer:e,pageLanguage:m,account:{country:b,contact:y,header:x,shopAtHome:v,briteMergedSocialProfiles:k},translationLanguage:_=l.DEFAULT_LANGUAGE,copyrightYear:w})=>{var E;let{contact:A,premier_products:j,newsletter:S,newsletter_description:C,newsletter_submit:N,rights_reserver:B}=(0,o.translate)(o.translations.footer,_),L=(E=y?.list??[],v?.toUpperCase()!=="H"?E:E.filter(e=>!g.has(e._key??""))).map(e=>({...e,label:function(e,t){if(null==e||"fr"!==t)return e;let r=e.trim().toLowerCase();return"contact us"===r||"contact"===r?"Contactez-nous":e}(e.label,_)})),M=(0,r.useLanguageCookie)(),F=e?.accessibilityLinks?.list??[],T=e?.logo?.image?(0,a.sanityImageSource)((0,s.urlFor)(e.logo.image).url(),172):null,D=e?.accessibilityImage?.image?(0,a.sanityImageSource)((0,s.urlFor)(e?.accessibilityImage?.image).url(),117):null,O=e?.language??m,P=(0,f.isFrenchLocale)(e?.language)||(0,f.isFrenchLocale)(m)||"CA"===b&&(0,f.isFrenchLocale)(M)?"fr":O;return(0,t.jsxs)("footer",{className:"pb-(16px) w-full bg-black px-4 py-6 text-sm font-light text-white lg:px-[5rem] lg:py-[4rem]",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-x-[10rem] gap-y-6 lg:flex-row lg:items-start lg:justify-start",children:[(0,t.jsx)(i.default,{title:A,array:L,language:O,trademarkLanguage:P,country:b,translationLanguage:_}),(0,t.jsx)(i.default,{title:j,array:e?.premierProducts?.list??[],language:O,trademarkLanguage:P,country:b,translationLanguage:_}),(0,t.jsx)("div",{className:"hidden lg:max-w-[480px]",children:(0,t.jsxs)("form",{action:"",children:[(0,t.jsxs)("label",{className:"flex flex-col items-start justify-start gap-2",children:[(0,t.jsx)(c.Typography,{variant:"h2",children:S}),(0,t.jsx)(c.Typography,{variant:"body",className:"mb-2 mt-4",children:C}),(0,t.jsx)("input",{className:"mr-4 h-max min-h-[46px] w-max rounded-sm p-2 text-black lg:min-w-[247px]",type:"email",placeholder:"Email"})]}),(0,t.jsx)("button",{className:"rounded-sm bg-blue px-6 py-4 leading-[14px] tracking-[2.6px]",type:"submit",id:"footer_newsletter_submit","aria-label":"Submit newsletter",title:"Submit newsletter",children:N.toUpperCase()})]})})]}),(0,t.jsxs)("div",{className:"mb-6 flex h-auto w-full flex-col justify-between lg:flex-row lg:items-center",children:[(x?.socials||(k?.length??0)>0)&&(0,t.jsx)(n.default,{color:"white",classes:"my-6 flex flex-1 items-center justify-start lg:my-10",socialProfiles:k,mobileSize:24,desktopSize:32,...x?.socials}),(0,t.jsx)("div",{className:"mb-4 mt-4 flex w-full flex-1 items-center justify-center lg:mb-0",children:(0,t.jsx)(h.LanguageToggle,{isFooter:!0,country:b})}),(0,t.jsx)("div",{className:"flex flex-1 flex-col items-start justify-center lg:flex-row lg:items-center lg:justify-end",children:(0,t.jsx)(u.PreservedLink,{href:e?.accessibilityImage?.url??"#",title:"Image describing accessibility","aria-label":"Image describing accessibility",id:"image_accessibility_footer",children:D&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(d.default,{className:"hidden h-[48px] w-[117px] md:block lg:mb-0 lg:max-h-full lg:max-w-full",src:D,alt:e?.accessibilityImage?.image?.alt??"Hunter Douglas",width:117,height:48}),(0,t.jsx)(d.default,{className:"block h-[39px] w-[105px] md:hidden lg:mb-0 lg:max-h-full lg:max-w-full",src:D,alt:e?.accessibilityImage?.image?.alt??"Hunter Douglas",width:105,height:39})]})})})]}),(0,t.jsxs)("div",{className:"flex h-auto w-full flex-col justify-between lg:flex-row lg:items-center",children:[T&&(0,t.jsx)(d.default,{className:"mb-4 mr-[2.5rem] max-h-full max-w-full lg:mb-0",src:T,alt:e?.logo?.alt??"Hunter Douglas",width:172,height:26}),(0,t.jsxs)(c.Typography,{variant:"body",as:"span",className:"m-0 p-0",children:["©",w," Hunter Douglas. ",B,"."]}
1),(0,t.jsx)("ul",{className:"order-[-1] m-0 mb-6 flex flex-wrap gap-[12px] p-0 lg:order-none lg:mb-0 lg:flex-nowrap",children:F.map((e,r)=>{let i=e?.link?e.link.replace(/^\/[^/]+\/dealer\/[^/]+\//,"/"):"#";return(0,t.jsxs)("li",{children:[(0,t.jsx)(u.PreservedLink,{id:`menu_access_footer_${e.label?.replaceAll(/\W/g,"_").toLowerCase()}`,"aria-label":`Link for ${e.label}`,title:`Link for ${e.label}`,href:i,className:"mr-2",children:(0,t.jsx)(c.Typography,{variant:"body",as:"span",children:(0,t.jsx)(p.default,{text:e.label??"",keyId:`footer_access_${r}`,language:P})})}),F.length!==r+1&&(0,t.jsx)(c.Typography,{variant:"body",as:"span",children:"|"})]},`${e.label}--${r}`)})})]})]})}],45115)},37862,e=>{"use strict";var t=e.i(43476),r=e.i(57688),i=e.i(22016),n=e.i(6020),s=e.i(71645),a=e.i(47984);e.i(54638);var l=e.i(34414),o=e.i(23906),u=e.i(26411),c=e.i(31652),d=e.i(98887),h=e.i(23099);let p=(0,s.createContext)(void 0),f=({children:e,account:r,racForm:i,country:n,showStoreLocations:a,showAboutUs:l,storeLocations:o,dealerHeaderMenu:u})=>{let c,d,h,[f,g]=(0,s.useState)(0),[m,b]=(0,s.useState)([]),[y,x]=(0,s.useState)(),[v,k]=(0,s.useState)(),[_,w]=(0,s.useState)(),[E,A]=(0,s.useState)({}),[j,S]=(0,s.useState)("");return(0,t.jsx)(p.Provider,{value:{menuLevel:f,setMenuLevel:g,headerTitle:m,setHeaderTitle:b,activeMiddleMenu:y,setActiveMiddleMenu:x,activeSubMenu:v,setActiveSubMenu:k,activeImage:_,setActiveImage:w,isSelected:E,setIsSelected:A,activeSubMenuTitle:j,setActiveSubMenuTitle:S,account:r,racForm:i,country:n,showStoreLocations:a,showAboutUs:l,storeLocations:o,dealerHeaderMenu:u,hasPortfolioPage:!!r.portfolioPage?.pageModules?.modules?.length,hasBlogPage:(d=(c=r.additionalPagesList??[]).some(e=>e.pagePath?.startsWith("/blog")),h=c.some(e=>e.showInNav&&e.pagePath&&e.title&&e.customSeoMetadata?.pageType?.toLowerCase()==="blog"),d&&!h)},children:e})},g=()=>{let e=(0,s.useContext)(p);if(void 0===e)throw Error("useMenuContext must be used within a MenuProvider");return e};var m=e.i(80737),b=e.i(28879),y=e.i(26566),x=e.i(44912),v=e.i(97692),k=e.i(16591);let _=[{vw:40,px:-32}],w=({setOpenMenu:e})=>{let{activeMiddleMenu:a,setActiveMiddleMenu:o,activeSubMenu:d,setActiveSubMenu:p,activeImage:f,setActiveImage:w,isSelected:E,setIsSelected:A,activeSubMenuTitle:j,setActiveSubMenuTitle:S,account:C,racForm:N,country:B,storeLocations:L,showStoreLocations:M,showAboutUs:F,dealerHeaderMenu:T,hasPortfolioPage:D,hasBlogPage:O}=g(),{request:P,about_us:I,store_locations:$,store_location:V,portfolio:U,blog:R,hours_and_location:H}=(0,k.useTranslation)(v.translations.store_location),G=e=>{o(e?.dealerHeaderMenuGroup),p(e?.dealerHeaderMenuGroup?.[0]?.middleMenu?.[0]?.submenu??[]),w?.(e?.dealerHeaderMenuGroup?.[0]?.middleMenu?.[0]?.submenu?.[0]?.menuImage),A?.({menu:e?.title,middleMenu:e?.dealerHeaderMenuGroup?.[0]?.middleMenu?.[0]?.title,subMenu:e?.dealerHeaderMenuGroup?.[0]?.middleMenu?.[0]?.submenu?.[0]?.title}),S(e?.dealerHeaderMenuGroup?.[0]?.middleMenu?.[0]?.title)},K=e=>{o(void 0),p(void 0),A?.({menu:e})},z=()=>{e(!1)};(0,s.useEffect)(()=>{G(T?.[0])},[]);let q=C?.shopAtHome==="H"?H:`${L.length>1?$:V}`;return(0,t.jsx)("aside",{className:"absolute left-0 top-[64px] z-[998] hidden max-h-[640px] w-full bg-white p-[40px] transition-all duration-500 lg:top-[128px] lg:block",children:(0,t.jsxs)("section",{className:"flex h-full flex-row justify-start lg:h-[488.5px]",children:[(0,t.jsxs)("div",{className:"flex basis-1/5 flex-col gap-[24px] pb-[24px] pr-[24px] lg:min-w-[294px]",children:[(0,t.jsxs)("div",{className:"flex h-auto w-full flex-col gap-[24px]",children:[T&&T.map((e,r)=>(0,t.jsx)(i.default,{title:e.title,href:(0,h.default)(e.link),className:"cursor-default",onClick:()=>z(),id:`menu_item_${e.title}`,children:(0,t.jsx)(n.Typography,{style:{cursor:"#"!==(0,h.default)(e.link)?"pointer":"",textDecoration:E?.menu===e.title?"underline":""},variant:"h5",as:"span",className:"inline-block underline-offset-[5px]",onMouseEnter:()=>G(e),children:e.title})},`dealer-header-${r}`)),M&&(0,t.jsx)("div",{className:"cursor-default",children:(0,t.jsx)(n.Typography,{style:{textDecoration:E?.menu===q?"underline":""},variant:"h5",as:"span",className:"inline-block underline-offset-[5px]",onMouseEnter:()=>{K(q)},children:q})}),D&&(0,t.jsx)(i.default,{title:U,"aria-label":U,href:"/portfolio",className:"cursor-default",id:"portfolio_header",onClick:()=>z(),onMouseEnter:()=>{K("Portfolio")},children:(0,t.jsx)(n.Typography,{style:{textDecoration:E?.menu==="Portfolio"?"underline":""},className:"inline-block underline-offset-[5px] hover:cursor-pointer",variant:"h5",as:"span",children:U})}),O&&(0,t.jsx)(i.default,{title:R,"aria-label":R,href:"/blog",className:"cursor-default",id:"blog_header",onClick:()=>z(),onMouseEnter:()=>{K("Blog")},children:(0,t.jsx)(n.Typography,{style:{textDecoration:E?.menu==="Blog"?"underline":""},className:"inline-block underline-offset-[5px] hover:cursor-pointer",variant:"h5",as:"span",children:R})}),F&&(0,t.jsx)(i.default,{title:I,"aria-label":I,href:"/about",className:"cursor-default",id:"about_us_header",onClick:()=>z(),onMouseEnter:()=>{K("About us")}
1,children:(0,t.jsx)(n.Typography,{style:{textDecoration:E?.menu==="About us"?"underline":""},className:"inline-block underline-offset-[5px] hover:cursor-pointer",variant:"h5",as:"span",children:I})})]}),(0,t.jsx)("div",{children:(0,t.jsx)(m.LanguageToggle,{country:B})}),(0,t.jsx)("div",{className:"mt-[2rem] flex h-auto w-full items-center justify-start",children:(0,t.jsx)(b.RacButton,{racFormSource:y.RAC_FORM_SURFACE.HEADER,account:C,racFormProps:N,label:P.toUpperCase(),darkMode:!0})})]}),a?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:`flex max-h-[616px] basis-1/5 flex-col gap-[16px] overflow-auto ${a?"border-l":""} border-solid border-[#C4C4C4] px-[24px] pb-[24px] [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:bg-[#3F43503D] [&::-webkit-scrollbar-track]:rounded-full [&::-webkit-scrollbar-track]:bg-transparent [&::-webkit-scrollbar]:w-1`,children:a.map((e,r)=>(0,t.jsxs)("div",{className:"flex flex-col gap-[8px]",children:[(0,t.jsx)(i.default,{title:e.title,href:(0,h.default)(e.link),className:"cursor-default",onClick:()=>z(),id:`menu_item_${e.title}`,children:(0,t.jsx)(n.Typography,{style:{cursor:"#"!==(0,h.default)(e.link)?"pointer":""},variant:"h5",as:"span",className:"inline-block",children:e.title})}),e?.middleMenu?.map((e,s)=>(0,t.jsx)(i.default,{title:e.title,href:(0,h.default)(e.link),className:"cursor-default",onClick:()=>z(),id:`menu_item_${e.title}`,children:(0,t.jsx)(n.Typography,{variant:"body",as:"p",className:`inline-block ${"#"!==(0,h.default)(e.link)?"cursor-pointer":""} ${E?.middleMenu===e.title?"underline":""} underline-offset-[5px]`,onMouseEnter:()=>{p(e?.submenu),w?.(e?.submenu?.[0]?.menuImage),A?.({...E,middleMenu:e?.title,subMenu:e?.submenu?.[0]?.title}),S(e?.title)},children:e.title})},"_key"in e&&e._key?e._key:`middle-item-${r}-${s}`))]},`middle-section-${r}`))}),(0,t.jsx)("div",{className:`flex basis-1/5 flex-col gap-[12px] lg:min-w-[224px] ${d?"border-l":""} border-solid border-[#C4C4C4] px-[24px] pb-[24px]`,children:d&&(0,t.jsxs)(t.Fragment,{children:[j&&(0,t.jsx)(n.Typography,{className:"inline-block",variant:"h5",as:"h3",children:j}),d?.map((e,r)=>(0,t.jsx)(i.default,{title:e.title,href:(0,h.default)(e?.link),className:"cursor-default",onClick:()=>z(),id:`menu_item_${e.title}`,children:(0,t.jsx)(n.Typography,{variant:"body",className:"inline-block underline-offset-[5px]",style:{cursor:"#"!==(0,h.default)(e.link)?"pointer":"",textDecoration:E?.subMenu===e.title?"underline":""},onMouseEnter:()=>{w?.(e?.menuImage),A?.({...E,subMenu:e.title})},children:e?.title})},e?._key??`submenu-link-${r}`))]})}),(0,t.jsx)("div",{className:"basis-2/5 flex-col gap-[10px] lg:flex",children:f&&(0,t.jsx)(r.default,{src:f.image?(0,u.sanityImageSource)((0,l.urlFor)(f.image).width(730).height(485).url(),(0,c.widestImageWidth)(_)):"",sizes:(0,c.imageSizes)(_),alt:f.alt??"Menu Product Image",width:780,height:518,className:"h-auto w-full object-cover"},f.alt)})]}):(0,t.jsx)("div",{className:"flex max-h-[640px] basis-4/5 flex-row flex-wrap gap-x-[4%] gap-y-[40px] overflow-y-auto lg:gap-x-[2%] [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:bg-[#3F43503D] [&::-webkit-scrollbar-track]:rounded-full [&::-webkit-scrollbar-track]:bg-transparent [&::-webkit-scrollbar]:w-1",children:E?.menu===q&&L.map(e=>(0,t.jsx)(x.default,{singular:L.length<2,...e},e._id))})]})})},E=({setOpenMenu:e})=>{let{menuLevel:r,setMenuLevel:a,headerTitle:l,setHeaderTitle:o,activeMiddleMenu:u,setActiveMiddleMenu:c,activeSubMenu:d,setActiveSubMenu:p,account:f,racForm:_,country:w,showStoreLocations:E,showAboutUs:A,storeLocations:j,dealerHeaderMenu:S,hasPortfolioPage:C,hasBlogPage:N}=g(),{request:B,about_us:L,store_locations:M,store_location:F,portfolio:T,blog:D,hours_and_location:O}=(0,k.useTranslation)(v.translations.store_location),P={fontWeight:"700",fontSize:"20px",lineHeight:"24px"},I=f?.shopAtHome==="H"?O:`${j.length>1?M:F}`,$=e=>{if(e===I){a(3),o([e]);return}a(e=>e+1),o(t=>[...t,e])},V=()=>{e(!1)};return(0,t.jsx)(t.Fragment,{children:(0,t.jsxs)("aside",{className:"space-between lg:h-[calc(100vh-168px) absolute left-0 top-[64px] z-[997] flex h-[calc(100vh-64px)] w-full flex-col gap-[24px] overflow-y-auto bg-white px-[16px] py-[24px] shadow-[inset_0_2px_4px_0px_#00000040] transition-all duration-500 lg:hidden",children:[(0,t.jsxs)("section",{className:`flex items-center shadow-none ${0===r?"justify-end":"justify-between"}`,children:[r>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"ChevronLeftIcon",onClick:()=>(()=>
1{if(3===r){a(0),o([]);return}a(e=>e-1),o(e=>e.slice(0,-1))})(),children:(0,t.jsx)(n.IconPack,{fill:"#000",icon:"ChevronLeft",width:16,height:16})}),(0,t.jsx)(n.Typography,{variant:"h1",as:"h3",style:P,children:l[l.length-1]})]}),(0,t.jsx)("div",{className:"flex items-center",onClick:()=>e(!1),children:(0,t.jsx)(n.IconPack,{icon:"Close",className:"flex items-center",width:16,height:16})})]}),0===r&&(0,t.jsxs)("section",{className:"mb-[90px] flex flex-col gap-[24px]",children:[S?.map((e,r)=>(0,t.jsx)(n.Typography,{variant:"h1",as:"h3",style:P,onClick:()=>{$(e?.title),c(e?.dealerHeaderMenuGroup)},children:e.title},`dealer-header-${r}`)),E&&(0,t.jsx)(n.Typography,{variant:"h1",as:"h3",style:{fontWeight:"700",fontSize:"20px",lineHeight:"24px"},onClick:()=>{$(I),c(void 0)},children:I}),C&&(0,t.jsx)(i.default,{"aria-label":T,href:"/portfolio",title:T,id:"portfolio_mobile_header",onClick:()=>V(),children:(0,t.jsx)(n.Typography,{variant:"h1",as:"h3",style:P,children:T})}),N&&(0,t.jsx)(i.default,{"aria-label":D,href:"/blog",title:D,id:"blog_mobile_header",onClick:()=>V(),children:(0,t.jsx)(n.Typography,{variant:"h1",as:"h3",style:P,children:D})}),A&&(0,t.jsx)(i.default,{"aria-label":"About us",href:"/about",title:"About us",id:"about_us_mobile_header",onClick:()=>V(),children:(0,t.jsx)(n.Typography,{variant:"h1",as:"h3",style:P,children:L})}),(0,t.jsx)("div",{children:(0,t.jsx)(m.LanguageToggle,{country:w})})]}),1===r&&(0,t.jsx)("section",{className:"mb-[90px] flex flex-col gap-[24px]",children:u?.map((e,r)=>(0,t.jsxs)("div",{className:"flex flex-col gap-[8px]",children:[(0,t.jsx)("h1",{className:"cursor-pointer text-[28px] font-bold leading-[38px]",children:e.title}),e?.middleMenu?.map((e,n)=>(0,t.jsx)(s.default.Fragment,{children:e?.submenu&&e.submenu.length>0?(0,t.jsx)("p",{className:"inline-block cursor-pointer text-[21px] font-light leading-[30px]",onClick:()=>{$(e.title),p(e?.submenu)},children:e.title}):(0,t.jsx)(i.default,{title:e?.title,"aria-label":e?.title,href:(0,h.default)(e?.link),className:"inline-block cursor-pointer text-[21px] font-light leading-[30px]",id:`menu_item_${e.title}`,onClick:()=>V(),children:e?.title})},"_key"in e&&e._key?e._key:`middle-item-${r}-${n}`))]},`middle-section-${r}`))}),2===r&&(0,t.jsx)("section",{className:"mb-[90px] flex flex-col gap-[24px]",children:d?.map((e,r)=>(0,t.jsx)(i.default,{title:e?.title,"aria-label":e?.title,href:(0,h.default)(e?.link),className:"cursor-default text-[18px] font-bold leading-[22px]",id:`menu_item_${e.title}`,onClick:()=>V(),children:e?.title},e?._key??`submenu-link-${r}`))}),3===r&&(0,t.jsx)("section",{className:"mb-[90px] flex flex-col gap-[24px] overflow-y-auto [&::-webkit-scrollbar]:hidden",children:j.map(e=>(0,t.jsx)(x.default,{...e,isMobile:!0},e._id))}),(0,t.jsx)("div",{className:"fixed bottom-0 left-0 z-[998] flex h-auto w-full items-center border-[8px] border-white bg-white px-4 py-4",children:(0,t.jsx)(b.RacButton,{racFormSource:y.RAC_FORM_SURFACE.HEADER,account:f,racFormProps:_,className:"!w-full lg:!w-fit",label:B.toUpperCase(),darkMode:!0})})]})})};var A=e.i(68558);function j(e){if(null==e||"string"!=typeof e)return!1;let t=e.trim().split("?")[0]?.split("#")[0]?.replace(/\/+$/,"")??"";return!!t&&("/promotions"===t||t.toLowerCase().endsWith("/promotions"))}function S(e,t){return t||!e?.length?e:e.map(e=>{var r;return{...e,submenu:e.submenu?(r=e.submenu,t||!r?.length?r:r.filter(e=>!j(e.link)&&!j(e.linkFr))):e.submenu}}).filter(e=>!j(e.link)&&!j(e.linkFr)&&!(Array.isArray(e.submenu)&&0===e.submenu.length))}function C(e,t){let r="fr"===t,i={...e,title:r&&e.titleFr?e.titleFr:e.title,link:r&&e.linkFr?e.linkFr:e.link};return i.submenu&&Array.isArray(i.submenu)&&(i.submenu=i.submenu.map(e=>({...e,title:r&&e.titleFr?e.titleFr:e.title,link:r&&e.linkFr?e.linkFr:e.link}))),i}let N=e=>e?.filter(e=>e.title).reduce((e,t)=>(e.some(e=>e.title===t.title)||e.push(t),e),[]).map((e,t)=>({_type:"middleMenusItem",_key:`product-service-${t}`,title:e.title??"",link:e.link,targetBlank:!0}))??[];e.i(97610);var B=e.i(80912),B=B,L=e.i(7319);let M={width:570,height:80},F={width:120,height:40};function T(e,t){return t?Math.min(e.width,Math.ceil(e.height*t)):e.width}e.s(["default",0,e=>
1{let[h,p]=(0,s.useState)(!1),[g,m]=(0,s.useState)(!1),{products:b,promotions:y}=(0,k.useTranslation)(v.translations.menu),{store_locations:_,store_location:D,hours_and_location:O}=(0,k.useTranslation)(v.translations.store_location),{account:P,categories:I}=e,{dealerServices:$,otherProducts:V}=P,{logo:U,socials:R,showStoreLocations:H=!1,dealerHeaderProductMenu:G,dealerHeaderServicesMenu:K,dealerHeaderHDMenu:z,showPhoneInHeader:q=!0}=P.header??{},J=(P.aboutUsModuleCount??0)>0,W=(0,L.getStoreLocations)(P),Z=function(e,t,r,i,n,s,a,l,o,u,c="en",d=!1){let h=["shades","blinds","shutters","drapery"],p=(0,A.createPlaceholderReplacer)(u),f=u?.website_location_name?.trim()||e||"",g=S(n,d),m=S(s,d),b=S(a,d),y=[{_type:"dealerHeaderMenuItem",title:"Hunter Douglas",link:"#",targetBlank:!0,middleMenu:[...(t??[]).filter(e=>e.title).filter(e=>h.includes(e?.slug?.current??"")).map((e,t)=>{var r;let i=(r=e.title)?r.replace(/ALL /i,"").toLowerCase().replace(/^\w/,e=>e.toUpperCase()):"",n=e?.slug?.current?`/hunter-douglas/${e?.slug?.current}`:"#";return{_type:"middleMenusItem",_key:`category-${e?.slug?.current??t}`,title:i,link:n,targetBlank:!0,submenu:e.subcategories.filter(e=>(e?.productsResumeSection??[]).length>0).map((t,r)=>({_type:"item",_key:`subcategory-${t?.slug?.current??r}`,title:t?.title,link:`/hunter-douglas/${e?.slug?.current}/${t?.slug?.current}`,menuImage:t.productsResumeSection?.[0]?.image}))}}),...(b??[]).map((e,t)=>({...C(e,c),_key:`hd-menu-${t}`}))]},{_type:"dealerHeaderMenuItem",title:f,link:"#",targetBlank:!0,middleMenu:[...(N(i)??[]).filter(e=>d||!j(e.link??null)),...(g??[]).map((e,t)=>({...C(e,c),_key:`product-menu-${t}`}))]}].filter(e=>!!e.middleMenu.length),x=[{_type:"dealerHeaderMenuItem",title:f,link:"#",targetBlank:!0,middleMenu:[...(N(r)??[]).filter(e=>d||!j(e.link??null)),...(m??[]).map((e,t)=>({...C(e,c),_key:`services-menu-${t}`}))]}].filter(e=>!!e.middleMenu.length),v=(o??[]).filter(e=>e?.title&&e?.pagePath&&e?.showInNav).filter(e=>d||!j(e.pagePath??null)),k=v.filter(e=>e.customSeoMetadata?.pageType?.toLowerCase()==="products and services").map((e,t)=>({_type:"middleMenusItem",_key:`additional-service-${t}`,title:p(e.title),link:e.pagePath??"#",targetBlank:!0})),_=v.filter(e=>e.customSeoMetadata?.pageType?.toLowerCase()==="blog").map((e,t)=>({_type:"middleMenusItem",_key:`additional-blog-${t}`,title:p(e.title),link:e.pagePath??"#",targetBlank:!0})),w=v.filter(e=>e.customSeoMetadata?.pageType?.toLowerCase()==="about").map((e,t)=>({_type:"middleMenusItem",_key:`additional-about-${t}`,title:p(e.title),link:e.pagePath??"#",targetBlank:!0})),E=function(e){let t=new Map;for(let r of e){if(!r.pagePath||""===r.pagePath.trim())continue;let e=r.pagePath.trim().replace(/^\/+/,"/").replace(/\/+$/,"").split("/").filter(e=>""!==e.trim());if(0===e.length)continue;let i=e[0],n=i.charAt(0).toUpperCase()+i.slice(1);t.has(n)||t.set(n,[]),t.get(n).push(r)}return t}(v.filter(e=>e.customSeoMetadata?.pageType?.toLowerCase()!=="products and services"&&e.customSeoMetadata?.pageType?.toLowerCase()!=="blog"&&e.customSeoMetadata?.pageType?.toLowerCase()!=="about")),B=E.size>0?{title:"Additional Pages",link:"#",dealerHeaderMenuGroup:Array.from(E.entries()).map(([e,t])=>{let r=t.map((t,r)=>({_type:"middleMenusItem",_key:`additional-${e.toLowerCase()}-${r}`,title:p(t.title??""),link:t.pagePath??"#",targetBlank:!0}));return{_type:"dealerHeaderMenuItem",title:e,link:"#",targetBlank:!0,middleMenu:r}}).filter(e=>e.middleMenu&&e.middleMenu.length>0)}:null;k.length>0&&(x.length>0?x[0].middleMenu=[...x[0].middleMenu??[],...k]:x.push({_type:"dealerHeaderMenuItem",title:f,link:"#",targetBlank:!0,middleMenu:k}));let L=x.length>0,M=_.length?[{_type:"dealerHeaderMenuItem",title:f,link:"#",targetBlank:!0,middleMenu:_}]:[],F=w.length?[{_type:"dealerHeaderMenuItem",title:f,link:"#",targetBlank:!0,middleMenu:w}]:[],T=[{dealerHeaderMenuGroup:y,title:l??"Products",link:"#"},...L?[{dealerHeaderMenuGroup:x,title:"Services",link:"#"}]:[]];return M.length&&T.push({dealerHeaderMenuGroup:M,title:"Blog",link:"#"}),F.length&&T.push({dealerHeaderMenuGroup:F,title:"More About Us",link:"#"}),B&&T.push(B),T}(P.name,I,$,V,G?.middleMenu,K?.middleMenu,z?.middleMenu,b,P.additionalPagesList,P,e.language??"en",!0===P.promotionsOptedIn),Y=()=>{p(!h),m(!1)},Q="H"===P.shopAtHome,X=q&&!!P.phone,ee=(P.briteMergedLogoUrl??"").trim(),et=U?.image?(0,l.urlFor)(U.image).url():"",er=(0,o.resolveDeliveredDimensions)(et)?.aspectRatio,ei=T(M,er),en=et?(0,u.sanityImageSource)(et,ei):"",es=(0,c.imageSizes)([{from:1240,px:ei},{px:T(F,er)}]),ea=ee&&ee.length>0?ee:en,el=ea&&ea.length>0,eo=!!ee,eu=(0,a.stegaClean)(U?.alt)??"Dealer Logo";return(0,t.jsx)("header",{className:"fixed top-0 z-[999] w-full bg-white text-black 2xl:max-w-[1920px]",children:(0,t.jsxs)("section",{className:"lg:shadow-header relative flex h-[64px] w-full items-center justify-between bg-white px-[20px] shadow-[0_2px_4px_0px_#00000040] transition-all duration-500 lg:h-[128px] lg:px-[80px]",children:[(0,t.jsxs)("div",{className:"flex w-full items-center justify-self-end",children:[(0,t.jsxs)("div",{role:"button",tabIndex:0,onKeyDown:e=>{"Enter"===e.key&&Y()},"aria-label":"Open menu",id:"open_header_menu",className:"cursor-pointer px-[3px] py-[6px] lg:px-[6px] lg:py-3",onClick:Y,children:[(0,t.jsx)(n.IconPack,{className:"min-[1240px]:hidden",icon:"BurgerMenu",fill:"#000",width:18,height:12,ariaLabel:"BurgerMenu"}),(0,t.jsx)(n.IconPack,{className:"hidden lg:block",icon:"BurgerMenu",fill:"#000",width:36,height:24,ariaLabel:"BurgerMenu"})]}),(0,t.jsxs)(i.default,{id:"return_to_home",title:"Return to home page",className:"relative ml-[20px] flex h-[40px] w-[100%] max-w-[120px] items-center lg:ml-[80px] lg:h-[120px] lg:max-w-[570px]",href:"/","aria-label":"Return to home page",children:[el&&eo&&(0,t.jsx)("img",{className:"my-auto max-h-[80px] w-auto object-contain object-left lg:max-h-[80px]",src:ea,alt:eu}),el&&!eo&&(0,t.jsx)(r.default,{className:"my-auto object-contain object-left lg:max-h-[80px]",src:ea,alt:eu,sizes:es,fill:!0})]})]}),(0,t.jsxs)("div",{className:"flex w-full items-center justify-end",children:[(0,t.jsxs)("div",{className:X?"hidden lg:flex":"flex",children:[H&&(0,t.jsxs)("button",{"aria-label":"Open Store Locations",title:"Open Store Locations",id:"open_store_locations_header",className:"mr-[40px] hidden items-center justify-start lg:flex",onClick:()=>{m(!g),p(!1)},children:[Q?(0,t.jsx)(n.Typography,{variant:"h5",as:"span",className:"lg:block",children:O}):(0,t.jsx)(n.Typography,{variant:"h5",as:"span",className:"lg:block",children:W.length>1?_:D}),(0,t.jsx)(n.IconPack,{className:`ml-[12px] h-6 w-6 transform cursor-pointer transition-transform duration-300 ${g?"rotate-180":""}`,icon:"ChevronDown",fill:"#000",width:24,height:24})]}),(0,t.jsx)(d.default,{color:"black",classes:"flex items-center justify-start whitespace-nowrap",socialProfiles:P.briteMergedSocialProfiles,...R,desktopSize:32,mobileSize:24})]}),X&&(0,t.jsx)(B.default,{phone:P.phone,country:P.country,language:P.language})]}),h&&(0,t.jsxs)(f,{account:P,country:P.country,racForm:e.racForm,showStoreLocations:H,showAboutUs:J,storeLocations:W,dealerHeaderMenu:Z,children:[(0,t.jsx)(E,{setOpenMenu:p}),(0,t.jsx)("div",{className:"fixed inset-0 z-[997] hidden lg:block",onClick:()=>p(!1)}),(0,t.jsx)(w,{setOpenMenu:p})]}),g&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"fixed inset-0 z-[997] hidden lg:block",onClick:()=>m(!1)}),(0,t.jsx)("aside",{className:"absolute left-0 top-[64px] z-[998] hidden w-full bg-white p-[40px] transition-all duration-500 lg:top-[128px] lg:block",children:(0,t.jsx)("div",{className:"flex basis-4/5 flex-row flex-wrap gap-x-[4%] gap-y-[40px] overflow-y-auto lg:max-h-[488.5px] lg:gap-x-[3%] [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:bg-[#3F43503D] [&::-webkit-scrollbar-track]:rounded-full [&::-webkit-scrollbar-track]:bg-transparent [&::-webkit-scrollbar]:w-1",children:W&&W.map(e=>(0,t.jsx)(x.default,{singular:W.length<2,...e},e._id))})})]})]})})}],37862)},41534,e=>{"use strict";var t=e.i(47167),r=e.i(43476),i=e.i(34497),n=e.i(5028),s=e.i(71645),a=e.i(8415);function l(){let e=(0,a.readBrowserCookie)(a.FEATURE_FLAG_AUDIENCE_COOKIE),r=(0,a.parseFeatureFlagAudience)(e??void 0);return{env:"production"===t.default.env.VERCEL_TARGET_ENV?"production":"development",isTestUser:null!==r,testAudience:r}}function o(e){let t=(0,a.readBrowserCookie)(a.FEATURE_FLAG_OVERRIDE_KEY_COOKIE)?.trim(),r
1=(0,a.readBrowserCookie)(a.FEATURE_FLAG_OVERRIDE_VALUE_COOKIE);if(!t||!(0,a.isValidFeatureFlagOverrideKey)(t))return;let i=(0,a.parseFeatureFlagOverrideValue)(r??void 0);i&&e.setForcedFeatures(new Map([[t,"true"===i]]))}function u(){let e="sdk-lcrlCliVEy7YsvLi";return e&&""!==e.trim()?e.trim():void 0}e.s(["FeatureFlagClientProvider",0,function({children:e}){let t=(0,s.useMemo)(()=>u(),[]),[,a]=(0,s.useState)(0),c=(0,s.useMemo)(()=>()=>{a(e=>e+1)},[]),[d]=(0,s.useState)(()=>(function(e){let t=u(),r=l();if(t){let n=new i.GrowthBook({apiHost:"https://growthbook.api.hdbrite.com",clientKey:t,attributes:r,enableDevMode:!1,renderer:e});return o(n),n}let n=new i.GrowthBook({attributes:r,enableDevMode:!1,renderer:e});return o(n),n})(c));return(0,s.useLayoutEffect)(()=>{d.setAttributes(l()).then(()=>{o(d),c()})},[d,c]),(0,s.useEffect)(()=>{if(!t)return;let e=!1;return d.init({streaming:!1}).then(()=>{e||d.setAttributes(l()).then(()=>{o(d),c()})}),()=>{e=!0}},[t,d,c]),(0,s.useEffect)(()=>()=>{d.destroy()},[d]),(0,r.jsx)(n.GrowthBookProvider,{growthbook:d,children:e})}],41534)},34497,5028,e=>{"use strict";var t,r,i=/^[a-zA-Z:_][a-zA-Z0-9:_.-]*$/,n={revert:function(){}},s=new Map,a=new Set;function l(e){var t=s.get(e);return t||(t={element:e,attributes:{}},s.set(e,t)),t}function o(e,t,r,i,n){var s=r(e),a={isDirty:!1,originalValue:s,virtualValue:s,mutations:[],el:e,_positionTimeout:null,observer:new MutationObserver(function(){if("position"!==t||!a._positionTimeout){"position"===t&&(a._positionTimeout=setTimeout(function(){a._positionTimeout=null},1e3));var i=r(e);"position"===t&&i.parentNode===a.virtualValue.parentNode&&i.insertBeforeNode===a.virtualValue.insertBeforeNode||i!==a.virtualValue&&(a.originalValue=i,n(a))}}),mutationRunner:n,setValue:i,getCurrentValue:r};return"position"===t&&e.parentNode?a.observer.observe(e.parentNode,{childList:!0,subtree:!0,attributes:!1,characterData:!1}):a.observer.observe(e,"html"===t?{childList:!0,subtree:!0,attributes:!0,characterData:!0}:{childList:!1,subtree:!1,attributes:!0,attributeFilter:[t]}),a}function u(e,t){var r=t.getCurrentValue(t.el);t.virtualValue=e,e&&"string"!=typeof e?r&&e.parentNode===r.parentNode&&e.insertBeforeNode===r.insertBeforeNode||(t.isDirty=!0,j()):e!==r&&(t.isDirty=!0,j())}function c(e){var r,i=e.originalValue;e.mutations.forEach(function(e){return i=e.mutate(i)}),u((r=i,t||(t=document.createElement("div")),t.innerHTML=r,t.innerHTML),e)}function d(e){var t=new Set(e.originalValue.split(/\s+/).filter(Boolean));e.mutations.forEach(function(e){return e.mutate(t)}),u(Array.from(t).filter(Boolean).join(" "),e)}function h(e){var t=e.originalValue;e.mutations.forEach(function(e){return t=e.mutate(t)}),u(t,e)}function p(e){var t=e.originalValue;e.mutations.forEach(function(e){t=function(e){var t=e.parentSelector,r=e.insertBeforeSelector,i=document.querySelector(t);if(!i)return null;var n=r?document.querySelector(r):null;return r&&!n?null:{parentNode:i,insertBeforeNode:n}}(e.mutate())||t}),u(t,e)}var f=function(e){return e.innerHTML},g=function(e,t){return e.innerHTML=t};function m(e){var t=l(e);return t.html||(t.html=o(e,"html",f,g,c)),t.html}var b=function(e){return{parentNode:e.parentElement,insertBeforeNode:e.nextElementSibling}},y=function(e,t){(!t.insertBeforeNode||t.parentNode.contains(t.insertBeforeNode))&&t.parentNode.insertBefore(e,t.insertBeforeNode)};function x(e){var t=l(e);return t.position||(t.position=o(e,"position",b,y,p)),t.position}var v=function(e,t){return t?e.className=t:e.removeAttribute("class")},k=function(e){return e.className};function _(e){var t=l(e);return t.classes||(t.classes=o(e,"class",k,v,d)),t.classes}function w(e,t){var r=l(e);return r.attributes[t]||(r.attributes[t]=o(e,t,function(e){var r;return null!=(r=e.getAttribute(t))?r:null},function(e,r){return null!==r?e.setAttribute(t,r):e.removeAttribute(t)},h)),r.attributes[t]}function E(e,t,r){if(r.isDirty){r.isDirty=!1;var i,n,a,l,o,u,c,d,h,p,f=r.virtualValue;!r.mutations.length&&(p=s.get(e))&&("html"===t?(null==(i=p.html)||null==(n=i.observer)||n.disconnect(),delete p.html):"class"===t?(null==(a=p.classes)||null==(l=a.observer)||l.disconnect(),delete p.classes):"position"===t?(null==(o=p.position)||null==(u=o.observer)||u.disconnect(),delete p.position):(null==(c=p.attributes)||null==(d=c[t])||null==(h=d.observer)||h.disconnect(),delete p.attributes[t])),r.setValue(e,f)}}function A(e,t){e.html&&E(t,"html",e.html),e.classes&&E(t,"class",e.classes),e.position&&E(t,"position",e.position),Object.keys(e.attributes).forEac
1h(function(r){E(t,r,e.attributes[r])})}function j(){s.forEach(A)}function S(e){if("position"!==e.kind||1!==e.elements.size){var t=new Set(e.elements);document.querySelectorAll(e.selector).forEach(function(r){if(!t.has(r)){var i;e.elements.add(r),i=null,"html"===e.kind?i=m(r):"class"===e.kind?i=_(r):"attribute"===e.kind?i=w(r,e.attribute):"position"===e.kind&&(i=x(r)),i&&(i.mutations.push(e),i.mutationRunner(i))}})}}function C(){a.forEach(S)}function N(e){return"u"<typeof document?n:(a.add(e),S(e),{revert:function(){e.elements.forEach(function(t){var r=null;if("html"===e.kind?r=m(t):"class"===e.kind?r=_(t):"attribute"===e.kind?r=w(t,e.attribute):"position"===e.kind&&(r=x(t)),r){var i=r.mutations.indexOf(e);-1!==i&&r.mutations.splice(i,1),r.mutationRunner(r)}}),e.elements.clear(),a.delete(e)}})}function B(e,t){return N({kind:"html",elements:new Set,mutate:t,selector:e})}function L(e,t){return N({kind:"class",elements:new Set,mutate:t,selector:e})}function M(e,t,r){return i.test(t)?"class"===t||"className"===t?L(e,function(e){var t=r(Array.from(e).join(" "));e.clear(),t&&t.split(/\s+/g).filter(Boolean).forEach(function(t){return e.add(t)})}):N({kind:"attribute",attribute:t,elements:new Set,mutate:r,selector:e}):n}"u">typeof document&&(r||(r=new MutationObserver(function(){C()})),C(),r.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!1,characterData:!1}));let F=function(e){var t,r,i=e.selector,s=e.action,a=e.value,l=e.attribute,o=e.parentSelector,u=e.insertBeforeSelector;if("html"===l){if("append"===s)return B(i,function(e){return e+(null!=a?a:"")});else if("set"===s)return B(i,function(){return null!=a?a:""})}else if("class"===l){if("append"===s)return L(i,function(e){a&&e.add(a)});else if("remove"===s)return L(i,function(e){a&&e.delete(a)});else if("set"===s)return L(i,function(e){e.clear(),a&&e.add(a)})}else if("position"===l){if("set"===s&&o){return t=i,r=function(){return{insertBeforeSelector:u,parentSelector:o}},N({kind:"position",elements:new Set,mutate:r,selector:t})}}else if("append"===s)return M(i,l,function(e){return null!==e?e+(null!=a?a:""):null!=a?a:""});else if("set"===s)return M(i,l,function(){return null!=a?a:""});else if("remove"===s)return M(i,l,function(){return null});return n},T={fetch:globalThis.fetch?globalThis.fetch.bind(globalThis):void 0,SubtleCrypto:globalThis.crypto?globalThis.crypto.subtle:void 0,EventSource:globalThis.EventSource};function D(e){let t=0x811c9dc5,r=e.length;for(let i=0;i<r;i++)t^=e.charCodeAt(i),t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24);return t>>>0}function O(e,t,r){return 2===r?D(D(e+t)+"")%1e4/1e4:1===r?D(t+e)%1e3/1e3:null}function P(e){return e<=0?[]:Array(e).fill(1/e)}function I(e,t){return e>=t[0]&&e<t[1]}function $(e){try{let t=e.replace(/([^\\])\//g,"$1\\/");return new RegExp(t)}catch(e){console.error(e);return}}function V(e,t){if(!t.length)return!1;let r=!1,i=!1;for(let n=0;n<t.length;n++){let s=function(e,t,r){try{let i=new URL(e,"https://_");if("regex"===t){let e=$(r);if(!e)return!1;return e.test(i.href)||e.test(i.href.substring(i.origin.length))}if("simple"===t)try{let e=new URL(r.replace(/^([^:/?]*)\./i,"https://$1.").replace(/\*/g,"_____"),"https://_____"),t=[[i.host,e.host,!1],[i.pathname,e.pathname,!0]];return e.hash&&t.push([i.hash,e.hash,!1]),e.searchParams.forEach((e,r)=>{t.push([i.searchParams.get(r)||"",e,!1])}),!t.some(e=>!function(e,t,r){try{let i=t.replace(/[*.+?^${}()|[\]\\]/g,"\\$&").replace(/_____/g,".*");return r&&(i="\\/?"+i.replace(/(^\/|\/$)/g,"")+"\\/?"),RegExp("^"+i+"$","i").test(e)}catch(e){return!1}}(e[0],e[1],e[2]))}catch(e){}return!1}catch(e){return!1}}(e,t[n].type,t[n].pattern);if(!1===t[n].include){if(s)return!1}else r=!0,s&&(i=!0)}return i||!r}let U=e=>Uint8Array.from(atob(e),e=>e.charCodeAt(0));async function R(e,t,r){if(t=t||"",!(r=r||globalThis.crypto&&globalThis.crypto.subtle||T.SubtleCrypto))throw Error("No SubtleCrypto implementation found");try{let i=await r.importKey("raw",U(t),{name:"AES-CBC",length:128},!0,["encrypt","decrypt"]),[n,s]=e.split("."),a=await r.decrypt({
1name:"AES-CBC",iv:U(n)},i,U(s));return new TextDecoder().decode(a)}catch(e){throw Error("Failed to decrypt")}}function H(e){return"string"==typeof e?e:JSON.stringify(e)}function G(e){"number"==typeof e&&(e+=""),e&&"string"==typeof e||(e="0");let t=e.replace(/(^v|\+.*$)/g,"").split(/[-.]/);return 3===t.length&&t.push("~"),t.map(e=>e.match(/^[0-9]+$/)?e.padStart(5," "):e).join("-")}function K(e){return"object"==typeof e&&null!==e}function z(e){return e.urlPatterns&&e.variations.some(e=>K(e)&&"urlRedirect"in e)?"redirect":e.variations.some(e=>K(e)&&(e.domMutations||"js"in e||"css"in e))?"visual":"unknown"}async function q(e,t){return new Promise(r=>{let i,n=!1,s=e=>{n||(n=!0,i&&clearTimeout(i),r(e||null))};t&&(i=setTimeout(()=>s(),t)),e.then(e=>s(e)).catch(()=>s())})}function J(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,i)}return r}function W(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?J(Object(r),!0).forEach(function(t){var i,n,s;i=e,n=t,s=r[t],(n=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=typeof i)return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(n))in i?Object.defineProperty(i,n,{value:s,enumerable:!0,configurable:!0,writable:!0}):i[n]=s}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):J(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let Z={staleTTL:6e4,maxAge:144e5,cacheKey:"gbFeaturesCache",backgroundSync:!0,maxEntries:10,disableIdleStreams:!1,idleStreamInterval:2e4,disableCache:!1},Y={fetchFeaturesCall:e=>{let{host:t,clientKey:r,headers:i}=e;return T.fetch("".concat(t,"/api/features/").concat(r),{headers:i})},fetchRemoteEvalCall:e=>{let{host:t,clientKey:r,payload:i,headers:n}=e,s={method:"POST",headers:W({"Content-Type":"application/json"},n),body:JSON.stringify(i)};return T.fetch("".concat(t,"/api/eval/").concat(r),s)},eventSourceCall:e=>{let{host:t,clientKey:r,headers:i}=e;return i?new T.EventSource("".concat(t,"/sub/").concat(r),{headers:i}):new T.EventSource("".concat(t,"/sub/").concat(r))},startIdleListener:()=>{let e;if(!("u">typeof window&&"u">typeof document))return;let t=()=>{"visible"===document.visibilityState?(window.clearTimeout(e),er.forEach(e=>{e&&"idle"===e.state&&ey(e)})):"hidden"===document.visibilityState&&(e=window.setTimeout(es,Z.idleStreamInterval))};return document.addEventListener("visibilitychange",t),()=>document.removeEventListener("visibilitychange",t)},stopIdleListener:()=>{}};try{globalThis.localStorage&&(T.localStorage=globalThis.localStorage)}catch(e){}let Q=new Map,X=!1,ee=new Map,et=new Map,er=new Map,ei=new Set;async function en(e){let{instance:t,timeout:r,skipCache:i,allowStale:n,backgroundSync:s}=e;return s||(Z.backgroundSync=!1),el({instance:t,allowStale:n,timeout:r,skipCache:i})}function es(){er.forEach(e=>{e&&(e.state="idle",eb(e))})}async function ea(){try{if(!T.localStorage)return;await T.localStorage.setItem(Z.cacheKey,JSON.stringify(Array.from(ee.entries())))}catch(e){}}async function el(e){let{instance:t,allowStale:r,timeout:i,skipCache:n}=e,s=eo(t),a=eu(t),l=new Date,o=new Date(l.getTime()-Z.maxAge+Z.staleTTL);await ec();let u=Z.disableCache||n?void 0:ee.get(a);return u&&(r||u.staleAt>l)&&u.staleAt>o?(u.sse&&ei.add(s),u.staleAt<l?ef(t):eg(t),{data:u.data,success:!0,source:"cache"}):await q(ef(t),i)||{data:null,success:!1,source:"timeout",error:Error("Timeout")}}function eo(e){let[t,r]=e.getApiInfo();return"".concat(t,"||").concat(r)}function eu(e){let t=eo(e);if(!("isRemoteEval"in e)||!e.isRemoteEval())return t;let r=e.getAttributes(),i=e.getCacheKeyAttributes()||Object.keys(e.getAttributes()),n={};i.forEach(e=>{n[e]=r[e]});let s=e.getForcedVariations(),a=e.getUrl();return"".concat(t,"||").concat(JSON.stringify({ca:n,fv:s,url:a}))}async function ec(){if(!X){X=!0;try{if(T.localStorage){let e=await T.localStorage.getItem(Z.cacheKey);if(!Z.disableCache&&e){let t=JSON.parse(e);
1t&&Array.isArray(t)&&t.forEach(e=>{let[t,r]=e;ee.set(t,W(W({},r),{},{staleAt:new Date(r.staleAt)}))}),ed()}}}catch(e){}if(!Z.disableIdleStreams){let e=Y.startIdleListener();e&&(Y.stopIdleListener=e)}}}function ed(){let e=Array.from(ee.entries()).map(e=>{let[t,r]=e;return{key:t,staleAt:r.staleAt.getTime()}}).sort((e,t)=>e.staleAt-t.staleAt),t=Math.min(Math.max(0,ee.size-Z.maxEntries),ee.size);for(let r=0;r<t;r++)ee.delete(e[r].key)}function eh(e,t,r){let i=r.dateUpdated||"",n=new Date(Date.now()+Z.staleTTL),s=Z.disableCache?void 0:ee.get(t);if(s&&i&&s.version===i){s.staleAt=n,ea();return}Z.disableCache||(ee.set(t,{data:r,version:i,staleAt:n,sse:ei.has(e)}),ed()),ea();let a=Q.get(e);a&&a.forEach(e=>ep(e,r))}async function ep(e,t){await e.setPayload(t||e.getPayload())}async function ef(e){let{apiHost:t,apiRequestHeaders:r}=e.getApiHosts(),i=e.getClientKey(),n="isRemoteEval"in e&&e.isRemoteEval(),s=eo(e),a=eu(e),l=et.get(a);return l||(l=(n?Y.fetchRemoteEvalCall({host:t,clientKey:i,payload:{attributes:e.getAttributes(),forcedVariations:e.getForcedVariations(),forcedFeatures:Array.from(e.getForcedFeatures().entries()),url:e.getUrl()},headers:r}):Y.fetchFeaturesCall({host:t,clientKey:i,headers:r})).then(e=>{if(!e.ok)throw Error("HTTP error: ".concat(e.status));return"enabled"===e.headers.get("x-sse-support")&&ei.add(s),e.json()}).then(t=>(eh(s,a,t),eg(e),et.delete(a),{data:t,success:!0,source:"network"})).catch(e=>(et.delete(a),{data:null,source:"error",success:!1,error:e})),et.set(a,l)),l}function eg(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=eo(e),i=eu(e),{streamingHost:n,streamingHostRequestHeaders:s}=e.getApiHosts(),a=e.getClientKey();if(t&&ei.add(r),Z.backgroundSync&&ei.has(r)&&T.EventSource){if(er.has(r))return;let e={src:null,host:n,clientKey:a,headers:s,cb:t=>{try{if("features-updated"===t.type){let e=Q.get(r);e&&e.forEach(e=>{ef(e)})}else if("features"===t.type){let e=JSON.parse(t.data);eh(r,i,e)}e.errors=0}catch(t){em(e)}},errors:0,state:"active"};er.set(r,e),ey(e)}}function em(e){if("idle"!==e.state&&(e.errors++,e.errors>3||e.src&&2===e.src.readyState)){let t=Math.pow(3,e.errors-3)*(1e3+1e3*Math.random());eb(e),setTimeout(()=>{["idle","active"].includes(e.state)||ey(e)},Math.min(t,3e5))}}function eb(e){e.src&&(e.src.onopen=null,e.src.onerror=null,e.src.close(),e.src=null,"active"===e.state&&(e.state="disabled"))}function ey(e){e.src=Y.eventSourceCall({host:e.host,clientKey:e.clientKey,headers:e.headers}),e.state="active",e.src.addEventListener("features",e.cb),e.src.addEventListener("features-updated",e.cb),e.src.onerror=()=>em(e),e.src.onopen=()=>{e.errors=0}}function ex(e,t){eb(e),er.delete(t)}function ev(){ei.clear(),er.forEach(ex),Q.clear(),Y.stopIdleListener()}function ek(e,t){if(t.streaming){let r,i;if(!e.getClientKey())throw Error("Must specify clientKey to enable streaming");t.payload&&eg(e,!0),r=eo(e),(i=Q.get(r)||new Set).add(e),Q.set(r,i)}}let e_={};function ew(e,t,r){for(let[i,n]of(r=r||{},Object.entries(t)))switch(i){case"$or":if(!eN(e,n,r))return!1;break;case"$nor":if(eN(e,n,r))return!1;break;case"$and":if(!function(e,t,r){for(let i=0;i<t.length;i++)if(!ew(e,t[i],r))return!1;return!0}(e,n,r))return!1;break;case"$not":if(ew(e,n,r))return!1;break;default:if(!eA(n,function(e,t){let r=t.split("."),i=e;for(let e=0;e<r.length;e++)if(!i||"object"!=typeof i||!(r[e]in i))return null;else i=i[r[e]];return i}(e,i),r))return!1}return!0}function eE(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r="".concat(e).concat(t?"/i":"");return e_[r]||(e_[r]=new RegExp(e.replace(/([^\\])\//g,"$1\\/"),t?"i":void 0)),e_[r]}function eA(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if("string"==typeof e)return i?String(t).toLowerCase()===e.toLowerCase():t+""===e;if("number"==typeof e)return+t===e;if("boolean"==typeof e)return null!==t&&!!t===e;if(null===e)return null===t;if(Array.isArray(e)||!ej(e))return JSON.stringify(t)===JSON.stringify(e);for(let i in e)if(!function(e,t,r,i){switch(e){case"$veq":return G(t)===G(r);case"$vne":return G(t)!==G(r);case"$vgt":return G(t)>G(r);case"$vgte":return G(t)>=G(r);case"$vlt":return G(t)<G(r);case"$vlte":return G(t)<=G(r);case"$eq":return t===r;case"$ne":return t!==r;case"$lt":return t<r;
1case"$lte":return t<=r;case"$gt":return t>r;case"$gte":return t>=r;case"$exists":return r?null!=t:null==t;case"$in":if(!Array.isArray(r))return!1;return eS(t,r);case"$ini":if(!Array.isArray(r))return!1;return eS(t,r,!0);case"$inGroup":return eS(t,i[r]||[]);case"$notInGroup":return!eS(t,i[r]||[]);case"$nin":if(!Array.isArray(r))return!1;return!eS(t,r);case"$nini":if(!Array.isArray(r))return!1;return!eS(t,r,!0);case"$not":return!eA(r,t,i);case"$size":if(!Array.isArray(t))return!1;return eA(r,t.length,i);case"$elemMatch":if(!Array.isArray(t))return!1;let n=ej(r)?e=>eA(r,e,i):e=>ew(e,r,i);for(let e=0;e<t.length;e++)if(t[e]&&n(t[e]))return!0;return!1;case"$all":if(!Array.isArray(r))return!1;return eC(t,r,i);case"$alli":if(!Array.isArray(r))return!1;return eC(t,r,i,!0);case"$regex":try{return eE(r).test(t)}catch(e){return!1}case"$regexi":try{return eE(r,!0).test(t)}catch(e){return!1}case"$type":return function(e){if(null===e)return"null";if(Array.isArray(e))return"array";let t=typeof e;return["string","number","boolean","object","undefined"].includes(t)?t:"unknown"}(t)===r;default:return console.error("Unknown operator: "+e),!1}}(i,t,e[i],r))return!1;return!0}function ej(e){let t=Object.keys(e);return t.length>0&&t.filter(e=>"$"===e[0]).length===t.length}function eS(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(r){let r=e=>"string"==typeof e?e.toLowerCase():e;return Array.isArray(e)?e.some(e=>t.some(t=>r(e)===r(t))):t.some(t=>r(e)===r(t))}return Array.isArray(e)?e.some(e=>t.includes(e)):t.includes(e)}function eC(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!Array.isArray(e))return!1;for(let n=0;n<t.length;n++){let s=!1;for(let a=0;a<e.length;a++)if(eA(t[n],e[a],r,i)){s=!0;break}if(!s)return!1}return!0}function eN(e,t,r){if(!t.length)return!0;for(let i=0;i<t.length;i++)if(ew(e,t[i],r))return!0;return!1}function eB(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,i)}return r}function eL(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?eB(Object(r),!0).forEach(function(t){var i,n,s;i=e,n=t,s=r[t],(n=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=typeof i)return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(n))in i?Object.defineProperty(i,n,{value:s,enumerable:!0,configurable:!0,writable:!0}):i[n]=s}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):eB(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}async function eM(e){try{await e()}catch(e){}}function eF(e,t,r){if(e.user.trackedExperiments){let i=eJ(t,r);
1if(e.user.trackedExperiments.has(i))return[];e.user.trackedExperiments.add(i)}e.user.enableDevMode&&e.user.devLogs&&e.user.devLogs.push({experiment:t,result:r,timestamp:Date.now().toString(),logType:"experiment"});let i=[];if(e.global.trackingCallback){let n=e.global.trackingCallback;i.push(eM(()=>n(t,r,eI(e.user))))}if(e.user.trackingCallback){let n=e.user.trackingCallback;i.push(eM(()=>n(t,r,eI(e.user))))}if(e.global.eventLogger){let n=e.global.eventLogger;i.push(eM(()=>n("Experiment Viewed",{experimentId:t.key,variationId:r.key,hashAttribute:r.hashAttribute,hashValue:r.hashValue},eI(e.user))))}return i}function eT(e,t){var r;let i;if(t.stack.evaluatedFeatures.has(e))return eO(t,e,null,"cyclicPrerequisite");t.stack.evaluatedFeatures.add(e),t.stack.id=e;let n=(i=new Map,t.global.forcedFeatureValues&&t.global.forcedFeatureValues.forEach((e,t)=>i.set(t,e)),t.user.forcedFeatureValues&&t.user.forcedFeatureValues.forEach((e,t)=>i.set(t,e)),i);if(n.has(e))return eO(t,e,n.get(e),"override");if(!t.global.features||!t.global.features[e])return eO(t,e,null,"unknownFeature");let s=t.global.features[e];if(s.rules){let i=new Set(t.stack.evaluatedFeatures);e:for(let n of s.rules){if(n.parentConditions)for(let r of n.parentConditions){t.stack.evaluatedFeatures=new Set(i);let n=eT(r.id,t);if("cyclicPrerequisite"===n.source)return eO(t,e,null,"cyclicPrerequisite");if(!ew({value:n.value},r.condition||{})){if(r.gate)return eO(t,e,null,"prerequisite");continue e}}if(n.filters&&eV(n.filters,t))continue;if("force"in n){if(n.condition&&!e$(n.condition,t)||!function(e,t,r,i,n,s,a){if(!n&&void 0===s)return!0;if(!n&&0===s)return!1;let{hashValue:l}=eR(e,r,i);if(!l)return!1;let o=O(t,l,a||1);return null!==o&&(n?I(o,n):void 0===s||o<=s)}(t,n.seed||e,n.hashAttribute,t.user.saveStickyBucketAssignmentDoc&&!n.disableStickyBucketing?n.fallbackAttribute:void 0,n.range,n.coverage,n.hashVersion))continue;return n.tracks&&n.tracks.forEach(e=>{!eF(t,e.experiment,e.result).length&&t.global.saveDeferredTrack&&t.global.saveDeferredTrack({experiment:e.experiment,result:e.result,user:eI(t.user)})}),eO(t,e,n.force,"force",n.id)}let s=null!=(r=n.contextualVariations)?r:n.variations;if(!s)continue;let a={variations:s,key:n.key||e};"coverage"in n&&(a.coverage=n.coverage),n.weights&&(a.weights=n.weights),n.hashAttribute&&(a.hashAttribute=n.hashAttribute),n.fallbackAttribute&&(a.fallbackAttribute=n.fallbackAttribute),n.disableStickyBucketing&&(a.disableStickyBucketing=n.disableStickyBucketing),void 0!==n.bucketVersion&&(a.bucketVersion=n.bucketVersion),void 0!==n.minBucketVersion&&(a.minBucketVersion=n.minBucketVersion),n.namespace&&(a.namespace=n.namespace),n.meta&&(a.meta=n.meta),n.ranges&&(a.ranges=n.ranges),n.name&&(a.name=n.name),n.phase&&(a.phase=n.phase),n.seed&&(a.seed=n.seed),n.hashVersion&&(a.hashVersion=n.hashVersion),n.filters&&(a.filters=n.filters),n.condition&&(a.condition=n.condition),n.contextualBanditRef&&function(e,t,r){var i,n;let s=null==(i=r.global.contextualBandits)?void 0:i[t];if(!s)return;let a=null;if(s.contexts&&s.contexts.length)try{a=function(e,t){for(let r of e.contexts||[])if(e$(r.condition||{},t))return{leafId:r.leafId,weights:r.weights};return null}(s,r)}catch(e){}if(a){e.weights=a.weights,e.contextualBandit={leafId:a.leafId,variationWeights:a.weights,banditVersion:s.banditVersion};return}e.contextualBandit={leafId:-1,variationWeights:null!=(n=e.weights)?n:P(e.variations.length),banditVersion:s.banditVersion}}(a,n.contextualBanditRef,t);let{result:l}=eD(a,e,t);if(a.contextualBandit&&!(l.hashUsed&&l.inExperiment)&&delete a.contextualBandit,t.global.onExperimentEval&&t.global.onExperimentEval(a,l),l.inExperiment&&!l.passthrough)return eO(t,e,l.value,"experiment",n.id,a,l)}}return eO(t,e,void 0===s.defaultValue?null:s.defaultValue,"defaultValue")}function eD(e,t,r){var i,n,s,a,l,o,u,c,d,h;let p,f,g=e.key,m=e.variations.length;if(m<2||!1===r.global.enabled||!1===r.user.enabled)return{result:eU(r,e,-1,!1,t)};if((a=e,l=r,p=a.key,(f=l.global.overrides)&&f[p]&&"string"==typeof(a=Object.assign({},a,f[p])).url&&(a.url=$(a.url)),e=a).contextualBandit&&e.weights&&(e.contextualBandit=eL(eL({},e.contextualBandit),{},{variationWeights:e.weights})),e.urlPatterns&&!V(r.user.url||"",e.urlPatterns))return{result:eU(r,e,-1,!1,t)};let b=function(e,t,r){if(!t)return null;let i=t.split("?")[1];if(!i)return null;let n=i.replace(/#.*/,"").split("&").map(e=>e.split("=",2)).filter(t=>{let[r]=t;return r===e}).map(e=>{let[,t]=e;return parseInt(t)});return n.length>0&&n[0]>=0&&n[0]<r?n[0]:null}(g,r.user.url||"",m);if(null!==b)return{result:eU(r,e,b,!1,t)};let y=(o=r).global.forcedVariations&&o.user.forcedVariations?eL(eL({},o.global.forcedVariations),o.user.forcedVariations):o.global.forcedVariations?o.global.forcedVariations:o.user.forcedVariations?o.user.forcedVariations:{};if(g in y)return{result:eU(r,e,y[g],!1,t)};if("draft"===e.status||!1===e.active)return{result:eU(r,e,-1,!1,t)};let{hashAttribute:x,hashValue:v}=eR(r,e.hashAttribute,r.user.saveStickyBucketAssignmentDoc&&!e.disableStickyBucketing?e.fallbackAttribute:void 0);if(!v)return{result:eU(r,e,-1,!1,t)};let k=-1,_=!1,w=!1;if(r.user.saveStickyBucketAssignmentDoc&&!e.disableStickyBucketing){let{variation:t,versionIsBlocked:i}=function(e){let{ctx:t,expKey:r,expBucketVersion:i,expHashAttribute:n,expFallbackAttribute:s,expMinBucketVersion:a,expMeta:l}=e;a=a||0,n=n||"id",l=l||[];let o=eH(r,i=i||0),u=function(e,t,r){if(!e.user.stickyBucketAssignmentDocs)return{};let{hashAttribute:i,hashValue:n}=eR(e,t),s=eG(i,H(n)),{hashAttribute:a,hashValue:l}=eR(e,r),o=l?eG(a,H(l)):null,u={};return o&&e.user.stickyBucketAssignmentDocs[o]&&Object.assign(u,e.user.stickyBucketAssignmentDocs[o].assignments||{}),e.user.stickyBucketAssignmentDocs[s]&&Object.assign(u,e.user.stickyBucketAssignmentDocs[s].assignments||{}),u}(t,n,s);if(a>0){for(let e=0;e<a;e++)if(void 0!==u[eH(r,e)])return{variation:-1,versionIsBlocked:!0}}let c=u[o];if(void 0===c)return{variation:-1};let d=l.findIndex(e=>e.key===c);return d<0?{variation:-1}:{variation:d}}({ctx:r,expKey:e.key,expBucketVersion:e.bucketVersion,expHashAttribute:e.hashAttribute,expFallbackAttribute:e.fallbackAttribute,expMinBucketVersion:e.minBucketVersion,expMeta:e.meta});_=t>=0,k=t,w=!!i}if(!_){if(e.filters){if(eV(e.filters,r))return{result:eU(r,e,-1,!1,t)}}else{let n;if(e.namespace&&(null===(n=O("__"+(i=e.namespace)[0],v,1))||!(n>=i[1])||!(n<i[2])))return{result:eU(r,e,-1,!1,t)}}if(e.include&&!function(e){try{return e()}catch(e){return console.error(e),!1}}(e.include)||e.condition&&!e$(e.condition,r))return{result:eU(r,e,-1,!1,t)};if(e.parentConditions){let i=new Set(r.stack.evaluatedFeatures);for(let n of e.parentConditions){r.stack.evaluatedFeatures=new Set(i);let s=eT(n.id,r);if("cyclicPrerequisite"===s.source||!ew({value:s.value},n.condition||{}))return{result:eU(r,e,-1,!1,t)}}}if(e.groups&&!function(e,t){let r=t.global.groups||{};for(let t=0;t<e.length;t++)if(r[e[t]])return!0;return!1}(e.groups,r))return{result:eU(r,e,-1,!1,t)}}if(e.url&&!function(e,t){let r=t.user.url;if(!r)return!1;let i=r.replace(/^https?:\/\//,"").replace(/^[^/]*\//,"/");return!!(e.test(r)||e.test(i))}(e.url,r))return{result:eU(r,e,-1,!1,t)};let E=O(e.seed||g,v,e.hashVersion||1);if(null===E)return{result:eU(r,e,-1,!1,t)};if(!_){let t,r,i;k=function(e,t){for(let r=0;r<t.length;r++)if(I(e,t[r]))return r;return -1}(E,e.ranges||(n=void 0===e.coverage?1:e.coverage,s=e.weights,(n=void 0===n?1:n)<0?n=0:n>1&&(n=1),t=P(m),(s=s||t).length!==m&&(s=t),((r=s.reduce((e,t)=>
1t+e,0))<.99||r>1.01)&&(s=t),i=0,s.map(e=>{let t=i;return i+=e,[t,t+n*e]})))}if(w)return{result:eU(r,e,-1,!1,t,void 0,!0)};if(k<0)return{result:eU(r,e,-1,!1,t)};if("force"in e)return{result:eU(r,e,void 0===e.force?-1:e.force,!1,t)};if(r.global.qaMode||r.user.qaMode||"stopped"===e.status)return{result:eU(r,e,-1,!1,t)};let A=eU(r,e,k,!0,t,E,_);if(r.user.saveStickyBucketAssignmentDoc&&!e.disableStickyBucketing){let t,i,n,s,{changed:a,key:l,doc:o}=(u=r,c=x,d=H(v),h={[eH(e.key,e.bucketVersion)]:A.key},t=eG(c,d),n=eL(eL({},i=u.user.stickyBucketAssignmentDocs&&u.user.stickyBucketAssignmentDocs[t]&&u.user.stickyBucketAssignmentDocs[t].assignments||{}),h),s=JSON.stringify(i)!==JSON.stringify(n),{key:t,doc:{attributeName:c,attributeValue:d,assignments:n},changed:s});a&&(r.user.stickyBucketAssignmentDocs=r.user.stickyBucketAssignmentDocs||{},r.user.stickyBucketAssignmentDocs[l]=o,r.user.saveStickyBucketAssignmentDoc(o))}let j=eF(r,e,A);0===j.length&&r.global.saveDeferredTrack&&r.global.saveDeferredTrack({experiment:e,result:A,user:eI(r.user)});let S=j.length?1===j.length?j[0]:Promise.all(j).then(()=>{}):void 0;return"changeId"in e&&e.changeId&&r.global.recordChangeId&&r.global.recordChangeId(e.changeId),{result:A,trackingCall:S}}function eO(e,t,r,i,n,s,a){let l={value:r,on:!!r,off:!r,source:i,ruleId:n||""};return s&&(l.experiment=s),a&&(l.experimentResult=a),"override"!==i&&function(e,t,r){if(e.user.trackedFeatureUsage){var i;let n=JSON.stringify(r.value);if(e.user.trackedFeatureUsage[t]===n)return;e.user.trackedFeatureUsage[t]=n,e.user.enableDevMode&&e.user.devLogs&&e.user.devLogs.push({featureKey:t,result:r,timestamp:Date.now().toString(),logType:"feature"}),null!=(i=e.user.featureUsageSubs)&&i.size&&e.user.featureUsageSubs.forEach(e=>{try{e(t,r)}catch(e){console.error(e)}})}if(e.global.onFeatureUsage){let i=e.global.onFeatureUsage;eM(()=>i(t,r,eI(e.user)))}if(e.user.onFeatureUsage){let i=e.user.onFeatureUsage;eM(()=>i(t,r))}if(e.global.eventLogger){let i=e.global.eventLogger;eM(()=>i("Feature Evaluated",{feature:t,source:r.source,value:r.value,ruleId:"defaultValue"===r.source?"$default":r.ruleId||"",variationId:r.experimentResult?r.experimentResult.key:""},eI(e.user)))}}(e,t,l),l}function eP(e){return eL(eL({},e.attributes),e.attributeOverrides)}function eI(e){return{attributes:eP(e),url:e.url}}function e$(e,t){return ew(eP(t.user),e,t.global.savedGroups||{})}function eV(e,t){return e.some(e=>{let{hashValue:r}=eR(t,e.attribute);if(!r)return!0;let i=O(e.seed,r,e.hashVersion||2);return null===i||!e.ranges.some(e=>I(i,e))})}function eU(e,t,r,i,n,s,a){let l=!0;(r<0||r>=t.variations.length)&&(r=0,l=!1);let{hashAttribute:o,hashValue:u}=eR(e,t.hashAttribute,e.user.saveStickyBucketAssignmentDoc&&!t.disableStickyBucketing?t.fallbackAttribute:void 0),c=t.meta?t.meta[r]:{},d={key:c.key||""+r,featureId:n,inExperiment:l,hashUsed:i,variationId:r,value:t.variations[r],hashAttribute:o,hashValue:u,stickyBucketUsed:!!a};c.name&&(d.name=c.name),void 0!==s&&(d.bucket=s),c.passthrough&&(d.passthrough=c.passthrough);let h=t.contextualBandit;return h&&i&&l&&(d.leafId=h.leafId,d.variationWeights=h.variationWeights,void 0!==h.banditVersion&&(d.banditVersion=h.banditVersion)),d}function eR(e,t,r){let i=t||"id",n="",s=eP(e.user);return s[i]&&(n=s[i]),!n&&r&&(s[r]&&(n=s[r]),n&&(i=r)),{hashAttribute:i,hashValue:n}}function eH(e,t){return t=t||0,"".concat(e,"__").concat(t)}function eG(e,t){return"".concat(e,"||").concat(t)}async function eK(e,t,r){let i=ez(e,r);return t.getAllAssignments(i)}function ez(e,t){let r,i,n,s={};return(r=new Set,i=t&&t.features?t.features:e.global.features||{},n=t&&t.experiments?t.experiments:e.global.experiments||[],Object.keys(i).forEac
1h(e=>{let t=i[e];if(t.rules)for(let e of t.rules)(e.variations||e.contextualVariations)&&(r.add(e.hashAttribute||"id"),e.fallbackAttribute&&r.add(e.fallbackAttribute))}),n.map(e=>{r.add(e.hashAttribute||"id"),e.fallbackAttribute&&r.add(e.fallbackAttribute)}),Array.from(r)).forEach(t=>{let{hashValue:r}=eR(e,t);s[t]=H(r)}),s}async function eq(e,t,r){if((e=eL({},e)).encryptedFeatures){try{e.features=JSON.parse(await R(e.encryptedFeatures,t,r))}catch(e){console.error(e)}delete e.encryptedFeatures}if(e.encryptedExperiments){try{e.experiments=JSON.parse(await R(e.encryptedExperiments,t,r))}catch(e){console.error(e)}delete e.encryptedExperiments}if(e.encryptedSavedGroups){try{e.savedGroups=JSON.parse(await R(e.encryptedSavedGroups,t,r))}catch(e){console.error(e)}delete e.encryptedSavedGroups}if(e.encryptedContextualBandits){try{e.contextualBandits=JSON.parse(await R(e.encryptedContextualBandits,t,r))}catch(e){console.error(e)}delete e.encryptedContextualBandits}return e}function eJ(e,t){return t.hashAttribute+t.hashValue+e.key+t.variationId}let eW=["data"];function eZ(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,i)}return r}function eY(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?eZ(Object(r),!0).forEach(function(t){var i,n,s;i=e,n=t,s=r[t],(n=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=typeof i)return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(n))in i?Object.defineProperty(i,n,{value:s,enumerable:!0,configurable:!0,writable:!0}):i[n]=s}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):eZ(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let eQ="u">typeof window&&"u">typeof document,eX=function(){let e;try{e="1.7.0"}catch(t){e=""}return e}();e.s(["GrowthBook",0,class{constructor(e){if(e=e||{},this.version=eX,this._options=this.context=e,this._renderer=e.renderer||null,this._trackedExperiments=new Set,this._completedChangeIds=new Set,this._trackedFeatures={},this.debug=!!e.debug,this._subscriptions=new Set,this._featureUsageSubs=new Set,this._customEventSubs=new Set,this.ready=!1,this._assigned=new Map,this._activeAutoExperiments=new Map,this._triggeredExpKeys=new Set,this._initialized=!1,this._redirectedUrl="",this._deferredTrackingCalls=new Map,this._autoExperimentsAllowed=!e.disableExperimentsOnLoad,this._destroyCallbacks=[],this.logs=[],this.log=this.log.bind(this),this._saveDeferredTrack=this._saveDeferredTrack.bind(this),this._onExperimentEval=this._onExperimentEval.bind(this),this._fireSubscriptions=this._fireSubscriptions.bind(this),this._recordChangedId=this._recordChangedId.bind(this),e.remoteEval){if(e.decryptionKey)throw Error("Encryption is not available for remoteEval");if(!e.clientKey)throw Error("Missing clientKey");let t=!1;try{t=!!new URL(e.apiHost||"").hostname.match(/growthbook\.io$/i)}catch(e){}if(t)throw Error("Cannot use remoteEval on GrowthBook Cloud")}else if(e.cacheKeyAttributes)throw Error("cacheKeyAttributes are only used for remoteEval");if(e.stickyBucketService){const t=e.stickyBucketService;this._saveStickyBucketAssignmentDoc=e=>t.saveAssignments(e)}if(e.plugins)for(const t of e.plugins)t(this);if(e.features&&(this.ready=!0),eQ&&e.enableDevMode&&(window._growthbook=this,document.dispatchEvent(new Event("gbloaded"))),e.experiments&&(this.ready=!0,this._updateAllAutoExperiments()),this._options.stickyBucketService&&this._options.stickyBucketAssignmentDocs)for(const e in this._options.stickyBucketAssignmentDocs){const t=this._options.stickyBucketAssignmentDocs[e];t&&this._options.stickyBucketService.saveAssignments(t).catch(()=>{})}this.ready&&this.refreshStickyBuckets(this.getPayload())}async setPayload(e){this._payload=e;let t=await eq(e,this._options.decryptionKey);this._decryptedPayload=t,await this.refreshStickyBuckets(t),t.features&&(this._options.features=t.features),t.savedGroups&&(this._options.savedGroups=t.savedGroups),t.contextualBandits&&(this._options.contextualBandits=t.contextualBandits),t.experiments&&(this._options.experiments=t.experiments,this._updateAllAutoExperiments()),this.ready=!0,this._render()}initSync(e){this._initialized=!0;let t=e.payload;if(t.encryptedExperiments||t.encryptedFeatures)throw Error("initSync does not support encrypted payloads");return this._options.stickyBucketService&&!this._options.stickyBucketAssignmentDocs&&(this._options.stickyBucketAssignmentDocs=this.generateStickyBucketAssignmentDocsSync(this._options.stickyBucketService,t)),this._payload=t,this._decryptedPayload=t,t.features&&(this._options.features=t.features),t.savedGroups&&(this._options.savedGroups=t.savedGroups),t.contextualBandits&&(this._options.contextualBandits=t.contextualBandits),t.experiments&&(this._options.experiments=t.experiments,this._updateAllAutoExperiments()),this.ready=!0,ek(this,e),this}async init(e){if(this._initialized=!0,(e=e||{}).cacheSettings&&(Object.assign(Z,e.cacheSettings),Z.backgroundSync||ev()),e.payload)return await this.setPayload(e.payload),ek(this,e),{success:!0,source:"init"};{let t=await this._refresh(eY(eY({},e),{},{allowStale:!0})),{data:r}=t,i=function(e,t){if(null==e)return{};var r,i,n=function(e,t){if(null==e)return{};var r={};for(var i in e)if(({}).hasOwnProperty.call(e,i)){if(-1!==t.indexOf(i))continue;
1r[i]=e[i]}return r}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(i=0;i<s.length;i++)r=s[i],-1===t.indexOf(r)&&({}).propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}(t,eW);return ek(this,e),await this.setPayload(r||{}),i}}async loadFeatures(e){var t;e=e||{},await this.init({skipCache:e.skipCache,timeout:e.timeout,streaming:(null==(t=this._options.backgroundSync)||t)&&(e.autoRefresh||this._options.subscribeToChanges)})}async refreshFeatures(e){let t=await this._refresh(eY(eY({},e||{}),{},{allowStale:!1}));t.data&&await this.setPayload(t.data)}getApiInfo(){return[this.getApiHosts().apiHost,this.getClientKey()]}getApiHosts(){var e;let t;return{apiHost:(t=(e=this._options).apiHost||"https://cdn.growthbook.io").replace(/\/*$/,""),streamingHost:(e.streamingHost||t).replace(/\/*$/,""),apiRequestHeaders:e.apiHostRequestHeaders,streamingHostRequestHeaders:e.streamingHostRequestHeaders}}getClientKey(){return this._options.clientKey||""}getPayload(){return this._payload||{features:this.getFeatures(),experiments:this.getExperiments()}}getDecryptedPayload(){return this._decryptedPayload||this.getPayload()}isRemoteEval(){return this._options.remoteEval||!1}getCacheKeyAttributes(){return this._options.cacheKeyAttributes}async _refresh(e){var t;let{timeout:r,skipCache:i,allowStale:n,streaming:s}=e;if(!this._options.clientKey)throw Error("Missing clientKey");return en({instance:this,timeout:r,skipCache:i||this._options.disableCache,allowStale:n,backgroundSync:null==(t=null!=s?s:this._options.backgroundSync)||t})}_render(){if(this._renderer)try{this._renderer()}catch(e){console.error("Failed to render",e)}}setFeatures(e){this._options.features=e,this.ready=!0,this._render()}async setEncryptedFeatures(e,t,r){let i=await R(e,t||this._options.decryptionKey,r);this.setFeatures(JSON.parse(i))}setExperiments(e){this._options.experiments=e,this.ready=!0,this._updateAllAutoExperiments()}async setEncryptedExperiments(e,t,r){let i=await R(e,t||this._options.decryptionKey,r);this.setExperiments(JSON.parse(i))}async setAttributes(e){(this._options.attributes=e,this._options.stickyBucketService&&await this.refreshStickyBuckets(),this._options.remoteEval)?await this._refreshForRemoteEval():(this._render(),this._updateAllAutoExperiments())}async updateAttributes(e){return this.setAttributes(eY(eY({},this._options.attributes),e))}async setAttributeOverrides(e){(this._options.attributeOverrides=e,this._options.stickyBucketService&&await this.refreshStickyBuckets(),this._options.remoteEval)?await this._refreshForRemoteEval():(this._render(),this._updateAllAutoExperiments())}async setForcedVariations(e){(this._options.forcedVariations=e||{},this._options.remoteEval)?await this._refreshForRemoteEval():(this._render(),this._updateAllAutoExperiments())}setForcedFeatures(e){this._options.forcedFeatureValues=e,this._render()}async setURL(e){if(e!==this._options.url){if(this._options.url=e,this._redirectedUrl="",this._options.remoteEval){await this._refreshForRemoteEval(),this._updateAllAutoExperiments(!0);return}this._updateAllAutoExperiments(!0)}}getAttributes(){return eY(eY({},this._options.attributes),this._options.attributeOverrides)}getForcedVariations(){return this._options.forcedVariations||{}}getForcedFeatures(){return this._options.forcedFeatureValues||new Map}getStickyBucketAssignmentDocs(){return this._options.stickyBucketAssignmentDocs||{}}getUrl(){return this._options.url||""}getFeatures(){return this._options.features||{}}getExperiments(){return this._options.experiments||[]}getCompletedChangeIds(){return Array.from(this._completedChangeIds)}subscribe(e){return this._subscriptions.add(e),()=>{this._subscriptions.delete(e)}}_subscribeFeatureUsage(e){return this._featureUsageSubs.add(e),()=>this._featureUsageSubs.delete(e)}_subscribeCustomEvents(e){return this._customEventSubs.add(e),()=>this._customEventSubs.delete(e)}async _refreshForRemoteEval(){if(!this._options.remoteEval||!this._initialized)return;let e=await this._refresh({allowStale:!1});e.data&&await this.setPayload(e.data)}getAllResults(){return new Map(this._assigned)}onDestroy(e){this._destroyCallbacks.push(e)}isDestroyed(){return!!this._destroyed}destroy(e){var t;e=e||{}
1,this._destroyed=!0,this._destroyCallbacks.forEach(e=>{try{e()}catch(e){console.error(e)}}),this._subscriptions.clear(),this._featureUsageSubs.clear(),this._customEventSubs.clear(),this._assigned.clear(),this._trackedExperiments.clear(),this._completedChangeIds.clear(),this._deferredTrackingCalls.clear(),this._trackedFeatures={},this._destroyCallbacks=[],this._payload=void 0,this._saveStickyBucketAssignmentDoc=void 0,t=this,Q.forEach(e=>e.delete(t)),e.destroyAllStreams&&ev(),this.logs=[],eQ&&window._growthbook===this&&delete window._growthbook,this._activeAutoExperiments.forEach(e=>{e.undo()}),this._activeAutoExperiments.clear(),this._triggeredExpKeys.clear()}setRenderer(e){this._renderer=e}forceVariation(e,t){(this._options.forcedVariations=this._options.forcedVariations||{},this._options.forcedVariations[e]=t,this._options.remoteEval)?this._refreshForRemoteEval():(this._updateAllAutoExperiments(),this._render())}run(e){let{result:t}=eD(e,null,this._getEvalContext());return this._onExperimentEval(e,t),t}triggerExperiment(e){return(this._triggeredExpKeys.add(e),this._options.experiments)?this._options.experiments.filter(t=>t.key===e).map(e=>this._runAutoExperiment(e)).filter(e=>null!==e):null}triggerAutoExperiments(){this._autoExperimentsAllowed=!0,this._updateAllAutoExperiments(!0)}_getEvalContext(){return{user:this._getUserContext(),global:this._getGlobalContext(),stack:{evaluatedFeatures:new Set}}}_getUserContext(){return{attributes:this._options.user?eY(eY({},this._options.user),this._options.attributes):this._options.attributes,enableDevMode:this._options.enableDevMode,blockedChangeIds:this._options.blockedChangeIds,stickyBucketAssignmentDocs:this._options.stickyBucketAssignmentDocs,url:this._getContextUrl(),forcedVariations:this._options.forcedVariations,forcedFeatureValues:this._options.forcedFeatureValues,attributeOverrides:this._options.attributeOverrides,saveStickyBucketAssignmentDoc:this._saveStickyBucketAssignmentDoc,trackingCallback:this._options.trackingCallback,onFeatureUsage:this._options.onFeatureUsage,devLogs:this.logs,featureUsageSubs:this._featureUsageSubs,trackedExperiments:this._trackedExperiments,trackedFeatureUsage:this._trackedFeatures}}_getGlobalContext(){return{features:this._options.features,experiments:this._options.experiments,log:this.log,enabled:this._options.enabled,qaMode:this._options.qaMode,savedGroups:this._options.savedGroups,contextualBandits:this._options.contextualBandits,groups:this._options.groups,overrides:this._options.overrides,onExperimentEval:this._onExperimentEval,recordChangeId:this._recordChangedId,saveDeferredTrack:this._saveDeferredTrack,eventLogger:this._options.eventLogger}}_runAutoExperiment(e,t){let r,i,n=this._activeAutoExperiments.get(e);if(e.manual&&!this._triggeredExpKeys.has(e.key)&&!n)return null;this._isAutoExperimentBlockedByContext(e)?r=eU(this._getEvalContext(),e,-1,!1,""):({result:r,trackingCall:i}=eD(e,null,this._getEvalContext()),this._onExperimentEval(e,r));let s=JSON.stringify(r.value);if(!t&&r.inExperiment&&n&&n.valueHash===s)return r;if(n&&this._undoActiveAutoExperiment(e),r.inExperiment){let t=z(e);
1if("redirect"===t&&r.value.urlRedirect&&e.urlPatterns){let t=e.persistQueryString?function(e,t){let r,i;try{r=new URL(e),i=new URL(t)}catch(e){return console.error("Unable to merge query strings: ".concat(e)),t}return r.searchParams.forEach((e,t)=>{i.searchParams.has(t)||i.searchParams.set(t,e)}),i.toString()}(this._getContextUrl(),r.value.urlRedirect):r.value.urlRedirect;if(V(t,e.urlPatterns))return this.log("Skipping redirect because original URL matches redirect URL",{id:e.key}),r;this._redirectedUrl=t;let{navigate:n,delay:s}=this._getNavigateFunction();if(n)if(eQ){var a;Promise.all([...i?[q(i,null!=(a=this._options.maxNavigateDelay)?a:1e3)]:[],new Promise(e=>{var t;return window.setTimeout(e,null!=(t=this._options.navigateDelay)?t:s)})]).then(()=>{try{n(t)}catch(e){console.error(e)}})}else try{n(t)}catch(e){console.error(e)}}else if("visual"===t){let t=this._options.applyDomChangesCallback?this._options.applyDomChangesCallback(r.value):this._applyDOMChanges(r.value);t&&this._activeAutoExperiments.set(e,{undo:t,valueHash:s})}}return r}_undoActiveAutoExperiment(e){let t=this._activeAutoExperiments.get(e);t&&(t.undo(),this._activeAutoExperiments.delete(e))}_updateAllAutoExperiments(e){if(!this._autoExperimentsAllowed)return;let t=this._options.experiments||[],r=new Set(t);for(let i of(this._activeAutoExperiments.forEach((e,t)=>{r.has(t)||(e.undo(),this._activeAutoExperiments.delete(t))}),t)){let t=this._runAutoExperiment(i,e);if(t&&t.inExperiment&&"redirect"===z(i))break}}_onExperimentEval(e,t){let r=this._assigned.get(e.key);this._assigned.set(e.key,{experiment:e,result:t}),this._subscriptions.size>0&&this._fireSubscriptions(e,t,r)}_fireSubscriptions(e,t,r){r&&r.result.inExperiment===t.inExperiment&&r.result.variationId===t.variationId||this._subscriptions.forEach(r=>{try{r(e,t)}catch(e){console.error(e)}})}_recordChangedId(e){this._completedChangeIds.add(e)}isOn(e){return this.evalFeature(e).on}isOff(e){return this.evalFeature(e).off}getFeatureValue(e,t){let r=this.evalFeature(e).value;return null===r?t:r}feature(e){return this.evalFeature(e)}evalFeature(e){return eT(e,this._getEvalContext())}log(e,t){this.debug&&(this._options.log?this._options.log(e,t):console.log(e,t))}getDeferredTrackingCalls(){return Array.from(this._deferredTrackingCalls.values())}setDeferredTrackingCalls(e){this._deferredTrackingCalls=new Map(e.filter(e=>e&&e.experiment&&e.result).map(e=>[eJ(e.experiment,e.result),e]))}async fireDeferredTrackingCalls(){if(!this._options.trackingCallback)return;let e=[];this._deferredTrackingCalls.forEach(t=>{t&&t.experiment&&t.result?e.push(this._options.trackingCallback(t.experiment,t.result,t.user)):console.error("Invalid deferred tracking call",{call:t})}),this._deferredTrackingCalls.clear(),await Promise.all(e)}setTrackingCallback(e){this._options.trackingCallback=e,this.fireDeferredTrackingCalls()}setFeatureUsageCallback(e){this._options.onFeatureUsage=e}setEventLogger(e){this._options.eventLogger=e}async logEvent(e,t){if(this._destroyed)return void console.error("Cannot log event to destroyed GrowthBook instance");if(this._options.enableDevMode&&this.logs.push({eventName:e,properties:t,timestamp:Date.now().toString(),logType:"event"}),this._customEventSubs.size&&this._customEventSubs.forEach(r=>{try{r(e,t||{})}catch(e){console.error(e)}}),this._options.eventLogger)try{await this._options.eventLogger(e,t||{},eI(this._getUserContext()))}catch(e){console.error(e)}else console.error("No event logger configured")}_saveDeferredTrack(e){this._deferredTrackingCalls.set(eJ(e.experiment,e.result),e)}_getContextUrl(){return this._options.url||(eQ?window.location.href:"")}_isAutoExperimentBlockedByContext(e){let t=z(e);
1if("visual"===t){if(this._options.disableVisualExperiments||this._options.disableJsInjection&&e.variations.some(e=>e.js))return!0}else{if("redirect"!==t||this._options.disableUrlRedirectExperiments)return!0;try{let t=new URL(this._getContextUrl());for(let r of e.variations){if(!r||!r.urlRedirect)continue;let e=new URL(r.urlRedirect);if(this._options.disableCrossOriginUrlRedirectExperiments&&(e.protocol!==t.protocol||e.host!==t.host))return!0}}catch(t){return this.log("Error parsing current or redirect URL",{id:e.key,error:t}),!0}}return!!(e.changeId&&(this._options.blockedChangeIds||[]).includes(e.changeId))}getRedirectUrl(){return this._redirectedUrl}_getNavigateFunction(){return this._options.navigate?{navigate:this._options.navigate,delay:0}:eQ?{navigate:e=>{window.location.replace(e)},delay:100}:{navigate:null,delay:0}}_applyDOMChanges(e){if(!eQ)return;let t=[];if(e.css){let r=document.createElement("style");r.innerHTML=e.css,document.head.appendChild(r),t.push(()=>r.remove())}if(e.js){let r=document.createElement("script");r.innerHTML=e.js,this._options.jsInjectionNonce&&(r.nonce=this._options.jsInjectionNonce),document.head.appendChild(r),t.push(()=>r.remove())}return e.domMutations&&e.domMutations.forEach(e=>{t.push(F(e).revert)}),()=>{t.forEach(e=>e())}}async refreshStickyBuckets(e){if(this._options.stickyBucketService){let t=this._getEvalContext(),r=await eK(t,this._options.stickyBucketService,e);this._options.stickyBucketAssignmentDocs=r}}generateStickyBucketAssignmentDocsSync(e,t){if(!("getAllAssignmentsSync"in e))return void console.error("generating StickyBucketAssignmentDocs docs requires StickyBucketServiceSync");let r=ez(this._getEvalContext(),t);return e.getAllAssignmentsSync(r)}inDevMode(){return!!this._options.enableDevMode}}],34497);var e0=e.i(71645);let e1=e0.createContext({});e.s(["GrowthBookProvider",0,({children:e,growthbook:t})=>{let[r,i]=e0.useState(0);return e0.useEffect(()=>{if(t&&t.setRenderer)return t.setRenderer(()=>{i(e=>e+1)}),()=>{t.setRenderer(()=>{})}},[t]),e0.createElement(e1.Provider,{value:{growthbook:t}},e)},"useFeatureIsOn",0,function(e){return(function(){let{growthbook:e}=e0.useContext(e1);if(!e)throw Error("Missing or invalid GrowthBookProvider");return e})().isOn(e)}],5028)}]);

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.