1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[65556],{2311:(e,t,r)=>{r.d(t,{pU:()=>o});var n=r(20608),a=r(85073);new a.F("SectionTaxonomyFragment",(0,n.J1)` 2 fragment SectionTaxonomyFragment on Section { 3 slug 4 title 5 ancestors { 6 id 7 slug 8 title 9 } 10 } 11 `),new a.F("SubsectionTaxonomyFragment",(0,n.J1)` 12 fragment SubsectionTaxonomyFragment on SubSection { 13 slug 14 title 15 } 16 `);let o=new a.F("ContentTaxonomyFragment",(0,n.J1)` 17 fragment ContentTaxonomyFragment on Content { 18 section { 19 slug 20 title 21 ancestors { 22 id 23 slug 24 title 25 } 26 } 27 subsection { 28 slug 29 title 30 parent { 31 id 32 slug 33 title 34 parent { 35 id 36 slug 37 title 38 parent { 39 id 40 slug 41 title 42 parent { 43 id 44 slug 45 title 46 } 47 } 48 } 49 } 50 } 51 } 52 `)},7105:(e,t,r)=>{r.d(t,{A:()=>o});var n=r(64917),a=r(9954);function o({isSponsored:e=!1}){return e?(0,a.Y)(n.hO,{"aria-hidden":!e,"data-sponsored":e},"Sponsored"):null}},26472:(e,t,r)=>{r.d(t,{R:()=>F});var n=r(93682),a=r(71055),o=r(800),i=r(37001),l=r(81225),c=r(47382),s=r(20608),d=r(85073),u=r(2311);let m=new d.F("BaseRecommendationFragment",(0,s.J1)` 53 fragment BaseRecommendationFragment on Content { 54 id 55 display_id 56 display_type { 57 title 58 } 59 slug 60 ...${u.pU.name} 61 metadata { 62 dek 63 short_title 64 index_title 65 social_dek 66 } 67 } 68 ${u.pU.fragment} 69 `);var p=r(89205);let g=new d.F("RecipeImageFragment",(0,s.J1)` 70 fragment RecipeImageFragment on Image { 71 __typename 72 hips_url 73 hips_prefix 74 height 75 image_id 76 media_id 77 media_type 78 image_metadata { 79 crops 80 file_type 81 photo_credit 82 legacy_domain 83 seo_meta_title 84 seo_meta_description 85 } 86 metadata { 87 caption 88 crops 89 custom_tag 90 dek 91 domain 92 embed_image_link_url 93 embed_image_link_title 94 embed_image_link_new_tab 95 embed_image_link_nofollow 96 headline 97 lede_image_link_url 98 lede_image_link_title 99 lede_image_hide_social 100 lede_image_link_new_tab 101 lede_image_link_nofollow 102 legacy_crops 103 photo_credit 104 selected_crop 105 seo_meta_description # for image seo 106 seo_meta_title # for image seo 107 } 108 role 109 pathname 110 width 111 photographer { 112 name 113 } 114 source { 115 title 116 } 117 } 118 `),{INDEX:f,SOCIAL:y}=p.w1,h=new d.F("RecirculationFragment",(0,s.J1)` 119 fragment RecirculationFragment on Content { 120 recommendations @include(if: $isRaRRecommended) { 121 recommended_content { 122 content { 123 ...${m.name} 124 media(role_in:[${f},${y}]) { 125 ...${g.name} 126 } 127 } 128 } 129 } 130 } 131 ${m.fragment} 132 ${g.fragment} 133 `),O=(0,s.J1)` 134 query RecommendedContent($contentId: UUID!, $isRaRRecommended: Boolean = false) { 135 content(ID: $contentId) { 136 ...RecirculationFragment 137 } 138 } 139 ${h.fragment} 140`,b=new c.default("RECIRCULATION-USE-RECOMMENDED-CONTENT");var _=r(22730),R=r(63875),w=r(75855);function C(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function E(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?C(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):C(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let A=new c.default("RECIRCULATION-USE-PARSELY-CONTENT");function P(e){return e.replace(/\/+$/,"")||"/"}function v(e){try{return new URL(e,window.location.origin).pathname}catch(e){return""}}async function j(e,t){if(!t)return e;let r=v(t),n=e.map(({url:e})=>v(e));if(!r)return e;let a=P(r),o=Array.from(new Set(n.filter(e=>e&&P(e)!==a))),i={};if(o.length)try{let e=await fetch("/api/recirculation/resolve-paths",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({paths:o})});e.ok&&(i=await e.json())}catch(e){A.warn("useParselyContent could not resolve related paths",{message:e.message})}return e.filter((e,t)=>
140{let r=n[t];if(!r)return!0;if(P(r)===a)return!1;if(!(r in i))return!0;let o=i[r];return null!==o&&P(o)===P(r)})}var k=r(83222),S=r(487),D=r(38489);function x(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function I(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?x(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):x(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let L=new c.default("RECIRCULATION-SHARED-CONFIG");function F(e=null){let t=(0,D.O)(),{recircMetadata:r}=(e?I(I({},t),{},{recircMetadata:I(I({},t?.recircMetadata),e?.recircMetadata)}):t)||{},{filter:n,limit:c,heading:s,editorial:d,layout:u,contentType:m,pubDateStart:p,commerceFilter:g,sectionFilter:f,linkOutItem:y,displayTypeFilter:h}=r||w.Ms,{contentUrl:C,contentTitle:P,linkTitle:v}=y||{},x="trending"===m?"top/posts":"related",{inView:T,observer:U,ref:Y}=(0,k.A)(),N=(0,o.BV)("layoutContextProps.canonicalUrl"),$=(0,o.BV)("layoutContextProps.siteData.metadata.domain"),B=(0,_.Ay)("xlg>"),G=(0,_.Ay)("md"),J=(0,_.Ay)("xs"),W=d?.length>0?{data:[...d]}:null,{0:M,1:V}=(0,a.useState)(W),z=(0,S.z)(),H=(0,o.jV)("section.title")??"",q=(0,o.jV)("id"),Q=(0,o.BV)("layoutContextProps.siteId"),K=r?.source||w.YL.PARSELY,X=!W&&(K===w.YL.PARSELY||K===w.YL.CONCORDE),{data:Z,error:ee,isLoading:et}=function({apiEndpoint:e,domain:t,canonicalUrl:r="",filter:n="",commerceFilter:a=!1,sectionTitle:o="",limit:l=6,pubDateStart:c="",customFilter:s="",source:d=w.YL.PARSELY,sourceOptions:u={},contentId:m=null,enabled:p=!0}={}){let g=p&&t&&e&&l>0?["parsely-recirc",t,e,r,n,a,o,l,c,s,d,u?.displayTypeFilter??""].filter(e=>null!=e&&""!==e):null;A.info("useParselyContent called",{domain:t,apiEndpoint:e,source:d,limit:l,enabled:p,hasCacheKey:!!g});let f=async()=>{A.info("useParselyContent fetching from Parse.ly",{domain:t,apiEndpoint:e,source:d});let i=await (0,R.u1)(e,t,r,n,a,o,parseInt(l,10)+2,c,s,d,u);if(!i||!i.data||!Array.isArray(i.data))return A.warn("useParselyContent received invalid response",{hasResponse:!!i,hasData:!!i?.data,isArray:Array.isArray(i?.data)}),null;let p=new Set(m?[m]:[]),g=i.data.filter(({tags:e})=>{let t=(0,R.Ox)("contentId: ",e);return!(t&&p.has(t))&&(t&&p.add(t),!0)}),f=("related"===e&&d===w.YL.PARSELY?await j(g.slice(0,parseInt(l,10)+2),r):g).slice(0,parseInt(l,10));return A.info("useParselyContent fetch successful",{originalCount:i.data.length,filteredCount:f.length,limit:l,usedFallback:i.meta?.fallback??!1,source:i.meta?.source}),E(E({},i),{},{data:f})},{data:y,error:h,isLoading:O,mutate:b}=(0,i.Ay)(g,f,{revalidateOnFocus:!1,revalidateOnReconnect:!1,revalidateIfStale:!1,dedupingInterval:6048e5,errorRetryCount:2,errorRetryInterval:1e3,shouldRetryOnError:!0,keepPreviousData:!0});A.info("useParselyContent SWR state",{isLoading:O,hasError:!!h,hasData:!!y,itemCount:y?.data?.length||0});let _=Array.isArray(y?.data)&&y.data.length>0;return{data:y,error:h,isLoading:O,hasData:_,mutate:b}}({apiEndpoint:x,domain:$,canonicalUrl:"related"===m?N:"",filter:n,commerceFilter:!!g&&z,sectionTitle:f?H:"",limit:parseInt(c,10),pubDateStart:p,source:K,sourceOptions:K===w.YL.CONCORDE?{contentId:q,siteId:Q,displayTypeFilter:h}:{},contentId:q,enabled:X}),{data:er,error:en,isLoading:ea}=function(e,t=7){b.info("useRecommendedContent called",{contentId:e,limit:t});let{data:r,error:n,isLoading:a}=(0,i.Ay)(e?["recommended-content",e]:null,()=>(0,l.G)([O,{contentId:e,isRaRRecommended:!0}]),{revalidateOnFocus:!1,revalidateOnReconnect:!0,dedupingInterval:6e4,errorRetryCount:2,errorRetryInterval:1e3});return b.info("SWR response",{isLoading:a,error:!!n,dataExists:!!r}),r&&b.info("Raw GraphQL response",{data:r}),{data:r?.content?.[0]?.recommendations?.[0]?.recommended_content?.slice(0,t),error:n,isLoading:a}}(q,c);(0,a.useEffect)(()=>{!X||et||ee||Z&&Z.data&&0!==Z.data.length&&(L.log("[RECIRC DEBUG] Parse.ly cached data received:",{source:K,itemCount:Z.data.length,limit:c}
140),V(Z))},[Z,et,ee,X,K,c]),(0,a.useEffect)(()=>{K!==w.YL.READERS_ALSO_READ||(L.log("[RECIRC DEBUG] Recirculation metadata:",{source:r?.source,limit:r?.limit,heading:r?.heading,layout:r?.layout,fullMetadata:r}),M||ea||en||!er||0===er.length||(L.log("[RECIRC DEBUG] Raw recommended content from endpoint:",{itemCount:er.length,items:er}),(async()=>{try{let e=await (0,R.Qg)({recommendedData:er,domain:$,limit:r?.limit||6});L.log("[RECIRC DEBUG] Transformed recommended content:",{success:e?.success,itemCount:e?.data?.length||0,expectedCount:r?.limit||6,data:e}),e&&e.data&&e.data.length>0?V(e):L.log("[RECIRC DEBUG] No valid items after transformation")}catch(e){L.error("[RECIRC DEBUG] Transformation error:",e)}})().catch(e=>{L.error("[RECIRC DEBUG] Unhandled transformData rejection:",e)})))},[er,ea,en,K,$,M]);let eo=async()=>{L.info("fetchRecircContent called - data is now automatically fetched via SWR hook",{dataSource:K,hasParselyData:!!Z})},ei=M?.data,el=Array.isArray(ei)&&ei.length>0,{0:ec,1:es}=(0,a.useState)(null),ed=X&&et||K===w.YL.READERS_ALSO_READ&&ea;return{recircContent:M,setRecircContent:V,API_ENDPOINT:x,filter:n,limit:c,heading:s,editorial:d,layout:u,pubDateStart:p,domain:$,isDesktop:B,isLargeMobile:J,isTablet:G,inView:T,observer:U,ref:Y,canonicalUrl:N,fetchRecircContent:eo,recircContentData:ei,hasRecircContent:el,contentUrl:C,contentTitle:P,linkTitle:v,scrollingTimer:ec,setScrollingTimer:es,recommendedDataLoading:ea,recommendedData:er,parselyLoading:et,parselyError:ee,isLoading:ed,dataSource:K}}},43175:(e,t,r)=>{r.r(t),r.d(t,{default:()=>P});var n=r(93682),a=r(71055),o=r(14687),i=r(15252),l=r(89205),c=r(800),s=r(26472),d=r(63875),u=r(7105),m=r(174),p=r(75855),g=r(38536),f=r(28270),y=r(64917);function h(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function O(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?h(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):h(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let b=(0,g.A)("div",{target:"emmg1xx4"})((0,f.Ay)("recirc-module-stacked-carousel-section-container",O(O({padding:"0"},y.ku),{},{[o.q7]:{paddingRight:"xs"},'[data-theme-key="carousel-item"]':{padding:"{s} {xs} 0 0",flex:"auto",maxWidth:"unset"},'[data-theme-key="carousel-inner-wrapper"]':{margin:"0",scrollbarWidth:"thin","::-webkit-scrollbar":{display:{"<lg":"block",lg:"none"}}},'[data-theme-key="carousel-hed"]':{margin:"0",paddingLeft:"0"}})),""),_=(0,g.A)("div",{target:"emmg1xx3"})((0,f.Ay)("recirc-module-stacked-carousel-column"),""),R=(0,g.A)("a",{target:"emmg1xx2"})((0,f.Ay)("recirc-module-stacked-carousel-item-link",{display:"flex",textDecoration:"none",padding:"0 0 1rem 0"}),""),w=(0,g.A)("span",{target:"emmg1xx1"})((0,f.Ay)("recirc-module-stacked-carousel-item-heading",{alignItems:"flex-start",display:"inline-flex",flexDirection:"column",height:"6rem",justifyContent:"center",width:"10rem"}),""),C=(0,g.A)("img",{target:"emmg1xx0"})((0,f.Ay)("recirc-module-stacked-carousel-item-img",{width:"5rem",height:"5rem",margin:"auto {*sizes.primitive-10} auto auto"}),"");var E=r(9954);function A(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function P({sx:e}){let{layout:t,heading:r,isTablet:g,isDesktop:f,recircContent:y,fetchRecircContent:h,hasRecircContent:O,setScrollingTimer:v,scrollingTimer:j,inView:k,observer:S,ref:D}=(0,s.R)(),x=(e,{destinationLink:t,primaryUx:r="trending_module"}={})=>{let a=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?A(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):A(Object(r)).forEac
140h(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({primaryUx:r},t&&{destinationLink:t});(0,m.A)("recirculation",`recirculation_${e}`,a)},I=(0,c.BV)("displayType")===l.rU.LISTICLE;(0,a.useEffect)(()=>{y||h()},[]),(0,a.useEffect)(()=>{k&&(x("view_event"),S.current.unobserve(D.current))},[k]);let L=f&&!I?y?.data.slice(0,4):y?.data,F=L?.filter((e,t)=>t%2),T=L?.filter((e,t)=>!(t%2)),U=e=>{let r,{title:n,image_url:a,url:o,link:l,metadata:c}=e||{};try{r=JSON.parse(c)}catch{r={}}let s=y?.meta?.source==="readers-also-read",m=s?n:(0,d.VE)(r?.socialHeadline)||n,g=s?a:(0,d.ev)(a,["resize"]);return g?(0,E.Y)(R,{"aria-label":`Read more about ${m}`,href:o,key:l,layout:t,onClick:async()=>{x("click_event",{destinationLink:o})}},(0,E.Y)(C,{alt:"",height:"100%",src:g,width:"100%"}),(0,E.Y)(w,null,(0,E.Y)(u.A,{isSponsored:(0,d.zM)(e)}),(0,i.W)(m,p._n,"..."))):null},Y=T?.map((e,t)=>(0,E.Y)(_,{key:e?.link},U(e),U(F[t])));return O?(0,E.Y)(b,{sx:e,ref:D},(0,E.Y)(o.Ay,{controlsPosition:"top-end",hed:r,itemsPerPage:g?2:1,peekWidthPercentage:g?30:40,withNav:!1,onScroll:({primaryUx:e="trending_module"}={})=>{clearTimeout(j),v(setTimeout(()=>{(0,m.A)("recirculation","recirculation_swipe_event",{primaryUx:e})},200))}},Y)):null}},64917:(e,t,r)=>{r.d(t,{hO:()=>i,ku:()=>o});var n=r(38536),a=r(28270);let o={'&:has([data-sponsored="true"]) [data-sponsored="false"]':{display:"block",visibility:"hidden"}},i=(0,n.A)("span",{target:"e1c10ot1"})((0,a.Ay)("recirc-sponsored-label",{color:"#595959",display:"block",fontSize:"0.6875rem",fontWeight:"bold",letterSpacing:0,lineHeight:1,textTransform:"uppercase",'&[data-sponsored="false"]':{display:"none"}}),"");(0,n.A)("span",{target:"e1c10ot0"})((0,a.Ay)("recirc-sponsored-text-wrapper",{display:"flex",flexDirection:"column",gap:"0.25rem",minWidth:0,width:"100%"}),"")}}]);
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.