{"version":3,"sources":["webpack:///./src/components/AccordionElements/AccordionMarkdown.js","webpack:///./src/components/AccordionElements/AccordionImage.js","webpack:///./src/components/AccordionElements/AccordionQuote.js","webpack:///./src/components/AccordionElements/AccordionTable.js","webpack:///./src/components/AccordionElements/helpers.js","webpack:///./src/modules/Accordion/Accordion.js","webpack:///./src/components/Image/ImgElement.js","webpack:///./src/components/Image/Image.js","webpack:///./src/components/Markdown/renderers/HeaderRenderer/HeaderRenderer.js","webpack:///./src/components/Markdown/renderers/LinkRenderer/LinkRenderer.js","webpack:///./src/components/Markdown/renderers/ParagraphRenderer/ParagraphRenderer.js","webpack:///./src/components/Markdown/renderers/ImageRenderer/ImageRenderer.js","webpack:///./src/components/List/List.js","webpack:///./src/components/Markdown/renderers/ListRenderer/ListRenderer.js","webpack:///./src/components/Markdown/markdown-styles.js","webpack:///./src/components/Markdown/renderers/TextRenderer/TextRenderer.js","webpack:///./src/components/Markdown/Markdown.js","webpack:///./src/components/CtaLink/CtaLink.js","webpack:///./src/components/Image/imgix-support.js","webpack:///./src/components/Image/helpers.js","webpack:///./src/utils/hyphenation.js","webpack:///./src/components/HyphenatedText/HyphenatedText.js","webpack:///./src/components/AccordionElements/AccordionContainer.js","webpack:///./node_modules/hyphen/index.js","webpack:///./node_modules/hyphen/patterns/da.js","webpack:///./node_modules/hyphen/hyphen.js","webpack:///./src/icons/ArrowDownIcon.js","webpack:///./node_modules/@charlietango/use-client-hydrated/lib/useClientHydrated.esm.js","webpack:///./src/components/AccordionElements/AccordionItemTitle.js","webpack:///./src/components/AccordionElements/AccordionItemBody.js","webpack:///./src/components/AccordionElements/AccordionItem.js","webpack:///./node_modules/@charlietango/use-id/lib/useId.esm.js","webpack:///./src/components/Blockquote/Blockquote.js","webpack:///./src/components/Table/Table.js"],"names":["AccordionMarkdown","props","React","Grid","Markdown","CaptionContainer","styled","div","withConfig","displayName","componentId","rem","CaptionContainerItem","p","getFontSize","getLineHeight","invert","AccordionImage","_ref","image","caption","credit","Image","AccordionQuoteWrapper","AccordionQuote","Blockquote","AccordionTable","Table","keyGen","consecutive","AccordionItemChild","theme","textInvert","text","Wrapper","mediaQuery","md","_templateObject","_taggedTemplateLiteral","AccordionOuter","boxed","area","concat","bgColor","lg","_templateObject2","_ref2","hd","_templateObject3","_ref3","_ref4","AccordionInner","_ref5","borderRadius","body","color","white","accent","sm","_templateObject4","_ref6","_ref7","TopFakeBorder","_ref8","visible","mediaOnly","xs","_templateObject5","BottomFakeBorder","_ref9","_templateObject6","DescriptionText","AccordionText","_ref10","StyledHeading","Heading","attrs","level","_ref11","primary","_ref12","Accordion","_ref14","items","title","anchor","uniqueId","useId","WrapperEl","Ribbon","InnerWrapperEl","IdProvider","id","HyphenatedText","minWordLength","source","AccordionContainer","initial","undefined","length","map","item","index","AccordionItem","key","cta","link","noMargin","panels","forEach","type","push","markdown","Object","assign","quote","table","renderAccordionItemChildren","entities","texts","_ref13","cite","join","generateStructuredData","defaultProps","getObjectPosition","alignX","alignY","Img","img","blurred","show","hide","zoomOnHover","ImgElement","src","alt","contain","cover","onLoad","_objectWithoutProperties","_excluded","_useState2","_slicedToArray","useState","renderAsDiv","setRenderAsDiv","useEffect","objectFitSupport","createElement","as","style","backgroundImage","backgroundSize","backgroundPosition","objectPosition","objectFit","role","Container","fillContainer","aspect","_PureComponent","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","args","Array","_key","call","apply","state","ready","animatedIn","elementWidth","elementHeight","timeout","handleLoad","fadeIn","setState","setTimeout","handleTransitionEnd","handleError","handleMeasure","contentRect","Math","ceil","bounds","width","height","onResize","value","maxAspectRatio","aspectRatio","min","_objectSpread","fit","crop","focalPoint","auto","x","y","imgixParams","imgixProps","processImage","imageDimensionMap","w","h","dpr","q","blur","this","clearTimeout","_this2","_this$props","disableBlur","className","_this$state","generateImgixProps","currentSrc","generateSource","generateAspectRatio","Measure","measureRef","ref","generateBlurredSource","aria-hidden","onError","onTransitionEnd","PureComponent","withImgix","SectionHeader","HeaderRenderer","children","AreaConsumer","tag","marginBottom","CtaLinkWrapper","MarkdownCtaLink","CtaLink","MarkdownNormalLink","Link","underline","LinkRenderer","isCtaLink","rest","meta","href","target","isExternalLink","hrefSplit","split","_target","splice","getMetaInfoFromHref","linkProps","StyledParagraph","Paragraph","isImageRendere","isLinkRendere","ParagraphRenderer","childs","toArray","reduce","acc","val","isArray","child","every","maxWidth","noBreaks","span","imageSizes","default","main","ImageRenderer","_React$PureComponent","_src$split2","imgSrc","attr","qs","parse","parseInt","noSizes","ratio","sizes","Base","ul","bodyFontSize","bodyFontWeight","UnorderedList","name","yellow","OrderedList","withComponent","List","ordered","Comp","ArticleList","ListRenderer","supportsStringRender","window","document","documentMode","test","navigator","userAgent","slice","TextRenderer","RENDERERS","ReactMarkdown","renderers","heading","paragraph","list","normalStyle","css","fullWidthStyle","StyledMarkdown","clearMargin","fullWidth","ThemeContext","disallowedTypes","BaseButton","size","secondaryFontFamily","Label","durations","fast","align","_React$Component","renderInner","hovering","label","_this$props2","normalizedWidth","imageQuality","constructUrl","params","preparedParams","keys","filter","k","encodeURIComponent","Component","InjectedComponent","ConfigContext","Consumer","config","imgixDomain","options","includes","global","devicePixelRatio","supports","hyphenate","createHyphenation","patterns","async","html","useMemo","Fragment","AccordionContext","handleToggle","selected","currentHash","_toConsumableArray","hash","context","location","hashToId","hasId","prevProps","Provider","aria-multiselectable","contextType","RouteContext","find","substring","module","exports","exceptions","_global","self","cloneObj","keyOrDefault","object","defaultValue","exceptionsFromDefinition","patternsDefinition","hyphenChar","exception","replace","NUMS","createIterator","str","i","createCharIterator","hyphenateWord","patternTree","debug","wordSlice","letter","treePtr","nextPtr","patternLevels","slicer","nextSlice","isFirstCharacter","charIterator","nextLetter","isLastLetter","levels","loweredText","toLocaleLowerCase","patternEntityIndex","createStringSlicer","max","hyphenatedText","leveledText","debugHyphenatedText","charAt","console","log","asyncMode","caches","pattern","maxPatternLength","nextPattern","symb","ptr","weights","patternLength","prevSymbIsNumber","nextSymbol","indexOf","pop","createPatternTree","skipHTML","cacheKey","Error","localDebug","localHyphenChar","localMinWordLength","cache","isAsync","textChunk","newText","reader","shouldHyphenate","isSpacelike","RegExp","prototype","bind","nextCharIndex","SHOULD_HYPHENATE","SHOULD_SKIP","STATE_READ_TAG","STATE_READ_WORD","STATE_RETURN_UNTOUCHED","STATE_RETURN_WORD","nextTextChunk","chunkReader","nextChar","charIsLetter","charIsAngleOpen","charIsAngleClose","charIsHyphen","createTextChunkReader","readNextTextChunk","shouldNextHyphenate","processedN","hyphenatedN","allTime","Date","workTime","resolveNewText","nextTick","loopStart","Promise","resolve","start","ArrowDownIcon","viewBox","cursor","fill","strokeMiterlimit","d","strokeLinecap","strokeLinejoin","strokeWidth","stroke","clientHydrated","AccordionTitle","IconContainer","expanded","slow","OutLine","ShadowBackdrop","TitleWrapper","h4","isArticle","showShadow","effects","cardShadow","AccordionItemTitle","handlePreventDoubleClick","event","detail","preventDefault","handleClick","onToggle","handleKeyPress","evt","charCode","titleId","controlsId","isResting","iconStyle","titleStyle","hoverShadow","iconStyling","titleStyling","activeTheme","paddingLeft","MediaQuery","query","breakpoints","defaultMatches","isDesktop","aria-expanded","aria-selected","aria-controls","onClick","onMouseDown","tabIndex","onKeyPress","isLast","animated","isMenu","accordionBodyStyle","FooterLink","AccordionItemBody","labeledById","itemBodyStyle","itemBodyStyling","paddingRight","aria-labelledby","Transition","native","unique","presets","stiff","onStart","onRest","onResting","from","opacity","transform","enter","leave","interpolate","nextUuid","isOnFooter","grey","uuid","handleAnimating","handleResting","titleInnerStyle","animateTitle","prefix","idPrefix","bodyId","disabled","Context","fallbackId","localGenerateId","toString","generateId","current","_useState","setId","BlockquoteWrapper","blockquote","QuoteParagraph","isAccordionContent","Cite","BottomnSpacer","TableContainer","borderPositiveInvert","borderPositive","TableTitle","rows","getColumnTag","rowKey","colKey","ColTag","row","col"],"mappings":"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3R,GAsEnCF,O,oBCvGf8R,EAAOC,QAAU,EAAQ,M,oBCAzB,UAGI,EAAO,QAAW,0BAAP,EAUN,WA8qCP,MAAO,CACLvB,SA7nCa,CACb,OACA,QACA,QACA,SACA,QACA,SACA,SACA,WACA,QACA,UACA,SACA,OACA,QACA,OACA,QACA,QACA,QACA,QACA,MACA,SACA,OACA,MACA,OACA,SACA,OACA,QACA,OACA,QACA,OACA,QACA,QACA,QACA,OACA,MACA,QACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,QACA,OACA,QACA,OACA,OACA,QACA,SACA,SACA,OACA,OACA,MACA,OACA,OACA,OACA,OACA,QACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,QACA,QACA,QACA,QACA,OACA,OACA,SACA,OACA,QACA,OACA,OACA,OACA,OACA,MACA,MACA,QACA,MACA,MACA,OACA,QACA,QACA,QACA,QACA,MACA,QACA,MACA,OACA,MACA,QACA,QACA,QACA,OACA,MACA,OACA,OACA,OACA,MACA,MACA,UACA,MACA,MACA,OACA,OACA,MACA,QACA,MACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,OACA,MACA,OACA,MACA,OACA,UACA,UACA,SACA,QACA,MACA,MACA,MACA,MACA,OACA,OACA,MACA,MACA,MACA,MACA,OACA,MACA,OACA,OACA,MACA,SACA,UACA,QACA,QACA,QACA,OACA,QACA,QACA,QACA,OACA,OACA,QACA,QACA,OACA,OACA,OACA,OACA,OACA,MACA,OACA,MACA,MACA,OACA,OACA,OACA,OACA,OACA,QACA,OACA,OACA,OACA,OACA,OACA,OACA,QACA,QACA,SACA,OACA,QACA,QACA,SACA,SACA,MACA,OACA,OACA,OACA,OACA,MACA,OACA,OACA,OACA,SACA,OACA,OACA,OACA,QACA,OACA,QACA,SACA,QACA,OACA,OACA,OACA,QACA,QACA,QACA,QACA,OACA,QACA,QACA,OACA,QACA,OACA,QACA,OACA,OACA,QACA,UACA,OACA,QACA,QACA,OACA,OACA,QACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,QACA,QACA,QACA,OACA,QACA,SACA,QACA,OACA,QACA,OACA,QACA,QACA,OACA,QACA,QACA,QACA,OACA,OACA,OACA,SACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,UACA,OACA,MACA,MACA,QACA,QACA,MACA,MACA,MACA,OACA,QACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,SACA,QACA,MACA,OACA,MACA,OACA,OACA,OACA,OACA,QACA,MACA,MACA,MACA,MACA,QACA,MACA,MACA,MACA,WACA,SACA,OACA,MACA,MACA,MACA,MACA,OACA,QACA,MACA,MACA,MACA,MACA,MACA,QACA,OACA,MACA,MACA,OACA,WACA,OACA,QACA,QACA,QACA,OACA,WACA,QACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,MACA,MACA,OACA,OACA,QACA,OACA,OACA,OACA,QACA,OACA,QACA,QACA,OACA,OACA,QACA,OACA,MACA,MACA,QACA,MACA,OACA,QACA,OACA,OACA,OACA,QACA,OACA,OACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,QACA,QACA,QACA,QACA,OACA,OACA,QACA,QACA,QACA,QACA,OACA,SACA,OACA,OACA,OACA,OACA,QACA,OACA,QACA,OACA,QACA,SACA,OACA,OACA,OACA,OACA,OACA,OACA,QACA,QACA,OACA,OACA,QACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,SACA,QACA,QACA,OACA,OACA,OACA,OACA,OACA,SACA,OACA,OACA,MACA,OACA,OACA,OACA,OACA,UACA,OACA,SACA,SACA,MACA,OACA,OACA,UACA,WACA,MACA,OACA,OACA,OACA,OACA,OACA,MACA,QACA,QACA,QACA,SACA,MACA,OACA,QACA,MACA,QACA,OACA,OACA,OACA,OACA,OACA,QACA,QACA,OACA,OACA,OACA,QACA,OACA,OACA,OACA,QACA,QACA,OACA,MACA,QACA,SACA,QACA,QACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,QACA,QACA,SACA,OACA,OACA,MACA,YACA,OACA,QACA,OACA,OACA,QACA,QACA,OACA,OACA,OACA,OACA,MACA,QACA,SACA,QACA,MACA,QACA,SACA,SACA,OACA,MACA,OACA,OACA,OACA,MACA,OACA,QACA,OACA,QACA,OACA,OACA,OACA,MACA,MACA,QACA,QACA,OACA,OACA,QACA,OACA,UACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,QACA,MACA,MACA,MACA,MACA,OACA,QACA,OACA,SACA,MACA,MACA,MACA,QACA,MACA,MACA,QACA,OACA,QACA,OACA,OACA,OACA,OACA,OACA,MACA,QACA,QACA,OACA,OACA,QACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,QACA,MACA,MACA,OACA,OACA,MACA,MACA,MACA,OACA,QACA,QACA,QACA,MACA,OACA,QACA,SACA,WACA,OACA,QACA,QACA,QACA,QACA,MACA,OACA,OACA,MACA,OACA,OACA,QACA,OACA,OACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,QACA,MACA,MACA,MACA,OACA,QACA,QACA,QACA,QACA,OACA,SACA,OACA,OACA,UACA,OACA,OACA,SACA,QACA,OACA,OACA,OACA,MACA,MACA,MACA,OACA,QACA,MACA,QACA,QACA,OACA,QACA,MACA,OACA,QACA,QACA,QACA,QACA,QACA,MACA,OACA,SACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,QACA,OACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SACA,QACA,OACA,UACA,QACA,SACA,OACA,OACA,QACA,QACA,OACA,OACA,MACA,OACA,OACA,OACA,MACA,QACA,QACA,MACA,OACA,OACA,OACA,QACA,OACA,OACA,MACA,OACA,OACA,QACA,QACA,QACA,QACA,MACA,MACA,OACA,SACA,OACA,QACA,OACA,QACA,OACA,OACA,OACA,OACA,MACA,MACA,OACA,QACA,MACA,OACA,MACA,OACA,QACA,QACA,MACA,SACA,OACA,QACA,QACA,OACA,QACA,SACA,QACA,SACA,QACA,QACA,SACA,QACA,MACA,OACA,MACA,OACA,QACA,QACA,QACA,UACA,WACA,QACA,QACA,OACA,OACA,OACA,QACA,OACA,MACA,OACA,OACA,MACA,OACA,OACA,OACA,MACA,MACA,QACA,SACA,OACA,OACA,QACA,SACA,OACA,OACA,QACA,OACA,OACA,QACA,OACA,SACA,OACA,OACA,SACA,SACA,QACA,QACA,QACA,OACA,OACA,OACA,SACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,QACA,OACA,OACA,OACA,OACA,MACA,OACA,MACA,OACA,QACA,QACA,MACA,QACA,OACA,QACA,OACA,QACA,OACA,OACA,OACA,OACA,OACA,QACA,OACA,OACA,QACA,OACA,OACA,OACA,OACA,OACA,OACA,MACA,OACA,QACA,QACA,OACA,OACA,QACA,QACA,QACA,QACA,OACA,QACA,MACA,QACA,QACA,QACA,OACA,UACA,OACA,OACA,OACA,SACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SACA,QACA,QACA,SACA,QACA,QACA,OACA,OACA,QACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,QACA,OACA,OACA,SACA,QACA,MACA,SACA,QACA,OACA,QACA,OACA,QACA,QACA,OACA,OACA,MACA,WACA,OACA,QACA,QACA,OACA,OACA,SACA,MACA,MACA,QACA,QACA,QACA,QACA,OACA,OACA,QACA,QACA,OACA,MACA,OACA,QACA,QACA,OACA,QACA,OACA,QACA,OACA,OACA,OACA,MACA,OACA,OACA,OACA,OACA,MACA,QACA,SACA,OACA,OACA,MACA,OACA,QACA,QACA,OACA,OACA,OACA,OACA,OACA,MACA,OACA,OACA,SACA,QACA,OACA,OACA,OACA,QACA,OACA,OACA,OACA,OACA,OACA,OACA,QACA,OACA,OACA,QACA,OACA,SACA,SACA,OACA,OACA,MACA,UACA,OACA,MACA,MACA,MACA,OACA,OACA,OACA,MACA,QACA,MACA,OACA,OACA,OACA,MACA,MACA,MACA,OACA,MACA,OACA,OACA,QACA,OACA,QACA,OACA,OACA,OACA,OACA,OACA,MACA,OACA,OACA,OACA,QACA,OACA,OACA,OACA,QACA,OACA,OACA,OACA,QACA,QACA,OACA,OACA,QACA,MACA,QACA,QACA,MACA,MACA,OACA,OACA,OACA,QACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,UACA,OACA,OACA,OACA,MACA,OACA,MACA,OACA,MACA,MACA,MACA,YACA,OACA,OACA,OACA,MACA,MACA,MACA,OACA,OACA,MACA,QACA,MACA,OACA,OACA,MACA,OACA,OACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,MACA,QACA,MACA,OACA,QACA,OACA,SACA,OACA,OACA,OACA,OACA,QACA,QACA,MACA,OACA,OACA,MACA,MACA,OACA,QACA,QACA,OACA,MACA,OACA,QACA,QACA,MACA,OACA,SACA,OACA,QACA,QACA,OACA,OACA,OACA,QACA,OACA,OACA,MACA,OACA,OACA,OACA,OACA,QACA,QACA,OACA,OACA,QACA,OACA,OACA,MACA,MACA,MACA,MACA,OACA,QACA,OACA,MACA,IAKAwB,WA9qCc,MAZI,gC,yCCHtB,sBAUI,EAAO,QAAW,0BAAP,EAUN,WACP,IAWIC,EACgB,iBAAX9B,EACHA,EACkB,iBAAXnD,OACPA,OACgB,iBAATkF,KACPA,KACgB,iBAAT5K,KACPA,KACA,GAEN,SAAS6K,EAASpS,GAChB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","file":"static/scripts/accordion-b9e342034b801565bf86.js","sourcesContent":["// @flow\nimport * as React from 'react'\n\nimport type { MarkdownViewModel } from '../../types/MarkdownViewModel'\n\nimport Markdown from '../Markdown/Markdown'\nimport Grid from '../Grid/Grid'\n\nexport const AccordionMarkdown = (props: MarkdownViewModel) => (\n \n \n \n)\n","// @flow\nimport * as React from 'react'\nimport styled from 'styled-components'\nimport { getFontSize, getLineHeight } from '../../styles/style-helpers'\nimport { rem } from 'polished'\n\nimport type { AccordionImageViewModel } from '../../components/AccordionElements/types/AccordionImageViewModel'\n\nimport Image from '../Image/Image'\nimport Grid from '../Grid/Grid'\n\nconst CaptionContainer = styled.div`\n margin-top: ${rem(4)};\n`\n\nconst CaptionContainerItem = styled.p`\n font-size: ${getFontSize('small')};\n margin-bottom: 0;\n margin-top: 0;\n font-weight: 300;\n line-height: ${getLineHeight('normal')};\n color: ${(props: Props) => (props.invert ? 'white' : 'currentColor')};\n`\n\ntype Props = AccordionImageViewModel & { invert?: boolean }\n\nexport const AccordionImage = ({ image, caption, credit, invert }: Props) => (\n \n \n {(caption || credit) && (\n \n {caption && (\n {caption}\n )}\n {credit && (\n {credit}\n )}\n \n )}\n \n)\n","// @flow\nimport * as React from 'react'\nimport styled from 'styled-components'\n\nimport type { QuoteViewModel } from '../../types/QuoteViewModel'\n\nimport Blockquote from '../Blockquote/Blockquote'\n\nconst AccordionQuoteWrapper = styled.div`\n padding-left: 0;\n padding-right: 0;\n`\n\nexport const AccordionQuote = (props: QuoteViewModel) => (\n \n
\n \n)\n","// @flow\nimport * as React from 'react'\n\nimport type { TableViewModel } from '../../types/TableViewModel'\n\nimport Table from '../Table/Table'\nimport Grid from '../Grid/Grid'\n\nexport const AccordionTable = (props: TableViewModel) => (\n \n \n \n)\n","// @flow\nimport * as React from 'react'\nimport styled from 'styled-components'\nimport consecutive from 'consecutive'\nimport { rem } from 'polished'\n\nimport type { AccordionItemChildViewModel } from './types/AccordionItemChildViewModel'\n\nimport { AccordionMarkdown } from './AccordionMarkdown'\nimport { AccordionImage } from './AccordionImage'\nimport { AccordionQuote } from './AccordionQuote'\nimport { AccordionTable } from './AccordionTable'\n\nconst keyGen = consecutive()\n\nconst AccordionItemChild = styled.div`\n margin-bottom: ${rem(48)};\n color: ${({ theme, invert }) => (invert ? theme.textInvert : theme.text)};\n`\n\nexport const renderAccordionItemChildren = (\n items: Array,\n boxed?: boolean,\n) => {\n const panels = []\n\n items.forEach(item => {\n switch (item.type) {\n case 'markdown':\n panels.push(\n item.markdown ? (\n \n \n \n ) : null,\n )\n break\n case 'image':\n panels.push(\n item.image ? (\n \n \n \n ) : null,\n )\n break\n case 'quote':\n panels.push(\n item.quote ? (\n \n \n \n ) : null,\n )\n break\n case 'table':\n panels.push(\n item.table ? (\n \n \n \n ) : null,\n )\n break\n default:\n break\n }\n })\n\n return
{panels}
\n}\n","// @flow\nimport * as React from 'react'\nimport styled from 'styled-components'\nimport consecutive from 'consecutive'\nimport { rem } from 'polished'\n\nimport { color } from '../../styles/theme'\nimport { mediaQuery, mediaOnly } from '../../styles/media'\nimport { renderAccordionItemChildren } from '../../components/AccordionElements/helpers'\n\nimport type { AccordionViewModel } from '../../types/AccordionViewModel'\n\nimport AccordionContainer from '../../components/AccordionElements/AccordionContainer'\nimport AccordionItem from '../../components/AccordionElements/AccordionItem'\nimport { AccordionMarkdown } from '../../components/AccordionElements/AccordionMarkdown'\nimport Ribbon from '../../components/Ribbon/Ribbon'\nimport Heading from '../../components/Heading/Heading'\nimport Markdown from '../../components/Markdown/Markdown'\nimport { HyphenatedText } from '../../components/HyphenatedText/HyphenatedText'\nimport useId, { IdProvider } from '@charlietango/use-id'\n\nexport type Props = AccordionViewModel\n\nconst keyGen = consecutive()\n\nconst Wrapper = styled.div`\n margin-bottom: ${rem(40)};\n\n ${mediaQuery.md`\n margin-bottom: ${rem(50)};\n `}\n`\n\nconst AccordionOuter = styled.div`\n ${({ boxed, theme, area }) =>\n boxed &&\n `\n position: relative;\n padding-top: ${area === 'article' ? rem(84) : 0};\n padding-bottom: ${area === 'article' ? rem(160) : 0};\n background: ${theme.bgColor};\n `}\n\n ${mediaQuery.lg`\n margin-right: -${({ boxed, area }) =>\n boxed && area === 'article' ? rem(50) : 0};\n `}\n\n ${mediaQuery.hd`\n margin-right: -${({ boxed, area }) =>\n boxed && area === 'article' ? rem(100) : 0};\n `}\n\n ${({ area, boxed }) =>\n boxed &&\n area === 'wide' &&\n `\n padding-top: 0;\n padding-bottom: 0;\n `}\n`\n\nconst AccordionInner = styled.div`\n ${({ boxed, theme, area }) =>\n boxed &&\n `\n border-radius: ${area === 'wide' ? rem(theme.borderRadius) : 0};\n padding: ${rem(48)} 0;\n background: ${theme.body};\n color: ${color.white};\n\n svg {\n color: ${color.accent};\n }\n `}\n\n ${mediaQuery.sm`\n border-radius: ${({ boxed, theme }) =>\n boxed ? rem(theme.borderRadius) : 0};\n padding: ${({ boxed }) => (boxed ? rem(96) : 0)} 0;\n `}\n`\n\nconst TopFakeBorder = styled.div`\n display: none;\n\n ${({ visible, theme }) =>\n visible &&\n `\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n height: ${rem(20)};\n width: 100%;\n background: ${color.white};\n border-bottom-left-radius: ${rem(theme.borderRadius)};\n border-bottom-right-radius: ${rem(theme.borderRadius)};\n `}\n\n ${mediaOnly.xs`\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n `}\n`\n\nconst BottomFakeBorder = styled.div`\n display: none;\n\n ${({ visible, theme }) =>\n visible &&\n `\n display: block;\n position: absolute;\n bottom: 0;\n left: 0;\n height: ${rem(96)};\n width: 100%;\n background: ${color.white};\n border-top-left-radius: ${rem(theme.borderRadius)};\n border-top-right-radius: ${rem(theme.borderRadius)};\n `}\n\n ${mediaOnly.xs`\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n `}\n`\n\nconst DescriptionText = styled(Markdown)`\n && {\n margin: 0;\n }\n`\n\nconst AccordionText = styled(AccordionMarkdown)`\n && {\n margin-bottom: ${rem(48)};\n color: ${({ invert, theme }) => (invert ? theme.textInvert : theme.text)};\n }\n`\n\nconst StyledHeading = styled(Heading).attrs({ level: 2 })`\n color: ${({ invert, theme }) => (invert ? theme.textInvert : theme.primary)};\n ${({ area }) =>\n area === 'narrow' &&\n `\n font-size: ${rem(20)};\n `}\n`\n\nconst generateStructuredData = items => {\n const entities =\n items &&\n items.map(item => {\n const texts = [item.text]\n if (item.items) {\n item.items.forEach(({ markdown, quote }) => {\n if (markdown && markdown.source)\n texts.push(`

${markdown.source}

`)\n if (quote && quote.quote && quote.cite)\n texts.push(`

${quote.quote} - ${quote.cite}

`)\n })\n }\n\n return `{\n \"@type\": \"Question\",\n \"name\": \"${item.title || ''}\",\n \"acceptedAnswer\": {\n \"@type\": \"Answer\",\n \"text\": \"${texts.join(' ')}\"\n }\n }`\n })\n\n return (\n `{\n \"@context\": \"https://schema.org\",\n \"@type\": \"FAQ\",` +\n // $FlowFixMe this is to ignore type issue in flow. I'm changing types (array into string), and flow doesn't like that.\n ` \"mainEntity\": [${entities}]\n }`\n )\n}\n\nconst Accordion = ({ items, title, boxed, text, anchor, area }: Props) => {\n const uniqueId = useId('accordion')\n const initial = undefined\n const WrapperEl = boxed && area === 'wide' ? Ribbon : Wrapper\n const InnerWrapperEl = area === 'narrow' ? React.Fragment : Ribbon\n return (\n \n \n \n \n \n \n {title && (\n \n \n \n )}\n {text && }\n \n {items && items.length\n ? items.map((item, index) => (\n \n {item && item.text && (\n \n )}\n {item.items &&\n renderAccordionItemChildren(item.items, boxed)}\n \n ))\n : null}\n \n \n \n \n \n \n \n \n )\n}\n\nAccordion.displayName = 'Accordion'\nAccordion.defaultProps = {}\nexport default Accordion\n","// @flow\nimport React, { useEffect, useState } from 'react'\nimport styled from 'styled-components'\nimport { objectFitSupport } from './helpers'\n\nfunction getObjectPosition(alignX, alignY) {\n return alignX || alignY\n ? `${alignX || 'center'} ${alignY || 'center'}`\n : undefined\n}\n\nconst Img = styled.img`\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n max-width: none;\n object-fit: cover;\n object-position: center;\n ${({ blurred }) =>\n blurred &&\n `\n opacity: 0.4;\n `}\n\n ${({ show }) =>\n show &&\n `\n transition: opacity 0.4s linear;\n will-change: opacity;\n opacity: 1;\n `}\n\n ${({ hide }) =>\n hide &&\n `\n opacity: 0;\n will-change: opacity;\n `}\n\n ${({ zoomOnHover }) =>\n zoomOnHover &&\n `\n transition: transform 2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;\n &:hover {\n transform: scale(1.1);\n }\n `} \n`\n\ntype Props = {\n src: string,\n alignX?: 'left' | 'center' | 'right',\n alignY?: 'top' | 'center' | 'bottom',\n alt?: string,\n contain?: boolean,\n cover?: boolean,\n onLoad?: Function,\n blurred?: boolean,\n show?: boolean,\n hide?: boolean,\n zoomOnHover?: boolean,\n}\n\n/**\n * Img Element with ObjectFit fallback in unsupported browsers (IE)\n */\nfunction ImgElement({\n src,\n alt,\n contain,\n cover,\n alignX,\n alignY,\n onLoad,\n blurred,\n ...props\n}: Props) {\n /**\n * If this Image requires unsupported ObjectFit, fallback to a
with backgroundImage\n **/\n const [renderAsDiv, setRenderAsDiv] = useState(false)\n useEffect(() => {\n setRenderAsDiv(\n (alignX || alignY || contain || cover) && !objectFitSupport(),\n )\n }, [])\n\n if (renderAsDiv) {\n if (onLoad) {\n // Trigger the onLoad - could create a dummy image instead that triggers it after the image is actually loaded.\n onLoad()\n }\n return (\n \n )\n }\n\n return (\n \n )\n}\n\nImgElement.defaultProps = {\n contain: false,\n}\n\nexport default ImgElement\n","// @flow\nimport React, { PureComponent } from 'react'\nimport Measure from 'react-measure'\nimport styled from 'styled-components'\n\nimport type { ImageViewModel } from '../../types/ImageViewModel'\nimport type { Bounds, Rect } from './types'\n\nimport processImage, { imageDimensionMap, withImgix } from './imgix-support'\nimport ImgElement from './ImgElement'\n\nconst Container = styled.div`\n position: relative;\n width: 100%;\n ${({ fillContainer }) =>\n fillContainer &&\n `\n position: absolute;\n height: 100%;\n top: 0;\n left: 0;\n `} ${({ aspect }) =>\n aspect &&\n `\n padding-bottom: ${aspect * 100}%;\n `};\n ${({ zoomOnHover }) =>\n zoomOnHover &&\n `\n overflow: hidden\n `}\n`\n\ntype Props = ImageViewModel & {\n onResize?: (bounds: Bounds) => void,\n className?: string,\n zoomOnHover?: boolean,\n}\n\ntype State = {\n animatedIn: boolean,\n ready: boolean,\n elementWidth: number,\n elementHeight: number,\n}\n\n/**\n * Image handles fetching the correct Imgix image, and rendering it onto the page.\n * By default it will load an image that fillContainers the width of it's container, while keeping the original image aspect ratio\n */\nclass Image extends PureComponent {\n static displayName = 'Image'\n static defaultProps = {\n maxAspectRatio: 2,\n width: 1,\n height: 1,\n }\n\n static generateAspectRatio(\n width: number = 1,\n height: number = 1,\n maxAspectRatio: number = 1,\n aspectRatio?: number,\n ) {\n if (aspectRatio) {\n return aspectRatio\n }\n return Math.min(maxAspectRatio, height / width)\n }\n\n static generateImgixProps(props: Props) {\n return {\n fit: props.contain ? 'clip' : 'crop',\n crop: !props.contain\n ? props.focalPoint\n ? 'focalpoint'\n : props.crop\n : undefined,\n auto: ['compress', 'format'],\n 'fp-x': props.focalPoint ? props.focalPoint.x : undefined,\n 'fp-y': props.focalPoint ? props.focalPoint.y : undefined,\n ...props.imgixParams,\n }\n }\n\n static generateSource(\n src: string,\n width: number,\n height: number,\n imgixProps?: Object,\n ) {\n if (width > 0 && height > 0) {\n return processImage(src, {\n ...imgixProps,\n ...imageDimensionMap(width, height),\n })\n }\n\n return null\n }\n\n static generateBlurredSource(\n src: string,\n width: number = 1,\n height: number = 1,\n imgixProps: Object = {},\n ) {\n return processImage(src, {\n ...imgixProps,\n w: Math.ceil(64),\n h: Math.ceil((height / width) * 64),\n dpr: 1,\n q: 50,\n blur: 64,\n })\n }\n\n state = {\n ready: false,\n animatedIn: false,\n elementWidth: 0,\n elementHeight: 0,\n }\n\n timeout = null\n\n componentWillUnmount() {\n if (this.timeout) clearTimeout(this.timeout)\n }\n\n handleLoad = () => {\n if (this.props.fadeIn) {\n this.setState({ ready: true })\n this.timeout = setTimeout(() => {\n this.timeout = null\n this.setState({ animatedIn: true })\n }, 1000)\n } else {\n this.setState({ ready: true, animatedIn: true })\n }\n }\n\n handleTransitionEnd = () => {\n if (this.state.ready) {\n this.setState({ animatedIn: true })\n }\n }\n\n handleError = () => {\n this.setState({ ready: true, animatedIn: true })\n }\n\n handleMeasure = (contentRect: Rect) => {\n this.setState({\n elementWidth: Math.ceil(contentRect.bounds.width),\n elementHeight: Math.ceil(contentRect.bounds.height),\n })\n\n if (this.props.onResize) this.props.onResize(contentRect.bounds)\n }\n\n render() {\n const {\n src,\n fadeIn,\n disableBlur,\n maxAspectRatio,\n fillContainer,\n contain,\n cover,\n alignX,\n alignY,\n width,\n height,\n alt,\n className,\n zoomOnHover,\n aspectRatio,\n } = this.props\n\n const { ready, animatedIn, elementWidth, elementHeight } = this.state\n const imgixProps = Image.generateImgixProps(this.props)\n const currentSrc = Image.generateSource(\n src,\n elementWidth,\n elementHeight,\n imgixProps,\n )\n\n const aspect = !fillContainer\n ? Image.generateAspectRatio(width, height, maxAspectRatio, aspectRatio)\n : null\n\n return (\n \n {({ measureRef }) => {\n return (\n \n {!disableBlur && fadeIn && !animatedIn ? (\n \n ) : null}\n {currentSrc || (!fadeIn && !disableBlur) ? (\n \n ) : null}\n \n )\n }}\n \n )\n }\n}\n\nexport default withImgix(Image)\n","// @flow\nimport * as React from 'react'\nimport styled from 'styled-components'\nimport Heading from '../../../Heading/Heading'\nimport { mediaOnly } from '../../../../styles/media'\nimport { AreaConsumer } from '../../../AreaContext/AreaContext'\n\ntype Props = {\n children?: React.Node,\n level: 1 | 2 | 3 | 4 | 5,\n}\n\nconst SectionHeader = styled(Heading)`\n margin-top: ${p => (p.area === 'accordion' ? 40 : 80)}px;\n\n ${mediaOnly.xs`\n margin-top: ${p => (p.area === 'accordion' ? 20 : 40)}px;\n `};\n`\n\nfunction HeaderRenderer({ children, level }: Props) {\n /* Abuse the fact that we have 5 levels of headers, to render special blocks. */\n if (level === 1) {\n return (\n \n {area => (\n \n {children}\n \n )}\n \n )\n }\n if (level === 2) {\n return (\n \n {area => (\n \n {children}\n \n )}\n \n )\n }\n\n return (\n \n {area => (\n \n {children}\n \n )}\n \n )\n}\n\nHeaderRenderer.displayName = 'HeaderRenderer'\nHeaderRenderer.defaultProps = {}\n\nexport default HeaderRenderer\n","// @flow\nimport * as React from 'react'\nimport styled from 'styled-components'\n\nimport type { LinkViewModel } from '../../../../types/LinkViewModel'\nimport type { LinkTargetTypes } from '../../../../types/enums/LinkTargetTypes'\n\nimport CtaLink from '../../../CtaLink/CtaLink'\nimport { Link, isExternalLink } from '../../../Link/Link'\n\ntype LinkProps = LinkViewModel & {\n children?: React.Node,\n}\n\ntype Props = LinkViewModel & {\n children?: React.Node,\n isCtaLink?: boolean,\n}\n\nconst CtaLinkWrapper = styled.div`\n margin-bottom: 1rem;\n`\n\nconst MarkdownCtaLink = (props: LinkProps) => (\n \n \n \n)\n\nconst MarkdownNormalLink = (props: LinkProps) => {\n return (\n \n {props.children}\n \n )\n}\n\ntype LinkMetaInfo = { href?: string, target?: LinkTargetTypes }\n\nconst getMetaInfoFromHref = (value: string = ''): LinkMetaInfo => {\n let href = value\n let target: LinkTargetTypes = isExternalLink(href) ? '_blank' : '_self'\n\n const hrefSplit = href.split('|')\n\n if (hrefSplit.length > 1) {\n const _target = hrefSplit.splice(1, hrefSplit.length - 1).join('')\n\n switch (_target) {\n case 'blank':\n target = '_blank'\n break\n case 'self':\n target = '_self'\n break\n case 'parent':\n target = '_parent'\n break\n case 'top':\n target = '_top'\n break\n default:\n break\n }\n\n href = hrefSplit.join('|')\n }\n\n return {\n target,\n href,\n }\n}\n\nconst LinkRenderer = (props: Props) => {\n const { isCtaLink, ...rest } = props\n const meta = getMetaInfoFromHref(props.href)\n const linkProps = { ...rest, ...meta }\n\n return isCtaLink ? (\n \n ) : (\n \n )\n}\n\nLinkRenderer.displayName = 'LinkRenderer'\nLinkRenderer.defaultProps = {}\n\nexport default LinkRenderer\n","// @flow\nimport * as React from 'react'\nimport styled from 'styled-components'\nimport Paragraph from '../../../Paragraph/Paragraph'\nimport { getLineHeight } from '../../../../styles/style-helpers'\nimport LinkRenderer from '../LinkRenderer/LinkRenderer'\nimport { color } from '../../../../styles/theme'\n\ntype Props = {\n children?: React.Node,\n}\n\nconst StyledParagraph = styled(Paragraph)`\n line-height: ${getLineHeight('normal')};\n & > a {\n color: inherit;\n }\n`\n\nconst isImageRendere = item =>\n item.type && item.type.displayName === 'ImageRenderer'\nconst isLinkRendere = item =>\n item.type && item.type.displayName === 'LinkRenderer'\n\nfunction ParagraphRenderer({ children }: Props) {\n const childs = React.Children.toArray(children).reduce((acc, val, index) => {\n if (isImageRendere(val)) {\n // Images are always rendered in their own \"paragraph\"\n acc.push(val)\n } else {\n // All other children are added to the list\n if (!acc.length || !Array.isArray(acc[acc.length - 1])) {\n acc.push([])\n }\n acc[acc.length - 1].push(val)\n }\n return acc\n }, [])\n\n return (\n \n {childs.map((child, index) => {\n if (!Array.isArray(child) && isImageRendere(child)) {\n return child\n }\n\n if (child.every(isLinkRendere)) {\n return child.map((link, key) => (\n \n ))\n }\n return (\n \n {child}\n \n )\n })}\n \n )\n}\n\nParagraphRenderer.displayName = 'ParagraphRenderer'\nParagraphRenderer.defaultProps = {}\n\nexport default ParagraphRenderer\n","// @flow\nimport * as React from 'react'\nimport styled from 'styled-components'\nimport qs from 'qs'\nimport Image from '../../../Image/Image'\nimport { mediaOnly } from '../../../../styles/media'\n\ntype Props = {\n src: string,\n title?: string,\n alt?: string,\n}\n\ntype State = {}\n\nconst Wrapper = styled.span`\n display: block;\n margin: 80px 0;\n max-width: ${p => p.maxWidth};\n\n ${mediaOnly.xs`\n margin: 40px 0;\n `};\n`\n\nconst imageSizes = {\n default: {\n maxWidth: '1440px',\n },\n main: {\n maxWidth: '880px',\n },\n}\n\nclass ImageRenderer extends React.PureComponent {\n static displayName = 'ImageRenderer'\n static defaultProps = {}\n\n render() {\n const { src, alt } = this.props\n\n if (!src) return null\n const [imgSrc, attr] = src.split('?', 2)\n const attrs = qs.parse(attr)\n const width = parseInt(attrs.width, 10)\n const height = parseInt(attrs.height, 10)\n const noSizes = !width || !height\n\n return (\n 0 && !noSizes ? `${width}px` : '100%'}>\n \n \n )\n }\n}\n\nexport default ImageRenderer\n","// @flow\nimport * as React from 'react'\nimport styled from 'styled-components'\nimport { rem } from 'polished'\n\nimport { color } from '../../styles/theme'\n\ntype Props = {\n children?: React.Node,\n ordered?: boolean,\n}\n\nconst Base = styled.ul`\n color: inherit;\n //color: ${({ theme }) => theme.text};\n font-size: ${({ theme }) => rem(theme.bodyFontSize)};\n font-weight: ${({ theme }) => theme.bodyFontWeight};\n line-height: 1.5;\n padding: 0 0 0 1.5rem;\n margin-bottom: 2.5rem;\n list-style: none;\n\n > li {\n margin-bottom: 0.5rem;\n list-style-type: none;\n position: relative;\n }\n\n li > ul,\n li > ol {\n margin: 0.5rem 0 0;\n }\n`\n//TODO\nconst UnorderedList = styled(Base)`\n ${({ theme }) =>\n theme.name === 'kids' || theme.name === 'lgbt'\n ? `\n li::before {\n content: ''; /* The unicode for • character */\n position: absolute;\n border: 3px solid ${color.yellow};\n border-radius: 50%;\n width: ${rem(12)};\n height: ${rem(12)};\n left: ${rem(-20)};\n top: ${rem(6)};\n }`\n : `li::before {\n content: '\\\\2022'; /* The unicode for • character */\n position: absolute;\n left: -1em;\n font-size: 1em;\n }`}\n`\n\nconst OrderedList = styled(Base.withComponent('ol'))`\n counter-reset: section;\n li::before {\n counter-increment: section;\n content: counter(section) '.';\n font-weight: 500;\n position: absolute;\n left: -1em;\n font-size: 1rem;\n }\n`\n\nfunction List({ children, ordered, ...props }: Props) {\n const Comp = ordered ? OrderedList : UnorderedList\n return {children}\n}\n\nList.displayName = 'List'\nList.defaultProps = {}\n\nexport default List\n","// @flow\nimport * as React from 'react'\nimport List from '../../../List/List'\nimport { MaxWidth } from '../../markdown-styles'\n\ntype Props = {\n children?: React.Node,\n ordered: boolean,\n}\n\nconst ArticleList = MaxWidth.withComponent(List)\n\nfunction ListRenderer({ children, ordered }: Props) {\n return {children}\n}\n\nListRenderer.displayName = 'ListRenderer'\nListRenderer.defaultProps = {\n ordered: false,\n}\n\nexport default ListRenderer\n","// @flow\nimport styled from 'styled-components'\n\nexport const MaxWidth = styled.div`\n max-width: 550px;\n`\n","// @flow\nimport * as React from 'react'\n\ntype Props = {\n children?: React.Node,\n}\n\n// this renderer resolved a bug in Internet Explorer 11.\n// if supportsStringRender === true, it forces the returned string to be\n// wrapper in a React Fragment to prevent the IE bug from happening\n\n// detect IE8 and above, and Edge\n// source: https://stackoverflow.com/questions/31757852/how-can-i-detect-internet-explorer-ie-and-microsoft-edge-using-javascript\nconst isIE = () =>\n typeof window !== 'undefined' &&\n (document.documentMode || /Edge/.test(navigator.userAgent))\n\nvar supportsStringRender =\n !isIE() && parseInt((React.version || '16').slice(0, 2), 10) >= 16\n\nfunction TextRenderer(props: Props) {\n return supportsStringRender\n ? props.children\n : React.createElement('span', null, props.children)\n}\n\nTextRenderer.displayName = 'TextRenderer'\nTextRenderer.defaultProps = {}\n\nexport default TextRenderer\n","// @flow\nimport * as React from 'react'\nimport ReactMarkdown from 'react-markdown'\n\nimport type { MarkdownViewModel } from '../../types/MarkdownViewModel'\n\nimport HeaderRenderer from './renderers/HeaderRenderer/HeaderRenderer'\nimport ParagraphRenderer from './renderers/ParagraphRenderer/ParagraphRenderer'\nimport LinkRenderer from './renderers/LinkRenderer/LinkRenderer'\nimport ImageRenderer from './renderers/ImageRenderer/ImageRenderer'\nimport ListRenderer from './renderers/ListRenderer/ListRenderer'\nimport TextRenderer from './renderers/TextRenderer/TextRenderer'\n\nimport styled, { css, ThemeContext } from 'styled-components'\nimport { mediaOnly } from '../../styles/media'\nimport { clearMargin } from '../../styles/style-helpers'\n\ntype Props = MarkdownViewModel & { invert?: boolean }\n\nconst RENDERERS = {\n ...ReactMarkdown.renderers,\n heading: HeaderRenderer,\n paragraph: ParagraphRenderer,\n link: LinkRenderer,\n image: ImageRenderer,\n list: ListRenderer,\n text: TextRenderer,\n}\n\nconst normalStyle = css`\n margin: 80px 0;\n ${mediaOnly.xs`\n margin: 40px 0;\n `};\n`\n\nconst fullWidthStyle = css`\n & p {\n max-width: 100%;\n }\n`\n\nconst StyledMarkdown = styled(ReactMarkdown)`\n word-break: break-word;\n ${p => (p.noMargin ? clearMargin() : normalStyle)};\n ${p => (p.fullWidth ? fullWidthStyle : null)};\n color: ${({ theme, invert }) => (invert ? theme.textInvert : theme.text)};\n`\n\nfunction Markdown({\n source,\n noMargin,\n fullWidth,\n className,\n id,\n invert,\n}: Props) {\n const theme = React.useContext(ThemeContext)\n\n return (\n \n )\n}\n\nMarkdown.displayName = 'Markdown'\nMarkdown.defaultProps = {}\n\nexport default Markdown\n","// @flow\nimport * as React from 'react'\nimport styled from 'styled-components'\nimport BaseButton from '../Button/BaseButton'\nimport type { LinkViewModel } from '../../types/LinkViewModel'\nimport { secondaryFontFamily } from '../../styles/theme'\nimport type { ButtonState } from '../Button/BaseButton'\nimport { getFontSize } from '../../styles/style-helpers'\nimport { durations } from '../../styles/animations'\n\ntype Props = LinkViewModel & {\n children?: React.Node,\n /** Always render as anchor tag, don't fall back to button */\n isAnchor?: boolean,\n disabled?: boolean,\n size: 'small' | 'normal',\n invert?: boolean,\n}\n\ntype AlignProps = {\n align: 'left' | 'right',\n}\n\ntype State = {}\n\nconst Base = styled(BaseButton)`\n && {\n display: inline-block;\n font-size: ${(props: Props) => getFontSize(props.size)};\n font-family: ${secondaryFontFamily};\n text-decoration: underline;\n line-height: 1.25;\n text-align: left;\n max-width: 100%;\n transform: translateX(-0.5rem);\n }\n`\n\nconst Container = styled.div`\n position: relative;\n padding: 0.5rem;\n color: ${({ theme, invert }) => (invert ? theme.textInvert : theme.primary)};\n :hover {\n color: ${({ theme }) => theme.accent};\n }\n`\n\nconst Label = styled.span`\n transition: color ${durations.fast} ease-out;\n margin-left: ${(p: AlignProps) => (p.align === 'left' ? '22px' : null)};\n margin-right: ${(p: AlignProps) => (p.align === 'right' ? '22px' : null)};\n`\n\nclass CtaLink extends React.Component {\n static displayName = 'CtaLink'\n static defaultProps = {\n size: 'normal',\n }\n\n renderInner = ({ hovering }: ButtonState) => {\n const { children, label, invert } = this.props\n return (\n \n \n \n )\n }\n\n render() {\n const { children, ...rest } = this.props\n return {this.renderInner}\n }\n}\n\nexport default CtaLink\n","// @flow\nimport * as React from 'react'\nimport { ConfigContext } from '../../App/AppShell'\n\n/* eslint-disable no-param-reassign */\nexport const imageDimensionMap = (\n width: number,\n height: number,\n): { w: number, h: number } => {\n const aspect = height / width\n const normalizedWidth = Math.ceil(width)\n const normalizedHeight = Math.ceil(aspect * normalizedWidth)\n\n return {\n w: normalizedWidth,\n h: normalizedHeight,\n }\n}\n\nfunction imageQuality(dpr: number = 1) {\n return dpr >= 3 ? 30 : dpr === 2 ? 40 : undefined\n}\n\nfunction constructUrl(src, params) {\n const preparedParams = Object.keys(params)\n .filter(k => typeof params[k] !== 'undefined')\n .map(k => `${k}=${encodeURIComponent(params[k])}`)\n .join('&')\n\n return `${src}?${preparedParams}`\n}\n\n/**\n * Construct a URL for an image with an Imgix proxy, expanding image options\n * per the [API reference docs](https://www.imgix.com/docs/reference).\n * @param {String} src src of raw image\n * @param {Object} options map of image API options, in long or short form per expansion rules\n * @return {String} URL of image src transformed by Imgix\n */\nfunction processImage(src: string, options: Object = {}): string {\n if (!src) {\n return ''\n }\n if (!src.includes('imgix.net')) return src\n\n return constructUrl(src, {\n auto: 'format',\n dpr: global.devicePixelRatio || 1,\n q: imageQuality(global.devicePixelRatio),\n ...options,\n })\n}\n\nexport default processImage\n\nexport function withImgix(Component: React.ComponentType) {\n class InjectedComponent extends React.Component {\n render() {\n // todo: maybe check if already has protocol and domain\n if (process.env.NODE_ENV === 'development') {\n return \n }\n\n return (\n \n {config => (\n \n )}\n \n )\n }\n }\n\n return InjectedComponent\n}\n","// @flow\nimport type { ImageRatio } from './types'\n\nconst supports = {}\n\n/**\n * Detect if objectFit is supported on the client\n * @type {boolean}\n */\nexport function objectFitSupport(): boolean {\n if (!supports.objectFit) {\n supports.objectFit = global.document\n ? global.document.body.style.objectFit !== undefined\n : true\n }\n\n return supports.objectFit\n}\n\nexport default {\n objectFitSupport,\n}\n\nexport function generateSrc(\n url: string,\n width: number,\n ratio?: ImageRatio = 'original',\n) {\n if (url && !url.includes('/static/')) {\n const pos = url.lastIndexOf('/')\n return `${url.substr(0, pos)}/${ratio}/${width}/${url.substr(pos + 1)}`\n }\n\n return `${url}?w=${width}&ratio=${ratio || ''}`\n}\n","// @flow\nimport createHyphenation from 'hyphen'\nimport patterns from 'hyphen/patterns/da'\n\nexport const defaultMinWordLength = 15\n\n/**\n * Use the hyphenate function, to split long words with break characters.\n */\nexport const hyphenate = createHyphenation(patterns, {\n async: false,\n minWordLength: defaultMinWordLength,\n})\n\n/**\n * Use the hyphenateHTML function, to split long words within HTML text.\n */\nexport const hyphenateHTML = createHyphenation(patterns, {\n async: false,\n minWordLength: defaultMinWordLength,\n html: true,\n})\n","// @flow\nimport React from 'react'\nimport { hyphenate } from '../../utils/hyphenation'\n\ntype HyphenatedTextProps = {\n text?: string,\n minWordLength?: number,\n}\n\nexport function HyphenatedText({ text, minWordLength }: HyphenatedTextProps) {\n return React.useMemo(\n () => (\n <>\n {text\n ? hyphenate(text, minWordLength ? { minWordLength } : undefined)\n : null}\n \n ),\n [text, minWordLength],\n )\n}\n","// @flow\nimport * as React from 'react'\nimport { RouteContext } from '../../App/Router'\n\nexport type AccordionContextType = {\n handleToggle: (id: string) => void,\n selected: Array,\n}\nexport const AccordionContext = React.createContext({\n handleToggle: () => {},\n selected: [],\n})\n\ntype Props = {\n children: React.Node,\n initial?: string,\n}\n\ntype State = {\n selected: Array,\n}\n\nclass AccordionContainer extends React.Component {\n static displayName = 'AccordionContainer'\n static contextType = RouteContext\n\n static hasId = (id: string, children: React.Node) => {\n return !!React.Children.toArray(children).find(child => {\n return child.props.id === id\n })\n }\n\n static hashToId = (hash: string) =>\n hash && hash.length > 1 ? hash.substring(1) : undefined\n\n currentHash: string = ''\n\n constructor(props: Props) {\n super(props)\n\n this.state = {\n selected: props.initial ? [props.initial] : [],\n }\n }\n\n componentDidMount(): void {\n const { hash } = this.context.location\n this.currentHash = hash\n\n const id = AccordionContainer.hashToId(hash)\n if (id && AccordionContainer.hasId(id, this.props.children)) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ selected: [...this.state.selected, id] })\n }\n }\n\n componentDidUpdate(prevProps: Props): void {\n if (\n this.context.location.hash &&\n this.context.location.hash !== this.currentHash\n ) {\n const id = AccordionContainer.hashToId(this.context.location.hash)\n this.currentHash = this.context.location.hash\n\n if (\n id &&\n AccordionContainer.hasId(id, this.props.children) &&\n !this.state.selected.includes(id)\n ) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ selected: [...this.state.selected, id] })\n }\n }\n }\n\n handleToggle = (id: string) => {\n if (!id) return\n const { selected } = this.state\n if (selected.includes(id)) {\n this.setState({\n selected: this.state.selected.filter(value => value !== id),\n })\n } else {\n this.setState({ selected: [...this.state.selected, id] })\n }\n }\n\n render() {\n return (\n \n
\n {this.props.children}\n
\n \n )\n }\n}\n\nexport default AccordionContainer\n","module.exports = require(\"./hyphen.js\");\n","(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n // AMD. Register as an anonymous module.\n define([], factory);\n } else if (typeof module === \"object\" && module.exports) {\n // Node. Does not work with strict CommonJS, but\n // only CommonJS-like environments that support module.exports,\n // like Node.\n module.exports = factory();\n } else {\n // Browser globals (root is window)\n root.hyphenationPatternsDa = factory();\n }\n})(this, function () {\n var patterns = [],\n hyphenation = [];\n\n // title: Hyphenation patterns for Danish\n // copyright: Copyright (C) 1994 Frank Jensen\n // notice: This file is part of the hyph-utf8 package.\n // See http://www.hyphenation.org/tex for more information.\n // language:\n // name: Danish\n // tag: da\n // version: 2011-01-11\n // authors:\n // -\n // name: Frank Jensen\n // contact: frank.jensen (at) hugin.com\n // licence:\n // - This file is available under any of these licences:\n // -\n // name: LPPL\n // version: 1.3\n // or_later: true\n // url: http://www.latex-project.org/lppl/lppl-1-3.html\n // -\n // name: MIT\n // url: https://opensource.org/licenses/MIT\n // text: >\n // Permission is hereby granted, free of charge, to any person\n // obtaining a copy of this software and associated documentation\n // files (the \"Software\"), to deal in the Software without\n // restriction, including without limitation the rights to use,\n // copy, modify, merge, publish, distribute, sublicense, and/or sell\n // copies of the Software, and to permit persons to whom the\n // Software is furnished to do so, subject to the following\n // conditions:\n //\n // The above copyright notice and this permission notice shall be\n // included in all copies or substantial portions of the Software.\n //\n // THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n // OTHER DEALINGS IN THE SOFTWARE.\n // changes:\n // - 2011-01-11 - remove support for OT1 encoding\n //\n var patterns = [\n \".ae3\",\n \".an3k\",\n \".an1s\",\n \".be5la\",\n \".be1t\",\n \".bi4tr\",\n \".der3i\",\n \".diagno5\",\n \".her3\",\n \".hoved3\",\n \".ne4t5\",\n \".om1\",\n \".ove4\",\n \".po1\",\n \".til3\",\n \".yd5r\",\n \"ab5le\",\n \"3abst\",\n \"a3c\",\n \"ade5la\",\n \"5adg\",\n \"a1e\",\n \"5afg\",\n \"5a4f1l\",\n \"af3r\",\n \"af4ri\",\n \"5afs\",\n \"a4gef\",\n \"a4gi\",\n \"ag5in\",\n \"ag5si\",\n \"3agti\",\n \"a4gy\",\n \"a3h\",\n \"ais5t\",\n \"a3j\",\n \"a5ka\",\n \"a3ke\",\n \"a5kr\",\n \"aku5\",\n \"a3la\",\n \"a1le\",\n \"a1li\",\n \"al3k\",\n \"4alkv\",\n \"a1lo\",\n \"al5si\",\n \"a3lu\",\n \"a1ly\",\n \"am4pa\",\n \"3analy\",\n \"an4k5r\",\n \"a3nu\",\n \"3anv\",\n \"a5o\",\n \"a5pe\",\n \"a3pi\",\n \"a5po\",\n \"a1ra\",\n \"ar5af\",\n \"1arb\",\n \"a1re\",\n \"5arg\",\n \"a1ri\",\n \"a3ro\",\n \"a3sa\",\n \"a3sc\",\n \"a1si\",\n \"a3sk\",\n \"a3so\",\n \"3a3sp\",\n \"a3ste\",\n \"a3sti\",\n \"a1ta1\",\n \"a1te\",\n \"a1ti\",\n \"a4t5in\",\n \"a1to\",\n \"ato5v\",\n \"a5tr\",\n \"a1tu\",\n \"a5va\",\n \"a1ve\",\n \"a5z\",\n \"1ba\",\n \"ba4ti\",\n \"4bd\",\n \"1be\",\n \"be1k\",\n \"be3ro\",\n \"be5ru\",\n \"be1s4\",\n \"be1tr\",\n \"1bi\",\n \"bi5sk\",\n \"b1j\",\n \"4b1n\",\n \"1bo\",\n \"bo4gr\",\n \"bo3ra\",\n \"bo5re\",\n \"1br4\",\n \"4bs\",\n \"bs5k\",\n \"b3so\",\n \"b1st\",\n \"b5t\",\n \"3bu\",\n \"bu4s5tr\",\n \"b5w\",\n \"1by\",\n \"by5s\",\n \"4c1c\",\n \"1ce\",\n \"ce5ro\",\n \"3ch\",\n \"4ch.\",\n \"ci4o\",\n \"ck3\",\n \"5cy\",\n \"3da\",\n \"4d3af\",\n \"d5anta\",\n \"da4s\",\n \"d1b\",\n \"d1d4\",\n \"1de\",\n \"de5d\",\n \"4de4lem\",\n \"der5eri\",\n \"de4rig\",\n \"de5sk\",\n \"d1f\",\n \"d1g\",\n \"d3h\",\n \"1di\",\n \"di1e\",\n \"di5l\",\n \"d3j\",\n \"d1k\",\n \"d1l\",\n \"d1m\",\n \"4d1n\",\n \"3do\",\n \"4dop\",\n \"d5ov\",\n \"d1p\",\n \"4drett\",\n \"5d4reve\",\n \"3drif\",\n \"3driv\",\n \"d5ros\",\n \"d5ru\",\n \"ds5an\",\n \"ds5in\",\n \"d1ski\",\n \"d4sm\",\n \"d4su\",\n \"dsu5l\",\n \"ds5vi\",\n \"d3ta\",\n \"d1te\",\n \"dt5o\",\n \"d5tr\",\n \"dt5u\",\n \"1du\",\n \"dub5\",\n \"d1v\",\n \"3dy\",\n \"e5ad\",\n \"e3af\",\n \"e5ag\",\n \"e3ak\",\n \"e1al\",\n \"ea4la\",\n \"e3an\",\n \"e5ap\",\n \"e3at\",\n \"e3bl\",\n \"ebs3\",\n \"e1ci\",\n \"ed5ar\",\n \"edde4\",\n \"eddel5\",\n \"e4do\",\n \"ed5ra\",\n \"ed3re\",\n \"ed3rin\",\n \"ed4str\",\n \"e3e\",\n \"3eff\",\n \"e3fr\",\n \"3eft\",\n \"e3gu\",\n \"e1h\",\n \"e3in\",\n \"ei5s\",\n \"e3je\",\n \"e4j5el\",\n \"e1ka\",\n \"e3ke\",\n \"e3kl\",\n \"4e1ko\",\n \"e5kr\",\n \"ek5sa\",\n \"3eksem\",\n \"3eksp\",\n \"e3ku\",\n \"e1kv\",\n \"e5ky\",\n \"e3lad\",\n \"el3ak\",\n \"el3ar\",\n \"e1las\",\n \"e3le\",\n \"e4lek\",\n \"3elem\",\n \"e1li\",\n \"5elim\",\n \"e3lo\",\n \"el5sa\",\n \"e5lu\",\n \"e3ly\",\n \"e4mad\",\n \"em4p5le\",\n \"em1s\",\n \"en5ak\",\n \"e4nan\",\n \"4enn\",\n \"e4no\",\n \"en3so\",\n \"e5nu\",\n \"e5ol\",\n \"e3op\",\n \"e1or\",\n \"e3ov\",\n \"epi3\",\n \"e1pr\",\n \"e3ra\",\n \"er3af\",\n \"e4rag\",\n \"e4rak\",\n \"e1re\",\n \"e4ref\",\n \"er5ege\",\n \"5erhv\",\n \"e1ri\",\n \"e4rib\",\n \"er1k\",\n \"ero5d\",\n \"er5ov\",\n \"er3s\",\n \"er5tr\",\n \"e3rum\",\n \"er5un\",\n \"e5ry\",\n \"e1ta\",\n \"e1te\",\n \"etek4s\",\n \"e1ti\",\n \"e3tj\",\n \"e1to\",\n \"e3tr\",\n \"e3tu\",\n \"e1ty\",\n \"e3um\",\n \"e3un\",\n \"3eur\",\n \"e1va\",\n \"e3ve\",\n \"e4v3erf\",\n \"e1vi\",\n \"e5x\",\n \"1fa\",\n \"fa4ce\",\n \"fags3\",\n \"f1b\",\n \"f1d\",\n \"1fe\",\n \"fej4\",\n \"fejl1\",\n \"f1f\",\n \"f1g\",\n \"f1h\",\n \"1fi\",\n \"f1k\",\n \"3fl\",\n \"1fo\",\n \"for1en\",\n \"fo4ri\",\n \"f1p\",\n \"f1s4\",\n \"4ft\",\n \"f3ta\",\n \"f1te\",\n \"f1ti\",\n \"f5to\",\n \"f5tvi\",\n \"1fu\",\n \"f1v\",\n \"3fy\",\n \"1ga\",\n \"g3art\",\n \"g1b\",\n \"g1d\",\n \"1ge\",\n \"4g5enden\",\n \"ger3in\",\n \"ge3s\",\n \"g3f\",\n \"g1g\",\n \"g1h\",\n \"1gi\",\n \"gi4b\",\n \"gi3st\",\n \"5gj\",\n \"g3k\",\n \"g1l\",\n \"g1m\",\n \"3go\",\n \"4g5om\",\n \"g5ov\",\n \"g3p\",\n \"1gr\",\n \"gs1a\",\n \"gsde4len\",\n \"g4se\",\n \"gsha4\",\n \"g5sla\",\n \"gs3or\",\n \"gs1p\",\n \"g5s4tide\",\n \"g4str\",\n \"gs1v\",\n \"g3ta\",\n \"g1te\",\n \"g1ti\",\n \"g5to\",\n \"g3tr\",\n \"gt4s\",\n \"g3ud\",\n \"gun5\",\n \"g3v\",\n \"1gy\",\n \"g5yd\",\n \"4ha.\",\n \"heds3\",\n \"he5s\",\n \"4het\",\n \"hi4e\",\n \"hi4n5\",\n \"hi3s\",\n \"ho5ko\",\n \"ho5ve\",\n \"4h3t\",\n \"hun4\",\n \"hund3\",\n \"hvo4\",\n \"i1a\",\n \"i3b\",\n \"i4ble\",\n \"i1c\",\n \"i3dr\",\n \"ids5k\",\n \"i1el\",\n \"i1en\",\n \"i3er\",\n \"i3et.\",\n \"if3r\",\n \"i3gu\",\n \"i3h\",\n \"i5i\",\n \"i5j\",\n \"i1ka\",\n \"i1ke\",\n \"ik1l\",\n \"i5ko\",\n \"ik3re\",\n \"ik5ri\",\n \"iks5t\",\n \"ik4tu\",\n \"i3ku\",\n \"ik3v\",\n \"i3lag\",\n \"il3eg\",\n \"il5ej\",\n \"il5el\",\n \"i3li\",\n \"i4l5id\",\n \"il3k\",\n \"i1lo\",\n \"il5u\",\n \"i3mu\",\n \"ind3t\",\n \"5inf\",\n \"ings1\",\n \"in3s\",\n \"in4sv\",\n \"inter1\",\n \"i3nu\",\n \"i3od\",\n \"i3og\",\n \"i5ok\",\n \"i3ol\",\n \"ion4\",\n \"ions1\",\n \"i5o5r\",\n \"i3ot\",\n \"i5pi\",\n \"i3pli\",\n \"i5pr\",\n \"i3re\",\n \"i3ri\",\n \"ir5t\",\n \"i3sc\",\n \"i3si\",\n \"i4sm\",\n \"is3p\",\n \"i1ster\",\n \"i3sti\",\n \"i5sua\",\n \"i1ta\",\n \"i1te\",\n \"i1ti\",\n \"i3to\",\n \"i3tr\",\n \"it5re.\",\n \"i1tu\",\n \"i3ty\",\n \"i1u\",\n \"i1va\",\n \"i1ve\",\n \"i1vi\",\n \"j3ag\",\n \"jde4rer\",\n \"jds1\",\n \"jek4to\",\n \"4j5en.\",\n \"j5k\",\n \"j3le\",\n \"j3li\",\n \"jlmeld5\",\n \"jlmel4di\",\n \"j3r\",\n \"jre5\",\n \"ju3s\",\n \"5kap\",\n \"k5au\",\n \"5kav\",\n \"k5b\",\n \"kel5s\",\n \"ke3sk\",\n \"ke5st\",\n \"ke4t5a\",\n \"k3h\",\n \"ki3e\",\n \"ki3st\",\n \"k1k\",\n \"k5lak\",\n \"k1le\",\n \"3klu\",\n \"k4ny\",\n \"5kod\",\n \"1kon\",\n \"ko3ra\",\n \"3kort\",\n \"ko3v\",\n \"1kra\",\n \"5kry\",\n \"ks3an\",\n \"k1si\",\n \"ks3k\",\n \"ks1p\",\n \"k3ste\",\n \"k5stu\",\n \"ks5v\",\n \"k1t\",\n \"k4tar\",\n \"k4terh\",\n \"kti4e\",\n \"kt5re\",\n \"kt5s\",\n \"3kur\",\n \"1kus\",\n \"3kut\",\n \"k4vo\",\n \"k4vu\",\n \"5lab\",\n \"lad3r\",\n \"5lagd\",\n \"la4g3r\",\n \"5lam\",\n \"1lat\",\n \"l1b\",\n \"ldiagnos5\",\n \"l3dr\",\n \"ld3st\",\n \"1le.\",\n \"5led\",\n \"4lele\",\n \"le4mo\",\n \"3len\",\n \"1ler\",\n \"1les\",\n \"4leu\",\n \"l1f\",\n \"lfin4\",\n \"lfind5\",\n \"l1go1\",\n \"l3h\",\n \"li4ga\",\n \"4l5ins\",\n \"4l3int\",\n \"li5o\",\n \"l3j\",\n \"l1ke\",\n \"l1ko\",\n \"l3ky\",\n \"l1l\",\n \"l5mu\",\n \"lo4du\",\n \"l3op\",\n \"4l5or\",\n \"3lov\",\n \"4l3p\",\n \"l4ps\",\n \"l3r\",\n \"4ls\",\n \"lses1\",\n \"ls5in\",\n \"l5sj\",\n \"l1ta\",\n \"l4taf\",\n \"l1te\",\n \"l4t5erf\",\n \"l3ti\",\n \"lt3o\",\n \"l3tr\",\n \"l3tu\",\n \"lu5l\",\n \"l3ve\",\n \"l3vi\",\n \"1ma\",\n \"m1b\",\n \"m3d\",\n \"1me\",\n \"4m5ej\",\n \"m3f\",\n \"m1g\",\n \"m3h\",\n \"1mi\",\n \"mi3k\",\n \"m5ing\",\n \"mi4o\",\n \"mi5sty\",\n \"m3k\",\n \"m1l\",\n \"m1m\",\n \"mmen5\",\n \"m1n\",\n \"3mo\",\n \"mo4da\",\n \"4mop\",\n \"4m5ov\",\n \"m1pe\",\n \"m3pi\",\n \"m3pl\",\n \"m1po\",\n \"m3pr\",\n \"m1r\",\n \"mse5s\",\n \"ms5in\",\n \"m5sk\",\n \"ms3p\",\n \"m3ste\",\n \"ms5v\",\n \"m3ta\",\n \"m3te\",\n \"m3ti\",\n \"m3tr\",\n \"m1ud\",\n \"1mul\",\n \"mu1li\",\n \"3my\",\n \"3na\",\n \"4nak\",\n \"1nal\",\n \"n1b\",\n \"n1c\",\n \"4nd\",\n \"n3dr\",\n \"nd5si\",\n \"nd5sk\",\n \"nd5sp\",\n \"1ne\",\n \"ne5a\",\n \"ne4da\",\n \"nemen4\",\n \"nement5e\",\n \"neo4\",\n \"n3erk\",\n \"n5erl\",\n \"ne5sl\",\n \"ne5st\",\n \"n1f\",\n \"n4go\",\n \"4n1h\",\n \"1ni\",\n \"4nim\",\n \"ni5o\",\n \"ni3st\",\n \"n1ke\",\n \"n1ko\",\n \"n3kr\",\n \"n3ku\",\n \"n5kv\",\n \"4n1l\",\n \"n1m\",\n \"n1n\",\n \"1no\",\n \"n3ord\",\n \"n5p\",\n \"n3r\",\n \"4ns\",\n \"n3si\",\n \"n1sku\",\n \"ns3po\",\n \"n1sta\",\n \"n5sti\",\n \"n1ta\",\n \"nta4le\",\n \"n1te\",\n \"n1ti\",\n \"ntiali4\",\n \"n3to\",\n \"n1tr\",\n \"nt4s5t\",\n \"nt4su\",\n \"n3tu\",\n \"n3ty\",\n \"4n1v\",\n \"3ny\",\n \"n3z\",\n \"o3a\",\n \"o4as\",\n \"ob3li\",\n \"o1c\",\n \"o4din\",\n \"od5ri\",\n \"od5s\",\n \"od5un\",\n \"o1e\",\n \"of5r\",\n \"o4gek\",\n \"o4gel\",\n \"o4g5o\",\n \"og5re\",\n \"og5sk\",\n \"o5h\",\n \"o5in\",\n \"oi6s5e\",\n \"o1j\",\n \"o3ka\",\n \"o1ke\",\n \"o3ku\",\n \"o3la\",\n \"o3le\",\n \"o1li\",\n \"o1lo\",\n \"o3lu\",\n \"o5ly\",\n \"1omr\",\n \"on3k\",\n \"ook5\",\n \"o3or\",\n \"o5ov\",\n \"o3pi\",\n \"op3l\",\n \"op3r\",\n \"op3s\",\n \"3opta\",\n \"4or.\",\n \"or1an\",\n \"3ordn\",\n \"ord5s\",\n \"o3re.\",\n \"o3reg\",\n \"o3rek\",\n \"o3rer\",\n \"o3re3s\",\n \"o3ret\",\n \"o3ri\",\n \"3orient\",\n \"or5im\",\n \"o4r5in\",\n \"or3k\",\n \"or5o\",\n \"or3sl\",\n \"or3st\",\n \"o3si\",\n \"o3so\",\n \"o3t\",\n \"o1te\",\n \"o5un\",\n \"ov4s\",\n \"3pa\",\n \"pa5gh\",\n \"p5anl\",\n \"p3d\",\n \"4pec\",\n \"3pen\",\n \"1per\",\n \"pe1ra\",\n \"pe5s\",\n \"pe3u\",\n \"p3f\",\n \"4p5h\",\n \"1pla\",\n \"p4lan\",\n \"4ple.\",\n \"4pler\",\n \"4ples\",\n \"p3m\",\n \"p3n\",\n \"5pok\",\n \"4po3re\",\n \"3pot\",\n \"4p5p4\",\n \"p4ro\",\n \"1proc\",\n \"p3sk\",\n \"p5so\",\n \"ps4p\",\n \"p3st\",\n \"p1t\",\n \"1pu\",\n \"pu5b\",\n \"p5ule\",\n \"p5v\",\n \"5py3\",\n \"qu4\",\n \"4raf\",\n \"ra5is\",\n \"4rarb\",\n \"r1b\",\n \"r4d5ar\",\n \"r3dr\",\n \"rd4s3\",\n \"4reks\",\n \"1rel\",\n \"re5la\",\n \"r5enss\",\n \"5rese\",\n \"re5spo\",\n \"4ress\",\n \"re3st\",\n \"re5s4u\",\n \"5rett\",\n \"r1f\",\n \"r1gu\",\n \"r1h\",\n \"ri1e\",\n \"ri5la\",\n \"4rimo\",\n \"r4ing\",\n \"ringse4\",\n \"ringso4r\",\n \"4rinp\",\n \"4rint\",\n \"r3ka\",\n \"r1ke\",\n \"r1ki\",\n \"rk3so\",\n \"r3ku\",\n \"r1l\",\n \"rmo4\",\n \"r5mu\",\n \"r1n\",\n \"ro1b\",\n \"ro3p\",\n \"r3or\",\n \"r3p\",\n \"r1r\",\n \"rre5s\",\n \"rro4n5\",\n \"r1sa\",\n \"r1si\",\n \"r5skr\",\n \"r4sk5v\",\n \"rs4n\",\n \"r3sp\",\n \"r5stu\",\n \"r5su\",\n \"r3sv\",\n \"r5tal\",\n \"r1te\",\n \"r4teli\",\n \"r1ti\",\n \"r3to\",\n \"r4t5or\",\n \"rt5rat\",\n \"rt3re\",\n \"r5tri\",\n \"r5tro\",\n \"rt3s\",\n \"r5ty\",\n \"r3ud\",\n \"run4da\",\n \"5rut\",\n \"r3va\",\n \"r1ve\",\n \"r3vi\",\n \"ry4s\",\n \"s3af\",\n \"1sam\",\n \"sa4ma\",\n \"s3ap\",\n \"s1ar\",\n \"1sat\",\n \"4s1b\",\n \"s1d\",\n \"sdy4\",\n \"1se\",\n \"s4ed\",\n \"5s4er\",\n \"se4se\",\n \"s1f\",\n \"4s1g4\",\n \"4s3h\",\n \"si4bl\",\n \"1sig\",\n \"s5int\",\n \"5sis\",\n \"5sit\",\n \"5siu\",\n \"s5ju\",\n \"4sk.\",\n \"1skab\",\n \"1ske\",\n \"s3kl\",\n \"sk5s4\",\n \"5sky\",\n \"s1le\",\n \"s1li\",\n \"slo3\",\n \"5slu\",\n \"s5ly\",\n \"s1m\",\n \"s4my\",\n \"4snin\",\n \"s4nit\",\n \"so5k\",\n \"5sol\",\n \"5som.\",\n \"3somm\",\n \"s5oms\",\n \"5somt\",\n \"3son\",\n \"4s1op\",\n \"sp4\",\n \"3spec\",\n \"4sper\",\n \"3s4pi\",\n \"s1pl\",\n \"3sprog.\",\n \"s5r4\",\n \"s1s4\",\n \"4st.\",\n \"5s4tam\",\n \"1stan\",\n \"st5as\",\n \"3stat\",\n \"1stav\",\n \"1ste.\",\n \"1sted\",\n \"3stel\",\n \"5stemo\",\n \"1sten\",\n \"5step\",\n \"3ster.\",\n \"3stes\",\n \"5stet\",\n \"5stj\",\n \"3sto\",\n \"st5om\",\n \"1str\",\n \"s1ud\",\n \"3sul\",\n \"s3un\",\n \"3sur\",\n \"s3ve\",\n \"3s4y\",\n \"1sy1s\",\n \"5ta.\",\n \"1tag\",\n \"tands3\",\n \"4tanv\",\n \"4tb\",\n \"tede4l\",\n \"teds5\",\n \"3teg\",\n \"5tekn\",\n \"teo1\",\n \"5term\",\n \"te5ro\",\n \"4t1f\",\n \"6t3g\",\n \"t1h\",\n \"tialis5t\",\n \"3tid\",\n \"ti4en\",\n \"ti3st\",\n \"4t3k\",\n \"4t1l\",\n \"tli4s5\",\n \"t1m\",\n \"t1n\",\n \"to5ra\",\n \"to1re\",\n \"to1ri\",\n \"tor4m\",\n \"4t3p\",\n \"t4ra\",\n \"4tres\",\n \"tro5v\",\n \"1try\",\n \"4ts\",\n \"t3si\",\n \"ts4pa\",\n \"ts5pr\",\n \"t3st\",\n \"ts5ul\",\n \"4t1t\",\n \"t5uds\",\n \"5tur\",\n \"t5ve\",\n \"1typ\",\n \"u1a\",\n \"5udl\",\n \"ud5r\",\n \"ud3s\",\n \"3udv\",\n \"u1e\",\n \"ue4t5\",\n \"uge4ri\",\n \"ugs3\",\n \"u5gu\",\n \"u3i\",\n \"u5kl\",\n \"uk4ta\",\n \"uk4tr\",\n \"u1la\",\n \"u1le\",\n \"u5ly\",\n \"u5pe\",\n \"up5l\",\n \"u5q\",\n \"u3ra\",\n \"u3re\",\n \"u4r3eg\",\n \"u1rer\",\n \"u3ro\",\n \"us5a\",\n \"u3si\",\n \"u5ska\",\n \"u5so\",\n \"us5v\",\n \"u1te\",\n \"u1ti\",\n \"u1to\",\n \"ut5r\",\n \"ut5s4\",\n \"5u5v\",\n \"va5d\",\n \"3varm\",\n \"1ved\",\n \"ve4l5e\",\n \"ve4reg\",\n \"ve3s\",\n \"5vet\",\n \"v5h\",\n \"vi4l3in\",\n \"1vis\",\n \"v5j\",\n \"v5k\",\n \"vl4\",\n \"v3le\",\n \"v5li\",\n \"vls1\",\n \"1vo\",\n \"4v5om\",\n \"v5p\",\n \"v5re\",\n \"v3st\",\n \"v5su\",\n \"v5t\",\n \"3vu\",\n \"y3a\",\n \"y5dr\",\n \"y3e\",\n \"y3ke\",\n \"y5ki\",\n \"yk3li\",\n \"y3ko\",\n \"yk4s5\",\n \"y3kv\",\n \"y5li\",\n \"y5lo\",\n \"y5mu\",\n \"yns5\",\n \"y5o\",\n \"y1pe\",\n \"y3pi\",\n \"y3re\",\n \"yr3ek\",\n \"y3ri\",\n \"y3si\",\n \"y3ti\",\n \"y5t3r\",\n \"y5ve\",\n \"zi5o\",\n \".så3\",\n \".ær5i\",\n \".øv3r\",\n \"a3tø\",\n \"a5væ\",\n \"brød3\",\n \"5bæ\",\n \"5drøv\",\n \"dstå4\",\n \"3dæ\",\n \"3dø\",\n \"e3læ\",\n \"e3lø\",\n \"e3rø\",\n \"er5øn\",\n \"e5tæ\",\n \"e5tø\",\n \"e1væ\",\n \"e3æ\",\n \"e5å\",\n \"3fæ\",\n \"3fø\",\n \"fø4r5en\",\n \"giø4\",\n \"g4sø\",\n \"g5så\",\n \"3gæ\",\n \"3gø1\",\n \"3gå\",\n \"i5tæ\",\n \"i3ø\",\n \"3kø\",\n \"3kå\",\n \"lingeniø4\",\n \"l3væ\",\n \"5løs\",\n \"m5tå\",\n \"1mæ\",\n \"3mø\",\n \"3må\",\n \"n3kæ\",\n \"n5tæ\",\n \"3næ\",\n \"4n5æb\",\n \"5nø\",\n \"o5læ\",\n \"or3ø\",\n \"o5å\",\n \"5præ\",\n \"5pæd\",\n \"på3\",\n \"r5kæ\",\n \"r5tæ\",\n \"r5tø\",\n \"r3væ\",\n \"r5æl\",\n \"4røn\",\n \"5rør\",\n \"3råd\",\n \"r5år\",\n \"s4kå\",\n \"3slå\",\n \"s4næ\",\n \"5stø\",\n \"1stå\",\n \"1sæ\",\n \"4s5æn\",\n \"1sø\",\n \"s5øk\",\n \"så4r5\",\n \"ti4ø\",\n \"3træk.\",\n \"t4sø\",\n \"t5så\",\n \"t3væ\",\n \"u3læ\",\n \"3værd\",\n \"1værk\",\n \"5vå\",\n \"y5væ\",\n \"æb3l\",\n \"æ3c\",\n \"æ3e\",\n \"æg5a\",\n \"æ4gek\",\n \"æ4g5r\",\n \"ægs5\",\n \"æ5i\",\n \"æ5kv\",\n \"ælle4\",\n \"æn1dr\",\n \"æ5o\",\n \"æ1re\",\n \"ær4g5r\",\n \"æ3ri\",\n \"ær4ma\",\n \"ær4mo\",\n \"ær5s\",\n \"æ5si\",\n \"æ3so\",\n \"æ3ste\",\n \"æ3ve\",\n \"øde5\",\n \"ø3e\",\n \"ø1je\",\n \"ø3ke\",\n \"ø3le\",\n \"øms5\",\n \"øn3st\",\n \"øn4t3\",\n \"ø1re\",\n \"ø3ri\",\n \"ørne3\",\n \"ør5o\",\n \"ø1ve\",\n \"å1d\",\n \"å1e\",\n \"å5h\",\n \"å3l\",\n \"å3re\",\n \"års5t\",\n \"å5sk\",\n \"å3t\",\n \"\"\n ];\n\n return {\n patterns: patterns,\n exceptions: hyphenation\n };\n});\n","/** Text hyphenation in Javascript.\n * Copyright (C) 2021 Yevhen Tiurin (yevhentiurin@gmail.com)\n * https://github.com/ytiurin/hyphen\n *\n * Released under the ISC license\n * https://github.com/ytiurin/hyphen/blob/master/LICENSE\n */\n(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n // AMD. Register as an anonymous module.\n define([], factory);\n } else if (typeof module === \"object\" && module.exports) {\n // Node. Does not work with strict CommonJS, but\n // only CommonJS-like environments that support module.exports,\n // like Node.\n module.exports = factory();\n } else {\n // Browser globals (root is window)\n root.createHyphenator = factory();\n }\n})(this, function () {\n var SETTING_DEFAULT_ASYNC = false,\n SETTING_DEFAULT_DEBUG = false,\n SETTING_DEFAULT_HTML = false,\n SETTING_DEFAULT_HYPH_CHAR = \"\\u00AD\",\n SETTING_DEFAULT_MIN_WORD_LENGTH = 5,\n SETTING_NAME_ASYNC = \"async\",\n SETTING_NAME_DEBUG = \"debug\",\n SETTING_NAME_HTML = \"html\",\n SETTING_NAME_HYPH_CHAR = \"hyphenChar\",\n SETTING_NAME_MIN_WORD_LENGTH = \"minWordLength\";\n\n var _global =\n typeof global === \"object\"\n ? global\n : typeof window === \"object\"\n ? window\n : typeof self === \"object\"\n ? self\n : typeof this === \"object\"\n ? this\n : {};\n\n function cloneObj(source) {\n var target = {};\n for (var key in source) {\n target[key] = source[key];\n }\n return target;\n }\n\n function keyOrDefault(object, key, defaultValue) {\n if (key in object) {\n return object[key];\n }\n return defaultValue;\n }\n\n function exceptionsFromDefinition(patternsDefinition, hyphenChar) {\n return patternsDefinition.exceptions.reduce(function (\n exceptions,\n exception\n ) {\n exceptions[exception.replace(/\\-/g, \"\")] = exception.replace(\n /\\-/g,\n hyphenChar\n );\n return exceptions;\n },\n {});\n }\n\n function createHyphenator(patternsDefinition, options) {\n options = options || {};\n var //\n asyncMode = keyOrDefault(\n options,\n SETTING_NAME_ASYNC,\n SETTING_DEFAULT_ASYNC\n ),\n caches = {},\n debug = keyOrDefault(options, SETTING_NAME_DEBUG, SETTING_DEFAULT_DEBUG),\n exceptions = {},\n hyphenChar = keyOrDefault(\n options,\n SETTING_NAME_HYPH_CHAR,\n SETTING_DEFAULT_HYPH_CHAR\n ),\n patterns = createPatternTree(\n patternsDefinition.patterns.filter(function (p) {\n return p !== \" \" && p !== \"\";\n })\n )[0],\n minWordLength =\n keyOrDefault(\n options,\n SETTING_NAME_MIN_WORD_LENGTH,\n SETTING_DEFAULT_MIN_WORD_LENGTH\n ) >> 0,\n skipHTML = keyOrDefault(options, SETTING_NAME_HTML, SETTING_DEFAULT_HTML);\n\n // Prepare cache\n var cacheKey = hyphenChar + minWordLength;\n exceptions[cacheKey] = exceptionsFromDefinition(\n patternsDefinition,\n hyphenChar\n );\n caches[cacheKey] = cloneObj(exceptions[cacheKey]);\n\n if (asyncMode && !(\"Promise\" in _global)) {\n throw new Error(\n \"Failed to create hyphenator: Could not find global Promise object, needed for hyphenator to work in async mode\"\n );\n }\n\n return function (text, options) {\n options = options || {};\n\n var localDebug = keyOrDefault(options, SETTING_NAME_DEBUG, debug),\n localHyphenChar = keyOrDefault(\n options,\n SETTING_NAME_HYPH_CHAR,\n hyphenChar\n ),\n localMinWordLength =\n keyOrDefault(options, SETTING_NAME_MIN_WORD_LENGTH, minWordLength) >>\n 0,\n cacheKey = localHyphenChar + localMinWordLength;\n\n if (!exceptions[cacheKey]) {\n exceptions[cacheKey] = exceptionsFromDefinition(\n patternsDefinition,\n localHyphenChar\n );\n }\n\n if (!caches[cacheKey]) {\n caches[cacheKey] = cloneObj(exceptions[cacheKey]);\n }\n\n return start(\n text,\n patterns,\n caches[cacheKey],\n localDebug,\n localHyphenChar,\n skipHTML,\n localMinWordLength,\n asyncMode\n );\n };\n }\n var NUMS = [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\"];\n\n function createIterator(str) {\n var i = 0;\n\n function next() {\n return str[i++];\n }\n\n return next;\n }\n\n function createPatternTree(patterns) {\n var pattern,\n symb,\n maxPatternLength = 0,\n patternTree = [{}],\n nextPattern = createIterator(patterns);\n\n while ((pattern = nextPattern())) {\n var ptr = patternTree,\n symb,\n weights = [],\n patternLength = 0,\n prevSymbIsNumber = false,\n nextSymbol = createIterator(pattern.split(\"\"));\n\n while ((symb = nextSymbol())) {\n if (NUMS.indexOf(symb) > -1) {\n weights.push(parseInt(symb));\n\n prevSymbIsNumber = true;\n } else {\n if (!prevSymbIsNumber && symb !== \".\") {\n weights.push(0);\n }\n\n if (symb !== \".\") {\n patternLength++;\n }\n\n ptr[0][symb] = ptr[0][symb] || [{}];\n ptr = ptr[0][symb];\n\n prevSymbIsNumber = false;\n }\n }\n\n while (weights[weights.length - 1] === 0) {\n weights.pop();\n }\n\n ptr[1] = weights;\n ptr[2] = pattern;\n\n if (maxPatternLength < patternLength) {\n maxPatternLength = patternLength;\n }\n }\n\n return [patternTree[0], maxPatternLength];\n }\n function createTextChunkReader(text, hyphenChar, skipHTML, minWordLength) {\n function readNextTextChunk() {\n var nextTextChunk = \"\";\n\n shouldHyphenate = void 0;\n\n chunkReader: while (nextCharIndex <= text.length) {\n var //\n nextChar = text.charAt(nextCharIndex++),\n charIsLetter =\n !!nextChar && !/\\s|[\\!-\\@\\[-\\`\\{-\\~\\u2013-\\u203C]/.test(nextChar),\n charIsAngleOpen = nextChar === \"<\",\n charIsAngleClose = nextChar === \">\",\n charIsHyphen = nextChar === hyphenChar;\n\n do {\n if (state === STATE_READ_TAG) {\n if (charIsAngleClose) {\n state = STATE_RETURN_UNTOUCHED;\n }\n break;\n }\n\n if (charIsHyphen) {\n shouldHyphenate = SHOULD_SKIP;\n state = STATE_READ_WORD;\n break;\n }\n\n if (charIsLetter) {\n state = STATE_READ_WORD;\n break;\n }\n\n if (state === STATE_READ_WORD) {\n state = STATE_RETURN_WORD;\n shouldHyphenate =\n shouldHyphenate ||\n (nextTextChunk.length >= minWordLength && SHOULD_HYPHENATE);\n break;\n }\n\n shouldHyphenate = SHOULD_SKIP;\n state = STATE_RETURN_UNTOUCHED;\n } while (0);\n\n if (\n charIsAngleOpen &&\n state !== STATE_RETURN_WORD &&\n skipHTML &&\n !isSpacelike(text.charAt(nextCharIndex))\n ) {\n shouldHyphenate = SHOULD_SKIP;\n state = STATE_READ_TAG;\n }\n\n switch (state) {\n case STATE_READ_TAG:\n nextTextChunk += nextChar;\n break;\n\n case STATE_READ_WORD:\n nextTextChunk += nextChar;\n break;\n\n case STATE_RETURN_UNTOUCHED:\n nextTextChunk += nextChar;\n break chunkReader;\n\n case STATE_RETURN_WORD:\n nextCharIndex--;\n break chunkReader;\n }\n }\n return nextTextChunk || void 0;\n }\n\n function shouldNextHyphenate() {\n return shouldHyphenate === SHOULD_HYPHENATE;\n }\n\n var isSpacelike = RegExp.prototype.test.bind(/\\s/);\n\n var //\n nextCharIndex = 0,\n SHOULD_HYPHENATE = 1,\n SHOULD_SKIP = 2,\n shouldHyphenate,\n STATE_READ_TAG = 1,\n STATE_READ_WORD = 2,\n STATE_RETURN_UNTOUCHED = 3,\n STATE_RETURN_WORD = 4,\n state;\n\n return [readNextTextChunk, shouldNextHyphenate];\n }\n function createCharIterator(str) {\n var i = 0;\n\n function nextChar() {\n return str[i++];\n }\n\n function isLastLetter() {\n return str.length === i + 1;\n }\n\n return [nextChar, isLastLetter];\n }\n\n function createStringSlicer(str) {\n var i = 0,\n slice = str;\n\n function next() {\n slice = str.slice(i++);\n\n if (slice.length < 3) {\n return;\n }\n\n return slice;\n }\n\n function isFirstCharacter() {\n return i === 2;\n }\n\n return [next, isFirstCharacter];\n }\n\n function hyphenateWord(text, patternTree, debug, hyphenChar) {\n var //\n levels = new Array(text.length + 1),\n loweredText = (\".\" + text.toLocaleLowerCase() + \".\").split(\"\"),\n p = [],\n wordSlice,\n letter,\n treePtr,\n nextPtr,\n patternLevels,\n patternEntityIndex = -1,\n slicer,\n nextSlice,\n isFirstCharacter,\n charIterator,\n nextLetter,\n isLastLetter;\n\n for (var i = levels.length; i--; ) levels[i] = 0;\n\n slicer = createStringSlicer(loweredText);\n nextSlice = slicer[0];\n isFirstCharacter = slicer[1];\n\n while ((wordSlice = nextSlice())) {\n patternEntityIndex++;\n if (isFirstCharacter()) {\n patternEntityIndex--;\n }\n\n treePtr = patternTree;\n\n charIterator = createCharIterator(wordSlice);\n nextLetter = charIterator[0];\n isLastLetter = charIterator[1];\n\n while ((letter = nextLetter())) {\n if (treePtr[letter] === undefined) {\n break;\n }\n\n nextPtr = treePtr[letter];\n treePtr = nextPtr[0];\n patternLevels = nextPtr[1];\n\n if (isLastLetter()) {\n // ignore patterns for last letter\n continue;\n }\n\n if (patternLevels === undefined) {\n continue;\n }\n\n for (var k = 0; k < patternLevels.length; k++)\n levels[patternEntityIndex + k] = Math.max(\n patternLevels[k],\n levels[patternEntityIndex + k]\n );\n }\n }\n\n levels[0] = levels[1] = levels[levels.length - 1] = levels[\n levels.length - 2\n ] = 0;\n\n var //\n hyphenatedText = \"\",\n leveledText = \"\",\n debugHyphenatedText = \"\";\n\n for (var i = 0; i < levels.length; i++) {\n hyphenatedText +=\n (levels[i] % 2 === 1 ? hyphenChar : \"\") + text.charAt(i);\n\n if (debug) {\n debugHyphenatedText +=\n (levels[i] % 2 === 1 ? \"-\" : \"\") + text.charAt(i);\n leveledText += (levels[i] > 0 ? levels[i] : \"\") + text.charAt(i);\n }\n }\n\n if (debug)\n console.log.apply(\n console,\n [text, \"->\"]\n .concat(p)\n .concat([\"->\"])\n .concat(levels)\n .concat([\"->\", leveledText])\n .concat([\"->\", debugHyphenatedText])\n );\n\n return hyphenatedText;\n }\n function start(\n text,\n patterns,\n cache,\n debug,\n hyphenChar,\n skipHTML,\n minWordLength,\n isAsync\n ) {\n function done() {\n allTime = new Date() - allTime;\n resolveNewText(newText);\n\n if (debug) {\n console.log(\n \"----------------\\nHyphenation stats: \" +\n processedN +\n \" text chunks processed, \" +\n hyphenatedN +\n \" words hyphenated\"\n );\n console.log(\"Work time: \" + workTime / 1000);\n console.log(\"Wait time: \" + (allTime - workTime) / 1000);\n console.log(\"All time: \" + allTime / 1000);\n }\n }\n\n var //\n cacheKey,\n newText = \"\",\n textChunk,\n reader = createTextChunkReader(text, hyphenChar, skipHTML, minWordLength),\n readNextTextChunk = reader[0],\n shouldNextHyphenate = reader[1],\n processedN = 0,\n hyphenatedN = 0;\n\n var //\n allTime = new Date(),\n workTime = 0;\n\n var resolveNewText = function () {};\n\n function nextTick() {\n var loopStart = new Date();\n\n while (\n (!isAsync || new Date() - loopStart < 10) &&\n (textChunk = readNextTextChunk())\n ) {\n cacheKey = textChunk.length ? \"$\" + textChunk : \"\";\n\n if (shouldNextHyphenate()) {\n if (cache[cacheKey] === undefined) {\n cache[cacheKey] = hyphenateWord(\n textChunk,\n patterns,\n debug,\n hyphenChar\n );\n }\n\n if (textChunk !== cache[cacheKey]) {\n hyphenatedN++;\n }\n\n textChunk = cache[cacheKey];\n }\n\n newText += textChunk;\n processedN++;\n }\n\n workTime += new Date() - loopStart;\n\n if (!textChunk) {\n done();\n } else {\n setTimeout(nextTick);\n }\n }\n\n if (isAsync) {\n setTimeout(nextTick);\n return new Promise(function (resolve) {\n resolveNewText = resolve;\n });\n } else {\n nextTick();\n return newText;\n }\n }\n\n return createHyphenator;\n});\n","// @flow\nimport * as React from 'react'\n\nconst ArrowDownIcon = ({ style, ...rest }: Object) => (\n \n \n \n)\n\nexport default ArrowDownIcon\n","import { useEffect } from 'react';\n\nvar clientHydrated = false;\n/**\n * Returns false when serverside rendering and during the first render pass (hydration) in the client.\n * Use this to modify behavior of components when they can be certain they are running client side.\n * Like check a media query during the initial render.\n * */\n\nfunction useClientHydrated() {\n useEffect(function () {\n if (!clientHydrated) clientHydrated = true;\n }, []);\n return clientHydrated;\n}\n\nexport default useClientHydrated;\n","// @flow\n\nimport * as React from 'react'\nimport { rem } from 'polished'\nimport { color, effects } from '../../styles/theme'\nimport styled from 'styled-components'\nimport { breakpoints, mediaOnly, mediaQuery } from '../../styles/media'\nimport ArrowDownIcon from '../../icons/ArrowDownIcon'\nimport { durations } from '../../styles/animations'\nimport MediaQuery from '../MediaQuery/MediaQuery'\nimport { getFontSize } from '../../styles/style-helpers'\n\nconst AccordionTitle = styled.div`\n margin: 0;\n font-size: ${getFontSize('large')};\n user-select: none;\n font-weight: ${({ theme }) =>\n theme.name === 'kids' || theme.name === 'lgbt' ? 700 : 500};\n flex: 1 1 auto;\n transform-origin: left;\n color: ${({ theme, invert }) => (invert ? theme.textInvert : theme.primary)};\n\n &:hover {\n color: ${color.accent};\n }\n`\n\nconst IconContainer = styled.div`\n color: ${({ expanded, theme, invert }) =>\n expanded ? color.accent : invert ? theme.textInvert : theme.primary};\n transition: ${durations.slow} ease-in-out;\n\n svg {\n transition: ${durations.fast} ease-in-out;\n transform: ${({ expanded }) =>\n expanded ? 'rotateX(180deg)' : 'rotateX(0deg)'};\n margin-right: ${rem(24)};\n\n ${mediaOnly.xs`\n margin-right: ${rem(8)};\n `};\n }\n`\n\nconst OutLine = styled.div`\n content: '';\n position: absolute;\n height: 100%;\n bottom: 0;\n left: 0;\n right: 0;\n ${mediaQuery.sm`\n left: 0;\n right: 0;\n `};\n`\n\nconst ShadowBackdrop = styled.div`\n transition: box-shadow 0.2s;\n content: '';\n position: absolute;\n outline-offset: 1px;\n height: 100%;\n bottom: 0;\n left: 0;\n right: 0;\n ${mediaQuery.sm`\n left: 0;\n right: 0;\n `};\n`\n\nconst TitleWrapper = styled.h4`\n position: relative;\n padding: ${rem(30)} 0;\n margin-bottom: ${({ expanded }) => (expanded ? rem(8) : 0)};\n display: flex;\n justify-content: space-between;\n outline: none;\n transition: color ${durations.slow} ease-in-out;\n border-top: 1px solid;\n\n ${({ isArticle }) =>\n `border-top-color: ${isArticle ? '#e6e6e6' : '#E3E3E3'};`}\n\n ${/* sc-selector */ IconContainer} {\n color: ${({ theme }) => theme.primary};\n }\n\n &:hover {\n color: ${color.accent};\n\n ${/* sc-selector */ ShadowBackdrop} {\n box-shadow: ${p => (p.showShadow ? effects().cardShadow : null)};\n }\n\n ${/* sc-selector */ IconContainer} {\n color: ${({ theme }) => theme.primary};\n }\n }\n\n &:focus {\n outline: 1px dashed currentColor;\n }\n\n :focus:not([data-focus-visible-added]) {\n outline: none;\n }\n\n .js-focus-visible & :focus:not([data-focus-visible-added]) {\n ${/* sc-selector */ ShadowBackdrop} {\n outline: none;\n }\n }\n`\n\ntype Props = {\n id: string,\n titleId: string,\n controlsId: string,\n children?: React.Node,\n title?: string,\n expanded: boolean,\n isArticle?: boolean,\n isResting?: boolean,\n isLast?: boolean,\n iconStyle?: Object,\n titleStyle?: Object,\n titleInnerStyle?: Object,\n hoverShadow?: boolean,\n animateTitle?: boolean,\n onToggle?: (id: string) => void,\n theme?: string,\n invert?: boolean,\n}\n\nclass AccordionItemTitle extends React.PureComponent {\n static displayName = 'AccordionItemTitle'\n static defaultProps = { expanded: false, isLast: false }\n\n handlePreventDoubleClick = (event: SyntheticMouseEvent) => {\n if (event.detail > 1) {\n event.preventDefault()\n }\n }\n\n handleClick = () => {\n const { id, onToggle } = this.props\n if (onToggle) onToggle(id)\n }\n\n handleKeyPress = (evt: SyntheticKeyboardEvent) => {\n if (evt.charCode === 13 || evt.charCode === 32) {\n evt.preventDefault()\n this.handleClick()\n }\n }\n\n render() {\n const {\n titleId,\n controlsId,\n expanded,\n title,\n children,\n isResting,\n isArticle,\n iconStyle,\n titleStyle,\n hoverShadow,\n invert,\n } = this.props\n\n const iconStyling = iconStyle || {}\n const titleStyling = titleStyle || {}\n const activeTheme = this.props.theme\n\n if (hoverShadow && !titleStyling.paddingLeft) {\n titleStyling.paddingLeft = rem(24)\n }\n\n return (\n \n {isDesktop => (\n \n {hoverShadow ? : }\n \n {children || title}\n \n \n \n \n \n )}\n \n )\n }\n}\n\nexport default AccordionItemTitle\n","// @flow\nimport * as React from 'react'\nimport styled from 'styled-components'\nimport { rem } from 'polished'\nimport { effects } from '../../styles/theme'\nimport CtaLink from '../CtaLink/CtaLink'\nimport { mediaOnly, mediaQuery } from '../../styles/media'\nimport { animated, Transition } from 'react-spring/renderprops.cjs'\nimport { presets } from '../../styles/animations'\nimport type { LinkViewModel } from '../../types/LinkViewModel'\n\ntype Props = {\n id: string,\n labeledById: string,\n expanded: boolean,\n isResting: boolean,\n itemBodyStyle: Object,\n isArticle?: boolean,\n cta?: LinkViewModel,\n children: React.Node,\n hoverShadow?: boolean,\n onResting?: () => void,\n onStart?: () => void,\n invert?: boolean,\n isMenu?: boolean,\n}\n\nconst Container = styled(animated.div)`\n color: ${({ theme }) => theme.text};\n overflow: hidden;\n border-bottom: 1px solid transparent;\n ${({ expanded }) =>\n !expanded\n ? `border-bottom-color: #E3E3E3;`\n : 'border-bottom-color: transparent'};\n\n ${mediaQuery.sm`\n overflow: unset;\n `}\n\n p {\n font-weight: 300;\n }\n`\n\nconst Wrapper = styled.div`\n background-color: ${({ theme, isMenu }) =>\n isMenu ? theme.accordionBodyStyle : 'transparent'};\n\n //border-top: ${({ theme }) =>\n effects(theme).borderPositive}; //TODO: Check if it has side-effects\n`\n\nconst FooterLink = styled.div`\n display: flex;\n justify-content: flex-end;\n padding-bottom: ${rem(30)};\n\n ${mediaOnly.xs`\n padding-right: 0;\n margin-right: -12px;\n `};\n`\n\nfunction AccordionItemBody(props: Props) {\n const {\n expanded,\n isResting,\n id,\n labeledById,\n children,\n cta,\n itemBodyStyle,\n hoverShadow,\n invert,\n isMenu,\n } = props\n\n const itemBodyStyling = { ...itemBodyStyle } || {}\n\n if (hoverShadow && itemBodyStyling.paddingLeft === undefined) {\n itemBodyStyling.paddingLeft = rem(24)\n }\n\n if (hoverShadow && itemBodyStyling.paddingRight === undefined) {\n itemBodyStyling.paddingRight = rem(24)\n }\n\n return (\n \n \n {() => style => (\n \n isResting ? 'auto' : height,\n ),\n ...itemBodyStyling,\n }}\n >\n {children}\n {cta && (\n \n \n \n )}\n \n )}\n \n \n )\n}\nAccordionItemBody.displayName = 'AccordionItemBody'\n\n// $FlowFixMe\nexport default React.memo(AccordionItemBody)\n","// @flow\nimport * as React from 'react'\nimport consecutive from 'consecutive'\n\nimport type { LinkViewModel } from '../../types/LinkViewModel'\nimport { AccordionContext } from './AccordionContainer'\n\nimport AccordionItemTitle from './AccordionItemTitle'\nimport AccordionItemBody from './AccordionItemBody'\nimport styled from 'styled-components'\nimport { color } from '../../styles/theme'\n\nexport type Props = {\n id?: string,\n disabled: boolean,\n title?: string,\n isArticle?: boolean,\n isLast?: boolean,\n cta?: LinkViewModel,\n children: React.Node,\n iconStyle?: Object,\n titleStyle?: Object,\n titleInnerStyle?: Object,\n itemBodyStyle?: Object,\n hoverShadow?: boolean,\n animateTitle?: boolean,\n invert?: boolean,\n isMenu?: boolean,\n isOnFooter?: boolean,\n prefix?: string,\n}\n\ntype State = {\n isResting: boolean,\n expanded: boolean,\n}\n\nlet nextUuid = consecutive()\nexport function resetNextUuid() {\n nextUuid = consecutive()\n}\n\nconst Wrapper = styled.div`\n > :first-child {\n border-top: 0;\n }\n\n > :last-child {\n ${({ isArticle, theme, isOnFooter }) =>\n `border-bottom: ${\n isOnFooter\n ? 0\n : theme.name === 'lgbt' && !isArticle\n ? `1px solid ${color.grey}`\n : isArticle\n ? '1px solid #e6e6e6'\n : '1px solid #E3E3E3'\n };`}\n }\n`\n\nclass AccordionItem extends React.Component {\n static contextType = AccordionContext\n static defaultProps = {\n disabled: false,\n expanded: false,\n }\n\n state = {\n isResting: true,\n expanded: false,\n }\n\n uuid = nextUuid()\n\n handleAnimating = () => {\n this.setState({\n isResting: false,\n })\n }\n\n handleResting = () => {\n this.setState({\n isResting: true,\n })\n }\n\n render() {\n const {\n children,\n title,\n cta,\n isArticle,\n isLast,\n iconStyle,\n titleStyle,\n titleInnerStyle,\n itemBodyStyle,\n hoverShadow,\n animateTitle,\n invert,\n isMenu,\n isOnFooter,\n prefix,\n } = this.props\n const idPrefix = prefix ? prefix : ''\n const keyGen = consecutive()\n const id = this.props.id || `accordion-${this.uuid}-${keyGen()}`\n const titleId = `${idPrefix}__acc__item-${id}-${keyGen()}`\n const bodyId = `${idPrefix}__acc__body-${id}-${keyGen()}`\n const expanded = this.context.selected.includes(id)\n\n return (\n \n \n \n {children}\n \n \n )\n }\n}\n\nexport default AccordionItem\n","import { useRef, useCallback, createElement, useContext, useState, useEffect, createContext } from 'react';\nimport useClientHydrated from '@charlietango/use-client-hydrated';\n\nvar Context = /*#__PURE__*/createContext(undefined);\n// Client side fallback \"id\" for cases where the application is not surrounded with an \nvar fallbackId = 0;\n\nvar localGenerateId = function localGenerateId() {\n return (++fallbackId).toString();\n};\n\nvar resetLocalId = function resetLocalId() {\n return fallbackId = 0;\n};\nvar IdProvider = function IdProvider(props) {\n var ref = useRef(0);\n var generateId = useCallback(function () {\n return (++ref.current).toString();\n }, []);\n return /*#__PURE__*/createElement(Context.Provider, {\n value: generateId\n }, props.children);\n};\n/**\n * Return a deterministic Id for this Hook. Optionally add prefix to the id\n * @param prefix\n */\n\nvar useId = function useId(prefix) {\n var clientHydrated = useClientHydrated();\n var generateId = useContext(Context); // Prefer generating the id from the IdProvider context, but fallback to the localGenerateId method\n\n var _useState = useState(generateId ? generateId() : clientHydrated ? localGenerateId() : undefined),\n id = _useState[0],\n setId = _useState[1];\n\n useEffect(function () {\n // If the Provider is not included, we fallback to generating an id as a client effect.\n if (!id) {\n setId(localGenerateId());\n } // eslint-disable-next-line react-hooks/exhaustive-deps\n\n }, []); // If the id isn't set yet, return undefined.\n\n if (!id) return undefined;\n return prefix ? prefix + \"_\" + id : id;\n};\n\nexport default useId;\nexport { IdProvider, resetLocalId };\n","// @flow\nimport * as React from 'react'\nimport styled from 'styled-components'\nimport { rem } from 'polished'\n\nimport type { QuoteViewModel } from '../../types/QuoteViewModel'\n\nimport { mediaOnly } from '../../styles/media'\nimport { getLineHeight, getFontSize } from '../../styles/style-helpers'\n\ntype Props = QuoteViewModel & {\n children?: React.Node,\n size?: 'normal' | 'small',\n isArticleContent?: boolean,\n isAccordionContent?: boolean,\n invert?: boolean,\n}\n\nconst BlockquoteWrapper = styled.blockquote`\n padding: 0;\n margin: 0;\n`\n\nconst QuoteParagraph = styled.p`\n margin: 0;\n padding: 0;\n font-weight: bold;\n font-size: ${p => (p.size === 'small' ? rem(24) : rem(28))};\n color: ${({ theme, invert }) => (invert ? theme.textInvert : theme.text)};\n line-height: ${p =>\n p.size === 'small' ? getLineHeight('small') : getLineHeight('normal')};\n position: relative;\n\n &::after {\n color: ${({ theme }) => theme.quote};\n content: ',,';\n position: absolute;\n display: block;\n font-weight: bold;\n font-size: ${rem(61)};\n line-height: 1;\n font-family: sans-serif;\n right: 0;\n bottom: -${rem(30)};\n }\n\n &::before {\n color: ${({ theme }) => theme.quote};\n content: '“';\n position: absolute;\n display: block;\n font-weight: bold;\n font-size: ${rem(61)};\n line-height: 1;\n font-family: sans-serif;\n margin-left: -${rem(50)};\n\n ${({ isAccordionContent }) =>\n isAccordionContent\n ? `\n max-height: ${rem(35)};\n position: relative;\n top: 0;\n left: 0;\n margin-left: 0;\n overflow: hidden;\n `\n : null}\n\n ${mediaOnly.xs`\n max-height: ${rem(35)};\n position: relative;\n top: 0;\n left: 0;\n margin-left: 0;\n overflow: hidden;\n `};\n\n ${mediaOnly.sm`\n max-height: ${rem(35)};\n position: relative;\n top: 0;\n left: 0;\n margin-left: 0;\n overflow: hidden;\n `};\n }\n\n ${mediaOnly.xs`\n font-size: ${p => (p.size === 'small' ? rem(18) : rem(22))};\n line-height: ${p => (p.size === 'small' ? '1.5' : '1.36')};\n `};\n\n ${mediaOnly.sm`\n font-size: ${p => (p.size === 'small' ? rem(18) : rem(22))};\n line-height: ${p => (p.size === 'small' ? '1.5' : '1.36')};\n `};\n`\n\n// @TODO - font-weight needs to be 300 here, is not supported yet\nconst Cite = styled.cite`\n margin-top: ${rem(24)};\n text-align: left;\n font-style: normal;\n display: block;\n font-size: ${getFontSize('small')};\n color: ${({ theme }) => theme.text};\n`\n\nfunction Blockquote({\n children,\n quote,\n cite,\n size,\n isAccordionContent,\n invert,\n}: Props) {\n return (\n \n \n {quote || children}\n \n {cite && {cite}}\n \n )\n}\n\nBlockquote.displayName = 'Blockquote'\nBlockquote.defaultProps = {\n size: 'normal',\n}\n\nexport default Blockquote\n","// @flow\nimport * as React from 'react'\nimport styled from 'styled-components'\nimport { rem } from 'polished'\nimport { getFontSize, getLineHeight } from '../../styles/style-helpers'\nimport { effects } from '../../styles/theme'\nimport { mediaQuery } from '../../styles/media'\n\nimport type { TableViewModel } from '../../types/TableViewModel'\n\ntype Props = TableViewModel & { invert?: boolean }\n\nconst BottomnSpacer = styled.div`\n padding-bottom: ${rem(32)};\n`\n\nconst TableContainer = styled.table`\n border-collapse: collapse;\n width: 100%;\n padding-bottom: ${rem(16)};\n color: ${({ theme, invert }) => (invert ? theme.textInvert : theme.text)};\n\n tbody tr {\n border-top: ${({ theme, invert }) =>\n invert\n ? effects(theme).borderPositiveInvert\n : effects(theme).borderPositive};\n line-height: ${rem(48)};\n\n :first-of-type {\n border-top: ${({ heading, theme, invert }) =>\n heading === 'column'\n ? invert\n ? effects(theme).borderPositiveInvert\n : effects(theme).borderPositive\n : 'none'};\n\n & > :first-child {\n padding-left: 0;\n }\n\n & > :last-child {\n padding-right: 0;\n }\n\n th {\n line-height: ${getLineHeight('small')};\n padding-right: ${rem(22)};\n padding-bottom: ${rem(16)};\n vertical-align: top;\n }\n }\n\n :not(:first-of-type) {\n th {\n line-height: ${getLineHeight('small')};\n padding: ${rem(16)} ${rem(22)} ${rem(16)} 0 ;\n vertical-align: top;\n }\n\n & > :first-child {\n padding-left: 0;\n }\n }\n\n :last-of-type {\n border-bottom: ${({ theme, invert }) =>\n invert\n ? effects(theme).borderPositiveInvert\n : effects(theme).borderPositive};\n }\n\n td {\n padding: ${rem(16)} ${rem(22)} ${rem(16)} 0;\n line-height: ${getLineHeight('small')};\n }\n\n & > :first-child {\n padding-left: 0;\n }\n\n & > :last-child {\n padding-right: 0;\n }\n }\n\n td,\n th {\n font-size: ${getFontSize('small')};\n text-align: left;\n color: ${({ theme, invert }) => (invert ? theme.textInvert : theme.text)};+\n ${mediaQuery.lg`\n min-width: ${rem(150)};\n `}\n }\n`\n\nconst TableTitle = styled.caption`\n text-align: left;\n font-size: ${getFontSize('normal')};\n line-height: ${getLineHeight('small')};\n font-weight: 900;\n margin-bottom: ${rem(16)};\n color: ${({ theme, invert }) => (invert ? theme.textInvert : theme.text)};\n`\n\nfunction Table({ title, rows, heading, invert }: Props) {\n if (!rows || !rows.length) return null\n\n const renderTable = () => {\n return rows.map((row, rowKey) => (\n
\n {row.map((col, colKey) => {\n const ColTag = getColumnTag(rowKey, colKey)\n return {col}\n })}\n \n ))\n }\n\n const getColumnTag = (rowKey: number, colKey: number) => {\n let ColTag = 'td'\n\n if (heading === 'row') {\n ColTag = rowKey === 0 ? 'th' : 'td'\n }\n\n if (heading === 'column') {\n ColTag = colKey === 0 ? 'th' : 'td'\n }\n\n if (heading === 'both') {\n ColTag = rowKey !== 0 ? (colKey === 0 ? 'th' : 'td') : 'th'\n }\n\n return ColTag\n }\n\n return (\n <>\n \n {title ? {title} : null}\n\n {renderTable()}\n \n \n \n )\n}\n\nTable.displayName = 'Table'\nTable.defaultProps = {}\n\nexport default Table\n"],"sourceRoot":""}