{"version":3,"sources":["webpack:///./src/app/pages/Article.js","webpack:///./src/app/components/MembranaInArticle.js","webpack:///./src/app/components/AuthorWidget.js","webpack:///./src/app/components/BreadCrumb.js","webpack:///./src/app/components/ui/Carousel.style.js","webpack:///./src/app/components/ui/Carousel.js","webpack:///./src/app/components/Timeline.js","webpack:///../common/lib/ion-dom/distribution/ion-dom.js","webpack:///./assets/images/social-media/instagram-author.svg","webpack:///./assets/images/icons/gallery-prev.svg","webpack:///./assets/images/icons/gallery-next.svg","webpack:///./assets/images/social-media/linkedin-author.svg","webpack:///./assets/images/general/no-profile.png","webpack:///./assets/images/social-media/facebook-author.svg"],"names":["ArticleSideShare","loadable","ArticleSocialShare","RelatedArticles","AuthorArticles","Video","NotFound","Outbrain","OutbrainInArticle","VoxImage","MostReadWidget","YouMayLike","resolveComponent","components","NewsletterCTA","NewsletterSubscribeCallToAction","YouMayLikeSkeleton","Skeleton","Oovvuu","then","window","oovvuuRuntime","setTimeout","OovvuuErrorBoundary","ErrorBoundary","oovvuu","InImage","Leaderboard","LeaderboardTop","HP","mpuRHS","mpuRHS1","props","state","hasError","error","errorInfo","this","message","children","React","Component","StyledArticleContent","styled","div","Gallery","readArticles","processArticleScripts","articleNode","scripts","nodeScriptReplace","node","async","onload","FB","XFBML","parse","console","log","src","processArticleVideo","querySelectorAll","v","sources","getElementsByTagName","s","push","getAttribute","type","v2","document","createElement","style","cssText","branding","hasAttribute","JSON","decodeURIComponent","e","ReactDom","render","className","poster","channel","autoplay","width","fluid","aspectRatio","preload","controls","parentElement","replaceChild","Error","h1","text","mb","p","Wrapper","downMd","useDown","link","location","pathname","fallback","undefined","main","px","mt","sm","lg","w","article","mx","textAlign","display","justifyContent","alignItems","flexDirection","isConnected","adPath","collapseEmptyDiv","slotId","targeting","mapping","FORMATS","leaderboardtop","ImageGallery","images","thumbNails","map","image","createRef","carouselNode","useRef","carousel","useCarousel","renderPaginationItem","current","img","idx","ref","label","onClick","aria-label","aria-selected","cursor","onSelectSlide","scrollLeft","offsetLeft","id","nextButton","next","prevButton","prev","Slide","getImageSize","alt","altText","caption","shape","noImage","NoImage","maxWidth","m","lineHeight","processTimelineShortcode","element","index","timelines","TIMELINE_REGEX","matchResult","match","elements","split","slug","mode","String","toUpperCase","timeline","key","dangerouslySetInnerHTML","__html","length","RenderArticle","useState","hasProcessed","setProcessed","articleRef","TitleRef","AutoPlay","URLSearchParams","useLocation","search","get","setPageType","useEffect","uuid","bodyHTML","includes","oovvuuArticleView","section","Window","scrollIntoView","relatedArticlesPresent","relatedArticles","resizeURL","process","isSponsored","sponsoredIndicator","isNative","sponsoredIndicatorMeta","sponsoredLogoImage","sponsoredLogo","imageURL","nativeLogoImage","bodyElements","mainImage","getImage","imageSrcUrl","calcImageSrcUrl","socialImageSrcUrl","socialTeaserImage","thumbnailUrl","videos","thumbnailURL","url","headline","LeadImage","SocialImage","staticContext","author","title","property","content","getTeaser","socialAbstract","canonicalUri","itemprop","height","name","keywords","itemProp","modified","published","contentKey","publication","twitterName","rel","href","canonical","interstitial","anchor","MAPPINGS","Interstitial","Inarticle","thirdParty","fontSize","gridTemplateColumns","xl","gap","aside","visibility","authors","visitorId","sessionId","path","provider","videoSources","script","replace","my","color","formatAgo","MPU","mpu","gridTemplateAreas","gridArea","teads","unknownImage","textTransform","concat","primaryTag","secondaryTags","trends","tag","to","sectionSlug","backgroundColor","Py","mr","source","spaceX","pb","borderWidth","borderStyle","borderColor","youMayLikeArticles","refresh","articles","py","position","top","mpu600","hasAuthorPage","authorArticles","h5","SweepOut","hoverBGColor","hoverColor","filter","filterArticle","slice","leaderboard","threshold","order","Offline","_Article","offline","setIsOffline","preloaded","isFetching","ArticlePushContext","previewArticle","fetchArticle","descriptionUrl","encodeURIComponent","oovvuuReplacementAdServerURL","setPreviewArticle","checkCanonical","articleUrlVerified","is404","hasFetched","mapStateToProps","app","getVisitorId","getSessionId","mapDispatchToProps","dispatch","bindActionCreators","setProcessedArticle","submitCompetition","ConnectedArticle","connect","MembranaInArticle","yieldMasterCmd","yieldMaster","init","pageVersionAutodetect","zIndex","AuthorWidget","borderRadius","h","imageUrl","ml","fontFamily","dataAuthor","span","relatedLinks","descriptionShort","facebook","a","target","aFB","linkedin","aLI","instagram","aI","pr","BreadCrumb","pathArray","nav","ul","reduce","acc","child","li","join","_","hover","getSectionLabel","system","Carousel","slidesToShow","translateX","css","Pagination","Bullet","active","th","navigationStyles","disabled","Next","Prev","useInterval","callback","delay","savedCallback","setInterval","clearInterval","forwardRef","dataTestId","goNext","goPrev","loop","numberOfSlides","pageIdx","setNumberOfSlides","setPageIdx","slidesToSwipe","swipeHandlers","rest","size","visibleSlides","Array","fill","aria-controls","data-testid","aria-live","aria-roledescription","role","cloneElement","S","displayName","duration","mobileSlidesToShow","mobileSlidesToSwipe","lastSlideIdx","nextPageIdx","Math","min","prevPageIdx","max","useSwipeable","onSwipedLeft","onSwipedRight","Timeline","items","tagName","parentNode","innerHTML","i","attributes","setAttribute","value","nodeScriptClone","childNodes","module","exports"],"mappings":"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","file":"static/js/pages-Article.e5d31f18.chunk.js","sourcesContent":[" import React, { Fragment, useEffect, useRef, useState } from 'react'\nimport styled, { x, useDown } from '@xstyled/styled-components'\nimport { Redirect } from 'react-router'\nimport { bindActionCreators } from 'redux'\nimport { connect } from 'react-redux'\nimport ReactDom from 'react-dom'\nimport Helmet from 'react-helmet'\nimport { useLocation } from 'react-router-dom'\nimport { nodeScriptReplace } from 'ion-dom'\nimport loadable from '@loadable/component'\n\nimport { setPageType } from '../../store/app'\nimport { fetchArticle, articleUrlVerified, setPreviewArticle, submitCompetition, setProcessedArticle, oovvuuArticleView, getVisitorId, getSessionId } from '../../store/article'\nimport { ArticleMeta } from 'ion-article-cmp'\nimport { calcImageSrcUrl } from 'ion-image'\nimport Ad from '../components/Ad'\nimport { FORMATS, MAPPINGS } from '../components/AdFormats'\nimport { LazyLoadComponent } from 'react-lazy-load-image-component'\nimport AuthorWidget from '../components/AuthorWidget'\nimport { ArticlePageSkeleton as Skeleton } from '../components/Skeletons'\nimport { getImageSize, getImage, getTeaser } from '../../lib/articleUtils'\nimport ImageOrNoImage from '../components/ui/Image'\nimport NoImage from '../../../assets/images/general/no-image.png'\nimport { formatAgo } from '../../lib/dateUtils'\n\nimport { BreadCrumb } from '../components/BreadCrumb'\n\nimport StyledLink from '../components/ui/Link'\nimport cssfxUnderline from '../components/ui/cssfxUnderline'\n\nimport next from '../../../assets/images/icons/gallery-next.svg'\nimport prev from '../../../assets/images/icons/gallery-prev.svg'\nimport { Carousel, useCarousel } from '../components/ui/Carousel'\nimport Timeline from '../components/Timeline'\nimport MembranaInArticle from '../components/MembranaInArticle'\n\nconst ArticleSideShare = loadable(() => import('../components/ui/ArticleSideShare'))\nconst ArticleSocialShare = loadable(() => import('../components/ArticleSocialShare'))\n\nconst RelatedArticles = loadable(() => import('../components/RelatedArticles'))\nconst AuthorArticles = loadable(() => import('../components/AuthorArticles'))\nconst Video = loadable(() => import('../components/Video'))\nconst NotFound = loadable(() => import('./NotFound'))\nconst Outbrain = loadable(() => import('../components/OutbrainWidget'))\nconst OutbrainInArticle = loadable(() => import('../components/OutbrainInArticleWidget'))\nconst VoxImage = loadable(() => import('../components/VoxImage'))\nconst MostReadWidget = loadable(() => import('../components/MostReadWidget'))\n\nconst YouMayLike = loadable(() => import('../components/YouMayLike'), {\n  resolveComponent: (components) => components.default\n})\nconst NewsletterCTA = loadable(() => import('../components/NewsletterSubscribePopup'), {\n  resolveComponent: (components) => components.NewsletterSubscribeCallToAction\n})\n\nconst YouMayLikeSkeleton = loadable(() => import('../components/YouMayLike'), {\n  resolveComponent: (components) => components.Skeleton\n})\nconst Oovvuu = loadable(() =>\n  import('../components/Oovvuu').then(components => {\n    if (typeof window !== 'undefined' && typeof window.oovvuuRuntime === 'function') {\n      setTimeout(() => {\n        oovvuuRuntime()\n      })\n    }\n    return components.default\n  })\n)\nconst OovvuuErrorBoundary = loadable(() => import('../components/Oovvuu'), {\n  resolveComponent: (components) => components.ErrorBoundary\n})\n\nconst oovvuu = 'playback.oovvuu.media'\n\nconst InImage = [\n  [[1024, 0], [1, 2]],\n  [[640, 0], [1, 2]],\n  [[200, 0], [1, 2]],\n  [[0, 0], [1, 2]]\n]\n\nconst Leaderboard = [\n  [[1024, 0], [[728, 90], [970, 90], [970, 250], 'fluid']],\n  [[640, 0], [[460, 60], 'fluid']],\n  [[0, 0], [[300, 600], [336, 280], [320, 100], [320, 50], [300, 250], [300, 100], [300, 50], 'fluid']]\n]\n\nconst LeaderboardTop = [\n  [[1024, 0], [[728, 90], [970, 90], 'fluid']],\n  [[640, 0], [[460, 60], 'fluid']],\n  [[0, 0], [[320, 100], [320, 50], [300, 100], [300, 50], 'fluid']]\n]\n\nconst HP = [\n  [[1024, 0], [[300, 600], [160, 600], [120, 600], 'fluid']],\n  [[640, 0], [[300, 600], [160, 600], [120, 600], 'fluid']],\n  [[0, 0], [[300, 600], [336, 280], [320, 100], [320, 50], [300, 250], [300, 100], [300, 50], [160, 600], [120, 600], 'fluid']]\n]\n\nconst mpuRHS = [\n  [[1024, 0], [[300, 250], [3, 3], 'fluid']],\n  [[640, 0], [[300, 250], [336, 280], [3, 3], 'fluid']],\n  [[0, 0], [[300, 600], [336, 280], [320, 100], [320, 50], [300, 250], [300, 100], [300, 50], [3, 3], 'fluid']]\n]\n\nconst mpuRHS1 = [\n  [[1024, 0], [[300, 250], [3, 3], 'fluid']],\n  [[640, 0], [[300, 250], [336, 280], [3, 3], 'fluid']],\n  [[0, 0], [[300, 600], [336, 280], [320, 100], [320, 50], [300, 250], [300, 100], [300, 50], [3, 3], 'fluid']]\n]\n\nclass ErrorBoundary extends React.Component {\n  constructor (props) {\n    super(props)\n    this.state = { hasError: false }\n  }\n\n  static getDerivedStateFromError (error) {\n    // Update state so the next render will show the fallback UI.\n    return { hasError: true, error }\n  }\n\n  componentDidCatch (error, errorInfo) {\n    // You can also log the error to an error reporting service\n    // console.error(error, errorInfo)\n  }\n\n  render () {\n    if (this.state.hasError) {\n      return <div>{this.props.message}</div>\n    }\n    return this.props.children\n  }\n}\n\nconst StyledArticleContent = styled.div`\n  margin-top: 30px;\n  > div:first-of-type p:first-of-type {\n    line-height: 1.3;\n    font-size: ${20 / 16}rem;\n    font-weight: semiBold;\n  }\n  p {\n  line-height: 1.5;\n  margin-bottom: 20px;\n  a {\n    color: blue;\n    border-bottom: 1px solid blue;\n    transition: all linear 0.3s;\n    &:hover {\n      color: blue;\n      border-bottom: none;\n    }\n  }\n}\n  div {\n  line-height: 1.5;\n  margin-bottom: 20px;\n  a {\n    color: blue;\n    border-bottom: 1px solid blue;\n    transition: all linear 0.3s;\n    &:hover {\n      color: blue;\n      border-bottom: none;\n    }\n  }\n}\n  h2, h3, h4 {\n    margin-bottom: ${20 / 16}rem;\n  }\n  blockquote {\n    text-align: center;\n    margin-top: 50px;\n    margin-bottom: 50px;\n    font-family: \"PT Serif\", serif;\n    font-size: ${22 / 16}rem;\n    font-weight: 400;\n    p {\n      font-size: 1rem;\n      &:last-of-type {\n        font-family: \"Work Sans\", sans-serif;\n      }\n    }\n  }\n  figure {\n    margin: 20px 0;\n    @media screen and (min-width: 1500px) {\n      margin: 20px -125px;\n      width: 800px;\n    }\n    img {\n      width: 100%;\n    }\n    figcaption {\n      width: 100%;\n      max-width: 800px;\n      margin: auto;\n      font-style: italic;\n      font-size: ${14 / 16}rem;\n      line-height: 1.2;\n      margin-top: 10px;\n    }\n  }\n  iframe {\n    max-width: 100%;\n    margin-bottom: 30px;\n  }\n  .advert-inarticle iframe {\n    margin-bottom: 0;\n  }\n  ul, ol {\n    margin: 20px 0 20px 20px;\n    li {\n      margin-left: 20px;\n      padding-left: 10px;\n      margin-bottom: 8px;\n      &:last-of-type {\n        margin-bottom: 0;\n      }\n    }\n  }\n  ul li {\n    list-style-type: disc;\n  }\n  ol li {\n    list-style-type: decimal;\n  }\n  tr {\n      background-color: #f2f2f2;\n      text-align: center;\n    }\n`\n\nconst Gallery = styled.div`\n  position: relative;\n  .carousel-next,\n  .carousel-prev {\n    width: 42px;\n    height: 42px;\n    top: 50%;\n    transform: translateY(-200%);\n  }\n  .carousel-next {\n    right: 0;\n  }\n  .carousel-prev {\n    left: 0;\n  }\n  .carousel-pagination {\n    overflow-x: scroll;\n    img {\n      border-bottom: 3px solid #FFF;\n      padding-bottom: 2px;\n      &[aria-selected=true] {\n        border-bottom: 3px solid #ED5C35;\n        padding-bottom: 2px;\n      }\n    }\n  }\n`\n\nconst readArticles = []\n\nfunction processArticleScripts (articleNode) {\n  let scripts = 0\n  const scriptLoaded = () => {\n    scripts--\n    if (scripts === 0) {\n      nodeScriptReplace(articleNode, false)\n      if (typeof window !== 'undefined' && typeof window.FB !== 'undefined') {\n        window.FB.XFBML.parse()\n      }\n    }\n  }\n\n  if (articleNode) {\n    nodeScriptReplace(articleNode, true, (node) => {\n      scripts++\n      node.async = false\n      node.onload = () => scriptLoaded()\n      console.log('Loading', node.src)\n      return node\n    })\n    if (!scripts) {\n      nodeScriptReplace(articleNode, false)\n    }\n  }\n}\n\nfunction processArticleVideo (articleNode) {\n  for (const v of articleNode.querySelectorAll('video.ion-video')) {\n    const sources = []\n    for (const s of v.getElementsByTagName('source')) {\n      sources.push({\n        src: s.getAttribute('src'),\n        type: s.getAttribute('type')\n      })\n    }\n    const v2 = document.createElement('div')\n    v2.style.cssText = 'clear:both;'\n    let branding = {}\n    try {\n      if (v.hasAttribute('data-channel')) {\n        branding = JSON.parse(decodeURIComponent(v.getAttribute('data-channel')))\n      }\n    } catch (e) {\n      branding = {}\n    }\n    ReactDom.render(\n      <div className='video'>\n        <ErrorBoundary>\n          <Video\n            sources={sources}\n            poster={v.getAttribute('poster')}\n            channel={v.getAttribute('data-channel')}\n            branding={branding}\n            autoplay={false}\n            width='650'\n            fluid\n            aspectRatio='16:9'\n            preload='metadata'\n            controls\n          />\n        </ErrorBoundary>\n      </div>, v2)\n    v.parentElement.replaceChild(v2, v)\n    console.log('Updated videojs video')\n  }\n}\n\nconst Error = ({ error }) => (\n  <x.div>\n    <x.h1 text='h1' mb={30}>Error:</x.h1>\n    <x.p>{error}</x.p>\n  </x.div>\n)\n\nconst Wrapper = (props) => {\n  const downMd = useDown('md')\n  return (\n    <>\n      {downMd &&\n        <ArticleSideShare link={props.location.pathname} fallback={undefined} />}\n      <x.main px={20} mt={{ sm: '96px', lg: '173px' }} w='100%'>\n        <x.div mt={{ sm: '20px', article: '30px' }} mx={-20} textAlign='center' display='flex' justifyContent='center' alignItems='center' flexDirection='column'>\n          <Ad isConnected={props.isConnected} adPath={props.adPath} collapseEmptyDiv slotId='leaderboard-top' targeting={{ Leaderboard: 'top' }} mapping={LeaderboardTop} className='advert' {...FORMATS.leaderboardtop} />\n        </x.div>\n        {props.children}\n      </x.main>\n    </>\n  )\n}\n\nconst ImageGallery = ({ images }) => {\n  const thumbNails = images.map(image => React.createRef())\n  const carouselNode = useRef()\n  const carousel = useCarousel({\n    renderPaginationItem: (props) => {\n      if (carouselNode.current) {\n        return (\n          <x.img\n            w={16} src={carouselNode.current.getElementsByTagName('img')[props.idx].src} ref={thumbNails[props.idx]} label={props['aria-label']}\n            onClick={props.onClick} aria-label={props['aria-label']} aria-selected={props['aria-selected']} cursor='pointer'\n          />\n        )\n      }\n    },\n    onSelectSlide: (idx) => {\n      if (thumbNails[idx].current) {\n        thumbNails[idx].current.parentElement.scrollLeft = thumbNails[idx].current.offsetLeft\n      }\n    }\n  })\n  // console.log('ImageGallery', images)\n  return (\n    <Gallery>\n      <Carousel id='ImageGallery' mx={0} mb={50} {...carousel} nextButton={<img src={next} />} prevButton={<img src={prev} />} ref={carouselNode}>\n        {images.map(image => (\n          <Carousel.Slide textAlign='center'>\n            <ImageOrNoImage image={image} width={getImageSize('featured')} alt={image.altText || image.caption} shape='16x9' noImage={NoImage} />\n            <x.p text='small' w='100%' maxWidth={550} m='10px auto 20px' lineHeight='1' textAlign='left'><em>{image.caption}</em></x.p>\n          </Carousel.Slide>\n        ))}\n      </Carousel>\n    </Gallery>\n  )\n}\n\nfunction processTimelineShortcode (element, index, timelines) {\n  const TIMELINE_REGEX = /<p>\\[timeline=([^ ]+)(?: mode=([^ ]+))?\\]<\\/p>/\n  const matchResult = element.match(TIMELINE_REGEX)\n  const elements = element.split(TIMELINE_REGEX)\n  const slug = elements[1]\n  const mode = elements[2] === undefined ? 'VERTICAL_ALTERNATING' : String(elements[2]).toUpperCase()\n  if (!matchResult) {\n    return <div key={'div-' + index} dangerouslySetInnerHTML={{ __html: element }} />\n  }\n  if (matchResult.index === 0) {\n    return (\n      <>\n        <Timeline mode={mode} timeline={timelines[slug]} />\n        <div key={'div-' + index} dangerouslySetInnerHTML={{ __html: elements[elements.length - 1] }} />\n      </>\n    )\n  }\n  // At the end if last element in the match result array is \"\"\n  if (elements[elements.length - 1] === '') {\n    return (\n      <>\n        <div key={'div-' + index} dangerouslySetInnerHTML={{ __html: elements[0] }} />\n        <Timeline mode={mode} timeline={timelines[slug]} />\n      </>\n    )\n  }\n  // in the middle\n  if (matchResult.index < element.length) {\n    return (\n      <>\n        <div key={'div-' + index + '-a'} dangerouslySetInnerHTML={{ __html: elements[0] }} />\n        <Timeline mode={mode} timeline={timelines[slug]} />\n        <div key={'div-' + index + '-b'} dangerouslySetInnerHTML={{ __html: elements[elements.length - 1] }} />\n      </>\n    )\n  }\n}\n\nconst RenderArticle = (props) => {\n  const [hasProcessed, setProcessed] = useState(false)\n  const articleRef = useRef()\n  const TitleRef = useRef()\n  const queryString = new URLSearchParams(useLocation().search)\n  const AutoPlay = !!queryString.get('autoplay')\n  const isMobile = useDown('md')\n  const article = props.article\n  const clickSource = 'Article Page'\n  setPageType('article')\n\n  if (!article) {\n    return <Skeleton />\n  }\n  useEffect(() => {\n    if (typeof window !== 'undefined' && typeof window.oovvuuRuntime === 'function') {\n      oovvuuRuntime()\n    }\n  }, [article.uuid])\n\n  useEffect(() => {\n    if (!hasProcessed) {\n      processArticleScripts(articleRef.current)\n      if (article.bodyHTML.includes(oovvuu)) {\n        props.oovvuuArticleView(article.section)\n      }\n\n      processArticleVideo(articleRef.current)\n\n      setProcessed(true)\n    }\n  }, [articleRef.current])\n\n  useEffect(() => {\n    if (typeof Window !== 'undefined' && AutoPlay && TitleRef.current) {\n      TitleRef.current.scrollIntoView(true)\n    }\n  }, [TitleRef.current])\n\n  const relatedArticlesPresent = article.relatedArticles.length > 0\n  const resizeURL = process.env.RAZZLE_RESIZE_URL\n  const isSponsored = article.sponsoredIndicator === 'SPONSORED' || article.sponsoredIndicator === 'SPONSORED_EXPIRED'\n  const isNative = article.sponsoredIndicator === 'NATIVE' || article.sponsoredIndicator === 'NATIVE_EXPIRED'\n  const sponsoredIndicatorMeta = isSponsored ? 'sponsored' : isNative ? 'partnered' : ''\n  const sponsoredLogoImage = isSponsored && article.sponsoredLogo && article.sponsoredLogo.imageURL ? article.sponsoredLogo.imageURL : ''\n  const nativeLogoImage = isNative && article.sponsoredLogo && article.sponsoredLogo.imageURL ? article.sponsoredLogo.imageURL : ''\n  const bodyElements = article?.bodyHTML.split('<ad-slot/>')\n  const mainImage = getImage(article)\n  const imageSrcUrl = calcImageSrcUrl(mainImage, 650, '16x9', false)\n  const socialImageSrcUrl = article.socialTeaserImage ? calcImageSrcUrl(article.socialTeaserImage, 650, '16x9', false) : undefined\n  const thumbnailUrl = article.videos && article.videos[0].thumbnailURL ? calcImageSrcUrl({ url: article.videos[0].thumbnailURL, caption: article.headline }, 100, 'square', false) : calcImageSrcUrl(mainImage, 100, 'square', false)\n  const LeadImage = imageSrcUrl ? resizeURL + imageSrcUrl : (article.videos ? resizeURL + calcImageSrcUrl({ url: article.videos[0].thumbnailURL, caption: article.headline }, 650, '16x9', false) : NoImage)\n  const SocialImage = socialImageSrcUrl ? resizeURL + socialImageSrcUrl : undefined\n  const { staticContext } = props\n  if (staticContext) {\n    staticContext.author = article.author\n    staticContext.title = article.headline\n  }\n  return (\n    <>\n      <Helmet title={article.headline}>\n        <meta property='fb:app_id' content='293175074032541' />\n        <meta property='og:type' content='article' />\n        <meta property='og:title' content={getTeaser(article)} />\n        <meta property='og:description' content={article.socialAbstract || article.abstract} />\n        <meta property='og:url' content={process.env.RAZZLE_SITE_URL + article.canonicalUri} />\n        <meta property='og:image' itemprop='image' content={SocialImage || LeadImage} />\n        <meta property='og:image:width' content={article?.images?.[0].width || 0} />\n        <meta property='og:image:height' content={article?.images?.[0].height || 0} />\n        <meta property='og:image:alt' content={article?.images?.[0].caption || article.headline} />\n        <meta property='og:image:secure_url' itemprop='image' content={SocialImage || LeadImage} />\n        <meta name='keywords' content={article.keywords} />\n        <meta itemProp='headline' content={article.headline} />\n        <meta itemProp='description' name='description' content={article.abstract} />\n        <meta itemProp='dateModified' content={article.modified} />\n        <meta itemProp='datePublished' content={article.published} />\n        <meta itemProp='identifier' content={article.contentKey} />\n        <meta name='author' content={article.author} />\n        <meta name='publisher' content={article.publication} />\n        <meta name='twitter:site' content={props.twitterName} />\n        <meta name='twitter:creator' content={props.twitterName} />\n        <meta name='twitter:title' content={article.headline} />\n        <meta name='twitter:description' content={article.abstract} />\n        <meta itemprop='image' content={LeadImage} />\n        <meta itemprop='thumbnailUrl' content={resizeURL + thumbnailUrl} />\n        <meta name='twitter:card' content='summary_large_image' />\n        <meta name='twitter:image' content={SocialImage || LeadImage} />\n        <meta property='twitter:image:alt' content={article?.images?.[0].caption || article.headline} />\n        <meta itemProp='inLanguage' content='en' />\n        {(isSponsored || isNative) &&\n          <meta name='robots' content='nofollow' />}\n        {article.canonicalUri &&\n          <link rel='canonical' itemprop='url' href={process.env.RAZZLE_SITE_URL + article.canonicalUri} />}\n        {sponsoredIndicatorMeta &&\n          <meta itemProp='magnet:custom' name='contenttype' content={sponsoredIndicatorMeta} />}\n        {isSponsored &&\n          <meta name='robots' content='noindex' />}\n        {process.env.RAZZLE_ENABLE_MEBRANA && <script async='async' src='https://cdn.membrana.media/mil/ym.js' />}\n      </Helmet>\n      <ArticleMeta article={article} canonical={props.canonical} />\n      <Ad isConnected={props.isConnected} adPath={props.adPath} slotId='interstitial' targeting={{ interstitial: 'interstitial' }} collapseEmptyDiv className='advert' anchor='interstitial' mapping={MAPPINGS.Interstitial} {...FORMATS.interstitial} />\n      <Ad isConnected={props.isConnected} adPath={props.adPath} slotId='third-party' targeting={{ Inarticle: 'Inimage' }} collapseEmptyDiv className='advert' mapping={InImage} {...FORMATS.thirdParty} />\n      <x.article className='main-article' fontSize={props.fontSize} w='100%' maxWidth='1500px' m='auto' ref={articleRef}>\n        <x.div display='grid' gridTemplateColumns={{ sm: '100%', xl: '300px auto 300px' }} gap={{ sm: '0', xl: '50' }} alignItems='center'>\n          <x.aside display={{ sm: 'none', xl: 'block' }} visibility={{ sm: 'hidden', xl: 'visible' }}>\n            {/* NB: Mobile has it's own AuthorWidget below! */}\n            <LazyLoadComponent>\n              <AuthorWidget author={props.author} authors={article.authors} visitorId={props.visitorId} sessionId={props.sessionId} section={article.section} />\n            </LazyLoadComponent>\n          </x.aside>\n          <x.div w='100%' maxWidth='800px' m='0 auto'>\n            <BreadCrumb path={article.section} visitorId={props.visitorId} sessionId={props.sessionId} section={article.section} />\n            <x.h1 text={{ sm: 'h3', lg: 'h1' }} mb={{ sm: '15px', lg: '30px' }} ref={TitleRef}>{article.headline}</x.h1>\n            {mainImage && mainImage.url && article.images?.length === 1 && !!process.env.RAZZLE_ENABLE_VOX &&\n              <VoxImage contentKey={props.contentKey}>\n                <ImageOrNoImage image={mainImage} width={getImageSize('featured')} alt={article.images && (article.images[0].altText || article.images[0].caption)} shape='16x9' noImage={NoImage} />\n              </VoxImage>}\n            {mainImage && mainImage.url && article.images?.length === 1 && !process.env.RAZZLE_ENABLE_VOX &&\n              <ImageOrNoImage image={mainImage} width={getImageSize('featured')} alt={article.images && (article.images[0].altText || article.images[0].caption)} shape='16x9' noImage={NoImage} />}\n            {article.images && article.images.length > 1 &&\n              <ImageGallery images={article.images} />}\n            {article.videos && article.videos[0].sources && article.videos[0].provider === 'rumble' &&\n              // ION Video player to use a 'sources' property\n              <div className='video'>\n                <ErrorBoundary>\n                  <Video\n                    sources={article.videoSources}\n                    poster={article.videos[0].thumbnailURL ? article.videos[0].thumbnailURL.url : ''}\n                    autoplay={AutoPlay}\n                    width='650'\n                    fluid\n                    aspectRatio='16:9'\n                    preload='metadata'\n                    channel={article.videos[0].channel}\n                    branding={article.videos[0].branding}\n                    controls\n                  />\n                </ErrorBoundary>\n              </div>}\n            {article.videos && article.videos[0] && article.videos[0].provider === 'youtube' &&\n              <div className='video-youtube' key={'div-' + article.videos[0].id} dangerouslySetInnerHTML={{ __html: article.videos[0].script.replace(/\"/, '') }} />}\n            <x.div w='100%' maxWidth='800px' m='auto'>\n              {article.images && article.images.length === 1 &&\n              <>\n                <x.p text='small' my={5}><em>{article.images && article.images[0].caption}</em></x.p>\n                <x.p text='small' my={5}><em>{article.images && article.images[0].author && `Image by: ${article.images[0].author}`}</em></x.p>\n              </>\n               }\n            </x.div>\n            <x.div w='100%' maxWidth='550px' m='auto' display={{ sm: 'none', lg: 'block' }} visibility={{ sm: 'hidden', lg: 'visible' }}>\n              <x.p text='xsmall' color='meta' mb={20}>Published {formatAgo(article.published, true)}</x.p>\n            </x.div>\n          </x.div>\n          <x.aside w='100%' maxWidth='550px' m='auto' mb={10} display={{ sm: 'block', xl: 'none' }} visibility={{ sm: 'visible', xl: 'hidden' }}>\n            <x.div display='inline-block'>\n              {props.author &&\n                <LazyLoadComponent>\n                  <AuthorWidget author={props.author} authors={article.authors} visitorId={props.visitorId} sessionId={props.sessionId} section={article.section} />\n                </LazyLoadComponent>}\n            </x.div>\n            <x.div display='inline-block'>\n              <x.p text='xsmall' color='meta'>&nbsp;| Published {formatAgo(article.published, true)}</x.p>\n            </x.div>\n          </x.aside>\n          <x.div textAlign='center' justifyContent='center' alignItems='center' flexDirection='column' display={{ sm: 'none', xl: 'flex' }} visibility={{ sm: 'hidden', xl: 'visible' }}>\n            <Ad isConnected={props.isConnected} adPath={props.adPath} collapseEmptyDiv slotId='MPU-topright1' targeting={{ MPU: 'topright' }} mapping={mpuRHS} className='advert' {...FORMATS.mpu} />\n          </x.div>\n        </x.div>\n        <x.div w='100%' maxWidth='1500px' m='auto' display={{ sm: 'flex', xl: 'grid' }} gridTemplateColumns={{ sm: '100%', xl: '300px auto 300px' }} gridTemplateAreas={{ xl: '\"articles main-article adverts\"' }} gap={{ sm: '50px', xl: '0', article: '175px' }} flexDirection={{ sm: 'column', xl: 'row' }}>\n          <x.div gridArea='main-article' w={{ sm: '100%', lg: '550px' }} m='0 auto'>\n            <ArticleSocialShare link={props.location.pathname} contentKey={article.contentKey} visitorId={props.visitorId} sessionId={props.sessionId} fallback={(<></>)} />\n            {/* Article Body starts here */}\n            <StyledArticleContent className='article-content' text='large'>\n              {\n                bodyElements.map((element, index) => {\n                  switch (index) {\n                    case 0:\n                      return (\n                        processTimelineShortcode(element, index, article.timelines)\n                      )\n                    case 1: // Inarticle-top ad\n                      return (\n                        <Fragment key={index}>\n                          <x.div my={30} w={{ sm: '100%', article: '768px' }} mx={{ sm: '0', article: '-109px' }} textAlign='center' display='flex' justifyContent='center' alignItems='center' flexDirection='column'>\n                            <Ad isConnected={props.isConnected} adPath={props.adPath} slotId='Inarticle-top' targeting={{ Inarticle: 'top' }} className='advert advert-inarticle' mapping={mpuRHS} {...FORMATS.teads} />\n                            <ErrorBoundary isConnected={props.isConnected}>\n                              {/* Membrana start */}\n                              {process.env.RAZZLE_ENABLE_MEBRANA && <MembranaInArticle />}\n                              {/* Membrana End */}\n                            </ErrorBoundary>\n                          </x.div>\n                          {processTimelineShortcode(element, index, article.timelines)}\n                        </Fragment>\n                      )\n                    case 2: // Related Articles\n                      return (\n                        <Fragment key={index}>\n                          {relatedArticlesPresent &&\n                            <LazyLoadComponent>\n                              <ErrorBoundary isConnected={props.isConnected}>\n                                <RelatedArticles relatedArticles={article.relatedArticles} unknownImage={NoImage} visitorId={props.visitorId} sessionId={props.sessionId} section={article.section} />\n                              </ErrorBoundary>\n                            </LazyLoadComponent>}\n                          {processTimelineShortcode(element, index, article.timelines)}\n                        </Fragment>\n                      )\n                    case 3: // Inarticle-middle\n                      return (\n                        <Fragment key={index}>\n                          <x.div id='teadsTarget' my={30} w={{ sm: '100%', article: '768px' }} mx={{ sm: '0', article: '-109px' }} textAlign='center' display='flex' justifyContent='center' alignItems='center' flexDirection='column'>\n                            <Ad isConnected={props.isConnected} adPath={props.adPath} slotId='Inarticle-middle' targeting={{ Inarticle: 'middle' }} className='advert-3x3 advert-inarticle' mapping={mpuRHS1} {...FORMATS.teads} />\n                          </x.div>\n                          {processTimelineShortcode(element, index, article.timelines)}\n                        </Fragment>\n                      )\n                    case 4: // Inarticle-outstream\n                      return (\n                        <Fragment key={index}>\n                          <x.div id='teadsTarget-2' my={30} w={{ sm: '100%', article: '768px' }} mx={{ sm: '0', article: '-109px' }} textAlign='center' display='flex' justifyContent='center' alignItems='center' flexDirection='column'>\n                            <Ad isConnected={props.isConnected} adPath={props.adPath} slotId='Inarticle-outstream' targeting={{ Inarticle: 'outstream' }} className='advert-3x3 advert-inarticle' mapping={mpuRHS1} {...FORMATS.teads} />\n                          </x.div>\n                          {processTimelineShortcode(element, index, article.timelines)}\n                        </Fragment>\n                      )\n                    case 5: // inarticle-bot\n                      return (\n                        <Fragment key={index}>\n                          <x.div my={30} w={{ sm: '100%', article: '768px' }} mx={{ sm: '0', article: '-109px' }} textAlign='center' display='flex' justifyContent='center' alignItems='center' flexDirection='column'>\n                            <Ad isConnected={props.isConnected} adPath={props.adPath} slotId='Inarticle-bot' targeting={{ Inarticle: 'bot' }} className='advert-3x3 advert-inarticle' mapping={mpuRHS} {...FORMATS.mpu} />\n                          </x.div>\n                          {processTimelineShortcode(element, index, article.timelines)}\n                        </Fragment>\n                      )\n                    // case (index > 5 ? index : undefined): // Inarticle-bot + (index - 3)\n                    //   return (\n                    //     <Fragment key={index}>\n                    //       <x.div my={30} w={{ sm: '100%', article: '768px' }} mx={{ sm: '0', article: '-109px' }} textAlign='center' display='flex' justifyContent='center' alignItems='center' flexDirection='column'>\n                    //         <Ad isConnected={props.isConnected} adPath={props.adPath} slotId={`Inarticle-bot${index - 4}`} targeting={{ Inarticle: `bot${index - 4}` }} className='advert-inarticle' mapping={mpuRHS} {...FORMATS.mpu} />\n                    //       </x.div>\n                    //       {processTimelineShortcode(element, index, article.timelines)}\n                    //     </Fragment>\n                    //   )\n                  }\n                  // Remainder of the article\n                  return (\n                    processTimelineShortcode(element, index, article.timelines)\n                  )\n                })\n              }\n              {sponsoredLogoImage &&\n                <LazyLoadComponent>\n                  <div className='articleSponsoredBar'>This article is sponsored by\n                    <img src={resizeURL + '/10000x25?source=' + sponsoredLogoImage} />\n                  </div>\n                </LazyLoadComponent>}\n              {nativeLogoImage &&\n                <LazyLoadComponent>\n                  <div className='articleSponsoredBar'>This article was published in partnership with\n                    <img src={resizeURL + '/10000x25?source=' + nativeLogoImage} />\n                  </div>\n                </LazyLoadComponent>}\n            </StyledArticleContent>\n            {/* Article Body ends here */}\n            <x.div my={30}>\n              <x.p text='xsmall' textTransform='uppercase' color='mdGrey' mb={10}>Related Topics:</x.p>\n              {[].concat(article.primaryTag).concat(article.secondaryTags).concat(article.trends).map(tag => {\n                if (tag) {\n                  return <StyledLink key={tag.slug} to={'/' + tag.sectionSlug + '/' + tag.slug} text='tag' backgroundColor='#F2F2F2' Py={5} px={8} display='inline-block' mr={5} visitorId={props.visitorId} sessionId={props.sessionId} section={article.section} source={clickSource}>{tag.label}</StyledLink>\n                }\n              })}\n            </x.div>\n            <LazyLoadComponent>\n              <x.div display='flex' spaceX={10} mt={10} alignItems='center' mb={30} pb={30} borderWidth='0 0 1px 0' borderStyle='solid' borderColor='divider'>\n                <ArticleSocialShare link={props.location.pathname} contentKey={article.contentKey} visitorId={props.visitorId} sessionId={props.sessionId} fallback={(<></>)} />\n              </x.div>\n            </LazyLoadComponent>\n          </x.div>\n          {/*  More For You and Read Next */}\n          {!props.youMayLikeArticles && <YouMayLikeSkeleton />}\n          {!!props.youMayLikeArticles &&\n            <YouMayLike\n              uuid={article.uuid} refresh={!hasProcessed} articles={props.youMayLikeArticles} section={article.section ? article.section.split('/')[0] : 'news'}\n            />}\n          <x.div gridArea='adverts'>\n            <x.div textAlign='center' display='flex' alignItems='center' flexDirection='column' py={{ sm: '20px', lg: '0' }} mb={{ sm: '20px', lg: '0' }} position='sticky' top={10}>\n              <Ad isConnected={props.isConnected} adPath={props.adPath} slotId='MPU600-right' targeting={{ mpu600: 'right' }} mapping={HP} collapseEmptyDiv {...FORMATS.mpu600} />\n            </x.div>\n          </x.div>\n        </x.div>\n      </x.article>\n      {process.env.RAZZLE_ENABLE_NEWSLETTER_POPUPS &&\n        <LazyLoadComponent>\n          <NewsletterCTA />\n        </LazyLoadComponent>}\n      {/* Author Articles Start */}\n      {props.author && props.author.hasAuthorPage && props.authorArticles &&\n        <LazyLoadComponent>\n          <x.div maxWidth={1220} w='100%' mx='auto' my={{ sm: '20px', lg: '50px' }}>\n            <x.p text='xsmall' textTransform='uppercase' color='mdGrey'>Recent stories by:</x.p>\n            <x.h5 text='h5' borderWidth='0 0 1px 0' borderStyle='solid' borderColor='divider' pb={10} mb={20}>\n              <StyledLink to={'/' + props.author.slug} color='blue' visitorId={props.visitorId} sessionId={props.sessionId} section={article.section} source={clickSource}>\n                <cssfxUnderline.SweepOut hoverBGColor='blue' hoverColor='blue'>{props.author.name}</cssfxUnderline.SweepOut>\n              </StyledLink>\n            </x.h5>\n            <ErrorBoundary isConnected={props.isConnected}>\n              <AuthorArticles articles={props.authorArticles.filter(filterArticle => filterArticle.contentKey !== article.contentKey).slice(0, 4)} visitorId={props.visitorId} sessionId={props.sessionId} section={article.section} />\n            </ErrorBoundary>\n          </x.div>\n        </LazyLoadComponent>}\n      {/* Author Articles End */}\n      <x.div my={50} mx={-20} textAlign='center' display='flex' justifyContent='center' alignItems='center' flexDirection='column'>\n        <Ad isConnected={props.isConnected} adPath={props.adPath} collapseEmptyDiv slotId='Leaderboard-bot' targeting={{ Leaderboard: 'bot' }} mapping={Leaderboard} className='advert' {...FORMATS.leaderboard} />\n      </x.div>\n      {/* <LazyLoadComponent>\n        <x.div maxWidth={1220} w='100%' mx='auto' my={{ sm: '20px', lg: '50px' }}>\n          {process.env.RAZZLE_ENABLE_OOVVUU && props.oovvuu &&\n            <ErrorBoundary>\n              <OovvuuErrorBoundary>\n                <Oovvuu uuid={props.oovvuu} />\n              </OovvuuErrorBoundary>\n            </ErrorBoundary>}\n        </x.div>\n      </LazyLoadComponent> */}\n      {/* Outbrain Start */}\n      {process.env.RAZZLE_ENABLE_OUTBRAIN &&\n        <LazyLoadComponent threshold={250}>\n          <x.div w='100%' maxWidth={1220} mx='auto' display='grid' gridTemplateColumns={{ sm: '100%', lg: 'minmax(min-content, 905px) 275px' }} gap={{ lg: '40' }} mt={50} mb={50}>\n            <x.div order={{ sm: '2', lg: '1' }}>\n              {typeof window !== 'undefined' && (\n                <ErrorBoundary>\n                  <Outbrain canonical={props.canonical} />\n                </ErrorBoundary>\n              )}\n            </x.div>\n            <x.aside className='divider-left' position='relative' order={{ sm: '1', lg: '2' }}>\n              <x.div position={{ sm: 'unset', lg: 'sticky' }} top={10}>\n                <ErrorBoundary>\n                  <MostReadWidget section={article.section ? (article.section.match('multimedia') ? 'news' : article.section.split('/')[0]) : 'news'} uuid={article.uuid} />\n                </ErrorBoundary>\n              </x.div>\n            </x.aside>\n          </x.div>\n        </LazyLoadComponent>}\n      {/* Outbrain End */}\n    </>\n  )\n}\nconst Offline = () => (\n  <div>\n    <h1>You are offline</h1>\n    <p>You are currently offline and we don't have the information available to show you this page. Once you go back online, we'll be able to get the data we need and show you this page.</p>\n  </div>\n)\n\nconst _Article = (props) => {\n  const [offline, setIsOffline] = useState(!props.isConnected)\n\n  if (offline === props.isConnected) {\n    setIsOffline(!props.isConnected)\n  }\n  // Handle fetching new articles on the client when the contentKey changes\n  useEffect(() => {\n    // Check that we don't already have the article\n    if (props.preloaded || !props.article || props.contentKey !== props.article.contentKey) {\n      // Don't refetch if a fetch is already in progress\n      if (props.preloaded || !props.isFetching && !props.ArticlePushContext && !props.previewArticle) {\n        props.fetchArticle(props.contentKey)\n      }\n    }\n    const path = `/${process.env.RAZZLE_DFP_CODE}${props.adPath || (props.location.pathname === '/' ? '/homepage' : props.location.pathname)}`\n    const descriptionUrl = `description_url=${encodeURIComponent(window.location.href)}`\n    const custParams = 'cust_params=title%3d{mediainfo.name}%26description%3d{mediainfo.description}%26keywords%3d{mediainfo.tags}'\n    window.oovvuuReplacementAdServerURL = `https://pubads.g.doubleclick.net/gampad/ads?iu=${path}&sz=640x480&${custParams}&ciu_szs=300x250&gdfp_req=1&ad_rule=1&ad_type=video&output=vmap&unviewed_position_start=1&env=vp&impl=s&correlator=&${descriptionUrl}&vpmute=1&plcmt=1`\n  }, [props.contentKey, offline])\n\n  if (props.ArticlePushContext) {\n    props.setPreviewArticle(props.contentKey)\n  }\n  // SSR needs the signal to initially fetch the article\n  if (!props.article && !props.isFetching && !props.hasError && !props.ArticlePushContext) {\n    props.fetchArticle(props.contentKey)\n    return <Skeleton />\n  }\n\n  if (props.checkCanonical && !props.ArticlePushContext && !props.previewArticle) {\n    if (props.canonical !== props.location.pathname) {\n      return <Redirect to={{ pathname: props.canonical, state: { modified: props.modified } }} />\n    }\n    props.articleUrlVerified()\n  }\n  if (props.hasError && props.is404) {\n    return (\n      <Wrapper {...props}>\n        <Ad isConnected={props.isConnected} adPath={props.adPath} slotId='interstitial' targeting={{ interstitial: 'interstitial' }} collapseEmptyDiv className='advert' anchor='interstitial' mapping={MAPPINGS.Interstitial} {...FORMATS.interstitial} />\n        <Ad isConnected={props.isConnected} adPath={props.adPath} collapseEmptyDiv slotId='leaderboard-top' targeting={{ Leaderboard: 'top' }} mapping={Leaderboard} className='advert' {...FORMATS.leaderboardtop} />\n        <ErrorBoundary message='Not Found'>\n          <NotFound />\n        </ErrorBoundary>\n        <Ad isConnected={props.isConnected} adPath={props.adPath} collapseEmptyDiv slotId='Leaderboard-bot' targeting={{ Leaderboard: 'bot' }} mapping={Leaderboard} className='advert' {...FORMATS.leaderboard} />\n      </Wrapper>\n    )\n  }\n  return (\n    <Wrapper {...props}>\n      {props.hasError\n        ? (props.isConnected\n            ? <Error error={props.error} />\n            : <Offline />)\n        : props.hasFetched\n          ? <RenderArticle {...props} canonical={(props.article && props.article.canonicalUri) ? props.article.canonicalUri : props.location.pathname} />\n          : <Skeleton />}\n    </Wrapper>\n  )\n}\n\nconst mapStateToProps = (state) => ({ ...state.article, ...state.app, ...{ visitorId: getVisitorId(state), sessionId: getSessionId(state) } })\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n  fetchArticle,\n  articleUrlVerified,\n  setPreviewArticle,\n  setProcessedArticle,\n  oovvuuArticleView,\n  submitCompetition\n}, dispatch)\n\nexport const ConnectedArticle = connect(mapStateToProps, mapDispatchToProps)(_Article)\nexport default ConnectedArticle\n// defaultArticle.whyDidYouRender = true\n","import React, { useEffect } from 'react'\nimport { x } from '@xstyled/styled-components'\nimport { useLocation } from 'react-router-dom'\n\nconst MembranaInArticle = () => {\n  const location = useLocation()\n  useEffect(() => {\n    if (typeof window !== 'undefined') {\n      window.yieldMasterCmd = window.yieldMasterCmd || []\n      window.yieldMasterCmd.push(function () {\n        window.yieldMaster.init({\n          pageVersionAutodetect: true\n        })\n      })\n    }\n  }, [location.path])\n  return (\n    <x.div w='100%' maxWidth={1220} mx='auto' mt={20} mb={20} zIndex={5}>\n      <x.div className='MIL_VIDEO' />\n    </x.div>\n  )\n}\n\nexport default MembranaInArticle\n","import React from 'react'\nimport styled, { x, system } from '@xstyled/styled-components'\nimport Link from './ui/Link'\nimport Image from './ui/Image'\nimport cssfxUnderline from './ui/cssfxUnderline'\n\nimport NoImage from '../../../assets/images/general/no-profile.png'\nimport aFB from '../../../assets/images/social-media/facebook-author.svg'\n// import aT from '../../../assets/images/social-media/twitter-author.svg'\nimport aLI from '../../../assets/images/social-media/linkedin-author.svg'\nimport aI from '../../../assets/images/social-media/instagram-author.svg'\n\nexport const Skeleton = (props) => {\n  return (\n    <x.div borderWidth='1px 0' borderStyle='solid' borderColor='divider' py={20} display='flex' animation='pulse'>\n      <x.div w={{ sm: '50px', lg: '127px' }} h={{ sm: '50px', lg: '127px' }} bg='#F0F0F0' borderRadius='100%' />\n      <x.div ml={20}>\n        {props.article && props.article.author \n        ?\n          <>\n            <x.p text='meta'>Written by</x.p>\n            <x.span display='block' key={props.article.author} text='large'>{props.article.author}</x.span>\n          </>\n        :\n          <>\n            <x.div h={3} mb={5} bg='#F0F0F0'></x.div>\n            <x.div h={7} mb={5} bg='#F0F0F0'></x.div>\n          </>\n        }\n        <x.div h={5} mb={5} bg='#F0F0F0'></x.div>\n        <x.div h={5} mb={5} bg='#F0F0F0'></x.div>\n        <x.div w='33%' h={5} bg='#F0F0F0'></x.div>\n        <x.div display='flex' spaceX={10} mt={10} className='author-follow'>\n          <x.div w={10} h={10} bg='#F0F0F0' borderRadius='full' />\n          <x.div w={10} h={10} bg='#F0F0F0' borderRadius='full' />\n          <x.div w={10} h={10} bg='#F0F0F0' borderRadius='full' />\n          <x.div w={10} h={10} bg='#F0F0F0' borderRadius='full' />\n        </x.div>\n      </x.div>\n    </x.div>\n  )\n}\n\nexport const AuthorWidget = ({ author, authors, visitorId, sessionId, section }) => {\n  const clickSource = 'Author Widget'\n  return (\n    <x.div display={{ sm: 'unset', lg: 'grid' }} gridTemplateColumns={{ sm: 'unset', lg: '127px auto' }}>\n      <x.div display={{ sm: 'none', lg: 'block' }} visibility={{ sm: 'hidden', lg: 'visible' }}>\n        {authors && authors.length > 1\n          ? (<Image image='' width={127} shape='square' noImage={NoImage} borderRadius='100%' w={{ sm: '50px', lg: '127px' }} h={{ sm: '50px', lg: '127px' }} />)\n          : author\n            ? (<Image image={{ url: ((author.imageUrl && !author.imageUrl.match('undefined')) ? author.imageUrl : '') }} width={127} shape='square' noImage={NoImage} borderRadius='100%' w={{ sm: '50px', lg: '127px' }} h={{ sm: '50px', lg: '127px' }} />)\n            : ''}\n      </x.div>\n      <x.div ml={20} display={{ sm: 'none', lg: 'block' }} visibility={{ sm: 'hidden', lg: 'visible' }}>\n        <x.p text='meta'>Written by</x.p>\n        <x.p text='large' mt={5} mb={10} fontFamily='\"PT Serif\", serif'>\n          {authors && authors.map(author => {\n            if (author.hasAuthorPage && author.slug) {\n              return (\n                <Link key={author.name} to={'/' + author.slug} color='blue' visitorId={visitorId} sessionId={sessionId} section={section} source={clickSource} className='author' dataAuthor={author.name} >\n                  <cssfxUnderline.SweepOut hoverBGColor='blue' hoverColor='blue'>{author.name}</cssfxUnderline.SweepOut>\n                </Link>\n              )\n            }\n            return (<x.span display='block' key={author.name} text='large'>{author.name}</x.span>)\n          })}\n        </x.p>\n        {authors && authors.length === 1 && author && author.relatedLinks &&\n          <>\n            <x.p text='small'>{author.descriptionShort}</x.p>\n            <x.div display='flex' spaceX={10} mt={20} className='author-follow'>\n              {author.relatedLinks.facebook &&\n                <x.a target='_blank' rel='noopener noreferrer nofollow' href={author.relatedLinks.facebook}><x.img src={aFB} alt={`Follow ${author.name} on Facebook`} /></x.a>}\n              {/* {author.relatedLinks.twitter &&\n              <x.a target='_blank' rel='noopener noreferrer nofollow' href={author.relatedLinks.twitter}><x.img src={aT} alt={`Follow ${author.name} on Twitter`} /></x.a>\n            } */}\n              {author.relatedLinks.linkedin &&\n                <x.a target='_blank' rel='noopener noreferrer nofollow' href={author.relatedLinks.linkedin}><x.img src={aLI} alt={`Connect with ${author.name} on LinkedIn`} /></x.a>}\n              {author.relatedLinks.instagram &&\n                <x.a target='_blank' rel='noopener noreferrer nofollow' href={author.relatedLinks.instagram}><x.img src={aI} alt={`Follow ${author.name} on Instagram`} /></x.a>}\n            </x.div>\n          </>}\n      </x.div>\n      <x.div display={{ sm: 'block', lg: 'none' }} visibility={{ sm: 'visible', lg: 'hidden' }}>\n        <x.p text='xsmall' color='meta'>By {authors && authors.map(author => {\n          if (author.hasAuthorPage && author.slug) {\n            return (\n              <Link key={author.name} to={'/' + author.slug} color='blue' pr={{ sm: 10 }} visitorId={visitorId} sessionId={sessionId} section={section} source={clickSource} className='author' dataAuthor={author.name}>\n                <cssfxUnderline.SweepOut hoverBGColor='blue' hoverColor='blue'>{author.name}</cssfxUnderline.SweepOut>\n              </Link>\n            )\n          }\n          return (<x.span display='inline' key={author.name}>{author.name}</x.span>)\n        })}\n        </x.p>\n      </x.div>\n    </x.div>\n  )\n}\n\nexport default AuthorWidget\n","import React from 'react'\nimport { x } from '@xstyled/styled-components'\nimport StyledLink from '../components/ui/Link'\nimport { getSectionLabel } from 'ion-sections'\n\nexport const BreadCrumb = ({ className, path, section, visitorId, sessionId }) => {\n  const pathArray = path.replace(/^\\/+/, '').split('/')\n  const clickSource = 'BreadCrumb'\n  return (\n    <x.nav className={className} aria-label=\"Breadcrumb\" mb={10} mt={20}>\n      <x.ul display=\"flex\" spaceX={10}>\n        {pathArray.reduce((acc, child, index) => {\n          acc.push(\n            <x.li key={child + index}>\n              <StyledLink to={'/' + pathArray.slice(0, index + 1).join('/')} text=\"breadcrumb\" backgroundColor={{ _: 'orangeAlpha', hover: 'rgba(237,92,53,0.2)' }} p='2px 8px' borderRadius='100' visitorId={visitorId} sessionId={sessionId} section={section} source={clickSource}>{getSectionLabel(pathArray.slice(0, index + 1).join('/'))}</StyledLink>\n            </x.li>\n          )\n          return acc\n        }, [])}\n      </x.ul>\n    </x.nav>\n  )\n}\n\nexport default BreadCrumb\n","import styled, { css } from '@xstyled/styled-components'\nimport { system, th } from '@xstyled/system'\n\nexport const Wrapper = styled.div`\n  overflow: hidden;\n  position: relative;\n  ${system}\n`\n\nexport const Carousel = styled.ul(\n  ({ slidesToShow, translateX }) => css`\n    list-style: none;\n    margin: 0;\n    padding: 0;\n    display: flex;\n    width: ${100 / slidesToShow}%;\n    height: 100%;\n    transition: transform 0.5s ease-out;\n    transform: translateX(${translateX}%);\n  `\n)\n\nexport const Slide = styled.li`\n  width: 100%;\n  height: 100%;\n  flex: 0 0 auto;\n  ${system}\n`\n\nexport const Pagination = styled.div`\n  display: flex;\n  position: relative;\n  z-index: 10;\n  bottom: 0;\n  width: 100%;\n  gap: 20px;\n  padding-bottom: 5px;\n  @media screen and (max-width:1023px) {\n    gap: 10px;\n    padding-bottom: 10px;\n  }\n  img {\n    width: 144px;\n    display: block;\n  }\n`\n\nexport const Bullet = styled.div(\n  ({ active }) => css`\n    height: 10;\n    width: 10;\n    border-radius: 50%;\n    cursor: pointer;\n    margin: 0 xxs;\n    ${active ? th('carousels.navigation.bullet.active') : th('carousels.navigation.bullet.default')}\n    ${system}\n  `\n)\n\nconst navigationStyles = css`\n  position: absolute;\n  height: 20px;\n  top: 0;\n  display: flex;\n  align-items: center;\n  cursor: ${props => (props.disabled ? 'not-allowed' : 'pointer')};\n  opacity: ${props => (props.disabled ? 0.25 : 1)};\n  pointer-events: ${props => (props.disabled ? 'none' : null)};\n  z-index: 20;\n`\n\nexport const Next = styled.div`\n  ${navigationStyles}\n  right: 0;\n  top: 4px;\n  width: 20px;\n  height: 20px;\n`\n\nexport const Prev = styled.div`\n  ${navigationStyles}\n  right: 28px;\n  top: 4px;\n  width: 20px;\n  height: 20px;\n`","import React, { cloneElement, forwardRef, useEffect, useState, useRef } from 'react'\nimport { bool, func, node, number, string } from 'prop-types'\nimport { useDown } from '@xstyled/styled-components'\nimport { useSwipeable } from 'react-swipeable'\n\nimport * as S from './Carousel.style'\n\nexport const useInterval = (callback, delay) => {\n  const savedCallback = useRef()\n\n  // Remember the latest callback.\n  useEffect(() => {\n    savedCallback.current = callback\n  }, [callback])\n\n  // Set up the interval.\n  useEffect(() => {\n    function tick() {\n      savedCallback.current()\n    }\n    if (delay !== null) {\n      let id = setInterval(tick, delay)\n      return () => clearInterval(id)\n    }\n  }, [delay])\n}\n\nexport const Carousel = forwardRef((props, ref) => {\n  const {\n    children,\n    dataTestId,\n    goNext,\n    goPrev,\n    id = 'carousel',\n    loop,\n    nextButton,\n    numberOfSlides,\n    pageIdx,\n    prevButton,\n    renderPaginationItem,\n    setNumberOfSlides,\n    setPageIdx,\n    slidesToShow,\n    slidesToSwipe,\n    swipeHandlers,\n    ...rest\n  } = props\n\n  const translateX = -(pageIdx * 100)\n\n  useEffect(() => {\n    // TODO: Allow for immutable objects - remove when no longer needed\n    setNumberOfSlides(children.length || children.size)\n  }, [children, setNumberOfSlides])\n\n  // Get array with indexes of visible slides so we know which ones are (aria-)hidden\n  const visibleSlides = Array(slidesToShow)\n    .fill()\n    .map((_, idx) => pageIdx + idx)\n\n  return (\n    <>\n      {prevButton && (\n        <S.Prev\n          aria-controls={id}\n          aria-label=\"Previous slide\"\n          className=\"carousel-prev\"\n          data-testid={dataTestId && `${dataTestId}-button-prev`}\n          disabled={!loop && pageIdx === 0}\n          onClick={goPrev}\n        >\n          {prevButton}\n        </S.Prev>\n      )}\n      {nextButton && (\n        <S.Next\n          aria-controls={id}\n          aria-label=\"Next slide\"\n          className=\"carousel-next\"\n          data-testid={dataTestId && `${dataTestId}-button-next`}\n          disabled={!loop && pageIdx >= numberOfSlides - slidesToSwipe}\n          onClick={goNext}\n        >\n          {nextButton}\n        </S.Next>\n      )}\n      <S.Wrapper\n        {...rest}\n        aria-live=\"off\"\n        aria-roledescription=\"carousel\"\n        id={id}\n        ref={ref}\n        role=\"region\"\n      >\n        <S.Carousel {...swipeHandlers} slidesToShow={slidesToShow} translateX={translateX}>\n          {children.map((child, idx) =>\n            cloneElement(child, {\n              key: idx,\n              role: 'group',\n              'aria-hidden': !visibleSlides.includes(idx),\n              'aria-readonly': true,\n              'aria-roledescription': 'slide',\n              'aria-label': `${idx + 1} of ${numberOfSlides}`\n            })\n          )}\n        </S.Carousel>\n        <S.Pagination\n          className=\"carousel-pagination\"\n          data-testid={dataTestId && `${dataTestId}-pagination`}\n        >\n          {children.map((_, idx) => {\n            const props = {\n              idx,\n              'aria-controls': id,\n              'aria-label': `${idx + 1} of ${numberOfSlides}`,\n              'aria-selected': idx === pageIdx,\n              onClick: () => setPageIdx(idx),\n              pageIdx\n            }\n            if (renderPaginationItem) {\n              return renderPaginationItem(props)\n            }\n            // eslint-disable-next-line react/no-array-index-key\n            return <S.Bullet active={idx === pageIdx} key={idx} {...props} />\n          })}\n        </S.Pagination>\n      </S.Wrapper>\n    </>\n  )\n})\n\nCarousel.Slide = S.Slide\nCarousel.Bullet = S.Bullet\nCarousel.displayName = 'Carousel'\n\nexport const useCarousel = (props = {}) => {\n  let {\n    autoplay,\n    duration = 5000,\n    loop,\n    slidesToShow = 1,\n    slidesToSwipe = slidesToShow,\n    mobileSlidesToShow = 1,\n    mobileSlidesToSwipe = mobileSlidesToShow,\n    onSelectSlide,\n    ...rest\n  } = props\n\n  // Set slidesToShow to 1 for mobile\n  const downMd = useDown('md')\n  if (downMd) {\n    slidesToShow = mobileSlidesToShow\n    slidesToSwipe = mobileSlidesToSwipe\n  }\n\n  const [numberOfSlides, setNumberOfSlides] = useState(0)\n  const [pageIdx, setPageIdx] = useState(0)\n\n  const lastSlideIdx = numberOfSlides ? numberOfSlides - slidesToShow : 0\n\n  // Add autoplay\n  useInterval(\n    () => {\n      if (autoplay) {\n        goNext()\n      }\n    },\n    autoplay ? duration : null\n  )\n\n  const goNext = () => {\n    const nextPageIdx = Math.min(pageIdx + slidesToSwipe, lastSlideIdx)\n\n    if (pageIdx === lastSlideIdx && loop) {\n      setPageIdx(0)\n      if (onSelectSlide) {\n        onSelectSlide(0)\n      }\n    } else if (nextPageIdx <= lastSlideIdx) {\n      setPageIdx(nextPageIdx)\n      if (onSelectSlide) {\n        onSelectSlide(nextPageIdx)\n      }\n    }\n  }\n\n  const goPrev = () => {\n    const prevPageIdx = Math.max(pageIdx - slidesToSwipe, 0)\n\n    if (pageIdx === 0 && loop) {\n      setPageIdx(lastSlideIdx)\n      if (onSelectSlide) {\n        onSelectSlide(lastSlideIdx)\n      }\n    } else if (prevPageIdx >= 0) {\n      setPageIdx(prevPageIdx)\n      if (onSelectSlide) {\n        onSelectSlide(prevPageIdx)\n      }\n    }\n  }\n\n  const swipeHandlers  = useSwipeable({\n    onSwipedLeft: goNext,\n    onSwipedRight: goPrev\n  })\n\n  return {\n    goNext,\n    goPrev,\n    loop,\n    numberOfSlides,\n    pageIdx,\n    setNumberOfSlides,\n    setPageIdx,\n    slidesToShow,\n    slidesToSwipe,\n    swipeHandlers,\n    ...rest\n  }\n}\n\nCarousel.propTypes /* remove-proptypes */ = {\n  autoplay: bool,\n  children: node,\n  dataTestId: string,\n  duration: number,\n  goNext: func,\n  goPrev: func,\n  id: string,\n  loop: bool,\n  nextButton: node,\n  numberOfSlides: number,\n  pageIdx: number,\n  prevButton: node,\n  renderPaginationItem: func,\n  setNumberOfSlides: func,\n  setPageIdx: func,\n  slidesToShow: number,\n  slidesToSwipe: number\n}","import { Chrono } from 'react-chrono'\nimport { x } from '@xstyled/styled-components'\nconst Timeline = ({ mode, timeline }) => {\n  if (timeline) {\n    return (\n      <x.div w='100%' maxWidth='1500px' h='950px'>\n        <Chrono items={timeline} mode={mode} />\n      </x.div>\n    )\n  } else {\n    return null\n  }\n}\n\nexport default Timeline\n","export function getFormFields(formElements) {\n  var formElementsArray = [];\n  for (var i in formElements) {\n    var element = {};\n    element.name = formElements[i].name;\n    element.value = formElements[i].value;\n    formElementsArray.push(element);\n  }\n  return formElementsArray.filter(function (element) {\n    return element.name ? element.name.match('fields') !== 'null' : null;\n  });\n}\n\nexport function getAllFormFields(formElements) {\n  var formEntries = {};\n  for (var i = 0; i < formElements.length; i++) {\n    if (formElements[i].type === 'checkbox') {\n      if (!formEntries[formElements[i].name]) {\n        formEntries[formElements[i].name] = [];\n      }\n      if (formElements[i].checked) {\n        formEntries[formElements[i].name].push(formElements[i].value);\n      }\n    } else if (formElements[i].type === 'radio') {\n      if (formElements[i].checked) {\n        formEntries[formElements[i].name] = formElements[i].value;\n      }\n    } else {\n      formEntries[formElements[i].name] = formElements[i].value;\n    }\n  }\n  return formEntries;\n}\n\nfunction nodeScriptClone(node, src, callback) {\n  if (!src && node.src) {\n    return node;\n  }\n  if (src && !node.src) {\n    return node;\n  }\n  var script = document.createElement('script');\n  script.text = node.innerHTML;\n  for (var i = node.attributes.length - 1; i >= 0; i--) {\n    script.setAttribute(node.attributes[i].name, node.attributes[i].value);\n  }\n  if (callback) {\n    return callback(script);\n  }\n  return script;\n}\n\nexport function nodeScriptReplace(node, src, callback) {\n  if (!node) {\n    return;\n  }\n  if (node.tagName === 'SCRIPT') {\n    try {\n      node.parentNode.replaceChild(nodeScriptClone(node, src, callback), node);\n    } catch (e) {\n      console.error(e.message);\n    }\n  } else {\n    var i = 0;\n    var children = node.childNodes;\n    while (i < children.length) {\n      nodeScriptReplace(children[i++], src, callback);\n    }\n  }\n}\n\nexport function executeScripts(parentNode) {\n  var scripts = 0;\n  if (parentNode) {\n    nodeScriptReplace(parentNode, true, function (node) {\n      scripts++;\n      node.async = false;\n      node.onload = function () {\n        scripts--;\n        if (scripts === 0) {\n          // All scripts have been loaded\n          nodeScriptReplace(parentNode, false);\n        }\n      };\n      return node;\n    });\n  }\n  if (scripts === 0) {\n    // No loadable scripts, execute any javascript code\n    nodeScriptReplace(parentNode, false);\n  }\n}","module.exports = __webpack_public_path__ + \"static/media/instagram-author.beadaf36.svg\";","module.exports = __webpack_public_path__ + \"static/media/gallery-prev.5b4c06a7.svg\";","module.exports = __webpack_public_path__ + \"static/media/gallery-next.8ada7682.svg\";","module.exports = __webpack_public_path__ + \"static/media/linkedin-author.819099ae.svg\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/facebook-author.bbb12ffb.svg\";"],"sourceRoot":""}